@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2");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{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--bg:#0a0b0d;--bg2:#131417;--ambient:#121316;--accent:#8f9bb3;--accent-2:#a9a1c9;--text:#f2f3fa;--text-dim:#b9bdd6;--text-faint:#8a90ab;--highlight:var(--accent);--highlight-2:var(--accent-2);--owned:var(--accent-2);--selected:var(--accent-2);--danger:#ff7a7a;--glass-bg:color-mix(in srgb, var(--accent) 4%, #ffffff0d);--glass-bg-strong:color-mix(in srgb, var(--accent) 6%, #ffffff14);--glass-border:#ffffff24;--glass-bezel:inset 0 1px 0 #ffffff38, inset 0 -1px 0 #00000052;--glass-shadow:0 8px 32px #00000061;--blur-hud:4px;--blur-sheet:6px;--pill:#ffffff0f;--pill-border:#ffffff1a;--font:"Plus Jakarta Sans", Arial, sans-serif;--t-press:90ms;--t-quick:.17s;--t-base:.26s;--t-sheet:.38s;--t-sheet-out:.28s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.5, 0, .8, .4);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--spring:cubic-bezier(.34, 1.4, .64, 1);--spring-soft:cubic-bezier(.32, 1.16, .5, 1);--spring-bouncy:cubic-bezier(.2, 1.5, .36, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;padding:0;overflow:hidden}#app{height:100%}.environment-host{z-index:0;pointer-events:none;position:absolute;inset:0}.environment-host .spektral-canvas-wrap,.environment-host canvas{will-change:transform;width:100%;height:100%;transform:translateZ(0)}.app{--env-glow-a:color-mix(in srgb, var(--accent) 30%, transparent);--env-glow-b:color-mix(in srgb, var(--accent-2) 26%, transparent);--env-glow-c:color-mix(in srgb, var(--accent) 18%, color-mix(in srgb, var(--accent-2) 16%, transparent));--env-horizon:color-mix(in srgb, var(--accent) 12%, color-mix(in srgb, var(--accent-2) 10%, transparent));background:radial-gradient(52vmax 42vmax at 32% 38%, var(--env-glow-a), transparent 68%), radial-gradient(46vmax 40vmax at 70% 60%, var(--env-glow-b), transparent 70%), radial-gradient(40vmax 36vmax at 18% 78%, var(--env-glow-c), transparent 72%), linear-gradient(180deg, transparent 52%, var(--env-horizon) 64%, transparent 78%), radial-gradient(120vmax 90vmax at 50% 42%, color-mix(in srgb, var(--ambient) 55%, transparent), transparent 62%), linear-gradient(170deg, var(--bg2) 0%, var(--bg) 58%, #0d0e11 100%);background-repeat:no-repeat;transition:background .6s;position:fixed;inset:0}@keyframes envDrift{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0}50%{background-position:-4% -2%,3% 2%,-2% 3%,0 0,0 0,0 0}to{background-position:0 0,0 0,0 0,0 0,0 0,0 0}}.app:not(.environment-live){animation:46s ease-in-out infinite envDrift}.app.environment-live{background:var(--bg)}.room-camera{z-index:0;pointer-events:none;position:absolute;inset:-3%}.hud-camera{z-index:10;pointer-events:none;will-change:transform;transition:opacity var(--t-base) var(--ease-in), scale var(--t-base) var(--ease-in);position:absolute;inset:0}.hud-camera.away{opacity:0;scale:.98}.hud-camera.away button{pointer-events:none}@media (prefers-reduced-motion:reduce){.room-camera,.hud-camera{transform:none!important}}.canvas-host{z-index:0;position:absolute;inset:0}.pixi-canvas{touch-action:none;will-change:transform;width:100%;height:100%;display:block;position:absolute;inset:0;transform:translateZ(0)}.glass-host{z-index:2;pointer-events:none;position:absolute;inset:0}.glass-host canvas{width:100%;height:100%;display:block}.glass{background:linear-gradient(180deg, #ffffff0f, #ffffff05 55%, #ffffff0a), var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-hud)) saturate(1.8);box-shadow:var(--glass-bezel), var(--glass-shadow);position:relative}.glass:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(145deg,#ffffff80,#ffffff1f 30%,#ffffff05 60%,#ffffff29);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass--sheet{-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(1.8);box-shadow:var(--glass-bezel)}.glass-gpu .glass{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-color:#0000}.glass-gpu .glass:before{display:none}.glass-gpu .screen:before{-webkit-backdrop-filter:none;background:0 0;border-color:#0000}.hud{z-index:10;pointer-events:none;padding:calc(14px + var(--sat)) calc(16px + var(--sar)) 0 calc(16px + var(--sal));justify-content:space-between;align-items:center;display:flex;position:absolute;left:0;right:0}.hud-top{top:0}.hud-bottom{padding-bottom:calc(18px + var(--sab));justify-content:center;bottom:0}.hud button,.hud-bottom button{pointer-events:auto}.spin-pill{letter-spacing:.01em;cursor:pointer;min-height:44px;color:var(--text);transition:background var(--t-quick) var(--ease-out), box-shadow var(--t-quick) var(--ease-out);border-radius:999px;align-items:center;gap:7px;padding:9px 16px 9px 13px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}.spin-pill.pop{background:linear-gradient(180deg, #ffffff2e, #ffffff14), color-mix(in srgb, var(--accent) 16%, #ffffff12)}.spin-glyph{width:17px;height:17px;color:var(--text);vertical-align:-2px;transition:transform var(--t-base) var(--spring);display:inline-block}.spin-pill.pop .spin-glyph{transform:rotate(72deg)}.spin-pill:active .spin-glyph{transform:rotate(36deg)}.spin-count{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.hint{left:50%;bottom:calc(96px + var(--sab));color:var(--text-faint);letter-spacing:.14em;text-transform:uppercase;z-index:5;pointer-events:none;font-size:14px;animation:2.4s ease-in-out infinite hintPulse;position:absolute;transform:translate(-50%)}@keyframes hintPulse{0%,to{opacity:.45;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(-3px)}}.name-btn{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;min-height:44px;color:var(--text-dim);transition:color var(--t-quick) var(--ease-out), opacity var(--t-base) var(--ease-out), transform var(--t-base) var(--spring-soft);border-radius:999px;padding:10px 18px 10px 15px;font-family:inherit;font-size:13px}.name-btn .shop-glyph{vertical-align:-2px;width:15px;height:15px;color:var(--accent);margin-right:8px;display:inline-block}.name-btn.away{opacity:0;pointer-events:none;transform:translateY(18px)scale(.9)}.name-btn:hover,.name-btn:focus-visible{color:var(--text)}.streak-pill{top:calc(21px + var(--sat));right:calc(16px + var(--sar));z-index:9;color:var(--text);letter-spacing:.08em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg, #ffffff14, #ffffff08), color-mix(in srgb, var(--accent) 12%, #14161a40);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-hud)) saturate(1.5);box-shadow:var(--glass-bezel), 0 4px 16px #0000004d;animation:streakIn var(--t-base) var(--spring-pop);transition:opacity var(--t-quick) var(--ease-in), transform var(--t-base) var(--spring-soft);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;overflow:hidden}.streak-pill.out{opacity:0;pointer-events:none;transform:translateY(12px)scale(.9)}.session-chip.out{opacity:0;pointer-events:none;transform:translate(-50%)translateY(12px)scale(.9)}.mult-fill{z-index:-1;width:min(calc(var(--mult-fill,0) * 100%), 100%);border-radius:inherit;background:linear-gradient(180deg, #ffffff29, #ffffff05 55%, #ffffff14), linear-gradient(90deg, color-mix(in srgb, var(--accent) 55%, white), var(--accent) 55%, var(--accent-2));min-height:100%;transition:width var(--t-sheet) var(--spring-soft);pointer-events:none;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #fff3,inset 0 -1px #0003}.mult-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff6);width:12px;position:absolute;top:0;bottom:0;right:0}.mult-label{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.streak-pill:after{content:"";z-index:-1;border-radius:inherit;background:color-mix(in srgb, var(--accent) 45%, transparent);opacity:var(--streak-tint,0);transition:opacity var(--t-base) var(--ease-out);position:absolute;inset:0}@keyframes streakIn{0%{opacity:0;transform:translateY(-10px)scale(.86)}60%{opacity:1;transform:translateY(1px)scale(1.02)}to{opacity:.95;transform:translateY(0)scale(1)}}.session-chip{top:calc(21px + var(--sat));z-index:9;animation:chipIn var(--t-base) var(--spring-pop);transition:opacity var(--t-quick) var(--ease-in), transform var(--t-base) var(--spring-soft);border-radius:999px;padding:7px 14px;position:absolute;left:50%;transform:translate(-50%)}.session-time{color:var(--text);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:.04em;font-size:14px;font-weight:700}@keyframes chipIn{0%{opacity:0;transform:translate(-50%)translateY(-12px)scale(.72)}60%{opacity:1;transform:translate(-50%)translateY(1px)scale(1.05)}to{opacity:.95;transform:translate(-50%)translateY(0)scale(1)}}.reward-pop{top:calc(54px + var(--sat));z-index:11;letter-spacing:.05em;color:var(--highlight);text-shadow:0 2px 12px #00000073;pointer-events:none;will-change:transform, opacity;animation:rewardPop 1.4s var(--ease-out) forwards;align-items:center;font-size:16px;font-weight:800;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.reward-pop.perfect{color:#fff}.reward-glyph{vertical-align:-1px;opacity:.85;width:14px;height:14px;display:inline-block}@keyframes rewardPop{0%{opacity:0;transform:translate(-50%)translateY(-20px)scale(.55)}14%{opacity:1;transform:translate(-50%)translateY(-1px)scale(1.16,.94)}24%{transform:translate(-50%)translateY(0)scale(.97,1.03)}34%{transform:translate(-50%)translateY(1px)scale(1.02,.99)}44%{transform:translate(-50%)translateY(0)scale(1)}72%{opacity:1;transform:translate(-50%)translateY(9px)scale(1)}to{opacity:0;transform:translate(-50%)translateY(30px)scale(.9)}}.toast-region{left:0;right:0;bottom:calc(104px + var(--sab));z-index:30;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.toast{letter-spacing:.06em;color:var(--text);animation:toastIn var(--t-base) var(--spring-pop), toastOut var(--t-base) var(--ease-in) 2.05s forwards;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:600}.toast-reward{color:var(--highlight)}.toast-streak{color:var(--highlight-2)}.toast-unlock{color:var(--owned)}.toast-info{color:var(--text-dim)}@keyframes toastIn{0%{opacity:0;transform:translateY(18px)scale(.88)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{to{opacity:0;transform:translateY(-10px)scale(.95)}}.screen{inset:calc(8px + var(--sat)) calc(8px + var(--sar)) calc(8px + var(--sab)) calc(8px + var(--sal));z-index:20;animation:sheetIn var(--t-sheet) var(--spring-soft);will-change:transform, opacity;border-radius:30px;flex-direction:column;padding:14px;display:flex;position:absolute;overflow:hidden}.screen.leaving{animation:sheetOut var(--t-sheet-out) var(--ease-in) forwards;pointer-events:none}.screen .screen{border-radius:inherit;inset:0}.screen:before{content:"";z-index:-1;background:linear-gradient(180deg, #ffffff04, #ffffff01 40%, #ffffff03), color-mix(in srgb, var(--bg) 24%, transparent);border:1px solid var(--glass-border);border-radius:inherit;-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(1.8);position:absolute;inset:0}@keyframes sheetIn{0%{opacity:0;transform:translateY(30px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sheetOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(18px)scale(.965)}}.screen-top{touch-action:none;cursor:grab;border-radius:22px;flex:none;align-items:center;gap:12px;margin:0 2px 14px;padding:10px 12px;display:flex}.screen-top:active{cursor:grabbing}.screen-top .icon-btn{box-shadow:none;background:0 0;border:none}.screen-top h1{letter-spacing:-.015em;flex:1;margin:0;font-size:22px;font-weight:700}.icon-btn{width:44px;height:44px;color:var(--text);cursor:pointer;transition:color var(--t-quick) var(--ease-out), background var(--t-quick) var(--ease-out);border:none;border-radius:999px;font-size:18px}.icon-btn:before{border-radius:999px}.icon-btn:hover{color:var(--text);background:#ffffff14}.balance-chip{font-variant-numeric:tabular-nums;color:var(--selected);border-radius:999px;padding:8px 14px;font-size:15px;font-weight:600}.balance-chip small{color:color-mix(in srgb, var(--selected) 70%, white);font-weight:500}.shop-scroll{overscroll-behavior:none;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-bottom:24px;overflow-y:auto}.shop-list{flex-direction:column;gap:8px;max-width:560px;margin:0 auto;display:flex}.shop-row{min-height:64px;transition:box-shadow var(--t-base) var(--ease-out);animation:rowIn var(--t-base) var(--ease-out) backwards;animation-delay:calc(min(var(--row-i,0), 9) * 16ms);border-radius:20px;align-items:center;gap:10px;padding:6px 6px 6px 8px;display:flex}@keyframes rowIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.shop-row.selected{box-shadow:var(--glass-bezel), 0 0 0 2px color-mix(in srgb, var(--row-accent) 70%, transparent), var(--glass-shadow)}.row-open{cursor:pointer;min-width:0;color:var(--text);text-align:left;background:0 0;border:none;border-radius:16px;flex:1;align-items:center;gap:12px;min-height:44px;padding:4px;font-family:inherit;display:flex}.row-icon{background:color-mix(in srgb, var(--row-accent) 10%, #ffffff08);border-radius:14px;flex:none;width:48px;height:48px;overflow:hidden;box-shadow:inset 0 1px #ffffff1f}.row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.row-name{color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.row-trait{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--accent-2) 78%, var(--text-dim));white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.row-action{border:1px solid color-mix(in srgb, var(--row-accent) 55%, transparent);background:color-mix(in srgb, var(--row-accent) 16%, transparent);color:var(--text);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";cursor:pointer;min-width:76px;min-height:40px;transition:background var(--t-quick) var(--ease-out), border-color var(--t-quick) var(--ease-out), color var(--t-quick) var(--ease-out), opacity var(--t-quick) var(--ease-out);border-radius:999px;flex:none;justify-content:center;align-items:center;gap:5px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.row-action:hover:enabled{background:color-mix(in srgb, var(--row-accent) 30%, transparent)}.row-action.selected{background:color-mix(in srgb, var(--selected) 22%, transparent);border-color:color-mix(in srgb, var(--selected) 60%, transparent);color:var(--selected)}.row-action.locked{color:var(--text-faint)}.row-action.locked .action-price{text-transform:uppercase}.row-action:disabled{cursor:default;opacity:.85}.action-price{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.shop-divider{min-height:20px;color:var(--text-faint);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;margin:18px 2px 10px;font-size:12px;font-weight:700;display:flex}.shop-divider:before,.shop-divider:after{content:"";background:color-mix(in srgb, var(--text-faint) 30%, transparent);flex:1;height:1px}.shop-divider span{white-space:nowrap}.detail{animation:detailIn var(--t-base) var(--spring-soft);will-change:transform, opacity}.detail.leaving{animation:detailOut var(--t-sheet-out) var(--ease-in) forwards;pointer-events:none}@keyframes detailIn{0%{opacity:0;transform:translate(30px)scale(.99)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes detailOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(26px)}}.detail :focus-visible{outline-offset:3px}.detail-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:0;padding:8px 8px 16px;display:flex}.detail-hero{aspect-ratio:1;background:radial-gradient(60% 60% at 38% 32%, color-mix(in srgb, var(--hero-accent) 14%, transparent), transparent 72%), color-mix(in srgb, var(--bg) 45%, transparent);border:1px solid color-mix(in srgb, var(--hero-accent) 24%, transparent);width:min(64vw,300px);box-shadow:var(--glass-bezel);border-radius:32px;justify-content:center;align-items:center;display:flex}.detail-title{flex-direction:column;gap:4px;display:flex}.detail-trait{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--accent-2) 78%, var(--text-dim));font-size:12px}.detail-desc{max-width:34ch;color:var(--text-dim);margin:0;font-size:14px;line-height:1.5}.detail-foot{flex:none;justify-content:center;padding-bottom:4px;display:flex}.detail-action{border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);background:linear-gradient(180deg, #ffffff24, #ffffff0a), color-mix(in srgb, var(--accent) 18%, transparent);min-width:180px;min-height:48px;color:var(--text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--t-quick) var(--ease-out), border-color var(--t-quick) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:7px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.detail-action:hover:enabled{background:linear-gradient(180deg, #ffffff2e, #ffffff0f), color-mix(in srgb, var(--accent) 28%, transparent)}.detail-action.selected{background:color-mix(in srgb, var(--selected) 22%, transparent);border-color:color-mix(in srgb, var(--selected) 60%, transparent);color:var(--selected)}.detail-action:disabled{cursor:default}.seg-wrap{border-radius:22px;margin:4px 0 12px}.seg{border-radius:22px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid;position:relative}.seg:before{border-radius:20px}.seg-btn{z-index:1;min-height:32px;color:var(--text-dim);letter-spacing:.01em;cursor:pointer;transition:color var(--t-quick) var(--ease-out);-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:20px;padding:6px 4px;font-family:inherit;font-size:12.5px;font-weight:600;position:relative}.seg-btn.on{color:var(--text)}.seg-thumb{width:calc((100% - 6px) / var(--seg-n,6));transform:translateX(calc(var(--seg-i,0) * 100%));transition:transform var(--t-base) var(--spring-soft);pointer-events:none;background:linear-gradient(#ffffff38,#ffffff1a);border-radius:20px;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #0000002e,0 2px 8px #00000040}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.action-glyph{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.setting-row .switch{background:#ffffff1f;border-radius:999px;flex:none;width:44px;height:26px;transition:background .25s;position:relative;box-shadow:inset 0 1px 2px #00000059,inset 0 -1px #ffffff0f}.setting-row .switch:after{content:"";width:22px;height:22px;transition:transform var(--t-base) var(--spring), scale var(--t-press) var(--ease-out);will-change:transform;background:linear-gradient(#fff,#e6e8ee);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 5px #0006,inset 0 1px #fffc}.setting-row:active .switch:after{scale:1.18 .86}.setting-row[aria-pressed=true] .switch,.setting-row.on .switch{background:var(--accent)}.setting-row[aria-pressed=true] .switch:after,.setting-row.on .switch:after{transform:translate(18px)}.setting-cycles .setting-value{background:linear-gradient(#ffffff24,#ffffff0f);border-radius:999px;padding:5px 12px;font-size:13px;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #0003}.settings-list{overscroll-behavior:none;flex-direction:column;flex:1;gap:10px;padding-bottom:20px;display:flex;overflow-y:auto}.setting-row{background:var(--pill);border:1px solid var(--pill-border);min-height:52px;color:var(--text);cursor:pointer;transition:background var(--t-quick) var(--ease-out), border-color var(--t-quick) var(--ease-out);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;font-family:inherit;font-size:15px;display:flex}.setting-row:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.setting-row.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 7%, transparent)}.setting-value{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.stats-box{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-top:4px;display:grid}.stat{background:color-mix(in srgb, var(--accent) 8%, var(--pill));border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text-faint);border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;font-size:12px;display:flex}.stat b{color:var(--text);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:-.01em;font-size:16px}:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, white);outline-offset:2px}@media (prefers-reduced-motion:reduce){.app:not(.environment-live),.hint,.toast,.reward-pop{animation:none!important}.app,.app *,.app :before,.app :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.app.reduced-motion:not(.environment-live),.app.reduced-motion .hint,.app.reduced-motion .toast,.app.reduced-motion .reward-pop{animation:none!important}.app.reduced-motion,.app.reduced-motion *,.app.reduced-motion :before,.app.reduced-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.spektral-error-overlay{--spektral-base-hue:var(--base-hue,265);--spektral-surface-gap:.375rem;--spektral-color-background-inset:oklch(.1913 .0039 var(--spektral-base-hue));--spektral-color-background:oklch(.235 .0056 var(--spektral-base-hue));--spektral-color-background-muted:oklch(.265 .0073 var(--spektral-base-hue));--spektral-color-foreground:oklch(.9674 .0013 var(--spektral-base-hue));--spektral-color-foreground-muted:oklch(.669 .0107 var(--spektral-base-hue));--spektral-color-accent:#f7712b;--spektral-color-accent-secondary:#a14819;--spektral-color-warning:#fd6a72;--spektral-color-white-fixed:#fff;--spektral-shadow-color:oklch(0 .0013 var(--spektral-base-hue));--spektral-shadow-highlight-color:oklch(1 .013 var(--spektral-base-hue));--spektral-guide-ink:oklch(from var(--spektral-shadow-highlight-color) l c h / .08);--spektral-guide-duotone-ink:var(--spektral-shadow-color);--spektral-guide-duotone-glint:oklch(from var(--spektral-shadow-highlight-color) l c h / .08);--spektral-radius-base:var(--radius-base,.275rem);--spektral-radius-xs:var(--radius-xs,calc(var(--spektral-radius-base) * 1));--spektral-radius-sm:var(--radius-sm,calc(var(--spektral-radius-base) * 2));--spektral-radius-md:var(--radius-md,calc(var(--spektral-radius-base) * 3));--spektral-radius-lg:var(--radius-lg,calc(var(--spektral-radius-base) * 4));--spektral-radius-xl:var(--radius-xl,calc(var(--spektral-radius-base) * 6));--spektral-radius-dialog-inner:calc(var(--spektral-radius-xl) - var(--spektral-surface-gap));--spektral-radius-surface-inner:calc(var(--spektral-radius-lg) - var(--spektral-surface-gap));--spektral-shadow-inset:0px 1px 3px 0px oklch(from var(--spektral-shadow-color) l c h / .051) inset, 0px 5px 5px -1px oklch(from var(--spektral-shadow-color) l c h / .051) inset, 0px 11px 6px -2px oklch(from var(--spektral-shadow-color) l c h / .031) inset, 0px 19px 8px -3px oklch(from var(--spektral-shadow-color) l c h / .012) inset, 0px 0px 0px 1px oklch(from var(--spektral-shadow-highlight-color) l c h / .051) inset, 0px -1px 0px 0px oklch(from var(--spektral-shadow-highlight-color) l c h / .122) inset, 0px 0px 0px 1px oklch(from var(--spektral-shadow-color) l c h / .071) inset, 0px 1px 0px 0px oklch(from var(--spektral-shadow-color) l c h / .039) inset;--spektral-shadow-highlight-inset:0px 1px 3px 0px oklch(from var(--spektral-shadow-color) l c h / .051) inset, 0px 5px 5px -1px oklch(from var(--spektral-shadow-color) l c h / .051) inset, 0px 11px 6px -2px oklch(from var(--spektral-shadow-color) l c h / .031) inset, 0px 19px 8px -3px oklch(from var(--spektral-shadow-color) l c h / .012) inset, 0px 0px 0px 1px oklch(from var(--spektral-shadow-highlight-color) l c h / .051) inset, 0px 0px 0px 1px oklch(from var(--spektral-shadow-color) l c h / .071) inset, 0px 1px 0px 0px oklch(from var(--spektral-shadow-color) l c h / .039) inset;--spektral-shadow-md:0px 1px 3px 0px oklch(from var(--spektral-shadow-color) l c h / .051), 0px 5px 5px -1px oklch(from var(--spektral-shadow-color) l c h / .051), 0px 11px 6px -2px oklch(from var(--spektral-shadow-color) l c h / .031), 0px 19px 8px -3px oklch(from var(--spektral-shadow-color) l c h / .012), 0px 0px 0px 1px oklch(from var(--spektral-shadow-highlight-color) l c h / .051) inset, 0px 1px 0px 0px oklch(from var(--spektral-shadow-highlight-color) l c h / .122) inset, 0px 0px 0px 1px oklch(from var(--spektral-shadow-color) l c h / .071), 0px 1px 0px 0px oklch(from var(--spektral-shadow-color) l c h / .039);--spektral-shadow-2xl:0px 13px 29px 0px oklch(from var(--spektral-shadow-color) l c h / .071), 0px 53px 53px 0px oklch(from var(--spektral-shadow-color) l c h / .059), 0px 119px 71px 0px oklch(from var(--spektral-shadow-color) l c h / .031), 0px 211px 85px 0px oklch(from var(--spektral-shadow-color) l c h / .012), 0px 0px 0px 1px oklch(from var(--spektral-shadow-color) l c h / .102), 0px 1px 0px 0px oklch(from var(--spektral-shadow-color) l c h / .102), 0px 0px 0px 1px oklch(from var(--spektral-shadow-highlight-color) l c h / .051) inset, 0px 1px 0px 0px oklch(from var(--spektral-shadow-highlight-color) l c h / .122) inset;--spektral-font-sans:var(--font-sans,"APK Galeria", ui-sans-serif, system-ui, sans-serif);--spektral-font-mono:var(--font-mono,"Berkeley Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);z-index:2147483647;overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--spektral-color-foreground);--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--spektral-font-sans);text-align:start;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000c;background:lab(0% 0 0/.8);place-items:center;padding-block-start:max(clamp(.75rem, 1.4vw, 1.5rem), env(safe-area-inset-top));padding-block-end:max(clamp(.75rem, 1.4vw, 1.5rem), env(safe-area-inset-bottom));padding-inline-start:max(clamp(.75rem, 1.4vw, 1.5rem), env(safe-area-inset-left));padding-inline-end:max(clamp(.75rem, 1.4vw, 1.5rem), env(safe-area-inset-right));font-size:.875rem;font-weight:400;line-height:1.5;display:grid;position:fixed;inset:0}@supports (color:lab(0% 0 0)){.spektral-error-overlay{--spektral-color-accent:lab(63.835% 49.7504 61.2419);--spektral-color-accent-secondary:lab(42.1584% 36.0642 44.3126);--spektral-color-warning:lab(64.233% 57.6981 25.7167);--spektral-color-white-fixed:lab(100% 0 0)}}.spektral-error-overlay,.spektral-error-overlay *{box-sizing:border-box}.spektral-error-overlay *{font-family:inherit}.spektral-error-overlay ::selection{background:var(--spektral-color-accent);color:var(--spektral-color-foreground)}.spektral-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spektral-error-dialog-shell{max-block-size:min(84dvh,44rem);inline-size:min(52rem,100%);padding:var(--spektral-surface-gap);isolation:isolate;border-radius:var(--spektral-radius-xl);background:var(--spektral-color-background-inset);box-shadow:var(--spektral-shadow-highlight-inset), var(--spektral-shadow-2xl);overflow:hidden}.spektral-error-dialog{inline-size:100%;max-block-size:calc(min(84dvh, 44rem) - (2 * var(--spektral-surface-gap)));overscroll-behavior:contain;border-radius:var(--spektral-radius-dialog-inner);background:var(--spektral-color-background);color:var(--spektral-color-foreground);box-shadow:var(--spektral-shadow-md);scrollbar-color:var(--spektral-color-foreground-muted) transparent;scrollbar-width:thin;outline:none;padding:clamp(1rem,2vw,1.5rem);overflow:auto}.spektral-error-header{gap:.75rem;padding-block-end:1.5rem;display:grid;position:relative}.spektral-error-header:after,.spektral-error-source-tabs:after,.spektral-error-details pre:before{content:"";background:var(--spektral-guide-duotone-ink);block-size:1px;box-shadow:0 1px var(--spektral-guide-duotone-glint);position:absolute;inset-inline:0}.spektral-error-header:after,.spektral-error-source-tabs:after{inset-block-end:0}.spektral-error-header-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.spektral-error-header-copy{gap:.375rem;min-inline-size:0;display:grid}.spektral-error-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;max-inline-size:100%;display:inline-flex}.spektral-error-badge-wrap{background:var(--spektral-color-background-inset);inline-size:-moz-fit-content;inline-size:fit-content;box-shadow:var(--spektral-shadow-inset);border-radius:9999px;align-items:center;padding:.1875rem;display:inline-flex}.spektral-error-badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;min-block-size:1.5rem;color:var(--spektral-color-white-fixed);box-shadow:var(--spektral-shadow-md);border-radius:9999px;align-items:center;margin:0;padding-inline:.625rem;font-size:.75rem;font-weight:500;line-height:1.3;display:inline-flex}.spektral-error-badge-phase{background:linear-gradient(180deg, var(--spektral-color-accent), var(--spektral-color-accent-secondary))}.spektral-error-badge-severity{background:linear-gradient(180deg, var(--spektral-color-warning), color-mix(in oklab, var(--spektral-color-warning) 70%, var(--spektral-color-background) 30%))}.spektral-error-title{letter-spacing:-.02em;text-wrap:balance;max-inline-size:40ch;color:var(--spektral-color-foreground);margin:0;font-size:clamp(1.125rem,1vw + .875rem,1.25rem);font-weight:500;line-height:1.2}.spektral-error-recoverable{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--spektral-color-foreground-muted);margin:0;font-size:.75rem;font-weight:400;line-height:1.3}.spektral-error-recoverable span{font-family:var(--spektral-font-mono);font-variant-numeric:tabular-nums;color:var(--spektral-color-foreground)}.spektral-error-body{gap:.75rem;margin-block-start:1.5rem;display:grid}.spektral-error-message,.spektral-error-hint{text-wrap:pretty;overflow-wrap:break-word;margin:0;font-size:.875rem;font-weight:400;line-height:1.5}.spektral-error-message{border-inline-start:2px solid var(--spektral-color-warning);border-radius:var(--spektral-radius-sm);background:color-mix(in oklch, var(--spektral-color-warning) 10%, transparent);inline-size:100%;color:var(--spektral-color-foreground);box-shadow:var(--spektral-shadow-inset);padding:.75rem 1rem}.spektral-error-hint{max-inline-size:70ch;color:var(--spektral-color-foreground-muted)}.spektral-error-metadata{flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;display:flex}.spektral-error-metadata-item{border:1px solid var(--spektral-guide-ink);border-radius:var(--spektral-radius-sm);background:var(--spektral-color-background-inset);min-inline-size:0;box-shadow:var(--spektral-shadow-inset);align-items:baseline;gap:.375rem;padding:.375rem .625rem;display:inline-flex}.spektral-error-metadata-item dt,.spektral-error-metadata-item dd{margin:0;font-size:.75rem;line-height:1.35}.spektral-error-metadata-item dt{color:var(--spektral-color-foreground-muted);font-weight:500}.spektral-error-metadata-item dd{min-inline-size:0;font-family:var(--spektral-font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--spektral-color-foreground)}.spektral-error-source{gap:.75rem;margin-block-start:1.5rem;display:grid}.spektral-error-source-title{letter-spacing:.05em;text-transform:uppercase;color:var(--spektral-color-foreground-muted);margin:0;font-size:.75rem;font-weight:500;line-height:1.4}.spektral-error-source-frame{padding:var(--spektral-surface-gap);isolation:isolate;border-radius:var(--spektral-radius-lg);background:var(--spektral-color-background-inset);box-shadow:var(--spektral-shadow-highlight-inset);margin:0;overflow:hidden}.spektral-error-source-tabs{background:var(--spektral-color-background);min-block-size:2.5rem;box-shadow:var(--spektral-shadow-md);border-start-start-radius:var(--spektral-radius-surface-inner);border-start-end-radius:var(--spektral-radius-surface-inner);align-items:flex-end;margin:0;display:flex;position:relative}.spektral-error-source-tab{min-inline-size:0;font-family:var(--spektral-font-mono);overflow-wrap:anywhere;color:var(--spektral-color-foreground-muted);align-items:center;padding:.625rem .75rem;font-size:.8125rem;font-weight:400;line-height:1.4;display:inline-flex}.spektral-error-source-tab-active{z-index:1;color:var(--spektral-color-foreground);position:relative}.spektral-error-source-tab-spacer{flex:auto}.spektral-error-source-snippet{background:var(--spektral-color-background-muted);box-shadow:var(--spektral-shadow-md);border-end-end-radius:var(--spektral-radius-surface-inner);border-end-start-radius:var(--spektral-radius-surface-inner);padding-block:.5rem;display:grid;overflow:hidden}.spektral-error-source-row{grid-template-columns:2.5rem minmax(0,1fr);align-items:start;gap:.75rem;min-block-size:1.75rem;padding:.25rem .75rem;display:grid;position:relative}.spektral-error-source-row-active{background:color-mix(in oklch, var(--spektral-color-warning) 10%, transparent)}.spektral-error-source-row-active:before{content:"";background:var(--spektral-color-warning);inline-size:2px;position:absolute;inset-block:0;inset-inline-start:0}.spektral-error-source-line,.spektral-error-source-code{font-family:var(--spektral-font-mono);font-size:.8125rem;font-weight:400;line-height:1.5}.spektral-error-source-line{border-inline-end:1px solid var(--spektral-guide-duotone-ink);box-shadow:1px 0 var(--spektral-guide-duotone-glint);font-variant-numeric:tabular-nums;text-align:end;color:var(--spektral-color-foreground-muted);align-self:stretch;padding-inline-end:.75rem}.spektral-error-source-code{white-space:pre-wrap;overflow-wrap:anywhere;min-inline-size:0;color:var(--spektral-color-foreground)}.spektral-error-sections{gap:.75rem;margin-block-start:1.5rem;display:grid}.spektral-error-sections:empty{display:none}.spektral-error-details{padding:var(--spektral-surface-gap);isolation:isolate;border-radius:var(--spektral-radius-lg);background:var(--spektral-color-background-inset);box-shadow:var(--spektral-shadow-highlight-inset);overflow:hidden}.spektral-error-details summary{border-radius:var(--spektral-radius-surface-inner);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;min-block-size:2.75rem;color:var(--spektral-color-foreground);background:var(--spektral-color-background);box-shadow:var(--spektral-shadow-md);touch-action:manipulation;outline:none;align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;line-height:1.4;list-style:none;display:flex}.spektral-error-details summary::-webkit-details-marker{display:none}.spektral-error-details-chevron{opacity:.72;transform-box:view-box;transform-origin:50%;flex:none;block-size:.875rem;inline-size:.875rem;transform:rotate(-90deg)}.spektral-error-details summary:hover{background:var(--spektral-color-background-muted)}.spektral-error-details summary:focus-visible{box-shadow:var(--spektral-shadow-md), inset 0 0 0 2px var(--spektral-color-accent)}.spektral-error-details[open] summary{border-end-end-radius:0;border-end-start-radius:0}.spektral-error-details[open] .spektral-error-details-chevron{transform:rotate(0)}.spektral-error-details pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--spektral-color-background-muted);min-inline-size:0;font-family:var(--spektral-font-mono);color:var(--spektral-color-foreground);scrollbar-color:var(--spektral-color-foreground-muted) transparent;scrollbar-width:thin;border-end-end-radius:var(--spektral-radius-surface-inner);border-end-start-radius:var(--spektral-radius-surface-inner);margin:0;padding:1rem;font-size:.8125rem;font-weight:400;line-height:1.5;position:relative;overflow:auto}.spektral-error-details pre:before{inset-block-start:0}@media (max-width:42rem){.spektral-error-overlay{place-items:stretch stretch;padding-block-start:max(.625rem, env(safe-area-inset-top));padding-block-end:max(.625rem, env(safe-area-inset-bottom));padding-inline-start:max(.625rem, env(safe-area-inset-left));padding-inline-end:max(.625rem, env(safe-area-inset-right))}.spektral-error-dialog-shell{align-self:center;inline-size:100%}.spektral-error-dialog{padding:1rem}.spektral-error-recoverable{white-space:normal}.spektral-error-source-row{grid-template-columns:2rem minmax(0,1fr);gap:.625rem;padding-inline:.625rem}.spektral-error-source-line{padding-inline-end:.625rem}}@media (max-width:32rem){.spektral-error-header-top{grid-template-columns:minmax(0,1fr);gap:.75rem}.spektral-error-badges{justify-content:flex-start}}@media (forced-colors:active){.spektral-error-details summary:focus-visible{outline-offset:-2px;outline:2px solid highlight}}.spektral-canvas-wrap{width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.spektral-canvas-wrap>canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.spektral-canvas-wrap.svelte-47d61k{width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}canvas.svelte-47d61k{width:100%;height:100%;display:block;position:absolute;inset:0}.preview-canvas.svelte-1no9nsp{width:100%;height:100%;display:block}.term-scrim.svelte-62uwxs{z-index:40;animation:svelte-62uwxs-scrimIn var(--t-base) var(--ease-out);background:#06070973;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.term.svelte-62uwxs{width:min(340px,86vw);animation:svelte-62uwxs-termIn var(--t-base) var(--spring-soft);border-radius:20px;padding:14px 16px 10px;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}@keyframes svelte-62uwxs-scrimIn{0%{opacity:0}to{opacity:1}}@keyframes svelte-62uwxs-termIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.term-line.svelte-62uwxs{letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11px}.term-row.svelte-62uwxs{background:#00000047;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex}.term-prompt.svelte-62uwxs{color:var(--accent-2)}.term-input.svelte-62uwxs{min-width:0;color:var(--text);font:inherit;letter-spacing:.06em;caret-color:var(--accent-2);background:0 0;border:none;outline:none;flex:1;font-size:14px}.term-run.svelte-62uwxs{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:15px}.term-hint.svelte-62uwxs{letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);opacity:.6;text-align:center;margin-top:8px;font-size:10.5px}.shake.svelte-62uwxs{animation:.3s svelte-62uwxs-termShake}@keyframes svelte-62uwxs-termShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}
