:root{--bg:#1a1a1a;--card-bg:#2a1f1f;--card-border:#8b2020;--accent:#c0392b;--accent-bright:#e74c3c;--text-primary:#e8d5b7;--text-muted:#a09070;--fled-colour:#e74c3c;--font-display:"MedievalSharp", serif;--font-body:"Crimson Text", serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);min-height:100vh;color:var(--text-primary);font-family:var(--font-body);background-image:radial-gradient(at top,#2d1515 0%,#1a1a1a 60%)}h1{font-family:var(--font-display);letter-spacing:.05em;font-size:1.4rem}.goblin-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:4px;padding:1.25rem;transition:opacity .3s;position:relative;box-shadow:0 2px 12px #0006}.goblin-card--fled{opacity:.7}.goblin-card__header{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.goblin-name{font-family:var(--font-display);color:var(--text-primary);font-size:1.2rem}.goblin-panic-count{font-family:var(--font-body);color:var(--text-muted);font-size:.9rem}.panic-bar{gap:6px;margin-bottom:1rem;display:flex}.panic-pip{background:#3a2a2a;border:1px solid #5a3a3a;border-radius:2px;flex:1;height:8px;transition:background .2s}.panic-pip--filled{background:var(--accent);border-color:var(--accent-bright);box-shadow:0 0 4px var(--accent)}.goblin-card__actions{gap:.75rem;display:flex}.btn{border:1px solid var(--card-border);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:3px;flex:1;padding:.6rem;font-size:1rem;transition:background .15s,border-color .15s}.btn:disabled{opacity:.3;cursor:not-allowed}.btn--increase:hover:not(:disabled){background:var(--accent);border-color:var(--accent-bright)}.btn--decrease:hover:not(:disabled){background:#2a3a2a;border-color:#4a6a4a}.btn--calm{border-color:var(--accent-bright);color:var(--accent-bright)}.btn--calm:hover{background:var(--accent);color:var(--text-primary)}.panic-stamp{border:3px solid var(--fled-colour);color:#ff6b6b;font-family:var(--font-display);opacity:.95;letter-spacing:.2em;pointer-events:none;text-shadow:2px 2px 4px #000c,0 0 20px #e74c3c80;border-radius:4px;justify-content:center;align-items:center;font-size:4rem;display:flex;position:absolute;inset:0;transform:rotate(-25deg);box-shadow:0 0 12px #e74c3c4d}.app{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.app-header{text-align:center;border-bottom:1px solid var(--card-border);margin-bottom:1.5rem;padding-bottom:.75rem}.goblin-list{flex-direction:column;gap:1rem;display:flex}
