: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;--text:#f2f3fa;--text-dim:#b9bdd6;--text-faint:#8a90ab;--pink:#ff8ab5;--amber:#e8c07a;--cyan:#6fc9bd;--glass-bg:color-mix(in srgb, var(--accent) 7%, #ffffff12);--glass-bg-strong:color-mix(in srgb, var(--accent) 10%, #ffffff1c);--glass-border:#ffffff24;--glass-bezel:inset 0 1px 0 #ffffff38, inset 0 -1px 0 #00000052;--glass-shadow:0 8px 32px #00000061;--blur-hud:24px;--blur-sheet:40px;--pill:#ffffff0f;--pill-border:#ffffff1a;--font:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--spring:cubic-bezier(.34, 1.4, .64, 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{width:100%;height:100%}.app{background: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%);transition:background .6s;position:fixed;inset:0}.app.environment-live{background:var(--bg)}.canvas-host{z-index:0;position:absolute;inset:0}.canvas-host.hidden{display:none}.pixi-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.glass{background:linear-gradient(180deg, #ffffff17, #ffffff09 55%, #ffffff0e), var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-hud)) saturate(1.5);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.6);box-shadow:var(--glass-bezel)}@supports ((-webkit-backdrop-filter:url('#glass-refraction')) or (backdrop-filter:url('#glass-refraction'))){.glass--refract{-webkit-backdrop-filter:url(#glass-refraction)blur(2px)saturate(1.4)}}.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:transform .3s var(--spring), background .2s ease;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:active{transform:scale(.94)}.spin-pill.pop{background:linear-gradient(180deg, #ffffff2e, #ffffff14), color-mix(in srgb, var(--accent) 16%, #ffffff12)}.spin-glyph{color:var(--text);font-size:17px;line-height:1}.spin-count{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.speedbar{background:#ffffff1a;border-radius:3px;align-self:center;width:clamp(64px,22vw,130px);height:5px;margin-right:4px;overflow:hidden;box-shadow:inset 0 1px 1px #00000059,inset 0 -1px #ffffff1a}.speedbar-fill{background:linear-gradient(90deg, var(--cyan), var(--accent) 55%, var(--pink));opacity:.9;border-radius:3px;height:100%;transition:width .18s}.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 .2s ease, transform .3s var(--spring);border-radius:999px;padding:10px 20px;font-family:inherit;font-size:13px}.name-btn:hover,.name-btn:focus-visible{color:var(--text)}.name-btn:active{transform:scale(.95)}.streak-pill{top:calc(64px + var(--sat));right:calc(18px + var(--sar));z-index:9;color:var(--text);letter-spacing:.08em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg, #ffffff1a, #ffffff0a), color-mix(in srgb, var(--accent) 18%, #14161a66);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 .3s var(--spring);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;position:absolute}.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 .4s;position:absolute;inset:0}@keyframes streakIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:.95;transform:translateY(0)}}.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 .45s var(--spring), toastOut .3s ease 1.9s forwards;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:600}.toast-reward{color:var(--amber)}.toast-perfect{color:#fff;letter-spacing:.22em;text-transform:uppercase;font-size:13px}.toast-streak{color:var(--pink)}.toast-unlock{color:var(--cyan)}.toast-info{color:var(--text-dim)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{to{opacity:0;transform:translateY(-8px)}}.screen{z-index:20;padding:calc(10px + var(--sat)) calc(16px + var(--sar)) calc(16px + var(--sab)) calc(16px + var(--sal));animation:sheetIn .45s var(--spring);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.screen:before{content:"";z-index:-1;background:linear-gradient(180deg, #ffffff12, #ffffff05 40%, #ffffff0d), color-mix(in srgb, var(--bg) 55%, transparent);border-top:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(1.6);position:absolute;inset:0}.screen:after{content:"";top:calc(7px + var(--sat));pointer-events:none;background:#ffffff47;border-radius:3px;width:36px;height:5px;position:absolute;left:50%;transform:translate(-50%)}@keyframes sheetIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.screen-top{align-items:center;gap:12px;padding:8px 0 14px;display:flex}.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:transform .3s var(--spring);border:none;border-radius:999px;font-size:18px}.icon-btn:before{border-radius:999px}.icon-btn:hover{transform:scale(1.05)}.icon-btn:active{transform:scale(.92)}.balance-chip{font-variant-numeric:tabular-nums;color:var(--amber);border-radius:999px;padding:8px 14px;font-size:15px;font-weight:600}.balance-chip small{color:color-mix(in srgb, var(--amber) 70%, white);font-weight:500}.shop-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-bottom:24px;overflow-y:auto}.shop-section-title{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.seg-wrap{margin:4px 0 12px}.seg{border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid;position:relative}.seg:before{border-radius:10px}.seg-btn{z-index:1;min-height:32px;color:var(--text-dim);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:10px;padding:6px 4px;font-family:inherit;font-size:12.5px;font-weight:600;transition:color .2s;position:relative}.seg-btn.on{color:var(--text)}.seg-btn.on:after{content:"";z-index:-1;background:linear-gradient(#ffffff38,#ffffff1a);border-radius:10px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #0000002e,0 2px 8px #00000040}.seg-count{opacity:.55;margin-left:4px;font-weight:500}.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}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(min(46vw,250px),1fr));align-content:start;gap:14px;display:grid}.shop-card{border-radius:24px;flex-direction:column;min-height:44px;transition:transform .15s,box-shadow .25s;display:flex;overflow:hidden}.shop-card:hover{box-shadow:0 10px 30px #00000073, var(--glass-bezel);transform:translateY(-2px)}.shop-card.selected{box-shadow:var(--glass-bezel), 0 0 0 2px color-mix(in srgb, var(--card-accent) 70%, transparent), var(--glass-shadow)}.shop-card:not(.owned){opacity:.86}.card-hit{text-align:left;cursor:pointer;width:100%;color:var(--text);font-family:inherit;font-size:inherit;background:0 0;border:none;flex-direction:column;align-items:stretch;min-height:44px;padding:14px 14px 10px;display:flex}.card-hit:focus-visible{outline:2px solid color-mix(in srgb, var(--card-accent) 80%, white);outline-offset:-3px;border-radius:18px}.preview{justify-content:center;align-items:center;min-height:96px;padding:4px 0 8px;display:flex}.card-info{flex-direction:column;gap:3px;min-height:0;display:flex}.card-name{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600}.card-trait{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--card-accent) 72%, var(--text-dim));font-size:11px}.card-foot{border-top:1px solid color-mix(in srgb, var(--card-accent) 16%, transparent);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:8px 14px 12px;display:flex}.card-price{letter-spacing:.06em;color:var(--text-faint);text-transform:uppercase;font-size:11.5px;font-weight:600}.card-price.owned{color:var(--cyan)}.card-price.selected{color:var(--amber)}.card-action{border:1px solid color-mix(in srgb, var(--card-accent) 55%, transparent);background:color-mix(in srgb, var(--card-accent) 16%, transparent);color:var(--text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;min-height:32px;transition:transform .3s var(--spring), background .15s ease, opacity .15s ease;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:700}.card-action:hover:enabled{background:color-mix(in srgb, var(--card-accent) 30%, transparent)}.card-action:active:enabled{transform:scale(.94)}.card-action.selected{background:color-mix(in srgb, var(--amber) 22%, transparent);border-color:color-mix(in srgb, var(--amber) 60%, transparent);color:var(--amber)}.card-action:disabled{cursor:default;opacity:.85}.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 .25s var(--spring);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[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:contain;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;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;font-family:inherit;font-size:15px;transition:background .15s,transform .12s,border-color .15s;display:flex}.setting-row:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.setting-row:active{transform:scale(.99)}.setting-row.danger{color:#ff7a7a;background:#ff7a7a12;border-color:#ff7a7a59}.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){.hint,.streak-pill,.toast{animation:none}.screen,.spin-pill.pop,.spin-pill,.name-btn,.icon-btn,.setting-row .switch:after{transition:none;animation:none}}@media (min-width:768px){.shop-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}.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{aspect-ratio:1;width:100%;max-width:150px;display:block}.preview-canvas.locked.svelte-1no9nsp{opacity:.9}
