:root{--dealer-bg: var(--bg-surface);--dealer-border: var(--border-color);--dealer-good: #10b981;--dealer-evil: #ef4444;--dealer-neutral: #3b82f6;--dealer-glow-good: rgba(16, 185, 129, .25);--dealer-glow-evil: rgba(239, 68, 68, .25);--dealer-glow-neutral: rgba(59, 130, 246, .25);--dealer-text-base: var(--text-base);--dealer-text-muted: var(--text-muted)}.hrd-card{background:var(--dealer-bg);border:1px solid var(--dealer-border);border-radius:1.5rem;padding:2rem;box-shadow:0 10px 30px #0000000d;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;max-width:800px;margin:0 auto}.hrd-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.hrd-setup-grid{grid-template-columns:1fr}}.hrd-setup-section{display:flex;flex-direction:column;gap:1rem}.hrd-section-title{font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--dealer-text-muted);margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center}.hrd-input-row{display:flex;gap:.5rem}.hrd-input{flex:1;padding:.75rem 1rem;border:1px solid var(--dealer-border);border-radius:.75rem;background:var(--bg-page);color:var(--dealer-text-base);font-size:.9rem;font-weight:600;transition:all .2s ease}.hrd-input:focus{outline:none;border-color:var(--dealer-neutral);box-shadow:0 0 0 3px var(--dealer-glow-neutral)}.hrd-select{flex:1;min-width:100px;padding:.75rem 2rem .75rem 1rem;border:1px solid var(--dealer-border);border-radius:.75rem;background-color:var(--bg-page);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");background-repeat:no-repeat;background-position:right .75rem center;background-size:.85rem;color:var(--dealer-text-base);font-size:.9rem;font-weight:600;cursor:pointer;appearance:none;-webkit-appearance:none;transition:all .2s ease}.hrd-select:focus{outline:none;border-color:var(--dealer-neutral);box-shadow:0 0 0 3px var(--dealer-glow-neutral)}.hrd-btn-primary{padding:.75rem 1.5rem;border-radius:.75rem;border:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:var(--color-white);font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.hrd-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--dealer-glow-neutral)}.hrd-btn-primary:active{transform:translateY(0)}.hrd-btn-secondary{padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--dealer-border);background:var(--bg-page);color:var(--dealer-text-base);font-weight:600;cursor:pointer;transition:all .2s ease}.hrd-btn-secondary:hover{background:var(--dealer-border)}.hrd-presets-list{display:flex;flex-direction:column;gap:.5rem}.hrd-preset-card{padding:1rem;border:1px solid var(--dealer-border);border-radius:.75rem;cursor:pointer;transition:all .2s ease;background:var(--bg-page);text-align:left}.hrd-preset-card:hover{border-color:var(--dealer-neutral);transform:translate(4px)}.hrd-preset-card.active{border-color:var(--dealer-neutral);background:var(--dealer-glow-neutral)}.hrd-preset-name{font-weight:750;color:var(--dealer-text-base)}.hrd-preset-desc{font-size:.8rem;color:var(--dealer-text-muted);margin-top:.25rem}.hrd-players-container{display:flex;flex-direction:column;gap:.5rem;max-height:250px;overflow-y:auto}.hrd-player-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-page);border:1px solid var(--dealer-border);border-radius:.5rem}.hrd-player-name{font-weight:600;color:var(--dealer-text-base)}.hrd-btn-delete,.hrd-btn-delete-role{background:transparent;border:none;color:var(--dealer-text-muted);cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s ease}.hrd-btn-delete:hover,.hrd-btn-delete-role:hover{color:var(--dealer-text-base);background:var(--dealer-border)}.hrd-role-badge{display:inline-flex;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase}.hrd-role-badge.good{background:var(--dealer-glow-good);color:var(--dealer-good)}.hrd-role-badge.evil{background:var(--dealer-glow-evil);color:var(--dealer-evil)}.hrd-role-badge.neutral{background:var(--dealer-glow-neutral);color:var(--dealer-neutral)}.hrd-deal-action-panel{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1.5rem;border-top:1px solid var(--dealer-border);padding-top:1.5rem}.hrd-warning-box{background:var(--dealer-glow-evil);color:var(--dealer-evil);padding:.75rem 1rem;border-radius:.5rem;font-size:.85rem;font-weight:600;text-align:center}.hrd-wizard-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;min-height:400px;position:relative;overflow:hidden}.hrd-pass-screen{text-align:center;animation:scale-in .4s cubic-bezier(.34,1.56,.64,1)}.hrd-pass-label{font-size:1.25rem;color:var(--dealer-text-muted);margin-bottom:.5rem}.hrd-player-highlight{font-size:2.25rem;font-weight:900;color:var(--dealer-text-base);margin-bottom:2rem;text-shadow:0 4px 12px rgba(0,0,0,.05)}.hrd-hold-button-wrapper{position:relative;width:200px;height:200px;margin:0 auto}.hrd-hold-button{width:100%;height:100%;border-radius:50%;border:none;background:linear-gradient(135deg,#1f2937,#111827);color:var(--color-white);font-weight:800;font-size:1.1rem;cursor:pointer;position:relative;z-index:2;box-shadow:0 10px 25px #0000004d;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center;user-select:none;-webkit-user-select:none}.hrd-hold-button:active{transform:scale(.95)}.hrd-hold-progress-ring{position:absolute;top:-10px;left:-10px;width:220px;height:220px;border-radius:50%;border:4px solid var(--dealer-border);z-index:1;pointer-events:none;transition:border-color .3s ease}.hrd-hold-button-wrapper.holding .hrd-hold-progress-ring{border-color:var(--dealer-neutral);animation:ring-pulse 1s infinite alternate}.hrd-hold-hint{font-size:.8rem;color:var(--dealer-text-muted);margin-top:1.5rem;text-align:center}.hrd-reveal-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:slide-in .4s cubic-bezier(.16,1,.3,1) forwards;width:100%;max-width:450px;margin:0 auto}.hrd-card-container{perspective:1200px;margin-bottom:2rem;width:100%;display:flex;justify-content:center}.hrd-role-card{background:var(--dealer-bg);border:2px solid var(--dealer-border);border-radius:1.5rem;padding:2.5rem 2rem;box-shadow:0 15px 35px #0000001a;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease,border-color .4s ease;animation:reveal-card-flip .8s cubic-bezier(.34,1.56,.64,1) forwards;backface-visibility:hidden;transform-style:preserve-3d;width:100%}.hrd-role-card.good{border-color:var(--dealer-good);box-shadow:0 15px 35px var(--dealer-glow-good)}.hrd-role-card.evil{border-color:var(--dealer-evil);box-shadow:0 15px 35px var(--dealer-glow-evil)}.hrd-role-card.neutral{border-color:var(--dealer-neutral);box-shadow:0 15px 35px var(--dealer-glow-neutral)}.hrd-role-card-header{margin-bottom:1.5rem}.hrd-role-team{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.hrd-role-name{font-size:2.25rem;font-weight:900;margin:.5rem 0}.hrd-role-card.good .hrd-role-name{color:var(--dealer-good)}.hrd-role-card.evil .hrd-role-name{color:var(--dealer-evil)}.hrd-role-card.neutral .hrd-role-name{color:var(--dealer-neutral)}.hrd-role-desc{font-size:.95rem;color:var(--dealer-text-muted);line-height:1.5;margin-bottom:1.5rem}.hrd-secret-box{background:var(--bg-page);border:1px solid var(--dealer-border);border-radius:.75rem;padding:1rem;font-size:.85rem;font-weight:600;color:var(--dealer-text-base);text-align:left}.hrd-complete-screen{text-align:center;animation:scale-in .4s cubic-bezier(.34,1.56,.64,1)}.hrd-complete-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--dealer-good)}.hrd-complete-title{font-size:2rem;font-weight:900;color:var(--dealer-text-base);margin-bottom:1rem}.hrd-complete-desc{color:var(--dealer-text-muted);margin-bottom:2rem}.hrd-role-particle{position:absolute;border-radius:50%;pointer-events:none;animation:particle-travel 1s cubic-bezier(.1,.8,.3,1) forwards;opacity:1}@keyframes ring-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 var(--dealer-glow-neutral)}to{transform:scale(1.03);box-shadow:0 0 20px 8px var(--dealer-glow-neutral)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes particle-travel{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}@keyframes reveal-card-flip{0%{transform:rotateY(-180deg) scale(.8);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}.hrd-epic-secret-box{background:var(--bg-page);border:2px dashed var(--dealer-good);border-radius:1rem;padding:1.5rem 1rem;text-align:center;box-shadow:0 0 15px var(--dealer-glow-good);display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem}.hrd-epic-secret-box.evil{border-color:var(--dealer-evil);box-shadow:0 0 15px var(--dealer-glow-evil)}.hrd-epic-label{font-size:.8rem;font-weight:800;text-transform:uppercase;color:var(--dealer-text-muted);letter-spacing:.1em}.hrd-epic-word{font-size:2rem;font-weight:950;color:var(--dealer-good);letter-spacing:.05em;text-shadow:0 0 10px var(--dealer-good);text-transform:uppercase;animation:hrd-epic-pulse 2s infinite alternate}.hrd-epic-secret-box.evil .hrd-epic-word{color:var(--dealer-evil);text-shadow:0 0 10px var(--dealer-evil)}@keyframes hrd-epic-pulse{0%{transform:scale(1);filter:brightness(1)}to{transform:scale(1.05);filter:brightness(1.2)}}.hrd-role-card.hrd-compact-card{padding:2.5rem 1.5rem;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem}.hrd-role-card.hrd-compact-card .hrd-role-name{margin:0;font-size:2.5rem;letter-spacing:.05em;text-transform:uppercase}
