:root{
  --bg1:#0b0a24;--bg2:#1a0d3a;--ink:#f3f1ff;--muted:#a9a3d6;--panel:rgba(255,255,255,.06);--line:rgba(255,255,255,.12);
  --cyan:#19e3ff;--mag:#ff3fb4;--gA:#19e3ff;--gT:#3d8bff;--gG:#a65cff;--gC:#ff3fb4;
  --grad:linear-gradient(90deg,#19e3ff,#7a5cff 50%,#ff3fb4);
}
body[data-theme="1"]{--bg1:#04202b;--bg2:#0b3a4a}
body[data-theme="2"]{--bg1:#1d0a24;--bg2:#3a1240}
body[data-theme="3"]{--bg1:#05040e;--bg2:#141235}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;height:100dvh;background:var(--bg1);color:var(--ink);overflow:hidden;
  font-family:"Rubik","Segoe UI",system-ui,-apple-system,"Noto Sans Hebrew",Arial,sans-serif}
body{background:radial-gradient(120% 80% at 50% -10%,var(--bg2),var(--bg1) 70%);transition:background .8s;
  user-select:none;-webkit-user-select:none;touch-action:manipulation}
#app{height:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;padding:max(8px,env(safe-area-inset-top)) 12px max(6px,env(safe-area-inset-bottom))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.brand{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;min-width:0}
.brand h1{font-size:20px;margin:0;font-weight:800;letter-spacing:.3px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;direction:ltr}
.mark{width:22px;height:22px;border-radius:7px;background:conic-gradient(from 200deg,#19e3ff,#7a5cff,#ff3fb4,#19e3ff);box-shadow:0 0 14px rgba(122,92,255,.6)}
.tools{display:flex;gap:6px;align-items:center}
.icon,.langsel select{height:36px;min-width:36px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:16px;font-weight:700;cursor:pointer;font-family:inherit}
.langsel select{padding:0 6px;appearance:none;-webkit-appearance:none;text-align:center}
.icon:focus-visible,.mode:focus-visible,.cta:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.modes{display:flex;gap:6px;margin:6px 0 4px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:4px}
.mode{flex:1;height:36px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:700;font-size:14px;line-height:1;font-family:inherit;cursor:pointer}
.mode small{font-weight:500;opacity:.8;font-size:11px}
.mode.on{background:var(--grad);color:#0b0a24;box-shadow:0 4px 16px rgba(255,63,180,.25)}
.challenge{margin:4px 0 0;padding:7px 12px;border-radius:12px;background:linear-gradient(90deg,rgba(25,227,255,.18),rgba(255,63,180,.18));border:1px solid rgba(255,255,255,.18);font-weight:700;font-size:14px;text-align:center}
.challenge.won{background:linear-gradient(90deg,rgba(25,227,255,.4),rgba(255,63,180,.4))}
.scorebar{display:flex;align-items:center;justify-content:space-between;margin:6px 2px 6px}
.sc{min-width:84px}.sc.best{text-align:end}
.lbl{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.val{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.05;direction:ltr;unicode-bidi:isolate}
.sc.best .val{font-size:20px;color:var(--muted)}
.val.bump{animation:bump .35s ease}
@keyframes bump{40%{transform:scale(1.18)}}
.chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;flex:1}
.chip{font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px;background:var(--panel);border:1px solid var(--line);white-space:nowrap}
.chip.streak{border-color:rgba(25,227,255,.6);color:#bff6ff}
.chip.growth{border-color:rgba(166,92,255,.7);color:#e2ccff}
.chip.gen{color:var(--muted)}
.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding-bottom:4vh}
.boardwrap{position:relative;touch-action:none}
.boardwrap.shake{animation:shake .38s}
@keyframes shake{20%{transform:translate(-5px,2px)}40%{transform:translate(4px,-3px)}60%{transform:translate(-3px,1px)}80%{transform:translate(2px,0)}}
#board{display:block;border-radius:18px;box-shadow:0 10px 40px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.08)}
.mutlabel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;text-align:center;opacity:0;white-space:nowrap}
.mutlabel.show{animation:mut 1.5s cubic-bezier(.2,.9,.3,1.2) forwards}
.mutlabel .m1{font-size:15px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.mutlabel .m2{font-size:44px;font-weight:900;line-height:1;margin:2px 0;-webkit-text-stroke:1px rgba(255,255,255,.5);text-shadow:0 0 24px currentColor,0 4px 0 rgba(0,0,0,.35)}
.mutlabel .m3{font-size:15px;font-weight:700;color:#fff;background:rgba(0,0,0,.45);padding:3px 10px;border-radius:999px;display:inline-block}
@keyframes mut{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-6deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(2deg)}30%{transform:translate(-50%,-50%) scale(1) rotate(0)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-62%) scale(1)}}
.tray{display:flex;align-items:center;justify-content:space-around;width:100%;margin-top:10px;gap:4px;touch-action:none;position:relative}
.slot{flex:1;display:flex;align-items:center;justify-content:center;position:relative;cursor:grab;border-radius:16px}
.slot canvas{display:block}
.slot.bonus{flex:.7;background:rgba(255,63,180,.08);border:1px dashed rgba(255,63,180,.5)}
.slot.bonus.pop{animation:bump .5s}
.bonustag{position:absolute;bottom:2px;font-size:10px;font-weight:700;color:#ffb3e1;letter-spacing:.5px}
.foot{display:flex;align-items:center;justify-content:center;gap:10px;opacity:.75;font-size:12px;color:var(--muted);padding-top:6px}
.foot img{height:38px;width:auto}
#fx{position:fixed;inset:0;pointer-events:none;z-index:20}
.toast{position:fixed;left:50%;top:14%;transform:translate(-50%,-10px);background:rgba(15,12,40,.92);border:1px solid rgba(255,255,255,.18);padding:9px 16px;border-radius:999px;font-weight:700;opacity:0;transition:.25s;z-index:40;pointer-events:none;white-space:nowrap;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.overlay{position:fixed;inset:0;background:rgba(5,4,18,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:30;padding:16px;animation:fadein .25s}
.overlay[hidden]{display:none}
@keyframes fadein{from{opacity:0}}
.card{width:100%;max-width:400px;max-height:100%;overflow:auto;background:linear-gradient(180deg,#1b1546,#120f30);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:20px 18px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:pop .35s cubic-bezier(.2,.9,.3,1.3)}
@keyframes pop{from{transform:scale(.85);opacity:0}}
.card h2{margin:0 0 10px;font-size:22px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.card p{margin:8px 0;line-height:1.45;font-size:15px}
.muts{list-style:none;padding:0;margin:6px 0}
.muts li{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:14px;line-height:1.3}
.g{flex:none;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#0b0a24;font-weight:900}
.g0{background:var(--gA)}.g1{background:var(--gT);color:#fff}.g2{background:var(--gG);color:#fff}.g3{background:var(--gC);color:#fff}
.cta{display:block;width:100%;height:48px;margin-top:12px;border:0;border-radius:14px;background:var(--grad);color:#0b0a24;font-weight:800;font-size:17px;line-height:1;font-family:inherit;cursor:pointer;box-shadow:0 6px 20px rgba(255,63,180,.3)}
.cta.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.cta:active{transform:scale(.98)}
.over{text-align:center}
.bigscore{font-size:56px;font-weight:900;direction:ltr;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}
.newbest{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--grad);color:#0b0a24;font-weight:900;animation:bump .6s infinite alternate}
.ovbest{color:var(--muted)}
.stats{display:flex;justify-content:center;gap:14px;margin-top:8px;font-size:13px;color:var(--muted)}
.stats b{color:var(--ink);display:block;font-size:17px}
.dailynote{color:#bff6ff;font-size:14px}
.confirm .row{display:flex;gap:10px}
@media (min-width:700px){#app{max-width:560px}.brand h1{font-size:24px}}
@media (prefers-reduced-motion:reduce){.boardwrap.shake{animation:none}.newbest{animation:none}}
.icon.share2{background:var(--grad);color:#0b0a24;border:0}
.icon[hidden]{display:none}
.slot[hidden]{display:none}

/* ===== 1.0 ===== */
.tools{gap:5px}
.icon{display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
#btn-account.signed{background:var(--grad);color:#0b0a24;border:0}
.mode{display:flex;align-items:center;justify-content:center;gap:4px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mode span{overflow:hidden;text-overflow:ellipsis}
.labgoal{margin:4px 0 0;padding:6px 10px;border-radius:12px;background:rgba(122,92,255,.16);border:1px solid rgba(122,92,255,.45);font-size:13px;font-weight:700}
.labgoal i{display:block;height:5px;border-radius:9px;background:rgba(255,255,255,.12);margin-top:4px;overflow:hidden}
.labgoal i b{display:block;height:100%;background:var(--grad);width:0;transition:width .4s}
.chip.time{border-color:rgba(255,229,138,.7);color:#ffe58a;font-variant-numeric:tabular-nums;direction:ltr}
.chip.time.low{background:rgba(255,60,90,.25);border-color:#ff4d6d;color:#fff;animation:bump .5s infinite alternate}
.chip.rot{border-color:rgba(61,123,255,.8);color:#cfe0ff}
.meters{display:flex;gap:6px;margin:0 2px 4px}
.meter{flex:1;height:4px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
.meter b{display:block;height:100%;width:0;transition:width .35s}
.meter.combo b{background:linear-gradient(90deg,#19e3ff,#ff3fb4)}
.meter.combo.hot b{box-shadow:0 0 10px #ff3fb4}
.meter.evo{flex:.6}.meter.evo b{background:linear-gradient(90deg,#38ffd6,#b18cff)}
.boardwrap.danger #board{box-shadow:0 10px 40px rgba(0,0,0,.45),0 0 0 2px rgba(255,77,109,.55),0 0 26px rgba(255,77,109,.35)}
body:not(.reduced) .boardwrap.danger #board{animation:danger 1.4s ease-in-out infinite}
@keyframes danger{50%{box-shadow:0 10px 40px rgba(0,0,0,.45),0 0 0 2px rgba(255,77,109,.85),0 0 36px rgba(255,77,109,.55)}}
.stage{padding-bottom:0}
.slot.sel{background:rgba(25,227,255,.12);outline:2px solid rgba(25,227,255,.7)}
.slot.hinted{background:rgba(255,229,138,.14);outline:2px solid rgba(255,229,138,.85)}
.slot.armed{outline:2px dashed rgba(61,123,255,.9);animation:bump .8s infinite alternate}
.slot.spin canvas{animation:spin .35s ease}
@keyframes spin{from{transform:rotate(-90deg)}}
.slot.nofit{background:rgba(255,60,90,.18);outline:2px solid #ff4d6d;animation:shake .4s 2}
.actions{display:flex;gap:8px;justify-content:center;margin:8px auto 0;width:100%}
.act{position:relative;flex:1;max-width:64px;height:42px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:19px;cursor:pointer;font-family:inherit}
.act:disabled{opacity:.35;cursor:default}
.act[hidden]{display:none}
.act sup{position:absolute;top:2px;inset-inline-end:5px;font-size:11px;font-weight:800;color:#ffe58a}
.act.on{background:rgba(61,123,255,.35);border-color:#3d8bff}
.act.pulse{animation:bump .5s 3}
.act:focus-visible,.slot:focus-visible,.mitem:focus-visible,.modecard:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.foot{padding-top:4px}
@media (max-height:700px){.foot{display:none}}
.reveal-msg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:8px 14px;border-radius:999px;background:rgba(10,6,30,.85);border:1px solid rgba(255,77,109,.7);font-weight:800;font-size:15px;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .25s}
body.reveal .reveal-msg{opacity:1}
body.reveal #fx{opacity:.4}
.coach{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;z-index:5}
.coach[hidden]{display:none}
.coach .hand{font-size:34px;animation:coach 1.6s ease-in-out infinite}
.coach-t{background:rgba(10,6,30,.85);padding:5px 12px;border-radius:999px;font-weight:700;font-size:13px;white-space:nowrap}
@keyframes coach{0%{transform:translateY(60px);opacity:0}25%{opacity:1}70%{transform:translateY(-90px);opacity:1}100%{transform:translateY(-110px);opacity:0}}
body.reduced .coach .hand{animation:none}
.toast{display:flex;gap:10px;align-items:center;max-width:calc(100vw - 24px);white-space:normal;text-align:center}
.toast.act{pointer-events:auto}
.toast button{border:0;border-radius:999px;background:var(--grad);color:#0b0a24;font-weight:800;padding:5px 12px;font-family:inherit;cursor:pointer}
.row2{display:flex;gap:8px}.row2 .cta{flex:1}
.cta.small{height:40px;font-size:15px;margin-top:8px}
.cta.danger{color:#ff8fa5;border-color:rgba(255,77,109,.5)}
.cta[hidden]{display:none}
a.cta{display:flex;align-items:center;justify-content:center;text-decoration:none}
#ov-over.peek{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;align-items:flex-end;pointer-events:none}
#ov-over.peek .card{display:none}
.peekback{display:none;max-width:320px;pointer-events:auto}
#ov-over.peek .peekback{display:block;margin-bottom:max(16px,env(safe-area-inset-bottom))}
.stats{flex-wrap:wrap}
.tut .tstep[hidden]{display:none}
#tut-demo{display:block;margin:6px auto;max-width:100%}
.dots{display:flex;gap:6px;justify-content:center;margin-top:10px}
.dots i{width:8px;height:8px;border-radius:9px;background:rgba(255,255,255,.25)}.dots i.on{background:var(--cyan);width:20px}
.tut .row{display:flex;gap:10px}.tut .row .cta{flex:1}
.toolrow{font-size:26px;text-align:center;letter-spacing:8px}
.card.panel{max-width:440px;max-height:calc(100dvh - 32px);padding:14px 16px 18px;display:flex;flex-direction:column}
.phead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.phead h2{margin:0;font-size:20px}
.pbody{overflow:auto;min-height:0;padding:2px}
.pbody h3{font-size:14px;color:var(--muted);margin:14px 0 6px}
.muted{color:var(--muted);font-size:14px;line-height:1.45}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mitem{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 10px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:700 14px/1.2 inherit;font-family:inherit;cursor:pointer;text-align:start}
.mitem .mi{font-size:20px}.mitem small{margin-inline-start:auto;color:var(--muted)}
.mfoot{text-align:center;font-size:13px;color:var(--muted);margin-top:14px}.mfoot a{color:#bff6ff}
.modecard{display:flex;gap:12px;align-items:center;width:100%;padding:10px 12px;margin:0 0 8px;border-radius:16px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;font-family:inherit;text-align:start}
.modecard.on{border-color:var(--cyan);background:rgba(25,227,255,.1)}
.mc-ico{font-size:26px}.mc-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.mc-t b{font-size:16px}.mc-t small{color:var(--muted);font-size:13px;line-height:1.3}.mc-t em{font-style:normal;font-size:12px;color:#bff6ff}
.labgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.labcell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:inherit;cursor:pointer;min-height:96px}
.labcell b{font-size:22px}.labcell .st{color:#ffe58a;letter-spacing:2px}.labcell small{font-size:12px;color:var(--muted);text-align:center;line-height:1.25}.labcell em{font-style:normal;font-size:11px;color:var(--muted)}
.labcell.done{border-color:rgba(255,229,138,.6)}.labcell.lock{opacity:.45;cursor:default}
.srow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border-bottom:1px solid rgba(255,255,255,.06);font-size:15px}
.srow span{flex:1;min-width:0}
.srow select{max-width:55%;height:36px;border-radius:10px;border:1px solid var(--line);background:#1b1546;color:var(--ink);font-family:inherit;font-size:14px;padding:0 6px}
.srow input[type=range]{width:45%}
.srow input[type=checkbox]{appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:99px;background:rgba(255,255,255,.18);position:relative;cursor:pointer;flex:none;transition:.2s}
.srow input[type=checkbox]::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.srow input[type=checkbox]:checked{background:var(--grad)}
.srow input[type=checkbox]:checked::after{inset-inline-start:23px}
.skinprev{display:block;margin:6px auto;max-width:100%}
.rankbox{padding:10px 12px;border-radius:14px;background:rgba(122,92,255,.15);border:1px solid rgba(122,92,255,.4);display:flex;flex-direction:column;gap:4px}
.rankbox small{color:var(--muted)}
.rankbox i,.achrow i{display:block;height:5px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden}
.rankbox i b,.achrow i b{display:block;height:100%;background:var(--grad)}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.sbox{padding:8px 4px;border-radius:12px;background:var(--panel);border:1px solid var(--line);text-align:center;display:flex;flex-direction:column;gap:2px;min-width:0}
.sbox b{font-size:17px;direction:ltr;unicode-bidi:isolate}.sbox span{font-size:11px;color:var(--muted);line-height:1.2;overflow-wrap:anywhere}
ol.last,ol.lb{list-style:none;padding:0;margin:4px 0}
ol.last li,ol.lb li{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}
ol.last li span,ol.lb li bdi{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
ol.last li b,ol.lb li b{direction:ltr;font-variant-numeric:tabular-nums}
ol.last small{color:var(--muted);font-size:12px;direction:ltr}
ol.lb .pos{width:26px;text-align:center;font-weight:800;color:var(--muted)}
ol.lb li.me{background:rgba(25,227,255,.12);border-radius:10px}
.codex{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:14px;background:var(--panel);border:1px solid var(--line);margin-bottom:8px}
.codex p{margin:2px 0;font-size:14px;line-height:1.35}.codex small{color:var(--muted)}.codex.unknown{opacity:.6}
.g.grot{background:#3d8bff;font-size:16px}.g.gwild{background:#ffe58a}
.calhead{display:flex;align-items:center;justify-content:space-between}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.calgrid .cd{font-size:11px;color:var(--muted);text-align:center}
.cday{aspect-ratio:1;border-radius:10px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px}
.cday small{font-size:9px;color:#0b0a24;font-weight:800}
.cday.played{background:var(--grad);color:#0b0a24}
.cday.today{outline:2px solid var(--cyan)}
.calinfo{font-size:13px;color:var(--muted);text-align:center}
.achrow{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.06)}
.achrow>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.achrow small{color:var(--muted);font-size:12px}.achrow em{font-style:normal;font-size:12px;color:var(--muted);direction:ltr}
.achrow .ai{font-size:22px}.achrow:not(.done) .ai{opacity:.5}
.seg{display:flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:8px 0}
.seg button{flex:1;height:36px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:700 14px inherit;font-family:inherit;cursor:pointer}
.seg button.on{background:var(--grad);color:#0b0a24}
.seg.small button{height:30px;font-size:13px}
.flabel{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
#acct-form input,.inline input,.danger-zone input{width:100%;height:44px;border-radius:12px;border:1px solid var(--line);background:#0f0c2c;color:var(--ink);font-size:16px;padding:0 12px;font-family:inherit}
#acct-form input:focus,.inline input:focus,.danger-zone input:focus{outline:2px solid var(--cyan)}
.pwwrap{position:relative}.pwwrap input{padding-inline-end:70px!important}
.pwshow{position:absolute;inset-inline-end:6px;top:6px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:inherit;font-size:12px;cursor:pointer;padding:0 8px}
.pwm{font-size:12px;margin-top:4px;min-height:16px}.pwm.weak{color:#ff8fa5}.pwm.ok{color:#ffe58a}.pwm.strong{color:#7dffb5}
.ferr{color:#ff8fa5;font-size:14px;min-height:18px;margin-top:6px}
.hello{display:flex;gap:12px;align-items:center}.hello small{color:var(--muted);display:block}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--grad);color:#0b0a24;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px}
.inline{display:flex;gap:8px;align-items:center}.inline .cta{width:auto;margin:0;padding:0 14px;flex:none}
.danger-zone{margin-top:16px;border:1px solid rgba(255,77,109,.35);border-radius:14px;padding:8px 12px}
.danger-zone summary{cursor:pointer;color:#ff8fa5;font-weight:700}
body.contrast{--muted:#e2defa;--line:rgba(255,255,255,.4);--panel:rgba(255,255,255,.12)}
body.big .card p,body.big .muts li,body.big .srow,body.big .mitem,body.big ol.last li,body.big ol.lb li{font-size:17px}
body.big .chip{font-size:14px}body.big .lbl{font-size:14px}
body.reduced *{animation-duration:.01ms!important;transition-duration:.01ms!important}
[dir=rtl] .slot.spin canvas{animation-direction:normal}
@media (max-width:360px){.mode{font-size:13px}.icon,.langsel select{min-width:32px;height:34px}}

/* 1.0 parity: gems, daily, shop, inbox, feedback */
.icon.gems{display:inline-flex;align-items:center;gap:3px;padding:0 8px;min-width:auto;position:relative;font-weight:700}
.icon.gems b{font-size:13px;font-variant-numeric:tabular-nums}
.icon.gems.gain{animation:gempop .6s ease}
@keyframes gempop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
.badge{position:absolute;top:-4px;inset-inline-end:-4px;background:#ff4d6d;color:#fff;border-radius:9px;font-size:10px;font-style:normal;min-width:16px;height:16px;line-height:16px;text-align:center;padding:0 3px}
.gemfly{position:fixed;transform:translateX(-50%);z-index:999;font-weight:800;color:#7ff3ff;pointer-events:none;animation:gemfly 1.3s ease-out forwards;text-shadow:0 0 8px #0008}
@keyframes gemfly{0%{opacity:0;transform:translate(-50%,8px) scale(.8)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-34px) scale(1.15)}}
.ovgems{font-size:20px;font-weight:800;color:#7ff3ff;margin:4px 0;animation:gempop .6s ease}
.drow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:8px 0 12px}
.dday{background:#ffffff10;border:1px solid #ffffff20;border-radius:10px;padding:6px 2px;text-align:center;display:flex;flex-direction:column;gap:2px;min-width:0}
.dday small{font-size:10px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dday b{font-size:12px}
.dday.got{opacity:.45}.dday.now{border-color:#7ff3ff;box-shadow:0 0 12px #7ff3ff66;animation:gempop 1.2s ease infinite}
.gemtop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;margin-bottom:10px}
.gemtop b{font-size:24px}
.shoprow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #ffffff14}
.shoprow span{flex:1;min-width:0}
form.inline{display:flex;gap:6px}form.inline input{flex:1;min-width:0}
.fok{color:#5ef0a0;min-height:1.2em}.inbox .msg{background:#ffffff0d;border-radius:10px;padding:8px;margin:6px 0}.inbox .msg.read{opacity:.6}.inbox .msg p{margin:4px 0}
#fb-form textarea,#fb-form input,form.inline input{width:100%;box-sizing:border-box;background:#0004;color:inherit;border:1px solid #ffffff30;border-radius:10px;padding:10px;font:inherit}
.flabel{display:block;margin:8px 0 4px;font-size:14px}
.muted.small{font-size:12px}

.shoprow .cta,.gemtop .cta,form.inline .cta{width:auto;flex:0 0 auto;margin:0;white-space:nowrap}
