:root{--ink:#0f0f10;--panel:#191719;--raised:#252023;--paper:#d8c7a1;--text:#e8dfce;--muted:#a99e8a;--brass:#b69a5c;--red:#9d302d;--line:#51452f;--space:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#2a2118 0,#0f0f10 40%),var(--ink);color:var(--text);font:14px/1.45 Arial,sans-serif;min-height:100vh}.app-shell{max-width:980px;margin:auto;padding:48px 24px 32px}.masthead{border-bottom:1px solid var(--line);padding-bottom:24px}.eyebrow,.stamp{color:var(--brass);font:11px/1.2 monospace;letter-spacing:.16em}.masthead h1{font:clamp(30px,5vw,54px)/1.05 Georgia,serif;font-weight:400;margin:10px 0 5px}.subtitle{color:var(--muted);margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:24px 0}.step{background:transparent;border:0;border-top:2px solid var(--line);color:var(--muted);padding:10px 0;text-align:left;font:12px monospace;cursor:pointer}.step span{display:block;font:13px Arial;margin-top:4px}.step.is-active{border-color:var(--brass);color:var(--paper)}.panel{background:linear-gradient(135deg,rgba(216,199,161,.07),transparent 30%),var(--panel);border:1px solid var(--line);padding:clamp(20px,4vw,40px);box-shadow:0 14px 40px #0008}.stage{display:none;min-height:410px}.stage.is-visible{display:block}.panel-heading{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:14px}.panel-heading h2{font:26px Georgia,serif;font-weight:400;margin:8px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}label{color:var(--muted);display:flex;flex-direction:column;gap:7px}input,select,textarea{background:#0e0d0e;border:1px solid #62533a;color:var(--text);font:inherit;padding:11px;border-radius:2px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brass);outline-offset:2px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.class-card{border:1px solid var(--line);padding:20px;min-height:160px;cursor:pointer;background:#121113}.class-card:has(input:checked){border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:#241615}.class-card input{accent-color:var(--red);align-self:flex-start}.class-card strong{color:var(--paper);font:22px Georgia,serif;margin:20px 0 8px}.class-card span{color:var(--muted);min-height:42px}.class-card em{color:var(--brass);font:12px monospace;font-style:normal;margin-top:16px}.note{border-left:2px solid var(--brass);color:var(--muted);margin-top:24px;padding:10px 14px;background:#0d0c0d}.compact{max-width:180px}.attribute-grid,.resource-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:24px}.attribute-grid label{text-align:center}.attribute-grid input{text-align:center}.resource-grid{grid-template-columns:repeat(3,1fr)}.resource{border-top:2px solid var(--brass);padding:14px;background:#111012}.resource span{color:var(--brass);font:12px monospace}.resource strong{display:block;font:32px Georgia,serif;margin:6px 0}.resource small{color:var(--muted)}.actions{align-items:center;display:flex;gap:16px;justify-content:space-between;padding-top:20px}.actions span{color:var(--muted);font:12px monospace}.actions button{border:1px solid var(--brass);cursor:pointer;padding:12px 20px;text-transform:uppercase;letter-spacing:.08em}.primary{background:var(--brass);color:var(--ink)}.secondary{background:transparent;color:var(--paper)}@media(max-width:650px){.app-shell{padding:28px 14px}.form-grid,.class-grid{grid-template-columns:1fr}.wide{grid-column:auto}.attribute-grid{grid-template-columns:repeat(5,1fr);gap:5px}.resource-grid{grid-template-columns:1fr}.step span{font-size:11px}.stage{min-height:520px}}
