.fd-wrap{margin:16px 0 24px}.fd-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.fd-title{margin:0;font-size:22px;font-weight:800}.fd-sub{color:var(--muted,#64748b);margin:2px 0 0;font-size:13px}.fd-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.fd-card{text-align:center;border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:22px 16px;display:flex;position:relative}.fd-emoji{filter:drop-shadow(0 4px #0000001a);font-size:54px;line-height:1}.fd-art{object-fit:contain;width:88px;height:88px;image-rendering:pixelated}.fd-name{color:var(--text,#0f172a);font-size:15px;font-weight:800;line-height:1.2}.fd-rarity-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--fd-color,#64748b);font-size:11px;font-weight:800}.fd-owned{color:#22a355;letter-spacing:.06em;text-transform:uppercase;background:#22c55e26;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:8px;right:10px}.theme-play .fd-title{font-family:var(--font-display);color:#1d1630;font-size:clamp(22px,2.5vw,30px)}.theme-play .fd-sub{font-family:var(--font-ui);color:#5a4a70;font-weight:700}.theme-play .fd-card{background:var(--surface);border:var(--outline-width) solid var(--outline-dark);border-radius:var(--radius-lg);box-shadow:0 6px 0 var(--fd-base,#0000002e);transition:transform .12s var(--ease-pop), filter .12s;cursor:default}.theme-play .fd-card:hover{filter:drop-shadow(0 0 18px var(--fd-glow,transparent));transform:translateY(-3px)}.theme-play .fd-name{font-family:var(--font-ui);color:#1d1630;font-size:16px;font-weight:800}.theme-play .fd-rarity-tag{font-family:var(--font-ui);color:var(--fd-color);text-shadow:0 0 8px var(--fd-glow,transparent)}.theme-play .fd-owned{background:var(--c-green);color:#0c3a1c;border:2px solid var(--outline-dark);box-shadow:0 2px 0 var(--c-green-base);font-family:var(--font-ui);padding:2px 10px}.theme-play .fd-rarity-legendary,.theme-play .fd-rarity-exclusive{animation:2.6s ease-in-out infinite fdShimmer}@keyframes fdShimmer{0%,to{filter:drop-shadow(0 0 0 var(--fd-glow))}50%{filter:drop-shadow(0 0 22px var(--fd-glow))}}.dark .theme-play .fd-card{background:var(--surface)}.dark .theme-play .fd-name,.dark .theme-play .fd-title{color:#f4ead6}.dark .theme-play .fd-sub{color:#bfa98a}@media (prefers-reduced-motion:reduce){.theme-play .fd-rarity-legendary,.theme-play .fd-rarity-exclusive{animation:none}.theme-play .fd-card:hover{transform:none}}.gift-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10000;background:#0f081e8c;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out giftBackdropIn;display:flex;position:fixed;inset:0}@keyframes giftBackdropIn{0%{opacity:0}to{opacity:1}}.gift-modal{background:var(--surface,#fff);width:100%;max-width:560px;max-height:calc(100vh - 32px);padding:24px;animation:.32s cubic-bezier(.34,1.56,.64,1) giftModalIn;position:relative;overflow:auto}@keyframes giftModalIn{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.gift-modal-close{cursor:pointer;width:36px;height:36px;color:var(--muted,#64748b);background:0 0;border:none;font-size:28px;line-height:1;position:absolute;top:12px;right:14px}.gift-modal-close:hover{color:var(--text,#0f172a)}.gift-modal-header{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.gift-modal-icon{filter:drop-shadow(0 4px #0000001a);font-size:44px;line-height:1}.gift-modal-title{margin:0 0 4px;font-size:22px;font-weight:800}.gift-modal-sub{color:var(--muted,#64748b);margin:0;font-size:14px;line-height:1.45}.gift-modal-step{letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#64748b);align-items:center;gap:10px;margin-bottom:12px;font-size:13px;font-weight:800;display:flex}.gift-modal-back{color:var(--accent,#3b82f6);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:none;font:600 12px/1 inherit}.gift-modal-back:hover{text-decoration:underline}.gift-modal-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:14px;display:grid}.gift-modal-member{cursor:pointer}.gift-modal-member:disabled{opacity:.5;cursor:progress}.gift-modal-error{color:#dc2626;background:#ef44441f;border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:14px;font-weight:700}.gift-modal-footer{text-align:center;opacity:.85;margin-top:18px;font-size:12px}.theme-play .gift-modal-title{font-family:var(--font-display);color:#1d1630}.theme-play .gift-modal-sub{font-family:var(--font-body);color:#3a2f4d}.theme-play .gift-modal-step{font-family:var(--font-ui);color:#5a4a70}.theme-play .gift-modal-close{border-radius:var(--radius-pill);border:2px solid var(--outline-dark);background:var(--surface);color:#1d1630;font-weight:800;box-shadow:0 3px #00000026}.theme-play .gift-modal-error{background:var(--c-red);color:#fff;border:3px solid var(--outline-dark);box-shadow:0 4px 0 var(--c-red-base);font-family:var(--font-ui);border-radius:var(--radius)}.dark .theme-play .gift-modal{background:var(--surface)}.dark .theme-play .gift-modal-title{color:#f4ead6}.dark .theme-play .gift-modal-sub{color:#d0b9a0}.dark .theme-play .gift-modal-close{background:var(--surface);color:#f4ead6}@media (prefers-reduced-motion:reduce){.gift-modal-backdrop,.gift-modal{animation:none}}.rd-wrap{perspective:800px;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;display:flex}.rd-rarity-label{letter-spacing:.14em;text-transform:uppercase;color:var(--rd-color,#94a3b8);text-shadow:0 0 10px var(--rd-glow,transparent);align-items:center;gap:8px;font-family:Fredoka,Nunito,system-ui,sans-serif;font-size:12px;font-weight:800;display:inline-flex}.rd-new{color:#fff;letter-spacing:.12em;background:#ff5757;border:2px solid #000000d9;border-radius:9999px;padding:2px 9px;font-size:10px;animation:1.1s ease-in-out infinite rdNewPulse;box-shadow:0 3px #c93c3c}@keyframes rdNewPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)rotate(-2deg)}}.rd-card{cursor:pointer;width:180px;height:240px;transform-style:preserve-3d;filter:drop-shadow(0 0 18px var(--rd-glow,transparent));transition:transform .62s cubic-bezier(.34,1.56,.64,1);animation:2.8s ease-in-out infinite rdFloat;position:relative}.rd-card.rd-flipped{animation:none;transform:rotateY(180deg)}.rd-card:focus-visible{outline:3px solid var(--rd-color);outline-offset:6px;border-radius:20px}@keyframes rdFloat{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}.rd-face{box-shadow:0 8px 0 var(--rd-base,#00000040);backface-visibility:hidden;border:3px solid #000000d9;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:14px;display:flex;position:absolute;inset:0}.rd-back{background:linear-gradient(135deg, var(--rd-color,#94a3b8), var(--rd-base,#475569));color:#fff}.rd-back-mark{-webkit-text-stroke:3px #000000d9;text-shadow:0 6px #0000004d;font-family:Titan One,sans-serif;font-size:92px;line-height:1}.rd-front{background:#fff;gap:10px;transform:rotateY(180deg)}.rd-emoji{filter:drop-shadow(0 4px #0000001a);font-size:82px;line-height:1}.rd-art{width:112px;height:112px;image-rendering:pixelated;object-fit:contain}.rd-name{text-align:center;color:#1d1630;max-width:100%;font-family:Fredoka,Nunito,system-ui,sans-serif;font-size:15px;font-weight:800;line-height:1.2}.rd-hint{color:#5a4a70;letter-spacing:.06em;text-transform:uppercase;min-height:16px;font-family:Fredoka,Nunito,system-ui,sans-serif;font-size:12px;font-weight:700}.rd-legendary .rd-card,.rd-exclusive .rd-card{animation:2.8s ease-in-out infinite rdFloat,2.2s ease-in-out infinite rdShimmer}@keyframes rdShimmer{0%,to{filter:drop-shadow(0 0 18px var(--rd-glow))}50%{filter:drop-shadow(0 0 36px var(--rd-glow)) brightness(1.08)}}.rd-legendary .rd-card.rd-flipped,.rd-exclusive .rd-card.rd-flipped{animation:2.2s ease-in-out infinite rdShimmer}@media (prefers-reduced-motion:reduce){.rd-card,.rd-legendary .rd-card,.rd-exclusive .rd-card,.rd-new{animation:none}.rd-card{transition:none}}@keyframes gjFloatUp{0%{opacity:1;transform:translateY(0)scale(1)}60%{opacity:1;transform:translateY(-50px)scale(1.1)}to{opacity:0;transform:translateY(-70px)scale(.9)}}.gj-float{pointer-events:none;z-index:10000;text-shadow:0 2px 8px #0000004d;font-size:20px;font-weight:800;animation:.8s ease-out forwards gjFloatUp;position:fixed}@keyframes gjConfettiFall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}to{opacity:0;transform:translateY(350px)rotate(720deg)scale(.3)}}.gj-confetti{pointer-events:none;z-index:10001;border-radius:2px;width:8px;height:8px;position:fixed}@keyframes gjFlash{0%{opacity:.25}to{opacity:0}}.gj-flash{pointer-events:none;z-index:9999;animation:.4s ease-out forwards gjFlash;position:fixed;inset:0}@keyframes gjComboPop{0%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.25)}75%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.gj-combo-pop{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards gjComboPop}@keyframes gjCountdownTick{0%{opacity:0;transform:scale(2.5)}25%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}.gj-countdown-num{animation:.9s ease-out forwards gjCountdownTick}@keyframes gjGoFlash{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.gj-go{animation:.5s ease-out forwards gjGoFlash}@keyframes gjXpGlow{0%,to{text-shadow:0 0 6px #60a5fa33}50%{text-shadow:0 0 16px #60a5fa99}}.gj-xp-glow{animation:1.5s ease-in-out infinite gjXpGlow}@keyframes gjLevelUp{0%{opacity:0;transform:scale(0)rotate(-12deg)}45%{opacity:1;transform:scale(1.25)rotate(4deg)}70%{transform:scale(.92)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(0)}}.gj-level-up{animation:.8s cubic-bezier(.34,1.56,.64,1) forwards gjLevelUp}@keyframes gjPbPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.gj-pb-pulse{animation:.8s ease-in-out 3 gjPbPulse}@keyframes gjStarIn{0%{opacity:0;transform:scale(0)rotate(-45deg)}55%{opacity:1;transform:scale(1.45)rotate(15deg)}80%{transform:scale(.9)rotate(-3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.gj-star-in{animation:.55s cubic-bezier(.34,1.56,.64,1) forwards gjStarIn}@keyframes gjScoreShimmer{0%{background-position:-100% 0}to{background-position:100% 0}}@keyframes gjTimerPulse{0%,to{color:var(--danger,#ef4444)}50%{color:#f88;transform:scale(1.05)}}.gj-timer-warning{animation:.5s ease-in-out infinite gjTimerPulse}@keyframes gjShake{0%,to{transform:translate(0)}10%{transform:translate(-4px,2px)}20%{transform:translate(4px,-2px)}30%{transform:translate(-3px,-1px)}40%{transform:translate(3px,1px)}50%{transform:translate(-2px,2px)}60%{transform:translate(2px,-1px)}70%{transform:translate(-1px,1px)}80%{transform:translate(1px,-1px)}90%{transform:translate(-1px)}}.gj-shake{animation:.4s ease-out gjShake}.gh-container{background:var(--surface,#1e293b);border-bottom:1px solid var(--border,#334155);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 14px;font-size:14px;font-weight:600;display:flex}.gh-section{align-items:center;gap:10px;display:flex}.gh-section.gh-center{gap:16px}.gh-lives{font-size:14px}.gh-timer{font-variant-numeric:tabular-nums;color:var(--text,#f1f5f9);text-align:center;min-width:52px;font-size:22px;font-weight:800}.gh-timer-warning{color:var(--danger,#ef4444)}.gh-progress{align-items:center;gap:6px;display:flex}.gh-progress-track{background:var(--border,#334155);border-radius:4px;width:110px;height:8px;overflow:hidden}.gh-progress-fill{background:var(--accent,#3b82f6);border-radius:4px;height:100%;transition:width .3s}.gh-progress-label{color:var(--muted,#94a3b8);font-size:12px;font-weight:700}.gh-combo{border:2px solid;border-radius:999px;align-items:center;gap:5px;padding:3px 12px;font-size:13px;font-weight:800;display:inline-flex}.gh-combo-label{opacity:.85;font-size:10px}.gh-combo-mult{opacity:.75;font-size:10px}.gh-score{font-variant-numeric:tabular-nums;color:var(--text,#f1f5f9);font-size:22px;font-weight:800}.gh-mute{cursor:pointer;opacity:.6;background:0 0;border:none;padding:4px 6px;font-size:18px}.gh-mute:hover{opacity:1}.gc-overlay{z-index:10000;color:#fff;background:#000000c7;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gc-title{opacity:.8;margin-bottom:8px;font-size:18px;font-weight:700}.gc-num{color:#3b82f6;text-shadow:0 4px #0000004d;font-size:120px;font-weight:900;line-height:1}.gc-num-1{color:#ef4444}.gc-num-2{color:#f59e0b}.gc-num-3{color:#3b82f6}.gc-go{color:#22c55e;text-shadow:0 0 40px #22c55e80;font-size:90px;font-weight:900;line-height:1}@keyframes glsPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.gls-container{flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:24px 16px;display:flex;position:relative}.gls-back{position:absolute;top:12px;left:12px}.gls-avatar{margin-bottom:16px;animation:2s ease-in-out infinite glsPulse}.gls-emoji{margin-bottom:16px;font-size:72px;animation:1.5s ease-in-out infinite glsPulse}.gls-title{margin-bottom:6px;font-size:24px;font-weight:800}.gls-sub{color:var(--muted,#888);font-size:14px}@media (prefers-reduced-motion:reduce){.gls-avatar,.gls-emoji{animation:none}}.gbb-fab{z-index:999;position:fixed;top:10px;left:10px}.gos-container{text-align:center;max-width:640px;margin:0 auto;padding:48px 24px 32px;position:relative;overflow:hidden}.gos-back{position:absolute;top:12px;left:12px}.gos-avatar{justify-content:center;margin-bottom:8px;display:flex}.gos-icon{margin-bottom:4px;font-size:56px}.gos-title{margin-bottom:4px;font-size:28px}.gos-score{font-variant-numeric:tabular-nums;color:var(--accent,#3b82f6);margin-bottom:4px;font-size:64px;font-weight:900;line-height:1}.gos-score-label{color:var(--muted,#94a3b8);margin-bottom:14px;font-size:13px}.gos-stars{height:48px;margin-bottom:14px;font-size:40px}.gos-star{opacity:.15;margin:0 4px;transition:opacity .2s;display:inline-block}.gos-star.active{opacity:1}.gos-pb{color:#2a1a00;background:linear-gradient(135deg,#f59e0b,#fbbf24);border-radius:999px;margin-bottom:14px;padding:8px 22px;font-size:15px;font-weight:800;display:inline-block}.gos-xp{border-radius:14px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 22px;display:inline-flex}.gos-xp-amount{color:var(--accent,#3b82f6);font-size:24px;font-weight:900}.gos-xp-level{color:var(--muted,#94a3b8);font-size:12px;font-weight:700}.gos-xpbar{max-width:320px;margin:0 auto 18px}.gos-xpbar-track{background:var(--border,#334155);border-radius:6px;height:10px;overflow:hidden}.gos-xpbar-fill{background:linear-gradient(90deg, var(--accent,#3b82f6), #22c55e);border-radius:6px;height:100%;transition:width 1s ease-out}.gos-xpbar-label{color:var(--muted,#94a3b8);margin-top:5px;font-size:11px;font-weight:700}.gos-levelup{color:#fff;background:linear-gradient(135deg,#f59e0b,#ef4444,#8b5cf6);border-radius:18px;margin-bottom:16px;padding:14px 34px;font-size:22px;font-weight:900;display:inline-block;box-shadow:0 0 30px #f59e0b66}.gos-stats{flex-wrap:wrap;justify-content:center;gap:32px;margin-bottom:28px;display:flex}.gos-stat-value{font-size:26px;font-weight:800}.gos-stat-combo{color:#f59e0b}.gos-stat-label{color:var(--muted,#94a3b8);font-size:12px;font-weight:700}.gos-drop{background:var(--surface,#1e293b);border:2px solid #f59e0b;border-radius:18px;margin-bottom:18px;padding:14px 26px;display:inline-block}.gos-drop-label{color:#f59e0b;letter-spacing:.1em;margin-bottom:4px;font-size:11px;font-weight:800}.gos-drop-emoji{font-size:40px}.gos-drop-name{font-size:15px;font-weight:800}.gos-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.qp-container{padding:16px}.qp-timer-track{background:var(--surface,#e5e7eb);border:1px solid var(--border,transparent);border-radius:4px;height:8px;margin-bottom:16px;overflow:hidden}.qp-timer-fill{background:var(--accent,#4f46e5);border-radius:4px;height:100%}.qp-prompt{text-align:center;margin-bottom:20px;font-size:24px;font-weight:700}.qp-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.qp-option{text-align:left;justify-content:flex-start;align-items:center;gap:10px;padding:18px 16px;font-size:17px;font-weight:700;display:flex}.qp-num{opacity:.65;min-width:18px;font-size:13px}.qp-text{flex:1}.qp-correct{filter:brightness(1.1)saturate(1.2);outline-offset:2px;outline:3px solid #22c55e}.qp-wrong{filter:grayscale(.5)brightness(.85)}@media (prefers-reduced-motion:reduce){.gj-float,.gj-confetti,.gj-flash,.gj-combo-pop,.gj-countdown-num,.gj-go,.gj-level-up,.gj-pb-pulse,.gj-star-in,.gj-shake,.gj-timer-warning{animation-duration:.01ms!important;animation-iteration-count:1!important}}.arcade-page{max-width:1400px;margin:0 auto;padding:16px}.arcade-hero{margin-bottom:20px}.arcade-title{margin:0 0 4px;font-size:28px;font-weight:800}.arcade-sub{color:var(--muted,#64748b);margin:0}.arcade-setbar{background:var(--surface,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:flex}.arcade-setbar-label{font-size:13px;font-weight:600}.arcade-error{color:var(--danger,#dc2626);margin-bottom:12px}.arcade-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.arcade-tabs>button{flex:1;min-width:180px}.arcade-cats{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.arcade-cat{border:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.arcade-cat.active{background:var(--accent,#3b82f6);color:#fff;border-color:var(--accent,#3b82f6)}.arcade-cat-count{opacity:.7}.arcade-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.arcade-tile{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);cursor:pointer;border-radius:12px;flex-direction:column;min-height:170px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.arcade-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.arcade-tile-disabled{opacity:.5;filter:grayscale(.4);cursor:not-allowed}.arcade-fav{cursor:pointer;opacity:.3;background:0 0;border:none;font-size:18px;position:absolute;top:8px;right:8px}.arcade-fav.on{opacity:1}.arcade-tile-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.arcade-tile-icon{font-size:32px}.arcade-tile-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.arcade-tile-chips{gap:4px;margin-top:3px;display:flex}.arcade-tile-desc{color:var(--muted,#64748b);flex:1;font-size:13px;line-height:1.4}.arcade-tile-warn{color:var(--warning,#f59e0b);align-items:center;gap:4px;margin-top:6px;font-size:11px;display:flex}.arcade-tile-play{width:100%;margin-top:10px}:root{color:#0f172a;--bg:#f6f7fb;--surface:#fff;--border:#e3e6ee;--text:#0f172a;--muted:#637085;--accent:#2754ff;--accent-soft:#e9eeff;--success:#1f9d55;--warning:#f4b740;--danger:#e25555;--shadow:0 14px 32px #0f172a14;--radius:18px;--radius-sm:12px;background:#f6f7fb;font-family:Manrope,Segoe UI,system-ui,-apple-system,sans-serif}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f172a;--surface:#1e293b;--border:#334155;--text:#f1f5f9;--muted:#94a3b8;--accent:#60a5fa;--accent-soft:#60a5fa26;--success:#4ade80;--warning:#fbbf24;--danger:#f87171;--shadow:0 14px 32px #0006;color:#f1f5f9;background:#0f172a}.dark .sidebar,.dark .topbar{background:#1e293b}.dark .sidebar-link:hover{background:#334155}.dark .card,.dark .section,.dark .surface{background:#1e293b;border-color:#334155}.dark input,.dark textarea,.dark select,.dark .input{color:#f1f5f9;background:#0f172a;border-color:#475569}.dark .chip{color:#e2e8f0;background:#334155}.dark .button.ghost{color:#94a3b8}.dark .button.ghost:hover{color:#e2e8f0;background:#334155}.dark a{color:#60a5fa}.dark table{color:#e2e8f0}.dark .sidebar-link.active{color:#60a5fa;background:#60a5fa26}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;margin:0 0 8px;font-weight:700}h4{letter-spacing:-.01em;margin:0;font-weight:700}p{margin:0}.app-shell{background:var(--bg);min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:240px;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.sidebar-brand{letter-spacing:.6px;cursor:pointer;margin-bottom:28px;font-size:20px;font-weight:800}.sidebar-nav{flex-direction:column;gap:8px;display:flex}.sidebar-link{color:var(--muted);border-radius:12px;padding:10px 14px;font-weight:600;display:block}.sidebar-link:hover{color:var(--text);background:#f3f5fb}.sidebar-link.active{background:var(--accent-soft);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:20px}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px 36px;display:flex}.topbar-title{color:var(--muted);font-weight:600}.content{width:100%;max-width:1120px;margin:0 auto;padding:36px 36px 84px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.page-title{font-size:32px}.page-subtitle{color:var(--muted);font-size:15px}.hub-header-meta{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.hub-actions{align-items:flex-start;gap:16px;display:grid}.hub-action-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);gap:10px;padding:14px 16px;display:grid}.hub-action-group .row{flex-wrap:wrap}.hub-action-group .muted{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.compact-grid{gap:14px}.dashboard-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.stat-grid.compact .stat{padding:14px}.card-grid>.surface{cursor:default}.surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;transition:box-shadow .12s,transform .12s}.surface:hover{transform:translateY(-1px);box-shadow:0 18px 40px #0f172a1f}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:12px 18px;font-weight:600;transition:transform 80ms,box-shadow 80ms}.button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2b5cff33}.button.secondary{background:var(--accent-soft);color:var(--accent)}.button.ghost{color:#2a2f3a;background:0 0;border:1px solid #d7d9e2}.button.danger{color:#b71c1c;background:#ffe9ea;border:1px solid #f3c5c8}.input,.textarea,select.input{border-radius:var(--radius-sm);background:#fbfcff;border:1px solid #d8dbe6;width:100%;padding:12px 14px;font-size:14px}.input:focus,.textarea:focus,select.input:focus{border-color:#b8c6ff;outline:none;box-shadow:0 0 0 3px #2754ff1f}.textarea{resize:vertical;min-height:80px}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.muted{color:var(--muted);font-size:14px}.set-card{flex-direction:column;gap:12px;display:flex}.set-card-info{gap:12px;display:grid}.set-card-meta{color:var(--muted);gap:12px;font-size:13px;display:flex}.set-card-actions{flex-wrap:nowrap;gap:8px;margin-top:4px}.set-card-actions .button{white-space:nowrap;flex:1 1 0;justify-content:center;padding:6px 10px;font-size:13px}.set-card-actions .button.ghost{padding:6px 10px}.set-create-header{justify-content:space-between;margin-bottom:16px;display:flex}.set-form{border-radius:var(--radius-sm);background:#fbfcff;border:1px solid #e2e6f2;padding:18px}.set-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.set-form-actions{justify-content:flex-end;margin-top:12px;display:flex}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;gap:10px;padding:8px;display:flex}.tab-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 16px;font-weight:600}.tab-button.active{background:var(--accent-soft);color:var(--accent)}.hub-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.hub-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.hub-mode-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:16px;display:grid}.hub-mode-card{border-radius:var(--radius);background:#fbfcff;border:1px solid #e2e6f2;flex-direction:column;gap:10px;padding:18px;display:flex}.hub-mode-card .button{align-self:flex-start}.hub-preview-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.hub-preview-card{background:#fbfcff}.hub-preview-text{color:var(--text);font-weight:600}.jp-helper{border-radius:var(--radius-sm);background:#fbfcff;border:1px dashed #d9dde8;gap:10px;margin-bottom:12px;padding:14px;display:grid}.jp-helper.compact{gap:8px;padding:12px}.jp-helper-notes{flex-wrap:wrap;gap:12px;display:flex}.jp-warning{color:#b45309;font-size:13px}.jp-helper-hint{font-size:12px}.jp-guide{border-radius:var(--radius-sm);background:#fbfcff;border:1px solid #e2e6f2;margin-bottom:12px;padding:10px 12px}.jp-guide.compact{padding:8px 10px}.jp-guide summary{cursor:pointer;color:var(--text);font-weight:600}.jp-guide-body{gap:12px;margin-top:10px;display:grid}.jp-guide-block h4{margin-bottom:6px}.jp-guide-examples{gap:6px;font-size:12px;display:grid}.jp-guide-examples code{background:#f1f5ff;border:1px solid #dde6ff;border-radius:8px;padding:6px 8px;font-family:JetBrains Mono,Consolas,monospace}.jp-guide-button{align-self:flex-start;padding:6px 12px;font-size:12px}.compact-card{padding:16px}.insight-list{color:var(--muted);gap:8px;margin:12px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.insight-list strong{color:var(--text);font-weight:600}.quiz-shell{justify-content:center;display:flex}.quiz-card{gap:16px;width:min(760px,100%);display:grid}.quiz-front{font-size:26px;font-weight:700}.quiz-answer{gap:12px;display:grid}.quiz-reveal{gap:8px;display:grid}.quiz-text{font-weight:600}.quiz-actions{gap:12px;margin-top:12px;display:flex}.mc-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.option-button{color:var(--text);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:#fff;border:1px solid #d7d9e2;width:100%;padding:14px 16px;font-weight:600;transition:transform 80ms,box-shadow 80ms}.option-button:hover:enabled{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.option-button.correct{color:#1f7a45;background:#e9f7ef;border-color:#cde8d8}.option-button.incorrect{color:#b71c1c;background:#ffe9ea;border-color:#f3c5c8}.mc-feedback{gap:6px;margin-top:16px;display:grid}.feedback-pill{border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.feedback-pill.correct{color:#1f7a45;background:#e9f7ef}.feedback-pill.incorrect{color:#b71c1c;background:#ffe9ea}.explanation-text{color:var(--muted);font-size:13px;line-height:1.4}.answer-feedback{gap:6px;width:min(760px,100%);display:grid}.ordering-shell{gap:12px;width:min(760px,100%);display:grid}.ordering-chosen,.ordering-available{flex-wrap:wrap;gap:8px;display:flex}.ordering-chip{cursor:pointer}.ordering-chip.selected{background:var(--accent-soft);color:var(--accent);border-color:#ccd8ff}.particle-options{flex-wrap:wrap;gap:8px;display:flex}.particle-option.selected{color:#1f7a45;background:#e9f7ef;border-color:#cde8d8}.conjugation-clue{text-align:left;gap:10px;width:100%;font-size:18px;display:grid}.conjugation-row{justify-content:space-between;gap:12px;display:flex}.conjugation-value{color:var(--text);font-weight:600}ruby{ruby-position:over}rt{color:var(--muted);font-size:.55em}.mc-note{margin-top:6px;font-size:12px}.chip{background:#f3f5fb;border:1px solid #e5e8f0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex}.dictation-prompt{gap:12px;width:100%;display:grid}.dictation-audio{justify-content:center;display:flex}.dictation-toggle{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.dictation-toggle .chip.active{color:#1f7a45;background:#e9f7ef;border-color:#cde8d8}.dictation-text{font-size:28px;font-weight:600}.chip-delete{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:12px}.mode-toggle{background:#eef2ff;border:1px solid #dfe5ff;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.mode-button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:999px;padding:8px 14px;font-weight:600}.mode-button.active{color:var(--text);background:#fff;box-shadow:0 4px 10px #0f172a14}.study-shell{justify-items:center;gap:24px;display:grid}.study-card{text-align:center;justify-content:center;align-items:center;width:min(760px,100%);min-height:360px;padding:32px;font-size:28px;font-weight:600;display:flex}.study-card.revealed{background:#f4f7ff;border-color:#d9e3ff}.rating-buttons{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;width:min(760px,100%);display:grid}.rating-buttons .button{border-radius:var(--radius-sm);padding:12px 16px}.rating-buttons .again{color:#b71c1c;background:#ffe9ea}.rating-buttons .hard{color:#8a5a10;background:#fff6df}.rating-buttons .good{color:#1f7a45;background:#e9f7ef}.rating-buttons .easy{color:#1f4aff;background:#e8f0ff}.learn-buttons{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:min(760px,100%);display:grid}.learn-buttons .button{border-radius:var(--radius-sm);padding:14px 18px;font-size:16px}.learn-incorrect{color:#b71c1c;background:#ffe9ea}.learn-correct{color:#1f7a45;background:#e9f7ef}.answer-area{gap:12px;width:min(760px,100%);display:grid}.answer-input{height:56px;font-size:16px}.answer-compare{border-radius:var(--radius-sm);background:#f8f9ff;border:1px solid #e2e5ff;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;width:min(760px,100%);padding:16px;display:grid}.answer-text{color:var(--text);word-break:break-word;margin-top:6px;font-weight:600}.audio-button{color:var(--text);cursor:pointer;background:#fff;border:1px solid #d7d9e2;border-radius:999px;padding:8px 14px;font-weight:600}.audio-controls{gap:10px;display:grid}.audio-controls.compact{gap:6px}.audio-buttons{flex-wrap:wrap;gap:8px;display:flex}.audio-button.active{color:#1f4aff;background:#eef2ff;border-color:#cdd8ff}.audio-toggle{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.audio-toggle input{accent-color:var(--accent)}.audio-error{color:var(--muted);font-size:13px}.audio-status{color:var(--muted);font-size:12px}.audio-status.on{color:#1f7a45}.audio-status.off{color:var(--muted)}.audio-button:hover{box-shadow:0 6px 16px #0f172a14}.assignment-card{background:#f7f9ff;border:1px solid #dbe4ff;gap:8px;display:grid}.assignment-card.completed{opacity:.7;background:#fbfcff}.assignment-card:hover{box-shadow:0 18px 40px #0f172a1f}.assignment-card .chip{margin-right:6px}.assignment-card .row{margin-top:4px}.status-chip.completed{color:#1f7a45;background:#e9f7ef;border-color:#cde8d8}.status-chip.in_progress{color:#8a5a10;background:#fff6df;border-color:#f1e1b6}.status-chip.not_started{color:var(--muted);background:#f3f5fb}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat{border-radius:var(--radius-sm);background:#f7f8ff;border:1px solid #e2e5ff;padding:18px}.dashboard-page .page-title{font-size:18px}.dashboard-page .page-subtitle{font-size:11px}.dashboard-page .section{padding:10px}.dashboard-page .stat{padding:8px;font-size:11px}.dashboard-page .stat div:last-child{font-size:13px;font-weight:700}.dashboard-page .surface{padding:10px}.dashboard-page .button{padding:5px 8px;font-size:11px}.dashboard-page .chip{padding:3px 7px;font-size:10px}.dashboard-page .row{gap:6px}.dashboard-page .card-grid{gap:10px}.dashboard-page .assignment-card{gap:6px}.dashboard-page .assignment-card .button{align-self:flex-start;width:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #eceff6;padding:10px;font-size:14px}.card-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.card-row td{vertical-align:middle}.card-row-actions{text-align:right;width:120px}.card-row-actions .button{padding:8px 12px}.row-helper{justify-items:end;gap:6px;display:grid}.row-helper .input{min-width:140px}.row-helper .muted{font-size:11px}.row-helper.compact{gap:4px}.row-helper-text{text-align:right;max-width:180px}.row-warning{color:#b45309;font-size:11px}.row-choice{justify-items:end;gap:6px;display:grid}.row-choice-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.row-choice .chip{padding:4px 8px;font-size:11px}.textarea{font-family:inherit}.empty{text-align:center;border-radius:var(--radius);color:var(--muted);background:#fbfcff;border:1px dashed #d9dde8;padding:48px}.empty-compact{padding:28px}.assignment-groups{gap:20px;display:grid}.assignment-group{gap:12px;display:grid}.assignment-group-header{justify-content:space-between;align-items:center;display:flex}.assignment-create-header{justify-content:space-between;margin-bottom:16px;display:flex}.assignment-form{border-radius:var(--radius-sm);background:#fbfcff;border:1px solid #e2e6f2;padding:18px}.assignment-form-grid{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr);gap:14px;display:grid}.field{gap:6px;display:grid}.assignment-create-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.field span,.field label{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.field.span-2{grid-column:span 2}.continue-grid{gap:20px;display:grid}.continue-section{gap:12px;display:grid}.entry-shell{justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:40px 20px;display:flex}.entry-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow);text-align:center;padding:36px}.entry-brand{margin-bottom:16px;font-size:22px;font-weight:800}.entry-subtitle{color:var(--muted);margin-bottom:24px;font-size:15px}.entry-actions{gap:12px;margin-bottom:16px;display:grid}.entry-footnote{font-size:13px}.hamburger{cursor:pointer;background:0 0;border:none;border-radius:8px;margin-right:8px;padding:8px;font-size:22px;line-height:1;display:none}.hamburger:hover{background:#0000000d}.sidebar-backdrop{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:none;position:fixed;inset:0}.sidebar-backdrop.open{display:block}@media (width<=900px){.hamburger{justify-content:center;align-items:center;display:inline-flex}.sidebar{z-index:100;width:280px;height:100vh;transition:transform .25s ease-out;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.sidebar.open{transform:translate(0)}.topbar{padding:12px 16px}.topbar-title{font-size:14px}.content{padding:16px}.card-grid{grid-template-columns:1fr!important}}@media (width<=480px){.topbar>div:last-child{gap:4px!important}.topbar .button{padding:6px 10px!important;font-size:12px!important}.page-title{font-size:22px!important}.page-subtitle{font-size:13px!important}.stat-grid{grid-template-columns:repeat(2,1fr)!important}.section,.card{padding:14px!important}table{font-size:12px!important}}@media (width<=700px){.content{padding:16px}.topbar{padding:12px 16px}.page-header{flex-direction:column;align-items:flex-start}.hub-actions{width:100%}.assignment-form-grid,.set-form-grid{grid-template-columns:1fr}.assignment-create-actions{flex-direction:column;align-items:flex-start}.field.span-2{grid-column:span 1}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:32px;display:flex}.auth-card{border:1px solid var(--border);width:100%;max-width:480px;box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:28px}.auth-header h1{margin:0 0 6px}.auth-tabs{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0;display:grid}.tab-button{border:1px solid var(--border);cursor:pointer;background:#f6f7fb;border-radius:999px;padding:8px 12px;font-size:.9rem}.tab-button.active{color:#1d4ed8;background:#eef2ff;border-color:#c7d2fe}.auth-form{gap:12px;display:grid}.field{gap:6px;font-size:.9rem;display:grid}.error-text{color:#dc2626;font-size:.85rem}.auth-demo{gap:8px;margin-top:20px;display:grid}.auth-signed-in{border:1px solid var(--border);background:#f9fafc;border-radius:14px;margin-bottom:16px;padding:16px}.auth-user{font-weight:600}.class-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.class-card-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.class-progress-list{flex-direction:column;gap:16px;display:flex}.class-progress-table{gap:8px;margin-top:12px;display:grid}.class-progress-row{background:#f8fafce6;border:1px solid #0f172a14;border-radius:12px;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:10px 12px;font-size:.92rem;display:grid}.class-progress-row.class-progress-head{color:#475569;background:0 0;border:none;padding:0 4px;font-weight:600}.class-progress-toggle{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:0;display:flex}.class-progress-summary{flex-direction:column;align-items:flex-end;gap:6px;font-size:.9rem;display:flex}.chip.subtle{color:#475569;background:#e2e8f0b3}.roster-table{gap:10px;padding:16px;display:grid}.roster-row{background:#f8fafce6;border:1px solid #0f172a14;border-radius:12px;grid-template-columns:2fr 1fr;gap:12px;padding:10px 12px;font-size:.92rem;display:grid}.roster-row.roster-head{color:#475569;background:0 0;border:none;padding:0 4px;font-weight:600}.class-code{border:1px dashed var(--border);background:#f6f7fb;border-radius:999px;padding:6px 12px;font-size:.9rem}.xp-bar-container{align-items:center;gap:8px;padding:4px 12px;font-size:13px;display:flex}.xp-level-badge{background:var(--accent);color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.xp-bar-track{background:var(--border);border-radius:999px;flex:1;min-width:80px;height:8px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg,var(--accent),#6c63ff);border-radius:999px;height:100%;transition:width .5s}.xp-bar-text{color:var(--muted);white-space:nowrap;font-weight:600}.xp-streak{font-weight:600}.xp-toast{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.xp-toast-item{background:var(--accent);color:#fff;border-radius:var(--radius);padding:12px 20px;font-size:16px;font-weight:700;animation:.3s xp-slide-in;box-shadow:0 8px 24px #00000026}.xp-toast-item.level-up{background:linear-gradient(135deg,#f59e0b,#ef4444);padding:16px 24px;font-size:20px}.xp-toast-item.achievement{background:#6c63ff}@keyframes xp-slide-in{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.notif-bell{cursor:pointer;padding:4px;font-size:20px;position:relative}.notif-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-6px}.notif-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:100;width:320px;max-height:400px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.notif-item{border-bottom:1px solid var(--border);padding:10px 14px}.notif-item.unread{background:var(--accent-soft)}.tab-bar{border-bottom:2px solid var(--border);gap:0;margin-bottom:20px;display:flex}.tab-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:600}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.join-code{letter-spacing:12px;text-align:center;color:var(--accent);padding:24px 0;font-family:monospace;font-size:4rem;font-weight:800}.live-question{text-align:center;padding:32px 16px;font-size:1.6rem;font-weight:700}.live-answer-grid{grid-template-columns:1fr 1fr;gap:12px;max-width:600px;margin:0 auto;padding:16px;display:grid}.live-answer-btn{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:center;padding:20px;font-size:1.1rem;font-weight:600}.live-answer-btn:hover{border-color:var(--accent)}.live-answer-btn.correct{border-color:var(--success);background:#dcfce7}.live-answer-btn.wrong{border-color:var(--danger);background:#fee2e2}.live-waiting{text-align:center;color:var(--muted);padding:48px;font-size:1.2rem}.live-score{text-align:center;padding:16px;font-size:2rem;font-weight:800}.live-participants{flex-wrap:wrap;gap:8px;padding:16px;display:flex}.live-participant-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.achievement-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);padding:16px}.achievement-card.earned{border-color:var(--success);background:#f0fdf4}.achievement-card.unearned{opacity:.6}.ach-progress{background:var(--border);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.ach-progress-fill{background:var(--accent);border-radius:999px;height:100%}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.skill-node{border-radius:var(--radius-sm);border:2px solid var(--border);text-align:center;padding:16px}.skill-node.locked{opacity:.4;background:#f1f5f9}.skill-node.available{border-color:var(--accent);background:var(--accent-soft)}.skill-node.completed{border-color:var(--success);background:#f0fdf4}.skill-node.mastered{background:#fffbeb;border-color:#f59e0b}.lb-table{border-collapse:collapse;width:100%}.lb-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--muted);padding:10px 14px;font-size:13px}.lb-table td{border-bottom:1px solid var(--border);padding:10px 14px}.admin-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:16px;display:flex}.admin-list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.colour-dot{border-radius:999px;width:16px;height:16px;margin-right:8px;display:inline-block}.phase-indicator{text-align:center;color:var(--accent);text-transform:uppercase;letter-spacing:1px;padding:8px;font-size:14px;font-weight:700}.activity-progress{background:var(--border);border-radius:999px;height:6px;margin-bottom:16px;overflow:hidden}.activity-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.mc-options{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.mc-option{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:center;padding:14px;font-size:15px;font-weight:600}.mc-option:hover{border-color:var(--accent)}.mc-option.correct{border-color:var(--success);background:#dcfce7}.mc-option.wrong{border-color:var(--danger);background:#fee2e2}.daily-challenge{border-radius:var(--radius-sm);border:2px solid var(--warning);background:#fffbeb;padding:16px}.parent-view{max-width:800px;margin:40px auto;padding:0 20px}.parent-stat{text-align:center;color:var(--accent);font-size:2rem;font-weight:800}.parent-label{text-align:center;color:var(--muted);font-size:13px}.chunk-table{border-collapse:collapse;width:100%;margin:12px 0}.chunk-table th,.chunk-table td{border-bottom:1px solid var(--border);text-align:left;padding:8px 12px;font-size:14px}.chunk-table th{color:var(--muted);font-weight:600}.lesson-stage{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;padding:14px}.frame-item{background:var(--bg);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 12px;display:flex}@media (width<=640px){.live-answer-grid,.mc-options{grid-template-columns:1fr}.join-code{letter-spacing:6px;font-size:2.5rem}.achievement-grid{grid-template-columns:1fr}}.mentor-messages{flex-direction:column;gap:12px;padding:8px 0;display:flex}.mentor-bubble{border-radius:var(--radius-sm);max-width:80%;padding:12px 16px;font-size:14px;line-height:1.5}.mentor-bubble.student{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.mentor-bubble.mentor{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble-role{opacity:.7;margin-bottom:4px;font-size:11px;font-weight:700}.bubble-thinking{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent);margin-top:8px;padding:8px 12px;font-size:13px;font-style:italic}.high-contrast{--bg:#000;--surface:#111;--text:#fff;--muted:#ff0;--accent:#0ff;--accent-soft:#033;--border:#fff;--success:#0f0;--danger:red;--warning:#ff0}.high-contrast .sidebar{background:#111;border-color:#fff}.high-contrast .topbar{background:#000;border-color:#fff}.high-contrast .surface{background:#111;border-color:#555}.high-contrast .button{border-color:#fff}.high-contrast input,.high-contrast textarea,.high-contrast select{color:#fff;background:#222;border-color:#555}.skip-to-content{background:var(--accent);color:#fff;z-index:1000;border-radius:0 0 8px 8px;padding:12px 20px;font-weight:700;transition:top .2s;position:absolute;top:-100px;left:8px}.skip-to-content:focus{top:0}:focus-visible{outline:3px solid var(--accent,#3b82f6);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.muted{color:var(--muted,#637085)}.dark .muted{color:#9ca3af}button,.button,.sidebar-link,[role=button]{min-height:36px}@media (pointer:coarse){button,.button,.sidebar-link{min-height:44px}}input:focus-visible,textarea:focus-visible,select:focus-visible,.input:focus-visible{border-color:var(--accent,#3b82f6);box-shadow:0 0 0 3px #3b82f633}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes tp-pop-in{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes tp-bounce-in{0%{opacity:0;transform:translateY(24px)scale(.9)}60%{opacity:1;transform:translateY(-6px)scale(1.05)}to{transform:translateY(0)scale(1)}}@keyframes tp-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes tp-press{0%{transform:translateY(0)}50%{transform:translateY(4px)scale(.98)}to{transform:translateY(0)}}@keyframes tp-flip-reveal{0%{transform:rotateY(0)scale(1)}50%{transform:rotateY(90deg)scale(1.08)}to{transform:rotateY(0)scale(1)}}.theme-play .anim-pop-in{animation:tp-pop-in .45s var(--ease-pop) both}.theme-play .anim-bounce-in{animation:tp-bounce-in .55s var(--ease-pop) both}.theme-play .anim-wiggle{animation:.6s ease-in-out tp-wiggle}@media (prefers-reduced-motion:reduce){.theme-play .anim-pop-in,.theme-play .anim-bounce-in,.theme-play .anim-wiggle{animation:none!important}}.theme-play{--c-red:#ff5757;--c-red-base:#c93c3c;--c-yellow:#ffd53d;--c-yellow-base:#d1a520;--c-green:#4ade80;--c-green-base:#22a355;--c-blue:#4ec1ff;--c-blue-base:#2a8fcc;--c-purple:#a78bfa;--c-purple-base:#7c5cd6;--c-pink:#ff7ab8;--c-pink-base:#cc4e8b;--bg:#faf4e6;--bg-sky:#e4f3ff;--bg-mint:#e6f9ec;--bg-peach:#ffe8d6;--surface:#fff;--outline-dark:#000000d9;--outline-width:3px;--border:#0000001f;--radius-xs:12px;--radius-sm:14px;--radius:20px;--radius-lg:28px;--radius-pill:9999px;--shadow-candy:0 6px 0 #0000002e;--shadow-candy-sm:0 4px 0 #00000026;--shadow-float:0 8px 0 #00000026, 0 16px 24px #0000001a;--shadow:0 6px 0 #00000026;--accent:var(--c-blue);--accent-soft:#e4f3ff;--success:var(--c-green);--warning:var(--c-yellow);--danger:var(--c-red);--font-display:"Titan One", "Fredoka", system-ui, sans-serif;--font-ui:"Fredoka", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-quick:cubic-bezier(.65, 0, .35, 1);--ease-slide:cubic-bezier(.87, 0, .13, 1);background:var(--bg);font-family:var(--font-body);color:#2a2330;letter-spacing:.005em}.theme-play h1,.theme-play h2,.theme-play h3{font-family:var(--font-display);letter-spacing:.01em;color:#1d1630;font-weight:400}.theme-play h1{font-size:clamp(28px,4vw,48px)}.theme-play h2{font-size:clamp(22px,3vw,34px)}.theme-play h3{font-size:clamp(18px,2.2vw,24px)}.theme-play h4,.theme-play h5,.theme-play h6,.theme-play strong{font-family:var(--font-ui);letter-spacing:0;font-weight:800}.theme-play .page-title,.theme-play .page-subtitle{font-family:var(--font-ui);font-weight:800}.theme-play .btn-candy{background:var(--c-blue);color:#fff;border:var(--outline-width) solid var(--outline-dark);border-radius:var(--radius);box-shadow:0 6px 0 var(--c-blue-base);font:800 18px/1 var(--font-ui);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:50px;transition:transform 90ms var(--ease-quick), box-shadow 90ms var(--ease-quick), filter .12s var(--ease-quick);text-shadow:0 1px #00000026;justify-content:center;align-items:center;gap:8px;padding:14px 22px;display:inline-flex}.theme-play .btn-candy:hover{filter:brightness(1.05)}.theme-play .btn-candy:active{box-shadow:0 2px 0 var(--c-blue-base);transform:translateY(4px)}.theme-play .btn-candy:focus-visible{outline-offset:3px;outline:3px solid #1d1630}.theme-play .btn-candy:disabled{filter:grayscale(.4)brightness(.95);cursor:not-allowed;opacity:.7}.theme-play .btn-candy.red{background:var(--c-red);box-shadow:0 6px 0 var(--c-red-base)}.theme-play .btn-candy.red:active{box-shadow:0 2px 0 var(--c-red-base)}.theme-play .btn-candy.green{background:var(--c-green);box-shadow:0 6px 0 var(--c-green-base);color:#0c3a1c;text-shadow:none}.theme-play .btn-candy.green:active{box-shadow:0 2px 0 var(--c-green-base)}.theme-play .btn-candy.yellow{background:var(--c-yellow);box-shadow:0 6px 0 var(--c-yellow-base);color:#3a2a00;text-shadow:none}.theme-play .btn-candy.yellow:active{box-shadow:0 2px 0 var(--c-yellow-base)}.theme-play .btn-candy.purple{background:var(--c-purple);box-shadow:0 6px 0 var(--c-purple-base)}.theme-play .btn-candy.purple:active{box-shadow:0 2px 0 var(--c-purple-base)}.theme-play .btn-candy.pink{background:var(--c-pink);box-shadow:0 6px 0 var(--c-pink-base)}.theme-play .btn-candy.pink:active{box-shadow:0 2px 0 var(--c-pink-base)}.theme-play .btn-candy.sm{min-height:38px;box-shadow:0 4px 0 var(--c-blue-base);padding:8px 14px;font-size:14px}.theme-play .btn-candy.sm:active{box-shadow:0 1px 0 var(--c-blue-base);transform:translateY(3px)}.theme-play .btn-candy.lg{min-height:60px;padding:18px 28px;font-size:22px}.theme-play .btn-candy.pill{border-radius:var(--radius-pill)}.theme-play .card-candy{background:var(--surface);border:var(--outline-width) solid var(--outline-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-candy);padding:20px}.theme-play .card-candy.tint-sky{background:var(--bg-sky)}.theme-play .card-candy.tint-mint{background:var(--bg-mint)}.theme-play .card-candy.tint-peach{background:var(--bg-peach)}.theme-play .card-candy.tint-yellow{background:#fff4cc}.theme-play .pill-candy{background:var(--surface);border:var(--outline-width) solid var(--outline-dark);border-radius:var(--radius-pill);font:800 14px/1 var(--font-ui);box-shadow:var(--shadow-candy-sm);color:#1d1630;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.theme-play .badge-candy{background:var(--c-yellow);color:#3a2a00;border:2px solid var(--outline-dark);border-radius:var(--radius-pill);font:800 12px/1 var(--font-ui);box-shadow:0 3px 0 var(--c-yellow-base);align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.theme-play .tile-candy{background:var(--surface);border:var(--outline-width) solid var(--outline-dark);border-radius:var(--radius);box-shadow:var(--shadow-candy);font:700 16px/1.3 var(--font-ui);color:#1d1630;cursor:pointer;transition:transform 90ms var(--ease-quick), box-shadow 90ms var(--ease-quick), filter .12s;text-align:left;padding:16px 20px}.theme-play .tile-candy:hover{filter:brightness(1.03);transform:translateY(-2px)}.theme-play .tile-candy:active{box-shadow:var(--shadow-candy-sm);transform:translateY(4px)}.theme-play .section,.theme-play .card,.theme-play .surface{border-radius:var(--radius-lg);border:var(--outline-width) solid var(--outline-dark);box-shadow:var(--shadow-candy)}.theme-play .button{font-family:var(--font-ui);border-radius:var(--radius);letter-spacing:.01em;font-weight:800}.theme-play input,.theme-play textarea,.theme-play select,.theme-play .input{border-radius:var(--radius-sm);border:2px solid var(--outline-dark);font-family:var(--font-body)}.theme-play .gh-container{background:var(--surface);border-bottom:var(--outline-width) solid var(--outline-dark);min-height:64px;padding:10px 18px;box-shadow:0 4px #00000014}.theme-play .gh-timer{font-family:var(--font-display);color:#1d1630;font-size:28px}.theme-play .gh-timer-warning,.theme-play .gj-timer-warning{color:var(--c-red-base)}.theme-play .gh-progress-track{border-radius:var(--radius-pill);border:2px solid var(--outline-dark);background:#fff4cc;height:12px}.theme-play .gh-progress-fill{background:var(--c-green);border-right:2px solid var(--c-green-base)}.theme-play .gh-progress-label{font-family:var(--font-ui);color:#1d1630;font-weight:800}.theme-play .gh-combo{font-family:var(--font-ui);border-width:3px;padding:4px 14px;font-weight:800;box-shadow:0 3px #0000001f}.theme-play .gh-score{font-family:var(--font-display);color:#1d1630;font-size:30px}.theme-play .gh-mute{border-radius:var(--radius-pill);border:2px solid var(--outline-dark);background:var(--surface);opacity:1;padding:6px 10px;box-shadow:0 3px #00000026}.theme-play .gc-overlay{background:#1d1630d9}.theme-play .gc-title{font-family:var(--font-ui);font-weight:800}.theme-play .gc-num{font-family:var(--font-display);-webkit-text-stroke:4px var(--outline-dark);text-shadow:0 8px #0006;font-size:180px}.theme-play .gc-num-1{color:var(--c-red)}.theme-play .gc-num-2{color:var(--c-yellow)}.theme-play .gc-num-3{color:var(--c-blue)}.theme-play .gc-go{font-family:var(--font-display);color:var(--c-green);-webkit-text-stroke:4px var(--outline-dark);text-shadow:0 10px 0 var(--c-green-base);font-size:120px}.theme-play .gls-container{background:var(--bg-sky);border-radius:var(--radius-lg)}.theme-play .gls-title{font-family:var(--font-display);color:#1d1630;font-size:40px}.theme-play .gls-sub{font-family:var(--font-ui);color:#5a4a70;font-size:16px;font-weight:700}.theme-play .gos-container{background:var(--bg-sky);border-radius:var(--radius-lg);border:var(--outline-width) solid var(--outline-dark);box-shadow:var(--shadow-candy);margin-top:24px;padding-top:60px}.theme-play .gos-title{font-family:var(--font-display);color:#1d1630;font-size:36px}.theme-play .gos-score{font-family:var(--font-display);color:var(--c-blue);-webkit-text-stroke:3px var(--outline-dark);text-shadow:0 8px 0 var(--c-blue-base);background:0 0;-webkit-background-clip:initial;-webkit-text-fill-color:var(--c-blue);background-clip:initial;font-size:80px}.theme-play .gos-score-label{font-family:var(--font-ui);color:#5a4a70;letter-spacing:.1em;text-transform:uppercase;font-size:14px;font-weight:800}.theme-play .gos-pb{background:var(--c-yellow);color:#3a2a00;border:3px solid var(--outline-dark);box-shadow:0 4px 0 var(--c-yellow-base);font-family:var(--font-ui);padding:10px 24px;font-weight:800}.theme-play .gos-xp{background:var(--surface);border:3px solid var(--outline-dark);border-radius:var(--radius);box-shadow:var(--shadow-candy-sm)}.theme-play .gos-xp-amount{font-family:var(--font-display);color:var(--c-blue)}.theme-play .gos-xp-level{font-family:var(--font-ui);color:#1d1630;font-weight:800}.theme-play .gos-xpbar-track{border-radius:var(--radius-pill);border:2px solid var(--outline-dark);background:#fff4cc;height:14px}.theme-play .gos-xpbar-fill{background:var(--c-green);border-right:2px solid var(--c-green-base)}.theme-play .gos-xpbar-label{font-family:var(--font-ui);color:#1d1630;font-weight:800}.theme-play .gos-levelup{background:var(--c-pink);color:#fff;border:3px solid var(--outline-dark);box-shadow:0 6px 0 var(--c-pink-base);font-family:var(--font-display);letter-spacing:.02em;padding:16px 38px;font-weight:400}.theme-play .gos-stat-value{font-family:var(--font-display);color:#1d1630;font-size:32px}.theme-play .gos-stat-combo{color:var(--c-yellow-base)}.theme-play .gos-stat-label{font-family:var(--font-ui);color:#5a4a70;letter-spacing:.05em;font-weight:800}.theme-play .gos-drop{background:var(--surface);border:3px solid var(--c-yellow);box-shadow:0 6px 0 var(--c-yellow-base);border-radius:var(--radius-lg)}.theme-play .gos-drop-label{font-family:var(--font-ui);color:var(--c-yellow-base);font-weight:800}.theme-play .gos-drop-name{font-family:var(--font-ui);color:#1d1630;font-weight:800}.theme-play .qp-timer-track{border-radius:var(--radius-pill);border:2px solid var(--outline-dark);background:#fff4cc;height:14px}.theme-play .qp-timer-fill{background:var(--c-green);border-right:2px solid var(--c-green-base)}.theme-play .qp-prompt{font-family:var(--font-display);color:#1d1630;background:var(--surface);border:3px solid var(--outline-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-candy);margin-bottom:24px;padding:16px 24px;font-size:32px}.theme-play .qp-option{min-height:80px;padding:22px 20px;font-size:20px}.theme-play .qp-num{font-family:var(--font-ui);color:inherit;border-radius:var(--radius-pill);background:#fff6;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:14px;font-weight:800;display:inline-flex}.theme-play .arcade-page{max-width:1400px;margin:0 auto;padding:20px 24px 48px}.theme-play .arcade-hero{margin-bottom:20px}.theme-play .arcade-title{font-family:var(--font-display);color:#1d1630;margin:0 0 4px;font-size:clamp(32px,5vw,52px)}.theme-play .arcade-sub{font-family:var(--font-ui);color:#5a4a70;margin:0;font-size:16px;font-weight:700}.theme-play .arcade-setbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.theme-play .arcade-setbar-label{font-family:var(--font-ui);color:#1d1630;font-size:14px;font-weight:800}.theme-play .arcade-error{color:var(--c-red-base);font-family:var(--font-ui);margin-bottom:12px;font-weight:800}.theme-play .arcade-tabs{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.theme-play .arcade-tabs .btn-candy{flex:1;min-width:180px}.theme-play .arcade-tab-off{color:#1d1630!important;text-shadow:none!important;background:#fff!important;box-shadow:0 6px #0000001f!important}.theme-play .arcade-cats{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.theme-play .arcade-cat{cursor:pointer;transition:transform .1s var(--ease-quick), filter .12s}.theme-play .arcade-cat:hover{transform:translateY(-2px)}.theme-play .arcade-cat.active{background:var(--c-pink);color:#fff;box-shadow:0 3px 0 var(--c-pink-base)}.theme-play .arcade-cat-count{opacity:.7;margin-left:2px}.theme-play .arcade-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.theme-play .arcade-tile{cursor:pointer;min-height:200px;transition:transform .12s var(--ease-pop), filter .12s;flex-direction:column;padding:18px;display:flex;position:relative}.theme-play .arcade-tile:hover{transform:translateY(-4px)}.theme-play .arcade-tile:active{transform:translateY(2px)}.theme-play .arcade-tile-disabled{opacity:.55;filter:grayscale(.5);cursor:not-allowed}.theme-play .arcade-tile-disabled:hover{transform:none}.theme-play .arcade-fav{cursor:pointer;opacity:.3;transition:transform .12s var(--ease-pop);z-index:2;background:0 0;border:none;font-size:22px;position:absolute;top:10px;right:12px}.theme-play .arcade-fav.on{opacity:1}.theme-play .arcade-fav:hover{transform:scale(1.2)rotate(10deg)}.theme-play .arcade-tile-head{align-items:center;gap:12px;margin-bottom:10px;padding-right:30px;display:flex}.theme-play .arcade-tile-icon{background:var(--surface);border:3px solid var(--outline-dark);border-radius:var(--radius);width:56px;height:56px;box-shadow:var(--shadow-candy-sm);justify-content:center;align-items:center;font-size:42px;display:inline-flex}.theme-play .arcade-tile-meta{flex:1;min-width:0}.theme-play .arcade-tile-name{font-family:var(--font-ui);color:#1d1630;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:800;overflow:hidden}.theme-play .arcade-tile-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.theme-play .arcade-tile-desc{font-family:var(--font-body);color:#3a2f4d;flex:1;margin-bottom:10px;font-size:14px;font-weight:400;line-height:1.45}.theme-play .arcade-tile-warn{font-family:var(--font-ui);color:var(--c-yellow-base);align-items:center;gap:4px;margin:6px 0;font-size:12px;font-weight:700;display:flex}.theme-play .arcade-tile-play{width:100%;margin-top:auto}.theme-play .xp-bar-container{background:var(--surface);border:2px solid var(--outline-dark);border-radius:var(--radius-pill);box-shadow:var(--shadow-candy-sm);gap:10px;padding:6px 14px}.theme-play .xp-level-badge{background:var(--c-yellow);color:#3a2a00;border:2px solid var(--outline-dark);font-family:var(--font-ui);box-shadow:0 2px 0 var(--c-yellow-base);padding:3px 12px;font-size:13px;font-weight:800}.theme-play .xp-bar-track{border:2px solid var(--outline-dark);background:#fff4cc;min-width:100px;height:10px}.theme-play .xp-bar-fill{background:var(--c-green)}.theme-play .xp-bar-text{font-family:var(--font-ui);color:#1d1630;font-weight:800}.theme-play .xp-streak{font-family:var(--font-ui);color:var(--c-red-base);font-weight:800}.theme-play .achievement-toast{border:3px solid var(--outline-dark)!important;border-radius:var(--radius-lg)!important;font-family:var(--font-ui)!important;box-shadow:0 8px #0000002e!important}.theme-play .page-title{font-family:var(--font-display);color:#1d1630;font-size:clamp(28px,4vw,42px)}.theme-play .page-subtitle,.theme-play .muted{font-family:var(--font-ui);color:#5a4a70;font-weight:700}.theme-play .chip{background:var(--surface);border:2px solid var(--outline-dark);border-radius:var(--radius-pill);font-family:var(--font-ui);color:#1d1630;padding:3px 10px;font-weight:800;box-shadow:0 2px #0000001f}.theme-play .button.primary{background:var(--c-blue);color:#fff;border:3px solid var(--outline-dark);box-shadow:0 6px 0 var(--c-blue-base);font-family:var(--font-ui);border-radius:var(--radius);font-weight:800}.theme-play .button.primary:active{box-shadow:0 2px 0 var(--c-blue-base);transform:translateY(4px)}.dark .theme-play{--c-red:#ff6b6b;--c-red-base:#b83333;--c-yellow:#ffde5c;--c-yellow-base:#b88a14;--c-green:#65e89b;--c-green-base:#2a8a4a;--c-blue:#6cceff;--c-blue-base:#2680b8;--c-purple:#b89af5;--c-purple-base:#6c4cc8;--c-pink:#ff94c8;--c-pink-base:#bf4a82;--bg:#181024;--bg-sky:#18223a;--bg-mint:#14281e;--bg-peach:#2e1c14;--surface:#251838;--outline-dark:#000000d9;--border:#ffffff26;--shadow-candy:0 6px 0 #0000008c;--shadow-candy-sm:0 4px 0 #00000080;--shadow-float:0 8px 0 #00000080, 0 16px 24px #00000059;--accent:var(--c-blue);--accent-soft:#6cceff26;--success:var(--c-green);--warning:var(--c-yellow);--danger:var(--c-red);background:var(--bg);color:#f4ead6}.dark .theme-play h1,.dark .theme-play h2,.dark .theme-play h3,.dark .theme-play .arcade-title{color:#f4ead6}.dark .theme-play .arcade-sub{color:#bfa98a}.dark .theme-play .arcade-setbar-label{color:#f4ead6}.dark .theme-play .arcade-error{color:var(--c-red)}.dark .theme-play .arcade-tile-icon{background:var(--surface)}.dark .theme-play .arcade-tile-name{color:#f4ead6}.dark .theme-play .arcade-tile-desc{color:#d0b9a0}.dark .theme-play .arcade-tile-warn{color:var(--c-yellow)}.dark .theme-play .arcade-tab-off{background:var(--surface)!important;color:#f4ead6!important;box-shadow:0 6px #00000080!important}.dark .theme-play .arcade-cat.active{background:var(--c-pink);color:#1e0c14;box-shadow:0 3px 0 var(--c-pink-base)}.dark .theme-play .card-candy,.dark .theme-play .tile-candy,.dark .theme-play .pill-candy{background:var(--surface);color:#f4ead6}.dark .theme-play .card-candy.tint-sky{background:var(--bg-sky);color:#e4f3ff}.dark .theme-play .card-candy.tint-mint{background:var(--bg-mint);color:#d3ffe3}.dark .theme-play .card-candy.tint-peach{background:var(--bg-peach);color:#ffe3d0}.dark .theme-play .card-candy.tint-yellow{color:#fff4cc;background:#3a2e10}.dark .theme-play .btn-candy.green{color:#0a2a14}.dark .theme-play .btn-candy.yellow{color:#2a1e00}.dark .theme-play .section,.dark .theme-play .card,.dark .theme-play .surface,.dark .theme-play .chip{background:var(--surface);color:#f4ead6}.dark .theme-play .muted,.dark .theme-play .page-subtitle{color:#bfa98a}.dark .theme-play .page-title{color:#f4ead6}.dark .theme-play .gh-container{background:var(--surface)}.dark .theme-play .gh-timer,.dark .theme-play .gh-score{color:#f4ead6}.dark .theme-play .gh-progress-track{background:#3a2e10}.dark .theme-play .gh-progress-label{color:#f4ead6}.dark .theme-play .gh-mute{background:var(--surface)}.dark .theme-play .gc-overlay{background:#000000eb}.dark .theme-play .gls-container{background:var(--bg-sky)}.dark .theme-play .gls-title{color:#f4ead6}.dark .theme-play .gls-sub{color:#bfa98a}.dark .theme-play .gos-container{background:var(--bg-sky)}.dark .theme-play .gos-title{color:#f4ead6}.dark .theme-play .gos-score{color:var(--c-blue);-webkit-text-fill-color:var(--c-blue)}.dark .theme-play .gos-score-label{color:#bfa98a}.dark .theme-play .gos-xp{background:var(--surface)}.dark .theme-play .gos-xp-level{color:#f4ead6}.dark .theme-play .gos-xpbar-track{background:#3a2e10}.dark .theme-play .gos-xpbar-label,.dark .theme-play .gos-stat-value{color:#f4ead6}.dark .theme-play .gos-stat-label{color:#bfa98a}.dark .theme-play .gos-drop{background:var(--surface)}.dark .theme-play .gos-drop-name{color:#f4ead6}.dark .theme-play .qp-timer-track{background:#3a2e10}.dark .theme-play .qp-prompt{background:var(--surface);color:#f4ead6}.dark .theme-play .xp-bar-container{background:var(--surface)}.dark .theme-play .xp-bar-track{background:#3a2e10}.dark .theme-play .xp-bar-text{color:#f4ead6}.dark .theme-play .xp-streak{color:var(--c-red)}.dark .theme-play input,.dark .theme-play textarea,.dark .theme-play select,.dark .theme-play .input{background:var(--surface);color:#f4ead6}.dark .theme-play .rd-front{background:var(--surface)}.dark .theme-play .rd-name{color:#f4ead6}.dark .theme-play .rd-hint{color:#bfa98a}
