:root{--bg:#000;--surface:#0a0a0a;--card:#111;--line:#1c1c1c;--text:#f1f1f1;--muted:#888;--red:#e50914;--red-dark:#7f0000;--max:1200px;--radius:12px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(100% - 32px,var(--max));margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;font-weight:800;font-size:.9rem;cursor:pointer;border:none;transition:opacity .15s,transform .12s;text-decoration:none}.btn:hover{opacity:.88;transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn--red{background:var(--red);color:#fff}.btn--ghost{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.12)}.btn--outline{background:transparent;color:#fff;border:1px solid #333}.btn--wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.badge--red{background:rgba(229,9,20,.15);color:#f87171;border:1px solid #7f1d1d}.badge--gray{background:rgba(255,255,255,.06);color:var(--muted);border:1px solid #222}.badge--green{background:rgba(34,197,94,.1);color:#4ade80;border:1px solid #166534}.input{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;padding:.75rem 1rem;color:var(--text);font-size:.95rem;font-family:inherit;outline:none;transition:border-color .18s}.input:focus{border-color:var(--red)}.input::placeholder{color:#444}.label{display:block;font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px}.form-group{display:flex;flex-direction:column}select.input option{background:#111}textarea.input{resize:vertical;min-height:80px}