:root { --bg:#0B1F14; --surface:#10241A; --surface-2:#152B1F; --line:#24402F; --gold-1:#F1D375; --gold-2:#C9A227; --gold-3:#9A7B1A; --cream:#F5F0DC; --muted:#8FA08F; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--cream); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:600; margin:0; }
a { color:var(--gold-1); }
.wrap { max-width:900px; margin:0 auto; padding:0 24px; }
header { border-bottom:1px solid var(--line); }
header .wrap { display:flex; align-items:center; justify-content:space-between; height:64px; max-width:1100px; }
.brand { font-family:Georgia,serif; letter-spacing:2px; font-size:18px; font-weight:600; color:var(--cream); text-decoration:none; }
main { padding:36px 0 60px; }
h1 { font-size:clamp(28px,4vw,40px); margin-bottom:10px; }
h2 { font-size:22px; margin:30px 0 8px; color:var(--gold-1); }
p, li { color:var(--cream); }
.muted { color:var(--muted); }
.banner { border:1px solid var(--gold-2); background:var(--surface-2); padding:14px 16px; border-radius:4px; margin:18px 0; font-size:14px; }
.banner.warn { border-color:#e0836f; }
.btn { padding:12px 22px; border-radius:3px; font-size:14px; font-weight:600; border:1px solid var(--gold-2); color:var(--gold-1); background:transparent; cursor:pointer; font-family:inherit; text-decoration:none; display:inline-block; }
.btn:hover:not(:disabled) { background:var(--gold-2); color:#0B1F14; }
.btn.primary { background:linear-gradient(135deg,var(--gold-1),var(--gold-3)); color:#14200F; border-color:transparent; }
.btn:disabled { opacity:.45; cursor:not-allowed; }
textarea, input[type=text] { width:100%; padding:11px 12px; border-radius:3px; border:1px solid var(--line); background:var(--surface); color:var(--cream); font-size:14px; font-family:ui-monospace,Menlo,monospace; }
input[type=text] { font-family:inherit; font-size:15px; }
textarea { min-height:110px; }
label { display:block; font-size:14px; margin:16px 0 6px; }
table { width:100%; border-collapse:collapse; margin-top:12px; font-size:14px; }
th, td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); }
th { color:var(--gold-2); font-size:12px; letter-spacing:1px; text-transform:uppercase; }
tr.top td { background:var(--surface-2); color:var(--gold-1); font-weight:600; }
footer { border-top:1px solid var(--line); padding:26px 0; color:var(--muted); font-size:13px; text-align:center; }
@media print { body { background:#fff; color:#000; } header, footer, .noprint { display:none !important; } }
