:root{--bg: #0b0e13;--bg-elev: #151a22;--bg-elev-2: #1d232d;--border: #2a313d;--text: #e6edf3;--text-dim: #8b98a9;--accent: #4ade80;--accent-dim: #22c55e;--danger: #f87171;--warning: #fbbf24;--radius: 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dim)}button{font:inherit;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);padding:10px 14px;border-radius:var(--radius);cursor:pointer;transition:.15s}button:hover{background:var(--bg-elev-2)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#052e16;border-color:var(--accent);font-weight:600}button.primary:hover{background:var(--accent-dim)}button.danger{color:var(--danger);border-color:var(--danger)}input,select{font:inherit;background:var(--bg-elev);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:var(--radius);width:100%}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:center}.muted{color:var(--text-dim);font-size:.875rem}.label{color:var(--text-dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.container{max-width:680px;margin:0 auto;padding:16px 16px 96px}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.15rem;margin:16px 0 8px}h3{font-size:1rem;margin:0}.error{background:#f8717114;border:1px solid rgba(248,113,113,.3);color:var(--danger);padding:10px 12px;border-radius:var(--radius);font-size:.875rem}.badge{background:var(--bg-elev-2);padding:2px 8px;border-radius:999px;font-size:.75rem}.badge.accent{background:var(--accent);color:#052e16;font-weight:600}.tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-elev);border-top:1px solid var(--border);display:flex;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.tabbar a{flex:1;text-align:center;padding:10px 6px;color:var(--text-dim);font-size:.75rem;border-radius:8px}.tabbar a.active{color:var(--accent);background:#4ade8014}
