:root{--bg: #1a1208;--bg-panel: #2a1f12;--dust: #c4a574;--sunset: #e85d3a;--trail: #8b6914;--text: #f5e6c8;--text-dim: #a89070;--good: #6fcf6f;--warn: #f2c94c;--crt: #33ff66;--font-display: "Press Start 2P", monospace;--font-body: "IBM Plex Mono", monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(ellipse at 50% 0%,#3d2814 0%,var(--bg) 55%),var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.5}.game-shell{min-height:100vh;display:flex;flex-direction:column}.game-hud{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:2px solid var(--trail);background:#00000059;flex-wrap:wrap}.hud-title{font-family:var(--font-display);font-size:.55rem;color:var(--sunset);display:block}.hud-domain{font-size:.75rem;color:var(--text-dim)}.hud-stats{display:flex;gap:1.25rem;flex-wrap:wrap}.hud-stat .label,.hud-goal .label{display:block;font-size:.65rem;text-transform:uppercase;color:var(--text-dim)}.hud-stat .value{font-size:1.1rem;font-weight:600}.hud-stat .value.good{color:var(--good)}.hud-stat .value.warn{color:var(--warn)}.game-main{flex:1;padding:1.5rem;max-width:1100px;margin:0 auto;width:100%}.game-footer{padding:.5rem 1.25rem;font-size:.7rem;color:var(--text-dim);border-top:1px solid var(--trail);text-align:center}.screen h1,.screen h2{font-family:var(--font-display);font-size:clamp(.9rem,2.5vw,1.1rem);line-height:1.6;color:var(--dust)}.tagline{color:var(--sunset);font-style:italic}.lede,.section-desc{color:var(--text-dim);max-width:60ch}.btn{font-family:var(--font-body);cursor:pointer;border:2px solid var(--trail);padding:.6rem 1rem;background:var(--bg-panel);color:var(--text);transition:background .15s,border-color .15s}.btn:hover:not(:disabled){border-color:var(--dust);background:#3a2c18}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--sunset);border-color:#b8432a;color:#1a1208;font-weight:600}.btn-secondary{background:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-small{padding:.25rem .5rem;font-size:.75rem}.art-slot{font-size:.65rem;line-height:1.2;color:var(--dust);background:#0006;border:1px dashed var(--trail);padding:.75rem;overflow-x:auto;white-space:pre;margin:0 0 1rem}.dialogue-box{background:#00000073;border-left:3px solid var(--sunset);padding:1rem}.dialogue-text{min-height:3rem;margin:0}.dialogue-cursor{animation:blink .8s step-end infinite}@keyframes blink{50%{opacity:0}}.dialogue-hint{font-size:.7rem;color:var(--text-dim);margin:.5rem 0 0}.red-panel{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:1.5rem;align-items:start}.red-role{color:var(--text-dim);margin-top:0}.login-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.section-label{font-size:.75rem;text-transform:uppercase;color:var(--text-dim)}.wanted-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;margin:1rem 0 1.5rem;max-height:55vh;overflow-y:auto}.wanted-card{display:grid;grid-template-columns:80px 1fr;gap:.5rem;padding:.5rem;border:2px solid var(--trail);background:#00000040;cursor:pointer}.wanted-card.selected{border-color:var(--sunset);background:#e85d3a14}.wanted-card input{display:none}.wanted-face{font-size:.45rem;margin:0;padding:.25rem}.wanted-info{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem}.wanted-crime{color:var(--sunset);font-style:italic}.wanted-meta{color:var(--text-dim);font-size:.7rem}.overworld-map{display:grid;gap:1rem;margin-top:1rem}.homestead-beacon{font-family:var(--font-display);font-size:.55rem;padding:.75rem;background:linear-gradient(90deg,rgba(111,207,111,.15),transparent);border:2px solid var(--good);color:var(--good);cursor:pointer;text-align:left}.territory{border:1px solid var(--trail);padding:.75rem;background:#0003}.territory h3{margin:0 0 .5rem;font-size:.85rem;color:var(--dust)}.territory ul{list-style:none;padding:0;margin:0}.outlaw-row{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;border-bottom:1px solid rgba(139,105,20,.3);font-size:.85rem}.status-badge{font-size:.65rem;text-transform:uppercase;color:var(--text-dim)}.status-captured .status-badge{color:var(--good)}.showdown-stage{text-align:center;max-width:520px;margin:0 auto}.capture-tracker{display:flex;justify-content:center;gap:.5rem;margin:1.5rem 0;flex-wrap:wrap}.capture-tracker .step{padding:.35rem .6rem;border:1px solid var(--trail);font-size:.7rem;color:var(--text-dim)}.capture-tracker .step.active{border-color:var(--warn);color:var(--warn)}.capture-tracker .step.done{border-color:var(--good);color:var(--good)}.showdown-action{display:flex;flex-direction:column;gap:.75rem;align-items:center}.captured-stamp{color:var(--good)}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:1.5rem 0}.result-card{background:#00000059;border:1px solid var(--trail);padding:1rem;text-align:center}.result-card .label{display:block;font-size:.7rem;color:var(--text-dim);text-transform:uppercase}.result-card .big-number{display:block;font-size:2rem;font-weight:600;color:var(--dust)}.result-card .sub{font-size:.75rem;color:var(--text-dim)}.trophy-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.trophy{padding:.35rem .6rem;border:1px solid var(--trail);font-size:.75rem}.trophy.earned{border-color:var(--good);color:var(--good)}.trophy.locked{opacity:.4}.finite-note{font-style:italic;color:var(--text-dim)}.reveal-screen .reveal-copy p{margin:.5rem 0}.reveal-card{background:#0006;border:2px solid var(--sunset);padding:1.25rem;margin:1.5rem 0}.reveal-card h3{font-family:var(--font-display);font-size:.8rem;color:var(--sunset);margin-top:0}.principles{color:var(--dust)}.reveal-stats{padding-left:1.25rem;color:var(--text-dim)}.waitlist-form{display:flex;flex-direction:column;gap:.75rem;max-width:400px;margin-bottom:1rem}.waitlist-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.waitlist-form input{font-family:var(--font-body);padding:.5rem;background:#0006;border:1px solid var(--trail);color:var(--text)}.privacy-note{font-size:.75rem;color:var(--text-dim)}.success-panel{background:#6fcf6f1a;border:1px solid var(--good);padding:1rem;margin-bottom:1rem}.error-note{color:var(--sunset);font-size:.8rem}@media(prefers-reduced-motion:reduce){.dialogue-cursor{animation:none}.btn{transition:none}}@media(max-width:600px){.red-panel{grid-template-columns:1fr}.wanted-grid{max-height:none}}
