:root{--ink:#120d08;--parchment:#f3e7cd;--gold:#e8b64c;--gold-deep:#a97a1e;--brass:#c9a349;--danger:#e0454f;--calm:#64d2a8;--cool:#6fb6f0;--ui:"Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Cinzel", Georgia, serif;--ui-text-scale:1}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;color:var(--parchment);font-family:var(--ui);-webkit-font-smoothing:antialiased;user-select:none;cursor:default;background:#070a0d;overflow:hidden}#app{position:fixed;inset:0}#scene{cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}#scene.camera-dragging{cursor:grabbing}#ui{pointer-events:none;position:absolute;inset:0}.hud,.hud *,.overlay{pointer-events:none}.overlay.on,.overlay.on .sheet{pointer-events:auto}.hud{opacity:0;transition:opacity .35s;position:absolute;inset:0}.hud.on{opacity:1}.chaos{text-align:center;width:min(46vw,620px);position:absolute;top:18px;left:50%;transform:translate(-50%)}.chaos-frame{background:linear-gradient(#080604db,#140e09db);border:1.5px solid #e8b64c80;border-radius:13px;height:26px;position:relative;overflow:hidden;box-shadow:0 6px 26px #0009,inset 0 2px 8px #000000b3}.chaos-fill{background:linear-gradient(90deg,#4fd18a,#b9d94a 42%,#e8a13c 68%,#e0454f 92%);border-radius:11px;width:0;transition:width .16s linear;position:absolute;inset:2px auto 2px 2px;box-shadow:0 0 18px #e0454f59}.chaos-ticks{position:absolute;inset:0}.chaos-ticks i{background:#f3e7cd29;width:1px;position:absolute;top:0;bottom:0}.chaos-label{font-size:calc(13px * var(--ui-text-scale));letter-spacing:.18em;text-shadow:0 1px 3px #000000e6;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute;inset:0}.chaos-caption{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.28em;opacity:.62;margin-top:5px;font-weight:600}.chaos.critical .chaos-frame{animation:.55s ease-in-out infinite pulseRed}@keyframes pulseRed{0%,to{box-shadow:0 6px 26px #0009,0 0 #e0454f00}50%{box-shadow:0 6px 26px #0009,0 0 26px 4px #e0454f8c}}.timer{font-family:var(--display);font-size:calc(30px * var(--ui-text-scale));letter-spacing:.05em;text-shadow:0 2px 10px #000000d9;font-weight:700;position:absolute;top:60px;left:50%;transform:translate(-50%)}.timer small{font-family:var(--ui);font-size:calc(10px * var(--ui-text-scale));letter-spacing:.3em;opacity:.5;text-align:center;font-weight:600;display:block}.vitals{width:258px;position:absolute;top:20px;left:20px}.panel{backdrop-filter:blur(9px);background:linear-gradient(#100b07c7,#0a0704b8);border:1px solid #e8b64c3d;border-radius:12px;padding:12px 14px;box-shadow:0 10px 34px #00000080}.lvl-row{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.lvl{font-family:var(--display);font-size:calc(20px * var(--ui-text-scale));color:var(--gold);font-weight:700}.lvl-sub{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.16em;opacity:.55;font-weight:600}.bar{background:#0000008c;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;box-shadow:inset 0 1px 3px #000c}.bar>i{border-radius:4px;width:0;height:100%;transition:width .18s;display:block}.bar.xp>i{background:linear-gradient(90deg,#e8b64c,#ffe7a8);box-shadow:0 0 12px #e8b64c8c}.bar.hp>i{background:linear-gradient(90deg,#d0414c,#ff8a90)}.bar.stam>i{background:linear-gradient(90deg,#3f9fd0,#9fe0ff)}.mini-row{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.12em;opacity:.6;align-items:center;gap:8px;margin-bottom:3px;font-weight:600;display:flex}.carry{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.slot{color:#fff;width:15px;height:21px;font-size:calc(9px * var(--ui-text-scale));text-shadow:0 1px 3px #000;background:#ffffff0d;border:1px solid #f3e7cd29;border-radius:2px 4px 4px 2px;place-items:center;font-weight:900;transition:background .12s,transform .12s;display:grid}.slot.full{border-color:#00000080;box-shadow:0 2px 6px #00000080,inset -3px 0 5px #00000059}.carry-label{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.16em;opacity:.55;margin-top:8px;font-weight:600}.powers{gap:12px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.powers .power{background:linear-gradient(#120d08d9,#090604d9);border:1.5px solid #e8b64c47;border-radius:14px;place-items:center;width:62px;height:62px;transition:transform .12s,border-color .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000008c}.powers .power .icon{font-size:calc(26px * var(--ui-text-scale));filter:drop-shadow(0 2px 4px #0009)}.powers .power .key{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.06em;color:var(--gold);opacity:.8;font-weight:800;position:absolute;top:3px;right:6px}.powers .power .lvl-pip{justify-content:center;gap:2px;display:flex;position:absolute;bottom:4px;left:0;right:0}.powers .power .lvl-pip i{background:#e8b64cd9;border-radius:2px;width:5px;height:3px}.powers .power .cd{transform-origin:bottom;background:#040302b8;transition:transform 60ms linear;position:absolute;inset:0}.powers .power.ready{border-color:#e8b64cd9}.powers .power.ready .icon{animation:2.4s ease-in-out infinite readyPop}@keyframes readyPop{0%,90%,to{transform:scale(1)}95%{transform:scale(1.12)}}.powers .power.locked{opacity:.28;filter:grayscale()}.powers .power.tutorial-target{opacity:1;filter:none;border-color:#6fb6f0;animation:.9s ease-in-out infinite alternate tutorialPowerPulse;box-shadow:0 0 0 3px #6fb6f04d,0 0 28px #6fb6f0b8}.powers .power.tutorial-target .key{color:#cbeaff;opacity:1}@keyframes tutorialPowerPulse{to{transform:translateY(-5px)scale(1.06)}}.combo{text-align:right;opacity:0;transition:opacity .2s;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.combo.on{opacity:1}.combo .n{font-family:var(--display);font-size:calc(54px * var(--ui-text-scale));color:var(--gold);text-shadow:0 3px 18px #e8b64c80,0 2px 6px #000;font-weight:900;line-height:.9}.combo .t{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.3em;opacity:.65;font-weight:700}.minimap{backdrop-filter:blur(6px);background:#080604ad;border:1px solid #e8b64c3d;border-radius:14px;width:190px;height:190px;position:absolute;top:20px;right:20px;overflow:hidden;box-shadow:0 10px 34px #00000080}.minimap canvas{width:100%;height:100%;display:block}.minimap .zone-name{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.14em;text-align:center;background:linear-gradient(#0000,#000000bf);padding:4px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.minimap .map-heading{font-size:calc(8px * var(--ui-text-scale));letter-spacing:.14em;color:#fff3d4cc;background:#080604b8;border:1px solid #ffffff1f;border-radius:8px;padding:2px 7px;font-weight:800;position:absolute;top:6px;left:50%;transform:translate(-50%)}.right-rail{flex-direction:column;gap:8px;width:190px;display:flex;position:absolute;top:220px;right:20px}.map-alerts{flex-direction:column;gap:5px;display:none}.map-alerts.on{display:flex}.map-alert{border:1.5px solid var(--alert-color);min-height:37px;box-shadow:0 4px 18px #00000073, inset 3px 0 0 var(--alert-color);background:#080604e6;border-radius:9px;align-items:center;gap:8px;padding:5px 8px;display:flex}.map-alert-icon{text-align:center;width:23px;font-size:calc(18px * var(--ui-text-scale))}.map-alert b{color:var(--alert-color);font-size:calc(10px * var(--ui-text-scale));letter-spacing:.12em;display:block}.map-alert small{font-size:calc(8px * var(--ui-text-scale));letter-spacing:.09em;opacity:.72;margin-top:1px;display:block}.branch-objective{border:1px solid color-mix(in srgb, var(--objective-color) 52%, transparent);background:#080604db;border-radius:10px;padding:9px 10px;display:none;box-shadow:0 6px 22px #0000006b}.branch-objective.on{display:block}.objective-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.objective-label{color:var(--objective-color);font-size:calc(9px * var(--ui-text-scale));letter-spacing:.13em;font-weight:900}.objective-count{white-space:nowrap;font-size:calc(9px * var(--ui-text-scale));font-weight:800}.objective-detail{font-size:calc(9px * var(--ui-text-scale));opacity:.72;margin-top:4px;line-height:1.35}.objective-track{background:#ffffff1a;border-radius:2px;height:4px;margin-top:7px;overflow:hidden}.objective-track>i{background:var(--objective-color);width:0;height:100%;transition:width .18s linear;display:block}.bosses{flex-direction:column;gap:8px;width:min(42vw,540px);display:flex;position:absolute;top:124px;left:50%;transform:translate(-50%)}.bossbar .row{font-size:calc(12px * var(--ui-text-scale));letter-spacing:.1em;justify-content:space-between;align-items:baseline;margin-bottom:3px;font-weight:700;display:flex}.bossbar .row .hint{opacity:.6;font-size:calc(10px * var(--ui-text-scale));letter-spacing:.18em;font-weight:600}.bossbar .objective{text-align:center;min-height:14px;font-size:calc(10px * var(--ui-text-scale));letter-spacing:.1em;text-shadow:0 2px 5px #000;margin-bottom:4px;font-weight:800}.bossbar .objective i{vertical-align:-1px;border:1px solid #fff;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.bossbar .track{background:#0009;border:1px solid #ffffff1f;border-radius:6px;height:11px;overflow:hidden}.bossbar .track>i{height:100%;transition:width .2s;display:block}.compass{opacity:0;width:0;height:0;transition:opacity .25s;position:absolute;top:50%;left:50%}.compass.on{opacity:1}.compass .arrow{width:34px;height:34px;font-size:calc(26px * var(--ui-text-scale));text-align:center;filter:drop-shadow(0 2px 6px #000c);margin:-17px;line-height:34px;position:absolute}.compass .dist{text-align:center;width:40px;font-size:calc(10px * var(--ui-text-scale));letter-spacing:.06em;margin:14px -20px;font-weight:700;position:absolute}.toasts{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:108px;left:50%;transform:translate(-50%)}.toast{font-size:calc(12px * var(--ui-text-scale));letter-spacing:.06em;backdrop-filter:blur(6px);background:#0a0704cc;border:1px solid #e8b64c4d;border-radius:20px;padding:7px 16px;font-weight:600;animation:.3s cubic-bezier(.2,1.4,.4,1) toastIn}@keyframes toastIn{0%{opacity:0;transform:translateY(14px)scale(.9)}to{opacity:1;transform:none}}.toast.out{animation:.35s forwards toastOut}@keyframes toastOut{to{opacity:0;transform:translateY(-10px)}}.banner{text-align:center;pointer-events:none;position:absolute;top:34%;left:50%;transform:translate(-50%)}.banner h2{font-family:var(--display);font-size:clamp(calc(30px * var(--ui-text-scale)), calc(5.4vw * var(--ui-text-scale)), calc(68px * var(--ui-text-scale)));letter-spacing:.05em;color:var(--parchment);text-shadow:0 0 40px #e8b64c66,0 4px 16px #000000e6;font-weight:900;animation:.5s cubic-bezier(.2,1.5,.4,1) bannerIn}.banner p{font-size:calc(14px * var(--ui-text-scale));letter-spacing:.22em;opacity:.72;margin-top:6px;font-weight:600}.banner.danger h2{color:#ffb0b4;text-shadow:0 0 46px #e0454f99,0 4px 16px #000}.banner.out{animation:.5s forwards bannerOut}@keyframes bannerIn{0%{opacity:0;letter-spacing:.3em;transform:translate(-50%)scale(.8)}}@keyframes bannerOut{to{opacity:0;transform:translate(-50%)scale(1.08)}}.popups{position:absolute;inset:0;overflow:hidden}.popup{font-size:calc(15px * var(--ui-text-scale));letter-spacing:.02em;text-shadow:0 2px 6px #000000e6,0 0 14px;white-space:nowrap;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.effects{gap:8px;display:flex;position:absolute;bottom:22px;left:20px}.effect{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.08em;background:#0a0704c7;border:1px solid #e8b64c4d;border-radius:18px;align-items:center;gap:6px;padding:6px 11px;font-weight:700;display:flex}.effect .ring{background:var(--gold);border-radius:50%;width:8px;height:8px}.mopper{text-align:center;opacity:0;transition:opacity .2s;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.mopper.on{opacity:1}.mopper .track{background:#0009;border-radius:4px;width:180px;height:7px;margin:6px auto 0;overflow:hidden}.mopper .track>i{background:linear-gradient(90deg,#6fb6f0,#bfe6ff);width:0;height:100%;display:block}.mopper .k{font-size:calc(12px * var(--ui-text-scale));letter-spacing:.16em;font-weight:700}.mopper .k b{color:var(--gold)}.tutorial-card{--tutorial-accent:var(--gold);opacity:0;border:1.5px solid var(--tutorial-accent);width:min(560px,100vw - 40px);box-shadow:0 12px 42px #000000a6, inset 4px 0 0 var(--tutorial-accent);text-align:center;background:linear-gradient(#110c08f5,#080604f0);border-radius:13px;padding:13px 18px 12px;transition:opacity .22s,transform .22s;position:absolute;bottom:104px;left:50%;transform:translate(-50%,18px)}.tutorial-card.on{opacity:1;transform:translate(-50%)}.tutorial-eyebrow{color:var(--tutorial-accent);font-size:calc(9px * var(--ui-text-scale));letter-spacing:.22em;font-weight:900}.tutorial-title{font-family:var(--display);font-size:calc(18px * var(--ui-text-scale));margin-top:3px;font-weight:800}.tutorial-body{max-width:510px;font-size:calc(12px * var(--ui-text-scale));opacity:.78;margin:4px auto 0;line-height:1.45}.tutorial-key{color:var(--tutorial-accent);background:color-mix(in srgb, var(--tutorial-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--tutorial-accent) 36%, transparent);font-size:calc(9px * var(--ui-text-scale));letter-spacing:.13em;border-radius:6px;margin-top:7px;padding:3px 9px;font-weight:900;display:inline-block}.debug{font-family:ui-monospace,Menlo,monospace;font-size:calc(10px * var(--ui-text-scale));opacity:.45;line-height:1.6;display:none;position:absolute;bottom:70px;left:20px}.debug.on{display:block}.overlay{backdrop-filter:blur(11px);opacity:0;pointer-events:none;z-index:10;background:radial-gradient(at 50% 40%,#140e08b8,#040302f0);justify-content:center;align-items:center;transition:opacity .38s;display:flex;position:absolute;inset:0}.overlay.on{opacity:1;pointer-events:auto}.overlay .sheet{width:min(1080px,92vw);max-height:90vh;padding:34px 40px;animation:.45s cubic-bezier(.16,1,.3,1) sheetIn;overflow-y:auto}@keyframes sheetIn{0%{opacity:0;transform:translateY(26px)scale(.98)}}.overlay .sheet{scrollbar-width:thin;scrollbar-color:#e8b64c73 transparent}.overlay .sheet::-webkit-scrollbar{width:10px}.overlay .sheet::-webkit-scrollbar-track{background:#0000004d;border-radius:5px}.overlay .sheet::-webkit-scrollbar-thumb{background:#e8b64c73;border-radius:5px}.overlay .sheet::-webkit-scrollbar-thumb:hover{background:#e8b64cb3}.overlay-back{z-index:3;cursor:pointer;color:var(--parchment);font-family:var(--ui);font-size:calc(12px * var(--ui-text-scale));letter-spacing:.14em;backdrop-filter:blur(8px);background:#0c0805e6;border:1.5px solid #e8b64c73;border-radius:30px;align-items:center;gap:8px;padding:11px 20px 11px 16px;font-weight:800;transition:transform .14s cubic-bezier(.2,1.4,.4,1),border-color .2s,background .2s;display:none;position:absolute;top:22px;left:26px}.overlay.on .overlay-back.show{display:flex}.overlay-back:hover{border-color:var(--gold);background:#1c130af2;transform:translate(-3px)}.overlay-back .esc{font-size:calc(10px * var(--ui-text-scale));opacity:.55;letter-spacing:.1em;border:1px solid #f3e7cd40;border-radius:5px;padding:2px 6px}.overlay .sheet.has-back{padding-top:76px}.title-block{text-align:center;margin-bottom:26px}.title-block .kicker{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.5em;opacity:.5;font-weight:700}.title-block h1{font-family:var(--display);font-weight:900;font-size:clamp(calc(44px * var(--ui-text-scale)), calc(8vw * var(--ui-text-scale)), calc(104px * var(--ui-text-scale)));letter-spacing:.02em;background:linear-gradient(#fff3d4 0%,#e8b64c 52%,#8a5c14 100%);color:#0000;filter:drop-shadow(0 6px 24px #e8b64c40);background-clip:text;margin:4px 0;line-height:.95}.title-block .sub{font-family:var(--display);font-size:clamp(calc(13px * var(--ui-text-scale)), calc(2vw * var(--ui-text-scale)), calc(20px * var(--ui-text-scale)));letter-spacing:.3em;opacity:.8;font-style:italic}.rule{background:linear-gradient(90deg,#0000,#e8b64c80,#0000);height:1px;margin:20px 0}.menu-actions{flex-direction:column;gap:11px;max-width:380px;margin:0 auto;display:flex}.btn{font-family:var(--ui);font-size:calc(15px * var(--ui-text-scale));letter-spacing:.1em;cursor:pointer;color:var(--parchment);text-align:center;background:linear-gradient(#e8b64c29,#e8b64c0d);border:1.5px solid #e8b64c6b;border-radius:11px;padding:15px 26px;font-weight:700;transition:transform .12s cubic-bezier(.2,1.4,.4,1),background .2s,border-color .2s,box-shadow .2s}.btn:hover{border-color:var(--gold);background:linear-gradient(#e8b64c4d,#e8b64c1a);transform:translateY(-2px);box-shadow:0 10px 30px #e8b64c33}.btn:focus-visible,.overlay-back:focus-visible,.level-card:focus-visible,.char-card:focus-visible,.card:focus-visible,.shop-item:focus-visible,.seg button:focus-visible,.binding-button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.controller-focus{outline-offset:4px;outline:3px solid #fff3d4!important;box-shadow:0 0 0 7px #e8b64c59,0 16px 42px #000000a6!important}.btn:active{transform:translateY(0)scale(.985)}.btn.primary{color:#1a1206;background:linear-gradient(#f0c464,#b4801f);border-color:#ffe0a0;font-weight:900;box-shadow:0 10px 30px #e8b64c47}.btn.primary:hover{box-shadow:0 14px 44px #e8b64c6b}.btn.daily{background:linear-gradient(#4a80e83d,#4a80e812);border-color:#6fb6f0a6}.btn.daily:hover{border-color:#9fd8ff;box-shadow:0 12px 34px #4a80e838}.btn.ghost{background:#ffffff08;border-color:#f3e7cd2e}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.btn small{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.06em;opacity:.7;margin-top:3px;font-weight:500;display:block}.stats-strip{flex-wrap:wrap;justify-content:center;gap:26px;margin-top:22px;display:flex}.stat{text-align:center}.stat .v{font-family:var(--display);font-size:calc(26px * var(--ui-text-scale));color:var(--gold);font-weight:700}.stat .k{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.24em;opacity:.5;font-weight:600}.overlay[data-screen=main]{backdrop-filter:none;isolation:isolate;background:#070503;overflow:hidden}.overlay[data-screen=main]:before{content:"";z-index:-2;transform-origin:68% 46%;filter:saturate(1.08)contrast(1.02);will-change:transform;background:#090604 url(/menu-library-wolfe-v2.webp) 50%/cover no-repeat;animation:18s ease-in-out infinite alternate mainCameraDrift;position:absolute;inset:-3%;transform:scale(1.04)}.overlay[data-screen=main]:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#050302fa 0%,#070402f2 25%,#070402c9 42%,#05040347 61%,#0205070d 78%),linear-gradient(#0202024d 0%,#0000 28% 72%,#030201d1 100%);position:absolute;inset:0}.overlay[data-screen=main] .sheet{width:100%;height:100dvh;max-height:none;padding:clamp(26px,4.2vw,64px) clamp(26px,5vw,76px);overflow-x:hidden}.main-menu{grid-template-columns:minmax(430px,.9fr) minmax(360px,1.1fr);align-items:center;min-height:calc(100dvh - clamp(52px,8.4vw,128px));display:grid;position:relative}.main-menu-copy{z-index:2;width:min(100%,530px);padding:6px 0;position:relative}.overlay[data-screen=main] .title-block{text-align:left;margin:0 0 20px;animation:.8s cubic-bezier(.16,1,.3,1) 50ms both mainReveal}.overlay[data-screen=main] .title-block .kicker{color:#8deeff;font-size:calc(10px * var(--ui-text-scale));letter-spacing:.38em;opacity:.86;text-shadow:0 0 18px #39deff80;margin-bottom:8px}.overlay[data-screen=main] .title-block h1{letter-spacing:-.045em;filter:none;white-space:nowrap;background:0 0;margin:0;font-size:clamp(48px,5.25vw,78px);line-height:.86;display:block}.title-the{color:#e7c779;font-family:var(--ui);letter-spacing:.62em;-webkit-text-fill-color:currentColor;margin:0 0 .35em .28em;font-size:.17em;font-weight:900;line-height:1;display:block}.title-name{background:linear-gradient(#fff8df 0%,#efc55d 51%,#a66a13 100%);color:#0000;filter:drop-shadow(0 5px 22px #e8b64c4d);background-clip:text;display:inline-block}.title-number{color:#e8b64c;letter-spacing:-.08em;vertical-align:.12em;text-shadow:0 0 24px #e8b64c66;-webkit-text-fill-color:currentColor;margin-left:.11em;font-size:.48em;display:inline-block}.overlay[data-screen=main] .title-block .sub{color:#f0dfbd;font-family:var(--display);font-size:clamp(calc(11px * var(--ui-text-scale)), calc(1.3vw * var(--ui-text-scale)), calc(15px * var(--ui-text-scale)));letter-spacing:.22em;opacity:.83;margin-top:12px;font-style:italic}.main-premise{color:#f3e7cd94;font-size:calc(9px * var(--ui-text-scale));letter-spacing:.2em;margin-top:10px;font-weight:800;line-height:1.5}.main-actions{gap:9px;max-width:none;margin:0}.main-actions>.btn,.main-utility-grid .btn{text-align:left;backdrop-filter:blur(9px);background:linear-gradient(100deg,#19110adb,#110d099e);border-radius:8px;min-height:50px;padding:10px 52px 10px 17px;position:relative;box-shadow:0 12px 30px #0000004d,inset 0 1px #ffffff09}.main-actions>.btn:after,.main-utility-grid .btn:after{content:"›";color:var(--gold);font-family:var(--display);opacity:.7;font-size:24px;font-weight:700;transition:transform .18s,opacity .18s;position:absolute;top:50%;right:17px;transform:translateY(-54%)}.main-actions>.btn:hover:after,.main-utility-grid .btn:hover:after{opacity:1;transform:translate(4px,-54%)}.main-actions>.btn.primary{color:#201406;background:linear-gradient(105deg,#f3cc73,#c78a25 72%,#9d6416);border-color:#ffe5a8;min-height:60px;box-shadow:0 13px 38px #e8b64c52,inset 0 1px #ffffff80}.main-actions>.btn.primary:after{color:#2b1804;opacity:.9;font-size:30px}.main-actions>.btn.daily{background:linear-gradient(100deg,#123346d9,#0e1b2ca1);border-color:#57dbff9e;min-height:54px;box-shadow:0 12px 34px #1facda1c,inset 3px 0 #5adcffbf}.main-actions .btn small{font-size:calc(8.5px * var(--ui-text-scale));letter-spacing:.12em;opacity:.68;margin-top:2px}.main-utility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.main-utility-grid .btn{min-width:0;font-size:calc(11px * var(--ui-text-scale));letter-spacing:.08em;border-color:#e8b64c42;padding-right:32px}.main-utility-grid .btn:after{font-size:19px;right:11px}.main-actions>.btn:first-child{animation:.72s cubic-bezier(.16,1,.3,1) .17s both mainReveal}.main-actions>.btn:nth-child(2){animation:.72s cubic-bezier(.16,1,.3,1) .23s both mainReveal}.main-utility-grid .btn:first-child{animation:.68s cubic-bezier(.16,1,.3,1) .29s both mainReveal}.main-utility-grid .btn:nth-child(2){animation:.68s cubic-bezier(.16,1,.3,1) .34s both mainReveal}.main-utility-grid .btn:nth-child(3){animation:.68s cubic-bezier(.16,1,.3,1) .39s both mainReveal}.main-utility-grid .btn:nth-child(4){animation:.68s cubic-bezier(.16,1,.3,1) .44s both mainReveal}.main-menu-footer{animation:.72s cubic-bezier(.16,1,.3,1) .48s both mainReveal}.main-stats{border-top:1px solid #e8b64c33;justify-content:flex-start;gap:clamp(13px,2vw,25px);margin-top:15px;padding-top:12px}.main-stats .stat{text-align:left;min-width:58px}.main-stats .stat .v{font-size:calc(18px * var(--ui-text-scale));line-height:1}.main-stats .stat .k{font-size:calc(7.5px * var(--ui-text-scale));letter-spacing:.15em;margin-top:4px}.main-unlock{text-align:left;max-width:none;font-size:calc(9px * var(--ui-text-scale));border-radius:7px;margin:10px 0 0;padding:7px 10px}.main-hint{text-align:left;font-size:calc(9px * var(--ui-text-scale));letter-spacing:.06em;margin-top:9px;line-height:1.45}.main-scene-tag{z-index:2;text-align:right;text-shadow:0 2px 8px #000;border-right:2px solid #68e6ff;padding:9px 12px 9px 15px;animation:.9s cubic-bezier(.16,1,.3,1) .58s both mainReveal;position:absolute;bottom:4px;right:0}.main-scene-tag span,.main-scene-tag b{display:block}.main-scene-tag span{letter-spacing:.32em;opacity:.62;font-size:8px;font-weight:900}.main-scene-tag b{color:#aaf3ff;letter-spacing:.18em;margin-top:3px;font-size:9px}.menu-atmosphere{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.menu-magic-glow{mix-blend-mode:screen;background:radial-gradient(#39e4ff30,#0e91c60f 42%,#0000 70%);width:48vw;height:65vh;animation:4.8s ease-in-out infinite menuMagicPulse;position:absolute;top:27%;right:-4vw}.menu-motes{opacity:.42;background-image:radial-gradient(circle,#ffe8aee6 0 1px,#0000 1.6px),radial-gradient(circle,#70ebffcc 0 1px,#0000 1.7px),radial-gradient(circle,#ffffffa6 0 .8px,#0000 1.4px);background-position:0 0,36px 48px,80px 18px;background-size:92px 88px,127px 119px,71px 103px;animation:20s linear infinite menuMotes;position:absolute;inset:6% 0 0 42%;mask-image:linear-gradient(90deg,#0000,#000 24% 92%,#0000)}.menu-spark{background:#c7f8ff;border-radius:50%;width:4px;height:4px;animation:3.2s ease-in-out infinite menuSpark;position:absolute;box-shadow:0 0 8px 3px #46e1ffa3,0 0 26px 8px #46e1ff38}.spark-one{animation-delay:-.4s;top:31%;right:17%}.spark-two{animation-delay:-1.7s;top:62%;right:30%;transform:scale(.65)}.spark-three{animation-delay:-2.4s;top:53%;right:8%;transform:scale(.8)}.spark-four{animation-delay:-.9s;top:42%;right:38%;transform:scale(.5)}@keyframes mainCameraDrift{0%{transform:scale(1.04)translate(0,0)}to{transform:scale(1.09)translate(-.75%,-.45%)}}@keyframes mainReveal{0%{opacity:0;filter:blur(5px);transform:translate(-24px,10px)}to{opacity:1;filter:none;transform:none}}@keyframes menuMagicPulse{0%,to{opacity:.62;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}@keyframes menuMotes{to{transform:translate(-32px,-72px)}}@keyframes menuSpark{0%,to{opacity:.25}45%{opacity:1;transform:translateY(-10px)scale(1.5)}}.levels{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.level-card{cursor:pointer;background:linear-gradient(#18110ae6,#0c0805e6);border:1.5px solid #e8b64c3d;border-radius:14px;padding:20px 18px;transition:transform .16s cubic-bezier(.2,1.4,.4,1),border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.level-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 16px 42px #0009}.level-card .ico{font-size:calc(40px * var(--ui-text-scale));margin-bottom:8px}.level-card h3{font-family:var(--display);font-size:calc(19px * var(--ui-text-scale));margin-bottom:5px}.level-card p{font-size:calc(12px * var(--ui-text-scale));opacity:.62;line-height:1.5}.level-card .best{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.18em;opacity:.5;margin-top:10px;font-weight:600}.level-card.locked{cursor:not-allowed;filter:grayscale(.85);opacity:.55}.level-card.locked:hover{border-color:#e8b64c3d;transform:none}.level-card .lock{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.14em;text-align:center;background:#0009;padding:7px;font-weight:700;position:absolute;inset:auto 0 0}.chars{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:720px;margin:0 auto;display:grid}.char-card{cursor:pointer;text-align:center;background:linear-gradient(#1e150cf0,#0d0905f0);border:1.5px solid #e8b64c47;border-radius:16px;padding:18px 20px 22px;transition:transform .18s cubic-bezier(.2,1.5,.4,1),border-color .2s,box-shadow .25s;position:relative}.char-card:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 22px 60px #000000a6}.char-stage{background:radial-gradient(at 50% 78%,#e8b64c29,#0000 62%);border-radius:12px;height:210px;margin:0 -6px 10px;overflow:hidden}.char-stage canvas{width:100%;height:100%;display:block}.char-card h3{font-family:var(--display);font-size:calc(24px * var(--ui-text-scale));margin-bottom:2px}.char-role{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.18em;color:var(--gold);margin-bottom:8px;font-weight:700}.char-card p{font-size:calc(12.5px * var(--ui-text-scale));opacity:.72;min-height:40px;line-height:1.55}.char-trait{color:#ffe7a8;min-height:45px;font-size:calc(10.5px * var(--ui-text-scale));background:#e8b64c17;border:1px solid #e8b64c33;border-radius:8px;margin-top:10px;padding:8px 10px;font-weight:700;line-height:1.45}.swatches{justify-content:center;gap:6px;margin-top:12px;display:flex}.swatches i{border-radius:4px;width:26px;height:8px;box-shadow:inset 0 0 0 1px #00000059}.last-tag{z-index:2;font-size:calc(9px * var(--ui-text-scale));letter-spacing:.16em;color:var(--gold);background:#e8b64c2e;border:1px solid #e8b64c73;border-radius:12px;padding:4px 9px;font-weight:800;position:absolute;top:12px;right:12px}.draft{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.card{cursor:pointer;background:linear-gradient(#1e150cf0,#0d0905f0);border:1.5px solid #e8b64c4d;border-radius:16px;padding:22px 20px 20px;transition:transform .18s cubic-bezier(.2,1.5,.4,1),border-color .2s,box-shadow .25s;position:relative;overflow:hidden}.card:before{content:"";opacity:0;background:radial-gradient(circle,#e8b64c2e,#0000 65%);width:180px;height:180px;transition:opacity .3s;position:absolute;inset:-40% -40% auto auto}.card:hover{border-color:var(--gold);transform:translateY(-7px)scale(1.02);box-shadow:0 22px 60px #000000a6}.card:hover:before{opacity:1}.card .ico{font-size:calc(42px * var(--ui-text-scale));margin-bottom:10px}.card h3{font-family:var(--display);font-size:calc(20px * var(--ui-text-scale));margin-bottom:4px}.card .tier{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.2em;color:var(--gold);margin-bottom:9px;font-weight:700}.card p{font-size:calc(13px * var(--ui-text-scale));opacity:.78;line-height:1.55}.card .kbd{width:22px;height:22px;font-size:calc(11px * var(--ui-text-scale));background:#e8b64c26;border:1px solid #e8b64c66;border-radius:6px;place-items:center;font-weight:800;display:grid;position:absolute;top:12px;right:12px}.card.power{border-color:#6fb6f06b}.card.power .tier{color:var(--cool)}.card.power:hover{border-color:var(--cool);box-shadow:0 22px 60px #6fb6f02e}.tutorial-draft-hint{color:#bfe3ff;width:fit-content;font-size:calc(10px * var(--ui-text-scale));letter-spacing:.13em;background:#6fb6f021;border:1px solid #6fb6f080;border-radius:20px;margin:-7px auto 15px;padding:7px 14px;font-weight:900}.shop{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.shop-item{background:linear-gradient(#18110ad9,#0c0805d9);border:1px solid #e8b64c33;border-radius:12px;padding:15px 16px;transition:border-color .2s,transform .14s}.shop-item.buyable{cursor:pointer}.shop-item.buyable:hover{border-color:var(--gold);transform:translateY(-3px)}.shop-item .head{align-items:center;gap:10px;margin-bottom:7px;display:flex}.shop-item .ico{font-size:calc(24px * var(--ui-text-scale))}.shop-item h4{font-size:calc(14px * var(--ui-text-scale));letter-spacing:.03em;font-weight:700}.shop-item p{font-size:calc(11.5px * var(--ui-text-scale));opacity:.66;min-height:34px;line-height:1.5}.shop-item .foot{justify-content:space-between;align-items:center;margin-top:9px;display:flex}.pips{gap:3px;display:flex}.pips i{background:#f3e7cd29;border-radius:3px;width:13px;height:5px}.pips i.on{background:var(--gold);box-shadow:0 0 7px #e8b64c99}.price{font-size:calc(12px * var(--ui-text-scale));letter-spacing:.05em;color:var(--gold);font-weight:800}.price.cant{color:#a08a6a;opacity:.6}.price.max{color:var(--calm)}.wallet{font-size:calc(15px * var(--ui-text-scale));letter-spacing:.1em;color:var(--gold);justify-content:center;align-items:center;gap:8px;margin-bottom:18px;font-weight:800;display:flex}.results-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:22px 0;display:grid}.result-stat{text-align:center;background:#ffffff08;border:1px solid #f3e7cd17;border-radius:11px;padding:14px 8px}.result-stat .v{font-family:var(--display);font-size:calc(27px * var(--ui-text-scale));color:var(--gold);font-weight:700}.result-stat .k{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.18em;opacity:.5;margin-top:3px;font-weight:600}.unlock-note{text-align:center;max-width:520px;font-size:calc(13px * var(--ui-text-scale));letter-spacing:.04em;background:linear-gradient(#e8b64c29,#e8b64c0d);border:1px solid #e8b64c73;border-radius:12px;margin:16px auto;padding:14px 18px;font-weight:600}.seed-row{justify-content:center;margin:11px 0;display:flex}.seed-chip{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;color:#f3e7cdbd;max-width:min(680px,90vw);font-family:ui-monospace,Menlo,monospace;font-size:calc(10px * var(--ui-text-scale));letter-spacing:.05em;background:#ffffff09;border:1px solid #f3e7cd24;border-radius:7px;padding:6px 12px;overflow:hidden}.seed-chip:hover{color:#fff3d4;border-color:var(--gold)}.telemetry-panel{background:#6fb6f00f;border:1px solid #6fb6f033;border-radius:11px;max-width:720px;margin:18px auto;padding:12px 14px}.telemetry-head{color:var(--cool);font-size:calc(9px * var(--ui-text-scale));letter-spacing:.16em;justify-content:space-between;gap:12px;font-weight:900;display:flex}.telemetry-head small{color:var(--parchment);font-size:inherit;opacity:.48}.telemetry-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.telemetry-grid>div{text-align:center;background:#ffffff06;border-radius:7px;padding:7px}.telemetry-grid b{font-family:var(--display);color:#d8edff;font-size:calc(18px * var(--ui-text-scale));display:block}.telemetry-grid span{opacity:.52;font-size:calc(8px * var(--ui-text-scale));letter-spacing:.1em;margin-top:2px;font-weight:700;display:block}.seed-setup{gap:9px;width:min(620px,90vw);margin:22px auto 0;display:grid}.seed-setup label{color:var(--gold);font-size:calc(10px * var(--ui-text-scale));letter-spacing:.15em;margin-top:5px;font-weight:900}.seed-setup input,.seed-setup select{width:100%;color:var(--parchment);font-family:var(--ui);font-size:calc(14px * var(--ui-text-scale));background:#080604d1;border:1.5px solid #e8b64c59;border-radius:9px;padding:13px 14px}.seed-setup input{font-family:ui-monospace,Menlo,monospace}.seed-setup input:focus,.seed-setup select:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}.seed-setup .btn{margin-top:10px}.seed-error{color:#ff9da2;min-height:18px;font-size:calc(11px * var(--ui-text-scale))}.playtest-history{flex-direction:column;gap:9px;max-width:840px;margin:0 auto;display:flex}.playtest-run{background:#6fb6f00b;border:1px solid #6fb6f03b;border-radius:10px;overflow:hidden}.playtest-run summary{cursor:pointer;justify-content:space-between;align-items:center;gap:15px;padding:11px 13px;display:flex}.playtest-run summary span{flex-direction:column;gap:2px;display:flex}.playtest-run summary b{font-family:var(--display);font-size:calc(14px * var(--ui-text-scale))}.playtest-run summary small{opacity:.52;font-size:calc(9px * var(--ui-text-scale));letter-spacing:.08em}.playtest-run summary strong{color:var(--gold);font-family:var(--display);font-size:calc(17px * var(--ui-text-scale))}.playtest-metrics{grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:6px;padding:0 12px 10px;display:grid}.playtest-metrics span{text-align:center;font-size:calc(9px * var(--ui-text-scale));opacity:.72;background:#ffffff06;border-radius:6px;padding:6px}.playtest-metrics b{color:#d8edff;font-size:calc(13px * var(--ui-text-scale));display:block}.playtest-build,.playtest-seed{font-size:calc(9px * var(--ui-text-scale));opacity:.58;border-top:1px solid #f3e7cd12;padding:7px 13px;line-height:1.45}.playtest-seed{overflow-wrap:anywhere;font-family:ui-monospace,Menlo,monospace}.empty-history{text-align:center;opacity:.55;border:1px dashed #f3e7cd29;border-radius:10px;padding:30px}.settings-notice{color:#a9f0d3;width:fit-content;font-size:calc(10px * var(--ui-text-scale));letter-spacing:.07em;background:#64d2a81a;border:1px solid #64d2a861;border-radius:8px;margin:-4px auto 12px;padding:7px 13px;font-weight:800}.settings-paused-note{color:var(--calm);opacity:.72;margin-top:-8px}.settings-row{border-bottom:1px solid #f3e7cd14;justify-content:space-between;align-items:center;gap:20px;padding:11px 0;display:flex}.settings-row label{font-size:calc(13px * var(--ui-text-scale));letter-spacing:.06em;font-weight:600}.settings-row input[type=range]{width:200px;accent-color:var(--gold);pointer-events:auto}.settings-copy{max-width:300px;font-size:calc(10px * var(--ui-text-scale));opacity:.55;text-align:right;line-height:1.4}.settings-group-title{color:var(--gold);font-size:calc(10px * var(--ui-text-scale));letter-spacing:.2em;border-bottom:1px solid #e8b64c52;margin-top:22px;padding-bottom:7px;font-weight:900}.bindings{grid-template-columns:1fr 1fr;column-gap:20px;display:grid}.binding-row{border-bottom:1px solid #f3e7cd12;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.binding-row label{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.06em}.binding-button{cursor:pointer;min-width:92px;color:var(--parchment);font-family:var(--ui);font-size:calc(10px * var(--ui-text-scale));background:#ffffff0a;border:1px solid #f3e7cd33;border-radius:7px;padding:7px 10px;font-weight:800}.binding-button.listening{color:#1a1206;background:var(--gold);border-color:#ffe0a0}.seg{gap:4px;display:flex}.seg button{font-size:calc(11px * var(--ui-text-scale));letter-spacing:.1em;cursor:pointer;color:var(--parchment);background:#ffffff0a;border:1px solid #f3e7cd24;border-radius:8px;padding:7px 13px;font-weight:700;transition:all .16s}.seg button.on{border-color:var(--gold);color:#fff3d4;background:#e8b64c3d}.loading-inner{text-align:center}.loading-inner .spinner{border:3px solid #e8b64c29;border-top-color:var(--gold);border-radius:50%;width:54px;height:54px;margin:0 auto 20px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-inner h2{font-family:var(--display);font-size:calc(26px * var(--ui-text-scale));margin-bottom:8px}.loading-inner p{font-size:calc(12.5px * var(--ui-text-scale));opacity:.58;letter-spacing:.12em}.hint-row{text-align:center;font-size:calc(12px * var(--ui-text-scale));opacity:.5;letter-spacing:.08em;margin-top:20px;line-height:1.9}.hint-row b{color:var(--gold);font-weight:800}.section-title{font-family:var(--display);font-size:calc(22px * var(--ui-text-scale));text-align:center;letter-spacing:.06em;margin-bottom:14px}.section-sub{text-align:center;font-size:calc(12px * var(--ui-text-scale));opacity:.55;letter-spacing:.1em;margin:-8px 0 18px}@media (width<=760px){.vitals{width:190px}.minimap{width:128px;height:128px}.right-rail{width:160px;top:156px}.bindings{grid-template-columns:1fr}.telemetry-grid{grid-template-columns:repeat(2,1fr)}.tutorial-card{bottom:86px}.chaos{width:62vw}.powers .power{width:52px;height:52px}}@media (width<=840px){.overlay[data-screen=main]{align-items:stretch}.overlay[data-screen=main]:before{transform-origin:63% 42%;background-position:63% 43%;height:52dvh;inset:0 0 auto}.overlay[data-screen=main]:after{background:linear-gradient(#02030414 0%,#03030314 25%,#070503a1 43%,#080503 57% 100%),linear-gradient(90deg,#04030261,#0000 40%,#02040614)}.overlay[data-screen=main] .sheet{height:100dvh;padding:max(37dvh, 280px) 14px calc(26px + env(safe-area-inset-bottom));scroll-padding:max(37dvh,280px) 0 30px;overflow:hidden auto}.main-menu{min-height:auto;display:block}.main-menu-copy{backdrop-filter:blur(14px);background:linear-gradient(#0a0704e0,#080503fa 26%);border:1px solid #e8b64c33;border-bottom:0;border-radius:22px 22px 0 0;width:100%;max-width:620px;margin:0 auto;padding:24px 18px 22px;box-shadow:0 -22px 50px #00000075}.overlay[data-screen=main] .title-block{text-align:center;margin-bottom:17px}.overlay[data-screen=main] .title-block h1{font-size:clamp(31px,10.3vw,48px)}.overlay[data-screen=main] .title-block .kicker{letter-spacing:.28em;font-size:9px}.overlay[data-screen=main] .title-block .sub{font-size:calc(10px * var(--ui-text-scale));letter-spacing:.13em}.main-premise{font-size:calc(8px * var(--ui-text-scale));letter-spacing:.12em}.main-stats{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:center;gap:8px;display:grid}.main-stats .stat{text-align:center;min-width:0}.main-unlock,.main-hint{text-align:center}.main-scene-tag{display:none}.menu-magic-glow{width:100vw;height:48dvh;top:6%;right:-30%}.menu-motes{inset:0 0 48%}}@media (width>=841px) and (height<=760px){.overlay[data-screen=main] .sheet{padding-top:24px;padding-bottom:24px}.main-menu{min-height:calc(100dvh - 48px)}.overlay[data-screen=main] .title-block{margin-bottom:14px}.overlay[data-screen=main] .title-block h1{font-size:clamp(45px,4.9vw,66px)}.main-premise{margin-top:7px}.main-actions>.btn.primary{min-height:54px}.main-actions>.btn.daily{min-height:49px}.main-actions>.btn,.main-utility-grid .btn{min-height:46px;padding-top:8px;padding-bottom:8px}.main-stats{margin-top:11px;padding-top:9px}.main-hint{display:none}}@media (width<=360px){.overlay[data-screen=main] .sheet{padding-left:9px;padding-right:9px}.main-menu-copy{padding-left:13px;padding-right:13px}.main-utility-grid{grid-template-columns:1fr}.main-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.reduce-motion #ui *,.reduce-motion #ui :before,.reduce-motion #ui :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}@media (prefers-reduced-motion:reduce){#ui *,#ui :before,#ui :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
