fieldset{border:0;padding:0;margin:22px 0}
legend{font-size:13px;font-weight:650;color:#c9c6ca;margin-bottom:12px}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.check{position:relative;display:block;margin:0;cursor:pointer}
.check input{position:absolute;opacity:0;width:1px}
.check span{display:block;padding:11px 10px;border:1px solid #303037;border-radius:9px;background:#0e0e11;color:var(--muted);font-size:12px;text-align:center}
.check input:checked+span{border-color:#9b3c34;background:#341b1a;color:#ffb1a8}
.check input:focus+span{outline:2px solid var(--accent)}
fieldset>small{display:block;color:var(--muted);margin-top:10px}
.user-list{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}
.user-list>small{color:var(--muted);font-size:10px;letter-spacing:.12em}
.user-list>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.user-list b{color:var(--accent2);font-size:9px;letter-spacing:.08em}
.user-actions{display:flex;align-items:center;gap:9px}
.reset-password{border:0;background:none;color:#aaa7ad;font-size:10px;text-decoration:underline;cursor:pointer;padding:2px}
.reset-password:hover{color:var(--text)}
.admin-panel{padding:0;overflow:hidden}.admin-panel>summary{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;cursor:pointer;list-style:none}.admin-panel>summary::-webkit-details-marker{display:none}.admin-panel>summary span{display:grid;gap:5px}.admin-panel>summary small{color:var(--accent2);font-size:9px;letter-spacing:.16em}.admin-panel>summary strong{font-size:17px}.admin-panel>summary i{font-style:normal;color:var(--muted);font-size:22px;transition:transform .2s}.admin-panel[open]>summary i{transform:rotate(180deg)}.admin-panel-content{padding:0 25px 25px;border-top:1px solid var(--line)}.admin-panel-content h3{margin-top:24px}
.delete-user{border:0;background:none;color:#e87878;font-size:10px;text-decoration:underline;cursor:pointer;padding:2px}.delete-user:hover{color:#ffaaaa}
.admin-stack{display:grid;gap:14px}.dictionary-content{max-height:72vh;overflow-y:auto}.dictionary-content h3{margin-bottom:15px}.clue-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.clue-fields label{min-width:0}.dictionary-browser{border-top:1px solid var(--line);margin-top:25px;padding-top:12px}#dictionary-list{display:grid;gap:8px}#dictionary-list>small{color:var(--muted);font-size:9px;letter-spacing:.12em}.dictionary-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#101013}.dictionary-row input{min-width:0;padding:9px;font-size:11px}.dictionary-row input[name="word"]{grid-column:1/-1;color:#fff;font-weight:750}.dictionary-row button{grid-column:1/-1;border:0;border-radius:7px;padding:8px;background:#292930;color:#c9c7cb;font-size:10px;font-weight:750;cursor:pointer}.dictionary-row button:hover{background:#3a3a43;color:#fff}
.auto-room-name{margin:8px 0 20px;color:var(--muted);font-size:13px}
.settings-nav-button{border:1px solid #3a3a43;border-radius:9px;padding:9px 12px;background:#202025;color:#ddd;font-size:12px;font-weight:700;cursor:pointer}.settings-nav-button:hover{border-color:var(--accent);color:#fff}.settings-header{padding:55px 0 0}.settings-header h1{font:52px Georgia,serif;margin:10px 0 30px}.settings-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line)}.settings-tabs button{border:0;border-bottom:2px solid transparent;padding:14px 24px;background:none;color:var(--muted);font-weight:800;cursor:pointer}.settings-tabs button.active{border-color:var(--accent);color:#fff}.settings-workspace{padding:30px 0 60px}.settings-users-grid,.settings-dictionary-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:24px;align-items:start}.settings-form h2,.settings-list h2,.dictionary-workspace h2{font:30px Georgia,serif;margin:8px 0 24px}.settings-list{min-height:400px}.settings-workspace .user-list>div{padding:15px 5px;font-size:14px}.settings-workspace .user-actions{gap:15px}.dictionary-workspace{min-width:0;padding:28px}.dictionary-toolbar{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:22px}.dictionary-toolbar h2{margin-bottom:0}.dictionary-toolbar label{width:240px;margin:0}.dictionary-columns{display:grid;grid-template-columns:1.3fr 1fr 1fr 80px;gap:9px;padding:0 11px 8px;color:#777780;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.settings-workspace #dictionary-list{max-height:62vh;overflow-y:auto;padding-right:5px}.settings-workspace .dictionary-row{grid-template-columns:1.3fr 1fr 1fr 80px;align-items:center;padding:8px}.settings-workspace .dictionary-row input[name="word"]{grid-column:auto}.settings-workspace .dictionary-row button{grid-column:auto;height:37px}.settings-workspace .clue-fields{grid-template-columns:1fr}.settings-workspace .dictionary-content{max-height:none}@media(max-width:900px){.settings-users-grid,.settings-dictionary-grid{grid-template-columns:1fr}.dictionary-columns{display:none}.settings-workspace .dictionary-row{grid-template-columns:1fr 1fr}.settings-workspace .dictionary-row input[name="word"]{grid-column:1/-1}.settings-workspace .dictionary-row button{grid-column:1/-1}.dictionary-toolbar{align-items:stretch;flex-direction:column}.dictionary-toolbar label{width:100%}}@media(max-width:600px){.settings-nav-button{font-size:0}.settings-nav-button:first-letter{font-size:15px}.settings-header h1{font-size:40px}.settings-workspace .dictionary-row{grid-template-columns:1fr}.settings-workspace .dictionary-row input,.settings-workspace .dictionary-row input[name="word"],.settings-workspace .dictionary-row button{grid-column:1}.settings-tabs button{flex:1}}
.room-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.room-actions .danger-link{margin:0}.delete-room-button{margin-left:auto;border:1px solid #653538;border-radius:8px;padding:8px 11px;background:#241517;color:#d97a7f;font-size:11px;cursor:pointer}.delete-room-button:hover{background:#8f2930;color:#fff;border-color:#b5363e}
.word-reveal.role-player{display:block;text-align:center}
.word-reveal.role-player strong{overflow-wrap:anywhere}
.word-reveal.role-impostor{border-color:#72342e}
.vote-button{width:100%;border:0;border-radius:11px;padding:14px;margin-bottom:24px;background:linear-gradient(135deg,#2388dc,#175ea8);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 10px 25px #248fe033}
.vote-button:disabled{background:#252a31;color:#82909d;box-shadow:none;cursor:default}
.players .section-title{margin-bottom:8px}
.vote-player{grid-template-columns:36px 10px minmax(0,1fr) auto;gap:9px}
.vote-player .avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#29292f;color:#aaa7ad}
.vote-player>strong{transition:color .3s,text-shadow .3s}
.vote-player>strong.has-voted{color:var(--player-color);text-shadow:0 0 16px color-mix(in srgb,var(--player-color) 40%,transparent)}
.identity-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--dot);box-shadow:0 0 7px color-mix(in srgb,var(--dot) 60%,transparent)}
.identity-dot{width:10px;height:10px}
.vote-dialog{width:min(470px,92vw)}
.vote-dialog h2{font:32px Georgia,serif;margin:12px 0 5px}
.vote-dialog p{color:var(--muted);margin-bottom:24px}
.vote-options{display:grid;gap:9px;max-height:55vh;overflow:auto}
.vote-option{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;width:100%;border:1px solid var(--line);border-radius:11px;padding:14px;background:#101013;color:var(--text);text-align:left;cursor:pointer}
.vote-option:hover{border-color:#248fe0;background:#171e27}
.vote-option i{width:11px;height:11px;border-radius:50%;background:var(--dot)}
.vote-option b{font-size:10px;color:#55aff5;text-transform:uppercase;letter-spacing:.08em}
.result-overlay{position:fixed;inset:0;z-index:50;display:grid;place-content:center;text-align:center;overflow:hidden;color:white;background:rgba(2,8,18,.94);backdrop-filter:blur(12px)}
.result-overlay.defeat{background:rgba(23,2,4,.95)}
.result-overlay .result-burst{position:absolute;left:50%;top:50%;width:120px;height:120px;border-radius:50%;transform:translate(-50%,-50%);background:#168df0;box-shadow:0 0 80px 30px #168df088,0 0 220px 110px #075ba955}
.result-overlay.defeat .result-burst{background:#e52e3e;box-shadow:0 0 80px 30px #e52e3e88,0 0 220px 110px #8d101d55}
.result-overlay>*:not(.result-burst){position:relative;z-index:1}
.result-overlay>span{font-size:clamp(58px,12vw,140px);font-weight:950;letter-spacing:.06em;line-height:1;text-shadow:0 0 45px #269fff}
.result-overlay.defeat>span{text-shadow:0 0 45px #ff3849}
.result-overlay>strong{font:clamp(24px,4vw,48px) Georgia,serif;margin-top:25px}
.result-overlay>p{font-size:17px;opacity:.75}
.result-votes{position:relative;z-index:2;width:min(520px,88vw);margin:18px auto 0;padding:18px 22px;border:1px solid #ffffff2b;border-radius:15px;background:#05080d70;backdrop-filter:blur(10px)}
.result-votes>small{display:block;margin-bottom:11px;font-size:9px;letter-spacing:.18em;opacity:.65}
.result-vote-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:8px 0;border-top:1px solid #ffffff17;text-align:left}
.result-player{display:grid!important;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:9px;min-width:0}.result-player>strong{display:block;font:600 13px Inter,ui-sans-serif,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-identity-dot{grid-column:1!important;flex:none!important;margin:0!important}
.result-received{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:6px}.result-received .no-votes{color:#92929a;font-size:10px;opacity:1;font-weight:500}
.result-vote-row i{display:block;width:12px;height:12px;border-radius:50%;background:var(--dot);box-shadow:0 0 9px color-mix(in srgb,var(--dot) 75%,transparent)}
.result-replay{position:relative;z-index:2;justify-self:center;margin-top:25px;border:1px solid #ffffff88;border-radius:11px;padding:14px 28px;background:#ffffff18;color:#fff;font-weight:850;cursor:pointer;backdrop-filter:blur(8px)}
.result-replay:hover{background:#fff;color:#10233b}
.result-overlay.result-waiting{background:rgba(8,9,12,.97)}.result-waiting .waiting-result-icon{position:relative;z-index:2;display:grid;place-items:center;width:120px;height:120px;margin:0 auto 28px;border:1px solid var(--accent);border-radius:50%;box-shadow:0 0 0 15px #e9413210,0 0 0 30px #e9413208;font:48px Georgia,serif}.result-waiting>strong{font:clamp(25px,4vw,44px) Georgia,serif}.result-waiting>p{color:var(--muted)}
.result-overlay.animate{animation:result-in 1s ease both}
.result-overlay.animate .result-burst{animation:burst-in 1.2s cubic-bezier(.16,1,.3,1) both}
.result-overlay.animate>span{animation:title-in 1s .35s cubic-bezier(.16,1,.3,1) both}
.result-overlay.animate>strong,.result-overlay.animate>p{animation:title-in .8s 1s ease both}
.result-overlay.animate .result-votes,.result-overlay.animate .result-replay{animation:title-in .8s 1.25s ease both}
@keyframes result-in{from{opacity:0}to{opacity:1}}
@keyframes burst-in{from{transform:translate(-50%,-50%) scale(.05);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
@keyframes title-in{from{transform:scale(.65);opacity:0;filter:blur(15px)}to{transform:scale(1);opacity:1;filter:blur(0)}}
@media(max-width:520px){.vote-player{grid-template-columns:34px 9px minmax(0,1fr) auto}.result-overlay{overflow-y:auto;padding:35px 0}.result-overlay>span{font-size:54px}.result-votes{padding:14px 16px}.result-vote-row{padding:7px 0}}
