body:has(>#root>.player-page){margin:0;background:var(--cg-background,#0a0d14)}.player-page{box-sizing:border-box;font-family:var(--cg-font,system-ui,sans-serif);color:var(--cg-text,#f5f7fb);width:min(100%,calc((100dvh - 220px)*16/9 + 58px));max-width:1920px;margin:auto;padding:24px 28px}.player-page *{box-sizing:border-box}.player-page header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.player-page header a{font-weight:750;color:var(--cg-text,#f5f7fb);text-decoration:none}.player-page header span,.player-page footer>span,.player-page .player-note{font-size:14px;color:var(--cg-muted,#a8b3c7)}.player-page .screen{position:relative;background:var(--cg-background,#0a0d14);border:1px solid var(--cg-border,#2b3748);border-radius:12px;overflow:hidden;min-height:250px}.player-page canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--cg-background,#0a0d14);outline-offset:-4px}.player-page .player-state{display:flex;align-items:center;gap:12px;padding:16px;border-top:1px solid var(--cg-border,#2b3748);font-size:16px;line-height:1.5}.player-page .playing-dot,.player-page .waiting-dot{width:8px;height:8px;flex-shrink:0;background:var(--cg-success,#6bd6a0);border-radius:50%}.player-page .waiting-dot{background:var(--cg-warning,#ffd166)}.player-page footer{display:flex;gap:20px;justify-content:space-between;align-items:center;margin:24px 0}.player-page footer>div{display:flex;gap:8px;flex-wrap:wrap}.player-page button{min-height:44px;font:inherit;font-size:14px;background:var(--cg-raised,#141b27);border:1px solid var(--cg-control,#64748b);color:var(--cg-text,#f5f7fb);border-radius:8px;padding:10px 16px;cursor:pointer}.player-page footer button:first-child{background:var(--cg-action,#ffb454);border-color:var(--cg-action,#ffb454);color:var(--cg-on-action,#0a0d14)}.player-page button:disabled{opacity:.5;cursor:default}.player-page button:hover:enabled{filter:brightness(1.1)}.player-page button:focus-visible,.player-page a:focus-visible,.player-page canvas:focus-visible{outline:3px solid var(--cg-teal,#65d9c6);outline-offset:3px}.player-page details{font-size:14px;padding:20px;border:1px solid var(--cg-border,#2b3748);border-radius:12px;margin-top:24px}.player-page summary{cursor:pointer;color:var(--cg-muted,#a8b3c7)}.player-page dl{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);gap:12px;color:var(--cg-muted,#a8b3c7)}.player-page dd{margin:0;color:var(--cg-text,#f5f7fb);overflow-wrap:anywhere}.player-page details p,.player-page .player-note{line-height:1.6}.player-page .player-note{max-width:900px;margin-top:24px}.player-page .player-note a{color:var(--cg-action,#ffb454)}.player-page .player-library-link{border:0;background:transparent;padding:8px 0;font-family:var(--cg-heading,system-ui,sans-serif);color:var(--cg-action,#ffb454);font-weight:750}.player-page .player-note .player-library-link{display:block;margin-top:8px}.player-page .deadline-list{display:grid;gap:8px;margin:16px 0}.player-page .deadline-warning{background:#32291a;border:1px solid #887046;border-radius:8px;padding:12px;color:var(--cg-warning,#ffd166);font-size:14px}.player-page .deadline-warning.urgent{background:#36202a;border-color:#94535f;color:var(--cg-danger,#ff8794)}.player-page .deadline-list>small{font-size:12px;color:var(--cg-muted,#a8b3c7)}.player-page .timing-table{overflow-x:auto;margin:16px 0}.player-page .timing-table table{border-collapse:collapse;width:100%;min-width:530px;text-align:left}.player-page .timing-table caption{text-align:left;color:var(--cg-muted,#a8b3c7);margin-bottom:12px}.player-page .timing-table th,.player-page .timing-table td{padding:12px;border-bottom:1px solid var(--cg-border,#2b3748)}.player-page .timing-table th[scope=row]{font-weight:500}.player-page .input-diagnostics{min-width:0;border:1px solid var(--cg-border,#2b3748);border-radius:8px;margin:24px 0;padding:16px}.player-page .input-diagnostics legend{padding:0 8px}.player-page .input-diagnostics label{display:flex;align-items:center;gap:8px}.player-page .input-diagnostics input{accent-color:var(--cg-action,#ffb454)}.player-page:fullscreen{width:100%;max-width:none;height:100%;padding:12px 24px;background:var(--cg-background,#0a0d14);overflow:auto}.player-page:fullscreen header{margin-bottom:12px}.player-page:fullscreen canvas{height:calc(100dvh - 200px);width:100%;object-fit:contain}.player-page:fullscreen details,.player-page:fullscreen>.player-note:last-child{display:none}.rtc-frame-container{width:100%;aspect-ratio:16/9;background:var(--cg-background,#0a0d14)}.selkies-frame{display:block;width:100%;height:100%;border:0}.rtc-frame-container:empty{min-height:250px}.player-page.rtc-page{position:relative;width:100%;max-width:none;height:100dvh;padding:0;overflow:hidden;background:var(--cg-background,#0a0d14)}.rtc-page>.screen{width:100%;height:100%;border:0;border-radius:0;min-height:0}.rtc-page .rtc-frame-container{width:100%;height:100%;aspect-ratio:auto}.rtc-page .rtc-fallback{position:absolute;inset:auto 24px 24px;margin:auto;width:min(640px,calc(100% - 48px));max-height:calc(100% - 48px);overflow:auto;padding:24px;border:1px solid var(--cg-border,#2b3748);border-radius:16px;background:var(--cg-surface,#111722);box-shadow:var(--cg-shadow,0 20px 80px #0006)}.rtc-page .rtc-fallback[hidden]{display:none}.rtc-fallback .player-state{border:0;padding:8px 0}.rtc-fallback .player-note{margin-top:16px}.rtc-fallback header{margin-bottom:12px}.rtc-fallback footer{margin:24px 0 0}.rtc-fallback .deadline-list{margin-bottom:0}@media(max-width:750px){.player-page{padding:16px}.player-page header span{max-width:200px;text-align:right}.player-page footer{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.rtc-page .rtc-fallback{inset:auto 12px 12px;width:calc(100% - 24px);max-height:calc(100% - 24px);padding:20px}}.player-page .player-end-dialog{color:var(--cg-text,#f5f7fb);background:var(--cg-surface,#111722);border:1px solid var(--cg-control,#64748b);border-radius:16px;padding:28px;width:min(480px,calc(100% - 32px));box-shadow:var(--cg-shadow,0 20px 80px #0006)}.player-page .player-end-dialog::backdrop{background:#0a0d14b8}.player-page .player-end-dialog h2{font-family:var(--cg-heading,system-ui,sans-serif);font-size:24px}.player-page .player-end-dialog p{color:var(--cg-muted,#a8b3c7);line-height:1.6}.player-dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.player-page .player-end-confirm{border-color:var(--cg-danger,#ff8794);color:var(--cg-danger,#ff8794)}
