*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overscroll-behavior:none;background:oklch(14% .09 286)}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overflow:hidden}#app-root{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden}#tank{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}#ui-root{position:fixed;inset:0;z-index:500;pointer-events:none}#ui-root>.pixelumi-btn-row{position:absolute;left:50%;bottom:max(20px,calc(env(safe-area-inset-bottom) + 14px));transform:translate(-50%);pointer-events:auto;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px);width:max-content}#ui-root>[aria-label="Pixelumi-dex collection"]{position:absolute;top:max(16px,calc(env(safe-area-inset-top) + 12px));right:max(16px,calc(env(safe-area-inset-right) + 12px));pointer-events:auto}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important}}:root{--pixelumi-bg-glass: oklch(18% .08 286 / .82);--pixelumi-bg-glass-strong: oklch(14% .09 286 / .94);--pixelumi-border: oklch(78% .18 190 / .56);--pixelumi-text: oklch(94% .04 154);--pixelumi-text-dim: oklch(82% .05 170 / .76);--pixelumi-accent-1: oklch(72% .28 338);--pixelumi-accent-2: oklch(82% .2 195);--pixelumi-accent-3: oklch(84% .19 92);--pixelumi-accent-4: oklch(80% .22 145);--pixelumi-danger: oklch(68% .26 25);--pixelumi-ink: oklch(12% .08 286);--pixelumi-shadow: 5px 5px 0 oklch(8% .05 286 / .62), 0 0 18px oklch(72% .28 338 / .22);--pixelumi-radius: 6px;--pixelumi-radius-sm: 4px;--pixelumi-anim-fast: .18s;--pixelumi-anim-med: .6s;--pixelumi-anim-slow: 2.4s;--pixelumi-glow-strength: 1}@media (prefers-color-scheme: light){:root{color-scheme:dark}}:root[data-theme=light]{color-scheme:dark}:root[data-theme=dark]{color-scheme:dark}.calm{--pixelumi-anim-fast: .08s;--pixelumi-anim-med: .2s;--pixelumi-anim-slow: 1.1s;--pixelumi-glow-strength: .35}.pixelumi-ui *{box-sizing:border-box}.pixelumi-ui{font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;color:var(--pixelumi-text)}.pixelumi-btn-row{display:flex;align-items:center;gap:10px;pointer-events:auto}.pixelumi-btn{min-width:44px;min-height:44px;width:64px;height:62px;border-radius:var(--pixelumi-radius-sm);border:2px solid var(--pixelumi-border);background:var(--pixelumi-bg-glass);box-shadow:var(--pixelumi-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:900;letter-spacing:0;line-height:1;color:var(--pixelumi-text);cursor:pointer;transition:transform var(--pixelumi-anim-fast) ease-out,background var(--pixelumi-anim-fast) ease-out,box-shadow var(--pixelumi-anim-fast) ease-out,border-color var(--pixelumi-anim-fast) ease-out;touch-action:manipulation;user-select:none;-webkit-user-select:none;gap:3px}.pixelumi-btn:active{transform:translate(2px,2px);box-shadow:2px 2px #02000eb8}.pixelumi-btn:hover{border-color:var(--pixelumi-accent-3);box-shadow:4px 4px #02000eb8,0 0 calc(18px * var(--pixelumi-glow-strength)) var(--pixelumi-accent-2)}.pixelumi-btn:before{content:attr(data-icon);display:block;font-size:24px;line-height:1}.pixelumi-btn:after{content:attr(data-label);display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:1;text-transform:uppercase}.pixelumi-btn[aria-pressed=true]{background:var(--pixelumi-accent-2);border-color:var(--pixelumi-accent-3);color:var(--pixelumi-ink)}.pixelumi-btn.pixelumi-btn--danger[aria-pressed=true],.pixelumi-btn.pixelumi-btn--danger.pixelumi-btn--armed{background:var(--pixelumi-danger);color:var(--pixelumi-ink)}.pixelumi-btn--grownup{animation:none!important}.pixelumi-btn--grownup:hover{box-shadow:var(--pixelumi-shadow)}.pixelumi-toast-stack{position:fixed;left:50%;bottom:var(--pixelumi-toast-clearance, max(18px, env(safe-area-inset-bottom)));transform:translate(-50%);display:flex;flex-direction:column-reverse;gap:8px;z-index:9999;pointer-events:none;width:min(92vw,420px);transition:bottom var(--pixelumi-anim-fast) ease}.pixelumi-toast{pointer-events:none;background:var(--pixelumi-bg-glass-strong);border:2px solid var(--pixelumi-border);border-radius:var(--pixelumi-radius-sm);box-shadow:var(--pixelumi-shadow);padding:12px 18px;font-size:13px;font-weight:900;display:flex;align-items:center;gap:10px;color:var(--pixelumi-text);animation:pixelumi-toast-in var(--pixelumi-anim-med) cubic-bezier(.16,1,.3,1);text-align:center;justify-content:center}.pixelumi-toast--error{border-color:var(--pixelumi-danger)}.pixelumi-toast--success{border-color:var(--pixelumi-accent-4)}@keyframes pixelumi-toast-in{0%{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.pixelumi-toast.pixelumi-toast--leaving{animation:pixelumi-toast-out var(--pixelumi-anim-fast) ease forwards}@keyframes pixelumi-toast-out{to{opacity:0;transform:translateY(8px) scale(.95)}}.pixelumi-confirm-backdrop{position:fixed;inset:0;background:oklch(10% .08 286 / .68);display:flex;align-items:center;justify-content:center;z-index:10000;animation:pixelumi-fade-in var(--pixelumi-anim-fast) ease}@keyframes pixelumi-fade-in{0%{opacity:0}to{opacity:1}}.pixelumi-confirm-panel{background:var(--pixelumi-bg-glass-strong);border:2px solid var(--pixelumi-border);border-radius:var(--pixelumi-radius);box-shadow:var(--pixelumi-shadow);padding:28px;max-width:320px;width:90vw;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;animation:pixelumi-pop-in var(--pixelumi-anim-med) cubic-bezier(.16,1,.3,1)}@keyframes pixelumi-pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.pixelumi-confirm-icon{font-size:34px;font-weight:900}.pixelumi-confirm-actions{display:flex;gap:14px;width:100%}.pixelumi-confirm-actions .pixelumi-btn{flex:1;width:auto;border-radius:var(--pixelumi-radius-sm)}.pixelumi-hint{position:fixed;z-index:9000;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:6px;animation:pixelumi-fade-in var(--pixelumi-anim-med) ease}.pixelumi-hint-arrow{font-size:44px;filter:drop-shadow(0 0 calc(10px * var(--pixelumi-glow-strength)) var(--pixelumi-accent-3));animation:pixelumi-bounce var(--pixelumi-anim-slow) ease-in-out infinite}@keyframes pixelumi-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(14px)}}.pixelumi-hint-bubble{background:var(--pixelumi-bg-glass-strong);border:2px solid var(--pixelumi-border);border-radius:var(--pixelumi-radius-sm);padding:8px 14px;font-size:30px;box-shadow:var(--pixelumi-shadow)}.pixelumi-dex-panel{background:var(--pixelumi-bg-glass-strong);border:2px solid var(--pixelumi-border);border-radius:var(--pixelumi-radius);box-shadow:var(--pixelumi-shadow);padding:20px;max-width:480px;width:92vw;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.pixelumi-dex-title{font-size:22px;font-weight:800;text-align:center;margin:0}.pixelumi-dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:10px}.pixelumi-dex-cell{aspect-ratio:1;border-radius:var(--pixelumi-radius-sm);border:2px solid var(--pixelumi-border);display:flex;align-items:center;justify-content:center;font-size:26px;background:#ffffff0d;filter:grayscale(1) brightness(.5);opacity:.55;transition:transform var(--pixelumi-anim-fast) ease}.pixelumi-dex-cell.pixelumi-dex-cell--discovered{filter:none;opacity:1;background:var(--pixelumi-accent-2);box-shadow:0 0 calc(14px * var(--pixelumi-glow-strength)) var(--pixelumi-accent-2);animation:pixelumi-pop-in var(--pixelumi-anim-med) cubic-bezier(.16,1,.3,1)}.pixelumi-dex-cell:active{transform:scale(.92)}.pixelumi-dex-count{text-align:center;font-size:14px;color:var(--pixelumi-text-dim)}.pixelumi-dex-close{align-self:center}.pixelumi-backup-panel{background:var(--pixelumi-bg-glass-strong);border:2px solid var(--pixelumi-border);border-radius:var(--pixelumi-radius);box-shadow:var(--pixelumi-shadow);padding:24px;max-width:420px;width:92vw;display:flex;flex-direction:column;gap:16px}.pixelumi-backup-title{font-size:20px;font-weight:800;margin:0;text-align:center}.pixelumi-backup-warning{font-size:14px;color:var(--pixelumi-text-dim);text-align:center;line-height:1.4}.pixelumi-backup-code-row{display:flex;gap:8px;align-items:center}.pixelumi-backup-code{flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;background:#0003;border:2px solid var(--pixelumi-border);border-radius:var(--pixelumi-radius-sm);padding:10px 12px;color:var(--pixelumi-text);word-break:break-all;user-select:all}.pixelumi-backup-copy{flex-shrink:0;border-radius:var(--pixelumi-radius-sm);width:48px}.pixelumi-backup-divider{border:none;border-top:1px solid var(--pixelumi-border);margin:4px 0}.pixelumi-backup-input-row{display:flex;gap:8px}.pixelumi-backup-input{flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;background:#0003;border:2px solid var(--pixelumi-border);border-radius:var(--pixelumi-radius-sm);padding:10px 12px;color:var(--pixelumi-text);min-height:44px}.pixelumi-backup-restore{flex-shrink:0;border-radius:var(--pixelumi-radius-sm);width:auto;padding:0 18px;font-size:16px;font-weight:700}.pixelumi-backup-status{font-size:13px;text-align:center;min-height:18px}.pixelumi-backup-status--error{color:var(--pixelumi-danger)}.pixelumi-backup-status--success{color:var(--pixelumi-accent-4)}.pixelumi-backup-close{align-self:center}@media (prefers-reduced-motion: reduce){.pixelumi-hint-arrow{animation-duration:1.1s}.pixelumi-dex-cell.pixelumi-dex-cell--discovered{animation:none}}
