[hidden]{display:none!important}
:root{
  color-scheme: dark;
  --bg:#061d3a; --bg-2:#0a2a52; --surface:#0d3261; --surface-2:#123d74; --sunk:#08223f;
  --line:rgba(236,223,196,.13); --line-2:rgba(236,223,196,.26);
  --text:#eef2f8; --muted:#9fb4d0; --faint:#6f87a8;
  --gold:#f2ac3f; --gold-soft:rgba(242,172,63,.15); --on-gold:#1d1406; --cream:#ecdfc4;
  --good:#7ed9a8; --good-soft:rgba(126,217,168,.12); --bad:#ff8a7a; --bad-soft:rgba(255,138,122,.12); --warn:#ffd166;
  --display:"Literata",Georgia,"Times New Roman",serif;
  --body:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --r:14px;
}
*{box-sizing:border-box}
body{margin:0;background-color:var(--bg);background-image:radial-gradient(1000px 520px at 50% -200px,#1a5391 0%,rgba(26,83,145,0) 70%);background-repeat:no-repeat;color:var(--text);font:16px/1.5 var(--body)}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px;padding-block:0 48px}
h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;letter-spacing:-.01em;text-wrap:balance}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* top */
.top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:16px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--text);text-decoration:none}
.brand img{width:42px;height:auto;display:block}
.brand b{font-family:var(--display);font-size:19px;display:block;line-height:1.1}
.brand small{font-size:12px;color:var(--muted)}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:12px;padding:3px;gap:2px;background:var(--sunk)}
.seg button{border:0;background:transparent;border-radius:9px;padding:7px 14px;cursor:pointer;color:var(--muted);font-weight:600;font-size:14px}
.seg button[aria-pressed="true"]{background:var(--gold);color:var(--on-gold)}
.demo{font-family:var(--mono);font-size:12px;color:var(--warn);border:1px dashed rgba(255,209,102,.5);border-radius:999px;padding:5px 10px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:11px;border:1px solid var(--line-2);background:transparent;cursor:pointer;color:var(--text);font-weight:600;font-size:14px;text-decoration:none;transition:border-color .15s,background .15s}
.btn:hover{border-color:var(--gold)}
.btn.primary{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.btn.primary:hover{background:#ffbf5c}
.btn.small{padding:6px 11px;font-size:13px;border-radius:9px}
.btn[disabled]{opacity:.45;cursor:not-allowed}

/* profile head */
.profile{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin-top:6px}
.ava{width:68px;height:68px;border-radius:18px;display:grid;place-items:center;background:var(--cream);color:#0b2c56;font-family:var(--display);font-size:28px;font-weight:700}
.profile h1{font-size:clamp(24px,3vw,32px)}
.profile .sub{color:var(--muted);font-size:14px;margin-top:2px}
.lvl{margin-top:10px;max-width:420px}
.lvl-top{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:13px;gap:2px 10px}.lvl-top>span{white-space:nowrap}
.lvl-top b{color:var(--gold);font-weight:700}
.meter{height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:6px}
.meter span{display:block;height:100%;background:var(--gold);border-radius:8px}
.quick{display:flex;gap:10px;flex-wrap:wrap}
.qstat{background:var(--sunk);border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-width:104px}
.qstat b{display:block;font-family:var(--display);font-size:24px;line-height:1.1}
.qstat span{font-size:12px;color:var(--muted)}
.flame{color:#ff9f43}

.tabs{display:flex;gap:4px;margin-top:22px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 14px;color:var(--muted);cursor:pointer;font-weight:600;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--gold)}
.tabs .cnt{font-family:var(--mono);font-size:11px;color:var(--gold);margin-left:4px}
.view{padding-top:22px}

.grid2>*,.charts>*,.kpis>*{min-width:0}
.grid2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}
.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.panel h2{font-size:21px}
.phead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.stack{display:grid;gap:12px}

/* assignments */
.asg{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--sunk);border:1px solid var(--line)}
.asg .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:13px}
.asg .t{font-weight:600;line-height:1.3}
.asg .s{font-size:13px;color:var(--muted);margin-top:2px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap;border:1px solid transparent}
.chip.done{background:var(--good-soft);color:var(--good);border-color:rgba(126,217,168,.35)}
.chip.work{background:var(--gold-soft);color:var(--gold);border-color:rgba(242,172,63,.4)}
.chip.new{background:rgba(159,180,208,.12);color:var(--muted);border-color:var(--line-2)}
.chip.late{background:var(--bad-soft);color:var(--bad);border-color:rgba(255,138,122,.4)}
.prog{margin-top:22px}
.prog h3{font-size:19px}
.prog .desc{color:var(--muted);font-size:14px;margin-top:4px;max-width:70ch}
.topic-list{display:grid;gap:8px;margin-top:14px}
.note{font-size:13px;background:var(--gold-soft);color:#f5e6c8;border-radius:10px;padding:10px 12px}
.note b{color:var(--gold)}

/* badges */
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.fchip{border:1px solid var(--line-2);background:transparent;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--muted)}
.fchip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:600}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:18px 14px}
.bdg{background:transparent;border:0;padding:0;cursor:pointer;display:grid;justify-items:center;gap:8px;text-align:center;color:var(--text)}
.bdg svg{width:100%;max-width:120px;height:auto;display:block;transition:transform .18s}
.bdg:hover svg{transform:translateY(-3px) rotate(-1.5deg)}
.bdg .bt{font-size:13.5px;font-weight:600;line-height:1.25}
.bdg .bs{font-size:12px;color:var(--muted);margin-top:-4px}
.bdg.locked .bt{color:var(--muted)}
.bdg .bprog{width:78%;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:-2px}
.bdg .bprog span{display:block;height:100%;background:var(--gold)}
.bdg[aria-current="true"] svg{filter:drop-shadow(0 0 0 var(--gold)) drop-shadow(0 0 10px rgba(242,172,63,.45))}
.bdetail{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}
.bdetail svg{width:120px;height:auto}
.bdetail h3{font-size:22px}
.bdetail .cond{margin-top:6px;color:#d9e3f1}
.bdetail .meta{margin-top:10px;font-size:13px;color:var(--muted);display:grid;gap:4px}
.sum{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.sum b{font-family:var(--display);font-size:22px;color:var(--text);margin-right:6px}

/* stats */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpi{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.kpi .k{font-size:13px;color:var(--muted)}
.kpi .v{font-family:var(--display);font-size:30px;line-height:1.15;margin-top:2px}
.kpi .d{font-size:13px;margin-top:4px;font-weight:600}
.up{color:var(--good)} .down{color:var(--bad)} .flat{color:var(--muted)}
.charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.chart svg{width:100%;height:auto;display:block}
.chart .cap{font-size:13px;color:var(--muted);margin-top:2px}
.ax{font-family:var(--mono);font-size:11px;fill:var(--faint)}
.gridl{stroke:rgba(236,223,196,.08);stroke-width:1}
.heat{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;align-items:center}
.heat .days{display:grid;grid-template-rows:repeat(7,1fr);gap:3px;font-family:var(--mono);font-size:10px;color:var(--faint);height:100%}
.hgrid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px}
.hgrid i{display:block;aspect-ratio:1;border-radius:3px;min-width:10px}
.legend{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--faint);font-family:var(--mono);margin-top:8px}
.legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.ttable{width:100%;border-collapse:collapse;font-size:14px}
.ttable th{font-size:12px;font-weight:600;color:var(--muted);text-align:left;padding:8px 8px;border-bottom:1px solid var(--line)}
.ttable td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.ttable tr:last-child td{border-bottom:0}
.ttable .r{text-align:right}
.mbar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden;min-width:70px}
.mbar span{display:block;height:100%;border-radius:6px;background:var(--gold)}
.tscroll{overflow-x:auto}
.insights{display:grid;gap:10px}
.ins{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:14px}
.ins .ii{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:700}
.ins .ii.up{background:var(--good-soft)} .ins .ii.down{background:var(--bad-soft)} .ins .ii.flat{background:rgba(159,180,208,.1)}

/* teacher */
.ttop{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-top:8px}
.ttop h1{font-size:clamp(26px,3.4vw,34px);margin-top:6px}
.srow{cursor:pointer}
.srow:hover td{background:rgba(255,255,255,.025)}
.srow[aria-selected="true"] td{background:var(--gold-soft)}
.sname{display:flex;align-items:center;gap:10px;font-weight:600}
.sname .mini{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--cream);color:#0b2c56;font-family:var(--display);font-size:14px}
.tdetail{margin-top:18px}
.linkbox{display:flex;gap:8px;align-items:center;background:var(--sunk);border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;font-family:var(--mono);font-size:12.5px;overflow:hidden}
.linkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.field{display:grid;gap:6px}
.field label,.field .lab{font-size:13px;font-weight:600;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;background:var(--sunk);border:1px solid var(--line-2);border-radius:10px;padding:9px 11px}
.checks{display:grid;gap:6px;max-height:300px;overflow-y:auto;padding-right:4px}
.checks label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid var(--line);cursor:pointer;font-size:14px}
.checks label:has(input:checked){border-color:var(--gold);background:var(--gold-soft)}
.checks input{accent-color:var(--gold);width:16px;height:16px}
.checks small{color:var(--muted);font-family:var(--mono);font-size:11px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* overlay */
.ov{position:fixed;inset:0;background:rgba(3,14,30,.78);display:grid;place-items:start center;overflow-y:auto;padding:max(24px,env(safe-area-inset-top,0px)) 16px 24px;z-index:20}
.sheet{width:min(720px,100%);background:var(--surface);border:1px solid var(--line-2);border-radius:18px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.sheet h2{font-size:26px;margin-top:6px}
.qs{display:grid;gap:14px;margin-top:18px}
.q{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:14px}
.q .qn{font-family:var(--mono);font-size:12px;color:var(--gold)}
.q p{margin-top:4px}
.q input{margin-top:10px;width:100%;max-width:220px;background:var(--sunk);border:1px solid var(--line-2);border-radius:10px;padding:9px 11px;font-family:var(--mono)}
.q .opts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.q .opts button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.q.ok{border-color:rgba(126,217,168,.5)} .q.no{border-color:rgba(255,138,122,.5)}
.q .res{font-size:13px;margin-top:8px;font-weight:600}
.score{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px;padding:16px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line)}
.score b{font-family:var(--display);font-size:40px;line-height:1}

.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;gap:14px;align-items:center;background:var(--surface-2);border:1px solid var(--gold);border-radius:16px;padding:12px 18px 12px 12px;box-shadow:0 16px 50px rgba(0,0,0,.5);z-index:30;width:min(440px,calc(100% - 32px));animation:pop .5s cubic-bezier(.2,1.4,.4,1)}
.toast svg{width:62px;height:62px;flex:none}
.toast .tt{font-size:12px;font-family:var(--mono);color:var(--gold);letter-spacing:.1em;text-transform:uppercase}
.toast b{display:block;font-family:var(--display);font-size:19px}
@keyframes pop{from{transform:translate(-50%,30px) scale(.9);opacity:0}to{transform:translate(-50%,0) scale(1);opacity:1}}

.tip{position:fixed;pointer-events:none;background:#031428;border:1px solid var(--line-2);color:var(--text);font-size:12.5px;padding:6px 9px;border-radius:8px;z-index:40;white-space:nowrap;font-variant-numeric:tabular-nums}

@media (max-width:980px){
  .grid2,.charts{grid-template-columns:minmax(0,1fr)}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .profile{grid-template-columns:auto 1fr}
  .quick{grid-column:1/-1}
}
@media (max-width:560px){
  .profile{grid-template-columns:1fr;padding:16px}
  .badges{grid-template-columns:repeat(3,1fr);gap:14px 8px}
  .bdg .bt{font-size:12px}
  .bdetail{grid-template-columns:84px 1fr}
  .bdetail svg{width:84px}
  .qstat{min-width:0;flex:1}
  .sheet{padding:16px}
  .brand small{display:none}
}
.qimg{display:block;max-width:100%;max-height:340px;border-radius:10px;margin-top:10px;background:var(--sunk);cursor:zoom-in}
.photo-in{display:grid;gap:8px;margin-top:10px;justify-items:start}
.photo-in input[type=file]{font-size:14px;color:var(--muted)}
.photo-in img{max-width:220px;border-radius:10px;border:1px solid var(--line-2)}
.rv{display:grid;gap:8px;padding:12px;border-radius:12px;background:var(--sunk);border:1px solid var(--line)}
.rv .rh{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.rv img{max-width:260px;border-radius:10px;cursor:zoom-in}
.rv input[type=text]{width:100%;background:var(--bg-2);border:1px solid var(--line-2);border-radius:9px;padding:7px 10px;font-size:14px}
.chip.pend{background:rgba(255,209,102,.12);color:var(--warn);border-color:rgba(255,209,102,.4)}
.bprob{display:grid;gap:10px;padding:14px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line)}
.bprob textarea,.bprob input,.bprob select{width:100%;background:var(--sunk);border:1px solid var(--line-2);border-radius:9px;padding:8px 10px}
.bprob .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.bprob .two{grid-template-columns:1fr}}

.gsec summary{cursor:pointer;list-style:none;padding:6px 0}
.gsec summary::-webkit-details-marker{display:none}
.gsec summary::before{content:"▸ ";color:var(--gold)}
.gsec[open] summary::before{content:"▾ "}
.gsec .checks{margin-top:6px}
.asg{grid-template-columns:auto minmax(0,1fr) auto}
.asg>*{min-width:0}
.asg .t{overflow-wrap:anywhere}
@media (max-width:480px){.asg{grid-template-columns:auto minmax(0,1fr);gap:10px 12px}.asg>.btn,.asg>a.btn,.asg>button{grid-column:1/-1;justify-self:start}}
.timer{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px -8px 0;padding:10px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-2);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.timer span{color:var(--muted);font-size:14px}
.timer b{font-family:var(--mono);font-size:22px;color:var(--gold)}
.timer.low{border-color:var(--bad)}
.timer.low b{color:var(--bad)}
.solbox{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.solbox summary{cursor:pointer;color:var(--gold);font-weight:600;font-size:14px}
.solbox .stack p{font-size:14.5px;color:#d9e3f1}
.sheet>.two{display:grid;grid-template-columns:2fr 1fr;gap:12px}
@media (max-width:560px){.sheet>.two{grid-template-columns:1fr}}
.sheet .field select{color:var(--text)}
/* оценки цветом: зелёный — хорошо, жёлтый — внимание, красный — проблема */
.t-good{color:var(--good)!important}.t-warn{color:var(--warn)!important}.t-bad{color:var(--bad)!important}
.pct{display:inline-block;font-family:var(--mono);font-size:12.5px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid currentColor;line-height:1.5}
.flags{display:flex;flex-wrap:wrap;gap:4px}
.flag{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.slist td{vertical-align:middle}
.slist input[type=checkbox],#pickall{width:17px;height:17px;accent-color:var(--gold);cursor:pointer}
.ttable.cmp td,.ttable.cmp th{white-space:nowrap}
.ttable.cmp td:first-child{white-space:normal;min-width:160px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:4px 0 0;font-size:15px}
.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}
.wline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--sunk);border:1px solid var(--line);font-size:14px}
.wline>span:first-child{min-width:0;overflow-wrap:anywhere}
button.wline{width:100%;color:inherit;font:inherit;font-size:14px;text-align:left;cursor:pointer}button.wline:hover{border-color:var(--line-2)}
.btn.danger{border-color:var(--bad);color:var(--bad)}
.kpis .kpi .v.t-good,.kpis .kpi .v.t-warn,.kpis .kpi .v.t-bad{text-shadow:none}
.kpis.k5{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.rvst{font-size:13.5px;color:var(--muted)}.rvst p{margin:2px 0}
.bpreview{background:var(--sunk);border:1px dashed var(--line-2);border-radius:9px;padding:8px 10px;font-size:15px;overflow-x:auto}
.katex-display{margin:.6em 0;overflow-x:auto;overflow-y:hidden;padding:2px 0}
.q .katex-display>.katex,.solbox .katex-display>.katex{font-size:1.12em}
.tbadge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px;margin-top:8px;width:max-content;max-width:100%}
.tbadge.ok{color:var(--good);background:var(--good-soft);border:1px solid rgba(126,217,168,.35)}
.tbadge.mid{color:var(--warn);background:rgba(255,209,102,.1);border:1px solid rgba(255,209,102,.3)}
.tbar{display:inline-block;width:46px;height:5px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}.tbar span{display:block;height:100%;background:var(--warn)}
.freecard.passed{border-color:rgba(126,217,168,.55);background:linear-gradient(180deg,rgba(126,217,168,.10),rgba(126,217,168,.03))}
.freecard.passed .sample{color:var(--good)}
.guestnote{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--gold-soft);border:1px solid rgba(242,172,63,.35);border-radius:12px;padding:12px 16px;margin:6px 0 18px;font-size:14.5px}
/* разбор сданной работы в панели учителя */
.wcard{cursor:pointer;transition:border-color .15s}
.wcard:hover{border-color:var(--line-2)}
.wm{white-space:nowrap}.wm.pend{color:var(--warn)}
.wsheet{width:min(820px,100%)}
.wsum{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:12px;font-size:14px;font-weight:600}
.wnav{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.wnav button{min-width:34px;height:34px;border-radius:9px;border:1px solid var(--line-2);background:var(--sunk);font-family:var(--mono);font-weight:700;font-size:13px;cursor:pointer}
.wnav button.ok{color:var(--good);border-color:rgba(126,217,168,.45);background:var(--good-soft)}
.wnav button.no{color:var(--bad);border-color:rgba(255,138,122,.5);background:var(--bad-soft)}
.wnav button.pd{color:var(--warn);border-color:rgba(255,209,102,.45)}
.wonly{display:inline-flex;gap:8px;align-items:center;margin-top:12px;font-size:14px;color:var(--muted);cursor:pointer}
.onlybad>.q.ok{display:none}
.q.pd{border-color:rgba(255,209,102,.45)}
.q.flash{box-shadow:0 0 0 2px var(--gold)}
.wsheet .q{scroll-margin-top:16px}
.wans{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-2)}
.wans>div{display:grid;gap:2px}
.wans .lab{font-size:12px;font-weight:600;color:var(--muted)}
.wans b{font-family:var(--mono);font-size:16px;overflow-wrap:anywhere}
.wans img{max-width:min(420px,100%)}
.wgrade{display:grid;gap:8px;margin-top:10px}
.wgrade input{width:100%;background:var(--bg-2);border:1px solid var(--line-2);border-radius:9px;padding:7px 10px;font-size:14px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);line-height:1.45;cursor:pointer}
.consent input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--gold)}
.consent a{color:var(--gold);text-decoration:underline}
.captcha{min-height:0}
.danger-zone{border-color:rgba(255,138,122,.35)}
/* ===== задачи и формулы (вариант B: тёмный, крупное условие, формулы в рамке) =====
   Всё оформление формул здесь: поменять стиль можно, не трогая сами задачи. */
.katex{font-size:1.08em}
.katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}
.qhead{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.qnum{font:700 14px var(--mono);color:var(--on-gold);background:var(--gold);border-radius:8px;padding:3px 9px;line-height:1.4}
.qchip{font:600 12.5px var(--body);color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:2px 10px}
.st{font-size:20px;line-height:1.65;margin-top:12px;color:var(--text)}
.st p+p{margin-top:8px}
.st .katex-display{background:var(--sunk);border:1px solid var(--line);border-radius:14px;padding:6px 16px;margin:12px 0;font-size:1.04em}
.q .st p{margin-top:0}
.exq{font-size:18px;margin-top:0}
.th{display:grid;gap:10px;color:#dfe7f2;font-size:17px;line-height:1.7}
.th .katex-display{background:var(--sunk);border:1px solid var(--line);border-radius:14px;padding:6px 16px;margin:8px 0}
.sol{display:grid;gap:4px;color:#dfe7f2;font-size:16.5px;line-height:1.65}
.sol .katex-display{text-align:left;margin:4px 0 6px}
.sol .katex-display>.katex{text-align:left}
.note .katex{font-size:1.04em}
.opts .btn .katex{font-size:1.12em}
.ans-in{font-family:var(--mono)!important;font-size:17px!important}
.ans-prev{font-size:14px;color:var(--muted);margin-top:6px;min-height:0}
.ans-prev .katex{font-size:1.45em;color:var(--text)}
@media (max-width:560px){.st{font-size:18px}.th{font-size:16px}.sol{font-size:15.5px}}
.q{padding:20px 22px;border-radius:16px}
/* KaTeX-шрифт визуально мельче текста: подтягиваем */
.st .katex,.th .katex,.sol .katex,.qtext .katex{font-size:1.14em}
.th .katex-display,.sol .katex-display{font-size:1.08em}
.st .katex-display{font-size:1.1em}
.opts .btn{font-size:15px;padding:8px 14px;min-height:40px}
.opts .btn .katex{font-size:1.25em}
.note .katex{font-size:1.1em}
/* длинная формула не должна раздвигать колонку: прокручивается внутри своей рамки */
.grid2>*,.stack>*,.panel,.q,.sheet,.tq,.qs>*{min-width:0}
.st,.th,.sol,.qtext{min-width:0;max-width:100%}
.th,.sol{grid-template-columns:minmax(0,1fr)}.th>*,.sol>*,.st>*{min-width:0}
.pvans{margin-top:12px;border-top:1px dashed var(--line-2);padding-top:8px;font-size:14.5px}
.pvans summary{cursor:pointer;color:var(--muted);font-weight:600;font-size:13.5px}
.q input:disabled,.q .btn:disabled{opacity:.75;cursor:default}
/* ---------- PDF для печати (app/print.js) ---------- */
.prchecks{display:grid;gap:10px;margin-top:14px}
.prchecks label{display:flex;gap:10px;align-items:flex-start;font-size:15px;cursor:pointer;line-height:1.4}
.prchecks input{margin-top:3px;flex:none;width:17px;height:17px;accent-color:var(--gold)}
#printroot{position:absolute;left:-10000px;top:0;width:180mm;visibility:hidden;pointer-events:none}
@page{size:A4;margin:14mm 15mm 15mm;@bottom-center{content:"Мир математики  ·  " counter(page) " из " counter(pages);font:8pt "Golos Text",sans-serif;color:#8a94a6}}
@media print{
  html,body{background:#fff!important;min-height:0!important}
  body.printing>*:not(#printroot){display:none!important}
  body.printing #printroot{position:static;width:auto;visibility:visible}
  body:not(.printing) #printroot{display:none}
}
#printroot{font:10.5pt/1.5 var(--body);color:#151c2c;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;color-scheme:light}
#printroot p{margin:0}
#printroot .pr-head{display:flex;justify-content:space-between;align-items:center;gap:8mm;padding-bottom:3mm;border-bottom:.6pt solid #d6dce6}
#printroot .pr-brand{display:flex;align-items:center;gap:2.5mm;font:600 9.5pt var(--body);color:#46526a}
#printroot .pr-brand img{width:7mm;height:7mm;border-radius:1.6mm}
#printroot .pr-blanks{display:flex;gap:6mm;font-size:9.5pt;color:#46526a}
#printroot .pr-blanks span{display:flex;align-items:flex-end;gap:2mm}
#printroot .pr-blanks i{display:inline-block;width:46mm;border-bottom:.6pt solid #8a94a6;height:4mm}
#printroot .pr-blanks i.s{width:24mm}
#printroot .pr-kicker{margin-top:6mm;font:700 8pt var(--body);letter-spacing:.12em;text-transform:uppercase;color:#9a6b17}
#printroot .pr-title{font:700 20pt/1.2 var(--display);color:#0c1830;margin-top:1.5mm}
#printroot .pr-sub{margin-top:1.5mm;font-size:9.5pt;color:#5d6a82}
#printroot .pr-sec{margin-top:6mm}
#printroot .pr-sec>h2{font:700 13pt var(--display);color:#0c1830;padding-bottom:1.5mm;border-bottom:.6pt solid #d6dce6;margin-bottom:1mm}
#printroot .pr-break{break-before:page;margin-top:0}
#printroot .pr-keep{break-inside:avoid}
#printroot .pr-th{display:grid;gap:2mm;margin-top:3mm;font-size:10.5pt}
#printroot .pr-q{break-inside:avoid;padding:3mm 0 2.5mm;border-bottom:.5pt solid #e4e8ef}
#printroot .pr-q:last-child{border-bottom:0}
#printroot .pr-qh{display:flex;align-items:center;gap:3mm;margin-bottom:2mm}
#printroot .pr-num{font:700 9pt var(--mono);color:#3f2c08;background:#f8ddb0;border-radius:1.6mm;padding:.4mm 2.2mm}
#printroot .pr-diff{font-size:8pt;color:#b98a3a;letter-spacing:.5mm}
#printroot .pr-st{font-size:11.5pt;line-height:1.55;display:grid;gap:1.5mm}
#printroot .pr-st .katex-display{border:.6pt solid #dbe1ea;background:#f6f8fb;border-radius:2.5mm;padding:1.2mm 4mm;margin:1.5mm 0}
#printroot .pr-th .katex-display{border:.6pt solid #dbe1ea;background:#f6f8fb;border-radius:2.5mm;padding:1.2mm 4mm;margin:1mm 0}
#printroot .katex-display{overflow:visible}
#printroot .katex{font-size:1.08em}
#printroot .pr-sol{display:grid;gap:1.2mm;font-size:10.5pt;line-height:1.55;color:#253049}
#printroot .pr-sol .katex-display,#printroot .pr-sol .katex-display>.katex{text-align:left}
#printroot .pr-sol .katex-display{margin:.6mm 0 1.2mm}
#printroot .pr-exsol{margin-top:3mm;padding:3mm 4mm;border-left:1mm solid #f2ac3f;background:#fdf8ee}
#printroot .pr-opts{display:flex;flex-wrap:wrap;gap:2mm 9mm;margin-top:2.5mm;font-size:11pt}
#printroot .pr-opts b{color:#5d6a82;font-weight:600;margin-right:1mm}
#printroot .pr-space{position:relative;height:32mm;margin-top:2.5mm;border:.5pt solid #d3dae5;border-radius:2mm;overflow:hidden}
#printroot .pr-space svg{position:absolute;inset:0;width:100%;height:100%}
#printroot .pr-space .pr-ans{position:absolute;right:0;bottom:0;margin:0;padding:1.5mm 3mm 2mm 3mm;background:#fff;border-top:.5pt solid #d3dae5;border-left:.5pt solid #d3dae5;border-top-left-radius:2mm}
#printroot .pr-ans{display:flex;align-items:flex-end;gap:2mm;margin-top:2.5mm;font-weight:600;font-size:10.5pt}
#printroot .pr-ans i{width:60mm;border-bottom:.6pt solid #6b7790;height:5mm}
#printroot .pr-solq{padding:3mm 0}
#printroot .fig{margin:2mm 0 1mm;max-width:80mm;background:none;border:0;padding:0;border-radius:0}
#printroot .fig svg{display:block;width:100%;height:auto;max-height:46mm}
#printroot .pr-body.fig2{display:grid;grid-template-columns:minmax(0,1fr) 64mm;gap:7mm;align-items:start}
#printroot .pr-body.fig2 .fig{margin:0;max-width:none}
#printroot .pr-body.fig2 .fig svg{max-height:42mm}
#printroot svg [stroke="#ecdfc4"]{stroke:#1d2638}#printroot svg [fill="#ecdfc4"]{fill:#1d2638}
#printroot svg [stroke="#6f87a8"]{stroke:#7b8aa3}#printroot svg [fill="#6f87a8"]{fill:#5d6a82}
#printroot svg [stroke="#f2ac3f"]{stroke:#c27c0e}#printroot svg [fill="#f2ac3f"]{fill:#c27c0e}
#printroot svg [stroke="#7ed9a8"]{stroke:#1f9461}#printroot svg [fill="#7ed9a8"]{fill:#1f9461}
#printroot .pr-score{display:flex;align-items:baseline;gap:4mm;margin-top:5mm;padding:3mm 4mm;border:.6pt solid #d6dce6;border-radius:2.5mm;background:#f6f8fb}
#printroot .pr-score b{font:700 17pt var(--display);color:#0c1830}
#printroot .pr-score span{font:700 12pt var(--mono);color:#46526a}
#printroot .pr-score em{font-style:normal;font-size:10pt;color:#5d6a82;margin-left:auto}
#printroot .pr-ok,#printroot .pr-bad,#printroot .pr-pend{padding-left:4mm;border-left:1mm solid #9fd9bb;margin-top:1mm}
#printroot .pr-bad{border-left-color:#f0a397}
#printroot .pr-pend{border-left-color:#f2d27a}
#printroot .pr-mark{font-size:9pt;font-weight:700}
#printroot .ok{color:#17804f}#printroot .bad{color:#c4402e}#printroot .pend{color:#9a6b17}
#printroot .pr-res{display:flex;flex-wrap:wrap;gap:2mm 10mm;margin-top:3mm}
#printroot .pr-res>div{display:grid;gap:.5mm}
#printroot .pr-res .lab{font-size:8.5pt;color:#5d6a82;text-transform:uppercase;letter-spacing:.06em}
#printroot .pr-res b{font-size:11.5pt}
#printroot .pr-img{display:block;max-width:100%;max-height:95mm;margin-top:2mm;border:.5pt solid #dfe5ee;border-radius:2mm}
#printroot .pr-com{margin-top:3mm;padding:2mm 3.5mm;background:#fdf6e7;border-left:1mm solid #f2ac3f;font-size:10.5pt}
#printroot .pr-solbox{margin-top:3mm;padding:2.5mm 4mm;border:.5pt solid #e1e6ee;border-radius:2.5mm;background:#fafbfd}
#printroot .pr-solh{font:700 8.5pt var(--body);letter-spacing:.08em;text-transform:uppercase;color:#5d6a82;margin-bottom:1.2mm}
/* ---------- вопросы учителю (app/ask.js) ---------- */
.tabs .cnt.new{background:var(--gold);color:var(--on-gold);border-radius:999px;padding:1px 7px;font-weight:700}
.askref{margin-top:12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--sunk);max-height:260px;overflow:auto}
.askref .st{font-size:16px;margin-top:4px}
.msgs{display:grid;gap:10px;max-height:560px;overflow-y:auto;padding:2px}
.msg{max-width:88%;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--sunk);font-size:15px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.msg.me{justify-self:end;background:rgba(242,172,63,.10);border-color:rgba(242,172,63,.28)}
.msg.them{justify-self:start}
.msg .mhead{font-size:12px;color:var(--muted);margin-bottom:4px}
.msg .mtext{white-space:normal}
.msg .qimg{max-width:240px;margin-top:8px;border-radius:10px;cursor:zoom-in}
.mref{margin-bottom:6px;font-size:13.5px}
.mref summary{cursor:pointer;color:var(--gold)}
.mref-b .st{font-size:15px;margin-top:6px}
.msgbadge{display:inline-block;margin-left:6px;background:var(--gold);color:var(--on-gold);border-radius:999px;padding:0 7px;font:700 12px var(--mono);vertical-align:1px}
@media (max-width:560px){.msg{max-width:96%}}

/* ---- общая шапка сайта ---- */
.sitenav{display:flex;gap:2px;flex-wrap:wrap;align-items:center}
.sitenav a{color:var(--text);text-decoration:none;padding:8px 11px;border-radius:999px;font-size:15px}
.sitenav a:hover{background:var(--gold-soft)}
.sitenav a[aria-current="page"]{color:var(--gold)}
.menu-btn{display:none}
@media (max-width:860px){
  .sitenav{display:none;width:100%;order:9;flex-direction:column;align-items:stretch;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:6px}
  .sitenav.open{display:flex}
  .menu-btn{display:inline-flex}
}
.section{padding-block:44px}
.section h2{font-size:clamp(26px,3.4vw,38px)}
.lead2{font-size:18px;color:#cfdcee;max-width:62ch}
.shead{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.shead p{max-width:520px;color:var(--muted)}

/* hero */
.lhero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center;padding-block:34px 30px}
.lhero h1{font-size:clamp(34px,5.2vw,60px);line-height:1.04;margin-top:14px}
.lhero h1 em{font-style:normal;color:var(--gold)}
.lhero .lead2{margin-top:18px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn.big{padding:14px 22px;font-size:16px;border-radius:13px}
.chips-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.tag2{font-size:13px;border:1px solid var(--line-2);border-radius:999px;padding:5px 12px;color:var(--muted)}

/* пример отчёта */
.report{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line-2);border-radius:18px;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.report .rtop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.report .rtop b{font-family:var(--display);font-size:22px}
.report .big{font-family:var(--display);font-size:40px;line-height:1}
.rrow{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:10px;align-items:center;font-size:14px;padding-block:7px;border-bottom:1px solid var(--line)}
.rrow:last-child{border-bottom:0}
.rbar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.rbar span{display:block;height:100%;border-radius:6px}
.st-ok{color:var(--good)} .st-mid{color:var(--warn)} .st-gap{color:var(--bad)}
.sample{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}

/* подбор формата */
.picker{background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.pgroup{display:grid;gap:8px}
.pgroup .lab{font-size:13px;font-weight:600;color:var(--muted)}
.pchips{display:flex;gap:6px;flex-wrap:wrap}
.pchip{border:1px solid var(--line-2);background:transparent;border-radius:10px;padding:8px 12px;font-size:14px;cursor:pointer;color:var(--text)}
.pchip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:600}
.presult{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px}
.presult h3{font-size:24px}

/* форматы */
.formats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fcard{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.fcard h3{font-size:22px}
.fcard .ic2{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--cream);color:#0b2c56;font-family:var(--display);font-size:22px;font-weight:700}
.fcard dl{margin:0;display:grid;gap:8px;font-size:14px}
.fcard dt{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fcard dd{margin:0;color:#d9e3f1}
.fcard .btn{margin-top:auto;align-self:flex-start}

/* шаги */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:st}
.step{border-top:2px solid var(--gold);padding-top:14px;display:grid;gap:6px}
.step .n{font-family:var(--mono);font-size:13px;color:var(--gold)}
.step b{font-size:17px}
.step p{font-size:14px;color:var(--muted)}

/* кабинет и бесплатное */
.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}
.ticks{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:10px;color:#d9e3f1}
.ticks li::before{content:"✓";color:var(--gold);font-weight:700}
.bstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.free{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.freecard{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--text);display:grid;gap:8px;transition:border-color .15s,transform .15s}
.freecard:hover{border-color:var(--gold);transform:translateY(-2px)}
.freecard .num{font-family:var(--display);font-size:34px;color:var(--gold);line-height:1}
.freecard p{color:var(--muted);font-size:14px}

/* преподаватель, FAQ */
.teacher{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start;background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:24px}
.teacher .ph{width:84px;height:84px;border-radius:20px;background:var(--cream);color:#0b2c56;display:grid;place-items:center;font-family:var(--display);font-size:36px;font-weight:700}
.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:14px 18px}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--gold);font-family:var(--mono)}
.faq details[open] summary::after{content:"−"}
.faq p{margin-top:10px;color:#d9e3f1;max-width:70ch}
.leadbox{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.sitefoot{border-top:1px solid var(--line);margin-top:30px;padding-block:24px;font-size:14px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.sitefoot a{color:var(--muted)}

/* тест */
.testbox{max-width:760px;margin:10px auto 0}
.grades{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}
.gbtn{background:var(--bg-2);border:1px solid var(--line-2);border-radius:14px;padding:18px 10px;cursor:pointer;display:grid;gap:4px;text-align:center;color:var(--text)}
.gbtn:hover{border-color:var(--gold)}
.gbtn b{font-family:var(--display);font-size:32px;line-height:1}
.gbtn span{font-size:13px;color:var(--muted)}
.tq{background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:24px}
.tq .qtext{font-size:21px;line-height:1.65;margin-top:10px}
.tq .qtext p+p{margin-top:8px}
.tq .qtext .katex-display{background:var(--sunk);border:1px solid var(--line);border-radius:14px;padding:6px 16px;margin:12px 0}
.tq input{margin-top:16px;width:100%;max-width:280px;background:var(--sunk);border:1px solid var(--line-2);border-radius:11px;padding:11px 13px;font-family:var(--mono);font-size:17px}
.tq .opts{display:grid;gap:8px;margin-top:16px}
.tq .opts button{text-align:left;justify-content:flex-start;font-weight:500;font-size:16px}
.tq .opts button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.tprog{display:flex;gap:4px;margin-bottom:16px}
.tprog i{flex:1;height:5px;border-radius:5px;background:rgba(255,255,255,.1)}
.tprog i.a{background:var(--gold)} .tprog i.c{background:var(--gold-soft);outline:1px solid var(--gold)}

@media (max-width:980px){
  .lhero,.picker,.split2,.leadbox{grid-template-columns:minmax(0,1fr)}
  .formats,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .free{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .formats,.steps{grid-template-columns:minmax(0,1fr)}
  .grades{grid-template-columns:repeat(3,minmax(0,1fr))}
  .teacher{grid-template-columns:minmax(0,1fr)}
  .rrow{grid-template-columns:minmax(0,1fr) 60px auto}
}
.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:14px}
.form h3{font-size:22px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .field textarea{min-height:76px;resize:vertical}
.form .field input::placeholder,.form .field textarea::placeholder{color:#6f87a8}
.radios{display:flex;gap:8px;flex-wrap:wrap}
.radios label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:500;font-size:14px;color:var(--text)}
.radios input{accent-color:var(--gold)}
.err{color:var(--bad);font-size:14px}
.result{border:1px solid var(--good);border-radius:12px;padding:16px;display:grid;gap:12px;background:rgba(126,217,168,.08)}
.result pre{margin:0;white-space:pre-wrap;font-family:var(--mono);font-size:13px;background:var(--bg);border-radius:8px;padding:12px;color:#dfe8f4}
@media (max-width:560px){.form{padding:16px}.form .two{grid-template-columns:1fr}}

.fig{margin:12px 0 4px;max-width:440px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px}
.fig svg{display:block;width:100%;height:auto;max-height:340px}
.fig.wide{max-width:520px}
.q .fig{max-width:360px}
/* политика конфиденциальности */
.privacy{max-width:720px;margin:28px auto 40px}
.privacy h1{font-size:clamp(30px,4.4vw,42px);margin-top:8px}
.privacy .lead{color:var(--muted);font-size:18px;margin-top:10px}
.privacy section{margin-top:28px}
.privacy h2{font-size:22px;margin-bottom:8px}
.privacy p,.privacy li{color:#d9e3f1;line-height:1.65}
.privacy p+p{margin-top:10px}
.privacy ul{padding-left:20px;display:grid;gap:8px}
.privacy a{color:var(--gold);text-decoration:underline}
