/* Публичная страница отзыва: на мобильном - весь экран, без «окна» */
:root{--bg:#f6f9ff;--card:#fff;--text:#0b1736;--muted:#62708f;--line:#e0e8f6;--danger:#c0291d;--ok:#16794a;--gold:#ffb21f;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--display:"Inter Display","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;min-height:100vh;min-height:100dvh;font:16px/1.5 var(--sans);color:var(--text);background:
  radial-gradient(520px 320px at 100% -4%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),
  radial-gradient(420px 300px at -10% 100%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),var(--bg);
  font-feature-settings:"calt","case"}
.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:0 0 max(16px,env(safe-area-inset-bottom))}
.stage{flex:1;width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:max(28px,env(safe-area-inset-top)) 24px 12px}
.stage>*{max-width:100%}
.logo{width:76px;height:76px;border-radius:22px;object-fit:contain;padding:6px;background:#fff;box-shadow:0 8px 24px rgba(11,23,54,.12);margin:0 auto 18px;display:block}
.monogram{display:flex;align-items:center;justify-content:center;font:800 32px var(--display);color:#fff;background:var(--accent)}
h2{margin:0 0 10px;font:800 28px/1.15 var(--display);letter-spacing:-.025em;text-wrap:balance}
h2:focus{outline:none}
.lead{margin:0 0 20px;color:var(--muted);font-size:17px;line-height:1.45;text-wrap:balance}
.ill{display:block;width:min(100%,330px);height:auto;margin:2px auto 14px}
.ill.sm{width:min(100%,280px)}

/* Оценка: пять звёзд */
.stars{display:flex;justify-content:center;gap:4px;margin:6px 0 10px;padding:0;border:0}
.star-btn{appearance:none;border:0;background:none;padding:4px;cursor:pointer;line-height:0;border-radius:14px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.star-btn svg{width:clamp(48px,14.5vw,60px);height:clamp(48px,14.5vw,60px);fill:#d3dbea;stroke:#d3dbea;stroke-width:1.4;stroke-linejoin:round;transition:fill .15s,stroke .15s,transform .15s}
.star-btn.lit svg{fill:var(--gold);stroke:var(--gold);filter:drop-shadow(0 4px 6px rgba(245,160,0,.35))}
.star-btn.lit svg{transform:scale(1.06)}
.star-btn:active svg{transform:scale(.92)}
.hint{margin:0;min-height:1.6em;color:var(--muted);font-size:17px;font-weight:500}
.hint.on{color:var(--text);font-weight:600}

/* Площадки */
.links{display:grid;gap:12px;width:100%;margin:2px 0 6px}
.link{display:flex;align-items:center;gap:16px;padding:0 20px;min-height:64px;text-decoration:none;color:var(--text);font-weight:600;font-size:18px;
  text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:18px;box-shadow:0 2px 0 rgba(11,23,54,.02);transition:border-color .15s,transform .1s,box-shadow .15s}
.link:hover{border-color:color-mix(in srgb,var(--accent) 55%,#fff);box-shadow:0 8px 22px rgba(11,23,54,.08)}
.link:active{transform:scale(.985)}
.dot{width:22px;height:22px;border-radius:50%;flex:none}
.link .name{flex:1}
.link svg{width:22px;height:22px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.extra{margin-top:14px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.extra a{padding:9px 16px;border-radius:99px;border:1.5px solid var(--line);color:var(--text);text-decoration:none;font-size:14px;font-weight:500;background:var(--card)}

button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}
.btn{width:100%;min-height:56px;padding:14px 18px;border:0;border-radius:16px;cursor:pointer;font:700 17px var(--sans);color:#fff;background:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 35%,transparent)}
.btn:disabled{opacity:.6;cursor:default}
.btn.ghost{margin-top:6px;color:var(--muted);background:none;font-weight:600;min-height:48px;box-shadow:none}
form{width:100%;text-align:left;display:grid;gap:14px}
label{font-size:15px;font-weight:600;display:grid;gap:7px}
textarea,input[type=text]{width:100%;padding:14px 16px;font:400 16px var(--sans);color:var(--text);background:#f1f5fc;border:1.5px solid var(--line);border-radius:16px}
textarea{min-height:116px;resize:vertical}
textarea::placeholder,input::placeholder{color:#8794b0}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--muted);font-size:14px}
.consent input{margin-top:3px;width:20px;height:20px;flex:none;accent-color:var(--accent)}
.error{color:var(--danger);font-size:14px;margin:0;min-height:1.3em}
.check{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:42px;color:#fff;background:var(--ok);box-shadow:0 12px 28px rgba(22,121,74,.3)}
.powered{margin:8px 0 0;text-align:center;font-size:14px;color:var(--muted)}
.powered a{color:inherit;font-weight:500}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.stage>*{animation:rise .35s ease both}.stage>*:nth-child(2){animation-delay:.04s}.stage>*:nth-child(3){animation-delay:.08s}.stage>*:nth-child(4){animation-delay:.12s}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (min-width:700px){
  .page{justify-content:center}
  .stage{flex:none;background:var(--card);border:1px solid var(--line);border-radius:32px;box-shadow:0 24px 70px rgba(11,23,54,.1);padding:44px 40px 36px;margin-top:28px}
}
@media (max-height:700px){.ill{width:min(100%,240px)}.stage{justify-content:flex-start}h2{font-size:25px}}

.plogo{width:28px;height:28px;border-radius:8px;object-fit:contain;flex:none;background:#fff}
