*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{color:#e8e8e8;background:#000;font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default}.player-shell{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#000;position:relative;overflow:hidden}.player-shell--page,.player-shell--playback{align-items:stretch;justify-content:stretch}.playback-viewport{position:relative;width:100%;height:100%;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}.playback-stage{position:relative;flex-shrink:0;overflow:hidden}.playback-region{position:absolute;overflow:hidden;background:#000}.region-slot{position:absolute;inset:0;opacity:0;pointer-events:none;z-index:1}.region-slot.is-visible{opacity:1;pointer-events:auto;z-index:2}.region-slot.is-preload{opacity:0;pointer-events:none;z-index:1}.region-layer__media{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center center;background:transparent;border:0}.region-layer__frame{pointer-events:none;background:#000}.onboarding{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:40rem;padding:2rem;text-align:center;-webkit-user-select:text;user-select:text}.onboarding__title{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500;color:#c8c8c8}.onboarding__code{margin:.5rem 0;padding:0;border:0;background:transparent;font:inherit;font-size:clamp(3.5rem,12vw,7rem);font-weight:600;letter-spacing:.28em;line-height:1;color:#fff;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:text;user-select:text}.onboarding__code:focus-visible{outline:1px solid #666;outline-offset:8px}.onboarding__action{margin-top:-.25rem;font-size:.95rem;color:#9a9a9a;-webkit-user-select:text;user-select:text}.onboarding__hint{font-size:1rem;color:#777;-webkit-user-select:text;user-select:text}.player-overlay{position:absolute;inset:0;z-index:1000;display:flex;align-items:stretch;justify-content:flex-start;pointer-events:auto}.player-overlay__scrim{position:absolute;inset:0;border:0;padding:0;margin:0;background:#0000008c;cursor:pointer;animation:overlay-fade .16s ease-out}.player-overlay__shell{position:relative;z-index:1;display:flex;width:min(920px,92vw);height:100%;background:linear-gradient(180deg,#121214f5,#0a0a0cfa);border-right:1px solid rgba(255,255,255,.06);box-shadow:12px 0 48px #00000073;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:overlay-slide .2s ease-out;-webkit-user-select:text;user-select:text}.player-overlay__nav{display:flex;flex-direction:column;width:220px;flex-shrink:0;padding:1.5rem .85rem 1rem;border-right:1px solid rgba(255,255,255,.06);background:#00000040}.player-overlay__brand{display:flex;flex-direction:column;gap:.2rem;padding:0 .65rem 1.25rem}.player-overlay__brand-name{font-size:1.05rem;font-weight:600;color:#f0f0f0;letter-spacing:.01em}.player-overlay__brand-meta{font-size:.8rem;color:#777}.player-overlay__menu{list-style:none;display:flex;flex-direction:column;gap:.25rem;flex:1}.player-overlay__item{width:100%;text-align:left;border:0;border-radius:8px;padding:.7rem .85rem;background:transparent;color:#b5b5b5;font:inherit;font-size:.95rem;cursor:pointer;transition:background .12s ease,color .12s ease}.player-overlay__item:hover{background:#ffffff0d;color:#eee}.player-overlay__item--active{background:#ffffff17;color:#fff}.player-overlay__close{border:0;border-radius:8px;padding:.65rem .85rem;background:transparent;color:#777;font:inherit;font-size:.85rem;cursor:pointer;text-align:left}.player-overlay__close:hover{color:#ccc;background:#ffffff0a}.player-overlay__content{flex:1;min-width:0;overflow:auto;padding:1.75rem 1.75rem 2rem}.overlay-panel__title{font-size:1.35rem;font-weight:600;color:#f2f2f2;margin-bottom:.35rem}.overlay-panel__lead{font-size:.9rem;color:#7a7a7a;margin-bottom:1.35rem}.overlay-diag{display:flex;flex-direction:column;gap:0}.overlay-diag__row{display:grid;grid-template-columns:9.5rem 1fr;gap:.75rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.overlay-diag__row dt{color:#7a7a7a;font-size:.85rem}.overlay-diag__row dd{color:#e6e6e6;font-size:.9rem;word-break:break-all}.overlay-field__label{display:block;margin-bottom:.45rem;font-size:.85rem;color:#8a8a8a}.overlay-field__input{width:100%;box-sizing:border-box;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#00000059;color:#eee;font:inherit;font-size:.95rem}.overlay-field__input:focus{outline:none;border-color:#ffffff47}.overlay-field__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.9rem}.overlay-btn{border:0;border-radius:8px;padding:.6rem .95rem;background:#ffffff1f;color:#f2f2f2;font:inherit;font-size:.9rem;cursor:pointer}.overlay-btn:hover{background:#ffffff2e}.overlay-btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.12);color:#aaa}.overlay-btn--ghost:hover{border-color:#ffffff38;color:#ddd}.overlay-field__error{margin-top:.7rem;color:#c07070;font-size:.9rem}.overlay-field__ok{margin-top:.7rem;color:#6a9a6a;font-size:.9rem}.overlay-files{margin-top:1.25rem}.overlay-files__title{font-size:.95rem;font-weight:500;color:#bbb;margin-bottom:.55rem}.overlay-files__count{color:#666;font-weight:400}.overlay-files__empty{font-size:.9rem;color:#555}.overlay-files__list{list-style:none;display:flex;flex-direction:column;gap:.35rem}.overlay-files__row{display:flex;flex-direction:column;gap:.2rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.overlay-files__name{color:#ddd;font-size:.92rem;word-break:break-all}.overlay-files__meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem;color:#666}.overlay-files__state--ready{color:#6a9a6a}.overlay-files__state--downloading,.overlay-files__state--verifying{color:#a08a4a}.overlay-files__state--backoff,.overlay-files__state--blocked,.overlay-files__state--queued{color:#888}.overlay-files__error{color:#b06060;max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes overlay-slide{0%{transform:translate(-18px);opacity:.85}to{transform:translate(0);opacity:1}}
