:root{--cream:#fff8ec;--surface:#fff;--surface-2:#f1e9d8;--track:#efe6d3;--glass:#fffdf7e6;--ghost:#ffffffb0;--warm:#fff3cc;--line-2:#d8ccb4;--ruled:#cfe0f2;--tile-study:#fff9e1;--tile-study-b:#f0dc9a;--tile-rank:#fff1e4;--tile-rank-b:#f6c9a1;--tile-admin:#eef3ff;--tile-admin-b:#c8d6f5;--scene-a:#fff8ecd9;--scene-b:#fff8ecf2;--paper:#fffdf7;--ink:#183524;--ink-2:#4b6656;--muted:#7a8f80;--line:#e7dcc6;--green:#1c9c4a;--green-d:#13703a;--green-l:#dff5e5;--yellow:#ffc93c;--yellow-d:#d99a00;--orange:#ff8a3d;--blue:#2f80ed;--blue-d:#1d5fb8;--brand-blue:#1a75cf;--brand-yellow:#ffc220;--red:#e5484d;--lcd-bg:#0c2416;--lcd:#7cff9b;--shadow:0 6px 0 #1835241f, 0 14px 30px #1835241f;--radius:18px;--f-pixel:"Pixelify Sans", "VT323", monospace;--f-body:"Nunito", system-ui, "Segoe UI", sans-serif;--f-hand:"Caveat", cursive;--f-lcd:"JetBrains Mono", ui-monospace, monospace;font-family:var(--f-body);color:var(--ink);background:var(--cream);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cream:#0b1526;--paper:#111e33;--surface:#16253d;--surface-2:#1d2f4b;--track:#233756;--glass:#111e33e8;--ghost:#16253dc0;--warm:#3a3216;--ink:#e6eefb;--ink-2:#a9bcd8;--muted:#7f94b4;--line:#263a5a;--line-2:#33496d;--ruled:#284255;--green-l:#1b3a26;--tile-study:#2b2918;--tile-study-b:#4d4626;--tile-rank:#2e2318;--tile-rank-b:#55402a;--tile-admin:#1b2537;--tile-admin-b:#34466a;--scene-a:#0b1526e0;--scene-b:#0b1526f5;--shadow:0 6px 0 #00000059, 0 14px 30px #00000059}:root[data-theme=dark] .chip-kg{color:#ffd98a}:root[data-theme=dark] .brand{text-shadow:3px 3px #0006}:root[data-theme=dark] .brand span{text-shadow:2px 2px #0008}:root[data-theme=dark] .tile-play{color:#fff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{max-width:100%;overflow-x:clip}body{background:var(--cream);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}code{background:#0001;border-radius:4px;padding:0 4px}.pixel{image-rendering:pixelated}.muted{color:var(--muted)}.error{color:var(--red);margin:2px 0;font-weight:700}.info{color:var(--green);margin:2px 0;font-weight:700}.splash{min-height:100%;font-family:var(--f-pixel);place-items:center;padding:16px;font-size:22px;display:grid}input,select{font:inherit;color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:12px;min-width:0;padding:9px 12px}input:focus,select:focus{border-color:var(--green);outline:3px solid #1c9c4a55}@media (pointer:coarse){input,select,textarea{font-size:max(16px,1em)}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.btn{cursor:pointer;border:2px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap;box-shadow:0 4px 0 var(--line);border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:800;transition:transform 60ms,box-shadow 60ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.btn:disabled{opacity:.5;cursor:default}.btn.big{padding:13px 20px;font-size:17px}.btn.sm{padding:4px 10px}.btn-primary{background:var(--green);color:#fff;border-color:var(--green-d);box-shadow:0 4px 0 var(--green-d)}.btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--green-d)}.btn-ok{background:var(--blue);color:#fff;border-color:var(--blue-d);box-shadow:0 4px 0 var(--blue-d)}.btn-danger{color:var(--red)}.btn-ghost{background:var(--ghost)}.btn-scan{background:var(--yellow);border-color:var(--yellow-d);box-shadow:0 4px 0 var(--yellow-d);color:#3a2a00}.scan-icon{letter-spacing:-3px;font-family:monospace}.card{background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.pill{background:var(--yellow);color:#3a2a00;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:900}.pill-xp{background:var(--surface);border:2px solid var(--line);border-radius:99px;padding:4px 12px;font-weight:900}.pop-in{animation:.35s cubic-bezier(.2,1.4,.4,1) both pop}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.shake{animation:.35s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes blink{50%{opacity:.35}}.scene-bg{background:linear-gradient(180deg, var(--scene-a) 0%, var(--scene-b) 55%, var(--cream) 100%), url(/art/bg-store.png) center top / cover no-repeat;image-rendering:pixelated}.scene-bg>*{image-rendering:auto}.brand{font-family:var(--f-pixel);color:var(--brand-blue);letter-spacing:1px;text-shadow:3px 3px #1a75cf2e;align-items:flex-start;margin:0;font-size:clamp(34px,6vw,56px);display:inline-flex}.brand span{color:var(--brand-yellow);text-shadow:2px 2px #b98400}.brand .spark{flex:none;width:.62em;height:.62em;margin-left:.08em}.brand.small{font-size:26px}.brand-sub{color:var(--ink-2);margin:4px 0 8px;font-weight:700}.title-pixel{font-family:var(--f-pixel);margin:0;font-size:24px}.title-hand{font-family:var(--f-hand);margin:0;font-size:32px}.mascot{align-items:center;gap:10px;display:flex}.mascot img{filter:drop-shadow(0 4px #0001);flex:none;animation:2.4s ease-in-out infinite bob}.bubble{background:var(--surface);border:2px solid var(--ink);max-width:300px;box-shadow:3px 3px 0 var(--ink);border-radius:16px;padding:10px 14px;font-weight:700;position:relative}.bubble:before{content:"";background:var(--surface);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);width:14px;height:14px;position:absolute;top:calc(50% - 7px);left:-9px;transform:rotate(45deg)}.mascot-sad img{filter:grayscale(.3)drop-shadow(0 4px #0001)}.topbar{padding:10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:2px solid var(--line);z-index:20;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar-right{align-items:center;gap:8px;display:flex}.login-screen{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(16px,5vw,64px);min-height:100%;padding:16px;display:flex}.login-side{flex-direction:column;align-items:flex-start;display:flex}.login-card{flex-direction:column;gap:12px;width:min(380px,100%);display:flex}.or{text-align:center;color:var(--muted);font-size:13px;font-weight:700}.input-big{text-align:center;letter-spacing:1px;padding:12px 14px;font-size:20px}.badge-chip{border:2px dashed var(--green);background:var(--green-l);cursor:pointer;border-radius:99px;align-self:center;padding:6px 14px;font-weight:900}.badge-chip small{color:var(--green-d);margin-left:6px;font-weight:700;text-decoration:underline}.tabs{background:var(--surface-2);border-radius:14px;gap:4px;padding:4px;display:flex}.tabs button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:9px;font-weight:800}.tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 0 var(--line)}.pinpad{flex-direction:column;align-items:center;gap:10px;display:flex}.pin-dots{justify-content:center;align-items:center;gap:10px;height:24px;display:flex}.pin-hint{color:var(--ink-2);font-size:15px;font-style:normal;font-weight:700}.pin-dots span.on{animation:.18s pop}.pin-dots span{border:3px solid var(--green);border-radius:50%;width:18px;height:18px;transition:all .15s}.pin-dots span.on{background:var(--green);transform:scale(1.15)}.pin-keys{grid-template-columns:repeat(3,64px);gap:8px;display:grid}.key{border:2px solid var(--line-2);background:var(--surface);cursor:pointer;height:52px;box-shadow:0 4px 0 var(--line-2);border-radius:14px;font-size:22px;font-weight:900}.key:active{box-shadow:0 1px 0 var(--line-2);transform:translateY(3px)}.key-fn{background:var(--surface-2);font-size:18px}.scanner-overlay{z-index:100;color:#fff;background:#000d;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;font-weight:800;display:flex;position:fixed;inset:0}.scanner-box{aspect-ratio:16/10;border:4px solid var(--yellow);border-radius:16px;width:min(560px,90vw,112vh);max-height:70vh;position:relative;overflow:hidden}.scanner-box video{object-fit:cover;width:100%;height:100%}.scanner-guide{pointer-events:none;border:3px dashed #fff;border-radius:10px;position:absolute;inset:28% 8%;box-shadow:0 0 0 999px #0006}.scanner-actions{gap:10px;display:flex}.scanner-line{pointer-events:none;background:#ff3b3b;border-radius:2px;height:3px;animation:1.6s ease-in-out infinite alternate scan-sweep;position:absolute;top:29%;left:9%;right:9%;box-shadow:0 0 8px 2px #ff3b3bcc,0 0 22px #ff3b3b88}@keyframes scan-sweep{0%{top:29%}to{top:calc(71% - 3px)}}@media (prefers-reduced-motion:reduce){.scanner-line{animation:none;top:50%}}.home,.admin,.levels,.ranking,.study{flex-direction:column;min-height:100%;display:flex}.home-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:16px;display:flex}.home-hero{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;width:min(900px,100%);display:flex}.level-card{flex-direction:column;flex:280px;gap:8px;display:flex}.level-head{align-items:center;gap:10px;display:flex}.level-head small{color:var(--muted);font-weight:700;display:block}.level-head b{font-family:var(--f-pixel);color:var(--lvl);font-size:22px}.level-emoji{font-size:34px}.xp{background:var(--green-l);color:var(--green-d);border-radius:99px;margin-left:auto;padding:4px 10px;font-weight:900}.bar{background:var(--track);border:2px solid var(--line);border-radius:99px;height:14px;overflow:hidden}.bar>div{background:repeating-linear-gradient(45deg, var(--lvl,var(--green)) 0 10px, color-mix(in srgb, var(--lvl,var(--green)) 80%, #fff) 10px 20px);border-radius:99px;height:100%;transition:width .6s}.badge-row{flex-wrap:wrap;gap:6px;display:flex}.badge-icon{background:var(--track);filter:grayscale();opacity:.45;border-radius:12px;place-items:center;width:38px;height:38px;font-size:22px;display:grid}.badge-icon.on{filter:none;opacity:1;background:var(--warm);border:2px solid var(--yellow)}.home-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;width:min(900px,100%);display:grid}.home-tile{text-align:center;border-radius:var(--radius);background:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:2px;padding:16px 12px;transition:transform .12s;display:flex}.home-tile:hover{transform:translateY(-3px)rotate(-.5deg)}.home-tile:active{transform:scale(.97)}.home-tile img{width:72px;height:72px}.home-tile b{font-family:var(--f-pixel);font-size:22px}.home-tile small{color:var(--ink-2);font-weight:600}.tile-play{border-color:var(--green-d);color:#fff;box-shadow:0 6px 0 var(--green-d), 0 14px 30px #1c9c4a44;background:linear-gradient(160deg,#2fbf62,#1c9c4a)}.tile-play small{color:#e8ffef}.tile-study{background:var(--tile-study);border-color:var(--tile-study-b)}.tile-rank{background:var(--tile-rank);border-color:var(--tile-rank-b)}.tile-admin{background:var(--tile-admin);border-color:var(--tile-admin-b)}.levels-main{flex-direction:column;flex:1;align-items:center;gap:14px;padding:14px 16px 30px;display:flex}.level-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;width:min(1000px,100%);display:grid}.level-tile{text-align:left;background:var(--paper);border:3px solid var(--lvl);border-radius:var(--radius);cursor:pointer;box-shadow:0 5px 0 var(--lvl);flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex;position:relative}.level-tile:active:not(:disabled){box-shadow:0 1px 0 var(--lvl);transform:translateY(4px)}.level-tile b{font-family:var(--f-pixel);color:var(--lvl);font-size:20px}.level-tile small{color:var(--ink-2);font-weight:600;line-height:1.3}.level-tile.locked{filter:grayscale();opacity:.6;cursor:not-allowed}.level-meta{color:var(--ink);background:color-mix(in srgb, var(--lvl) 18%, var(--surface));border-radius:99px;margin-top:auto;padding:2px 8px;font-size:12px;font-weight:800}.toggle{color:var(--ink-2);align-items:center;gap:8px;font-weight:700;display:flex}.small-link{font-weight:700;text-decoration:underline}.study{height:100%;overflow:hidden}.study .search{width:160px}.notebook{flex:1;min-height:0;display:flex}.letter-tabs{background:var(--surface-2);border-right:2px solid var(--line);flex-direction:column;flex:none;gap:3px;padding:10px 4px 10px 10px;display:flex;overflow-y:auto}.letter-tabs button{border:2px solid var(--line);background:var(--surface);width:38px;min-height:30px;font-family:var(--f-pixel);cursor:pointer;color:var(--ink-2);border-right:0;border-radius:10px 0 0 10px;font-size:17px}.letter-tabs button.seen{background:var(--green-l)}.letter-tabs button.active{background:var(--yellow);color:#3a2a00;transform:translate(4px)}.paper{overscroll-behavior:contain;touch-action:pan-y;background:linear-gradient(90deg, transparent calc(clamp(40px, 6vw, 80px) - 14px), #f3a3a3 calc(clamp(40px, 6vw, 80px) - 14px), #f3a3a3 calc(clamp(40px, 6vw, 80px) - 12px), transparent 0), repeating-linear-gradient(180deg, var(--paper) 0 31px, var(--ruled) 31px 32px);background-attachment:local;flex:1;padding:8px clamp(14px,3vw,40px) 60px clamp(40px,6vw,80px);position:relative;overflow:hidden auto}.paper-tip{font-family:var(--f-hand);color:var(--ink-2);margin:6px 0 4px;font-size:24px}.letter-section{padding-top:6px;scroll-margin-top:4px}.big-letter{font-family:var(--f-hand);color:var(--green);margin:6px 0 10px;font-size:64px;line-height:1}.study-grid{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:18px;margin-bottom:18px;display:grid}.study-card{background:var(--surface);border:2px solid var(--line);cursor:default;text-align:center;min-width:0;box-shadow:0 4px 0 var(--line);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 14px;transition:transform .12s;display:flex}.study-card:hover{transform:translateY(-2px)rotate(.4deg)}.study-card.covered{cursor:pointer}.study-card .product-img{aspect-ratio:1;width:100%;max-width:120px}.study-name{align-items:center;min-width:0;max-width:100%;min-height:1.6em;font-weight:800;line-height:1.15;display:flex}.study-code{font-family:var(--f-lcd);background:var(--lcd-bg);color:var(--lcd);letter-spacing:2px;border-radius:10px;min-width:90px;padding:4px 12px 2px;font-size:34px;line-height:1}.covered .study-code{background:var(--surface-2);color:var(--muted)}.chips{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.chip{border-radius:99px;padding:2px 8px;font-size:12px;font-weight:800}.chip-kg{background:var(--warm);color:#7a5600}.chip-und{color:var(--blue-d);background:#e3eeff}.chip-price{background:var(--green-l);color:var(--green-d)}.chip-warn{color:#a12b2f;background:#ffe4e4}.product-img{object-fit:contain;background:#fff;border-radius:12px;display:block}.product-emoji{background:var(--surface-2);place-items:center;font-size:56px;display:grid}.code-digits{gap:1px;display:inline-flex}.code-digits .hl{background:var(--yellow);color:#3a2a00;border-radius:4px;padding:0 2px;animation:.6s 3 blink}.rank-tabs{flex-wrap:wrap;justify-content:center;gap:6px;padding:12px 16px 0;display:flex;overflow-x:auto}.rank-tabs button{border:2px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:99px;padding:7px 14px;font-weight:800}.rank-tabs button.active{background:var(--green);border-color:var(--green-d);color:#fff}.rank-hint{text-align:center;color:var(--ink-2);margin:8px 0 0;font-weight:700}.rank-main{flex-wrap:wrap;flex:1;justify-content:center;align-items:flex-start;gap:20px;padding:10px 16px 30px;display:flex}.podium{align-items:flex-end;gap:8px;display:flex}.podium-col{text-align:center;flex-direction:column;align-items:center;gap:2px;width:110px;display:flex}.podium-col .medal{font-size:34px;animation:2s ease-in-out infinite bob}.podium-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:900;overflow:hidden}.podium-val{font-family:var(--f-pixel);color:var(--green-d);font-size:18px}.podium-block{width:100%;font-family:var(--f-pixel);color:#fff;border-radius:12px 12px 0 0;place-items:center;margin-top:4px;font-size:30px;display:grid}.p1 .podium-block{background:linear-gradient(#ffd75e,#e8a800);height:110px}.p2 .podium-block{background:linear-gradient(#d9e1e8,#9aa8b5);height:80px}.p3 .podium-block{background:linear-gradient(#f0b27a,#c4753a);height:60px}.podium-col.me .podium-name{color:var(--orange)}.rank-list{flex-direction:column;gap:6px;width:min(440px,100%);margin:0;padding:0;list-style:none;display:flex}.rank-list li{background:var(--paper);border:2px solid var(--line);border-radius:14px;align-items:center;gap:10px;padding:8px 12px;display:flex}.rank-list li.me{border-color:var(--orange);background:var(--tile-rank)}.rank-list .pos{font-family:var(--f-pixel);width:34px;color:var(--muted)}.rank-list .who{flex:1;min-width:0;font-weight:800}.rank-list small{color:var(--muted);font-weight:600}.game{height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#24382b;grid-template:"hud hud hud""pos belt keys"1fr/minmax(180px,24%) 1fr minmax(210px,25%);display:grid;overflow:hidden}.hud{color:#fff;white-space:nowrap;background:#183524;grid-area:hud;align-items:center;gap:8px;padding:6px 10px;font-weight:800;display:flex;overflow-x:auto}.hud .btn{color:#fff;box-shadow:none;background:#ffffff18;border-color:#ffffff30}.hud-level{font-family:var(--f-pixel);border-radius:99px;padding:3px 10px}.hud-item{background:#ffffff14;border-radius:99px;padding:3px 10px}.hud-item.hot{background:var(--orange);animation:.3s pop}.hud .lives{letter-spacing:-2px;margin-left:auto}.pos-screen{background:linear-gradient(#3b4a42,#2c3832);flex-direction:column;grid-area:pos;gap:8px;min-height:0;padding:8px;display:flex}.lcd{background:var(--lcd-bg);min-height:0;color:var(--lcd);font-family:var(--f-lcd);text-shadow:0 0 6px #7cff9b66;border:6px solid #111;border-radius:12px;flex-direction:column;flex:1;padding:6px 8px;font-size:18px;display:flex;box-shadow:inset 0 0 24px #000a,0 3px #000}.lcd-head{opacity:.85;border-bottom:1px dashed #7cff9b55;justify-content:space-between;gap:6px;padding-bottom:2px;display:flex}.lcd-head>span:first-child{flex-shrink:0}.receipt{flex-direction:column;flex:1;margin:4px 0;padding:0;list-style:none;display:flex;overflow:hidden}.receipt li{justify-content:space-between;gap:6px;line-height:1.05;animation:.25s pop;display:flex}.receipt li>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt li.bad{color:#ff8a8d;text-decoration:line-through}.receipt li.dim{opacity:.5;justify-content:center}.lcd-input{background:#0006;border-radius:8px;align-items:center;min-height:48px;padding:6px 8px;font-size:38px;line-height:1;display:flex;overflow:hidden}.lcd-input em{color:#ffd23f;opacity:.9;font-style:normal}.slots{flex-wrap:wrap;gap:4px;display:flex}.slots span{text-align:center;border-bottom:2px solid #7cff9b55;min-width:.7em}.slots span.filled{border-color:var(--lcd)}.caret{background:var(--lcd);width:.5em;height:.9em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.lcd-status{color:#ffd23f;min-height:1.2em;font-size:17px}.lcd-status.blink{animation:.8s infinite blink}.timer{background:#ffffff1a;border-radius:99px;height:8px;margin-top:4px;overflow:hidden}.timer>div{background:var(--lcd);height:100%;transition:width .1s linear}.timer.low>div{background:var(--red)}.helper .mascot img{width:54px;height:54px}.helper .bubble{max-width:none;padding:6px 10px;font-size:13px}.belt-area{grid-area:belt;min-width:0;min-height:0;position:relative}.phaser-host,.phaser-host canvas{width:100%;height:100%;position:absolute;inset:0}.countdown{font-family:var(--f-pixel);color:#fff;text-shadow:4px 4px #183524,0 0 30px #000a;pointer-events:none;place-items:center;font-size:80px;display:grid;position:absolute;inset:0}.countdown.small{font-size:26px}.toast{background:var(--yellow);color:#3a2a00;width:max-content;max-width:90%;box-shadow:0 4px 0 var(--yellow-d);z-index:5;border-radius:12px;margin:0 auto;padding:8px 14px;font-weight:900;animation:.3s pop;position:absolute;top:12px;left:0;right:0}.mistake-card{z-index:6;background:var(--surface);border:3px solid var(--red);border-radius:18px;align-items:center;gap:12px;width:min(92%,440px);margin:0 auto;padding:10px 14px;animation:.35s cubic-bezier(.2,1.4,.4,1) pop;display:flex;position:absolute;top:10px;left:0;right:0;box-shadow:0 6px #a12b2f,0 18px 40px #0006}.mistake-card .product-img{flex:none;width:84px;height:84px}.mistake-card.compact{border-color:var(--yellow-d);box-shadow:0 5px 0 var(--yellow-d), 0 12px 30px #0005}.mistake-title{color:var(--red);font-size:17px;display:block}.compact .mistake-title{color:#8a5d00}.mistake-name{font-weight:800}.mistake-code{font-family:var(--f-lcd);letter-spacing:2px;font-size:40px;line-height:1}.mistake-card small{color:var(--ink-2);font-weight:700}.keypad-area{background:linear-gradient(#3b4a42,#2c3832);grid-area:keys;min-height:0;padding:8px;display:flex}.pos-keypad{background:#d9dcd6;border-radius:14px;flex:1;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;display:grid;box-shadow:inset 0 2px #fff8,0 4px #0006}.pos-keypad.with-pay{grid-template-columns:1.15fr repeat(4,1fr)}.k-hint{grid-area:1/1}.k-back{grid-area:1/2/2/4}.k-clear{grid-area:1/4/3/5}.k-7{grid-area:2/1}.k-8{grid-area:2/2}.k-9{grid-area:2/3}.k-4{grid-area:3/1}.k-5{grid-area:3/2}.k-6{grid-area:3/3}.k-enter{grid-area:3/4/6/5}.k-1{grid-area:4/1}.k-2{grid-area:4/2}.k-3{grid-area:4/3}.k-0{grid-area:5/1/6/4}.with-pay .k-action{grid-area:1/1}.with-pay .k-card{grid-area:2/1}.with-pay .k-cash{grid-area:3/1}.with-pay .k-total{grid-area:4/1/6/2}.with-pay .k-hint{grid-area:1/2}.with-pay .k-back{grid-area:1/3/2/5}.with-pay .k-clear{grid-area:1/5/3/6}.with-pay .k-7{grid-area:2/2}.with-pay .k-8{grid-area:2/3}.with-pay .k-9{grid-area:2/4}.with-pay .k-4{grid-area:3/2}.with-pay .k-5{grid-area:3/3}.with-pay .k-6{grid-area:3/4}.with-pay .k-enter{grid-area:3/5/6/6}.with-pay .k-1{grid-area:4/2}.with-pay .k-2{grid-area:4/3}.with-pay .k-3{grid-area:4/4}.with-pay .k-0{grid-area:5/2/6/5}.pk{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;text-align:center;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:0;padding:2px;font-size:clamp(16px,3.4vh,26px);font-weight:900;line-height:1.05;transition:transform 50ms,box-shadow 50ms;display:flex;box-shadow:0 4px #0003}.pk:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #0003}.pk:disabled{opacity:.45}.pk small{opacity:.8;font-size:11px}.pk span{font-size:clamp(10px,2vh,14px)}.pk-num{color:#2b2f2c;background:linear-gradient(#fff,#eef0ec);border:1px solid #c7cbc4}.pk-green{color:#fff;background:#35a853;font-size:clamp(11px,2.2vh,15px)}.pk-blue{color:#fff;background:#2f6fd1;font-size:clamp(11px,2.2vh,15px)}.pk-gray{color:#fff;background:#8a948d}.pk-yellow{color:#3a2a00;background:#ffd23f;gap:2px;font-size:clamp(14px,2.8vh,20px)}.pk-total{color:#fff;letter-spacing:1px;background:linear-gradient(#3b8fe0,#1d5fb8);font-size:clamp(13px,2.6vh,18px)}.k-clear{font-size:clamp(14px,2.8vh,20px)}.pk.glow{z-index:1;animation:.8s infinite glow;position:relative}@keyframes glow{50%{box-shadow:0 0 0 4px #fff,0 0 22px 8px #ffd23f}}.pk-enter{color:#fff;background:linear-gradient(#3b8fe0,#1d5fb8);font-size:clamp(14px,2.8vh,20px)}.game,.game.mode-caja{grid-template-columns:minmax(170px,23%) 1fr minmax(250px,31%)}.lcd-total{border-top:1px dashed #7cff9b55;justify-content:space-between;align-items:baseline;padding-top:2px;font-size:18px;display:flex}.lcd-total b{font-weight:400}.lcd-total.big{color:#ffd23f;font-size:26px}.lcd-paused{box-shadow:inset 0 0 24px #000a,0 0 0 3px #ffd23f,0 3px #000}.lcd-status.warn{color:#ff8a8d}.receipt li.sep{color:#ffd23f;border-top:1px dashed #ffd23f66;border-bottom:1px dashed #ffd23f66;justify-content:center;margin:2px 0}.hud-item.rend{font-variant-numeric:tabular-nums;background:#fff2}.hud-item.rend.paused{background:var(--yellow);color:#3a2a00}.hud-item.rend.dropping{background:var(--red);animation:.8s infinite blink}.toast.bad{color:#8f1d22;background:#ffe1e2;box-shadow:0 4px #e5a3a6}.customer-bubble{z-index:4;background:var(--surface);border:2px solid var(--ink);max-width:75%;box-shadow:3px 3px 0 var(--ink);border-radius:16px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-weight:800;display:flex;position:absolute;top:54px;right:10px}.customer-bubble .avatar{background:var(--warm);border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:30px;display:grid}.tip-strip{z-index:4;background:var(--glass);color:var(--ink);border:2px solid var(--yellow-d);border-radius:12px;padding:5px 10px;font-size:13px;font-weight:800;display:none;position:absolute;bottom:8px;left:8px;right:8px}.rend-result{text-align:center;color:#fff;background:linear-gradient(135deg,#183524,#1c9c4a);border-radius:16px;padding:10px}.rend-result small{opacity:.85;text-transform:uppercase;letter-spacing:1px;font-weight:800;display:block}.rend-result b{font-family:var(--f-lcd);color:#7cff9b;text-shadow:0 0 12px #7cff9b88;font-size:64px;line-height:1;display:block}.rend-result span{opacity:.9;font-size:13px;font-weight:700}.mode-switch{flex-wrap:wrap;gap:10px;width:min(1000px,100%);display:flex}.mode-switch button{text-align:left;background:var(--surface);border:3px solid var(--line);border-radius:var(--radius);cursor:pointer;box-shadow:0 4px 0 var(--line);flex:260px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:10px;padding:10px 14px;display:grid}.mode-switch button span{grid-row:span 2;align-self:center;font-size:30px}.mode-switch button b{font-family:var(--f-pixel);font-size:19px}.mode-switch button small{color:var(--ink-2);font-weight:600}.mode-switch button.active{border-color:var(--green);background:var(--green-l);box-shadow:0 4px 0 var(--green-d)}.end-overlay{z-index:50;background:#0b1f14cc;place-items:center;padding:12px;display:grid;position:fixed;inset:0;overflow-y:auto}.end-card{flex-direction:column;gap:12px;width:min(640px,100%);max-height:100%;display:flex;overflow-y:auto}.levelup{text-align:center;background:var(--warm);border:2px solid var(--yellow);border-radius:14px;padding:8px;font-size:20px;animation:.5s pop}.stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stats div{background:var(--green-l);text-align:center;border-radius:14px;padding:8px}.stats b{font-family:var(--f-pixel);color:var(--green-d);font-size:26px;display:block}.stats small{color:var(--ink-2);font-weight:700}.end-card h4{font-family:var(--f-hand);margin:0;font-size:26px}.missed{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.missed-item{text-align:center;background:var(--surface);border:2px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:0;max-width:100%;padding:6px;font-size:13px;font-weight:700;display:flex}.missed-item .product-img{width:56px;height:56px;font-size:30px}.missed-item b{font-family:var(--f-lcd);color:var(--green-d);font-size:24px}.end-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}@media (height<=460px){.game{grid-template-columns:minmax(150px,23%) 1fr minmax(190px,27%)}.lcd{border-width:4px;font-size:15px}.lcd-input{min-height:38px;font-size:30px}.helper{display:none}.tip-strip{display:block}.game,.game.mode-caja{grid-template-columns:minmax(150px,22%) 1fr minmax(240px,33%)}.customer-bubble{top:8px}.lcd-total.big{font-size:20px}.rend-result b{font-size:44px}.pos-keypad{gap:4px;padding:5px}.game .bubble{font-size:14px}.mistake-card .product-img{width:60px;height:60px}.mistake-code{font-size:32px}}.admin{background:var(--cream)}.tabs-inline{flex:0 320px}.admin-body{flex-direction:column;gap:12px;padding:12px 16px 40px;display:flex}.admin-toolbar{flex-wrap:wrap;gap:8px;display:flex}.admin-toolbar .search{flex:220px}.product-list{flex-direction:column;gap:8px;display:flex}.product-row{background:var(--paper);border:2px solid var(--line);border-left:6px solid var(--yellow);border-radius:14px;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:8px;display:grid}.product-row.ok{border-left-color:var(--green)}.product-row.inactive{opacity:.5}.thumb{background:var(--surface-2);cursor:pointer;border:2px dashed var(--line);border-radius:10px;place-items:center;width:64px;height:64px;font-size:22px;display:grid;overflow:hidden}.thumb img{object-fit:contain;background:#fff;width:100%;height:100%}.fields{grid-template-columns:2fr 1.1fr .7fr 1.2fr 1fr;gap:6px;display:grid}.f-aliases,.f-note{grid-column:span 2}.f-aliases{grid-column:span 3}.f-code{font-family:var(--f-lcd);letter-spacing:1px;color:var(--green-d);font-size:22px}.f-code.dup{border-color:var(--red);color:var(--red)}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.chk{color:var(--ink-2);align-items:center;gap:4px;font-size:13px;font-weight:700;display:flex}.row-error{grid-column:1/-1}@media (width<=900px){.product-row{grid-template-columns:56px 1fr}.fields{grid-template-columns:1fr 1fr 1fr 1fr}.f-name,.f-note,.f-aliases{grid-column:span 4}.actions{grid-column:1/-1}}.users{border-collapse:collapse;background:var(--paper);border-radius:14px;width:100%;overflow:hidden}.users th,.users td{text-align:left;border-bottom:2px solid var(--line);padding:10px}.login-side .bubble{max-width:230px}html[data-orient=portrait] .login-screen{flex-flow:column;justify-content:flex-start;gap:12px}html[data-orient=portrait] .login-side{text-align:center;align-items:center}html[data-orient=portrait] .login-side .mascot img{width:84px;height:84px}html[data-orient=portrait] .login-card{width:min(420px,100%)}html.short .login-screen{flex-wrap:nowrap;padding:8px 16px}html.short .login-card{gap:8px;padding:12px}html.short .pin-keys{grid-template-columns:repeat(3,58px);gap:5px}html.short .key{height:38px;font-size:18px}html.short .btn.big{padding:9px 16px;font-size:16px}html.short .input-big{padding:8px 12px;font-size:17px}@media (height<=460px) and (pointer:fine){.login-screen{flex-wrap:nowrap;padding:8px 16px}.login-card{gap:8px;padding:12px}.pin-keys{grid-template-columns:repeat(3,58px);gap:5px}.key{height:38px;font-size:18px}}.pk{position:relative}.pk.pressed{filter:brightness(1.12);transform:translateY(3px);box-shadow:0 1px #0003}.kb-hint{font:700 9px/1 var(--f-body,system-ui);color:inherit;opacity:.75;pointer-events:none;letter-spacing:0;background:#0000002a;border-radius:4px;padding:2px 4px;display:none;position:absolute;top:3px;right:4px}.kb-hint.inline{vertical-align:middle;background:#00000018;margin-left:6px;position:static}.only-pc,.kb-tip{display:none}.kb-tip{text-align:center;margin-top:6px}.keys-help{z-index:60;background:var(--paper);width:min(360px,100vw - 24px);max-height:calc(100vh - 64px);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);cursor:pointer;border-radius:14px;padding:12px 14px;position:fixed;top:52px;right:12px;overflow:auto}.keys-help h4{font-family:var(--f-pixel);margin:0 0 8px}.keys-help dl{grid-template-columns:auto 1fr;gap:5px 12px;margin:0 0 8px;font-size:14px;display:grid}.keys-help dt{white-space:nowrap;font-weight:900}.keys-help dt:before{content:"⌨ ";opacity:.4}.keys-help dd{color:var(--ink-2);margin:0}.keys-help small{color:var(--ink-2)}@media (hover:hover) and (pointer:fine){.kb-hint{display:inline-block}.only-pc{display:inline-flex}.kb-tip{display:block}}.build-tag{color:var(--muted);opacity:.6;pointer-events:none;font-size:10px;position:fixed;bottom:4px;right:8px}.marquee{white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.marquee>span{display:inline-block}.marquee.run{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 6px calc(100% - 10px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 6px calc(100% - 10px),#0000 100%)}.marquee.run>span{padding:0 4px;animation:6s ease-in-out infinite alternate marquee}@keyframes marquee{0%,18%{transform:translate(0)}82%,to{transform:translateX(var(--mq-dist))}}@media (prefers-reduced-motion:reduce){.marquee.run>span{animation:none}.marquee{white-space:normal}}.receipt li>.marquee{flex:auto}.receipt li>span:last-child{white-space:nowrap;flex-shrink:0}.lcd-head .lcd-cashier{text-align:right;flex:auto}.podium-col .marquee{text-align:center}.rank-list .who .marquee{display:block}:root{--nav-h:58px}html.short{--nav-h:48px}.bottom-nav{z-index:50;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:0 max(6px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px, env(safe-area-inset-left));background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:2px solid var(--line);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #0000000f}.bn-item{max-width:120px;color:var(--ink-2);border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:1px;margin:4px 2px;font-size:11px;font-weight:800;transition:background .15s,color .15s;display:flex}.bn-icon{font-size:22px;line-height:1;transition:transform .15s}.bn-item.active{color:var(--brand-blue);background:#1a75cf1f}:root[data-theme=dark] .bn-item.active{color:#8cc4ff;background:#1a75cf33}.bn-item.active .bn-icon{transform:translateY(-1px)scale(1.12)}html.short .bn-item{flex-direction:row;gap:6px;font-size:13px}html.short .bn-icon{font-size:18px}:root{--nav-space:calc(var(--nav-h) + env(safe-area-inset-bottom))}#root:has(.bottom-nav) :is(.home,.levels,.ranking,.profile,.admin){padding-bottom:calc(var(--nav-space) + 12px)}#root:has(.bottom-nav) .paper{padding-bottom:calc(var(--nav-space) + 48px)}#root:has(.game) .bottom-nav{display:none}html.typing .bottom-nav{display:none}.profile{flex-direction:column;min-height:100%;display:flex}.profile-main{flex-direction:column;gap:12px;width:min(720px,100%);margin:0 auto;padding:14px 16px 20px;display:flex}.profile-hero{align-items:center;gap:14px;display:flex}.profile-id{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.profile-name{font-family:var(--f-pixel);font-size:24px}.profile-level{color:#fff;border-radius:99px;align-self:flex-start;padding:3px 10px;font-size:13px;font-weight:900}.profile-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.profile-stats .card{text-align:center;flex-direction:column;align-items:center;padding:10px;display:flex}.profile-stats b{font-family:var(--f-pixel);font-size:22px}.profile-stats small{color:var(--ink-2);font-size:12px;font-weight:700}.profile-h{margin:0 0 6px;font-size:17px}.profile-form{flex-direction:column;gap:6px;display:flex}.profile-row{flex-wrap:wrap;gap:8px;display:flex}.profile-row .input-big{text-align:left;flex:150px;min-width:0}.profile-badges{flex-wrap:wrap;gap:8px;display:flex}.profile-badge{text-align:center;flex-direction:column;align-items:center;width:84px;display:flex}.profile-badge span{font-size:28px}.profile-badge small{color:var(--ink-2);font-size:11px;font-weight:700}.profile-out{align-self:center}.profile-chip{align-items:center;gap:6px;max-width:180px;display:inline-flex}.profile-chip .marquee{max-width:130px}@media (width<=520px){.profile-stats{grid-template-columns:repeat(2,1fr)}}.rotate-overlay{z-index:95;background:color-mix(in srgb, var(--cream) 94%, transparent);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:fixed;inset:0}.rotate-overlay .mascot img{animation:1.6s ease-in-out infinite tilt}@keyframes tilt{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (width<=640px){.topbar{padding:8px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));flex-wrap:wrap;gap:8px}.title-pixel{font-size:19px}.title-hand{font-size:24px}.topbar .btn{padding:7px 10px}.home-main{justify-content:flex-start;gap:12px;padding:12px}.home-hero{gap:10px;padding:14px}.home-hero .mascot img{width:76px;height:76px}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-tile{padding:12px 8px}.home-tile img{width:48px;height:48px}.home-tile b{font-size:17px}.home-tile small{font-size:12px;line-height:1.25}.tile-play{text-align:left;order:-1;grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:12px 16px;display:grid}.tile-play img{grid-row:span 2}.levels-main{gap:10px;padding:12px 12px 20px}.mode-switch button{flex-basis:100%;padding:8px 12px}.mode-switch button b{font-size:17px}.level-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.level-tile{padding:10px}.level-tile b{font-size:17px}.level-tile small{font-size:12px}.study .topbar-right{width:100%}.study .search{flex:1;width:auto}.notebook{flex-direction:column}.letter-tabs{touch-action:pan-x;overscroll-behavior:contain;border-right:0;border-bottom:2px solid var(--line);scrollbar-width:none;flex-direction:row;padding:6px 10px;overflow:auto hidden}.letter-tabs button{border:2px solid var(--line);border-radius:10px;flex:none;width:34px;min-width:34px;min-height:34px}.letter-tabs button.active{transform:translateY(2px)}.paper{background:linear-gradient(90deg, transparent 22px, #f3a3a3 22px, #f3a3a3 24px, transparent 0), repeating-linear-gradient(180deg, var(--paper) 0 31px, var(--ruled) 31px 32px);background-attachment:local;padding:6px 12px 40px 34px}.big-letter{font-size:48px}.study-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.study-card{padding:8px 6px 10px}.study-code{min-width:0;padding:3px 8px 1px;font-size:28px}.rank-tabs{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;padding:10px 12px 0}.rank-main{gap:14px;padding:8px 12px 20px}.podium{justify-content:center;width:100%}.podium-col{width:31%;max-width:110px}.p1 .podium-block{height:86px}.p2 .podium-block{height:64px}.p3 .podium-block{height:48px}.profile-main{padding:12px}.profile-name{font-size:20px}}@media (width<=380px){.home-tile small{display:none}.home-tile.tile-play small{display:block}}.study .title-hand{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(20px,3.4vw,32px);overflow:hidden}.cat-admin{flex-direction:column;gap:8px;width:min(720px,100%);display:flex}.cat-row{background:var(--paper);border:2px solid var(--line);border-radius:14px;grid-template-columns:64px 1fr 80px auto;align-items:center;gap:8px;padding:8px;display:grid}.cat-row input{min-width:0}.cat-row .cat-emoji{text-align:center;font-size:22px}.cat-row small{color:var(--muted);grid-column:1/-1;font-weight:700}.cat-new{border-style:dashed}.cat-tabs{touch-action:pan-x;overscroll-behavior:contain;scrollbar-width:none;background:var(--surface-2);border-bottom:2px solid var(--line);flex:none;gap:6px;padding:8px 12px;display:flex;overflow:auto hidden}.cat-tabs::-webkit-scrollbar{display:none}.cat-tabs button{border:2px solid var(--line);background:var(--surface);color:var(--ink-2);white-space:nowrap;cursor:pointer;border-radius:99px;flex:none;padding:6px 12px;font-weight:800}.cat-tabs button.active{background:var(--green);border-color:var(--green-d);color:#fff}.study-code{max-width:100%}.study-code .marquee{display:block}.bn-item{font:inherit;cursor:pointer;background:0 0;border:0}.bn-lookup{flex:1.3 1 0;max-width:140px;position:relative;color:#fff!important}.bn-lookup .bn-icon{border:4px solid var(--paper);width:68px;height:68px;box-shadow:0 6px 0 var(--edge,#d99a00), 0 10px 22px #ffc22066;background:linear-gradient(160deg,#ffd24d,#ffc220);border-radius:50%;place-items:center;margin-top:-34px;font-size:32px;animation:2.4s ease-in-out infinite ql-edge;display:grid}@property --edge{syntax:"<color>";inherits:false;initial-value:#d99a00}@keyframes ql-edge{0%,to{--edge:#d99a00}50%{--edge:#ffe08a}}.bn-lookup:active .bn-icon{box-shadow:0 3px 0 var(--edge,#d99a00);transform:translateY(3px)}.bn-lookup .bn-label{color:#b37f00;font-size:12px;font-weight:900}@media (prefers-reduced-motion:reduce){.bn-lookup .bn-icon{animation:none}}:root[data-theme=dark] .bn-lookup .bn-label{color:#ffc220}html.short .bn-lookup .bn-icon{width:50px;height:50px;margin-top:-18px;font-size:24px}.ql-overlay{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b1f14b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ql-card{background:var(--paper);border:3px solid var(--ink);width:min(420px,100%);max-height:calc(100dvh - 32px);box-shadow:5px 5px 0 var(--ink);border-radius:22px;flex-direction:column;gap:12px;padding:18px;display:flex;position:relative;overflow:hidden auto}.ql-close{border:2px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;z-index:2;border-radius:50%;font-weight:900;position:absolute;top:8px;right:8px}.ql-listen{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:6px 0;display:flex}.ql-mic{cursor:pointer;width:84px;height:84px;box-shadow:0 5px 0 var(--green-d);background:linear-gradient(160deg,#2fbf62,#1c9c4a);border:0;border-radius:50%;flex:none;font-size:38px}.ql-mic.on{animation:1.1s ease-out infinite ql-pulse}@keyframes ql-pulse{0%{box-shadow:0 0 0 0 #2fbf6299, 0 5px 0 var(--green-d)}to{box-shadow:0 0 0 26px #2fbf6200, 0 5px 0 var(--green-d)}}.ql-heard{color:var(--ink-2);min-height:1.4em;margin:0;font-weight:700}.ql-type{align-items:center;gap:10px;padding-right:30px;display:flex}.ql-type .ql-mic{width:52px;height:52px;font-size:24px}.ql-type .input-big{text-align:left;flex:1;min-width:0}.ql-result{text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.ql-img{width:min(200px,60vw);height:min(200px,60vw);font-size:90px}.ql-name{font-family:var(--f-pixel);max-width:100%;font-size:26px}.ql-code{font-family:var(--f-lcd);background:var(--lcd-bg);color:var(--lcd);letter-spacing:4px;text-shadow:0 0 10px #7cff9b66;border-radius:14px;max-width:100%;padding:6px 18px 2px;font-size:60px;line-height:1}.ql-code .marquee{display:block}.ql-others{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:100%;display:flex}.ql-others small{color:var(--muted);width:100%;font-weight:700}.ql-others button{border:2px solid var(--line);background:var(--surface);max-width:160px;color:var(--ink);cursor:pointer;border-radius:99px;padding:4px 10px;font-weight:700}.ql-list{flex-direction:column;gap:6px;display:flex}.ql-list button{text-align:left;border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:14px;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;min-width:0;padding:6px 10px;font-weight:800;display:grid}.ql-list .product-img{width:44px;height:44px;font-size:26px}.ql-list b{font-family:var(--f-lcd);color:var(--green-d);font-size:26px}.ql-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}:root[data-theme=dark] .chip-warn{color:#ffb3b5;background:#4a1f22}:root[data-theme=dark] .chip-und{color:#b9d4ff;background:#1f3350}:root[data-theme=dark] .chip-kg{background:#3a3216}:root[data-theme=dark] .chip-price{color:#9df0b5;background:#1b3a26}:root[data-theme=dark] .toast.bad{color:#ffd0d2;background:#4a1f22;box-shadow:0 4px #2a1012}:root[data-theme=dark] :is(.badge-chip small,.xp,.podium-val,.stats b,.missed-item b,.f-code,.ql-list b,.chip-price){color:#74e69c}.offline-badge{top:max(6px, env(safe-area-inset-top));z-index:130;background:var(--yellow);color:#3a2a00;cursor:pointer;white-space:nowrap;border:2px solid #7a5600;border-radius:99px;padding:4px 12px;font-size:12px;font-weight:900;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 3px #0003}.offline-badge.syncing{background:var(--green-l);color:var(--green-d);border-color:var(--green)}:root[data-theme=dark] .offline-badge.syncing{color:#74e69c}.voice-bar{background:var(--track);border-radius:999px;height:34px;position:relative;overflow:hidden}.voice-bar span{background:var(--green,#2e9d4f);transition:width .2s;position:absolute;inset:0 auto 0 0}.voice-bar b{height:100%;color:var(--ink);place-items:center;display:grid;position:relative}.celebrate-overlay{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0008;place-items:center;padding:16px;animation:.2s both fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.celebrate-card{text-align:center;background:var(--surface);border:3px solid var(--yellow);width:min(340px,100%);box-shadow:0 6px 0 var(--ink), 0 20px 50px #0006;border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:22px 18px 16px;display:flex;position:relative;overflow:hidden}.celebrate-card h3{font-family:var(--f-pixel);margin:4px 0 0;font-size:22px}.celebrate-card p{color:var(--ink-2);margin:0 0 8px;font-weight:700}.celebrate-card .btn{width:100%}.celebrate-label{text-transform:uppercase;letter-spacing:1px;color:var(--orange);font-size:12px;font-weight:900}.celebrate-icon{background:var(--warm);border:3px solid var(--yellow);border-radius:28px;place-items:center;width:104px;height:104px;font-size:64px;animation:.9s cubic-bezier(.2,1.4,.4,1) both celebrate-spin;display:grid;position:relative}.kind-rank .celebrate-icon{border-color:var(--green)}@keyframes celebrate-spin{0%{transform:scale(.2)rotate(-200deg)}to{transform:none}}.celebrate-burst{pointer-events:none;position:absolute;top:92px;left:50%}.celebrate-burst i{background:var(--yellow);width:8px;height:14px;transform:rotate(var(--a));border-radius:3px;animation:1s ease-out .15s both burst;position:absolute}.celebrate-burst i:nth-child(3n){background:var(--orange)}.celebrate-burst i:nth-child(3n+1){background:var(--green)}@keyframes burst{0%{opacity:1;transform:rotate(var(--a)) translateY(0)}to{opacity:0;transform:rotate(var(--a)) translateY(-130px)}}@media (prefers-reduced-motion:reduce){.celebrate-icon,.celebrate-burst i{animation:none}.celebrate-burst{display:none}}.brand-link{flex:none;align-items:flex-end;gap:3px;line-height:1;display:inline-flex}.brand-link .brand-row{align-items:center;gap:6px;display:flex}.brand-link img{border-radius:8px;width:30px;height:30px}.brand-ver{color:var(--muted);letter-spacing:.3px;margin-bottom:2px;font-size:10px;font-weight:800}:is(.study-code,.mistake-code,.rend-result b,.missed-item b,.f-code,.ql-code,.ql-list b){letter-spacing:0;font-weight:800}.study-code{font-size:26px}.ql-code{font-size:46px}.mistake-code{font-size:32px}.rend-result b{font-size:52px}.missed-item b,.ql-list b{font-size:20px}.f-code{font-size:18px}:is(.ql-name,.stats b,.podium-val,.rank-list .pos,.profile-stats b,.hud-level){font-family:var(--f-body);font-weight:900}.btn.disabled{opacity:.5;pointer-events:none}
