@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;800&family=Manrope:wght@400;500;700&display=swap";:root{--bg-0: #050912;--bg-1: #07152a;--bg-2: #0b2034;--panel: rgba(9, 25, 42, .72);--text: #e9f9ff;--muted: #a7c6d6;--accent-cyan: #26deff;--accent-emerald: #3ff0b0;--accent-gold: #f4c866;--danger: #ff6d84;--focus: #7cf5ff}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;font-family:Manrope,sans-serif;color:var(--text);background:radial-gradient(circle at 20% 20%,#0f2c4a 0%,transparent 40%),radial-gradient(circle at 80% 0%,#062235 0%,transparent 34%),linear-gradient(135deg,var(--bg-0),var(--bg-1) 45%,var(--bg-2))}button,input{font:inherit}.app-shell{position:relative;overflow:hidden;min-height:100vh}.bg-layer{position:absolute;inset:0;pointer-events:none}.bg-layer-one{background-image:linear-gradient(rgba(38,222,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(38,222,255,.06) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at center,black 45%,transparent 95%);mask-image:radial-gradient(circle at center,black 45%,transparent 95%)}.bg-layer-two{background:radial-gradient(circle at 30% 70%,rgba(63,240,176,.16),transparent 38%),radial-gradient(circle at 85% 35%,rgba(244,200,102,.14),transparent 34%);animation:drift 14s ease-in-out infinite alternate}@keyframes drift{0%{transform:translateY(-8px)}to{transform:translateY(12px)}}.page-wrap{position:relative;z-index:1;padding:1.5rem;min-height:100vh;display:flex;align-items:center;justify-content:center}.center-panel,.panel{width:min(960px,100%);border-radius:1.1rem;border:1px solid rgba(38,222,255,.24);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 40px #01040873,inset 0 0 0 1px #ffffff08}.center-panel{max-width:540px;padding:2rem}.reveal-up{animation:reveal .42s ease-out}@keyframes reveal{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent-cyan);margin:0 0 .5rem}h1,h2{margin:0;font-family:Orbitron,sans-serif;letter-spacing:.02em}h1{font-size:clamp(1.7rem,4vw,2.4rem)}h2{font-size:1.2rem}.muted-text,.status-text{color:var(--muted)}.status-text{text-align:center}.form-stack,.form-row{display:flex;gap:.7rem}.form-stack{flex-direction:column;margin-top:1rem}.form-row{margin-top:.7rem}.field-label{font-size:.9rem;color:#c8ddeb}.text-input{width:100%;border-radius:.8rem;padding:.72rem .85rem;border:1px solid rgba(38,222,255,.36);color:var(--text);background:#020a128a}.text-input:focus-visible,button:focus-visible,input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.primary-btn,.ghost-btn,.danger-btn{border-radius:.8rem;border:1px solid transparent;cursor:pointer;transition:transform .16s ease,border-color .16s ease,opacity .16s ease}.icon-btn{width:2.45rem;height:2.45rem;display:inline-flex;align-items:center;justify-content:center;padding:0}.icon-btn svg{width:1.15rem;height:1.15rem}.add-btn svg{width:1.42rem;height:1.42rem}.primary-btn{padding:.72rem 1rem;color:#06101e;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-emerald));font-weight:700}.ghost-btn{padding:.65rem .85rem;color:var(--text);border-color:#26deff66;background:#06121f8c}.danger-btn{padding:.4rem .6rem;color:var(--danger);border-color:#ff6d8480;background:#1f080f94}.primary-btn:hover,.ghost-btn:hover,.danger-btn:hover{transform:translateY(-1px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.primary-btn:disabled,.ghost-btn:disabled,.danger-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.error-text{color:#ff93a7;margin:.7rem 0 0}.game-layout{width:min(1200px,100%);display:grid;gap:1rem}.header-panel{width:100%;padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.header-actions{display:flex;align-items:center;gap:.65rem}.header-history-link{text-decoration:none}.header-title-block{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.group-title-row{display:inline-flex;align-items:center;gap:.45rem}.title-rename-btn{width:2.1rem;height:2.1rem;padding:0;color:var(--accent-gold);border-color:#f4c8669e;background:#30210bbf}.title-rename-btn svg{width:1.2rem;height:1.2rem}.title-rename-btn:hover{border-color:#ffdf8ef2;background:#4a3411e6}.title-share-btn{width:2.1rem;height:2.1rem;padding:0;color:var(--accent-cyan);border-color:#26deff9e;background:#09273ac7}.title-share-btn svg{width:1.28rem;height:1.28rem}.title-share-btn:hover{border-color:#7cf5fff2;background:#0a334ceb}.title-share-btn-copied{color:#0a2418;border-color:#5fffb8f2;background:linear-gradient(135deg,#79f6c6,#41dca3)}.copy-feedback{font-size:.8rem;font-weight:700;color:#96f7d0;letter-spacing:.02em}.connection-status{margin:0;display:flex;align-items:center;gap:.45rem;font-size:.92rem;font-weight:700;line-height:1}.connection-status-dot{width:.6rem;height:.6rem;border-radius:999px;flex-shrink:0}.connection-status-connected{color:#96f7d0}.connection-status-connected .connection-status-dot{background:#1fd48f;box-shadow:0 0 .45rem #1fd48fb3}.connection-status-disconnected{color:#ffadb9}.connection-status-disconnected .connection-status-dot{background:#ff5a73;box-shadow:0 0 .45rem #ff5a73a6}.content-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:1rem}.side-panel,.wheel-panel{width:100%;padding:1rem}.side-panel{display:flex;flex-direction:column}.participant-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.manage-participants-btn{padding:.42rem .72rem;font-size:.82rem;min-height:2rem;line-height:1}.toggle-row{margin-top:.85rem;display:flex;align-items:center;gap:.5rem;color:#c4deec}.participant-list{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.55rem}.participant-history-link{margin-top:auto;width:100%;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.participant-item{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:center}.participant-toggle{min-width:6.1rem;border-radius:999px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:.38rem;padding:.33rem .58rem .33rem .42rem;font-size:.78rem;font-weight:700;color:var(--text);transition:transform .16s ease,border-color .16s ease,opacity .16s ease}.participant-toggle:hover{transform:translateY(-1px)}.participant-toggle-icon{width:1.2rem;height:1.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.participant-toggle-icon svg{width:.9rem;height:.9rem}.participant-toggle.present{background:#143f34b8;border-color:#3ff0b099}.participant-toggle.present .participant-toggle-icon{background:var(--accent-emerald);color:#052017}.participant-toggle.absent{background:#3a2f1794;border-color:#f4c86680;color:#f4d8a2}.participant-toggle.absent .participant-toggle-icon{background:#f4c866eb;color:#271906}.participant-name{min-width:0}.participant-meta{min-width:0;display:grid;gap:.2rem}.participant-counter{font-size:.74rem;color:#8eb0c3}.inactive-name{color:#7e96a8;text-decoration:line-through}.modal.participant-modal{width:min(840px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;text-align:left}.participant-add-form{margin-top:.9rem;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(200px,1fr) max-content auto;gap:.5rem;align-items:center}.participant-add-form .add-btn{color:#eaffff;border-color:#06101e59}.participant-add-form .add-btn-glyph{font-size:1.6rem;font-weight:800;line-height:1;color:#00111f;transform:translateY(-1px)}.participant-edit-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem}.participant-edit-item{display:grid;grid-template-columns:minmax(120px,1fr) minmax(220px,1.4fr) max-content auto;gap:.5rem;align-items:center;border:1px solid rgba(38,222,255,.2);border-radius:.7rem;padding:.55rem;background:#05101c94}.participant-edit-name{min-width:0;font-weight:700;color:#d8f5ff}.participant-manager-field{display:inline-flex;align-items:center;gap:.35rem;color:#c4deec;font-size:.86rem;white-space:nowrap}.participant-inline-error{grid-column:1 / -1;margin:.1rem 0 0}.sound-btn{width:2.7rem;height:2.7rem}.wheel-panel{display:grid;place-items:center}.wheel-wrap{position:relative;width:min(520px,96vw);aspect-ratio:1;display:grid;place-items:center}.wheel{width:100%;height:100%;filter:drop-shadow(0 0 16px rgba(38,222,255,.45));transition-property:transform;transition-timing-function:cubic-bezier(.11,.79,.14,1)}.pointer{position:absolute;top:-.8rem;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:26px solid var(--accent-gold);z-index:2;filter:drop-shadow(0 0 12px rgba(244,200,102,.8))}.spin-btn{margin-top:1rem;position:relative;z-index:3}.modal-backdrop{position:fixed;inset:0;background:#02060b9e;display:grid;place-items:center;padding:1rem;z-index:20}.modal{width:min(420px,100%);border-radius:1rem;border:1px solid rgba(244,200,102,.6);background:linear-gradient(180deg,#0b1724f2,#0a121cfa);padding:1.2rem;text-align:center;box-shadow:0 18px 36px #00000080,0 0 22px #f4c86640}.winner-tag{color:var(--accent-gold)}.modal-actions{margin-top:1rem;display:flex;justify-content:center;gap:.7rem}.history-layout{width:min(980px,100%);display:grid;gap:1rem}.history-header{align-items:center}.history-panel{width:100%;padding:1rem}.history-list{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.history-item{border:1px solid rgba(38,222,255,.25);border-radius:.8rem;background:#05101c9e;padding:.8rem .9rem}.history-winner{margin:0;font-weight:700;color:#d8f5ff}.history-timestamp{margin:.45rem 0 0;color:#97b5c6;font-size:.92rem}.history-participants{margin:.45rem 0 0;color:var(--muted)}.history-back-btn{margin-top:0}.link-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;margin-top:.8rem}@media(max-width:960px){.page-wrap{align-items:stretch;padding:1rem}.content-grid{grid-template-columns:1fr}.header-panel{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.participant-add-form,.participant-edit-item{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
