:root{--px-font:"IBM Plex Mono", ui-monospace, "Cascadia Mono", "Cascadia Code", "Consolas", monospace;--px-bg-0:#050308;--px-bg-1:#0c0812;--px-panel:#14101c;--px-panel-top:#1c1528;--px-border:#6b5a82;--px-border-dim:#3d3250;--px-text:#ede6f3;--px-muted:#9a8ab0;--px-accent:#a8e8c0;--px-accent-2:#c9a8f0;--px-gold:#e8c878;--px-inset-hi:#ffffff1a;--px-inset-lo:#0000006b;--px-scan:#0000002e;--npc-window-bg:#101418;--px-app-font:1rem}@media (width<=480px){:root{--px-app-font:clamp(.95rem, .88rem + 1.8vw, 1.1rem)}}.app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricprecision}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%;margin:0}.rotate-overlay.svelte-12qhfyh{display:none}@media (orientation:landscape) and (height<=540px){.rotate-overlay.svelte-12qhfyh{z-index:9999;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);color:#c8e8d8;font-family:var(--px-font,ui-monospace, monospace);text-align:center;background:#07090c;place-items:center;display:grid;position:fixed;inset:0}.rotate-overlay__card.svelte-12qhfyh{background:var(--npc-window-bg,#101418);border:4px solid #2a3844;border-radius:4px;max-width:460px;padding:1.1rem 1.4rem;box-shadow:inset 0 0 0 2px #1e2a30,0 0 0 2px #0a0c0e,0 12px 36px #0009}.rotate-overlay__icon.svelte-12qhfyh{color:#9ec4b0;width:clamp(40px,8vh,64px);height:clamp(40px,8vh,64px);margin:0 auto .55rem;animation:1.6s ease-in-out infinite svelte-12qhfyh-rotate-overlay-pulse;display:block}.rotate-overlay__title.svelte-12qhfyh{letter-spacing:.08em;text-transform:uppercase;color:#e8f0ec;text-shadow:0 0 1px #000000e6,2px 2px #0a1810;margin:0 0 .4rem;font-size:clamp(.95rem,2.4vh,1.2rem);font-weight:700}.rotate-overlay__lead.svelte-12qhfyh{letter-spacing:.03em;color:#9ec4b0;margin:0;font-size:clamp(.78rem,1.9vh,.9rem);line-height:1.5}.app.svelte-12qhfyh{pointer-events:none;-webkit-user-select:none;user-select:none}}@keyframes svelte-12qhfyh-rotate-overlay-pulse{0%,to{opacity:.78;transform:rotate(-12deg)}50%{opacity:1;transform:rotate(8deg)}}@media (prefers-reduced-motion:reduce){.rotate-overlay__icon.svelte-12qhfyh{animation:none}}button,[role=button],a,input,select,textarea{touch-action:manipulation}.app.svelte-12qhfyh{isolation:isolate;min-height:100svh;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);box-sizing:border-box;color:var(--px-text,#ede6f3);font-family:var(--px-font,ui-monospace, monospace);font-size:var(--px-app-font,1rem);letter-spacing:.015em;background:var(--npc-window-bg,#101418);background-attachment:fixed;line-height:1.28;position:relative}@media (width<=768px){.app.svelte-12qhfyh{background-attachment:scroll}}.app.svelte-12qhfyh .page .card{background:var(--npc-window-bg,#101418);border:4px solid #2a3844;border-radius:4px;box-shadow:inset 0 0 0 2px #1e2a30,0 0 0 2px #0a0c0e,0 12px 36px #0000008c}.app.svelte-12qhfyh .page .hub-card{border:3px solid var(--px-border-dim);box-shadow:inset 1px 1px 0 var(--px-inset-hi), inset -2px -2px 0 var(--px-inset-lo);border-radius:4px}.app.svelte-12qhfyh .page .hub-card:hover{box-shadow:inset 1px 1px 0 var(--px-inset-hi), inset -2px -2px 0 var(--px-inset-lo), 0 0 0 1px #c8a0ff40}.app.svelte-12qhfyh .page .xpwrap{border:2px solid var(--px-border-dim);background:#08060c;border-radius:2px;height:10px;box-shadow:inset 0 2px 3px #0000008c}.app.svelte-12qhfyh .page .xpbar{background:linear-gradient(#f6faf6 0%,#dce6dc 55%,#c4d4c8 100%);border-radius:1px;box-shadow:inset 0 1px #ffffff8c}.app.svelte-12qhfyh .page .skills-panel{border:2px solid var(--px-border-dim);box-shadow:inset 0 1px 0 var(--px-inset-hi);background:#08050eeb;border-radius:2px}.app.svelte-12qhfyh .page .btn:not(.cta):not(.ghost),.app.svelte-12qhfyh .page a.btn:not(.cta):not(.ghost){letter-spacing:.06em;text-transform:uppercase;color:#c8e8d8;background:#141c1a;border:3px solid #3a4a44;border-radius:2px;font-family:inherit;font-weight:700;box-shadow:inset 0 1px #ffffff0f}.app.svelte-12qhfyh .page .btn:not(.cta):not(.ghost):hover:not(:disabled),.app.svelte-12qhfyh .page a.btn:not(.cta):not(.ghost):hover{color:#e8fff0;filter:brightness(1.05);border-color:#5a7a68}.app.svelte-12qhfyh .page .btn--primary,.app.svelte-12qhfyh .page a.btn--primary{color:#1a0a04;background:linear-gradient(#ffd8a8 0%,#e07020 100%);border-width:2px;border-color:#a06028}.app.svelte-12qhfyh .page .btn--primary:hover,.app.svelte-12qhfyh .page a.btn--primary:hover{filter:none;border-color:#d08030;box-shadow:inset 0 2px #ffffff6b,0 3px #00000059,0 0 0 1px #ffc87838}.app.svelte-12qhfyh .page .btn.primary{color:#e8ffe8;text-shadow:0 1px #00000073;background:linear-gradient(#4a8c58 0%,#2d5a38 100%);border-width:3px;border-color:#3a5a44;box-shadow:inset 0 1px #ffffff24,0 1px #00000073,0 0 14px #64c88c47,0 4px 12px #0000006b}.app.svelte-12qhfyh .page .btn.primary:hover{filter:brightness(1.08);border-color:#4a7058;box-shadow:inset 0 1px #ffffff2e,0 1px #0006,0 0 18px #78dca061,0 5px 14px #0000007a}.app.svelte-12qhfyh .page .btn.ghost,.app.svelte-12qhfyh .page a.btn.ghost{color:#9cb8a8;letter-spacing:.06em;text-transform:uppercase;background:#141c1a;border:3px solid #3a4a44;border-radius:2px;font-weight:700;box-shadow:inset 0 1px #ffffff0f}.app.svelte-12qhfyh .page .btn.ghost:hover:not(:disabled),.app.svelte-12qhfyh .page a.btn.ghost:hover{color:#c8e8d8;border-color:#5a7a68}.app.svelte-12qhfyh .page .btn:disabled{opacity:.42}.app.svelte-12qhfyh .page .nav__link,.app.svelte-12qhfyh .page .back,.app.svelte-12qhfyh .frame .link{color:var(--px-accent-2);border-bottom:2px solid #0000;text-decoration:none}.app.svelte-12qhfyh .page .nav__link:hover,.app.svelte-12qhfyh .page .back:hover,.app.svelte-12qhfyh .frame .link:hover{border-bottom-color:var(--px-accent);color:#fff8e8}.app.svelte-12qhfyh .frame .panel{border:3px solid var(--px-border);background:linear-gradient(180deg, var(--px-panel-top) 0%, var(--px-panel) 100%);box-shadow:inset 1px 1px 0 var(--px-inset-hi), inset -2px -2px 0 var(--px-inset-lo), 0 8px 0 #0006;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px}.app.svelte-12qhfyh .frame .panel .input{border:2px solid var(--px-border-dim);background:#0a0610;border-radius:2px;font-family:inherit;box-shadow:inset 0 2px 4px #00000073}.app.svelte-12qhfyh .frame .panel .input:focus{border-color:var(--px-gold);outline:none;box-shadow:inset 0 2px 4px #00000073,0 0 0 1px #e8c87859}.app.svelte-12qhfyh .frame .card{border:3px solid var(--px-border);box-shadow:inset 1px 1px 0 var(--px-inset-hi), inset -2px -2px 0 var(--px-inset-lo), 0 3px 0 #00000059;background:linear-gradient(#181220 0%,#0c0812 100%);border-radius:4px}.app.svelte-12qhfyh .frame .card:hover{border-color:var(--px-gold)}.app.svelte-12qhfyh .frame .card--on{box-shadow:inset 1px 1px 0 var(--px-inset-hi), inset -2px -2px 0 var(--px-inset-lo), 0 0 0 2px #e08c4059, 0 4px 0 #00000059;border-color:#e09040}.app.svelte-12qhfyh .frame .cta{letter-spacing:.04em;color:#1a0a04;background:linear-gradient(#ffd8a8 0%,#d86818 100%);border:2px solid #a06028;border-radius:2px;padding:clamp(.38rem,.28rem + 1vw,.52rem) clamp(.65rem,.5rem + 1.5vw,1rem);font-family:inherit;font-size:clamp(.84rem,.8rem + .85vw,.95rem);font-weight:700;box-shadow:inset 0 2px #ffffff59,0 4px #0006}.app.svelte-12qhfyh .frame .cta:not(:disabled):hover{filter:none;border-color:#c87820;box-shadow:inset 0 2px #ffffff6b,0 4px #0006,0 0 0 1px #ffc88c40}.app.svelte-12qhfyh .frame .ghost{border:2px solid var(--px-border-dim);color:var(--px-text);box-shadow:inset 0 1px 0 var(--px-inset-hi), 0 3px 0 #0000004d;letter-spacing:.03em;background:#120c18;border-radius:2px;padding:clamp(.38rem,.28rem + 1vw,.5rem) clamp(.55rem,.45rem + 1.2vw,.85rem);font-family:inherit;font-size:clamp(.82rem,.78rem + .9vw,.94rem);font-weight:600}.app.svelte-12qhfyh .frame .ghost:hover{filter:none;background:#181020;border-color:#7a6898}.app.svelte-12qhfyh .pick .tile{border:2px solid var(--px-border-dim);box-shadow:inset 1px 1px 0 var(--px-inset-hi), 0 3px 0 #00000059;background:#100818;border-radius:2px;padding:clamp(.65rem,.5rem + 1.5vw,1rem) .85rem;font-family:inherit;font-size:clamp(.88rem,.84rem + .9vw,1rem)}.app.svelte-12qhfyh .pick .tile:hover{border-color:var(--px-gold)}.app.svelte-12qhfyh .backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#020006d1}.app.svelte-12qhfyh .backdrop .modal{border:3px solid var(--px-border);background:linear-gradient(180deg, var(--px-panel-top) 0%, #0e0815 100%);box-shadow:inset 1px 1px 0 var(--px-inset-hi), inset -2px -2px 0 var(--px-inset-lo), 0 8px 0 #00000080;border-radius:4px}.app.svelte-12qhfyh .backdrop .row,.app.svelte-12qhfyh .backdrop .srow{border:2px solid var(--px-border-dim);box-shadow:inset 0 1px 0 var(--px-inset-hi);background:#0c0812;border-radius:2px}.app.svelte-12qhfyh .backdrop .row:hover,.app.svelte-12qhfyh .backdrop .srow:hover{border-color:var(--px-gold)}.app.svelte-12qhfyh .backdrop .btn{border:2px solid var(--px-border-dim);color:var(--px-text);box-shadow:inset 0 1px 0 var(--px-inset-hi), 0 3px 0 #0000004d;background:#1a1424;border-radius:2px;font-family:inherit;font-size:clamp(.82rem,.78rem + .9vw,.94rem);font-weight:600}.app.svelte-12qhfyh .backdrop .btn:hover{border-color:var(--px-border)}.app.svelte-12qhfyh .backdrop .ghost{border:2px solid var(--px-border-dim);color:var(--px-text);box-shadow:inset 0 1px 0 var(--px-inset-hi), 0 3px 0 #0000004d;letter-spacing:.03em;background:#120c18;border-radius:2px;padding:clamp(.38rem,.28rem + 1vw,.5rem) clamp(.55rem,.45rem + 1.2vw,.85rem);font-family:inherit;font-size:clamp(.82rem,.78rem + .9vw,.94rem);font-weight:600}.app.svelte-12qhfyh .backdrop .ghost:hover{filter:none;background:#181020;border-color:#7a6898}.app.svelte-12qhfyh .page pre{border:2px solid var(--px-border-dim);background:#08060c;border-radius:2px;font-family:inherit}.app.svelte-12qhfyh .page .plus{color:#e8ffe8;text-shadow:0 1px #00000073;cursor:pointer;background:linear-gradient(#4a8c58 0%,#2d5a38 100%);border:2px solid #3a4a44;border-radius:2px;font-family:inherit;font-weight:700;box-shadow:inset 0 1px #ffffff24,0 1px #00000073,0 0 10px #64c88c47,0 2px 6px #0006}.app.svelte-12qhfyh .page .plus:hover:not(:disabled){filter:brightness(1.08);border-color:#4a6a58}
