/* ==========================================================================
   v68.css — слой поверх v67 (тот же приём :root:not(#v)).
   1. Загрузочный экран: одна тонкая линия прогресса вместо четырёх полосок.
   2. Жидкие кнопки .lq-btn — стекло с подвижным бликом (glare.js).
   3. Отзывы: сводка, линия оценки из 10 делений, форма, карточки, блок главной.
   Сетка 8 px (4 px внутри компонентов), зоны нажатия от 44 px, контраст AA.
   ========================================================================== */

/* 1. Линия загрузки ----------------------------------------------------- */
:root:not(#v) .intro__pips{display:none}
:root:not(#v) .intro__bar{position:absolute;left:50%;bottom:max(32px,calc(env(safe-area-inset-bottom) + 24px));
  width:min(240px,56vw);height:2px;translate:-50% 0;overflow:hidden;pointer-events:none;
  background:color-mix(in srgb,var(--tone,var(--text)) 14%,transparent)}
:root:not(#v) .intro__bar i{display:block;height:100%;background:var(--text);transform-origin:0 50%;transform:scaleX(0);
  will-change:transform}
:root:not(#v) .intro.is-leaving .intro__bar{opacity:0;transition:opacity .32s ease .12s}

/* 2. Жидкие кнопки ------------------------------------------------------ */
:root:not(#v) .lq-btn{position:relative;isolation:isolate;border:0;color:var(--text);
  background:var(--lq-fill);box-shadow:var(--lq-drop),var(--lq-rim);
  -webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);
  transition:background-color .2s ease,transform .2s var(--spr-soft,ease),box-shadow .2s ease,opacity .2s ease}
:root:not(#v) .lq-btn.btn--solid{background:var(--text);color:var(--bg)}
:root:not(#v) .lq-btn.btn--light{background:color-mix(in srgb,var(--text) 10%,var(--lq-fill))}
@media (hover:hover) and (pointer:fine){
  :root:not(#v) .lq-btn:not(:disabled):hover{background-color:var(--lq-fill-hover)}
  :root:not(#v) .lq-btn.btn--solid:not(:disabled):hover{background:color-mix(in srgb,var(--text) 88%,var(--bg))}
}
:root:not(#v) .lq-btn:not(:disabled):active{transform:scale(.97)}
:root:not(#v) .lq-btn:focus-visible{outline:2px solid var(--violet-hi);outline-offset:3px}
:root:not(#v) .lq-btn:disabled{opacity:.42;cursor:not-allowed}
:root:not(#v) .lq-btn[aria-busy="true"]{cursor:progress;opacity:.7}

/* кайма-призма у кнопок и панелей отзывов (поворачивает glare.js) */
:root:not(#v) .lq-btn::before,:root:not(#v) .rv-card::before,:root:not(#v) .rv-sum::before,
:root:not(#v) .rv-form::before,:root:not(#v) .rv-note::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;padding:1px;
  background:conic-gradient(from var(--lq-a,200deg),var(--lq-stops));opacity:calc(.8 + .2 * var(--lq-k,0));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}

/* 3. Отзывы -------------------------------------------------------------- */
:root:not(#v) .rv-card,:root:not(#v) .rv-sum,:root:not(#v) .rv-form,:root:not(#v) .rv-note{
  position:relative;border-radius:24px;background:var(--lq-fill);box-shadow:var(--lq-drop),var(--lq-rim)}

/* линия оценки: 10 прямоугольных делений; заливка деления — scaleX(--f) */
:root:not(#v) .rv-line{display:inline-grid;grid-template-columns:repeat(10,1fr);gap:3px;width:120px;height:4px;vertical-align:middle}
:root:not(#v) .rv-line i{position:relative;overflow:hidden;background:color-mix(in srgb,var(--tone,var(--text)) 16%,transparent)}
:root:not(#v) .rv-line i::after{content:"";position:absolute;inset:0;background:var(--violet-hi);
  transform-origin:0 50%;transform:scaleX(var(--f,0))}
:root:not(#v) .rv-line--lg{width:100%;max-width:320px;height:6px;gap:4px}
:root:not(#v) .rv-score{display:inline-flex;align-items:center;gap:12px}
:root:not(#v) .rv-score b{font:600 15px/1 var(--f-sans);font-variant-numeric:tabular-nums;color:var(--text)}
:root:not(#v) .rv-score b span{font-weight:500;font-size:13px;color:var(--text-dim)}

/* сводка */
:root:not(#v) .rv-top{display:grid;gap:24px;align-items:start;margin-bottom:clamp(40px,6vw,64px)}
@media (min-width:900px){:root:not(#v) .rv-top{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}}
:root:not(#v) .rv-sum{display:grid;gap:24px;padding:24px}
:root:not(#v) .rv-sum__main{display:grid;gap:12px}
:root:not(#v) .rv-sum__avg{margin:0;display:flex;align-items:baseline;gap:8px}
:root:not(#v) .rv-sum__avg b{font:300 clamp(56px,8vw,80px)/.9 var(--f-sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
:root:not(#v) .rv-sum__avg span{font:500 16px/1 var(--f-sans);color:var(--text-dim)}
:root:not(#v) .rv-sum__meta{margin:0;font:500 14px/1.4 var(--f-sans);color:var(--text-dim)}
:root:not(#v) .rv-sum--empty{padding:24px}
:root:not(#v) .rv-sum--empty p{margin:0;font:400 15px/1.5 var(--f-sans);color:var(--text-dim)}
:root:not(#v) .rv-dist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(10,1fr);gap:4px;align-items:end}
:root:not(#v) .rv-dist li{display:grid;gap:8px;justify-items:center;
  font:500 13px/1 var(--f-sans);font-variant-numeric:tabular-nums;color:var(--text-dim)}
:root:not(#v) .rv-dist__bar{position:relative;width:100%;height:48px;background:color-mix(in srgb,var(--tone,var(--text)) 7%,transparent)}
:root:not(#v) .rv-dist__bar i{position:absolute;left:0;right:0;bottom:0;height:calc(var(--w,0) * 100%);
  background:color-mix(in srgb,var(--violet-hi) 80%,var(--text))}
:root:not(#v) .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* форма и подсказки */
:root:not(#v) .rv-form,:root:not(#v) .rv-note{display:grid;gap:24px;padding:24px}
:root:not(#v) .rv-form h3,:root:not(#v) .rv-note h3{margin:0;font:600 20px/1.2 var(--f-sans)}
:root:not(#v) .rv-note p,:root:not(#v) .rv-form__hint{margin:0;font:400 15px/1.5 var(--f-sans);color:var(--text-dim)}
:root:not(#v) .rv-form__hint{margin-top:-16px;font-size:14px}
:root:not(#v) .rv-note__acts,:root:not(#v) .rv-form__acts{display:flex;flex-wrap:wrap;gap:8px}
:root:not(#v) .rv-field{display:grid;gap:8px;min-width:0}
:root:not(#v) .rv-label{font:600 14px/1.3 var(--f-sans);color:var(--text)}
:root:not(#v) .rv-label .muted{font-weight:500;color:var(--text-dim)}
:root:not(#v) .rv-one{margin:0;font:500 15px/1.4 var(--f-sans)}
:root:not(#v) .rv-one b{font-family:var(--f-code);font-size:13px;color:var(--text-dim);margin-right:4px}
:root:not(#v) .rv-orders{display:flex;flex-wrap:wrap;gap:8px}
:root:not(#v) .rv-order{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:16px;
  cursor:pointer;text-align:left;font:500 14px/1.3 var(--f-sans)}
:root:not(#v) .rv-order b{font:500 13px/1 var(--f-code);color:var(--text-dim)}
:root:not(#v) .rv-order.is-on{box-shadow:var(--lq-drop),var(--lq-rim),inset 0 0 0 1.5px var(--violet-hi)}

/* шкала: 44 px зона нажатия, внутри — тонкая линия из 10 делений */
:root:not(#v) .rv-rate__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
:root:not(#v) .rv-rate__val{display:inline-flex;align-items:baseline;gap:4px;font:500 13px/1 var(--f-sans);color:var(--text-dim)}
:root:not(#v) .rv-rate__val b{font:600 28px/1 var(--f-sans);color:var(--text);font-variant-numeric:tabular-nums;min-width:1.2em;text-align:right}
:root:not(#v) .rv-rate__val em{font-style:normal;margin-left:8px;color:var(--text-dim);font-size:14px}
:root:not(#v) .rv-scale{position:relative;height:44px;display:grid;align-items:center;cursor:pointer;touch-action:none;
  -webkit-user-select:none;user-select:none}
:root:not(#v) .rv-scale__track{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;height:6px}
:root:not(#v) .rv-scale__track i{position:relative;overflow:hidden;background:color-mix(in srgb,var(--tone,var(--text)) 16%,transparent);
  transition:transform .18s var(--spr-pop,ease)}
:root:not(#v) .rv-scale__track i::after{content:"";position:absolute;inset:0;background:var(--violet-hi);transform-origin:0 50%;
  transform:scaleX(clamp(0,calc(var(--v,0) - var(--i,1) + 1),1));transition:transform .22s cubic-bezier(.2,.8,.2,1)}
:root:not(#v) .rv-scale[data-set="0"] .rv-scale__track i::after{transform:scaleX(0)}
:root:not(#v) .rv-scale__track i.is-tick{animation:rv-tick .26s cubic-bezier(.2,.8,.2,1)}
@keyframes rv-tick{40%{transform:scaleY(2.2)}}
:root:not(#v) .rv-scale__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
:root:not(#v) .rv-scale:has(.rv-scale__input:focus-visible){outline:2px solid var(--violet-hi);outline-offset:4px;border-radius:4px}
:root:not(#v) .rv-scale__nums{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;
  font:500 13px/1 var(--f-sans);font-variant-numeric:tabular-nums;color:var(--text-dim);text-align:center}
:root:not(#v) .rv-text{min-height:112px;resize:vertical;padding:12px 16px;border:0;border-radius:16px;color:var(--text);
  font:400 16px/1.5 var(--f-sans);background:color-mix(in srgb,var(--tone,var(--text)) 6%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone,var(--text)) 14%,transparent);transition:box-shadow .2s ease,background-color .2s ease}
:root:not(#v) .rv-text::placeholder{color:var(--text-dim)}
:root:not(#v) .rv-text:focus{outline:none;background:color-mix(in srgb,var(--tone,var(--text)) 8%,transparent);
  box-shadow:inset 0 0 0 1.5px var(--violet-hi)}
:root:not(#v) .rv-count{justify-self:end;font:500 13px/1 var(--f-sans);font-variant-numeric:tabular-nums;color:var(--text-dim)}
:root:not(#v) .rv-error{margin:0;font:500 14px/1.4 var(--f-sans);color:var(--c-up)}
:root:not(#v) .rv-submit{min-height:48px}

/* лента */
:root:not(#v) .rv-head{margin-bottom:24px}
:root:not(#v) .rv-list{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
:root:not(#v) .rv-card{display:grid;gap:16px;align-content:start;padding:24px}
:root:not(#v) .rv-card__head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
:root:not(#v) .rv-card__date{font:500 13px/1 var(--f-sans);color:var(--text-dim)}
:root:not(#v) .rv-card__text{margin:0;font:400 15px/1.55 var(--f-sans);color:var(--text);overflow-wrap:anywhere;white-space:pre-line}
:root:not(#v) .rv-card__text--empty{color:var(--text-dim);font-style:italic}
:root:not(#v) .rv-card__foot{display:flex;flex-wrap:wrap;gap:4px 12px;font:500 13px/1.4 var(--f-sans);color:var(--text-dim)}
:root:not(#v) .rv-card__who{color:var(--text);font-weight:600}
:root:not(#v) .rv-more-wrap{display:flex;justify-content:center;margin-top:32px}
:root:not(#v) .rv-more{min-width:200px}

/* главная */
:root:not(#v) .rv-strip[hidden]{display:none}
:root:not(#v) .rv-strip__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
:root:not(#v) .rv-strip__title{margin:0;font:300 clamp(32px,5vw,56px)/1.05 var(--f-sans);letter-spacing:-.02em}
:root:not(#v) .rv-strip__body{display:grid;gap:16px}
@media (min-width:900px){:root:not(#v) .rv-strip__body{grid-template-columns:minmax(240px,.7fr) minmax(0,2fr);align-items:start}}
:root:not(#v) .rv-strip__cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}

/* профиль: «Оставить отзыв» у заказа */
:root:not(#v) .refs-item .rv-leave{flex:none;margin-left:auto;min-height:44px}

@media (prefers-reduced-motion:reduce){
  :root:not(#v) .lq-btn,:root:not(#v) .rv-scale__track i,:root:not(#v) .rv-scale__track i::after{transition:none;animation:none}
}
