:root{--paper:#f5f1e6;--paper-alt:#ece6d4;--ink:#14120f;--v1:#ffd23f;--v2:#2ee6a6;--v3:#ff5c8a;--danger:#ff3b30;--border:3px solid var(--ink);--shadow:5px 5px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);--radius:2px;--font-display:"Arial Black","Helvetica Neue",Arial,sans-serif;--font-body:"Helvetica Neue",Arial,sans-serif;--font-mono:"Courier New",ui-monospace,monospace}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}body{background-image:radial-gradient(var(--ink) 1px,transparent 1px);background-size:22px 22px;background-attachment:fixed;background-color:var(--paper);min-height:100vh}a{color:inherit}h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin:0}.shell{max-width:980px;margin:0 auto;padding:28px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border:var(--border);box-shadow:var(--shadow);padding:14px 18px;margin-bottom:26px}.topbar .brand{font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:-.02em}.topbar .brand span{color:var(--v2)}.topbar nav{display:flex;gap:10px;align-items:center;font-size:13px}.card{box-shadow:var(--shadow);padding:22px;margin-bottom:22px}.card,.card-flat{background:#fff;border:var(--border)}.card-flat{padding:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}@media (max-width:720px){.grid-3{grid-template-columns:1fr}}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;display:inline-block;padding:3px 8px;border:2px solid var(--ink);margin-bottom:10px;background:var(--paper-alt)}.btn,.eyebrow{text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-size:14px;letter-spacing:-.01em;padding:11px 18px;border:var(--border);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease;text-decoration:none}.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.btn-v1{background:var(--v1)}.btn-v2{background:var(--v2)}.btn-v3{background:var(--v3)}.btn-danger{background:var(--danger);color:#fff}.btn-dark{background:var(--ink);color:var(--paper)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.field input,.field label{font-family:var(--font-mono)}.field input{font-size:14px;padding:11px 12px;border:var(--border);background:#fff;outline:none}.field input:focus{box-shadow:var(--shadow-sm);outline:3px solid var(--v2);outline-offset:1px}.badge{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border:2px solid var(--ink);display:inline-block}.badge-on{background:var(--v2)}.badge-off{background:#ddd}.badge-danger{background:var(--danger);color:#fff}.badge-gold{background:var(--v1)}.alert{border:var(--border);box-shadow:var(--shadow-sm);padding:12px 14px;margin-bottom:16px;font-family:var(--font-mono);font-size:13px}.alert-err{background:var(--danger);color:#fff}.alert-ok{background:var(--v2)}table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:13px}td,th{border:2px solid var(--ink);padding:8px 10px;text-align:left}th{background:var(--ink);color:var(--paper);text-transform:uppercase;font-size:11px;letter-spacing:.05em}tr:nth-child(2n) td{background:var(--paper-alt)}.muted{font-family:var(--font-mono);font-size:13px;opacity:.75}.stack{flex-direction:column}.row,.stack{display:flex;gap:10px}.row{flex-wrap:wrap}.center-page,.row{align-items:center}.center-page{min-height:100vh;display:flex;justify-content:center;padding:20px}.auth-card{width:100%;max-width:380px;background:#fff;border:var(--border);box-shadow:8px 8px 0 var(--ink);padding:28px}