@font-face{font-family:PressStart2P;src:url(/fonts/press-start-2p.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--navy-0:#2e3488;--navy-1:#20265f;--navy-2:#191d4c;--panel:#262c6b;--panel-2:#1c2154;--ink:#101334;--bg:var(--navy-1);--surface:var(--panel);--text:#f2f3ff;--muted:#a9ade4;--border:#11143c;--border-light:#4a51a8;--green:#3fb44e;--green-dark:#268a35;--blue:#4a90d9;--blue-dark:#2f6db0;--red:#e05555;--red-dark:#b0353b;--yellow:#ffcb05;--accent:var(--blue);--accent-ink:#fff;--ok:#7ff0a0;--ok-bg:#163a24;--dup:#ffd36b;--dup-bg:#3a2f12;--warn:#ffd36b;--warn-bg:#38310f;--err:#ff9aa0;--err-bg:#3a1620;--radius:6px;--font-pixel:"PressStart2P", "Courier New", monospace;--font-body:ui-monospace, "SFMono-Regular", "Courier New", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(120% 80% at 50% 0%, var(--navy-0) 0%, var(--navy-1) 45%, var(--navy-2) 100%) fixed;min-height:100dvh}button{font:inherit;cursor:pointer;color:inherit}input{font:inherit}h1,h2,.brand,.section-title,.scan-btn,.btn,button.primary,.chip,.verdict-head,.confirm-head,.slot-num,.slot-label,.variant-badge,.confidence-pct,.pixel{font-family:var(--font-pixel);letter-spacing:.5px;font-weight:400}h1{margin:0 0 .5rem;font-size:1.05rem;line-height:1.5}h2{margin:0 0 .4rem;font-size:.8rem;line-height:1.5}p{margin:0}code{font-family:var(--font-pixel);background:var(--panel-2);border-radius:4px;padding:.15em .4em;font-size:.75em}.app{width:100%;max-width:32rem;padding:max(.9rem, env(safe-area-inset-top)) .9rem 2.5rem;flex-direction:column;gap:.9rem;margin:0 auto;display:flex}.welcome{min-height:100dvh;padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;display:flex}.welcome-art{border:3px solid var(--border);border-radius:10px;width:auto;max-width:min(100%,26rem);max-height:72vh;box-shadow:0 6px #00000059}.welcome .btn-enter{min-width:12rem}.press-hint{color:var(--muted);font-size:.7rem;animation:1.1s steps(2,start) infinite blink}@keyframes blink{50%{opacity:.3}}.btn,button.primary,.scan-btn{border:3px solid var(--border);text-transform:uppercase;color:#fff;background:var(--blue);border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.72rem;transition:transform 30ms,box-shadow 30ms;display:inline-flex;box-shadow:0 4px #0006}.btn:active:not(:disabled),button.primary:active:not(:disabled),.scan-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #0006}.btn:disabled,button.primary:disabled,.scan-btn:disabled{opacity:.5}.btn-green,button.primary{background:var(--green)}.btn-blue,.scan-btn{background:var(--blue)}.btn-red{background:var(--red)}.scan-btn{width:100%;padding:.9rem 1rem;font-size:.8rem}.scan-icon{font-size:1.1rem}button.ghost{background:var(--panel-2);color:var(--text);border:2px solid var(--border-light);border-radius:6px;padding:.6rem .9rem;font-size:.85rem}.text-link{color:var(--yellow);background:0 0;border:none;align-self:center;padding:.3rem 0;font-size:.8rem;text-decoration:underline}.danger-link{color:var(--err);background:0 0;border:none;align-self:flex-start;padding:.3rem 0;font-size:.8rem;text-decoration:underline}.pokedex-top{background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);border:3px solid var(--border);border-radius:8px;align-items:center;gap:.7rem;padding:.6rem .9rem;display:flex;box-shadow:0 4px #00000059}.brand-icon{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 2px #0006);flex-shrink:0;width:42px;height:42px}.brand{color:var(--yellow);text-shadow:2px 2px 0 var(--ink);flex:1;font-size:1rem}.chip{border:2px solid var(--border-light);background:var(--panel-2);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-self:flex-end;max-width:100%;padding:.35rem .8rem;font-size:.6rem;overflow:hidden}.chip strong{color:var(--yellow)}.card{background:var(--panel);border:3px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex;box-shadow:0 4px #0000004d}.muted{color:var(--muted);font-size:.82rem}.config label,.search{flex-direction:column;gap:.35rem;font-size:.72rem;display:flex}.config label{font-family:var(--font-pixel);color:var(--muted);text-transform:uppercase;gap:.4rem;font-size:.62rem}input[type=url],input[type=text],input[type=password],input[type=search]{border:2px solid var(--border-light);background:var(--navy-2);width:100%;color:var(--text);font-family:var(--font-body);border-radius:5px;padding:.7rem .75rem}input:focus-visible{outline:2px solid var(--yellow);outline-offset:1px}.input-row{gap:.4rem;display:flex}.input-row input{flex:1}.field-error{color:var(--err);font-size:.72rem}.actions{gap:.6rem;margin-top:.3rem;display:flex}.actions .primary{flex:1}.results{flex-direction:column;gap:.35rem;max-height:55vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.results button,.alternatives button{text-align:left;background:var(--navy-2);border:2px solid var(--border-light);width:100%;color:var(--text);border-radius:6px;padding:.55rem .7rem}.results button:hover:not(:disabled),.alternatives button:hover{border-color:var(--yellow)}.entry{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.entry-names{flex-direction:column;min-width:0;display:flex}.entry-names strong{font-weight:700}.entry-en{color:var(--muted);font-size:.72rem}.entry-meta{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.dexnum{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.75rem}.variant-badge{text-transform:uppercase;background:var(--red);color:#fff;border-radius:4px;padding:.2rem .4rem;font-size:.55rem}.slot{background:var(--navy-2);border:3px solid var(--yellow);border-radius:8px;flex-direction:column;align-items:center;gap:.3rem;padding:.7rem 1rem;display:flex}.slot-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:.55rem}.slot-num{color:var(--yellow);text-shadow:2px 2px 0 var(--ink);font-size:1.7rem;line-height:1.1}.scanning{align-items:center}.preview{border:3px solid var(--border);border-radius:8px;width:100%;display:block}.preview-thumb{width:auto;max-height:120px;margin:0 auto}.sending{color:var(--muted);justify-content:center;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.pokeball-spin{animation:.9s linear infinite pokeball-spin}@keyframes pokeball-spin{to{transform:rotate(360deg)}}.confirm-head{color:var(--text);font-size:.85rem}.confirm-entry{background:var(--navy-2);border:2px solid var(--border-light);border-radius:6px;padding:.6rem .7rem}.confidence{color:var(--muted);align-items:center;gap:.6rem;font-size:.6rem;display:flex}.confidence-bar{background:var(--navy-2);border:2px solid var(--border-light);border-radius:3px;flex:1;height:10px;overflow:hidden}.confidence-bar span{height:100%;display:block}.confidence-ok .confidence-bar span{background:var(--green)}.confidence-warn .confidence-bar span{background:var(--dup)}.confidence-pct{white-space:nowrap}.notpoke .confirm-head{color:var(--warn)}.alternatives ul{flex-direction:column;gap:.35rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.disambig{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.disambig button{text-align:left;background:var(--navy-2);border:2px solid var(--border-light);width:100%;color:var(--text);border-radius:6px;padding:.6rem .7rem}.disambig button.proposed,.disambig button:hover{border-color:var(--yellow)}.verdict-head{font-size:.9rem}.verdict-ok{border-color:var(--ok);background:var(--ok-bg)}.verdict-ok .verdict-head{color:var(--ok)}.verdict-dup{border-color:var(--dup);background:var(--dup-bg)}.verdict-dup .verdict-head{color:var(--dup)}.verdict-warn{border-color:var(--warn);background:var(--warn-bg)}.verdict-warn .verdict-head{color:var(--warn)}.verdict-err{border-color:var(--err);background:var(--err-bg)}.verdict-err .verdict-head{color:var(--err)}.mascot{object-fit:contain;image-rendering:auto;display:block}.config-mascot{margin:0 auto .25rem}.empty{text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:.5rem 0;display:flex}
