:root,[data-theme=grimoire]{--color-bg: #14101f;--color-surface: #1d1830;--color-surface-2: #2a2342;--color-text: #f1ecff;--color-text-muted: #a99fc9;--color-border: #3b3260;--color-primary: #7f4ff0;--color-primary-contrast: #ffffff;--color-accent: #f5c04a;--color-success: #3ecf8e;--color-warning: #f5a524;--color-danger: #ff6b85;--color-boss: #d946ef;--gradient-hero: linear-gradient(135deg, #2a1b5c 0%, #14101f 100%);--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: Georgia, "Times New Roman", serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-card: 0 4px 18px rgba(0, 0, 0, .35);--focus-ring: 0 0 0 3px rgba(127, 79, 240, .55)}[data-theme=outer-wilds]{color-scheme:dark;--color-bg: #070b1a;--color-surface: #0f1632;--color-surface-2: #19234d;--color-text: #eef2ff;--color-text-muted: #a3b2dd;--color-border: #2c3a73;--color-primary: #ff8a3d;--color-primary-contrast: #1a0b00;--color-accent: #ffc870;--color-success: #4fe0a0;--color-warning: #ffb020;--color-danger: #ff7a7a;--color-boss: #6cbcff;--gradient-hero: radial-gradient(circle at 85% 20%, rgba(255, 138, 61, .55) 0, rgba(255, 138, 61, 0) 38%), radial-gradient(circle at 12% 110%, rgba(108, 188, 255, .25) 0, rgba(108, 188, 255, 0) 55%), linear-gradient(160deg, #1b2a6b 0%, #070b1a 100%);--font-body: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Orbitron", "Space Grotesk", system-ui, sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 24px;--shadow-card: 0 6px 24px rgba(0, 0, 0, .5), 0 0 0 1px rgba(108, 188, 255, .06);--focus-ring: 0 0 0 3px rgba(255, 138, 61, .6)}[data-theme=outer-wilds] body{background-color:var(--color-bg);background-image:radial-gradient(ellipse 70% 30% at 50% 108%,rgba(255,138,61,.22),transparent 70%),radial-gradient(1.5px 1.5px at 12% 18%,#ffffff,transparent 60%),radial-gradient(1px 1px at 38% 42%,#cfe0ff,transparent 60%),radial-gradient(1.5px 1.5px at 64% 12%,#ffe9c9,transparent 60%),radial-gradient(1px 1px at 82% 56%,#ffffff,transparent 60%),radial-gradient(1px 1px at 24% 78%,#cfe0ff,transparent 60%),radial-gradient(1.5px 1.5px at 92% 88%,#ffffff,transparent 60%),radial-gradient(1px 1px at 52% 66%,#ffe9c9,transparent 60%);background-size:100% 100%,320px 320px,260px 260px,410px 410px,300px 300px,350px 350px,280px 280px,380px 380px;background-attachment:fixed}[data-theme=outer-wilds] body:before{content:"";position:fixed;top:-22vmin;right:-22vmin;width:60vmin;height:60vmin;border-radius:50%;border:1px dashed rgba(108,188,255,.18);box-shadow:inset 0 0 60px #ff8a3d14;pointer-events:none;z-index:-1;animation:ow-orbit 132s linear infinite}@keyframes ow-orbit{to{transform:rotate(360deg)}}[data-theme=outer-wilds] h1,[data-theme=outer-wilds] h2,[data-theme=outer-wilds] h3{letter-spacing:.04em}[data-theme=outer-wilds] h1{font-size:1.4rem}[data-theme=outer-wilds] h2{font-size:1.05rem}[data-theme=outer-wilds] .btn{border-radius:999px;letter-spacing:.02em;box-shadow:0 0 18px #ff8a3d59}[data-theme=outer-wilds] .btn--ghost,[data-theme=outer-wilds] .btn--danger,[data-theme=outer-wilds] .btn--success,[data-theme=outer-wilds] .btn--icon{box-shadow:none}[data-theme=outer-wilds] .card,[data-theme=outer-wilds] .qcard,[data-theme=outer-wilds] .mode-card{background-image:linear-gradient(180deg,rgba(108,188,255,.05),transparent 40%)}[data-theme=outer-wilds] .mode-card:hover{border-color:var(--color-accent)}[data-theme=outer-wilds] .nav{background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}[data-theme=outer-wilds] .nav__link.active{box-shadow:0 0 16px #ff8a3d66}[data-theme=outer-wilds] .bar--boss{border-color:var(--color-boss)}[data-theme=outer-wilds] .bar--boss .bar__fill{background:linear-gradient(90deg,#2d7fd6,var(--color-boss) 60%,#e4f3ff);box-shadow:0 0 14px var(--color-boss);animation:ow-star 2.4s ease-in-out infinite}@keyframes ow-star{50%{filter:brightness(1.25)}}[data-theme=outer-wilds] .boss__head{background-image:radial-gradient(circle at 100% 0,rgba(108,188,255,.22),transparent 55%);box-shadow:0 0 28px #6cbcff2e}[data-theme=outer-wilds] .result__hero{position:relative;overflow:hidden}[data-theme=outer-wilds] .result__hero>*{position:relative}[data-theme=outer-wilds] .result__hero.is-win{border-color:var(--color-boss);box-shadow:0 0 40px #6cbcff4d}[data-theme=outer-wilds] .result__hero.is-win:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 40%,rgba(228,243,255,.55) 0,rgba(108,188,255,.35) 25%,transparent 65%);animation:ow-nova 1.6s ease-out both;pointer-events:none}@keyframes ow-nova{0%{transform:scale(.1);opacity:1}to{transform:scale(2.2);opacity:0}}[data-theme=outer-wilds] .result__hero.is-lose{background-image:radial-gradient(circle at 50% 120%,rgba(255,138,61,.3),transparent 60%)}[data-theme=clair-obscur]{color-scheme:dark;--color-bg: #0b0908;--color-surface: #17110e;--color-surface-2: #251a14;--color-text: #f6ecd6;--color-text-muted: #bfae8c;--color-border: #52401f;--color-primary: #d4a94c;--color-primary-contrast: #1a1005;--color-accent: #ecc977;--color-success: #86c694;--color-warning: #e0a040;--color-danger: #ee6f82;--color-boss: #e0475d;--gradient-hero: radial-gradient(ellipse at 50% 120%, rgba(160, 24, 44, .65) 0, rgba(160, 24, 44, 0) 65%), radial-gradient(circle at 15% 0, rgba(212, 169, 76, .22) 0, rgba(212, 169, 76, 0) 45%), linear-gradient(180deg, #2a1410 0%, #0b0908 100%);--font-body: "Lora", Georgia, "Times New Roman", serif;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--shadow-card: 0 8px 28px rgba(0, 0, 0, .6), inset 0 0 0 4px #17110e, inset 0 0 0 5px rgba(212, 169, 76, .28);--focus-ring: 0 0 0 3px rgba(236, 201, 119, .6)}[data-theme=clair-obscur] body{background-color:var(--color-bg);background-image:radial-gradient(ellipse 80% 40% at 20% 0,rgba(160,24,44,.18),transparent 70%),radial-gradient(ellipse 70% 40% at 90% 100%,rgba(212,169,76,.1),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.8 0 0 0 0 0.65 0 0 0 0 0.4 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");background-attachment:fixed}[data-theme=clair-obscur] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(3px 3px at 10% 10%,rgba(224,71,93,.5),transparent 70%),radial-gradient(2px 2px at 35% 40%,rgba(236,201,119,.45),transparent 70%),radial-gradient(3px 3px at 60% 20%,rgba(224,71,93,.4),transparent 70%),radial-gradient(2px 2px at 85% 55%,rgba(236,201,119,.4),transparent 70%),radial-gradient(3px 3px at 72% 85%,rgba(224,71,93,.4),transparent 70%);background-size:360px 480px;pointer-events:none;z-index:-1;animation:co-petals 40s linear infinite}@keyframes co-petals{to{background-position:-120px 480px}}[data-theme=clair-obscur] h1,[data-theme=clair-obscur] h2,[data-theme=clair-obscur] h3{letter-spacing:.03em}[data-theme=clair-obscur] h1{font-size:2rem}[data-theme=clair-obscur] h2{font-size:1.5rem}[data-theme=clair-obscur] .hero__hello{font-size:1.8rem}[data-theme=clair-obscur] .stats-grid dd,[data-theme=clair-obscur] .reward__xp,[data-theme=clair-obscur] .nav .brand{font-size:1.9rem}[data-theme=clair-obscur] .hero{box-shadow:0 8px 28px #0009,inset 0 0 0 4px #1a100d,inset 0 0 0 5px #d4a94c73;padding:1.5rem}[data-theme=clair-obscur] .qcard,[data-theme=clair-obscur] .mode-card,[data-theme=clair-obscur] .flashcard{box-shadow:var(--shadow-card)}[data-theme=clair-obscur] .mode-card:hover{border-color:var(--color-primary)}[data-theme=clair-obscur] .btn{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;background-image:linear-gradient(180deg,rgba(255,255,255,.18),transparent 55%)}[data-theme=clair-obscur] .btn--ghost,[data-theme=clair-obscur] .btn--danger,[data-theme=clair-obscur] .btn--success,[data-theme=clair-obscur] .btn--icon{background-image:none}[data-theme=clair-obscur] .nav{border-top-color:var(--color-primary)}@media (min-width: 768px){[data-theme=clair-obscur] .nav{border-top-color:transparent;border-right-color:var(--color-primary)}}[data-theme=clair-obscur] .bar--boss{border-color:var(--color-primary);border-radius:var(--radius-sm)}[data-theme=clair-obscur] .bar--boss .bar__fill{border-radius:0;background:linear-gradient(180deg,#e0475d,#8d1428);box-shadow:0 0 10px #e0475d99;animation:co-pulse 3.2s ease-in-out infinite}@keyframes co-pulse{50%{filter:brightness(1.2)}}[data-theme=clair-obscur] .boss__head{background-image:radial-gradient(ellipse at 50% 0,rgba(160,24,44,.35),transparent 70%)}[data-theme=clair-obscur] .result__hero{position:relative;overflow:hidden}[data-theme=clair-obscur] .result__hero>*{position:relative}[data-theme=clair-obscur] .result__hero.is-win{border-color:var(--color-primary);box-shadow:inset 0 0 0 4px #1a100d,inset 0 0 0 5px var(--color-primary),0 0 40px #d4a94c40}[data-theme=clair-obscur] .result__hero.is-win:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(236,201,119,.4),transparent);animation:co-sweep 1.8s ease-out both;pointer-events:none}@keyframes co-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}[data-theme=clair-obscur] .result__hero.is-lose{background-image:radial-gradient(ellipse at 50% 130%,rgba(160,24,44,.5),transparent 70%)}[data-theme=valorant]{color-scheme:dark;--color-bg: #0a1017;--color-surface: #121c27;--color-surface-2: #1b2a3a;--color-text: #eeeae2;--color-text-muted: #a2b2c3;--color-border: #31445a;--color-primary: #ff4655;--color-primary-contrast: #0a1017;--color-accent: #5ee6d3;--color-success: #3fdba0;--color-warning: #ffb43a;--color-danger: #ff7380;--color-boss: #ff4655;--gradient-hero: linear-gradient(115deg, rgba(255, 70, 85, .35) 0, rgba(255, 70, 85, 0) 42%), linear-gradient(295deg, rgba(94, 230, 211, .16) 0, rgba(94, 230, 211, 0) 38%), linear-gradient(180deg, #1b2a3a 0%, #0a1017 100%);--font-body: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Barlow Condensed", "Barlow", "Arial Narrow", sans-serif;--radius-sm: 0;--radius-md: 2px;--radius-lg: 2px;--shadow-card: 0 4px 0 rgba(0, 0, 0, .35);--focus-ring: 0 0 0 3px rgba(94, 230, 211, .7)}[data-theme=valorant] body{background-color:var(--color-bg);background-image:linear-gradient(115deg,transparent 0,transparent 62%,rgba(255,70,85,.06) 62%,rgba(255,70,85,.06) 64%,transparent 64%),linear-gradient(rgba(94,230,211,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(94,230,211,.035) 1px,transparent 1px);background-size:100% 100%,40px 40px,40px 40px;background-attachment:fixed}[data-theme=valorant] h1,[data-theme=valorant] h2,[data-theme=valorant] h3,[data-theme=valorant] .nav .brand{text-transform:uppercase;letter-spacing:.06em}[data-theme=valorant] h1{font-size:2rem}[data-theme=valorant] h2{font-size:1.4rem}[data-theme=valorant] .stats-grid dd,[data-theme=valorant] .reward__xp{font-size:1.9rem}[data-theme=valorant] .btn,[data-theme=valorant] .tab,[data-theme=valorant] .badge{border-radius:0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}[data-theme=valorant] .btn{font-family:var(--font-display);font-size:1.15rem;text-transform:uppercase;letter-spacing:.08em}[data-theme=valorant] .btn--sm{font-size:1rem}[data-theme=valorant] .btn--icon{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}[data-theme=valorant] .btn:hover:not(:disabled){transform:none;filter:brightness(1.12)}[data-theme=valorant] .card,[data-theme=valorant] .qcard,[data-theme=valorant] .mode-card,[data-theme=valorant] .hero,[data-theme=valorant] .boss__head,[data-theme=valorant] .flashcard,[data-theme=valorant] .result__hero,[data-theme=valorant] .choice{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}[data-theme=valorant] .choice{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}[data-theme=valorant] .card,[data-theme=valorant] .qcard,[data-theme=valorant] .mode-card{border-left:4px solid var(--color-primary)}[data-theme=valorant] .btn:focus-visible,[data-theme=valorant] .tab:focus-visible,[data-theme=valorant] .mode-card:focus-visible,[data-theme=valorant] .flashcard:focus-visible,[data-theme=valorant] .choice:focus-within,[data-theme=valorant] .theme-card:focus-within{clip-path:none}[data-theme=valorant] .mode-card:hover{border-color:var(--color-accent)}[data-theme=valorant] .nav__link{border-radius:0;text-transform:uppercase;font-family:var(--font-display);font-size:.85rem;letter-spacing:.05em}@media (min-width: 768px){[data-theme=valorant] .nav__link{font-size:1.1rem}}[data-theme=valorant] .nav__link.active{box-shadow:inset 0 -3px 0 var(--color-accent)}[data-theme=valorant] .bar,[data-theme=valorant] .bar__fill{border-radius:0}[data-theme=valorant] .bar--boss{border-color:var(--color-boss);height:1rem}[data-theme=valorant] .bar--boss .bar__fill{background:repeating-linear-gradient(90deg,var(--color-boss) 0 14px,#b81f2d 14px 17px);animation:va-spike 1.2s steps(2,end) infinite}@keyframes va-spike{50%{filter:brightness(1.3)}}[data-theme=valorant] .boss__head{border-color:var(--color-boss);background-image:linear-gradient(115deg,rgba(255,70,85,.22) 0,transparent 45%)}[data-theme=valorant] .result__hero{position:relative;overflow:hidden}[data-theme=valorant] .result__hero>*{position:relative}[data-theme=valorant] .result__hero.is-win{border-color:var(--color-primary)}[data-theme=valorant] .result__hero.is-win:before{content:"";position:absolute;top:-20%;bottom:-20%;left:-30%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,70,85,.55),transparent);transform:skew(-25deg);animation:va-slash .9s ease-out both;pointer-events:none}@keyframes va-slash{to{left:130%}}[data-theme=valorant] .result__hero.is-lose{background-image:linear-gradient(180deg,rgba(0,0,0,.35),transparent)}[data-theme=hollow-knight]{color-scheme:dark;--color-bg: #05070d;--color-surface: #0c121e;--color-surface-2: #151e30;--color-text: #e9eef6;--color-text-muted: #9dacc4;--color-border: #2b3850;--color-primary: #9bdcf0;--color-primary-contrast: #04101a;--color-accent: #cfeaf5;--color-success: #7fd9b8;--color-warning: #e3c477;--color-danger: #ee7d8c;--color-boss: #dfe9ff;--gradient-hero: radial-gradient(ellipse at 50% 0, rgba(155, 220, 240, .22) 0, rgba(155, 220, 240, 0) 60%), radial-gradient(ellipse at 50% 130%, rgba(60, 80, 130, .45) 0, rgba(60, 80, 130, 0) 65%), linear-gradient(180deg, #111a2c 0%, #05070d 100%);--font-body: "Lora", Georgia, "Times New Roman", serif;--font-display: "Cinzel", Georgia, "Times New Roman", serif;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 14px;--shadow-card: 0 6px 22px rgba(0, 0, 0, .65), 0 0 0 1px rgba(155, 220, 240, .05);--focus-ring: 0 0 0 3px rgba(155, 220, 240, .65)}[data-theme=hollow-knight] body{background-color:var(--color-bg);background-image:radial-gradient(ellipse 90% 40% at 50% 0,rgba(60,90,140,.22),transparent 70%),radial-gradient(ellipse 80% 30% at 50% 110%,rgba(155,220,240,.08),transparent 70%);background-attachment:fixed}[data-theme=hollow-knight] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(2px 2px at 8% 12%,rgba(223,233,255,.5),transparent 70%),radial-gradient(1.5px 1.5px at 30% 55%,rgba(223,233,255,.4),transparent 70%),radial-gradient(2px 2px at 55% 30%,rgba(155,220,240,.5),transparent 70%),radial-gradient(1.5px 1.5px at 78% 70%,rgba(223,233,255,.4),transparent 70%),radial-gradient(2px 2px at 92% 18%,rgba(155,220,240,.45),transparent 70%);background-size:420px 520px;pointer-events:none;z-index:-1;animation:hk-ash 70s linear infinite}@keyframes hk-ash{to{background-position:-60px 520px}}[data-theme=hollow-knight] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:10}[data-theme=hollow-knight] h1,[data-theme=hollow-knight] h2,[data-theme=hollow-knight] h3,[data-theme=hollow-knight] .nav .brand{letter-spacing:.08em}[data-theme=hollow-knight] h1{font-size:1.45rem}[data-theme=hollow-knight] h2{font-size:1.05rem}[data-theme=hollow-knight] .hero__hello{font-size:1.25rem}[data-theme=hollow-knight] .btn{font-family:var(--font-display);letter-spacing:.06em;border-radius:var(--radius-md);box-shadow:0 0 14px #9bdcf040}[data-theme=hollow-knight] .btn--ghost,[data-theme=hollow-knight] .btn--danger,[data-theme=hollow-knight] .btn--success,[data-theme=hollow-knight] .btn--icon{box-shadow:none}[data-theme=hollow-knight] .card,[data-theme=hollow-knight] .qcard,[data-theme=hollow-knight] .hero{position:relative;background-image:linear-gradient(180deg,rgba(155,220,240,.045),transparent 35%)}[data-theme=hollow-knight] .card:before,[data-theme=hollow-knight] .hero:before{content:"";position:absolute;top:-5px;left:50%;width:9px;height:9px;margin-left:-4.5px;background:var(--color-surface);border:1px solid var(--color-primary);transform:rotate(45deg);pointer-events:none}[data-theme=hollow-knight] .mode-card:hover{border-color:var(--color-primary);box-shadow:0 0 20px #9bdcf033}[data-theme=hollow-knight] .nav__link{font-family:var(--font-display)}[data-theme=hollow-knight] .nav__link.active{box-shadow:0 0 16px #9bdcf059}[data-theme=hollow-knight] .bar--boss{border-color:var(--color-boss);height:.9rem}[data-theme=hollow-knight] .bar--boss .bar__fill{background:repeating-linear-gradient(90deg,var(--color-boss) 0 18px,rgba(5,7,13,.85) 18px 20px);box-shadow:0 0 12px #dfe9ff99;animation:hk-breathe 4s ease-in-out infinite}@keyframes hk-breathe{50%{opacity:.75}}[data-theme=hollow-knight] .boss__head{border-color:var(--color-boss);background-image:radial-gradient(ellipse at 50% 0,rgba(223,233,255,.14),transparent 70%)}[data-theme=hollow-knight] .result__hero{position:relative;overflow:hidden}[data-theme=hollow-knight] .result__hero>*{position:relative}[data-theme=hollow-knight] .result__hero.is-win{border-color:var(--color-primary);box-shadow:0 0 36px #9bdcf04d}[data-theme=hollow-knight] .result__hero.is-win:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 100%,rgba(155,220,240,.5),transparent 65%);animation:hk-soul 2.4s ease-out both;pointer-events:none}@keyframes hk-soul{0%{transform:translateY(100%)}to{transform:translateY(0)}}[data-theme=hollow-knight] .result__hero.is-lose{background-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent)}[data-theme=synthwave]{color-scheme:dark;--color-bg: #12071f;--color-surface: #1d0e35;--color-surface-2: #2b1654;--color-text: #fdf3ff;--color-text-muted: #c9afe8;--color-border: #5d3394;--color-primary: #ff3fd8;--color-primary-contrast: #12071f;--color-accent: #2ef2ff;--color-success: #3dffaa;--color-warning: #ffd23f;--color-danger: #ff6a88;--color-boss: #ff3fd8;--gradient-hero: radial-gradient(circle at 50% 100%, rgba(255, 210, 63, .5) 0, rgba(255, 63, 216, .35) 28%, rgba(255, 63, 216, 0) 60%), linear-gradient(180deg, #2b1654 0%, #12071f 100%);--font-body: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Audiowide", "Outfit", system-ui, sans-serif;--radius-sm: 4px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 0 0 1px rgba(255, 63, 216, .25), 0 0 22px rgba(255, 63, 216, .18), 0 8px 24px rgba(0, 0, 0, .5);--focus-ring: 0 0 0 3px rgba(46, 242, 255, .7)}[data-theme=synthwave] body{background-color:var(--color-bg);background-image:radial-gradient(ellipse 120% 40% at 50% 100%,rgba(255,63,216,.22),transparent 70%),linear-gradient(180deg,#12071f,#240d45 70%,#12071f);background-attachment:fixed}[data-theme=synthwave] body:before{content:"";position:fixed;left:50%;bottom:30vh;width:min(60vw,340px);aspect-ratio:1;margin-left:calc(min(60vw,340px)/-2);border-radius:50%;background:repeating-linear-gradient(180deg,transparent 0 14px,#12071f 14px 18px),linear-gradient(180deg,#ffd23f,#ff3fd8);opacity:.35;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 85%);mask-image:linear-gradient(180deg,#000 30%,transparent 85%);pointer-events:none;z-index:-2}[data-theme=synthwave] body:after{content:"";position:fixed;left:-50%;right:-50%;bottom:0;height:30vh;background-image:linear-gradient(rgba(46,242,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(46,242,255,.5) 1px,transparent 1px);background-size:48px 48px;transform:perspective(260px) rotateX(62deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(0deg,#000 0%,transparent 95%);mask-image:linear-gradient(0deg,#000 0%,transparent 95%);opacity:.45;pointer-events:none;z-index:-1;animation:sw-grid 3s linear infinite}@keyframes sw-grid{to{background-position:0 48px,0 0}}[data-theme=synthwave] h1,[data-theme=synthwave] h2,[data-theme=synthwave] h3,[data-theme=synthwave] .nav .brand{font-weight:400;letter-spacing:.03em}[data-theme=synthwave] h1,[data-theme=synthwave] .nav .brand,[data-theme=synthwave] .hero__hello{text-shadow:0 0 12px rgba(255,63,216,.7)}[data-theme=synthwave] h1{font-size:1.5rem}[data-theme=synthwave] h2{font-size:1.1rem}[data-theme=synthwave] .btn{text-transform:uppercase;letter-spacing:.06em;box-shadow:0 0 16px #ff3fd899}[data-theme=synthwave] .btn--ghost,[data-theme=synthwave] .btn--danger,[data-theme=synthwave] .btn--success,[data-theme=synthwave] .btn--icon{box-shadow:none;border-color:var(--color-accent)}[data-theme=synthwave] .btn--ghost.btn:hover:not(:disabled){box-shadow:0 0 14px #2ef2ff80}[data-theme=synthwave] .card,[data-theme=synthwave] .qcard,[data-theme=synthwave] .mode-card,[data-theme=synthwave] .hero{border-color:#ff3fd880}[data-theme=synthwave] .mode-card:hover{border-color:var(--color-accent);box-shadow:0 0 22px #2ef2ff59}[data-theme=synthwave] .nav{background:color-mix(in srgb,var(--color-surface) 94%,transparent);border-color:var(--color-primary);box-shadow:0 0 18px #ff3fd84d}[data-theme=synthwave] .nav__link.active{box-shadow:0 0 14px #ff3fd8b3}[data-theme=synthwave] .stats-grid dd,[data-theme=synthwave] .reward__xp,[data-theme=synthwave] .timer__left{text-shadow:0 0 10px rgba(46,242,255,.6)}[data-theme=synthwave] .bar--boss{border-color:var(--color-boss);box-shadow:0 0 12px #ff3fd873}[data-theme=synthwave] .bar--boss .bar__fill{background:repeating-linear-gradient(120deg,#ff3fd8 0,#ff3fd8 12px,#ff8be9 12px,#ff8be9 24px);background-size:34px 100%;box-shadow:0 0 14px #ff3fd8;animation:sw-flow 1s linear infinite}@keyframes sw-flow{to{background-position:34px 0}}[data-theme=synthwave] .boss__head{border-color:var(--color-boss);box-shadow:0 0 26px #ff3fd84d}[data-theme=synthwave] .result__hero.is-win{border-color:var(--color-accent);box-shadow:0 0 36px #2ef2ff66;animation:sw-glow 1.8s ease-in-out infinite}@keyframes sw-glow{50%{box-shadow:0 0 56px #ff3fd88c}}[data-theme=synthwave] .result__hero.is-lose{filter:saturate(.7)}[data-theme=cozy-farm]{color-scheme:light;--color-bg: #fbf1dc;--color-surface: #fffaf0;--color-surface-2: #f4e4c4;--color-text: #43301f;--color-text-muted: #75604b;--color-border: #d6b98a;--color-primary: #3f7a2f;--color-primary-contrast: #ffffff;--color-accent: #92501a;--color-success: #2f7d3b;--color-warning: #a35f00;--color-danger: #b8322a;--color-boss: #a63f2a;--gradient-hero: radial-gradient(circle at 85% 25%, #fff3b8 0, rgba(255, 243, 184, 0) 35%), linear-gradient(180deg, #ffe7b0 0%, #fbf1dc 100%);--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Fredoka", "Nunito", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 26px;--shadow-card: 0 3px 0 #d6b98a, 0 8px 18px rgba(110, 74, 30, .14);--focus-ring: 0 0 0 3px rgba(63, 122, 47, .45)}[data-theme=cozy-farm] body{background-color:var(--color-bg);background-image:radial-gradient(ellipse 70% 14% at 15% 100%,rgba(143,184,107,.3),transparent 70%),radial-gradient(ellipse 80% 16% at 85% 100%,rgba(120,168,96,.28),transparent 70%),linear-gradient(90deg,rgba(214,185,138,.16) 50%,transparent 50%),linear-gradient(0deg,rgba(214,185,138,.16) 50%,transparent 50%);background-size:100% 100%,100% 100%,48px 48px,48px 48px;background-attachment:fixed}[data-theme=cozy-farm] h1,[data-theme=cozy-farm] h2,[data-theme=cozy-farm] h3,[data-theme=cozy-farm] .nav .brand{letter-spacing:.01em}[data-theme=cozy-farm] h1{font-size:1.8rem}[data-theme=cozy-farm] h2{font-size:1.3rem}[data-theme=cozy-farm] .card,[data-theme=cozy-farm] .qcard,[data-theme=cozy-farm] .mode-card{border-width:2px}[data-theme=cozy-farm] .hero{border-width:2px;border-color:var(--color-border)}[data-theme=cozy-farm] .btn{border-radius:999px;border-width:2px;box-shadow:0 3px #2c5620}[data-theme=cozy-farm] .btn:active:not(:disabled){box-shadow:0 1px #2c5620;transform:translateY(2px)}[data-theme=cozy-farm] .btn--ghost,[data-theme=cozy-farm] .btn--danger,[data-theme=cozy-farm] .btn--success,[data-theme=cozy-farm] .btn--icon{box-shadow:0 3px 0 var(--color-border)}[data-theme=cozy-farm] .btn--danger{background:#fbe0d8;color:var(--color-danger)}[data-theme=cozy-farm] .btn--success{background:#dcefd2;color:var(--color-success)}[data-theme=cozy-farm] .mode-card:hover{border-color:var(--color-primary)}[data-theme=cozy-farm] .nav{border-top:4px solid #b98a52;background-image:repeating-linear-gradient(90deg,transparent 0 78px,rgba(185,138,82,.18) 78px 80px)}@media (min-width: 768px){[data-theme=cozy-farm] .nav{border-top:0;border-right:4px solid #b98a52}}[data-theme=cozy-farm] .nav__link.active{box-shadow:0 3px #2c5620}[data-theme=cozy-farm] .choice{border-color:var(--color-border)}[data-theme=cozy-farm] .badge--done,[data-theme=cozy-farm] .badge--failed,[data-theme=cozy-farm] .badge--queued,[data-theme=cozy-farm] .badge--processing{color:var(--color-text)}[data-theme=cozy-farm] .bar__fill{background:repeating-linear-gradient(90deg,var(--color-primary) 0 10px,#5a9a45 10px 20px)}[data-theme=cozy-farm] .bar--accent .bar__fill{background:repeating-linear-gradient(90deg,#d98b2b 0,#d98b2b 10px,#e8a64a 10px,#e8a64a 20px)}[data-theme=cozy-farm] .bar--danger .bar__fill{background:var(--color-danger)}[data-theme=cozy-farm] .bar--boss{border-color:var(--color-boss);height:1rem}[data-theme=cozy-farm] .bar--boss .bar__fill{background:repeating-linear-gradient(90deg,var(--color-boss) 0 12px,#c25a3f 12px 24px);animation:cf-sway 3s ease-in-out infinite;transform-origin:left center}@keyframes cf-sway{50%{filter:brightness(1.12)}}[data-theme=cozy-farm] .boss__head{border-color:var(--color-boss);border-width:2px;background-image:linear-gradient(180deg,rgba(166,63,42,.1),transparent 60%)}[data-theme=cozy-farm] .result__hero.is-win{border-color:var(--color-accent);background-image:repeating-conic-gradient(from 0deg at 50% 0,rgba(255,220,120,.4) 0 10deg,transparent 10deg 20deg),var(--gradient-hero)}[data-theme=cozy-farm] .result__hero.is-lose{background-image:linear-gradient(180deg,#e8ecef,#fbf1dc)}.fx--gr-page{top:0;right:0;bottom:0;left:0;perspective:1400px}.fx--gr-page:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:50%;transform-origin:0 50%;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 28%,var(--color-surface-2)),color-mix(in srgb,var(--color-surface-2) 85%,transparent));border-left:2px solid color-mix(in srgb,var(--color-accent) 70%,transparent);box-shadow:-10px 0 30px color-mix(in srgb,var(--color-accent) 30%,transparent);opacity:0;animation:gr-turn 1.2s cubic-bezier(.5,0,.3,1) both}@keyframes gr-turn{0%{transform:rotateY(0);opacity:0}15%{opacity:.45}to{transform:rotateY(-180deg);opacity:0}}.fx--gr-rune{left:calc(6% + var(--r1) * 86%);top:calc(40% + var(--r2) * 40%);width:30px;height:40px;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--color-accent) 70%,transparent));opacity:0;animation:gr-rise 5s ease-out var(--d) both}.fx--gr-rune-a{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40'%3E%3Cpath d='M9 3v34M9 12l14-9M9 23l14-9' stroke='%23f5c04a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}.fx--gr-rune-b{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40'%3E%3Cpath d='M7 3v34M7 4l15 11-15 11' stroke='%23f5c04a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}.fx--gr-rune-c{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40'%3E%3Cpath d='M15 3v34M5 12l10 8 10-8M5 28l10-8 10 8' stroke='%23f5c04a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}@keyframes gr-rise{0%{transform:translateY(14px) scale(.85);opacity:0}25%{opacity:.75}70%{opacity:.55}to{transform:translateY(-60px) scale(1);opacity:0}}.fx--ow-nova{top:0;right:0;bottom:0;left:0}.fx--ow-nova:before{content:"";position:absolute;left:50%;top:42%;width:46vmax;height:46vmax;margin:-23vmax 0 0 -23vmax;border-radius:50%;background:radial-gradient(circle,transparent 50%,color-mix(in srgb,var(--color-boss) 80%,transparent) 58%,color-mix(in srgb,var(--color-primary) 40%,transparent) 64%,transparent 72%);opacity:0;animation:ow-shock 2.2s cubic-bezier(.2,.7,.3,1) both}.fx--ow-nova:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--color-boss) 60%,var(--color-text)) 0,color-mix(in srgb,var(--color-boss) 45%,transparent) 30%,transparent 70%);opacity:0;animation:ow-glow 2.2s ease-out both}@keyframes ow-shock{0%{transform:scale(.02);opacity:1}70%{opacity:.9}to{transform:scale(2.4);opacity:0}}@keyframes ow-glow{0%,15%{opacity:0}28%{opacity:.5}to{opacity:0}}.fx--ow-rewind{top:0;right:0;bottom:0;left:0}.fx--ow-rewind:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 5px,color-mix(in srgb,var(--color-boss) 14%,transparent) 5px 6px);opacity:0;animation:ow-scan 1.8s ease-in-out both}.fx--ow-rewind:after{content:"";position:absolute;top:0;bottom:0;left:0;width:28vw;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-primary) 28%,transparent) 50%,transparent);translate:110vw 0;animation:ow-rewind 1.6s cubic-bezier(.5,0,.3,1) both}@keyframes ow-scan{0%,to{opacity:0}30%,70%{opacity:1}}@keyframes ow-rewind{to{translate:-40vw 0}}.fx--ow-star{left:calc(35% + var(--r1) * 55%);top:calc(4% + var(--r2) * 26%);width:130px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--color-text));box-shadow:0 0 8px color-mix(in srgb,var(--color-boss) 70%,transparent);rotate:158deg;opacity:0;animation:ow-streak 1.2s ease-in var(--d) both}@keyframes ow-streak{0%{transform:translate(0);opacity:0}15%{opacity:1}to{transform:translate(70vmax);opacity:0}}.fx--co-petal{--drift: calc((var(--r2) - .5) * 46vw);left:calc(var(--r1) * 100%);top:0;width:13px;height:17px;border-radius:100% 0;background:linear-gradient(135deg,color-mix(in srgb,var(--color-boss) 90%,var(--color-text)),var(--color-boss) 60%,color-mix(in srgb,var(--color-boss) 55%,var(--color-bg)));opacity:0;animation:co-fall calc(15s + var(--r3) * 7s) linear var(--d) both}@keyframes co-fall{0%{transform:translate3d(0,-6vh,0) rotate(0);opacity:0}6%{opacity:.85}30%{transform:translate3d(calc(var(--drift) * -.3),28vh,0) rotate(160deg)}60%{transform:translate3d(calc(var(--drift) * .7),62vh,0) rotate(330deg)}92%{opacity:.85}to{transform:translate3d(var(--drift),108vh,0) rotate(520deg);opacity:0}}.fx--co-brush{width:0;height:0}.fx--co-brush:before,.fx--co-brush:after{content:"";position:absolute;left:-110px;top:-64px;width:220px;height:22px;border-radius:55% 45% 60% 40%/60% 50% 50% 40%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-primary) 85%,transparent) 14%,var(--color-accent) 58%,transparent);rotate:-5deg;clip-path:inset(0 100% 0 0);animation:co-brush .95s ease-out both}.fx--co-brush:after{top:-52px;left:-90px;width:170px;height:9px;rotate:-3deg;opacity:.7;animation-delay:.08s}.fx--co-brush-alt:before,.fx--co-brush-alt:after{rotate:4deg;top:-40px}.fx--co-brush-slash:before,.fx--co-brush-slash:after{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-boss) 85%,transparent) 14%,var(--color-accent) 58%,transparent);rotate:-28deg}@keyframes co-brush{0%{clip-path:inset(0 100% 0 0);opacity:1}35%{clip-path:inset(0 0 0 0);opacity:1}to{clip-path:inset(0 0 0 0);opacity:0}}.fx--co-gommage{top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--color-bg) 25%,transparent) 0,color-mix(in srgb,var(--color-bg) 82%,transparent) 75%);-webkit-mask-image:linear-gradient(105deg,#000 35%,transparent 65%);mask-image:linear-gradient(105deg,#000 35%,transparent 65%);-webkit-mask-size:300% 100%;mask-size:300% 100%;opacity:0;animation:co-erase 2.5s ease-in-out both,co-wipe 2.5s ease-in-out both}@keyframes co-erase{0%,to{opacity:0}35%,60%{opacity:1}}@keyframes co-wipe{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@media (pointer: fine){[data-theme=valorant],[data-theme=valorant] button,[data-theme=valorant] a,[data-theme=valorant] select,[data-theme=valorant] summary,[data-theme=valorant] label,[data-theme=valorant] [role=button],[data-theme=valorant] input[type=checkbox],[data-theme=valorant] input[type=radio],[data-theme=valorant] input[type=range]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg stroke='%230a1017' stroke-width='4.5' stroke-linecap='square'%3E%3Cpath d='M16 3v8M16 21v8M3 16h8M21 16h8'/%3E%3C/g%3E%3Cg stroke='%235ee6d3' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M16 3v8M16 21v8M3 16h8M21 16h8'/%3E%3C/g%3E%3Crect x='15' y='15' width='2' height='2' fill='%23ff4655'/%3E%3C/svg%3E") 16 16,crosshair}[data-theme=valorant] button:not(:disabled):hover,[data-theme=valorant] a:hover,[data-theme=valorant] [role=button]:hover,[data-theme=valorant] label:hover{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg stroke='%230a1017' stroke-width='4.5' stroke-linecap='square'%3E%3Cpath d='M16 2v7M16 23v7M2 16h7M23 16h7'/%3E%3C/g%3E%3Cg stroke='%23ff4655' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M16 2v7M16 23v7M2 16h7M23 16h7'/%3E%3C/g%3E%3Crect x='15' y='15' width='2' height='2' fill='%23ff4655'/%3E%3C/svg%3E") 16 16,crosshair}[data-theme=valorant] input:not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit]),[data-theme=valorant] textarea,[data-theme=valorant] [contenteditable=true]{cursor:text}}.fx--va-hit{width:0;height:0}.fx--va-hit:before{content:"";position:absolute;left:-17px;top:-17px;width:34px;height:34px;background:linear-gradient(45deg,transparent 43%,currentColor 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,currentColor 43% 57%,transparent 57%);-webkit-mask:radial-gradient(circle,transparent 6px,#000 7px);mask:radial-gradient(circle,transparent 6px,#000 7px);color:var(--color-text);animation:va-hit .45s ease-out both}.fx--va-hit-big:before{left:-26px;top:-26px;width:52px;height:52px;color:var(--color-boss);-webkit-mask:radial-gradient(circle,transparent 9px,#000 10px);mask:radial-gradient(circle,transparent 9px,#000 10px)}@keyframes va-hit{0%{transform:scale(.5);opacity:1}to{transform:scale(1.25);opacity:0}}.fx--va-damage{top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 90px 12px color-mix(in srgb,var(--color-primary) 55%,transparent);opacity:0;animation:va-damage .7s ease-out both}@keyframes va-damage{25%{opacity:1}to{opacity:0}}.fx--va-ace{left:50%;top:14%;translate:-50% 0;white-space:nowrap;padding:.1em 1.4em;font-family:var(--font-display);font-size:clamp(2.2rem,11vw,4.2rem);letter-spacing:.3em;text-indent:.3em;line-height:1.1;color:var(--color-primary);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-bg) 78%,transparent) 20% 80%,transparent);border-block:2px solid var(--color-primary);opacity:0;animation:va-ace 2.3s cubic-bezier(.2,.8,.2,1) both}@keyframes va-ace{0%{transform:scaleX(1.7);opacity:0}14%{transform:scaleX(1);opacity:1}80%{opacity:1}to{opacity:0}}.fx--va-cut{top:0;right:0;bottom:0;left:0}.fx--va-cut:before,.fx--va-cut:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;animation:va-cut 1.4s ease-out both}.fx--va-cut:before{clip-path:polygon(0 0,100% 0,0 100%);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 28%,transparent),transparent 60%);--va-dir: -1.6%}.fx--va-cut:after{clip-path:polygon(100% 0,100% 100%,0 100%);background:linear-gradient(315deg,color-mix(in srgb,var(--color-accent) 24%,transparent),transparent 60%);--va-dir: 1.6%}@keyframes va-cut{20%{opacity:1}45%{opacity:1;transform:translate(var(--va-dir),var(--va-dir))}to{opacity:0;transform:translate(var(--va-dir),var(--va-dir))}}.fx--va-defeat{top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 38%,color-mix(in srgb,var(--color-bg) 70%,transparent) 38% 62%,transparent 62%);translate:100% 0;animation:va-defeat 1.3s cubic-bezier(.6,0,.3,1) both}@keyframes va-defeat{to{translate:-100% 0}}[data-theme=valorant] .timer[data-low]{box-shadow:0 -2px 0 var(--color-boss)}[data-theme=valorant] .timer[data-low] .timer__left{color:var(--color-boss);animation:va-beep 1s ease-in-out infinite}[data-theme=valorant] .timer[data-low=critical] .timer__left{animation-duration:.55s}[data-theme=valorant] .timer[data-low] .bar__fill{background:var(--color-boss)}@keyframes va-beep{50%{transform:scale(1.12);opacity:.7}}.fx--hk-slash{width:0;height:0}.fx--hk-slash:before,.fx--hk-slash:after{content:"";position:absolute;left:-55px;top:-1px;width:110px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--color-text) 50%,transparent);box-shadow:0 0 10px var(--color-primary);rotate:-38deg;scale:0 1;animation:hk-slash .5s ease-out both}.fx--hk-slash:after{left:-30px;top:8px;width:60px;height:2px;animation-delay:.05s}.fx--hk-slash-big:before{left:-80px;width:160px;height:4px}@keyframes hk-slash{0%{scale:0 1;opacity:1}30%{scale:1 1;opacity:1}to{scale:1.1 1;opacity:0}}.fx--hk-vignette{top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,transparent 40%,color-mix(in srgb,var(--color-bg) 92%,transparent) 100%);transform:scale(2);opacity:0;animation:hk-tighten 1.2s ease-out both}.fx--hk-vignette-heavy{background:radial-gradient(ellipse at 50% 50%,transparent 22%,var(--color-bg) 82%);animation-duration:1.3s}@keyframes hk-tighten{0%{transform:scale(2);opacity:0}35%{transform:scale(1);opacity:1}to{transform:scale(1.15);opacity:0}}.fx--hk-ring{left:50%;top:40%;width:36vmin;height:36vmin;margin:-18vmin 0 0 -18vmin;border-radius:50%;border:2px solid var(--color-primary);box-shadow:0 0 24px color-mix(in srgb,var(--color-primary) 60%,transparent),inset 0 0 24px color-mix(in srgb,var(--color-primary) 40%,transparent);opacity:0;animation:hk-ring 1.5s ease-out both}@keyframes hk-ring{0%{transform:scale(.15);opacity:.9}to{transform:scale(1.8);opacity:0}}.fx--hk-firefly{left:calc(8% + var(--r1) * 84%);top:calc(25% + var(--r2) * 55%);width:5px;height:5px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 9px 2px color-mix(in srgb,var(--color-primary) 55%,transparent);opacity:0;animation:hk-wander calc(13s + var(--r3) * 5s) ease-in-out var(--d) both}@keyframes hk-wander{0%{transform:translate(0);opacity:0}12%{opacity:.8}35%{transform:translate(24px,-30px);opacity:.35}60%{transform:translate(-18px,-62px);opacity:.85}88%{opacity:.4}to{transform:translate(30px,-96px);opacity:0}}html[data-fx=grid][data-theme=synthwave] body:after{animation-duration:.7s;opacity:.8}.fx--sw-glitch{top:0;right:0;bottom:0;left:0}.fx--sw-glitch:before,.fx--sw-glitch:after,.fx--sw-glitch{--band: linear-gradient( 90deg, transparent 4%, color-mix(in srgb, var(--color-primary) 40%, transparent) 20%, color-mix(in srgb, var(--color-accent) 36%, transparent) 80%, transparent 96% )}.fx--sw-glitch:before,.fx--sw-glitch:after{content:"";position:absolute;left:0;right:0;height:7vh;background:var(--band);opacity:0;animation:sw-slide .75s ease-in-out both}.fx--sw-glitch:before{top:24%}.fx--sw-glitch:after{top:61%;animation-delay:.1s;animation-direction:reverse}@keyframes sw-slide{0%{transform:translate(-12%);opacity:0}35%{opacity:.85}70%{transform:translate(8%);opacity:.5}to{transform:translate(14%);opacity:0}}.fx--sw-ring,.fx--sw-ring:before,.fx--sw-ring:after{border-radius:50%;border:3px solid var(--color-primary);box-shadow:0 0 18px var(--color-primary),inset 0 0 18px var(--color-primary)}.fx--sw-ring{left:50%;top:42%;width:34vmax;height:34vmax;margin:-17vmax 0 0 -17vmax;opacity:0;animation:sw-ring 1.7s cubic-bezier(.15,.7,.3,1) both}.fx--sw-ring:before,.fx--sw-ring:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-color:var(--color-accent);box-shadow:0 0 18px var(--color-accent),inset 0 0 18px var(--color-accent);opacity:0;animation:sw-ring 1.7s cubic-bezier(.15,.7,.3,1) .18s both}.fx--sw-ring:after{border-color:var(--color-warning);box-shadow:0 0 18px var(--color-warning),inset 0 0 18px var(--color-warning);animation-delay:.36s}@keyframes sw-ring{0%{transform:scale(.03);opacity:1}to{transform:scale(1.6);opacity:0}}.fx--sw-dim{top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--color-bg) 80%,transparent));opacity:0;animation:sw-dim 1.6s ease-in-out both}@keyframes sw-dim{0%,to{opacity:0}35%,60%{opacity:1}}.fx--cf-sprout{width:0;height:0}.fx--cf-sprout:before{content:"";position:absolute;left:-20px;top:-50px;width:40px;height:44px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 44'%3E%3Cellipse cx='20' cy='39' rx='15' ry='5' fill='%238a5a2b'/%3E%3Cellipse cx='20' cy='37.5' rx='11' ry='3.2' fill='%23a8723c'/%3E%3Cpath d='M20 38V19' stroke='%232f7d3b' stroke-width='3' stroke-linecap='round' fill='none'/%3E%3Cpath d='M20 24C11 24 7 17 8 10c8 0 12 5 12 14z' fill='%2362b04f'/%3E%3Cpath d='M20 20c0-8 5-13 13-13 1 8-4 13-13 13z' fill='%2381c966'/%3E%3C/svg%3E") center / contain no-repeat;transform-origin:50% 90%;animation:cf-grow 1.6s ease-out both}.fx--cf-sprout-big:before{left:-28px;top:-70px;width:56px;height:62px}@keyframes cf-grow{0%{transform:scale(.1,0);opacity:0}22%{transform:scale(1.1,1.15);opacity:1}34%{transform:scale(1)}75%{transform:scale(1);opacity:1}to{transform:scale(1) translateY(-6px);opacity:0}}.fx--cf-cloud{left:-220px;top:calc(3% + var(--r1) * 16%);width:180px;height:66px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 66'%3E%3Cg fill='%23fff8ea'%3E%3Ccircle cx='52' cy='40' r='22'/%3E%3Ccircle cx='86' cy='28' r='26'/%3E%3Ccircle cx='122' cy='38' r='22'/%3E%3Crect x='40' y='38' width='96' height='24' rx='12'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;opacity:0;animation:cf-cloud 23s linear var(--d) both}@keyframes cf-cloud{0%{transform:translate(0);opacity:0}8%{opacity:.6}92%{opacity:.6}to{transform:translate(calc(100vw + 440px));opacity:0}}.fx--cf-butterfly{left:-40px;top:calc(30% + var(--r1) * 40%);width:22px;height:18px;opacity:0;animation:cf-wander 9s ease-in-out both}.fx--cf-butterfly:before,.fx--cf-butterfly:after{content:"";position:absolute;top:2px;width:11px;height:15px;background:radial-gradient(circle at 40% 35%,var(--color-warning),var(--color-danger));border-radius:80% 20% 70% 30%;transform-origin:100% 50%;animation:cf-flap .45s ease-in-out infinite alternate}.fx--cf-butterfly:before{left:0}.fx--cf-butterfly:after{right:0;border-radius:20% 80% 30% 70%;transform-origin:0 50%}@keyframes cf-flap{0%{transform:scaleX(1)}to{transform:scaleX(.3)}}@keyframes cf-wander{0%{transform:translate(0);opacity:0}6%{opacity:1}25%{transform:translate(27vw,-40px)}50%{transform:translate(55vw,30px)}75%{transform:translate(82vw,-34px)}94%{opacity:1}to{transform:translate(calc(100vw + 80px),10px);opacity:0}}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2) format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-DajfzrDU.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-O25Qpphb.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-normal-DnxXpLNu.woff2) format("woff2"),url(/assets/lora-latin-400-normal-DBJS-Hc6.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-700-normal-BHK4Pzk4.woff2) format("woff2"),url(/assets/lora-latin-700-normal-Yfa97ytg.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff) format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff")}@font-face{font-family:Audiowide;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/audiowide-latin-400-normal-6GFCX7ni.woff2) format("woff2"),url(/assets/audiowide-latin-400-normal-D6mHIfnv.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2) format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}.fx-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;overflow:hidden;contain:layout paint size}.fx-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;color:var(--color-accent)}.fx{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}.admin-stack{display:flex;flex-direction:column;gap:1rem;min-width:0}.admin-link{display:flex;align-items:center;gap:.75rem;color:var(--color-text);text-decoration:none}.admin-link>span:nth-child(2){flex:1}.tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.tabs__tab{flex:1 1 0;min-height:44px;padding:0 .5rem;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font:inherit;cursor:pointer}.tabs__tab.is-active{background:var(--color-primary);color:var(--color-primary-contrast)}.tabs__tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;margin:0}.stat{display:flex;flex-direction:column-reverse;padding:.5rem .75rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0}.stat dd{margin:0;font-size:1.15rem;font-weight:700;overflow-wrap:anywhere}.stat dt{font-size:.78rem;color:var(--color-text-muted)}.stat--danger{border-color:var(--color-danger)}.stat--success{border-color:var(--color-success)}.table-scroll{overflow-x:auto}.mini-table{width:100%;border-collapse:collapse;font-size:.82rem}.mini-table th,.mini-table td{padding:.35rem .25rem;text-align:right;border-bottom:1px solid var(--color-border);white-space:nowrap}.mini-table th:first-child{text-align:left}.mini-table thead th{color:var(--color-text-muted);font-weight:600}.failure{padding:.5rem 0;border-bottom:1px solid var(--color-border)}.failure__raw{margin:.35rem 0 0;padding:.5rem;max-height:9rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.78rem;background:var(--color-bg);border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-text)}.user-filters{display:grid;grid-template-columns:1fr;gap:.5rem;margin-bottom:.5rem}.user-row{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.user-row__who{display:flex;gap:.75rem;align-items:flex-start;min-width:0}.user-row__text{min-width:0;overflow-wrap:anywhere}.user-row__avatar{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-accent);font-weight:700}.user-row__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.confirm{padding:.75rem;background:var(--color-surface-2);border:1px solid var(--color-warning);border-radius:var(--radius-md)}.confirm p{margin:0 0 .5rem}@media (min-width: 768px){.user-filters{grid-template-columns:2fr 1fr}.user-row{flex-direction:row;align-items:center;justify-content:space-between}.user-row .confirm{flex-basis:100%}.user-row{flex-wrap:wrap}}.nav .nav__link--admin{display:none}@media (min-width: 768px){.nav .nav__link--admin{display:flex}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.5;overflow-wrap:anywhere;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);line-height:1.2;margin:0 0 .5rem}h1{font-size:1.6rem}h2{font-size:1.2rem}p{margin:0 0 .75rem}a{color:var(--color-accent)}ul,ol{margin:0;padding-left:1.25rem}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--focus-ring)}.muted{color:var(--color-text-muted)}.text-danger{color:var(--color-danger)}.hint{font-size:.85rem;margin:0 0 .5rem}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.5rem;top:-4rem;background:var(--color-primary);color:var(--color-primary-contrast);padding:.5rem 1rem;border-radius:var(--radius-md);z-index:100}.skip-link:focus{top:.5rem}.app{min-height:100dvh}.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--color-surface);border-top:1px solid var(--color-border);padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom));padding-left:calc(.25rem + env(safe-area-inset-left));padding-right:calc(.25rem + env(safe-area-inset-right))}.nav .brand{display:none;font-family:var(--font-display);color:var(--color-accent)}.nav__link{flex:1 1 0;min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;border-radius:var(--radius-md);color:var(--color-text-muted);text-decoration:none}.nav__link.active{background:var(--color-primary);color:var(--color-primary-contrast)}.main{width:100%;max-width:960px;margin:0 auto;padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top));padding-left:calc(1rem + env(safe-area-inset-left));padding-right:calc(1rem + env(safe-area-inset-right));padding-bottom:calc(5.5rem + env(safe-area-inset-bottom));min-width:0}.page{display:flex;flex-direction:column;gap:1rem}.page>*{min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.page-header h1{margin:0}.splash{min-height:100dvh;display:grid;place-items:center;padding:1rem}.mock-banner{margin:0 0 1rem;padding:.25rem .75rem;border:1px dashed var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning);font-size:.85rem;text-align:center}@media (min-width: 768px){.nav{position:sticky;top:0;left:auto;right:auto;bottom:auto;flex-direction:column;gap:.25rem;width:220px;height:100dvh;flex:none;border-top:0;border-right:1px solid var(--color-border);padding:1rem}.nav .brand{display:block;margin-bottom:1rem;font-size:1.5rem}.nav__link{flex:none;flex-direction:row;justify-content:flex-start;gap:.75rem;font-size:1rem;padding:0 .75rem}.app{display:flex}.main{flex:1;padding-bottom:2rem}}@media (prefers-reduced-motion: reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;min-width:44px;padding:.5rem 1rem;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:transform .1s ease,background .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-2)}.btn--danger{background:color-mix(in srgb,var(--color-danger) 22%,var(--color-surface));border-color:var(--color-danger);color:var(--color-text)}.btn--success{background:color-mix(in srgb,var(--color-success) 22%,var(--color-surface));border-color:var(--color-success);color:var(--color-text)}.btn--block{width:100%}.btn--lg{min-height:52px;padding:.75rem 1.5rem;font-size:1.05rem}.btn--sm{padding:.25rem .75rem;font-size:.9rem}.btn--icon{padding:0;width:44px;background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border);font-size:1.25rem}.link-btn{background:none;border:0;padding:.5rem 0;font:inherit;color:var(--color-accent);text-decoration:underline;cursor:pointer;min-height:44px}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.actions--split>*{flex:1 1 140px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1rem;min-width:0}.card h2{display:flex;align-items:center;gap:.5rem}.list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}.grid-2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.empty{text-align:center}.hero{background:var(--gradient-hero);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-card)}.hero__hello{font-family:var(--font-display);font-size:1.4rem;margin:0 0 .5rem}.hero__level{display:flex;align-items:center;gap:.5rem;color:var(--color-accent);font-weight:700;font-size:1.2rem;margin-bottom:.5rem}.hero__streak{display:flex;align-items:center;gap:.5rem;margin:0}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:.82rem;font-weight:600;white-space:nowrap}.badge--processing{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 25%,var(--color-surface))}.badge--done{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 20%,var(--color-surface))}.badge--failed{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 20%,var(--color-surface))}.badge--queued{border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 15%,var(--color-surface))}.icon{flex:none;vertical-align:middle}.spin{display:inline-flex;animation:spin 1.6s linear infinite}.pulse{animation:pulse 1.8s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.55}}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.pop{animation:pop .45s ease-out both}.live{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text-muted)}.live__dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--color-text-muted)}.live.is-on .live__dot{background:var(--color-success)}.bar{height:.75rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;overflow:hidden}.bar__fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .4s ease}.bar--accent .bar__fill{background:var(--color-accent)}.bar--boss .bar__fill{background:var(--color-boss)}.bar--danger .bar__fill{background:var(--color-danger)}.input{width:100%;min-height:44px;padding:.5rem .75rem;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit}textarea.input{resize:vertical}.input--inline{display:inline-block;width:auto;max-width:100%;min-height:40px;margin:0 .25rem;vertical-align:baseline}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.form{display:flex;flex-direction:column;gap:.25rem}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.inline-form .input{flex:1 1 200px}.check{display:flex;align-items:center;gap:.75rem;min-height:44px}.check input{width:1.4rem;height:1.4rem;accent-color:var(--color-primary)}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem .75rem;margin:0 0 .75rem;min-width:0}fieldset:disabled{opacity:.55}.alert{padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.alert--danger{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 14%,var(--color-surface))}.alert p:last-child{margin-bottom:0}.tabs{display:flex;gap:.5rem;flex-wrap:wrap}.tab{min-height:44px;padding:.25rem 1rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;color:var(--color-text);font:inherit;cursor:pointer}.tab[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;padding:1.25rem 1rem;border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color .15s,background .15s}.dropzone.is-drag{border-color:var(--color-primary);background:var(--color-surface-2)}.upload-note{margin:.5rem 0 0;font-size:.85rem;text-align:center}.uploads{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.5rem}.uploads__name{margin:0 0 .5rem;font-weight:600}.course-row{display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.course-row__main{flex:1 1 200px;min-width:0}.course-row__main p{margin:.15rem 0 0;font-size:.9rem}.course-row__title{display:inline-block;min-height:44px;line-height:44px;font-weight:700;color:var(--color-text);text-decoration:none;font-size:1.05rem}.course-row__side{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.course-head{align-items:flex-start}.mode-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.mode-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;min-height:44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);text-decoration:none;box-shadow:var(--shadow-card)}.mode-card:hover{background:var(--color-surface-2);border-color:var(--color-primary)}.mode-card .icon{color:var(--color-accent)}.mode-card--boss .icon{color:var(--color-boss)}.boss-card{border-color:var(--color-boss)}.boss-title{color:var(--color-boss);font-style:italic}.chapter{margin-bottom:.5rem}.chapter summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.share-list{margin-top:.5rem}.leaderboard{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.leaderboard li{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.leaderboard__name{flex:1;font-weight:600}.rank{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--color-surface-2);color:var(--color-accent);font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.75rem;margin:0}.stats-grid>div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;text-align:center}.stats-grid dt{color:var(--color-text-muted);font-size:.85rem}.stats-grid dd{margin:0;font-family:var(--font-display);font-size:1.5rem;color:var(--color-accent)}.mastery,.history{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}.mastery__row,.history li{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.achievements{list-style:none;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.achievement{display:flex;gap:.75rem;align-items:center;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.achievement.is-locked{opacity:.6}.achievement.is-unlocked{border-color:var(--color-accent)}.achievement.is-unlocked .icon{color:var(--color-accent)}.feedback-row__top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.feedback-row__msg{white-space:pre-wrap}.whitelist-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.theme-picker legend{font-family:var(--font-display);font-size:1.2rem;padding:0 .5rem}.theme-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(150px,45%),1fr))}.theme-card{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;min-height:44px;border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-family:var(--font-display);cursor:pointer}.theme-card.is-active{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.theme-card:focus-within{box-shadow:var(--focus-ring)}.theme-card__desc{font-family:var(--font-body);font-size:.8rem;line-height:1.3;color:var(--color-text-muted)}.theme-card__preview{display:block;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border)}.theme-card__hero{display:block;height:1.8rem;background:var(--gradient-hero)}.theme-card__chips{display:flex;gap:.35rem;padding:.4rem}.chip{width:1rem;height:1rem;border-radius:var(--radius-sm)}.chip--primary{background:var(--color-primary)}.chip--accent{background:var(--color-accent)}.chip--success{background:var(--color-success)}.chip--danger{background:var(--color-danger)}.login{min-height:100dvh;display:grid;place-items:center;padding:1rem;background:var(--gradient-hero)}.login__card{max-width:420px;width:100%;display:flex;flex-direction:column;gap:.5rem;text-align:center}.login__brand{color:var(--color-accent);font-size:2.2rem}.access-row__who{display:flex;align-items:center;gap:.6rem}.access-row__avatar{border-radius:50%;object-fit:cover}.access-row__actions{display:flex;gap:.5rem}.chapter{border-left:4px solid var(--chapter-color, var(--color-primary))}.chapter summary{justify-content:space-between;gap:.75rem}.chapter__title{display:flex;flex-direction:column;min-width:0}.chapter__sub{font-size:.85rem;font-weight:400}.stars{display:inline-flex;flex-shrink:0;gap:2px}.star{display:inline-flex;color:var(--color-text-muted);opacity:.55}.star--on{color:var(--color-accent);opacity:1}.star--on .icon{fill:currentColor}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:.5rem 0 0}.tag{display:inline-block;padding:.1rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:.8rem;flex:0 0 auto;max-width:100%;overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}.course-row__meta{display:flex;flex-wrap:wrap;gap:.35rem}.course-filters{display:grid;gap:.5rem;grid-template-columns:1fr;align-items:center}.course-filters .field{margin-bottom:0}@media (min-width: 720px){.course-filters{grid-template-columns:2fr 1fr 1fr auto}}.course-group__title{margin:.5rem 0;font-size:1.1rem}.missed__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.missed__list li{border-left:3px solid var(--color-danger);padding-left:.75rem}.missed__list p{margin:.15rem 0}.missed__q{font-weight:600}.play__head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.play__head h1{font-size:1.2rem;margin:0}.session{display:flex;flex-direction:column;gap:.75rem}.session__top{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.timer{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.timer .bar{flex-basis:100%}.timer__left{font-weight:700;font-size:1.3rem;color:var(--color-accent)}.intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.intro .icon{color:var(--color-accent)}.intro .field{width:100%;text-align:left}.qcard{display:flex;flex-direction:column;gap:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1rem}.qcard__prompt{font-size:1.15rem;margin:0}.choices{display:flex;flex-direction:column;gap:.5rem;border:0;padding:0;margin:0}.choice{position:relative;display:flex;align-items:center;gap:.75rem;min-height:48px;padding:.6rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.choice:hover{background:var(--color-surface-2)}.choice:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.choice.is-picked{border-color:var(--color-primary)}.choice.is-correct{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 18%,var(--color-surface))}.choice.is-wrong{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 18%,var(--color-surface))}.choice__key{flex:none;display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text-muted);font-size:.85rem;font-family:inherit}.choice__text{flex:1;min-width:0}.tf{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.choice--tf{justify-content:center;min-height:56px;font-weight:700;font-size:1.1rem}.cloze__text{line-height:2.4}.input.is-correct{border-color:var(--color-success)}.input.is-wrong{border-color:var(--color-danger)}[data-c="0"]{--c: var(--color-primary)}[data-c="1"]{--c: var(--color-accent)}[data-c="2"]{--c: var(--color-warning)}[data-c="3"]{--c: var(--color-boss)}[data-c="4"]{--c: color-mix(in srgb, var(--color-accent) 55%, var(--color-boss))}[data-c="5"]{--c: color-mix(in srgb, var(--color-primary) 55%, var(--color-warning))}.choice__key{background:color-mix(in srgb,var(--c, var(--color-primary)) 28%,var(--color-surface-2));color:var(--color-text)}.choice--tf:first-child{--c: var(--color-primary)}.choice--tf:last-child{--c: var(--color-accent)}.choice--tf{border-color:color-mix(in srgb,var(--c) 55%,var(--color-border));background:color-mix(in srgb,var(--c) 10%,var(--color-bg))}.choice.is-correct,.choice--tf.is-correct{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 22%,var(--color-surface))}.choice.is-wrong,.choice--tf.is-wrong{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 22%,var(--color-surface))}.choice.is-wrong{animation:shake .35s ease-out both}.choice.is-picked{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-bg));box-shadow:0 0 0 1px var(--color-primary)}.hint{margin:0;font-size:.9rem}.cloze__fix,.match__fix,.order__fix{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--color-success) 22%,var(--color-surface));border:1px solid var(--color-success);color:var(--color-text);font-size:.9rem;line-height:1.5}.cloze__fix:before{content:"→"}.order__fix{background:color-mix(in srgb,var(--color-danger) 16%,var(--color-surface));border-color:var(--color-danger)}.match__fix .icon{color:var(--color-success)}.match{display:flex;flex-direction:column;gap:.75rem}.match__rows{display:flex;flex-direction:column;gap:.6rem}.match__row{--c: var(--color-primary);display:grid;gap:.4rem;padding:.6rem .75rem .75rem;border:2px solid color-mix(in srgb,var(--c) 55%,var(--color-border));border-left-width:6px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--c) 9%,var(--color-bg));transition:border-color .15s,background .15s,transform .15s}.match__row.is-over{background:color-mix(in srgb,var(--c) 22%,var(--color-bg));border-color:var(--c);transform:scale(1.01)}.match__left{font-weight:700;display:flex;align-items:center;gap:.35rem}.match__slot{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.4rem .75rem;border:2px dashed color-mix(in srgb,var(--c) 60%,var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--c) 6%,transparent);color:var(--color-text-muted);font:inherit;text-align:left;cursor:pointer}.match__slot.is-target:not(.is-filled){border-color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);animation:pulse-slot 1.2s ease-in-out infinite}.match__slot.is-filled{border-style:solid;border-color:var(--c);background:color-mix(in srgb,var(--c) 30%,var(--color-surface));color:var(--color-text);font-weight:600;cursor:grab}.match__slot:focus-visible,.match__chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.match__slot:disabled{cursor:default}.match__chip-text{flex:1;min-width:0}.match__grip{flex:none;opacity:.55;letter-spacing:-.15em;font-weight:700}.match__bank{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);min-height:3.4rem;align-items:center;justify-content:center}.match__bank.is-over{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface-2))}.match__chip{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.4rem .85rem;border:2px solid var(--color-accent);border-radius:999px;background:color-mix(in srgb,var(--color-accent) 20%,var(--color-surface));color:var(--color-text);font:inherit;font-weight:600;cursor:grab;box-shadow:var(--shadow-card);transition:transform .12s}.match__chip:hover{transform:translateY(-2px)}.match__chip.is-held{background:var(--color-accent);color:var(--color-primary-contrast);transform:translateY(-2px) scale(1.05)}.match__row.is-correct{--c: var(--color-success);border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface))}.match__row.is-wrong{--c: var(--color-danger);border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 14%,var(--color-surface))}.match__row.is-wrong .match__slot.is-filled{text-decoration:line-through;text-decoration-thickness:2px}.match__row.is-correct .match__slot.is-filled{animation:pop .25s ease-out both}@keyframes pulse-slot{50%{background:color-mix(in srgb,var(--c) 28%,transparent)}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.order__list{list-style:none;counter-reset:ord;padding:0;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.order__item{counter-increment:ord;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.4rem .4rem .4rem .5rem;border:2px solid var(--color-border);border-left:6px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-bg);cursor:grab;transition:transform .12s,background .12s}.order__item:before{content:counter(ord);flex:none;display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 28%,var(--color-surface-2));font-weight:700;font-size:.85rem}.order__item.is-dragging{opacity:.45}.order__item.is-over{background:color-mix(in srgb,var(--color-accent) 25%,var(--color-bg));border-color:var(--color-accent);transform:translateY(2px)}.order__item.is-correct{cursor:default;border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface))}.order__item.is-wrong{cursor:default;border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 14%,var(--color-surface))}.row-mark{display:inline-flex;align-items:center;vertical-align:middle;margin-inline:.15rem}.row-mark.is-correct{color:var(--color-success)}.row-mark.is-wrong{color:var(--color-danger)}.order__text{flex:1;min-width:0}.order__btns{display:flex;gap:.25rem}.feedback{min-height:0}.feedback__box{padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);animation:pop .25s ease-out both}.feedback__box p{margin:0 0 .35rem}.feedback__box.is-correct{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,var(--color-surface))}.feedback__box.is-wrong{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 14%,var(--color-surface))}.feedback__box.is-partial{border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 16%,var(--color-surface))}.feedback__box.is-correct .feedback__title .icon{color:var(--color-success)}.feedback__box.is-wrong .feedback__title .icon{color:var(--color-danger)}.feedback__box.is-partial .feedback__title .icon{color:var(--color-warning)}.feedback__title{font-size:1.1rem;display:flex;align-items:center;gap:.5rem;font-weight:700}.flashcard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:240px;padding:1.5rem;background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);font:inherit;font-size:1.2rem;text-align:center;cursor:pointer;perspective:800px;animation:pop .3s ease-out both}.flashcard.is-flipped{border-color:var(--color-accent);background:var(--color-surface-2)}.flashcard__side{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.boss__head{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--color-boss);border-radius:var(--radius-lg);background:var(--color-surface)}.boss__name{color:var(--color-boss);margin:0}.boss__meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.9rem}.lives{display:inline-flex;gap:.2rem;color:var(--color-danger)}.life--lost{opacity:.25}.combo{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-accent);font-weight:700}.damage{margin:0;font-weight:800;font-size:1.3rem;color:var(--color-boss)}.damage--crit{color:var(--color-accent);font-size:1.6rem}.result{display:flex;flex-direction:column;gap:1rem}.result__hero{text-align:center;padding:1.25rem;border-radius:var(--radius-lg);background:var(--gradient-hero);border:1px solid var(--color-border)}.result__hero.is-win .icon{color:var(--color-accent)}.result__hero.is-lose .icon{color:var(--color-danger)}.result__summary .plain-list,.plain-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.25rem}.reward{display:flex;flex-direction:column;gap:.5rem}.reward__xp{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.6rem;color:var(--color-accent);margin:0;animation:pop .5s ease-out both}.reward__level{font-weight:700;color:var(--color-accent);margin:0}.achievements--new .achievement{animation-fill-mode:both}
