:root{color-scheme:dark;--bg:#0c1422;--surface:#131f30;--surface-raised:#1a293d;--line:#2b3b50;--text:#edf2f7;--muted:#b0bed0;--teal:#72dfcc;--danger:#ffb6ab;--radius:12px;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.55;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,input,select,summary{touch-action:manipulation}button{cursor:pointer}button,input,select{border:1px solid var(--line);border-radius:8px;min-height:44px}button{padding:9px 15px;font-weight:600}button:disabled,input:disabled,select:disabled{opacity:.48;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}input,select{background:#0e1929;color:var(--text);width:100%;min-width:0;padding:10px 12px}label{display:block;margin-bottom:6px;font-weight:550}form>label{margin-top:18px}h1,h2,p{margin:0}h1{font-size:24px;font-weight:650;line-height:1.35}h2{font-size:17px;font-weight:600}.subtle,.field-help{color:var(--muted)}.field-help{font-size:14px;line-height:1.6;margin-top:9px}.message{overflow-wrap:anywhere;font-size:15px;color:var(--muted)}.message:not(:empty){margin:14px 0}.message.error{color:var(--danger)}.message.success{color:var(--teal)}.primary{background:var(--teal);border-color:var(--teal);color:#08231e}.primary:hover:not(:disabled){background:#95eddd}.quiet{background:var(--surface-raised);color:var(--text)}.quiet:hover:not(:disabled){border-color:#7a91ac}.full-width{width:100%}[hidden]{display:none!important}
.topbar{height:72px;padding:0 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand,.account-bar{display:flex;align-items:center;gap:12px}.brand{font-weight:650;min-width:0}.brand-mark{color:var(--teal);font-size:24px}.brand-detail{font-weight:400;font-size:14px;border-left:1px solid var(--line);padding-left:12px}.account-bar{font-size:14px}main{max-width:1500px;padding:30px 32px 48px;margin:0 auto}.boot-status{text-align:center;padding:60px 0;color:var(--muted)}.auth-card{max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin:5vh auto}.eyebrow{color:var(--teal);font-size:14px;margin-bottom:8px}.auth-card>h1{margin-bottom:12px}.auth-card>p.subtle{margin-bottom:24px}.form-button{margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.section-heading p{margin-top:4px;font-size:14px}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start}.recordings-panel,.player-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;min-width:0}.filters{padding:18px;display:grid;gap:16px;border-bottom:1px solid var(--line)}.list-heading{display:flex;justify-content:space-between;align-items:center;padding:17px 18px 12px;gap:12px}.list-heading>span{font-size:14px}.file-list{list-style:none;margin:0;padding:0 9px 9px;max-height:520px;overflow-y:auto;overscroll-behavior:contain}.file-list>li{margin-bottom:6px}.file-button{display:block;text-align:left;width:100%;padding:12px 10px;border-color:transparent;background:transparent;color:var(--text);font-weight:400}.file-button:hover{background:var(--surface-raised)}.file-button[aria-pressed="true"]{border-color:var(--teal);background:#193b40}.file-time{font-weight:600;display:block;overflow-wrap:anywhere}.file-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-top:4px}.uploading-tag{color:#ffd49a;border:1px solid #7d684d;border-radius:4px;padding:0 5px;font-size:12px}.empty-state{color:var(--muted);padding:20px 18px 28px}.video-stage{position:relative;background:#04080e;aspect-ratio:16/9;display:grid;place-items:center}video{display:block;width:100%;height:100%;max-height:65vh;object-fit:contain}.video-stage>p{position:absolute;pointer-events:none;color:#aab8cb;text-align:center;padding:20px;max-width:100%;font-size:15px}.player-details{padding:20px}.player-details>h2{overflow-wrap:anywhere}.player-details>.subtle{font-size:14px;margin-top:6px;overflow-wrap:anywhere}.play-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:22px}.offset-field{width:176px}.offset-field>label{font-size:13px;font-weight:400;color:var(--muted)}.offset-field>input{padding-top:8px;padding-bottom:8px}.player-details>.field-help{margin-top:20px}
.setup-card{max-width:520px}.setup-qr{display:block;width:240px;max-width:100%;height:auto;border:10px solid white;border-radius:8px;margin:20px auto;background:white}.setup-card details{margin:20px 0}.setup-card summary{cursor:pointer;color:var(--teal)}.secret{display:block;font-family:ui-monospace,monospace;overflow-wrap:anywhere;background:#0e1929;border:1px solid var(--line);border-radius:6px;padding:12px;margin-top:10px;user-select:all}.setup-card h2{margin-top:22px;margin-bottom:12px}.setup-card #setup-account{font-size:14px}.recovery-codes{list-style:none;padding:14px;margin:20px 0;border:1px solid var(--line);border-radius:8px;background:#0e1929;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-family:ui-monospace,monospace}.recovery-codes li{overflow-wrap:anywhere;user-select:all}.recovery-actions{display:flex;gap:12px;flex-wrap:wrap}.completion-note{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--teal)}
@media(max-width:900px){.workspace{grid-template-columns:270px minmax(0,1fr);gap:16px}main{padding:24px 20px 36px}.topbar{padding:0 20px}.player-details{padding:16px}.play-actions{gap:10px}.offset-field{width:100%}}
@media(max-width:680px){.topbar{height:64px;padding:0 16px}.brand-detail{display:none}.account-bar{gap:8px}main{padding:20px 12px 32px}.auth-card{padding:24px 20px;margin:3vh auto}.workspace{grid-template-columns:minmax(0,1fr);gap:16px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.list-heading{padding:12px 14px 10px}.file-list{max-height:225px}.player-panel{grid-row:2}.section-heading{margin-bottom:18px;align-items:start}.section-heading h1{font-size:22px}.section-heading .quiet{flex-shrink:0;padding:9px 12px}.section-heading p{max-width:200px}.video-stage>p{font-size:14px}.play-actions>button{flex:1;white-space:nowrap}.offset-field{width:100%}.recovery-codes{font-size:14px;padding:12px;gap:10px}.account-bar .quiet{padding:8px 11px}}
