:root{--lime:var(--aqua);--cream:#f7f5ee}
.admin-dialog{width:min(980px,calc(100vw - 28px));max-height:min(88dvh,980px);overflow:auto;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--cream);padding:clamp(16px,3vw,30px);box-shadow:0 24px 95px #000b}
.admin-dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}
.admin-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.admin-head h2{margin:2px 0;font-size:clamp(26px,4vw,42px)}
.admin-head small{color:var(--lime);font-weight:800;letter-spacing:.12em}
.admin-tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:10px;margin-bottom:15px}
.admin-tabs button{white-space:nowrap;background:var(--panel2);color:var(--cream);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-weight:700}
.admin-tabs button[aria-current=page],.admin-tabs button:hover{background:var(--lime);border-color:var(--lime);color:#191d17}
.admin-content>p,.admin-dialog>p{color:var(--muted)}
.admin-dialog label{display:flex;flex-direction:column;gap:7px;color:var(--cream);font-weight:700;font-size:14px}
.admin-dialog input:not([type=checkbox]):not([type=color]):not([type=file]),.admin-dialog select,.admin-dialog input[type=file]{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--cream);font:inherit}
.admin-dialog input[type=file]{max-width:100%}
.admin-dialog input[type=color]{width:56px;height:40px;background:var(--panel2);padding:3px;border:1px solid var(--line);border-radius:7px}
.admin-dialog button:focus-visible,.admin-dialog input:focus-visible,.admin-dialog select:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.admin-settings,.admin-auth,.admin-upload,.admin-inline{display:flex;flex-direction:column;align-items:flex-start;gap:17px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);margin:12px 0 18px}
.admin-auth{max-width:510px}.admin-auth label{width:100%}
.admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.admin-settings .admin-mode{width:min(390px,100%)}
.admin-settings .admin-check{display:flex;flex-direction:row;align-items:center;gap:10px;cursor:pointer}
.admin-check input{accent-color:var(--lime);width:21px;height:21px}
.admin-inline{flex-direction:row;align-items:end;flex-wrap:wrap}.admin-inline label{flex:1 1 180px}
.admin-upload{flex-direction:row;align-items:end;flex-wrap:wrap}.admin-upload label{flex:1 1 220px}
.admin-upload button{flex:none}
.admin-room{border:1px solid var(--line);border-radius:15px;padding:15px;margin:12px 0;background:var(--panel2)}
.admin-room>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-room>header strong{font-size:24px;color:var(--lime)}
.admin-player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:14px 0}.admin-player-list>div{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;padding:5px;border-radius:9px;background:var(--panel)}
.admin-player-list .btn{padding:6px 8px;font-size:12px}.admin-room-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-room .admin-settings{background:var(--panel);margin-top:20px}
.admin-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:13px;max-height:460px;overflow:auto}
.admin-image{min-width:0;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:7px}
.admin-image img{width:100%;aspect-ratio:4/3;object-fit:contain}.admin-image span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.admin-image .btn{padding:7px}
.admin-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px}.admin-color-grid form{border:1px solid var(--line);padding:10px;border-radius:12px;background:var(--panel2);display:flex;align-items:end;justify-content:space-between;gap:5px}.admin-color-grid .btn{font-size:12px;padding:8px}
#admin-notice{min-height:24px;color:var(--lime);font-weight:700}#admin-notice.admin-error{color:#ff8a8a}
@media(max-width:600px){.admin-player-list,.admin-fields{grid-template-columns:1fr}.admin-room>header{align-items:flex-start;flex-direction:column}.admin-dialog{max-height:94dvh}}
.admin-dialog textarea{width:100%;min-height:140px;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--cream);font:inherit;resize:vertical}
.admin-dialog .admin-content p{line-height:1.5}
.admin-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.admin-game-selection{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:8px 0 18px}
.admin-game-choice{display:grid;place-items:center;min-width:0;min-height:220px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--panel2);cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}
.admin-game-choice:hover,.admin-game-choice:focus-visible{transform:translateY(-4px);border-color:var(--lime);box-shadow:0 12px 30px #0005;outline:2px solid var(--lime);outline-offset:2px}
.admin-game-choice img{display:block;width:min(100%,355px);height:auto;max-height:190px;object-fit:contain;filter:drop-shadow(0 8px 11px #0007)}
.admin-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;margin:18px 0;width:100%}
.admin-emoji-image{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:0;gap:8px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);text-align:center}
.admin-emoji-image img{display:block;width:74px;height:74px;object-fit:contain}
.admin-emoji-image.is-hidden img{opacity:.35;filter:grayscale(1)}
.admin-emoji-image strong{overflow-wrap:anywhere}.admin-emoji-image small{color:var(--muted)}.admin-emoji-image .btn{width:100%;font-size:12px}
@media(max-width:600px){.admin-game-selection{grid-template-columns:1fr}.admin-game-choice{min-height:150px}.admin-game-choice img{max-height:125px}}
.admin-confirm-dialog{width:min(430px,calc(100vw - 32px));border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--cream);padding:24px;box-shadow:0 20px 65px #000b}
.admin-confirm-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.admin-confirm-dialog h2{margin:0 0 10px}.admin-confirm-dialog p{color:var(--muted);line-height:1.5;margin-bottom:20px}
.admin-confirm-dialog .btn{padding:10px 14px;border:1px solid transparent;border-radius:10px;background:var(--lime);color:#172016;font:inherit;font-weight:800;cursor:pointer}
.admin-confirm-dialog .btn.ghost{background:transparent;color:var(--cream);border-color:var(--line)}
.admin-confirm-dialog .btn.danger{background:#944157;color:#fff}
