/* «Создай себя сам» */
:root{
  --bg:#0a0818; --bg2:#140f33; --card:rgba(255,255,255,.055); --card2:rgba(255,255,255,.09);
  --line:rgba(255,255,255,.11); --tx:#f4f1ff; --mut:#a6a0c8; --acc:#ffcf5a; --acc2:#ff9a3c; --vio:#8f6bff;
  --r:18px; --hf:'Unbounded',system-ui,sans-serif; --bf:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--tx);font:17px/1.5 var(--bf);
  background:
    radial-gradient(900px 600px at 15% -10%,rgba(143,107,255,.22),transparent 60%),
    radial-gradient(800px 700px at 110% 30%,rgba(255,95,210,.10),transparent 60%),
    radial-gradient(700px 600px at 50% 120%,rgba(31,201,192,.12),transparent 60%),
    linear-gradient(180deg,#0d0a24,var(--bg) 40%);
  background-attachment:fixed;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.55;
  background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff8,transparent),radial-gradient(1px 1px at 70% 20%,#fff6,transparent),
  radial-gradient(1.5px 1.5px at 40% 80%,#fff5,transparent),radial-gradient(1px 1px at 85% 65%,#fff7,transparent),
  radial-gradient(1px 1px at 10% 70%,#fff5,transparent),radial-gradient(1.5px 1.5px at 60% 50%,#fff4,transparent);
  background-size:420px 420px;animation:drift 90s linear infinite}
@keyframes drift{to{background-position:420px -420px}}
#app{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:12px 16px calc(28px + env(safe-area-inset-bottom))}
a{color:var(--acc);cursor:pointer;text-decoration:none}
h1,h2,h3{font-family:var(--hf);font-weight:700;line-height:1.2;margin:.4em 0 .5em}
h2{font-size:1.25rem} h3{font-size:1rem;color:#e3dcff}
p{margin:.5em 0}
.mut{color:var(--mut)} .center{text-align:center} .tiny{font-size:.82rem}
.h{text-align:center;margin-top:1.1em}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
button:disabled{opacity:.45;cursor:default}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:16px;
  font-weight:800;color:#2a1600;background:linear-gradient(135deg,#ffe08a,var(--acc) 45%,var(--acc2));
  box-shadow:0 6px 22px -6px rgba(255,170,60,.6),inset 0 1px 0 rgba(255,255,255,.6);transition:transform .12s,filter .2s}
.btn:active{transform:scale(.97)} .btn:hover{filter:brightness(1.06)}
.btn.big{font-size:1.1rem;padding:16px 34px}
.btn.ghost{background:var(--card);color:var(--tx);border:1px solid var(--line);box-shadow:none;font-weight:700}
.btn.danger{color:#ff9aa9;border-color:rgba(255,120,140,.35)}
.row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:14px 0}
.row .btn{flex:1 1 auto;min-width:140px}
.ib{width:40px;height:40px;border-radius:12px;display:inline-grid;place-items:center;background:var(--card);border:1px solid var(--line);font-size:1.1rem}
.ib.sm{width:30px;height:30px;font-size:.9rem;border-radius:9px;vertical-align:middle;margin-left:4px}

/* шапка */
.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;margin:0 -16px 10px;padding:10px 16px;
  background:linear-gradient(180deg,rgba(10,8,24,.92),rgba(10,8,24,.7));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bt{flex:1;text-align:center;font-family:var(--hf);font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* вступление */
.intro{text-align:center;padding-top:18px}
.cave{position:relative;height:150px;margin-bottom:6px}
.fl{position:absolute;animation:float 6s ease-in-out infinite}
.f0{left:6%;top:40px}.f1{left:24%;top:4px;animation-delay:-1s}.f2{left:44%;top:60px;animation-delay:-2s}
.f3{left:62%;top:10px;animation-delay:-3s}.f4{left:80%;top:52px;animation-delay:-4s}.f5{left:34%;top:104px;animation-delay:-2.5s}.f6{left:70%;top:100px;animation-delay:-1.5s}
@keyframes float{50%{transform:translateY(-10px) rotate(6deg)}}
.logo{font-size:clamp(2.3rem,11vw,3.4rem);font-weight:800;margin:.1em 0 .25em;letter-spacing:-.02em;
  background:linear-gradient(120deg,#fff 10%,#ffd77a 45%,#ff7ad9 75%,#8fe9ff);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 24px rgba(255,190,90,.25))}
.lead{font-size:1.12rem;color:#e7e1ff;margin-bottom:18px}
.intro .qcard{text-align:left;margin:18px 0 22px}

/* цитата */
.qcard{margin:16px 0;padding:14px 16px 12px 18px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  border:1px solid var(--line);border-left:4px solid var(--c);position:relative}
.qcard blockquote{margin:0;font-style:italic;font-size:1.02rem;line-height:1.55}
.qcard blockquote::before{content:"«"} .qcard blockquote::after{content:"»"}
.qcard figcaption,.src{margin-top:8px;font-size:.82rem;color:var(--mut)}
.qcard.jy{border-left-style:dashed}
.qh{font-family:var(--hf);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-bottom:6px}

/* создание */
.steps{display:flex;gap:6px;justify-content:center;margin:4px 0 14px}
.steps i{width:38px;height:6px;border-radius:9px;background:var(--line)} .steps i.on{background:var(--acc)}
.inp{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.25);color:var(--tx);font:inherit;font-size:1.1rem;outline:none}
.inp:focus{border-color:var(--acc)}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{padding:10px 18px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700}
.pill.on{background:rgba(255,207,90,.16);border-color:var(--acc);color:#fff}
.dreams{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dr{padding:12px 6px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-size:.86rem;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.2}
.dr span{font-size:1.8rem} .dr.on{border-color:var(--acc);background:rgba(255,207,90,.14)}
.fdesc{border-left:3px solid var(--c);padding:6px 12px;background:var(--card);border-radius:10px}

/* рудник */
.hero{display:flex;gap:14px;align-items:center;margin-top:6px}
.ava{flex:none;width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-family:var(--hf);font-weight:800;font-size:1.6rem;
  background:radial-gradient(circle at 30% 25%,#fff4,transparent 60%),var(--c);color:#14102a;box-shadow:0 0 26px -4px var(--c)}
.who{flex:1;min-width:0}
.nm{font-family:var(--hf);font-weight:800;font-size:1.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk{color:#d7cfff;font-size:.9rem}
.fire{color:#ffb35a;font-weight:800}
.xpbar{height:8px;border-radius:9px;background:rgba(255,255,255,.1);margin:8px 0 4px;overflow:hidden}
.xpbar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--vio),#ff7ad9,var(--acc));transition:width .6s}
.xpt{font-size:.78rem;color:var(--mut)}
.mine{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gm{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 2px 8px;border-radius:16px;
  background:var(--card);border:1px solid var(--line);transition:transform .15s,border-color .2s}
.gm:active{transform:scale(.95)}
.gm.fc::after{content:"⭐";position:absolute;top:3px;right:5px;font-size:.7rem}
.gm.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent)}
.gn{font-size:.72rem;font-weight:700;line-height:1.15;text-align:center;color:#e8e3ff}
.dots{display:flex;gap:3px;margin-top:2px}
.dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.16)} .dots i.on{background:var(--c);box-shadow:0 0 6px var(--c)}
.gsvg{display:block;transition:filter .4s}
.gsvg.lv5{animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.06)}}
.tw{transform-origin:center;transform-box:fill-box;animation:tw 1.8s ease-in-out infinite}
.tw2{animation-delay:-.9s}
@keyframes tw{0%,100%{opacity:.15;transform:scale(.5)}50%{opacity:1;transform:scale(1.1)}}
.modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.mode{text-align:left;padding:14px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px;transition:transform .12s,background .2s}
.mode:hover{background:var(--card2)} .mode:active{transform:scale(.97)}
.mode.wide{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px}
.mode.wide small{flex-basis:100%;padding-left:46px;margin-top:-4px}
.me{font-size:1.7rem;line-height:1}
.mode b{font-family:var(--hf);font-size:.9rem;font-weight:700}
.mode small{color:var(--mut);font-size:.8rem}
.together{text-align:center;color:#cfc6f6;font-size:.88rem;margin:20px 6px 4px}
.together b{color:var(--acc)}
.foot{text-align:center;color:var(--mut);font-size:.82rem;margin-top:14px}

/* шторка */
.sheet-w{position:fixed;inset:0;z-index:50}
.sheet-bg{position:absolute;inset:0;background:rgba(5,3,15,.6);opacity:0;transition:opacity .25s}
.sheet{position:absolute;left:50%;bottom:0;width:min(560px,100%);max-height:88vh;overflow:auto;transform:translate(-50%,100%);transition:transform .3s cubic-bezier(.2,.9,.3,1);
  background:linear-gradient(180deg,#1c1544,#110c2a);border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}
.sheet-w.in .sheet-bg{opacity:1} .sheet-w.in .sheet{transform:translate(-50%,0)}
.sx{position:absolute;right:12px;top:12px}
.gs{text-align:left} .gs h2{text-align:center} .gs>.mut{text-align:center}
.gbig{display:grid;place-items:center;margin:4px 0}
.gbig .gsvg{animation:float 5s ease-in-out infinite}
.how{background:var(--card);border-radius:12px;padding:10px 12px}
.qmini{display:block;width:100%;text-align:left;padding:10px 12px;margin:6px 0;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:.9rem;font-style:italic;color:#e9e4ff}
.vtag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-weight:700;font-size:.85rem;
  background:color-mix(in srgb,var(--c,#ffcf5a) 18%,transparent);border:1px solid color-mix(in srgb,var(--c,#ffcf5a) 50%,transparent)}
div.vtag.center{display:flex;width:max-content;margin:6px auto}
.big-e{font-size:3rem;text-align:center;line-height:1.2}

/* списки глав */
.list{display:flex;flex-direction:column;gap:10px}
.chap,.st{display:flex;align-items:center;gap:12px;text-align:left;width:100%}
.chap.locked{opacity:.5}
.ce,.se{font-size:2rem;flex:none;width:44px;text-align:center}
.ct{flex:1;display:flex;flex-direction:column;min-width:0}
.ct b{font-family:var(--hf);font-size:.95rem;font-weight:700}
.ct small{color:var(--mut);font-size:.82rem}
.cn{font-weight:800;color:var(--acc)}
.pbar{height:6px;border-radius:9px;background:rgba(255,255,255,.1);margin-top:6px;overflow:hidden}
.pbar i{display:block;height:100%;background:linear-gradient(90deg,var(--vio),var(--acc))}
.go{font-size:1.6rem;color:var(--mut)} .ok{color:#7dffb2;font-weight:800}

/* история */
.story{text-align:left}
.se.big{font-size:4rem;width:auto;text-align:center;margin:6px 0 0;animation:float 5s ease-in-out infinite}
.story h2{text-align:center}
.stext{font-size:1.08rem;line-height:1.6;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.note{font-size:.88rem;color:#d7cfff;background:rgba(143,107,255,.12);border:1px solid rgba(143,107,255,.3);border-radius:12px;padding:10px 12px}
.choices{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.ch{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px;border-radius:16px;background:var(--card);border:1.5px solid var(--line);transition:border-color .2s,background .2s,transform .12s;line-height:1.4}
.ch:hover{border-color:rgba(255,207,90,.5)} .ch:active{transform:scale(.98)}
.ch.sel{border-color:var(--acc);background:rgba(255,207,90,.12)}
.ch.lockd:not(.sel){opacity:.75}
.cl{flex:none;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-family:var(--hf);font-size:.8rem;font-weight:800;background:rgba(255,255,255,.1)}
.ch.sel .cl{background:var(--acc);color:#2a1600}
.res{border-top:1px dashed var(--line);padding-top:10px}
.res .btn{width:100%;margin-top:10px}
.pop{animation:pop .45s cubic-bezier(.2,.9,.3,1.3)}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.98)}}
.out{font-size:1.04rem;background:rgba(255,255,255,.04);border-radius:14px;padding:12px 14px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px 5px 6px;border-radius:999px;font-size:.84rem;font-weight:800;
  background:color-mix(in srgb,var(--c) 20%,transparent);border:1px solid color-mix(in srgb,var(--c) 55%,transparent);animation:pop .5s backwards}
.chip:nth-child(2){animation-delay:.08s}.chip:nth-child(3){animation-delay:.16s}.chip:nth-child(4){animation-delay:.24s}
.chip.neg{filter:saturate(.3);opacity:.75}
.alt{background:var(--card);border-radius:14px;padding:12px;margin:8px 0;font-size:.95rem}
.alt p{margin:.3em 0;color:#ddd6ff}

/* дело дня */
.dcard{text-align:center;border-color:color-mix(in srgb,var(--c) 45%,transparent);background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--c) 20%,transparent),transparent 70%),var(--card)}
.dg{display:grid;place-items:center} .dv{font-family:var(--hf);font-weight:700;color:var(--c);margin-top:4px}
.dt{font-size:1.2rem;font-weight:700;line-height:1.4;margin:10px 4px}
.done{color:#7dffb2;font-weight:800;text-align:center}
.streak{text-align:center;margin:12px 0;color:#ffd6a0}
.refl{margin-top:18px} .refl label{display:block;margin:10px 0 4px;font-weight:700;font-size:.92rem}
textarea{width:100%;margin-top:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.25);color:var(--tx);font:inherit;font-size:.95rem;resize:vertical;outline:none}
textarea:focus{border-color:var(--acc)}
.refl .btn{width:100%;margin-top:12px}
.gpick{display:flex;flex-wrap:wrap;gap:6px}
.gp{padding:5px;border-radius:10px;border:1px solid var(--line);background:var(--card)} .gp.on{border-color:var(--acc);background:rgba(255,207,90,.16)}
.moods{margin:6px 0 4px}
.diary{margin-top:14px} .diary summary{cursor:pointer;color:var(--acc);font-weight:700}
.dent{border-top:1px solid var(--line);padding:8px 0;font-size:.9rem} .dent p{margin:.2em 0;color:#ddd6ff}

/* свайп */
.sw-start,.sw-end{padding:22px 18px}
.swhud{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin:4px 2px}
.combo{color:var(--acc);font-family:var(--hf);font-size:.9rem;min-width:50px;text-align:right}
.tbar{height:8px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden;margin:6px 0 14px}
.tbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff7a2e,var(--acc),#2edb8a)}
.deck{position:relative;height:250px;margin:6px 0 10px}
.scard{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:26px 22px;border-radius:24px;font-size:1.25rem;font-weight:800;line-height:1.35;
  background:linear-gradient(160deg,#2a2160,#18123b);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 40px -16px #000;touch-action:none;user-select:none;cursor:grab;
  transition:transform .28s ease,opacity .28s ease}
.scard.back{transform:scale(.94) translateY(12px);opacity:.5;pointer-events:none}
.scard .lab{position:absolute;top:14px;font-size:1.6rem;opacity:.25;transition:opacity .15s}
.scard .l{left:16px}.scard .r{right:16px}
.scard.hl .l,.scard.hr .r{opacity:1}
.scard.hl{border-color:#9b8f8f}.scard.hr{border-color:#7fe3ff}
.scard.okk{box-shadow:0 0 0 3px #2edb8a,0 0 40px #2edb8a88}
.scard.bad{box-shadow:0 0 0 3px #ff4d6d,0 0 40px #ff4d6d88}
.sw-btns .btn{font-size:1.05rem}
.btn.rock{background:linear-gradient(135deg,#8b8396,#5a536b);color:#fff;box-shadow:0 6px 20px -8px #000}
.btn.gemb{background:linear-gradient(135deg,#9ff3ff,#4d7cff 60%,#a970ff);color:#fff;box-shadow:0 6px 22px -6px rgba(77,124,255,.7)}
.miss{display:flex;flex-direction:column;gap:8px;text-align:left}
.mi{display:flex;gap:10px;align-items:flex-start;background:var(--card);border-radius:12px;padding:10px}
.mi>span{font-size:1.4rem} .mi small{display:block;color:var(--mut)}

/* огранка */
.pzt{min-height:120px;font-size:1.12rem;font-style:italic;line-height:1.55;margin:12px 0;transition:box-shadow .4s}
.pzt .ph{color:var(--mut)}
.pzt.solved{box-shadow:0 0 0 2px var(--acc),0 0 40px -6px rgba(255,207,90,.6)}
.pw{animation:pop .3s}
.pzp{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pc{padding:10px 14px;border-radius:14px;background:linear-gradient(160deg,#2b2264,#1b1440);border:1px solid rgba(255,255,255,.18);font-weight:700;font-size:.95rem;line-height:1.3;text-align:left;max-width:100%}
.pc:active{transform:scale(.96)}
.pc.hint{border-color:var(--acc);box-shadow:0 0 18px rgba(255,207,90,.7)}
.shake{animation:shake .35s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* сокровищница */
.filters{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 10px;margin:0 -16px;padding-left:16px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.fchip{flex:none;display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:.82rem}
.fchip.on{background:rgba(255,207,90,.16);border-color:var(--acc)}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qc{text-align:left;padding:12px;border-radius:14px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--c);display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:110px}
.qc .qt{font-size:.82rem;font-style:italic;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;color:#ece7ff}
.qc .qs{font-size:.72rem;color:var(--mut);font-weight:700}
.qc.lockq{align-items:center;justify-content:center;opacity:.55} .qc.lockq .qt{font-size:1.6rem;font-style:normal}

/* портрет */
.pcard{padding:8px;display:grid;place-items:center;min-height:200px}
.pcard img{width:100%;border-radius:12px;display:block}
.pcard img:not([src]){display:none}
.carpet{max-width:100%;height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bd{text-align:center;padding:10px 6px;border-radius:14px;background:var(--card);border:1px solid var(--line);opacity:.45}
.bd.on{opacity:1;border-color:rgba(255,207,90,.45);background:rgba(255,207,90,.08)}
.bd span{font-size:1.6rem;display:block} .bd b{display:block;font-size:.76rem;line-height:1.2} .bd small{display:block;font-size:.66rem;color:var(--mut);line-height:1.2;margin-top:2px}

/* об игре */
.about ul{padding-left:20px} .about li{margin:6px 0}

/* тост и искры */
.toast{position:fixed;left:50%;top:12px;z-index:80;display:flex;align-items:center;gap:12px;min-width:240px;max-width:min(92vw,420px);
  padding:10px 16px 10px 12px;border-radius:16px;background:linear-gradient(135deg,#2c2168,#1a1340);border:1px solid rgba(255,207,90,.45);
  box-shadow:0 12px 40px -10px #000;transform:translate(-50%,-140%);transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
.toast.in{transform:translate(-50%,0)}
.toast .ti{font-size:1.6rem;display:grid;place-items:center} .toast b{display:block;font-size:.95rem} .toast small{display:block;color:var(--mut);font-size:.8rem}
.spark{position:fixed;z-index:90;width:8px;height:8px;margin:-4px;background:var(--c);border-radius:2px;pointer-events:none;box-shadow:0 0 8px var(--c);
  animation:spark .9s ease-out forwards}
@keyframes spark{0%{transform:translate(0,0) rotate(0) scale(1);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(220deg) scale(.2);opacity:0}}

@media (min-width:600px){ .dreams{grid-template-columns:repeat(3,1fr)} .qgrid{grid-template-columns:1fr 1fr 1fr} }
@media (max-width:360px){ .mine{gap:6px} .gn{font-size:.66rem} .mode b{font-size:.82rem} }
@media (prefers-reduced-motion:reduce){ *,*::before{animation:none!important;transition:none!important} }

/* ── v2: секции, лента, развилки, викторины, пары, размышления ── */
.hsec{font-family:var(--hf);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:20px 4px 8px}
.hsec+.modes{margin-top:0}
.badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#ff4d6d;color:#fff;font-style:normal;font-size:.75rem;font-family:var(--bf);font-weight:800;vertical-align:middle;margin-left:4px}
.mode.hot{border-color:rgba(255,95,210,.5);background:linear-gradient(135deg,rgba(255,95,210,.14),rgba(143,107,255,.1))}
.step2{margin-top:14px;padding:12px;border-radius:16px;background:rgba(46,219,138,.06);border:1px dashed rgba(46,219,138,.35)}
.step2 .qh{color:#7dffb2}
.step2 .stext{background:transparent;border:0;padding:4px 0}
.qprog{display:flex;justify-content:space-between;font-weight:700;margin:4px 2px 6px}
.qask .qcard{margin-top:8px}
.qcard blockquote.open::after{content:""}
.qopts{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.qopts.grid{display:grid;grid-template-columns:1fr 1fr}
.qo{text-align:left;padding:12px 14px;border-radius:14px;background:var(--card);border:1.5px solid var(--line);font-size:.95rem;line-height:1.35;transition:border-color .2s,background .2s}
.qo.gq{display:flex;align-items:center;gap:8px;font-weight:800;border-color:color-mix(in srgb,var(--c) 45%,transparent)}
.qo.right{border-color:#2edb8a;background:rgba(46,219,138,.14)}
.qo.wrong{border-color:#ff4d6d;background:rgba(255,77,109,.14)}
.qo:disabled{opacity:1;cursor:default}
.qo:disabled:not(.right):not(.wrong){opacity:.55}
.bad{color:#ff8fa3;font-weight:800;text-align:center}
blockquote.full{margin:6px 0;font-style:italic;font-size:.95rem}
.scard.flat{position:relative;inset:auto;min-height:130px;margin:8px 0;cursor:default}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.mc{position:relative;aspect-ratio:3/4;border-radius:14px;perspective:600px;padding:0}
.mc .mb,.mc .mf{position:absolute;inset:0;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;backface-visibility:hidden;transition:transform .35s ease}
.mc .mb{background:linear-gradient(160deg,#2b2264,#18123b);border:1px solid rgba(255,255,255,.15)}
.mc .mf{transform:rotateY(180deg);background:linear-gradient(160deg,#241d50,#15103a);border:1.5px solid color-mix(in srgb,var(--c) 55%,transparent);font-size:.74rem;font-weight:700;line-height:1.25;text-align:center}
.mc .mf b{font-size:.78rem}
.mc.up .mb{transform:rotateY(180deg)} .mc.up .mf{transform:rotateY(0)}
.mc.ok .mf{box-shadow:0 0 0 2px var(--c),0 0 18px -2px var(--c)}
.tips{padding-left:20px;margin:6px 0} .tips li{margin:6px 0}
.gp.tg{display:flex;flex-direction:column;align-items:center;gap:2px;width:calc(25% - 5px)}
.gp.tg small{font-size:.62rem;color:#ddd6ff}
.think textarea{min-height:110px}
