:root { color-scheme: dark; --bg:#0e0b13; --panel:#17131f; --panel2:#211a2c; --ink:#f7f1e8; --muted:#b5a9ba; --gold:#e5b96b; --ember:#c7674e; --line:#3a2d45; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font-family: Georgia, "Times New Roman", serif; background:radial-gradient(circle at 50% -10%, #38233d 0, var(--bg) 52%); color:var(--ink); }
button, input, textarea { font:inherit; }
button { color:var(--ink); background:var(--panel2); border:1px solid var(--line); border-radius:12px; padding:14px 16px; text-align:left; cursor:pointer; }
button:active { transform:translateY(1px); border-color:var(--gold); }
.shell { max-width:720px; margin:0 auto; padding:calc(24px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom)); }
.eyebrow { color:var(--gold); letter-spacing:.16em; text-transform:uppercase; font:600 12px system-ui,sans-serif; }
h1 { font-size:clamp(36px,10vw,64px); line-height:.95; margin:10px 0 14px; }
h2 { margin:0 0 10px; font-size:28px; }
p { line-height:1.55; color:var(--muted); }
.lede { font-size:18px; max-width:34em; }
.card { background:linear-gradient(145deg,rgba(35,27,47,.95),rgba(20,15,27,.95)); border:1px solid var(--line); border-radius:18px; padding:20px; margin:14px 0; box-shadow:0 16px 36px #0004; }
.choice { width:100%; margin:8px 0; display:flex; gap:12px; align-items:flex-start; }
.choice b { color:var(--gold); min-width:24px; }
.choice span { color:var(--ink); }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:24px; }
.topbar button { padding:8px 12px; font:600 13px system-ui,sans-serif; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:16px 0; }
.stat { border:1px solid var(--line); border-radius:10px; padding:10px; background:#120e19; }
.stat small { display:block; color:var(--muted); font:12px system-ui,sans-serif; }
.stat strong { display:block; margin-top:4px; color:var(--gold); }
.log { max-height:180px; overflow:auto; border-top:1px solid var(--line); margin-top:18px; padding-top:10px; color:var(--muted); font-size:14px; }
.log p { margin:7px 0; }
label { display:block; color:var(--muted); font:600 13px system-ui,sans-serif; margin:14px 0 6px; }
input, textarea { width:100%; color:var(--ink); background:#100c16; border:1px solid var(--line); border-radius:10px; padding:12px; }
textarea { min-height:100px; resize:vertical; }
.primary { background:linear-gradient(135deg,#864b43,#b36e4f); border-color:#d58d61; font-weight:700; }
.muted-button { background:transparent; }
.footer { color:#81758c; font:12px system-ui,sans-serif; text-align:center; margin-top:24px; }
