:root{--bg:#0f0f0f;--surface:#1a1a1a;--surface-hover:#252525;--border:#333;--text:#e8e8e8;--text-muted:#888;--accent:#f44;--accent-hover:#f66;--hunter:#f44;--prey:#4af;--success:#4c4;--warning:#fa0;--radius:8px;--font:"Inter", -apple-system, system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{cursor:pointer;border-radius:var(--radius);border:none;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:background .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover)}input,select{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem}input:focus,select:focus{border-color:var(--accent)}.container{max-width:480px;min-height:100vh;margin:0 auto;padding:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.5rem}.badge{text-transform:uppercase;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-hunter{color:var(--hunter);background:#f443}.badge-prey{color:var(--prey);background:#4af3}h1{margin-bottom:1rem;font-size:1.75rem}h2{margin-bottom:.75rem;font-size:1.25rem}.error{color:var(--accent);margin-top:.5rem;font-size:.9rem}.flex-between{justify-content:space-between;align-items:center;display:flex}@keyframes role-shuffle{0%{opacity:1;transform:rotateX(0)}40%{opacity:0;transform:rotateX(90deg)}60%{opacity:0;transform:rotateX(-90deg)}to{opacity:1;transform:rotateX(0)}}.shuffling .badge{animation:.4s ease-in-out role-shuffle}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)rotate(-1deg)}40%{transform:translate(3px)rotate(1deg)}60%{transform:translate(-2px)rotate(-.5deg)}80%{transform:translate(2px)rotate(.5deg)}}.btn-shuffle{background:linear-gradient(135deg, var(--hunter), var(--prey));color:#fff;position:relative;overflow:hidden}.btn-shuffle:hover{filter:brightness(1.15)}.btn-shuffle:active{animation:.3s ease-in-out shake}.btn-shuffle .dice{transition:transform .3s;display:inline-block}.btn-shuffle:hover .dice{transform:rotate(180deg)}
