:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;background-color:#f4f5fb;color:#1f1f24;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f7f8ff,#eef0fb)}a{color:inherit;text-decoration:none}button{font:inherit}.app{max-width:1120px;margin:0 auto;padding:32px 24px 64px;display:flex;flex-direction:column;gap:16px;min-height:100vh;transition:padding-left .3s ease}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.app-header h1{margin:0;font-size:1.75rem;letter-spacing:-.01em}.connection{font-size:.875rem;padding:6px 12px;border-radius:999px;background:#e8e9f6;color:#3d3f76;text-transform:capitalize}.connection.connected{background:#d8f5dc;color:#0c7a1e}.connection.disconnected,.connection.error{background:#fde2e1;color:#a91919}.panel{background:#fff;border-radius:20px;box-shadow:0 20px 40px -24px #26367359;padding:24px;display:flex;flex-direction:column;gap:24px}.panel-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}.panel-header h2{margin:0}.header-actions{display:flex;gap:12px}.section{display:flex;flex-direction:column;gap:12px}.section h3{margin:0;font-size:1.125rem}.section-helper{margin:0;font-size:.9rem;color:#5c5f7c}.button-row{display:flex;gap:12px}input[type=text],input[type=number]{padding:12px;border-radius:12px;border:1px solid #d6d8eb;background:#f8f9ff;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}input[type=text]:focus,input[type=number]:focus{border-color:#6875f5;box-shadow:0 0 0 3px #6875f533;outline:none}button{border-radius:12px;border:none;padding:12px 18px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}button:not(:disabled):active{transform:translateY(1px)}.primary{background:linear-gradient(135deg,#636bff,#874bff);color:#fff;box-shadow:0 12px 24px -12px #4353ffa6}.secondary{background:#eef0ff;color:#3a3d87}.ghost{background:transparent;color:#5b60a8;border:1px solid rgba(91,96,168,.3)}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:#ecedf7;color:#4f5486}.tag.host{background:#ffe9d6;color:#b25200}.tag.you{background:#e5ecff;color:#2741db}.tag.success{background:#ddf9e4;color:#137333}.tag.warning{background:#fff4d6;color:#916200}.tag.info{background:#e9f1ff;color:#2a57b7}.tag.muted{background:#f0f1f6;color:#888ba9}.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.player-card{border:1px solid #eceffe;border-radius:16px;padding:14px;background:#fafbff;display:flex;flex-direction:column;gap:8px}.player-name{font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.player-status{display:flex;flex-wrap:wrap;gap:6px}.upload-section .upload-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.file-input{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:linear-gradient(135deg,#ffa6d1,#ff7f7a);color:#fff;font-weight:600;padding:12px 18px;border-radius:12px}.file-input input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.host-controls .mode-selector{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border:1px solid #ebeefc;border-radius:14px;background:#f8f9ff}.host-controls label{display:flex;align-items:center;gap:10px;font-size:.95rem}.warning-text{font-size:.9rem;color:#9c5400}.assigned-video{display:flex;flex-direction:column;gap:12px}.assigned-video video{width:100%;border-radius:18px;background:#000;max-height:420px}.video-meta{display:flex;flex-direction:column;gap:4px}.muted-text{color:#6c6f8f;font-size:.9rem}.recorder{border:1px dashed #c8ccf7;border-radius:16px;padding:20px;background:#f8f9ff}.recorder-controls{display:flex;flex-wrap:wrap;gap:12px}.recorder-status{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.audio-preview{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.audio-preview audio{flex:1 1 240px}.review-card{border:1px solid #eceefe;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;background:#fafbff}.review-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.review-media{display:grid;gap:12px}.review-media video{width:100%;max-height:360px;border-radius:16px;background:#000}.review-media audio{width:100%}.review-rating{display:flex;flex-direction:column;gap:6px}.review-rating input[type=range]{width:100%}.review-layout{display:flex;gap:24px;align-items:flex-start}.review-main{flex:1 1 auto;display:flex;flex-direction:column;gap:24px}.review-sidebar{flex:0 0 220px;display:flex;flex-direction:column;gap:16px;border:1px solid #eceefe;border-radius:16px;padding:16px;background:#f6f7ff}.vote-group{display:flex;flex-direction:column;gap:8px}.vote-group+.vote-group{border-top:1px solid #dde0f6;padding-top:12px}.vote-group-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.95rem}.vote-count{font-size:.85rem;padding:2px 8px;border-radius:999px;background:#e6e9ff;color:#27316f}.vote-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.vote-item{display:flex;align-items:center;gap:8px;font-size:.95rem}.vote-item.offline{opacity:.6}.vote-dot{width:10px;height:10px;border-radius:50%;background:#cbd0f7;flex-shrink:0}.vote-dot.pending{background:#f2a65e}.vote-dot.done{background:#4caf72}.vote-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.small-text{font-size:.85rem}.scoreboard{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.scoreboard li{display:grid;grid-template-columns:40px 1fr 80px 80px;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:#f8f9ff;border:1px solid #eceefe}.scoreboard li.you{border-color:#636bff;background:#eef0ff}.scoreboard .rank{font-weight:700;font-size:1.1rem}.scoreboard .score{justify-self:end;font-weight:600}.scoreboard .votes{justify-self:end;font-size:.85rem;color:#64678a}.app-footer{display:flex;flex-direction:column;gap:8px}.alert{border-radius:16px;padding:12px 18px;font-size:.95rem;display:flex;align-items:center;gap:12px;box-shadow:0 12px 28px -20px #00000073}.alert.info{background:#eaf2ff;color:#2d52a6}.alert.error{background:#ffe9e7;color:#b3261e}.game-drawer{position:fixed;top:0;left:0;height:100vh;width:0;pointer-events:none;z-index:1000}.game-drawer-hover-zone{position:fixed;top:0;left:0;width:24px;height:100vh;pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;background:transparent;z-index:1001}.game-drawer-hover-zone:focus-visible{outline:2px solid #636bff;outline-offset:-4px}.game-drawer-handle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:56px;border-radius:0 16px 16px 0;background:#181c36c7;border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 28px -18px #0b0d1ccc;transition:transform .3s ease,background .3s ease,box-shadow .3s ease}.game-drawer-hover-zone:hover .game-drawer-handle,.game-drawer-hover-zone:focus-visible .game-drawer-handle,.game-drawer-hover-zone.open .game-drawer-handle,.game-drawer-hover-zone.pinned .game-drawer-handle{background:#181c36eb;box-shadow:0 20px 36px -18px #0b0d1ce6;transform:translate(0)}.game-drawer-icon{width:10px;height:10px;color:#f5f7ff;transition:transform .3s ease}.game-drawer-hover-zone.open .game-drawer-icon,.game-drawer-hover-zone.pinned .game-drawer-icon{transform:rotate(180deg)}.game-drawer-panel{position:fixed;top:0;left:0;height:100vh;width:280px;background:linear-gradient(180deg,#181c31,#1f2742);color:#f5f7ff;transform:translate(-100%);transition:transform .3s ease,opacity .3s ease;opacity:0;display:flex;flex-direction:column;gap:24px;padding:32px 24px;pointer-events:auto;box-shadow:0 28px 64px -40px #0a0c1acc}.game-drawer.open .game-drawer-panel{transform:translate(0);opacity:1}.game-drawer.pinned .game-drawer-panel{box-shadow:0 32px 80px -40px #0a0c1ae6}.game-drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.game-drawer-heading{display:flex;flex-direction:column;gap:6px}.game-drawer-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#f5f7ff99}.game-drawer-title{margin:0;font-size:1.4rem;letter-spacing:-.01em}.game-drawer-tagline{margin:0;font-size:.85rem;color:#f5f7ffb3}.game-drawer-pin{appearance:none;background:#ffffff1a;color:#f5f7ff;padding:6px 12px;border-radius:999px;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:background .2s ease,transform .2s ease}.game-drawer-pin:hover{background:#fff3}.game-drawer-list{display:flex;flex-direction:column;gap:12px;margin:0}.game-link{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:none;background:#ffffff14;padding:14px 16px;border-radius:16px;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;position:relative;color:inherit}.game-link:hover,.game-link:focus-visible{background:#ffffff29;transform:translate(6px);box-shadow:0 12px 24px -18px #0b0d1cb3;outline:none}.game-link.active{background:#ffffff42;box-shadow:0 18px 32px -18px #0b0d1aa6}.game-link-text{display:flex;flex-direction:column;gap:4px}.game-link-name{font-weight:600;font-size:1rem}.game-link-tagline{font-size:.85rem;color:#f5f7ffbf}.game-link-badge{font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:999px;background:#ffffff2e;color:#f5f7ff;margin-left:auto}.app.app-drawer-open{padding-left:24px}.app.app-drawer-pinned{padding-left:280px}@media (max-width: 720px){.app{padding:24px 16px 48px}.panel{padding:20px}.review-layout{flex-direction:column}.review-sidebar{width:100%}.scoreboard li{grid-template-columns:36px 1fr 60px;grid-template-areas:"rank name score" ". votes votes"}.scoreboard .votes{grid-area:votes;justify-self:start}.header-actions{width:100%;justify-content:flex-end}.game-drawer-panel{width:240px;padding:24px 20px}.game-drawer-hover-zone{width:20px}.game-drawer-handle{width:16px;height:48px}.app.app-drawer-open{padding-left:16px}.app.app-drawer-pinned{padding-left:240px}}
