
/* Layout concept: the whole site is a worked solution in a school notebook (Дано, Решение, Ответ).
   Graph paper, green ink, lime highlighter, red teacher pen. Light theme only. */
:root{
  --bg:#F3F1E7;--grid:rgba(18,57,42,.07);--ink:#12392A;--text:#23352B;--muted:#53655A;
  --card:#FFFDF6;--soft:#E3EBDA;--line:#12392A;--lime:#C6F52E;--lime-ink:#0F2E20;
  --red:#C8372B;--deep:#12392A;--on-deep:#E8F3E3;--btn:#12392A;--btn-fg:#F3F1E7;--ok:#1B7F46;
  --f-display:Unbounded,"Arial Black",system-ui,sans-serif;--f-body:Onest,system-ui,sans-serif;--f-hand:Caveat,"Comic Sans MS",cursive;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--f-body);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px;
  overflow-x:hidden;-webkit-text-size-adjust:100%}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
h1,h2,h3{font-family:var(--f-display);font-weight:700;color:var(--ink);margin:0;line-height:1.08;text-wrap:balance}
p{margin:0 0 12px}
.w{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:inherit}
.hand{font:700 32px/1 var(--f-hand);color:var(--red);display:inline-block;transform:rotate(-2deg)}
.mk{--mk:60%;background:linear-gradient(transparent var(--mk),var(--lime) var(--mk)) no-repeat 0 0/100% 100%;color:var(--ink);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ans .mk{--mk:86%;color:var(--on-deep)}
html.anim .mk{background-size:0 100%;transition:background-size .8s .15s cubic-bezier(.3,.7,.2,1)}
html.anim .mk.in{background-size:100% 100%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:14px;border:2px solid var(--btn);background:var(--btn);color:var(--btn-fg);font:700 16px/1.2 var(--f-body);text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 var(--lime);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--lime)}
.btn.lime{background:var(--lime);color:var(--lime-ink);border-color:var(--lime-ink);box-shadow:4px 4px 0 var(--lime-ink)}
.btn.lime:hover{box-shadow:2px 2px 0 var(--lime-ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--lime);color:var(--lime-ink);padding:10px 14px;border-radius:10px;z-index:99}.skip:focus{left:16px}

/* nav */
.tick{display:block;overflow:hidden;background:#B8FF1F;color:#0B1F16;border-bottom:3px solid #0B1F16;text-decoration:none;white-space:nowrap;position:relative;z-index:51}
.tick-in{display:inline-flex;align-items:center;gap:18px;padding:7px 0;animation:tick 26s linear infinite;will-change:transform}
.tick .w{font:700 15px/1 var(--f-display);letter-spacing:.06em}.tick .e{font-size:18px;line-height:1;display:inline-block;animation:bop 1.2s ease-in-out infinite}
.tick .w:nth-child(4n+1){background:#0B1F16;color:#B8FF1F;padding:5px 10px;border-radius:8px;transform:rotate(-2deg)}
.tick:hover .tick-in,.tick:focus-visible .tick-in{animation-play-state:paused}.tick:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
@keyframes tick{to{transform:translateX(-50%)}}@keyframes bop{50%{transform:translateY(-3px) rotate(-8deg)}}
@media (prefers-reduced-motion:reduce){.tick-in,.tick .e{animation:none}}
.demo-t .task input{width:90px;min-height:40px;font-size:16px;text-align:center}.demo-t .tq small{display:block;font:500 13px var(--f-body);color:var(--muted);margin-top:2px}
.demo-t .vb{font-weight:700;font-size:14px;padding:4px 10px;border-radius:99px}.demo-t .vb.ok{background:var(--ok);color:#fff}.demo-t .vb.no{background:var(--red);color:#fff}.demo-t .task.bad{border-color:var(--red);animation:none;background:color-mix(in srgb,var(--red) 6%,var(--card))}.demo-t .task.bad .tf{color:var(--text)}
.zach-demo{border:2px solid var(--red);border-radius:14px;padding:10px 14px;margin:0 0 12px;font-size:15px;display:grid;gap:6px}.zach-demo .mtr{height:8px;border-radius:6px;background:var(--soft);overflow:hidden}.zach-demo .mtr i{display:block;height:100%;background:var(--red)}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px);border-bottom:2px solid var(--line)}
.nav .w{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 14px/1.1 var(--f-display);color:var(--ink);margin-right:auto;min-width:0}
/* ЭкзаменОК: «ОК» — салатовая плашка, чуть наклонена, как отметка на полях */
.wm{font-family:var(--f-display);font-weight:800;letter-spacing:-.02em;white-space:nowrap;color:var(--ink)}.wm b{display:inline-block;margin-left:.1em;padding:.06em .24em .08em;border-radius:.32em;background:var(--lime);color:var(--lime-ink);font-weight:800;transform:rotate(-5deg);box-shadow:.08em .08em 0 var(--lime-ink)}
.brand .wm{display:inline;font-size:19px}.top a.b .wm{font-size:20px}
.top a.b{display:inline-flex;align-items:center;gap:8px}.top a.b img{width:38px;height:38px;flex:none}@media (max-width:620px){.top a.b img{display:none}}
.bar .wm{font-size:13px;margin:0 6px 0 2px;color:var(--on-deep)}@media (max-width:760px){.bar .wm{display:none}}
@media (max-width:420px){.brand img{display:none}.brand .wm{font-size:14px}.top a.b .wm{font-size:17px}}
@media (max-width:375px){.brand .wm{font-size:12.5px}}
@media (max-width:345px){.brand .wm{font-size:12px}header.nav .btn{font-size:12px;padding-inline:10px}}
.brand img{width:44px;height:44px;flex:none}.brand span{display:block}.brand small{display:block;font:500 11px var(--f-body);color:var(--muted);margin-top:3px}
.links{display:flex;gap:4px}.links a{padding:8px 12px;border-radius:10px;text-decoration:none;font-weight:500;font-size:15px}.links a:hover{background:var(--soft)}
.grade{flex:none;width:42px;height:42px;border-radius:50%;border:3px solid var(--red);display:grid;place-items:center;font:700 20px var(--f-display);color:var(--red);transform:rotate(8deg);transition:border-color .3s,color .3s}
.grade.pop{animation:pop .5s}@keyframes pop{40%{transform:rotate(-10deg) scale(1.3)}}
.grade.five{border-color:var(--ok);color:var(--ok)}
.nav .btn{min-height:42px;padding:8px 16px;font-size:14px;box-shadow:3px 3px 0 var(--lime)}

/* Первый экран — постер. Одна смелая вещь на странице: живые буквы «ОГЭ МАТЕМАТИКА», которые плавятся
   под курсором или пальцем, со свечением лайма внутри. Вокруг тихо: мелкие пометки, штрихкод из 19 заданий,
   красная ручка преподавателя. */
.poster{--pink:#0F1D15;position:relative;margin:14px 0 0;min-height:max(560px,calc(100svh - 132px));max-height:940px;border:2px solid var(--pink);border-radius:24px;background:var(--bg);
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:12px clamp(12px,1.6vw,22px) clamp(14px,1.8vw,22px);overflow:hidden;isolation:isolate}
.ptop{display:flex;align-items:center;gap:14px;font:500 13px/1.2 var(--f-body);color:var(--pink)}
.ptop .gap{flex:1;height:2px;background:var(--pink);opacity:.9}
.ptop b{font:700 13px var(--f-display)}
.reg{width:18px;height:18px;flex:none;color:var(--pink)}
.pwm{position:relative;min-height:0;touch-action:pan-y;cursor:crosshair;-webkit-user-select:none;user-select:none}
.pwm canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .5s}
.pwm.ready canvas{opacity:1}.pwm.ready .pfb{visibility:hidden}
.pfb{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;font:900 clamp(56px,13vw,210px)/.8 var(--f-display);color:var(--pink);letter-spacing:-.04em;overflow:hidden}
.pfb span:last-child{font-size:.62em}
.ptry{position:absolute;right:clamp(4px,2vw,40px);top:-6px;z-index:2;font:700 clamp(22px,2.2vw,30px)/1 var(--f-hand);color:var(--red);transform:rotate(-6deg);pointer-events:none;display:flex;align-items:flex-end;gap:2px;transition:opacity .4s}
.ptry svg{width:46px;height:40px;margin-bottom:-18px}
.pwm.used .ptry{opacity:0}
.pbot{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) auto;gap:14px clamp(16px,2.4vw,36px);align-items:end}
.plead{margin:0;font-size:clamp(16px,1.35vw,19px);line-height:1.4;color:var(--pink);max-width:30em}
.plead b{font-weight:700}
.pbars{display:flex;align-items:flex-end;gap:0;margin-top:12px;height:38px}
.pbars button{flex:none;width:13px;height:100%;padding:0;border:0;background:none;cursor:pointer;display:flex;justify-content:center;align-items:flex-end}
.pbars button::before{content:"";display:block;width:var(--bw,3px);height:100%;background:var(--pink);transition:height .15s,background .15s}
.pbars button:nth-child(4n+2)::before{height:80%}.pbars button:nth-child(5n+3)::before{height:90%}
.pbars button:hover::before,.pbars button:focus-visible::before,.pbars button[aria-pressed=true]::before{background:var(--red);height:100%;width:5px}
.pbars button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.pbars .grp{width:10px}
.bout{display:block;font:500 13px/1.3 var(--f-body);color:var(--muted);min-height:1.3em;margin-top:6px}.bout b{color:var(--pink);font-weight:700}
.pme{display:flex;align-items:center;gap:12px;margin:0;font-size:14px;line-height:1.3;color:var(--muted)}
.pme img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--pink);background:var(--soft)}
.pme b{display:block;color:var(--pink);font-size:15px}
.pcta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.pcta .btn{min-height:60px;font-size:18px;padding:14px 28px;box-shadow:5px 5px 0 var(--lime)}
.pcta small{font-size:13px;color:var(--muted)}
.zero0{position:absolute;right:clamp(14px,3vw,52px);bottom:clamp(112px,15vh,150px);z-index:3;width:clamp(104px,10vw,138px);aspect-ratio:1;border-radius:50%;background:var(--lime);color:var(--lime-ink);
  display:grid;place-content:center;text-align:center;transform:rotate(-12deg);box-shadow:0 0 0 2px var(--lime-ink);text-decoration:none;transition:transform .2s}
.zero0 b{font:900 clamp(28px,2.9vw,40px)/1 var(--f-display);letter-spacing:-.03em}.zero0 span{font:600 12px/1.15 var(--f-body);margin-top:4px}
.zero0:hover{transform:rotate(-4deg) scale(1.05)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:900px){
  .poster{min-height:calc(100svh - 112px);max-height:none;border-radius:18px;padding:10px 12px 14px;grid-template-rows:auto minmax(260px,1fr) auto}
  .ptop{font-size:12px}.ptop .hide-m{display:none}
  .pbot{grid-template-columns:minmax(0,1fr);gap:12px}.pcta{align-items:stretch}.pcta .btn{width:100%;min-height:56px}.pcta small{text-align:center}
  .pme img{width:44px;height:44px}.pme{font-size:13px}
  .zero0{width:88px;bottom:auto;top:84px;right:8px}.zero0 span{font-size:11px}.zero0 b{font-size:26px}
  .ptop .brandm{display:none}.ptop span{white-space:nowrap}
  .ptry{top:auto;bottom:-4px;right:8px;background:var(--bg);padding:2px 8px 4px;border-radius:10px;transform:rotate(-3deg);font-size:21px}.ptry svg{display:none}
  .grade{display:none}}
/* Гибрид: рамка постера и живые буквы из нового дизайна, раскладка и Мэтью на параболе — из прежнего.
   Слева крючок «Дано», буквы, «без зубрёжки», одна фраза и кнопка; справа — задание 9, которое можно потрогать. */
.poster.hyb{min-height:0;max-height:none;grid-template-rows:auto auto auto;gap:14px;padding:12px clamp(14px,2vw,28px) clamp(14px,1.8vw,22px)}
.hgrid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(18px,3vw,48px);align-items:center;padding:clamp(6px,1.4vw,18px) 0 4px}
.hl{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.hdano{font-size:clamp(22px,2vw,27px);margin:0 0 8px}
.hyb .pwm{width:100%;height:clamp(150px,16vw,210px);margin:4px 0 0}
.hyb .pfb{font-size:clamp(44px,8vw,130px)}
.hyb .ptry{top:-30px;bottom:auto;right:0;font-size:22px}.hyb .ptry svg{width:34px;height:30px;margin-bottom:-14px}
.hbez{margin:14px 0 0;font:900 clamp(26px,3.2vw,44px)/1.1 var(--f-display);letter-spacing:-.02em;color:var(--pink)}
/* штамп учителя: слоган «Экзамен? ОК» */
.hok{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin:0 0 0 16px;padding:2px 12px 4px;border:3px solid var(--red);border-radius:14px;color:var(--red);font:700 clamp(24px,2.1vw,30px)/1.1 var(--f-hand);letter-spacing:0;transform:rotate(-7deg);white-space:nowrap}.hok svg{width:.9em;height:.9em;flex:none}
html.anim .hok{animation:stamp .45s 1.1s cubic-bezier(.3,1.6,.5,1) both}@keyframes stamp{from{opacity:0;transform:rotate(-7deg) scale(1.8)}to{opacity:1;transform:rotate(-7deg) scale(1)}}
@media (prefers-reduced-motion:reduce){html.anim .hok{animation:none}}
.hyb .plead{margin:14px 0 0;font-size:clamp(17px,1.5vw,20px);max-width:26em}
.hcta{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}
.hcta .btn{min-height:60px;font-size:18px;padding:14px 28px;box-shadow:5px 5px 0 var(--lime)}
.hcta small{font-size:13px;line-height:1.3;color:var(--muted)}
.routes{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.routes a{display:grid;gap:1px;padding:8px 14px 9px;border:2px solid var(--pink);border-radius:14px;text-decoration:none;color:var(--pink);background:var(--card);transition:transform .15s,box-shadow .15s}
.routes a:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--pink)}.routes a:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.routes b{font:700 15px var(--f-display)}
.hsheet{display:inline-flex;align-items:flex-end;gap:4px;margin-top:16px;font:700 22px/1.1 var(--f-hand);color:var(--red);text-decoration:none;transform:rotate(-1.5deg)}.hsheet svg{width:24px;height:28px;flex:none}.hsheet:hover{text-decoration:underline}.routes span{font-size:13px;color:var(--muted)}
.hr{position:relative;min-width:0;width:min(100%,430px);justify-self:center}
.hr .stage{margin-top:44px}
.hr .gx{margin-top:40px}
.hyb .zero0{right:-6px;top:6px;bottom:auto;width:clamp(96px,8.6vw,120px)}
.hyb .pbot{grid-template-columns:minmax(0,1fr) auto;align-items:end;border-top:2px solid var(--pink);padding-top:12px}
@media (max-width:900px){
  .poster.hyb{min-height:0;padding:10px 12px 14px;grid-template-rows:auto auto auto}
  .hgrid{grid-template-columns:minmax(0,1fr);gap:26px}
  .hyb .pwm{height:clamp(170px,52vw,250px)}
  .hyb .ptry{top:auto;bottom:-32px;right:4px}.hbez{margin-top:40px}
  .hcta{width:100%}.hcta .btn{flex:1 1 220px;min-height:56px}
  .routes{width:100%}.routes a{flex:1 1 140px}
  .hr{width:min(100%,420px)}.hr .stage{margin-top:40px}
  .hyb .zero0{width:84px;top:-4px;right:0}
  .hr .bubble{width:auto;max-width:min(260px,80vw);font-size:19px;top:-12%;white-space:normal}
  .hyb .pbot{grid-template-columns:minmax(0,1fr)}}
/* hero */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding-block:44px 44px}
.hero h1{font-size:clamp(40px,6.4vw,84px);letter-spacing:-.03em;line-height:1;margin:10px 0 20px}
.lead{font-size:clamp(17px,2.1vw,20px);max-width:32em;margin-bottom:24px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.trust{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:14px;color:var(--muted);padding:0;margin:0;list-style:none}
.trust li{display:flex;gap:8px;align-items:center}.trust li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);border:2px solid var(--ink)}
.rcol{justify-self:center;width:min(100%,500px)}.stage{position:relative;width:100%;aspect-ratio:480/460}
.gx{margin-top:44px;border:2px solid var(--line);border-radius:14px;background:var(--card);padding:12px 16px}.gx label{display:block;font-weight:700;font-size:15px;margin-bottom:2px}.gx b{font-family:var(--f-display);color:var(--ink)}.gx input{width:100%;height:44px;accent-color:var(--ink);cursor:pointer;margin:2px 0}.gx output{display:block;font-size:15px;color:var(--muted)}
.plane{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ax-l path{stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.curve-m{stroke:var(--lime);stroke-width:20;stroke-linecap:round}.curve{stroke:var(--ink);stroke-width:4.5;stroke-linecap:round}
.curve,.curve-m{stroke-dasharray:1;stroke-dashoffset:0;animation:draw 2s .3s cubic-bezier(.5,0,.2,1) both}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.roots circle{fill:var(--red);stroke:var(--bg);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:dot .5s 1.9s cubic-bezier(.3,1.8,.5,1) both}
.roots text{font:700 24px var(--f-hand);fill:var(--red);animation:fade .6s 2.2s both}.roots .vx{font:500 13px var(--f-body);fill:var(--muted)}
@keyframes dot{from{transform:scale(0)}to{transform:scale(1)}}@keyframes fade{from{opacity:0}to{opacity:1}}
.stage .axo{position:absolute;left:12%;top:0;width:76%;z-index:2}
.rise{animation:rise .7s both}.rise.d1{animation-delay:.12s}.rise.d2{animation-delay:.24s}.rise.d3{animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.axo{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;transition:transform .15s}
/* Мэтью: сначала картинка, поверх неё потом проявляется живой 3D */
.mt{position:relative;display:block;aspect-ratio:400/440}
.mt img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .5s}
.mt canvas{position:absolute;inset:0;opacity:0;transition:opacity .5s}.mt.live canvas{opacity:1}.mt.live img{opacity:0}
.bubble{position:absolute;z-index:3;left:50%;top:-9%;margin-left:-125px;width:250px;max-width:250px;background:var(--card);color:var(--text);border:3px solid var(--line);border-radius:18px 18px 18px 4px;padding:10px 14px;font:700 22px/1.1 var(--f-hand);box-shadow:4px 4px 0 var(--lime-ink);transform:rotate(2deg)}
.hint{position:absolute;left:0;right:0;bottom:-26px;text-align:center;font:700 20px var(--f-hand);color:var(--muted)}

.o2{stroke:#0F3325;stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}
.o{stroke:#12392A;stroke-width:5;stroke-linejoin:round;stroke-linecap:round}

section{padding-top:72px}
section::before{content:"";display:block;height:14px;margin-bottom:28px;opacity:.55;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 28px) left bottom/100% 12px no-repeat,linear-gradient(var(--ink),var(--ink)) left bottom/100% 2px no-repeat}
.band{background:var(--deep);box-shadow:0 0 0 100vmax var(--deep);clip-path:inset(0 -100vmax);color:var(--on-deep);padding-bottom:84px;margin-top:84px}
.band::before{background:repeating-linear-gradient(90deg,var(--lime) 0 2px,transparent 2px 28px) left bottom/100% 12px no-repeat,linear-gradient(var(--lime),var(--lime)) left bottom/100% 2px no-repeat;opacity:.8}
.band .sec-h{color:var(--on-deep)}.band .hand{color:#FF9A8B}.band .sec-p{color:#CFE3D6}.band .mk{color:var(--on-deep)}
.two{display:grid;grid-template-columns:5fr 6fr;gap:40px;align-items:start}
.rows{border-top:3px solid var(--line)}.rows div{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:18px 0;border-bottom:2px solid var(--line)}.rows b{font:700 19px/1.2 var(--f-display);color:var(--ink)}.rows span{color:var(--text)}
.tasks{list-style:none;margin:0;padding:0;counter-reset:t;display:grid;gap:10px}
.task{counter-increment:t;display:grid;grid-template-columns:auto minmax(0,1fr) max-content;gap:6px 14px;align-items:center;padding:12px 14px;border:2px solid var(--line);border-radius:14px;background:var(--card);transition:border-color .2s,background .2s}
.task::before{content:counter(t);font:700 13px var(--f-display);color:var(--muted);width:26px}
.tq{font:700 20px var(--f-display);color:var(--ink);overflow-wrap:anywhere}.ta{display:flex;gap:8px;align-items:center}
.ta input{flex:none;width:120px;min-height:46px;padding:6px 12px;border:2px solid var(--line);border-radius:12px;font:600 19px var(--f-body);background:var(--bg);color:var(--text);transition:box-shadow .15s,border-color .15s}
.ta input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--lime)}
.ta .btn{min-height:46px;padding:6px 16px;font-size:15px;box-shadow:3px 3px 0 var(--lime)}
.tf{grid-column:2/4;font-size:17px;font-weight:500;min-height:0;color:var(--muted)}.task.ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--card))}.task.ok .tf{color:var(--ok);font-weight:700}
.task.bad{animation:nope .35s}.task.bad .tf{color:var(--red)}@keyframes nope{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.sr{position:absolute;left:-9999px}.hwbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px}
@media (hover:hover){.note:hover{transform:rotate(0) translateY(-4px)}.note{transition:transform .2s}.st:hover b{color:var(--lime)}.st b{transition:color .25s}.mods li:hover:not(.now){background:var(--card)}.sub button:hover:not([aria-selected=true]),.chl button:hover:not([aria-selected=true]){background:var(--soft)}summary:hover{color:var(--red)}.vp:hover .play{transform:scale(1.1)}.play{transition:transform .2s}.photo{transition:transform .3s}.photo:hover{transform:rotate(3deg) scale(1.04)}}
.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--lime)}.btn.lime:active{box-shadow:0 0 0 var(--lime-ink)}
.btn.busy{pointer-events:none}.btn.busy::after{content:"";width:16px;height:16px;border-radius:50%;border:3px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
dialog input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--lime)}
.sec-h{font-size:clamp(28px,4.2vw,46px);margin:6px 0 14px}.sec-p{max-width:38em;margin-bottom:28px}
.know{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.note{background:var(--card);border:2px solid var(--line);border-radius:4px 16px 16px 16px;padding:18px 18px 16px;position:relative}
.note:nth-child(2){transform:rotate(1deg)}.note:nth-child(1){transform:rotate(-1deg)}.note:nth-child(3){transform:rotate(-.5deg)}
.note q{font:700 24px/1.15 var(--f-hand);color:var(--red);quotes:"«" "»";display:block;margin-bottom:8px}
.note p{margin:0;font-size:15px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.st{border-top:4px solid var(--line);padding-top:16px}
.st b{display:block;font:700 72px/1 var(--f-display);color:transparent;-webkit-text-stroke:2.5px var(--ink);margin-bottom:10px}
.st h3{font-size:22px;margin-bottom:8px}.st p{margin:0}
@media (max-width:760px){.st{display:grid;grid-template-columns:52px 1fr;column-gap:12px;padding-top:12px}.st b{grid-row:1/3;font-size:48px;margin:0}.st h3{font-size:19px;margin:2px 0 4px}}

/* cabinet */
.app{color:var(--text);background:var(--card);border:3px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:10px 10px 0 var(--lime)}
.bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--deep);padding:10px 14px}
.dots{display:flex;gap:6px;margin-right:8px}.dots i{width:11px;height:11px;border-radius:50%;background:#E8F3E3;opacity:.35}
.bar [role=tab]{font:600 14px var(--f-body);background:none;border:0;color:var(--on-deep);min-height:44px;padding:9px 14px;border-radius:10px;cursor:pointer}
.bar [role=tab][aria-selected=true]{background:var(--lime);color:var(--lime-ink)}
.me-chip{margin-left:auto;font-size:13px;color:var(--on-deep);opacity:.85}
.cab{display:grid;grid-template-columns:230px 1fr;min-height:420px}
.side{border-right:2px solid var(--line);padding:16px 12px;background:var(--soft);min-width:0}
.side h4{margin:0 0 10px;font:700 12px var(--f-display);letter-spacing:.08em;color:var(--ink)}
.mods{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto;display:grid;gap:4px}
.mods li{display:flex;gap:8px;align-items:center;padding:7px 8px;border-radius:10px;font-size:14px;line-height:1.25}
.mods li i{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font:700 11px var(--f-body);font-style:normal}
.mods li.done i{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.mods li.now{background:var(--card);font-weight:700;border:2px solid var(--line)}
.meter{height:12px;border-radius:8px;background:var(--card);border:2px solid var(--line);overflow:hidden;margin:12px 0 4px}
.meter i{display:block;height:100%;background:var(--ink);transition:width .6s}
.main{padding:20px;min-width:0}.main h3{font-size:20px;margin-bottom:12px}
.pn[hidden],.sp[hidden]{display:none}
.sub{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.sub button{min-height:44px;font:600 14px var(--f-body);border:2px solid var(--line);background:none;color:var(--ink);padding:8px 14px;border-radius:99px;cursor:pointer}
.sub button[aria-selected=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.sheet{background:#F7F2DD;color:#1c2b22;border-radius:12px;padding:0 0 14px;font-family:Georgia,"Times New Roman",serif;overflow:hidden;box-shadow:4px 4px 0 var(--soft);border:2px solid #d9d2b3}
.sheet .hd{background:#2d5a3d;color:#fff;padding:10px 16px;font-weight:700;font-size:13px;letter-spacing:.06em}
.sheet .bd{padding:12px 16px 0}.sheet .fm{font-size:22px;font-weight:700;margin:6px 0}.sheet p{margin:4px 0;font-size:14px}
.tbl{overflow-x:auto}.sheet table{border-collapse:collapse;font-size:12px;margin-top:8px}.sheet td{border:1px solid #bbb;padding:2px 7px;text-align:center}
.cols{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start}
.vp{position:relative;width:220px;max-width:100%;aspect-ratio:9/16;border-radius:20px;background:linear-gradient(170deg,#2f6b4a,#0f2e20);border:3px solid var(--line);overflow:hidden;box-shadow:6px 6px 0 var(--lime);display:grid;place-items:center;padding:0;color:#fff}
.vp video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0f2e20;z-index:3}
.vp .ax{position:absolute;bottom:40px;left:8%;width:84%;opacity:.95}.vp .ax img{width:100%;height:auto;display:block}
.vp .ch{position:absolute;top:12px;left:12px;font:700 12px var(--f-body);background:var(--lime);color:var(--lime-ink);padding:4px 10px;border-radius:99px;z-index:2}
.play{position:relative;z-index:2;width:58px;height:58px;border-radius:50%;background:var(--lime);color:var(--lime-ink);display:grid;place-items:center;font-size:20px;padding-left:3px;border:2px solid var(--lime-ink)}
.chl{display:grid;gap:8px;margin-top:10px}.chl button{text-align:left;font:600 15px var(--f-body);border:2px solid var(--line);background:none;color:var(--ink);padding:10px 14px;border-radius:12px;cursor:pointer}
.chl button[aria-selected=true]{background:var(--ink);color:var(--bg)}
.hw label{display:flex;gap:12px;align-items:center;margin:8px 0;cursor:pointer;min-height:44px}.hw input{width:22px;height:22px;accent-color:var(--ink);flex:none}
.msg{font:700 28px var(--f-hand);color:var(--ok);min-height:30px;margin-top:10px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stat{border:2px solid var(--line);border-radius:14px;padding:12px 14px}.stat b{display:block;font:700 26px var(--f-display);color:var(--ink)}.stat span{font-size:13px;color:var(--muted)}
.week{display:flex;gap:8px;align-items:flex-end;height:96px;margin:6px 0 20px}.week div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%;font-size:12px;color:var(--muted)}.week i{display:block;width:100%;max-width:34px;background:var(--ink);border-radius:6px 6px 2px 2px}
.row{display:grid;grid-template-columns:110px 1fr 44px;gap:10px;align-items:center;margin:8px 0;font-size:14px}.row .meter{margin:0}.row b{text-align:right}.row.weak .meter i{background:var(--red)}
.par{border:2px dashed var(--line);border-radius:16px;padding:16px 18px}.par p{margin:6px 0}

.cab.wide{grid-template-columns:1fr}.cab.wide .side{display:none}
.map{position:relative;margin:8px 0 18px;height:320px;border-bottom:2px solid var(--line)}
.map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.map .rt{fill:none;stroke:var(--line);stroke-width:2;stroke-dasharray:3 7;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.6}
.map .me{fill:none;stroke:var(--lime);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.nd{position:absolute;width:42px;height:42px;margin:0 0 -21px -21px;border-radius:50%;border:2px solid var(--line);background:var(--card);color:var(--ink);font:700 14px var(--f-display);cursor:pointer;display:grid;place-items:center;padding:0;transition:transform .15s}
.nd:hover{transform:scale(1.12)}
.nd:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.nd[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:scale(1.15)}
.nd.y{border-color:var(--ok)}.nd.c{border-width:3px;background:var(--lime);color:var(--lime-ink);border-color:var(--lime-ink)}.nd.c .fl{display:block}
.nd i{position:absolute;right:-6px;top:-8px;min-width:18px;height:18px;border-radius:9px;font:700 11px/18px var(--f-body);font-style:normal;color:#fff;background:var(--ok);display:none}
.nd.y i{display:block}
.nd .fl{position:absolute;left:-6px;bottom:calc(100% + 8px);transform:rotate(-3deg);font:700 22px/1 var(--f-hand);color:var(--red);white-space:nowrap;display:none;pointer-events:none}

.blk{position:absolute;top:calc(100% + 8px);font:700 13px var(--f-body);color:var(--muted);border-top:3px solid var(--line);padding-top:4px;letter-spacing:.03em}
.mp{border:2px solid var(--line);border-radius:18px;background:var(--card);padding:18px 22px;min-height:150px}
.mp h3{font-size:20px;margin-bottom:10px}.mp dl{margin:0;display:grid;gap:8px}.mp dt{font:700 12px var(--f-body);color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.mp dd{margin:0}
.mp .sx{margin-top:12px;font-weight:700}.lg{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:40px 0 14px}
.lg span{display:inline-flex;gap:6px;align-items:center}.lg b{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);display:inline-block}
.lg .y b{border-color:var(--ok);background:var(--ok)}.lg .c b{background:var(--lime);border-color:var(--lime-ink)}.lg .u b{border-style:dashed}
@media (max-width:760px){.map{height:auto;border:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px 6px;justify-items:center;padding-top:22px}
  .map svg,.blk{display:none}.cab.wide .main{padding:16px}.nd{position:relative;left:auto!important;bottom:auto!important;margin:0}.lg{margin-top:14px}}
.stk{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--lime);color:var(--lime-ink);border:2px solid var(--lime-ink);border-radius:14px;padding:12px 20px;font:700 15px var(--f-body);text-decoration:none;box-shadow:4px 4px 0 var(--ink);transform:translateY(120px);transition:transform .3s}
.stk.on{transform:none}
@media (max-width:760px){.stk{left:max(16px,env(safe-area-inset-left,0px));text-align:center}.toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}
.ph{margin-top:18px;border:2px dashed var(--line);border-radius:14px;padding:14px 16px}.ph p{margin:4px 0 10px}.phl{position:relative;cursor:pointer}.phl input{position:absolute;inset:0;opacity:0;cursor:pointer}.phl:focus-within{outline:3px solid var(--lime);outline-offset:2px}.phv{margin-top:10px}.phv img{display:block;max-width:100%;max-height:220px;border-radius:10px;border:2px solid var(--line)}
.rz{max-width:760px}.rz-t{font:700 22px/1.3 var(--f-display);color:var(--ink);margin:0 0 16px}
.rzs{border:2px solid var(--line);border-radius:16px;background:var(--card);padding:16px 20px;margin-bottom:12px;animation:rise .4s both}.rzs .n{font:700 13px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rzs p{margin:6px 0 10px}.rzs .ta{flex-wrap:wrap}.rzs .ex{color:var(--ok);font-weight:500}.rzs.ok{border-color:var(--ok)}.rzs.ok .ta{display:none}.rzs.bad{animation:nope .35s}.rzs .er{color:var(--red);font-size:17px;margin:0}
.rzs.fin{background:var(--lime);color:var(--lime-ink);border-color:var(--lime-ink)}.rzs.fin .n{color:var(--lime-ink)}.rzs.fin .hand{color:#A12218}
.cap{font-size:13px;color:var(--muted);margin-top:16px}
.dg{max-width:760px}
.dq{border:2px solid var(--line);border-radius:16px;background:var(--card);padding:18px 20px;margin:0 0 14px;min-inline-size:0}
.dq legend{font:700 13px var(--f-body);color:var(--muted);padding:0 8px;letter-spacing:.04em}
.dq .qt{font:700 20px/1.35 var(--f-display);color:var(--ink);margin:0 0 12px}
.dq .op{display:flex;flex-wrap:wrap;gap:8px}
.dq label{position:relative}
.dq input{position:absolute;opacity:0;inset:0;cursor:pointer}
.dq label span{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:2px solid var(--line);border-radius:12px;font-weight:600;color:var(--ink);cursor:pointer}
.dq input:checked+span{background:var(--ink);color:var(--bg)}
.dq input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}
.dq label.idk span{border-style:dashed;color:var(--muted)}
.dq input:checked+span{border-style:solid}
.dres{border:2px solid var(--line);border-radius:18px;padding:20px 22px;background:var(--card);box-shadow:6px 6px 0 var(--lime)}
.dres ul{list-style:none;margin:12px 0;padding:0;display:grid;gap:6px}
.dres li{display:flex;gap:10px;align-items:baseline;font-size:15px}.dres li b{flex:none;width:22px}
.dres li.y b{color:var(--ok)}.dres li.n b{color:var(--red)}.dres li.u b{color:var(--muted)}
.empty{border:2px dashed var(--line);border-radius:14px;padding:16px 18px;color:var(--muted)}
.mods li.lock{color:var(--muted)}
.mods li small{margin-left:auto;font-size:11px;color:var(--muted)}
.rst{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:500 13px var(--f-body);min-height:44px;padding:0}


/* демо-кабинет: как в настоящем — задача по одной, зачёт по типам, ошибки, тренажёр, прогресс */
.dbadge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border-radius:99px;background:var(--red);color:#fff;font:700 12px var(--f-body)}.dbadge[hidden],.dbadge:empty{display:none}
.dsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:2px solid var(--line);border-radius:14px;overflow:hidden}
.dsteps button{border:0;border-radius:0;min-height:46px;padding:6px 8px}.dsteps button+button{border-left:2px solid var(--line)}
.dz{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;align-items:center;border:2px solid var(--line);border-radius:16px;padding:12px 16px;background:var(--card);margin:0 0 14px}.dz.ok{border-color:var(--ok)}
.dzs{position:relative;width:76px;height:76px;color:var(--red);display:grid;place-items:center}.dz.ok .dzs{color:var(--ok)}.dzs .dring{position:absolute;inset:0}.dzs b{font:700 22px/1 var(--f-display);color:var(--ink);margin-top:-6px}.dzs span{position:absolute;bottom:17px;font-size:10px;color:var(--muted)}
.dzh{margin:0 0 4px;font:700 15px var(--f-display);color:var(--ink)}
.dzr{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px}.dzr li{display:flex;gap:6px;align-items:center}
.dzr i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--line) 40%,transparent);font:700 11px var(--f-body);font-style:normal}.dzr li.y i{background:var(--ok);border-color:var(--ok);color:#fff}
.dzt{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.dzt li{display:grid;grid-template-columns:auto auto;gap:3px 8px;padding:5px 9px;border:1.5px solid color-mix(in srgb,var(--line) 30%,transparent);border-radius:10px;font-size:12px;background:var(--bg)}
.dzt b{font:700 11px var(--f-display);color:var(--ink)}.dzt i{grid-column:1/-1;height:4px;border-radius:4px;background:var(--soft);overflow:hidden}.dzt em{display:block;height:100%;background:var(--ink)}.dzt li.y{border-color:var(--ok)}.dzt li.y em{background:var(--ok)}
.dstrip{display:flex;gap:6px;overflow-x:auto;padding:4px 4px 10px;margin:0 -4px 4px}
.dps{flex:none;position:relative;width:40px;height:40px;border-radius:10px;border:2px solid color-mix(in srgb,var(--line) 35%,transparent);background:var(--card);color:var(--ink);font:700 14px var(--f-display);cursor:pointer}
.dps.ok{background:var(--ok);border-color:var(--ok);color:#fff}.dps.bad{border-color:var(--red);color:var(--red)}.dps.rev{background:#FFF4C2;border-color:#C9A400;color:#3B3000}
.dps.cur{border-color:var(--ink);box-shadow:3px 3px 0 var(--lime)}.dps:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.dps.rp::after{content:"↻";position:absolute;top:-7px;right:-7px;width:16px;height:16px;border-radius:50%;background:#2C6CA3;color:#fff;font:700 10px/16px var(--f-body);text-align:center;border:2px solid var(--card)}
.dtc{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;border:2px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--card)}.dtc.ok{border-color:var(--ok)}.dtc.rev{border-color:#C9A400}
.dtc.shake{animation:nope .35s}.dtc.pop{animation:pop .5s}
.dth{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.dth h4{margin:0;font:700 15px var(--f-display);color:var(--ink)}.dth h4 span{display:block;font:500 12px var(--f-body);color:var(--muted);margin-top:2px}
.drp{flex:none;min-height:34px;font:600 12px var(--f-body);border:2px dashed color-mix(in srgb,var(--line) 45%,transparent);background:none;color:var(--muted);padding:3px 10px;border-radius:99px;cursor:pointer}.drp[aria-pressed=true]{border-style:solid;background:#D6ECFF;border-color:#2C6CA3;color:#0E2F4D}
.dqt{margin:0;font:600 20px/1.45 var(--f-display);color:var(--ink)}
.dans{display:flex;gap:10px;flex-wrap:wrap}.dans input{width:150px;min-height:48px;padding:6px 10px;border:2px solid var(--line);border-radius:12px;font:700 18px var(--f-display);text-align:center;background:var(--bg);color:var(--ink)}
.dans input::placeholder{font:500 15px var(--f-body);color:var(--muted)}.dans input:focus{outline:3px solid var(--lime)}.dans .btn{min-height:48px;box-shadow:3px 3px 0 var(--lime)}
.dfb{margin:0;font-size:14px}.dfb:empty{display:none}.dfb.ok{color:var(--ok);font-weight:700}.dfb.bad{color:var(--red)}.dfb.rev{background:#FFF4C2;color:#3B3000;border-radius:10px;padding:8px 12px}
.dtools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dtl{min-height:38px;border:2px solid color-mix(in srgb,var(--line) 40%,transparent);background:none;color:var(--ink);border-radius:99px;padding:4px 12px;font:600 13px var(--f-body);cursor:pointer}.dtl:disabled{opacity:.45;cursor:not-allowed}.dtl[aria-expanded=true]{background:color-mix(in srgb,var(--lime) 45%,var(--card));border-color:var(--lime-ink)}
.dlk{font-size:12px;color:var(--muted)}
.dhint{background:color-mix(in srgb,var(--lime) 22%,var(--card));border-left:4px solid var(--lime-ink);border-radius:10px;padding:8px 12px;font-size:14px}
.dsol{background:var(--soft);border-radius:12px;padding:10px 14px;font-size:14px}.dsol p{margin:2px 0}.dsol b{font:700 18px var(--f-display);color:var(--ink)}
.dsim{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.dsim span{font-size:12px;color:var(--muted)}.dsim .btn{min-height:44px}
.dnav{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1.5px dashed color-mix(in srgb,var(--line) 30%,transparent);padding-top:10px}.dnav .btn{min-height:40px;font-size:13px;padding:4px 12px;box-shadow:none}.dnav span{font-size:13px;color:var(--muted);white-space:nowrap}
.dinfo{margin:0 0 12px;color:var(--muted);font-size:14px}
.dtv{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;align-items:center;border:2px solid var(--line);border-radius:14px;padding:12px 14px;background:color-mix(in srgb,var(--lime) 20%,var(--card));margin:0 0 12px}.dtv b{display:block;font:700 16px var(--f-display);color:var(--ink)}.dtv span{font-size:13px}
.dtb{border:2px solid var(--line);border-radius:14px;padding:12px 14px}.dtb>b{font:700 16px var(--f-display);color:var(--ink)}.dtb ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.dtb label{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600;padding:4px 0}.dtb input{width:20px;height:20px;accent-color:var(--ink)}.dtb small{margin-left:auto;color:var(--muted);font-weight:500}
.dn{display:inline-grid;place-items:center;min-width:32px;height:26px;padding:0 6px;border-radius:7px;background:var(--ink);color:var(--bg);font:700 12px var(--f-display);flex:none}
.dk{display:flex;gap:14px;align-items:center;background:var(--deep);color:var(--on-deep);border-radius:14px;padding:12px 16px;margin-bottom:10px}
.dkr{position:relative;width:70px;height:70px;color:var(--lime);display:grid;place-items:center;flex:none}.dkr .dring{position:absolute;inset:0}.dkr b{font:700 22px var(--f-display);color:#fff}
.dkt{display:block;font:700 17px var(--f-display);color:#fff}.dk span{font-size:13px;opacity:.85}
.dks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.dks div{border:2px solid var(--line);border-radius:12px;padding:8px 10px}.dks b{display:block;font:700 22px var(--f-display);color:var(--ink)}.dks span{font-size:12px;color:var(--muted)}
.dg2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:10px}
.dbx{border:2px solid var(--line);border-radius:14px;padding:10px 12px;min-width:0}.dbh{display:block;font:700 15px var(--f-display);color:var(--ink);margin-bottom:8px}
.dtips{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}.dtips li{display:flex;gap:8px;align-items:center}.dtips i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font:700 12px var(--f-body);font-style:normal;flex:none}
.dtips .ty{background:var(--lime);color:var(--lime-ink)}.dtips .er{background:#FFD9D4;color:#5A120A}.dtips .go{background:var(--ink);color:var(--bg)}
.dcal{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,11px);grid-template-columns:repeat(18,11px);gap:3px;overflow:hidden}.dcal i,.dcl i{display:block;width:11px;height:11px;border-radius:3px;background:var(--soft)}
.dcal .dl1,.dcl .dl1{background:#C9E6B8}.dcal .dl2,.dcl .dl2{background:#8DCB78}.dcal .dl3,.dcl .dl3{background:#3F9E5A}.dcal .dl4,.dcl .dl4{background:var(--ok);box-shadow:inset 0 0 0 1.5px var(--ink)}
.dcl{display:flex;gap:3px;align-items:center;font-size:11px;color:var(--muted);margin-top:6px}
.dbars{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dbars li{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(50px,120px) 28px;gap:10px;align-items:center;font-size:14px;font-weight:600}
.dbb{height:8px;border-radius:99px;background:var(--soft);overflow:hidden}.dbb i{display:block;height:100%;background:var(--ink);border-radius:99px}.dbars b{font:700 13px var(--f-display);text-align:right}
.dmh{font:700 17px var(--f-display);color:var(--ink);margin:22px 0 4px}
@media (max-width:520px){#kabinet .bar .dots,#kabinet .me-chip{display:none}#kabinet .bar{flex-wrap:nowrap;gap:2px;padding:8px}#kabinet .bar [role=tab]{padding:8px;font-size:13px;white-space:nowrap}}
@media (max-width:760px){.dg2{grid-template-columns:minmax(0,1fr)}.dans input{flex:1 1 120px;width:auto;min-width:0}.dans .btn{flex:1 1 120px}.dqt{font-size:18px}.dsteps button{font-size:12px;padding:4px}.dbars li{grid-template-columns:34px minmax(0,1fr) 50px 24px}}
.dtb li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:4px 0;font-size:14px}.dtt{font-weight:600;min-width:0}.dtt small{display:block;font-weight:500;font-size:12px;color:var(--muted)}
.dstp{display:inline-flex;align-items:center;border:2px solid color-mix(in srgb,var(--line) 40%,transparent);border-radius:12px;overflow:hidden;background:var(--card)}.dstp.on{border-color:var(--ink);background:color-mix(in srgb,var(--lime) 35%,var(--card))}
.dstp button{width:34px;height:38px;border:0;background:none;font:700 17px var(--f-body);color:var(--ink);cursor:pointer}.dstp input{width:42px;height:38px;border:0;text-align:center;font:700 15px var(--f-display);background:transparent;color:var(--ink);-moz-appearance:textfield;appearance:textfield}.dstp input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dstp input:disabled{opacity:.4}
.dsum{display:flex;justify-content:space-between;align-items:center;gap:10px;border:2px solid var(--line);border-radius:12px;padding:8px 12px;margin-top:10px}.dsum b{font:700 18px var(--f-display);color:var(--ink)}
.dchp{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.dchp span{background:rgba(255,255,255,.12);border-radius:8px;padding:3px 10px;font-size:13px}
.dch{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dch p{margin:0;font-weight:600;font-size:14px}.dch p b{font:700 18px var(--f-display);color:var(--ok)}
.dcn{display:flex;align-items:center;gap:2px;font-weight:700;font-size:14px;color:var(--ink)}.dcn span{min-width:76px;text-align:center}.dcn button{width:30px;height:30px;border:0;border-radius:8px;background:none;font-size:20px;color:var(--ink);cursor:pointer}.dcn button:disabled{opacity:.3;cursor:default}
.dwk,.dcg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;justify-items:center}.dwk{font-size:10px;color:var(--muted)}
.dcg .cd{display:grid;place-items:center;width:100%;max-width:30px;aspect-ratio:1;border-radius:50%;background:var(--soft);font:600 11px var(--f-body);color:var(--muted)}.dcg .cd.a1{background:color-mix(in srgb,var(--lime) 70%,var(--card));color:var(--lime-ink)}.dcg .cd.a2{background:var(--ok);color:#fff}.dcg .cd.td{box-shadow:0 0 0 2px var(--ink)}.dcg .cd.fu{background:none;opacity:.45}
.dcl{display:flex;gap:12px}.dcl span{display:inline-flex;gap:5px;align-items:center}.dcl i{width:10px;height:10px;border-radius:50%}.dcl .a1{background:color-mix(in srgb,var(--lime) 70%,var(--card))}.dcl .a2{background:var(--ok)}
.dall{list-style:none;margin:0;padding:0;display:grid;gap:2px}.drow{all:unset;box-sizing:border-box;display:grid;grid-template-columns:40px minmax(0,1fr) minmax(40px,110px) 56px 12px;gap:10px;align-items:center;width:100%;padding:5px 6px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600}
.drow:hover,.dall li.open .drow{background:var(--soft)}.drow:focus-visible{outline:3px solid var(--red)}.drow b{font:700 13px var(--f-display);text-align:right;color:var(--ink)}.drow b small{font-size:11px;color:var(--muted)}.dall li.lk .dtt,.dall li.lk b{color:var(--muted);font-weight:600}
.dbb.none{background:none}.dcv{font-size:11px;color:var(--muted)}.dall li.open .dcv{transform:rotate(180deg)}
.dexp{padding:6px 8px 10px 56px;font-size:13px}.dexp p{margin:4px 0}.dty{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}.dty li{display:grid;grid-template-columns:minmax(0,1fr) 90px 44px;gap:8px;align-items:center}.dty b{font:700 12px var(--f-display);text-align:right}
.dzt li:has(button){border-color:var(--ink);cursor:pointer}.dzt button{all:unset;cursor:pointer;font-weight:600;text-decoration:underline dotted;text-underline-offset:3px}.dzt button:focus-visible{outline:3px solid var(--red)}
@media (max-width:520px){.drow{grid-template-columns:34px minmax(0,1fr) 50px 10px}.drow .dbb{display:none}.dexp{padding-left:8px}}
/* compare, parents, teacher */
#sravnenie .cmp{margin-top:22px}
.cmp{overflow-x:auto;border:3px solid var(--line);border-radius:18px;background:var(--card)}
.cmp table{width:100%;min-width:620px;border-collapse:collapse}
.cmp th,.cmp td{padding:14px 16px;text-align:left;border-bottom:2px solid var(--line);vertical-align:top;font-size:15px}
.cmp tr:last-child td{border-bottom:0}.cmp th{font:700 13px var(--f-display);color:var(--ink)}
.cmp td:first-child{font-weight:700;color:var(--ink)}.cmp .us{background:color-mix(in srgb,var(--lime) 35%,transparent)}
.yes{color:var(--ok);font-weight:700}.no{color:var(--red);font-weight:700}.part{color:var(--muted);font-weight:700}
.rep-demo{margin-top:18px;border:2px dashed var(--line);border-radius:18px;padding:16px 20px;background:var(--card);max-width:640px}.rep-demo ul{margin:8px 0;padding-left:20px}.rep-demo span{font-size:13px;color:var(--muted)}
.par3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pc{border:2px solid var(--line);border-radius:18px;padding:20px;background:var(--card)}.pc h3{font-size:18px;margin-bottom:8px}.pc p{margin:0;font-size:15px}
.teach{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:start}
.photo{width:136px;height:136px;border-radius:50%;object-fit:cover;border:4px solid var(--line);transform:rotate(-5deg);background:var(--soft)}
.facts{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0;padding:0;list-style:none}.facts li{background:var(--lime);color:var(--lime-ink);border:2px solid var(--lime-ink);border-radius:99px;padding:6px 14px;font-weight:700;font-size:14px}
.rv{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.rv figure{margin:0;background:var(--card);border:2px solid var(--line);border-radius:4px 18px 18px 18px;padding:16px 18px}.rv blockquote{margin:0 0 8px}.rv figcaption{font:700 22px var(--f-hand);color:var(--red)}

/* offer, faq, answer */
.offer{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.big-card{background:var(--deep);color:var(--on-deep);border-radius:22px;padding:30px}.big-card h2{color:var(--lime);font-size:clamp(26px,3.6vw,40px);margin-bottom:12px}.big-card p{margin:0 0 12px}
.ask{background:var(--card);border:3px solid var(--line);border-radius:22px;padding:26px}.ask ol{margin:0;padding-left:22px}.ask li{margin:10px 0}
details{border-top:3px solid var(--line)}details:last-of-type{border-bottom:3px solid var(--line)}
summary{cursor:pointer;font:700 18px/1.25 var(--f-display);color:var(--ink);padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font:500 30px/1 var(--f-body);transition:transform .2s;flex:none}
details[open] summary::after{transform:rotate(45deg)}details>div{padding:0 0 18px;max-width:44em}details ul{margin:0;padding-left:20px}
.ans{margin-top:84px;background:var(--deep);color:var(--on-deep);border-radius:28px;padding:44px 28px;display:grid;grid-template-columns:1fr 240px;gap:24px;align-items:center}
.ans h2{color:var(--lime);font-size:clamp(30px,5vw,56px);margin:6px 0 14px}.ans .hand{color:#FF8F80}.ans p{max-width:30em}
.ans .ax{width:100%}
footer{padding-block:34px 90px;font-size:14px;color:var(--muted)}footer a{color:inherit}footer .req{margin:10px 0 0}
.ck{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;max-width:420px;display:flex;gap:12px;align-items:center;background:var(--card);color:var(--text);border:2px solid var(--line);border-radius:14px;padding:10px 12px;font-size:13px;box-shadow:0 8px 24px rgba(8,20,14,.18)}
.ck .btn{min-height:38px;font-size:13px;padding:6px 14px;box-shadow:none;flex:none}.ck a{color:inherit}
@media (max-width:760px){.ck{right:max(16px,env(safe-area-inset-right,0px));max-width:none;bottom:calc(80px + env(safe-area-inset-bottom,0px));padding:6px 8px 6px 12px;font-size:12px;line-height:1.35;border-width:1.5px;box-shadow:0 4px 14px rgba(8,20,14,.14)}.ck .btn{min-height:34px;padding:4px 12px}}
footer{padding-bottom:150px}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:12px;font-weight:500;opacity:0;pointer-events:none;transition:.3s;z-index:80;max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
dialog{border:3px solid var(--line);border-radius:22px;padding:24px;max-width:430px;width:calc(100% - 32px);background:var(--card);color:var(--text)}
dialog::backdrop{background:rgba(8,20,14,.7)}
dialog h3{font-size:22px;margin-bottom:8px}dialog label{display:block;margin:12px 0 4px;font-weight:500;font-size:15px}
dialog input[type=text],dialog input[type=email],dialog input[type=password]{width:100%;min-height:46px;padding:10px 12px;border-radius:10px;border:2px solid var(--line);font:inherit;background:var(--bg);color:var(--text)}
dialog .k{display:flex;gap:10px;font-size:14px;margin:14px 0;align-items:flex-start}dialog .k input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--ink)}
dialog .btn{width:100%}.x{float:right;background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:var(--ink);min-width:44px;min-height:44px}

@media (max-width:900px){.links{display:none}.hero{grid-template-columns:1fr;padding-top:24px}.rcol{order:-1;width:min(94%,420px);margin-top:64px}
  .bubble{right:auto;left:50%;top:-64px;margin:0;width:max-content;max-width:88vw;transform:translateX(-50%) rotate(-2deg)}.hint{bottom:-36px}.hero{padding-bottom:72px}}
@media (max-width:760px){
  section{padding-top:56px}.know,.steps,.par3,.offer,.rv,.teach,.ans,.cols,.file,.two{grid-template-columns:1fr}
  .task{grid-template-columns:auto minmax(0,1fr)}.ta{grid-column:1/3}.tf{grid-column:1/3}.ta input{flex:none;width:130px;min-width:0}.band{margin-top:64px;padding-bottom:64px}
  .cab{grid-template-columns:1fr}.side{order:2;border-right:0;border-top:2px solid var(--line)}.mods{max-height:150px}
  .stats{grid-template-columns:1fr}.row{grid-template-columns:90px 1fr 40px}.teach{justify-items:start}
  .ans{padding:30px 20px}.ans .ax{max-width:200px}.me-chip{display:none}.brand small{display:none}.vp{margin:0 auto}
  .app{box-shadow:6px 6px 0 var(--lime)}.note:nth-child(n){transform:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.plus{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}.pl{border:2px solid var(--line);border-radius:16px;background:var(--card);padding:14px 16px;display:flex;flex-direction:column;gap:6px;font-size:15px}
.pl b{font:700 16px/1.25 var(--f-display);color:var(--ink)}.pl>span{color:var(--muted)}.pl-mk{background:color-mix(in srgb,var(--lime) 22%,var(--card))}
.chips{display:flex;flex-wrap:wrap;gap:5px}.chips i{font:600 12px var(--f-body);font-style:normal;border:2px solid;border-radius:99px;padding:2px 8px}.chips .c1{background:#FFE89A;border-color:#B08A00;color:#3B3000}.chips .c2{background:#D6ECFF;border-color:#2C6CA3;color:#0E2F4D}.chips .c3{background:#FFD9D4;border-color:#C8372B;color:#5A120A}
@media (max-width:960px){.plus{grid-template-columns:1fr 1fr}}@media (max-width:620px){.plus{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.plus>div{scroll-snap-align:start}}

/* курс: живой пример объяснения */
.try{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:28px;align-items:center;margin-top:44px;border:2px solid var(--line);border-radius:22px;background:var(--card);padding:clamp(18px,2.6vw,32px)}
.try-t .hand{font-size:clamp(30px,3vw,40px);margin-bottom:8px}.try-t p{font-size:clamp(17px,1.5vw,20px);max-width:24em;margin:0}
.try-g .stage{width:min(100%,340px);margin:0 auto}.try-g .gx{margin-top:12px}
/* родителям: отчёт как сообщение в Telegram */
.pacc{margin-top:18px}.pacc details:last-of-type{border-bottom:3px solid var(--line)}.pacc summary{font-size:17px;padding:14px 0}
.tgm{margin:0;background:color-mix(in srgb,var(--soft) 70%,var(--card));border:2px solid var(--line);border-radius:26px;padding:14px;max-width:420px;justify-self:end;width:100%;transform:rotate(1.5deg)}
.tgh{display:flex;gap:10px;align-items:center;padding:4px 6px 12px;border-bottom:2px solid color-mix(in srgb,var(--line) 25%,transparent);margin-bottom:14px}
.tga{width:40px;height:40px;border-radius:50%;background:var(--lime);color:var(--lime-ink);display:grid;place-items:center;font:900 18px var(--f-display);flex:none}
.tgh b{display:block;font-size:15px;color:var(--ink)}.tgh small{font-size:12px;color:var(--muted)}
.tgmb{background:var(--card);border-radius:18px 18px 18px 4px;padding:12px 14px 8px;font-size:15px;line-height:1.45;box-shadow:0 1px 0 color-mix(in srgb,var(--line) 30%,transparent);position:relative}
.tgmb ul{margin:6px 0 4px;padding-left:18px}.tgmb time{display:block;text-align:right;font-size:11px;color:var(--muted)}
.tgm figcaption{font-size:13px;color:var(--muted);margin:10px 6px 0}
/* сравнение: переключатель */
.vs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;font-size:15px;color:var(--muted)}
.vs button{min-height:44px;padding:8px 16px;border-radius:99px;border:2px solid var(--line);background:none;color:var(--ink);font:600 15px var(--f-body);cursor:pointer}
.vs button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.cmp table{min-width:0}.cmp[data-vs=ai] .c-rep,.cmp[data-vs=rep] .c-ai{display:none}
@media (max-width:760px){.cmp[data-vs=all] table{min-width:560px}.cmp th,.cmp td{padding:12px}}
@media (max-width:600px){.cmp{overflow:visible}.cmp[data-vs=all] table,.cmp table{min-width:0}.cmp table,.cmp tbody,.cmp tr,.cmp td{display:block}.cmp thead{display:none}
  .cmp tr{border-bottom:2px solid var(--line);padding:10px 0}.cmp tr:last-child{border-bottom:0}.cmp td{border:0;padding:4px 14px;font-size:14px}.cmp td:first-child{font:700 16px var(--f-display);padding-bottom:6px}
  .cmp td[data-l]{position:relative;padding:5px 12px 5px 112px}.cmp td[data-l]::before{content:attr(data-l);position:absolute;left:14px;top:7px;width:92px;font-weight:700;color:var(--muted);font-size:12px}.cmp td.us{border-radius:8px;margin:0 6px}.cmp td.us::before{left:8px}
  .cmp[data-vs=ai] td.c-rep,.cmp[data-vs=rep] td.c-ai{display:none}}
/* преподаватель */
.teach2{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(20px,4vw,52px);align-items:start;margin-top:8px}
.tph-w{position:relative}.tph{width:100%;aspect-ratio:1;height:auto;object-fit:cover;border-radius:24px;border:3px solid var(--line);transform:rotate(-3deg);background:var(--soft);display:block}
.tph-n{position:absolute;right:-6px;bottom:-14px;font:700 30px/1 var(--f-hand);color:var(--red);transform:rotate(-8deg)}
.teach2 .sec-h{margin-top:0}.teach2 p{max-width:34em}
.more{margin-top:18px}.more summary{font-size:16px;padding:12px 0}
.pvb{margin-top:18px;display:flex;gap:14px;align-items:center;background:var(--ink);color:var(--bg);border:0;border-radius:16px;padding:12px 18px 12px 12px;cursor:pointer;text-align:left;font:inherit;box-shadow:5px 5px 0 var(--lime)}
.pvb b{display:block;font-size:16px}.pvb small{font-size:13px;opacity:.8}.pvb .play{width:48px;height:48px}
.pv-v{margin-top:18px;width:100%;max-width:640px;border-radius:16px;border:3px solid var(--line);background:#000;display:block}
.rvh{font-size:20px;margin:40px 0 14px}
.rvs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,32%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin}
.rvs figure{margin:0;scroll-snap-align:start;background:var(--card);border:2px solid var(--line);border-radius:4px 18px 18px 18px;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.rvs figure:nth-child(odd){transform:rotate(-.6deg)}.rvs figure:nth-child(even){transform:rotate(.6deg)}
.rvs blockquote{margin:0}.rvs figcaption{font:700 24px var(--f-hand);color:var(--red)}
/* набор: огромный ноль */
.zero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,4vw,56px);align-items:center}
.zbig{font:900 clamp(110px,17vw,230px)/.8 var(--f-display);letter-spacing:-.06em;color:var(--ink);background:radial-gradient(circle at 40% 55%,var(--lime) 0 22%,transparent 58%),var(--ink);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding:.06em 0}
.zero .sec-h{margin-top:0}.zero p{max-width:34em}
.how{list-style:none;counter-reset:h;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.how li{counter-increment:h;border-top:3px solid var(--line);padding-top:12px;display:grid;gap:4px;align-content:start}
.how li::before{content:counter(h);font:900 34px/1 var(--f-display);color:var(--ink)}
.how b{font:700 17px/1.25 var(--f-display);color:var(--ink)}.how span{font-size:15px}
@media (max-width:760px){.try,.teach2,.zero,.how{grid-template-columns:minmax(0,1fr)}.tgm{justify-self:stretch;transform:none;margin-top:8px}
  .tph-w{max-width:220px}.rvs{grid-auto-columns:minmax(250px,84%)}.zbig{font-size:clamp(96px,34vw,150px)}}
.dlhd{display:flex;justify-content:space-between;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-bottom:12px}.dlhd h3{margin:0}.dlmk{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.dlmk>span{font-size:12px;font-weight:600;color:var(--muted)}
.dmko{display:flex;gap:6px;flex-wrap:wrap}.dmkb{min-height:34px;font:600 12px var(--f-body);border:2px dashed color-mix(in srgb,var(--line) 50%,transparent);background:none;color:var(--muted);padding:3px 10px;border-radius:99px;cursor:pointer}
.dmkb:hover{border-color:var(--line);color:var(--ink)}.dmkb:focus-visible{outline:3px solid var(--red);outline-offset:2px}.dmkb[aria-pressed=true]{border-style:solid;color:var(--ink)}
.dmkb.dmk-fav[aria-pressed=true]{background:#FFE89A}.dmkb.dmk-again[aria-pressed=true]{background:#D6ECFF}.dmkb.dmk-hard[aria-pressed=true]{background:#FFD9D4}.dmko.sm{margin-top:8px}
.dmkr{display:inline-flex;gap:3px;margin-left:6px;vertical-align:1px}.dmkr i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;font:700 10px var(--f-body);font-style:normal}.dmb-fav{background:#FFE89A;color:#3B3000}.dmb-again{background:#D6ECFF;color:#0E2F4D}.dmb-hard{background:#FFD9D4;color:#5A120A}
.dmfl{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.dmfl button{min-height:34px;font:600 12px var(--f-body);border:2px solid var(--line);background:none;color:var(--ink);padding:3px 11px;border-radius:99px;cursor:pointer}.dmfl button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.dmfl button b{opacity:.7}.dmfl button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.mods li button{all:unset;box-sizing:border-box;display:flex;gap:8px;align-items:center;width:100%;cursor:pointer}.mods li button:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}
.d5l{font-size:12px;font-weight:600;color:var(--muted);margin:0 0 4px}.d5t{margin-bottom:10px}.d5t button{border-style:dashed}.d5t button[aria-pressed=true]{border-style:solid;background:var(--lime);color:var(--lime-ink);border-color:var(--lime-ink)}
.d5c{list-style:none;margin:0;padding:0;display:grid;gap:10px}.d5c li{display:grid;grid-template-columns:96px 1fr auto;gap:14px;align-items:center;border:2px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--card)}
.d5c img{width:96px;height:72px;object-fit:cover;object-position:top;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 30%,transparent);background:#fff}.d5c b{display:block;font:700 16px var(--f-display);color:var(--ink)}.d5c span{font-size:13px;color:var(--muted)}
.d5c i{display:block;height:6px;border-radius:99px;background:var(--soft);margin-top:6px;overflow:hidden;max-width:220px}.d5c i em{display:block;height:100%;background:var(--ok)}.d5c .btn{min-height:42px;font-size:14px;box-shadow:none}
.d5h{font:700 18px var(--f-display);margin:6px 0 8px;color:var(--ink)}.d5x{border:2px solid color-mix(in srgb,var(--line) 25%,transparent);border-radius:14px;padding:6px 14px;margin-bottom:12px;background:color-mix(in srgb,var(--soft) 55%,var(--card))}
.d5x summary{cursor:pointer;font-weight:700;padding:4px 0;font-size:15px}.d5x summary::after{font-size:22px}.d5x p{font-size:14px;margin:4px 0 8px}.d5x img{display:block;max-width:100%;max-height:420px;margin:0 auto 8px;background:#fff;border-radius:8px}
.dqt.dql{font:500 16px/1.5 var(--f-body);color:var(--text)}.d5tb{overflow-x:auto;margin:8px 0}.d5tb table{border-collapse:collapse;font-size:13px;min-width:100%}.d5tb th,.d5tb td{border:1.5px solid var(--line);padding:4px 7px;text-align:center}.d5tb th{background:var(--soft)}
.d5ph{font-size:13px!important;color:var(--muted);margin:0 0 6px!important}.d5pl{position:relative;max-width:100%}.d5pl img{display:block;width:100%;max-height:none!important;margin:0!important}
.d5lg{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px}.d5lc{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:1px 9px 1px 2px;border-radius:99px;border:2px solid var(--line);background:#fff;color:var(--ink);font:600 12px var(--f-body);cursor:pointer}
.d5lc b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:12px}.d5lc.no{border-style:dashed;color:var(--muted)}.d5lc.no b{background:var(--soft);color:var(--ink)}
.d5lc.ok{border-color:var(--ok);background:#E3F4D8;color:#0F4D2B}.d5lc.ok b{background:var(--ok)}.d5lc.bad{border-color:var(--red);background:#FFE3DF;color:#8E1E14}.d5lc.bad b{background:var(--red)}.d5lc.giv{background:var(--soft);color:var(--muted);border-color:rgba(18,57,42,.3);cursor:default}.d5lc.giv b{background:rgba(18,57,42,.45)}
.d5pb{position:absolute;width:max(22px,4.8%);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed rgba(200,55,43,.55);background:transparent;cursor:pointer;padding:0}.d5pb.ok{border:3px solid var(--ok)}.d5pb.bad{border:3px solid var(--red)}.d5pb.giv{border:2px solid rgba(18,57,42,.3);cursor:default}.d5pb:hover{background:rgba(200,55,43,.12)}.d5pb:focus-visible{outline:3px solid var(--red)}
.d5zz{all:unset;cursor:pointer;margin-top:6px;font:600 13px var(--f-body);text-decoration:underline;text-underline-offset:3px}
.d5zd{border:2px solid var(--line);border-radius:16px;padding:0;width:min(1100px,96vw);max-height:92vh;background:var(--card)}.d5zd::backdrop{background:rgba(15,46,32,.55)}.d5zh{display:flex;gap:10px;align-items:center;padding:8px 12px;border-bottom:1.5px solid rgba(18,57,42,.2)}.d5zh span{color:var(--muted);font-size:12px}.d5zh button{all:unset;cursor:pointer;margin-left:auto;font-size:24px;padding:0 8px}
.d5zb{overflow:auto;max-height:calc(92vh - 52px);padding:12px}.d5pl.big{width:max(100%,820px);max-width:none}
.d5pt{position:absolute;transform:translate(-50%,16px);font:700 13px/1.2 var(--f-body);padding:2px 7px;border-radius:7px;white-space:nowrap;pointer-events:none;background:#fff;border:1.5px solid var(--ink);color:var(--ink)}
.d5pt.t-r{transform:translate(18px,-50%)}.d5pt.t-l{transform:translate(calc(-100% - 18px),-50%)}.d5pt.t-b2{transform:translate(-50%,40px)}.d5pt.t-br{transform:translate(-8px,18px)}.d5pt.ok{background:#E3F4D8;border-color:var(--ok);color:#0F4D2B}.d5pt.bad{background:#FFE3DF;border-color:var(--red);color:#8E1E14}.d5pt.giv{background:var(--soft);color:var(--muted)}
.d5m{margin:8px 0;padding:8px 10px;border:2px solid var(--line);border-radius:12px;background:var(--card)}.d5m p{margin:0 0 6px!important}.d5mc{display:flex;flex-wrap:wrap;gap:6px}
.d5mc button{min-height:36px;font:600 13px var(--f-body);border:2px solid var(--line);background:none;color:var(--ink);padding:3px 11px;border-radius:99px;cursor:pointer}.d5mc button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.d5mc .d5y{background:var(--red);border-color:var(--red);color:#fff}.d5mc .d5c0{border-style:dashed;color:var(--muted)}
.d5f{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.d5f .btn{min-height:40px;font-size:13px;box-shadow:none}
.dnxw{margin:0 0 16px}.dnx{border:2px solid var(--line);border-radius:14px;background-color:#FFFEF8;background-image:linear-gradient(90deg,transparent 46px,rgba(200,55,43,.55) 46px,rgba(200,55,43,.55) 48px,transparent 48px),repeating-linear-gradient(180deg,transparent 0 31px,rgba(70,120,190,.22) 31px 32px);background-position:0 0,0 10px;padding:0 14px 6px 60px;box-shadow:3px 3px 0 var(--line);max-width:860px}
.dnx summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;padding:4px 0}.dnx summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);margin:-5px 8px 0 auto;font-size:0}.dnx[open] summary::after{transform:rotate(-135deg);margin-top:5px}
.dnx summary:focus-visible{outline:3px solid var(--red);outline-offset:4px;border-radius:6px}.dnxh{font:700 15px var(--f-display);color:var(--ink);white-space:nowrap}.dnxc{flex:1;min-width:0;color:var(--muted);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dnx ol{list-style:none;margin:0;padding:0 0 4px;display:grid}.dnx li{display:flex;gap:10px;align-items:flex-start;min-height:32px;line-height:32px}.dnxi{flex:0 0 22px;height:22px;margin-top:5px;margin-left:-36px;border:2px solid var(--ink);border-radius:5px;display:grid;place-items:center;font:700 12px/1 var(--f-body);color:var(--ink);background:var(--lime)}
.dnx li .dnxsw{all:unset;cursor:pointer;text-decoration:none;line-height:1!important;flex:none;margin-left:auto;font:600 12px/1 var(--f-body);color:var(--ink);border:1.5px solid rgba(18,57,42,.4);border-radius:99px;padding:5px 9px;align-self:center;white-space:nowrap;background:var(--card)}.dnxsw:focus-visible{outline:3px solid var(--red)}
.dnxr{margin:2px 0 4px;font-size:12px;line-height:20px}.dnxr a{color:var(--muted)}.dnx li.opt .dnxi{background:var(--card);border-style:dashed}.dnx li button{all:unset;cursor:pointer;font-size:16px;line-height:32px;color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent);text-underline-offset:4px}.dnx li.opt button{color:var(--muted)}.dnx li button:focus-visible{outline:3px solid var(--red);outline-offset:2px;border-radius:4px}
@media (max-width:600px){.dnx{padding-left:46px;background-image:linear-gradient(90deg,transparent 34px,rgba(200,55,43,.55) 34px,rgba(200,55,43,.55) 36px,transparent 36px),repeating-linear-gradient(180deg,transparent 0 31px,rgba(70,120,190,.22) 31px 32px)}.dnxi{margin-left:-32px;flex-basis:20px;height:20px}.dnx li button{font-size:15px;line-height:24px;padding:4px 0}.dnx li{line-height:24px}
  .dlmk{align-items:flex-start}.d5c li{grid-template-columns:72px 1fr}.d5c img{width:72px;height:56px}.d5c .btn{grid-column:1/-1}}
.dmg{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;margin-bottom:10px}.dmt{display:flex;gap:12px;align-items:center;border:2px solid var(--line);border-radius:14px;padding:10px 12px;background:#F2FAD9}.dmt p{margin:2px 0;font-size:14px}
.dmr{position:relative;width:64px;height:64px;color:var(--ok);flex:none}.dmr b{position:absolute;inset:0;display:grid;place-content:center;font:700 20px var(--f-display);color:var(--ink)}.dmr small{font-size:11px;color:var(--muted)}.dms{font-weight:700;color:var(--ink)}
.dmd .btn{min-height:40px;font-size:13px;margin-top:6px}.dok{color:var(--ok);font-size:12px;margin-left:6px}
.dbdg{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}.dbdg li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:6px;align-items:center;padding:6px 8px;border:1.5px dashed rgba(18,57,42,.3);border-radius:10px;color:var(--muted);font-size:12px}
.dbdg li span{grid-row:span 2;font-size:18px;filter:grayscale(1);opacity:.45}.dbdg li b{font-size:12px;line-height:1.2}.dbdg li small{font-size:11px}.dbdg li.got{border-style:solid;border-color:var(--line);background:#F2FAD9;color:var(--ink)}.dbdg li.got span{filter:none;opacity:1}
@media (max-width:760px){.dmg{grid-template-columns:minmax(0,1fr)}.dbdg{grid-template-columns:1fr 1fr}}

.pch{border:0;padding:0;margin:14px 0 0}.pch legend{font-weight:500;font-size:15px;margin-bottom:6px}.pch label{display:inline-flex!important;gap:6px;align-items:center;margin:0 14px 6px 0!important;font-weight:400!important}.pch input{width:18px;height:18px;accent-color:var(--ink)}
#reg select{width:100%;min-height:50px;padding:10px 12px;border-radius:10px;border:2px solid var(--line);font:inherit;font-size:17px;background:var(--bg);color:var(--text)}
.lnkbox{word-break:break-all;font-size:14px;background:var(--soft);padding:8px 10px;border-radius:8px}
.lnk-in{font-weight:700;font-size:14px;color:var(--ink);text-decoration:none;padding:8px 6px;white-space:nowrap}.lnk-in:hover{text-decoration:underline}
