:root{--bg: #0f3d12;--ink: #0b0f1e;--panel: #141a33;--line: #f4f1e6;--text: #ffffff;--muted: #c9d6ff;--gold: #ffd24a;--bad: #ff4b4b;--px: "Press Start 2P", monospace;--pxs: "Pixelify Sans", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;color:var(--text);font:18px/1.45 var(--pxs);background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 40px,transparent 40px 80px),var(--bg)}#app{width:100%;display:flex;justify-content:center}.card{width:100%;max-width:420px;padding:28px;background:var(--panel);box-shadow:0 -4px 0 0 var(--line),0 4px 0 0 var(--line),-4px 0 0 0 var(--line),4px 0 0 0 var(--line),0 0 0 4px var(--ink),0 10px 0 4px #00000059}.card.wide{max-width:760px}.logo{font-family:var(--px);font-size:22px;line-height:1.5;color:var(--gold);text-align:center}.logo.small{font-size:12px;text-align:left}.subtitle{margin:10px 0 22px;font-family:var(--px);font-size:11px;text-align:center;color:var(--muted)}.row{display:flex;align-items:center;justify-content:space-between}.row>*+*{margin-left:12px}label{display:block;margin-bottom:14px;font-weight:700}input{display:block;width:100%;margin-top:6px;padding:10px 12px;font:inherit;color:var(--ink);background:#fff;border:0;outline:3px solid var(--ink)}input:focus{outline-color:var(--gold)}button{padding:12px 16px;font-family:var(--px);font-size:12px;color:var(--ink);background:var(--gold);border:0;box-shadow:0 4px #a07d10;cursor:pointer}button:active{transform:translateY(3px);box-shadow:0 1px #a07d10}form button[type=submit]{width:100%;margin-top:6px}button.ghost{color:var(--muted);background:transparent;box-shadow:none;font-size:10px}button.danger{color:#fff;background:#b3261e;box-shadow:0 4px #6d140f}.error{margin-bottom:12px;color:var(--bad);font-weight:700}h1,h2{font-family:var(--px);line-height:1.5}h1{font-size:18px}h2{margin-top:28px;font-size:13px;color:var(--gold)}.muted{color:var(--muted);font-size:15px}.tvlink{display:flex;align-items:center}.tvlink code{flex:1;min-width:0;padding:10px;overflow-wrap:anywhere;background:var(--ink)}.tvlink button{margin-left:10px}pre{padding:12px;overflow:auto;font-size:14px;background:var(--ink)}
