@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-0:#050a1c;--bg-1:#091230;--bg-2:#0e1b45;--bg-3:#15296a;--ink:#eef3ff;--ink-2:#b9c6ec;--ink-3:#a9b8e4;--teal:#2dd4bf;--teal-2:#7cf2e0;--gold:#f5c25b;--gold-2:#ffdf94;--violet:#9a93ff;--rose:#f59a8f;--ok:#4ade9b;--warn:#ffb86b;--bad:#ff8f8f;--line:#96b2ff33;--card-bg:linear-gradient(160deg, #223a829e, #0b153ad1);--card-border:#96b2ff38;--card-shadow:0 18px 40px -22px #000c, inset 0 1px 0 #ffffff0f;--btn-primary-bg:linear-gradient(180deg, #ffe39a, #f0b43e);--btn-primary-ink:#1d1400;--accent:var(--teal);--accent-ink:#052a27;--font-body:"Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--radius:22px;--radius-sm:14px;--room-library:#2dd4bf;--room-alchemy:#f5c25b;--room-spellbook:#9a93ff;--room-trials:#f59a8f}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:#050a1c}body{min-height:100vh;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 700px at 80% -10%, #1a3380 0%, transparent 60%), radial-gradient(900px 600px at -10% 20%, #0f4a6b 0%, transparent 55%), linear-gradient(180deg, var(--bg-1), var(--bg-0));background-attachment:fixed;margin:0;font-size:1.0625rem;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.15}h1{font-size:clamp(2rem,4.6vw,3rem)}h2{font-size:clamp(1.4rem,2.6vw,1.8rem)}h3{font-size:1.25rem}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--teal-2);text-underline-offset:3px}button{font:inherit;color:inherit}img,svg{max-width:100%}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.muted{color:var(--ink-2)}.small{font-size:.9rem}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:.78rem;font-weight:800}.sky{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky-star{opacity:.55;background:#fff;border-radius:50%;width:3px;height:3px;animation:1.6s ease-in-out 2 twinkle;position:absolute}.sky-glow{filter:blur(70px);opacity:.22;border-radius:50%;position:absolute}.sky-glow-a{background:var(--teal);width:420px;height:420px;top:30%;right:-120px}.sky-glow-b{background:#5a4be0;width:380px;height:380px;bottom:5%;left:-140px}@keyframes twinkle{30%{opacity:.15}70%{opacity:.85}}.app{z-index:1;min-height:100vh;position:relative}.screen{z-index:1;max-width:1120px;padding:24px 20px 120px;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));grid-template-columns:minmax(0,1fr);gap:28px;margin:0 auto;display:grid;position:relative}h1,h2,h3,.explorer-name,.player-name,.parent-who strong{overflow-wrap:anywhere}.greet-meta,.explorer-card{min-width:0}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:22px}.card-gold{box-shadow:var(--card-shadow), 0 0 0 1px #f5c25b26, 0 0 46px -18px #f5c25b8c;border-color:#f5c25b8c}.confirm-dialog{width:min(480px,100vw - 32px);color:var(--ink);background:var(--card-bg), var(--bg-1);gap:14px;margin:auto;display:grid}.confirm-dialog:not([open]){display:none}.confirm-dialog::backdrop{background:#050a1cb8}.confirm-dialog p{color:var(--ink-2);line-height:1.5}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px;display:flex}.section-head p{color:var(--ink-2)}.disclaimer{color:var(--ink-3);margin-top:10px;font-size:.88rem}.btn{cursor:pointer;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:46px;padding:.55rem 1.2rem;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-ink);box-shadow:0 10px 26px -10px #f5c25bbf,inset 0 1px #ffffff80}.btn-primary:hover:not(:disabled){box-shadow:0 14px 32px -10px #f5c25bf2,inset 0 1px #fff9}.btn-secondary{color:var(--teal-2);background:#2dd4bf1f;border-color:#2dd4bf8c}.btn-secondary:hover:not(:disabled){background:#2dd4bf38}.btn-ghost{color:var(--ink);border-color:var(--line);background:#ffffff0d}.btn-ghost:hover:not(:disabled){background:#ffffff1a}.btn-lg{min-height:56px;padding:.7rem 1.7rem;font-size:1.12rem}.btn-icon{border:1.5px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.15rem;display:inline-grid}.btn-icon:hover{background:#ffffff1f}.chip{border:1px solid var(--line);white-space:nowrap;background:#ffffff12;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.9rem;font-weight:800;display:inline-flex}.chip-gold{color:var(--gold-2);border-color:#f5c25b80}.chip svg{flex:none}.avatar{--avatar-color:var(--teal);background:radial-gradient(circle at 30% 25%, #ffffff8c, transparent 45%), var(--avatar-color);border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid;box-shadow:0 0 0 3px #050a1ce6,0 0 0 5px #f5c25bbf,0 10px 24px -8px #000c}.avatar-sm{width:34px;height:34px;font-size:1.1rem}.avatar-md{width:52px;height:52px;font-size:1.7rem}.avatar-lg{width:84px;height:84px;font-size:2.7rem}.avatar-art{width:84%;height:84%;display:block}.player-avatar{vertical-align:-.3em;background:#ffffff1a;border-radius:50%;place-items:center;width:1.5em;height:1.5em;margin-right:2px;display:inline-grid}.player-avatar .avatar-art{width:90%;height:90%}.emoji-pick .avatar-art{width:80%;height:80%}.avatar-new{box-shadow:0 0 0 2px var(--line);color:var(--gold);background:#ffffff0f;font-size:2rem}.brand{min-width:44px;min-height:44px;color:var(--ink);justify-content:center;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.wordmark{flex-direction:column;line-height:1;display:inline-flex}.wordmark-main{font-family:var(--font-display);letter-spacing:.22em;font-size:1.15rem;font-weight:800}.wordmark-sub{letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-top:3px;font-size:.68rem;font-weight:800}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:linear-gradient(#050a1cdb,#050a1c99);position:sticky;top:0}.topbar-inner{max-width:1120px;padding:10px 20px;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));align-items:center;gap:18px;margin:0 auto;display:flex}.topnav{gap:6px;margin-left:10px;display:flex}.topnav-link{min-height:44px;color:var(--ink-2);border-radius:999px;align-items:center;padding:8px 16px;font-weight:800;text-decoration:none;display:inline-flex}.topnav-link:hover{color:var(--ink);background:#ffffff12}.topnav-link[aria-current=page]{color:var(--teal-2);background:#2dd4bf29;box-shadow:inset 0 0 0 1px #2dd4bf73}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.player-chip{border:1px solid var(--line);background:#ffffff0f;border-radius:999px;align-items:center;gap:10px;padding:4px 14px 4px 5px;font-weight:800;display:inline-flex}.player-chip small{color:var(--ink-3);font-size:.72rem;font-weight:700;display:block}.player-chip .avatar{box-shadow:0 0 0 2px #050a1ce6,0 0 0 4px #f5c25bbf}.tabbar{display:none}.welcome{text-align:center;justify-items:center;gap:14px;padding-top:28px;display:grid}.welcome .logo-mark{filter:drop-shadow(0 10px 28px #2dd4bf73);animation:2.5s ease-in-out 2 floaty}.welcome h1{background:linear-gradient(180deg, #fff, #bfeee6 60%, var(--gold-2));color:#0000;-webkit-background-clip:text;background-clip:text}.welcome .lead{color:var(--ink-2);font-size:1.25rem}.explorers{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;width:100%;min-width:0;max-width:900px;margin:0 auto;display:grid}@media (max-width:520px){.explorers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.explorer-card{padding:20px 8px 16px}.explorer-name{overflow-wrap:anywhere;font-size:1.2rem}}.explorer-card{border-radius:var(--radius);border:1px solid var(--card-border);background:var(--card-bg);width:100%;box-shadow:var(--card-shadow);cursor:pointer;text-align:center;justify-items:center;gap:8px;padding:26px 16px 20px;transition:transform .2s,box-shadow .25s,border-color .2s;display:grid}.explorer-card:hover{box-shadow:var(--card-shadow), 0 0 40px -14px #f5c25b99;border-color:#f5c25b99;transform:translateY(-4px)}.explorer-name{font-family:var(--font-display);font-size:1.4rem;font-weight:700}.explorer-kind{color:var(--ink-2);font-size:.95rem}.explorer-card-new{background:#ffffff08;border-style:dashed}.demo-tag{letter-spacing:.1em;text-transform:uppercase;color:#d4d0ff;background:#9a93ff33;border:1px solid #9a93ff8c;border-radius:999px;padding:2px 9px;font-size:.7rem;font-weight:900;display:inline-block}.parent-door{text-align:center;color:var(--ink-3);font-size:.95rem}.parent-door a{font-weight:800}.hold-door{display:inline-flex;position:relative}.hold-btn{isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;position:relative;overflow:hidden}.hold-btn:before{content:"";z-index:-1;transform-origin:0;background:#f5c25b61;position:absolute;inset:0;transform:scaleX(0)}.hold-btn.holding:before{transition:transform var(--hold-ms,2s) linear;transform:scaleX(1)}.btn-primary.hold-btn:before{background:#5a320052}.hold-bubble{z-index:40;white-space:nowrap;pointer-events:none;color:#fff;border:1px solid var(--line);background:#0b1430;border-radius:12px;padding:6px 12px;font-size:.85rem;font-weight:800;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 24px -12px #000c}.hold-bubble:empty{box-shadow:none;border:0;padding:0}.hold-door-center .hold-bubble{left:50%;right:auto;transform:translate(-50%)}.hold-door-tab{display:grid}.hold-door-tab .hold-bubble{top:auto;bottom:calc(100% + 10px)}.parent-lock-card{text-align:center;justify-items:center;gap:14px;max-width:560px;margin:24px auto 0;display:grid}.form{gap:20px;max-width:640px;display:grid}.form .preview{align-items:center;gap:16px;display:flex}.field{border:0;gap:8px;margin:0;padding:0;display:grid}.field>span,.field legend{color:var(--gold-2);padding:0;font-weight:800}.field input[type=text],.field input:not([type]),.field select,.field input[type=number],.field input[type=password]{color:var(--ink);border-radius:var(--radius-sm);font:inherit;background:#050a1c99;border:1.5px solid #7d93d4;padding:12px 14px}.field input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #2dd4bf4d}.kind-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.kind-card{border-radius:var(--radius-sm);border:1.5px solid var(--line);cursor:pointer;background:#ffffff0a;gap:4px;padding:14px;display:grid}.kind-card input{opacity:0;position:absolute}.kind-card:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.kind-card.selected{border-color:var(--teal);background:#2dd4bf1f}.kind-card span{color:var(--ink-2);font-size:.92rem}.swatch-row{flex-wrap:wrap;gap:10px;display:flex}.emoji-pick,.color-pick{border:2px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.6rem;display:grid}.color-pick{border-width:3px;border-color:#ffffff40}.emoji-pick.selected,.color-pick.selected{border-color:var(--gold);box-shadow:0 0 0 3px #f5c25b59}.form-error{color:var(--bad);font-weight:800}.back-link{min-height:44px;color:var(--ink-2);align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.home-hero{grid-template-columns:1.15fr 1fr;align-items:stretch;gap:20px;display:grid}.greet-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;display:grid}.greet-card h1 .greet{font-size:.5em;font-family:var(--font-body);letter-spacing:.02em;color:var(--ink-2);font-weight:800;display:block}.greet-meta{gap:10px;display:grid}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.xp-text{color:var(--ink-2);font-size:.95rem;font-weight:800}.level-ring{flex:none;place-items:center;display:inline-grid;position:relative}.level-ring-arc{transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1)}.level-ring-text{place-items:center;line-height:1;display:grid;position:absolute}.level-ring-text small{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.7rem;font-weight:800}.level-ring-text strong{font-family:var(--font-display);color:var(--gold-2);font-size:2.4rem}.mission{align-content:center;gap:14px;display:grid;position:relative;overflow:hidden}.mission:before{content:"";pointer-events:none;background:radial-gradient(420px 220px at 100% 0,#2dd4bf47,#0000 70%);position:absolute;inset:0}.mission>*{position:relative}.mission-lumi{top:10px;right:14px;position:absolute!important}.mission h2{max-width:80%}.mission-meta{color:var(--ink-2)}.path{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.path li{border:1.5px solid var(--line);background:#050a1c8c;border-radius:50%;place-items:center;width:44px;height:44px;display:inline-grid}.path li+li{margin-left:10px;position:relative}.path li+li:before{content:"";border-top:2px dotted var(--ink-3);width:10px;position:absolute;top:50%;left:-12px}.path li.path-boss{border-color:#f59a8fcc;box-shadow:0 0 16px -2px #f59a8f8c}.cta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.goals{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;display:grid}.goal{align-items:center;gap:14px;padding:16px 18px;display:flex}.goal-check{border:2px solid var(--line);color:#0000;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.goal.done{border-color:#4ade9b8c}.goal.done .goal-check{background:var(--ok);border-color:var(--ok);color:#05281a;animation:.5s ease-out pop}.goal strong{display:block}.goal small{color:var(--ink-2)}.room-strip{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.room-tile{color:var(--ink);text-align:center;border-radius:var(--radius);background:var(--card-bg);border:1px solid var(--card-border);justify-items:center;gap:6px;padding:16px 8px;text-decoration:none;transition:transform .2s,border-color .2s;display:grid}.room-tile:hover{border-color:var(--room);transform:translateY(-3px)}.room-tile strong{font-family:var(--font-display)}.room-tile small{color:var(--ink-2)}.room-library{--room:var(--room-library)}.room-alchemy{--room:var(--room-alchemy)}.room-spellbook{--room:var(--room-spellbook)}.room-trials{--room:var(--room-trials)}.medal-shelf{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px;display:grid}.medal-item{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff0a;justify-items:center;gap:8px;padding:14px 8px;display:grid}.medal-item .medal-name{font-size:.92rem;font-weight:800;line-height:1.2}.medal-item.locked .medal-name{color:var(--ink-3)}.medal-item.is-new{background:#f5c25b1a;border-color:#f5c25bb3;animation:.6s ease-out pop}.medal-desc{color:var(--ink-2);font-size:.82rem}.medal{background:radial-gradient(circle at 30% 25%,#ffffff38,#0000 50%),linear-gradient(160deg,#1d3a8c,#0b1a4a);border-radius:50%;place-items:center;display:inline-grid;position:relative;box-shadow:0 0 0 2px #f5c25bd9,0 10px 22px -10px #000000e6}.medal-locked{box-shadow:0 0 0 2px var(--line);filter:grayscale();opacity:.6}.medal-lock{color:#fff;background:var(--bg-2);box-sizing:content-box;border-radius:50%;padding:4px;position:absolute;bottom:-2px;right:-2px}.recent-list{gap:8px;display:grid}.recent-list a{border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink);background:#ffffff0a;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;display:grid}.recent-list a:hover{border-color:var(--teal)}.stars{gap:3px;display:inline-flex}.star{color:#ffffff38;font-size:1.3rem}.star.on{color:var(--gold);text-shadow:0 0 12px #f5c25bb3}.stars-animate .star.on{animation:.55s cubic-bezier(.2,1.6,.4,1) both pop}.xp-gain{color:var(--gold-2);font-weight:900}.xp-gain.big{font-family:var(--font-display);font-size:2.6rem}.xp{align-items:center;gap:10px;display:flex}.xp-level{font-variant-numeric:tabular-nums}.xp-track{background:#ffffff1a;border-radius:999px;flex:1;min-width:110px;height:12px;overflow:hidden}.xp-fill{border-radius:inherit;background:linear-gradient(90deg, var(--teal), var(--gold));height:100%;transition:width 1s cubic-bezier(.2,.8,.2,1)}.mastery{white-space:nowrap;align-items:center;gap:8px;font-size:.85rem;font-weight:800;display:inline-flex}.mastery-dots{gap:3px;display:inline-flex}.mastery-dots span{background:#ffffff24;border-radius:50%;width:11px;height:11px}.mastery-dots span.on{background:var(--teal);box-shadow:0 0 8px #2dd4bf99}.m-proficient .mastery-dots span.on{background:var(--gold);box-shadow:0 0 8px #f5c25b99}.m-mastered .mastery-dots span.on{background:var(--gold-2);box-shadow:0 0 10px #ffdf94cc}.mastery-label{color:var(--ink-2)}.academy-hero{gap:8px;max-width:760px;display:grid}.academy-hero p{color:var(--ink-2);font-size:1.15rem}.room-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.room-card{--room:var(--room-library);align-content:start;padding:0;display:grid;overflow:hidden}.room-art{background:radial-gradient(260px 160px at 50% 60%, color-mix(in srgb, var(--room) 38%, transparent), transparent 70%), linear-gradient(180deg, #ffffff0d, transparent);border-bottom:1px solid var(--line);place-items:center;min-height:150px;display:grid;position:relative}.room-art .emblem{filter:drop-shadow(0 10px 22px color-mix(in srgb, var(--room) 60%, transparent));animation:2.5s ease-in-out 2 floaty}.room-art .spark{background:var(--room);opacity:.7;border-radius:50%;width:8px;height:8px;animation:1.7s ease-in-out 2 twinkle;position:absolute}.room-body{gap:12px;padding:20px 22px 22px;display:grid}.room-fn{color:var(--ink-2)}.room-fn strong{color:var(--room)}.room-stats{flex-wrap:wrap;gap:8px;display:flex}.room-actions{flex-wrap:wrap;gap:10px;display:flex}.room-hero{--room:var(--room-library);grid-template-columns:auto 1fr;align-items:center;gap:24px;display:grid}.room-hero .room-art{background:radial-gradient(circle, color-mix(in srgb, var(--room) 34%, transparent), transparent 70%);border:0;border-radius:50%;width:150px;height:150px;min-height:0}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.skill-card{gap:8px;display:grid}.skill-card h3{font-size:1.1rem}.skill-strand{color:var(--ink-3);font-size:.88rem}.skill-bar{background:#ffffff1a;border-radius:999px;height:8px;overflow:hidden}.skill-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--room), var(--gold));height:100%;transition:width .8s;display:block}.trial-targets{gap:8px;display:grid}.play-screen{--room:var(--room-library);max-width:860px}.room-theme-library{--room:var(--room-library)}.room-theme-alchemy{--room:var(--room-alchemy)}.room-theme-spellbook{--room:var(--room-spellbook)}.room-theme-trials{--room:var(--room-trials)}.play-top{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.blocks{gap:8px;margin-bottom:8px;display:flex}.blocks li{border:1.5px solid var(--line);opacity:.6;background:#ffffff0f;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.blocks li.done{opacity:1;border-color:var(--ok)}.blocks li.current{opacity:1;border-color:var(--gold);box-shadow:0 0 14px -2px #f5c25bb3}.blocks li.boss.current{border-color:var(--rose)}.progress-track{background:#ffffff1a;border-radius:999px;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--teal), var(--gold));height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1)}.progress-text{color:var(--ink-2);margin-top:6px;font-size:.88rem;display:block}.player-name{color:var(--gold-2);font-weight:900}.objectives summary{cursor:pointer;color:var(--gold-2);margin-block:-10px;padding-block:10px;font-weight:800}.objectives ul{gap:6px;margin-top:10px;display:grid}.objectives li.done{color:var(--ok)}.question{border-top:4px solid var(--room);gap:18px;animation:.45s ease-out both rise;display:grid;position:relative}.q-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:.92rem;font-weight:800;display:flex}.q-meta .emblem{flex:none}.q-story{color:var(--gold-2);font-style:italic}.q-passage{border-left:4px solid var(--room);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#ffffff0d;margin:0;padding:16px 18px;font-size:1.08rem;line-height:1.65}.q-visual{white-space:pre-wrap;text-align:center;padding:8px;font-size:2.2rem;line-height:1.5}.q-prompt-row{justify-content:space-between;align-items:start;gap:12px;display:flex}.q-prompt{font-family:var(--font-body);letter-spacing:0;font-size:clamp(1.3rem,3vw,1.7rem);font-weight:800;line-height:1.3}.q-tools{flex:none;gap:8px;display:flex}.hint-box{border-radius:var(--radius-sm);background:#f5c25b1a;border:1px solid #f5c25b73;padding:12px 14px}.choices{gap:12px;display:grid}.choices-4{grid-template-columns:repeat(2,1fr)}.choice{text-align:left;border-radius:var(--radius-sm);border:2px solid var(--line);cursor:pointer;background:#ffffff0d;align-items:center;gap:14px;min-height:64px;padding:12px 16px;font-size:1.12rem;font-weight:800;transition:transform .15s,border-color .2s,background .2s;display:flex}.choice:hover:not(:disabled){border-color:var(--room);background:#ffffff1a;transform:translateY(-2px)}.choice-key{width:34px;height:34px;color:var(--ink-2);background:#ffffff1a;border-radius:10px;flex:none;place-items:center;font-weight:900;display:grid}.choice.picked{border-color:var(--gold)}.choice.eliminated{opacity:.4;text-decoration:line-through}.choice.correct{border-color:var(--ok);background:#4ade9b29;animation:.5s ease-out pop}.choice.correct .choice-key{background:var(--ok);color:#05281a}.choice.wrong{border-color:var(--bad);background:#ff8f8f1f;animation:.4s ease-out shake}.feedback-area{min-height:8px}.feedback{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:#ffffff0d;gap:12px;padding:16px 18px;animation:.35s ease-out both rise;display:grid}.feedback-correct{background:#4ade9b1a;border-color:#4ade9bb3}.feedback-retry{background:#f5c25b14;border-color:#f5c25b99}.feedback-wrong{background:#ffb86b14;border-color:#ffb86b99}.feedback-body{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;display:grid}.feedback-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.explanation{color:var(--ink-2)}.xp-pop{animation:1.2s ease-out both xpPop;display:inline-block;position:relative}.transition,.briefing{text-align:center;--room:var(--room-library);justify-items:center;gap:16px;padding:34px 24px;display:grid}.transition-icon{place-items:center;display:grid}.transition-praise{color:var(--gold-2);font-weight:800}.break-tip{border-radius:var(--radius-sm);background:#ffffff12;padding:10px 14px}.briefing .emblem{filter:drop-shadow(0 10px 26px color-mix(in srgb, var(--room) 70%, transparent))}.briefing-goals{text-align:left;gap:8px;width:min(100%,460px);display:grid}.briefing-goals li{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff0f;align-items:center;gap:10px;padding:10px 14px;display:flex}.briefing-goals li:before{content:"✦";color:var(--gold)}.lumi{flex:none;animation:2.5s ease-in-out 2 floaty;display:inline-block;position:relative}.lumi-halo{transform-origin:50%;animation:2.5s ease-in-out 2 pulse}.lumi-spark{transform-origin:58px 18px;animation:5s linear spin}.summary-hero{text-align:center;justify-items:center;gap:14px;padding:34px 22px;display:grid}.sum-stats{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:560px;margin:4px 0;display:grid}.sum-stats div{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff0f;padding:12px 6px}.sum-stats dt{color:var(--ink-2);font-size:.78rem;font-weight:800}.sum-stats dd{font-family:var(--font-display);margin:2px 0 0;font-size:1.9rem;font-weight:800}.level-up{color:var(--gold-2);font-size:1.15rem;font-weight:900;animation:.7s ease-out pop}.boss-result{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff0f;padding:10px 14px}.boss-result.won{border-color:#4ade9bb3}.skill-changes{gap:4px;display:grid}.skill-changes li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:10px 4px;display:grid}.skill-changes li:last-child{border:0}.trend.up{color:var(--ok)}.trend.down{color:var(--warn)}.summary-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti span{opacity:0;border-radius:2px;width:9px;height:14px;animation:3.4s ease-in forwards fall;position:absolute;top:-10px}.loading{color:var(--ink-2);justify-content:center;align-items:center;gap:12px;padding:60px 0;font-weight:800;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:22px;height:22px;animation:1s linear infinite spin}.error-box{border-radius:var(--radius-sm);background:#ff8f8f1a;border:1px solid #ff8f8f99;justify-items:start;gap:10px;padding:18px;display:grid}.theme-parent{--ink:#1b2547;--ink-2:#44507a;--ink-3:#5b6791;--line:#d8dcea;--card-bg:#fff;--card-border:#dfe3ef;--card-shadow:0 12px 28px -20px #1b254773;--teal:#0c8d80;--teal-2:#0b7a6f;--gold:#a86b00;--gold-2:#8c5a00;--violet:#5a4fd0;--rose:#c2493e;--ok:#12805a;--warn:#a65c00;--bad:#b3261e;--btn-primary-bg:linear-gradient(180deg, #153066, #0c1f47);--btn-primary-ink:#fff;--font-display:"Fraunces Variable", Georgia, serif;color:var(--ink);background:#f3f1ea}.theme-parent a{color:#0b6b61}.parent-layout{min-height:100vh;color:var(--ink);background:#f3f1ea;grid-template-columns:280px 1fr;display:grid}.parent-side{color:#eaf0ff;padding:24px 20px;padding-left:max(20px, env(safe-area-inset-left));background:linear-gradient(#0c1a45,#070f2b);align-content:start;gap:22px;height:100vh;display:grid;position:sticky;top:0}.parent-side .brand,.parent-side .brand *{color:#eaf0ff}.parent-side .wordmark-sub{color:#ffd98a}.parent-who{background:#ffffff12;border:1px solid #ffffff24;border-radius:18px;justify-items:start;gap:10px;padding:16px;display:grid}.parent-who strong{font-family:var(--font-display);font-size:1.35rem}.parent-who span{color:#b9c6ec;font-size:.92rem}.parent-nav{gap:4px;display:grid}.parent-nav button{color:#cfd9f7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 14px;font-weight:800}.parent-nav button:hover,.parent-nav button:focus-visible{color:#fff;background:#ffffff1a}html.parent-mode .sky{display:none}.boss-banner{border-color:#f59a8f99;align-items:center;gap:10px;font-weight:800;display:flex}.btn-hint{min-height:46px}.btn svg{flex:none}.parent-back{margin-top:auto}.parent-side .btn-ghost{color:#eaf0ff;background:#ffffff0f;border-color:#ffffff4d}.parent-main{padding:28px 32px 80px;padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right));grid-template-columns:minmax(0,1fr);align-content:start;gap:22px;max-width:980px;display:grid}.preview-banner{color:#5a4300;background:#fff7df;border:1px solid #e6c36a;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;font-weight:700;display:flex}.preview-banner.demo{color:#3a2f9e;background:#efedff;border-color:#b9b2ff}.parent-main h1{font-size:clamp(1.8rem,3.4vw,2.4rem)}.parent-main .card{padding:22px 24px}.parent-main h2{margin-bottom:12px;font-size:1.35rem}.kpis{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.kpi{border:1px solid var(--line);background:#f6f8fe;border-radius:16px;padding:16px}.kpi strong{font-family:var(--font-display);font-size:1.9rem;display:block}.kpi span{color:var(--ink-2);font-size:.9rem;font-weight:700}.subject-row{grid-template-columns:110px 1fr 70px;align-items:center;gap:14px;padding:10px 0;display:grid}.subject-row+.subject-row{border-top:1px solid var(--line)}.bar{background:#e7eaf4;border-radius:999px;height:14px;overflow:hidden}.bar span{border-radius:inherit;background:linear-gradient(90deg,#0c8d80,#2dd4bf);height:100%;transition:width .9s;display:block}.bar.math span{background:linear-gradient(90deg,#a86b00,#f5c25b)}.bar.logic span{background:linear-gradient(90deg,#5a4fd0,#9a93ff)}.subject-note{color:var(--ink-2);grid-column:2/4;margin-top:-6px;font-size:.9rem}.skills-table{border-collapse:collapse;width:100%}.skills-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:6px 8px;font-size:.8rem}.skills-table td{border-top:1px solid var(--line);vertical-align:middle;padding:10px 8px}.skills-table .mastery-dots span{background:#dfe3ef}.skills-table .mastery-dots span.on{box-shadow:none;background:#0c8d80}.skills-table .m-proficient .mastery-dots span.on,.skills-table .m-mastered .mastery-dots span.on{box-shadow:none;background:#a86b00}.tag{letter-spacing:.08em;text-transform:uppercase;color:#3a2f9e;background:#efedff;border:1px solid #b9b2ff;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:900;display:inline-block}.answer-list{display:grid}.answer-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 4px;display:flex}.answer-list li:first-child{border:0}.answer-list li>span:first-child{flex:1;min-width:0}.answer-prompt{color:var(--muted,#5a6475);margin-top:2px;display:block}.tag.res-first-try{color:#14633a;background:#dff5e8}.tag.res-second-try{color:#7a4d00;background:#fff1d1}.tag.res-missed{color:#8c2018;background:#fde4e1}.history-list{gap:4px;display:grid}.history-list li{border-top:1px solid var(--line);grid-template-columns:1fr auto auto auto;align-items:center;gap:16px;padding:10px 4px;display:grid}.history-list li:first-child{border:0}.theme-parent .star{color:#aab1c8}.theme-parent .star.on{color:#b87800;text-shadow:none}.theme-parent .xp-gain{color:#8c5a00}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.seg{border:1.5px solid var(--line);background:#f6f8fe;border-radius:999px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;padding:9px 16px;font-weight:800}.seg button[aria-pressed=true]{color:#fff;background:#0c1f47}.setting-note{color:var(--ink-2);margin-top:8px;font-size:.88rem}.save-note{color:var(--ok);min-height:1.4em;font-weight:800}.theme-parent .btn-ghost{color:var(--ink);background:#fff}.theme-parent .btn-secondary{color:#0b6b61;background:#e8f7f5;border-color:#0c8d80}.theme-parent .muted{color:var(--ink-2)}.theme-parent .disclaimer{color:var(--ink-3)}.theme-parent :focus-visible{outline-color:#0c1f47}.parent-side :focus-visible{outline-color:#ffd98a}.parent-nav button:focus-visible,.seg button:focus-visible{outline-offset:-3px}.seg button[aria-pressed=true]:focus-visible{outline-color:#ffd98a}.room-inline{display:none}.theme-parent .avatar{box-shadow:0 0 0 3px #fff,0 0 0 5px #d79200}.profile-form{gap:16px;display:grid}.theme-parent .field>span,.theme-parent .field legend{color:var(--ink)}.theme-parent .field input:not([type]){color:var(--ink);background:#fff;border-color:#6b7598}.theme-parent .field input:focus{border-color:#0c8d80;box-shadow:0 0 0 3px #0c8d8040}.theme-parent .emoji-pick,.theme-parent .color-pick{background:#f6f8fe;border-color:#c3c9de}.theme-parent .color-pick{border-color:#fff;box-shadow:0 0 0 1px #c3c9de}.theme-parent .emoji-pick.selected,.theme-parent .color-pick.selected{border-color:#0c1f47;box-shadow:0 0 0 3px #d79200}.danger-zone{border-top:1px solid var(--line);justify-items:start;gap:8px;margin-top:22px;padding-top:18px;display:grid}.danger-zone h3{font-size:1.05rem}.danger-zone p{color:var(--ink-2)}.btn-danger{color:#fff;background:#9b1c1c;border-color:#9b1c1c}.btn-danger:hover:not(:disabled){background:#7f1414}.theme-parent .confirm-dialog{color:var(--ink);background:#fff}.confirm-dialog .form{gap:14px;display:grid}.parent-side .avatar{box-shadow:0 0 0 3px #0c1a45,0 0 0 5px #ffd98a}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes pulse{50%{opacity:.3;transform:scale(1.06)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes xpPop{0%{opacity:0;transform:translateY(8px)scale(.7)}25%{opacity:1;transform:translateY(-4px)scale(1.15)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(520px)rotate(540deg)}}@media (max-width:1119px){.topbar-inner{padding:8px 16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));flex-wrap:wrap;gap:10px}.topnav{gap:2px;margin-left:2px}.topnav-link{padding:8px 12px}.topbar-right{gap:6px}.topbar-right .btn{white-space:nowrap;min-height:44px;padding:8px 14px;font-size:.92rem}.player-chip{white-space:nowrap}.player-chip small,.wordmark-sub{display:none}}@media (max-width:920px){.home-hero,.room-grid{grid-template-columns:1fr}.room-strip{grid-template-columns:repeat(2,1fr)}.parent-layout{grid-template-columns:minmax(0,1fr)}.parent-side{height:auto;padding:16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));grid-template-columns:minmax(0,1fr);position:static}.parent-nav{grid-auto-flow:column;overflow-x:auto}.parent-back{margin-top:0}.parent-main{padding:20px 16px 80px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){body{font-size:1rem}.screen{padding:16px 14px 110px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));gap:22px}.topnav,.topbar-right .btn-ghost,.topbar-right .hold-door{display:none}.topbar-inner{padding:8px 14px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.wordmark-sub,.player-chip small{display:none}.tabbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#050a1cf0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar .hold-btn{color:var(--ink-2);border-radius:12px;justify-items:center;gap:2px;padding:6px 4px;font-size:.8rem;font-weight:800;text-decoration:none;display:grid}.tabbar .hold-btn{cursor:pointer;background:0 0;border:0;width:100%;font-family:inherit}.tabbar a[aria-current=page]{color:var(--teal-2);background:#2dd4bf1f}.greet-card{text-align:center;grid-template-columns:1fr;justify-items:center}.chip-row{justify-content:center}.mission h2{max-width:100%}.mission-lumi{justify-self:center;position:static!important}.room-hero{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.trial-targets .chip{white-space:normal;border-radius:18px;flex-wrap:wrap;row-gap:4px}.choices-4{grid-template-columns:1fr}.play-top{grid-template-columns:auto 1fr}.play-top .chip{grid-column:1/-1;justify-self:start}.sum-stats{grid-template-columns:repeat(2,1fr)}.recent-list a{grid-template-columns:1fr auto}.recent-list a .xp-gain{display:none}.subject-row{grid-template-columns:1fr 60px}.subject-row .bar{grid-area:2/1/auto/-1}.subject-note{grid-column:1/-1}.skills-table th:nth-child(2),.skills-table td:nth-child(2){display:none}.room-inline{display:inline}.skills-table .mastery{justify-items:start;gap:4px;display:grid}.skills-table th,.skills-table td{padding-inline:6px}.skills-table th{letter-spacing:.04em}.history-list li{grid-template-columns:1fr auto;row-gap:2px}.q-prompt-row{flex-direction:column}.q-visual{font-size:1.8rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.tap-count{flex-wrap:wrap;justify-content:center;gap:4px 6px;display:inline-flex}.tap-item{cursor:pointer;border:2px solid #0000;border-radius:14px;padding:2px 4px;transition:transform .15s,background .15s,border-color .15s}.tap-item:hover{transform:scale(1.12)}.tap-item.tapped{border-color:var(--gold);background:#f5c25b38;transform:scale(1.08)}.tap-hint{text-align:center;width:100%;color:var(--gold-2);font-size:.9rem;font-family:var(--font-body);letter-spacing:0;margin-top:4px;font-weight:800;display:block}.kid-mode .q-prompt{font-size:clamp(1.8rem,5vw,2.6rem)}.kid-mode .q-visual{font-size:clamp(2.6rem,9vw,4rem)}.kid-mode .choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kid-mode .choice{border-radius:24px;justify-content:center;min-height:96px;font-size:1.9rem}.kid-mode .choice-key{display:none}.kid-mode .choice-text{text-align:center;flex:1}a.player-chip{color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s}a.player-chip:hover{border-color:var(--gold);background:#ffffff1a}.adv-hero{gap:14px;padding:28px;display:grid;position:relative;overflow:hidden}.adv-hero:before{content:"";pointer-events:none;background:radial-gradient(520px 260px at 100% 0,#2dd4bf42,#0000 70%),radial-gradient(380px 200px at 0 100%,#9a93ff33,#0000 70%);position:absolute;inset:0}.adv-hero>*{position:relative}.adv-hero .mission-lumi{position:absolute;top:18px;right:22px}.adv-hero h1{max-width:78%}.adv-goal{color:var(--ink-2);max-width:62ch}.adv-goal strong{color:var(--gold-2)}.adv-facts{padding:0}.trail{max-width:760px;margin:0 auto;display:grid}.trail-step{--room:var(--teal);grid-template-columns:84px 1fr;align-items:start;gap:18px;padding-bottom:26px;display:grid;position:relative}.trail-step:not(:last-child):before{content:"";border-left:3px dotted #93a4d48c;position:absolute;top:80px;bottom:2px;left:41px}.trail-node{border:3px solid var(--room);width:84px;height:84px;box-shadow:0 0 0 6px #050a1c99, 0 0 26px -4px var(--room);background:radial-gradient(circle at 35% 30%,#ffffff1f,#050a1cd9 70%);border-radius:50%;place-items:center;display:grid;position:relative}.trail-node svg{max-width:none}.trail-tick{background:var(--ok);color:#05281a;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;bottom:-2px;right:-4px;box-shadow:0 0 0 3px #091230}.trail-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--card-shadow);gap:4px;padding:16px 20px;display:grid}.trail-card h3{font-size:1.3rem}.trail-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.74rem;font-weight:800}.trail-state{color:var(--ink-2);background:#ffffff12;border-radius:999px;justify-self:start;margin-top:6px;padding:3px 12px;font-size:.82rem;font-weight:800}.trail-state.state-current{color:var(--gold-2);background:#f5c25b2e;box-shadow:inset 0 0 0 1px #f5c25b99}.trail-state.state-done{color:var(--ok);background:#4ade9b29}.trail-step.is-current .trail-card{box-shadow:var(--card-shadow), 0 0 40px -16px #f5c25bb3;border-color:#f5c25ba6}.trail-step.is-current .trail-node{animation:2.4s ease-in-out 2 trailPulse}.trail-step.is-ahead .trail-node{filter:saturate(.7)}.trail-step.is-ahead .trail-card{opacity:.88}.trail-step.is-boss .trail-card{border-color:#f59a8f99}.trail-end{padding-bottom:0}.trail-node-end{border-color:var(--gold);box-shadow:0 0 0 6px #050a1c99,0 0 34px -2px #f5c25bcc}@keyframes trailPulse{50%{box-shadow:0 0 0 6px #050a1c99, 0 0 38px 2px var(--room)}}.quick-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;display:grid}.quick-btn{--room:var(--teal);border-radius:var(--radius-sm);border:1.5px solid var(--line);cursor:pointer;text-align:left;background:#050a1c73;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:transform .15s,border-color .2s;display:flex}.quick-btn:hover:not(:disabled){border-color:var(--room);transform:translateY(-2px)}.quick-btn small{color:var(--ink-3);display:block}.prog-hero{grid-template-columns:auto 1fr;align-items:center;gap:26px;padding:28px;display:grid}.prog-rooms{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;display:grid}.prog-room{--room:var(--teal);color:var(--ink);align-items:center;gap:16px;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.prog-room:hover{border-color:var(--room);transform:translateY(-2px)}.prog-room-body{flex:1;gap:4px;min-width:0;display:grid}.prog-room-body strong{font-family:var(--font-display);font-size:1.2rem}.prog-room-body small{color:var(--ink-2)}.prog-bar{background:#ffffff1a;border-radius:999px;height:10px;margin:4px 0;display:block;overflow:hidden}.prog-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--room), var(--gold-2));height:100%;transition:width .9s;display:block}.prog-skills{grid-template-columns:1fr 1fr;gap:18px;display:grid}.next-adventure{border-color:#2dd4bf73;gap:12px;display:grid}@media (max-width:920px){.prog-skills{grid-template-columns:1fr}.adv-hero h1{max-width:100%}}@media (max-width:680px){.adv-hero{padding:20px}.adv-hero .mission-lumi{justify-self:center;position:static}.prog-hero{text-align:center;grid-template-columns:1fr;justify-items:center;padding:22px}.prog-hero .chip-row{justify-content:center}.trail-step{grid-template-columns:60px 1fr;gap:12px}.trail-node{border-width:2.5px;width:60px;height:60px}.trail-node svg{transform:scale(.8)}.trail-step:not(:last-child):before{top:58px;left:29px}.tabbar a,.tabbar .hold-btn{padding:6px 2px;font-size:.72rem}}@media (max-width:1119px){.brand .wordmark{display:none}.topnav-link{padding:8px 10px;font-size:.95rem}.topbar-right .btn{padding:8px 12px;font-size:.88rem}a.player-chip{gap:0;padding:4px}a.player-chip>span:last-child{display:none}}@media (max-width:767px){.topbar-right .switch-btn{display:none}}.feedback-notice{background:#f5c25b14;border-color:#f5c25b99}.login-screen{place-items:center;min-height:100dvh;display:grid}.login-card{gap:14px;width:min(440px,100%);display:grid}.login-brand{align-items:center;gap:12px;display:flex}.login-form{gap:16px}.login-form input{width:100%}.login-form .error-box:focus{outline:none}
