@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--color-parchment: #f4e4c1;--color-parchment-dark: #e8d5a3;--color-ink: #2c1810;--color-ink-light: #4a3728;--color-gold: #c9a84c;--color-gold-dark: #a07d2e;--color-red: #8b1a1a;--color-red-light: #c0392b;--color-green: #2d5a27;--color-green-light: #4a8c3f;--color-blue: #1a3a5c;--color-blue-light: #2980b9;--color-purple: #4a1a6b;--color-purple-light: #7d3cad;--color-border: #8b7355;--color-border-dark: #5c4a32;--color-shadow: rgba(44, 24, 16, .3);--font-heading: "Cinzel", serif;--font-body: "Crimson Text", serif;--radius: 4px}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh}body{font-family:var(--font-body);font-size:18px;line-height:1.6;color:var(--color-ink);background-color:#1a1a2e;background-image:radial-gradient(ellipse at top,#2d2d44 0%,transparent 70%),radial-gradient(ellipse at bottom,#1a1a2e,#0f0f1a)}#root{min-height:100vh}#root>div{background:var(--color-parchment);min-height:100vh;padding:2rem;max-width:960px;margin:0 auto;border-left:3px solid var(--color-border-dark);border-right:3px solid var(--color-border-dark);box-shadow:0 0 40px #00000080}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-ink);margin-top:0;letter-spacing:.02em}h1{font-size:2.2rem;font-weight:900}h2{font-size:1.6rem;font-weight:700}h3{font-size:1.3rem;font-weight:600}a{color:var(--color-red);text-decoration:none;font-weight:600;transition:color .2s}a:hover{color:var(--color-gold-dark);text-decoration:underline}section,article,form{border:2px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;background:#fffdf580;box-shadow:0 2px 6px var(--color-shadow)}section section,article article,section article,article section,section form{background:transparent;border:1px solid var(--color-border);box-shadow:none;padding:1rem}button{font-family:var(--font-heading);font-size:.85rem;font-weight:600;letter-spacing:.03em;padding:.6rem 1.2rem;border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;background:linear-gradient(180deg,var(--color-parchment) 0%,var(--color-parchment-dark) 100%);color:var(--color-ink);box-shadow:0 2px 4px var(--color-shadow)}button:hover:not(:disabled){background:linear-gradient(180deg,#fff8e7 0%,var(--color-parchment) 100%);border-color:var(--color-gold);box-shadow:0 2px 8px #c9a84c4d;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px var(--color-shadow)}button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}button[style*="background-color: #3b82f6"],button[style*="backgroundColor: #3b82f6"],button[style*="background-color: rgb(59, 130, 246)"]{background:linear-gradient(180deg,var(--color-blue-light) 0%,var(--color-blue) 100%)!important;border-color:var(--color-blue)!important;color:var(--color-parchment)!important}button[style*="background-color: #22c55e"],button[style*="backgroundColor: #22c55e"],button[style*="background-color: rgb(34, 197, 94)"]{background:linear-gradient(180deg,var(--color-green-light) 0%,var(--color-green) 100%)!important;border-color:var(--color-green)!important;color:var(--color-parchment)!important}button[style*="background-color: #dc2626"],button[style*="backgroundColor: #dc2626"],button[style*="background-color: rgb(220, 38, 38)"]{background:linear-gradient(180deg,var(--color-red-light) 0%,var(--color-red) 100%)!important;border-color:var(--color-red)!important;color:var(--color-parchment)!important}button[style*="background-color: #16a34a"],button[style*="backgroundColor: #16a34a"]{background:linear-gradient(180deg,var(--color-green-light) 0%,var(--color-green) 100%)!important;border-color:var(--color-green)!important;color:var(--color-parchment)!important}input,textarea,select{font-family:var(--font-body);font-size:1rem;padding:.6rem .8rem;border:2px solid var(--color-border);border-radius:var(--radius);background:#fffdf5;color:var(--color-ink);transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px #c9a84c33}textarea{resize:vertical;min-height:80px}label{font-family:var(--font-heading);font-size:.85rem;font-weight:600;color:var(--color-ink-light);letter-spacing:.02em}ul,ol{padding-left:1.5rem}li{margin-bottom:.5rem}.power-card{background:var(--color-parchment)!important;border-width:3px!important;box-shadow:0 2px 8px var(--color-shadow)!important}.power-card h3{font-family:var(--font-heading)!important}.monster-card{background:var(--color-parchment)!important;border-width:3px!important;box-shadow:0 2px 8px var(--color-shadow)!important}.monster-card h3{font-family:var(--font-heading)!important}.dice-roller__roll-btn{background:linear-gradient(180deg,var(--color-red-light) 0%,var(--color-red) 100%)!important;border:2px solid var(--color-red)!important;color:var(--color-parchment)!important;font-size:1rem!important;padding:.8rem 1.5rem!important}.dice-roller__roll-btn:hover:not(:disabled){background:linear-gradient(180deg,#e74c3c 0%,var(--color-red-light) 100%)!important;box-shadow:0 0 12px #c0392b66!important}.dice-roller__result{background:var(--color-parchment-dark);border:2px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-top:1rem;text-align:center;font-size:1.1rem}.dice-roller__result--critical{border-color:var(--color-gold)!important;background:linear-gradient(135deg,#fff8dc,#ffe4b5)!important;box-shadow:0 0 20px #c9a84c80!important}.dice-roller__critical{font-family:var(--font-heading);font-size:1.4rem;font-weight:900;color:var(--color-gold-dark);text-shadow:1px 1px 2px rgba(0,0,0,.3);display:block;margin-top:.5rem}[aria-label="Initiative Tracker"]{background:var(--color-parchment)!important}[aria-label="Initiative Tracker"] h2{font-family:var(--font-heading);border-bottom:2px solid var(--color-border);padding-bottom:.5rem}[aria-label="Initiative Tracker"] li{border:1px solid var(--color-border)!important;border-radius:var(--radius)!important;margin-bottom:6px!important}[aria-label="Initiative Tracker"] li[aria-current=true]{border-color:var(--color-gold)!important;background:linear-gradient(90deg,rgba(201,168,76,.15) 0%,transparent 100%)!important;box-shadow:0 0 8px #c9a84c33}.progress-bar-container{border:1px solid var(--color-border)!important;background:var(--color-parchment-dark)!important}.progress-bar-fill{background:linear-gradient(90deg,var(--color-red) 0%,var(--color-red-light) 100%)!important}.category-badge{font-family:var(--font-heading)!important;letter-spacing:.05em!important;text-transform:uppercase!important;font-size:.65rem!important}.defeated-badge,.status-badge{font-family:var(--font-heading)!important;letter-spacing:.03em!important;text-transform:uppercase!important}nav a{font-family:var(--font-heading);font-size:1.1rem;padding:.8rem 1.5rem;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-parchment);display:inline-block;margin:.5rem;transition:all .2s}nav a:hover{background:var(--color-parchment-dark);border-color:var(--color-gold);text-decoration:none;box-shadow:0 2px 8px #c9a84c4d}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-parchment-dark)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-dark)}fieldset{border:2px solid var(--color-border)!important;border-radius:var(--radius)!important;background:#fffdf580}fieldset legend{font-family:var(--font-heading);font-weight:600;color:var(--color-ink-light);padding:0 .5rem}code{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;letter-spacing:.15em;color:var(--color-red);background:var(--color-parchment-dark);padding:.3rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius)}[role=alert]{border-left:4px solid var(--color-red);padding-left:1rem;color:var(--color-ink);background:#8b1a1a0d;padding:.75rem 1rem;border-radius:var(--radius)}.resting-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}nav[aria-label="Character creation steps"] ol li{font-family:var(--font-heading);font-size:.75rem;border:1px solid var(--color-border)}
