:root{--bg: #0a0a0a;--bg-card: #141414;--bg-elevated: #1c1c1c;--border: #2a2a2a;--text: #f0f0f0;--text-muted: #aaa;--accent: #D1963D;--accent-dim: rgba(255, 107, 0, .15);--success: #22c55e;--error: #ef4444;--warning: #f59e0b;--radius: 12px;--radius-sm: 8px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;transition:all .15s;cursor:pointer}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#e05e00;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.btn-lg{padding:1rem 2rem;font-size:1.125rem;border-radius:16px}.btn-xl{padding:1.25rem 2.5rem;font-size:1.25rem;border-radius:20px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-accent{background:var(--accent-dim);color:var(--accent)}.badge-success{background:#22c55e26;color:var(--success)}.badge-warning{background:#f59e0b26;color:var(--warning)}input[type=text],textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:1rem;padding:.75rem 1rem;width:100%;outline:none;transition:border-color .15s}input[type=text]:focus,textarea:focus{border-color:var(--accent)}input[type=text]::placeholder,textarea::placeholder{color:var(--text-muted)}.error-msg{color:var(--error);font-size:.875rem;margin-top:.5rem}.container{max-width:480px;margin:0 auto;padding:1rem}
