:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.player-avatar-circle.inactive{opacity:.45;filter:grayscale(.7);box-shadow:none;border:2px dashed #888}.player-list-horizontal{display:flex;gap:32px;justify-content:center;align-items:flex-end;margin-top:32px;margin-bottom:24px}.player-avatar-block{display:flex;flex-direction:column;align-items:center;min-width:80px}.player-avatar-circle{width:64px;height:64px;border-radius:50%;background:#353535;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 2px 12px #18181899;overflow:hidden;transition:box-shadow .2s,background .2s}.player-avatar-img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:#242424}.player-avatar-initial{font-size:2.2rem;font-weight:700;color:#fafafa;text-shadow:0 2px 8px #181818}.player-avatar-name{margin-top:8px;font-size:1.05rem;color:#e2e6f3;text-align:center;font-weight:500;letter-spacing:.01em}.add-player-btn{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 2px 12px #18181899;border:2px solid #8b5a3c;background:none;color:#fafafa;font-weight:700;cursor:pointer;transition:border .2s,box-shadow .2s}.add-player-btn:hover{border-color:#a0654a;box-shadow:0 10px 30px #8b5a3c4d}.add-player-plus{font-size:2.2rem;color:#fafafa;font-weight:700;margin-bottom:6px}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;max-width:1200px;margin:0 auto}.game-selection-root{min-height:100vh;width:100vw;background:#242424;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto}.game-card{background:linear-gradient(135deg,#242424,#181818);border-radius:18px;box-shadow:0 4px 32px #00000073;width:260px;height:260px;min-width:260px;min-height:260px;max-width:260px;max-height:260px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .2s,border .2s;box-sizing:border-box;border:2px solid #8b5a3c}.game-card:hover{border-color:#a0654a;box-shadow:0 10px 30px #8b5a3c4d}.game-card-title{font-size:32px;font-weight:700;margin-bottom:12px;color:#fafafa;text-shadow:0 2px 8px #181818}.game-card-desc{font-size:18px;color:#bdbdbd;margin-bottom:18px;text-align:center;flex:1;padding:0 8px}.game-card-play{padding:8px 24px;font-size:17px;border-radius:8px;color:#fafafa;border:none;font-weight:600;cursor:pointer;margin-bottom:8px;background:linear-gradient(90deg,#353535,#4f5fff);box-shadow:0 2px 8px #18181833;transition:background .2s,box-shadow .2s}.game-card-play:hover{background:linear-gradient(90deg,#4f5fff,#353535);box-shadow:0 4px 16px #4f5fff33}.game-title{font-size:32px;font-weight:700;margin-bottom:15px;color:#e8e8e8}.game-title.number{font-size:48px}.game-description{color:#b0b0b0;line-height:1.6;margin-bottom:25px;font-size:16px}.play-button{background:linear-gradient(45deg,#5d4037,#6d4c41);border:none;color:#c8b8a8;padding:12px 30px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.play-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #5d403766}.killer-variant-modal{position:fixed;inset:0;z-index:1000;background:#141414d9;display:flex;align-items:center;justify-content:center}.killer-variant-modal .killer-variant-content{background:#222;border-radius:16px;padding:2rem 2.5rem;box-shadow:0 4px 32px #00000080;text-align:center;min-width:320px}.killer-variant-modal .killer-variant-content h2{color:#fff;margin-bottom:1.5rem}.killer-variant-modal .killer-variant-content button{margin:0 1rem;padding:.75rem 2rem;font-size:1.2rem;border-radius:8px;border:none;background:#444;color:#fff;cursor:pointer;transition:background .2s}.killer-variant-modal .killer-variant-content button:hover{background:#666}.add-player-modal-btn-row{display:flex;gap:.5rem;margin-top:.5rem;justify-content:flex-end}.modal-btn{padding:.45rem 1rem;font-size:.98rem;border-radius:.5rem;font-weight:500;border:none;background:linear-gradient(90deg,#353535,#4f5fff);color:#fafafa;cursor:pointer;transition:background .2s}.modal-btn.delete-player-btn{background:#e74c3c;color:#fff}.add-player-modal-root{position:fixed;inset:0;background:#242424f2;display:flex;align-items:center;justify-content:center;z-index:1000}.add-player-modal-content{background:linear-gradient(135deg,#242424,#181818);padding:2.5rem 2rem 2rem;border-radius:1.2rem;box-shadow:0 4px 32px #000000a6;min-width:340px;color:#e2e6f3;font-family:Inter,Segoe UI,Arial,sans-serif;position:relative}.add-player-modal-content h2{margin-top:0;font-size:2rem;font-weight:700;letter-spacing:.02em;color:#fafafa;text-shadow:0 2px 8px #181818}.add-player-modal-content form{display:flex;flex-direction:column;gap:1.2rem}.add-player-modal-content input[type=text]{background:#242424;color:#e2e6f3;border:1.5px solid #353535;border-radius:.6rem;padding:.7rem 1rem;font-size:1.1rem;outline:none;transition:border .2s}.add-player-modal-content input[type=text]:focus{border-color:#4f5fff}.colour-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.colour-swatch{width:32px;height:32px;border-radius:50%;border:2px solid #353535;cursor:pointer;transition:border .2s,box-shadow .2s;box-shadow:0 2px 8px #00000047}.colour-swatch.selected{border:2.5px solid #4f5fff;box-shadow:0 0 0 2px #4f5fff44}.avatar-section{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.avatar-section img{box-shadow:0 2px 8px #181818;border:2px solid #353535}.add-player-modal-content button{background:linear-gradient(90deg,#4f5fff,#353535);color:#fafafa;border:none;border-radius:.7rem;padding:.7rem 1.2rem;font-size:1.08rem;font-weight:600;cursor:pointer;margin-top:.2rem;box-shadow:0 2px 8px #18181833;transition:background .2s,box-shadow .2s}.add-player-modal-content button[type=button]{background:linear-gradient(90deg,#242424,#353535);color:#e2e6f3;border:1.5px solid #353535;margin-left:.5rem}.add-player-modal-content button:hover{background:linear-gradient(90deg,#353535,#4f5fff);box-shadow:0 4px 16px #4f5fff33}.camera-modal-root{position:fixed;inset:0;background:#0000008c;z-index:9999;display:flex;align-items:center;justify-content:center}.camera-modal-content{background:#222;border-radius:16px;padding:32px 32px 24px;box-shadow:0 4px 32px #00000073;min-width:340px;color:#fff;display:flex;flex-direction:column;align-items:center}.camera-modal-content h2{margin-bottom:18px;font-size:1.3rem;font-weight:600}.camera-modal-content button{background:#353535;color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:1rem;margin-right:8px;cursor:pointer;transition:background .2s}.camera-modal-content button:hover{background:#444}.killer-avatar-border{filter:drop-shadow(0 0 8px var(--killer-colour))}.active-player-banner{color:#fff;box-shadow:0 2px 12px #0000001f;display:flex;flex-direction:column;align-items:flex-start;padding:0;z-index:200}.active-player-initial{color:#fff;font-weight:700;font-size:22px}.active-player-row.active .active-player-initial{font-size:28px}.scoreboard-glass{display:flex;align-items:center;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;padding:8px 15px;box-shadow:0 2px 15px #0006;border-left:6px solid transparent;transition:border-color .3s ease;margin-bottom:20px}.scoreboard-glass.active{border-color:red}.scoreboard-glass.active .avatar{border-color:red;box-shadow:0 0 8px 4px red;border-width:2px}.scoreboard-glass .avatar{width:50px;height:50px;background:#222;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:10px;font-weight:700;border:2px solid #444;transition:filter .2s,opacity .2s,box-shadow .3s;position:relative}.scoreboard-glass .avatar.eliminated{filter:grayscale(1) brightness(.5);opacity:.5}.scoreboard-glass .player-info{flex:1}.scoreboard-glass .player-info .name{font-size:1.1em;margin-bottom:3px;transition:filter .2s,opacity .2s}.scoreboard-glass .player-info .points{font-size:1.6em;font-weight:700;transition:filter .2s,opacity .2s}.scoreboard-glass .player-info.eliminated .name,.scoreboard-glass .player-info.eliminated .points{filter:grayscale(1) brightness(.5);opacity:.5}.scoreboard-glass .lives-hearts{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 0 0 10px}.scoreboard-glass .lives-hearts .heart{font-size:1.5em;color:#c00;opacity:.25;margin:2px 0;transition:opacity .2s;height:22px;line-height:22px}.scoreboard-glass .lives-hearts .heart.filled{opacity:1}.scoreboard-glass .knives-column{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}.scoreboard-glass .knives-column .knife{font-size:1.5em;color:#c00;opacity:.25;margin:2px 0;transition:opacity .2s;height:22px;line-height:22px}.scoreboard-glass .knives-column .knife.filled{opacity:1}.scoreboard-glass .dart-scores{display:flex;gap:4px;margin-left:10px}.scoreboard-glass .dart-scores div{background:#222;padding:3px 5px;border-radius:4px;font-size:.85em;width:15px;transition:filter .2s,opacity .2s}.scoreboard-glass .dart-scores.eliminated div{filter:grayscale(1) brightness(.5);opacity:.5}.scoreboard-glass .dart-scores .no-scores{width:auto}.knockout-status-label{color:#bdbdbd;font-size:1.3em;text-transform:uppercase;text-align:center;opacity:.7;letter-spacing:.1em;margin-top:-18px}.knockout-status{top:16px;right:70px;z-index:101;background:#0009;color:#fafafa;border-radius:10px;box-shadow:0 2px 15px #0006;padding:12px 22px;margin-top:8px;display:flex;align-items:center;transition:background .2s,box-shadow .2s;flex-direction:column}.knockout-status-value{font-weight:700;font-size:4em;letter-spacing:.02em;display:inline-block;text-align:center;transition:color .2s,background .2s}.knockout-status-value.red{color:#ff4f4f}.knockout-status-value.orange{color:#ffb84f}.knockout-status-value.green{color:#27ae60}.game-summary-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000a6;z-index:3000;display:flex;align-items:center;justify-content:center}.game-summary-modal{background:#222;color:#fff;border-radius:18px;box-shadow:0 4px 32px #000a;padding:40px 32px 32px;max-width:480px;width:90vw;min-width:340px;min-height:340px;display:flex;flex-direction:column;align-items:center;position:relative}.winner-section{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}.winner-avatar{width:96px;height:96px;border-radius:50%;background:#353535;box-shadow:0 2px 16px #18181899;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:12px}.winner-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.winner-initial{font-size:3.2rem;font-weight:700;color:#fafafa;text-shadow:0 2px 8px #181818}.winner-name{font-size:2rem;font-weight:600;margin-bottom:4px}.winner-label{font-size:1.2rem;color:gold;font-weight:500;margin-bottom:8px}.stats-section{width:100%;margin-bottom:18px}.stats-title{font-size:1.3rem;font-weight:600;margin-bottom:10px;text-align:left}.stats-table{width:100%;border-collapse:collapse;background:#292929;border-radius:8px;overflow:hidden}.stats-table th,.stats-table td{padding:10px 8px;text-align:left}.stats-table th{background:#333;color:gold;font-weight:600}.stats-table tr:nth-child(2n){background:#252525}.stats-player{display:flex;align-items:center}.stats-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;margin-right:10px;background:#353535}.stats-initial{width:32px;height:32px;border-radius:50%;background:#353535;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;color:#fafafa;margin-right:10px}.stats-name{font-size:1.1rem;font-weight:500}.close-btn{margin-top:18px;padding:8px 24px;font-size:1.1rem;background:gold;color:#222;border:none;border-radius:8px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #18181899;transition:background .2s}.close-btn:hover{background:#ffe066}#root{text-align:center;width:100%;background-color:#242424}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.panelContainer{display:flex;height:100%;max-height:100vh}.middleColumn{flex:1;display:flex;flex-direction:column;min-width:0}.middle-row{flex:1;display:flex;min-height:0}.centerPanel{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}.fullRightPanel{flex-shrink:0}.game-action-buttons{display:flex;flex-direction:column;gap:8px;align-items:flex-end;padding:8px}.panel-action-btn{border:none;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;font-size:22;color:"#222"}.panel-action-btn:disabled{opacity:.5;cursor:not-allowed}
