:root{--bg:#0b0d10;--panel:#12161b;--line:#262d35;--text:#f3f6f8;--muted:#8d98a5;--accent:#29d3d0;--accent2:#8c7cff;--warn:#ffc857;--ok:#49d17d;--radius:18px;--shadow:0 18px 60px rgba(0,0,0,.28)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(circle at 15% 0%,#122128 0,transparent 28%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell,.admin-shell{max-width:1600px;margin:auto;padding:18px}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#071113;font-weight:900}.brand strong{display:block;font-size:15px}.brand small{display:block;color:var(--muted);margin-top:2px}.top-actions{display:flex;gap:8px}.review-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr);gap:18px}.viewer-card,.comments-card,.upload-card,.projects-card,.auth-card{background:rgba(18,22,27,.95);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.viewer-card{padding:18px}.comments-card{padding:16px;display:flex;flex-direction:column;max-height:calc(100vh - 116px);position:sticky;top:16px}.project-head,.comments-head,.section-head,.project-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-head h1,.comments-head h2,.section-head h2,.upload-card h1,.auth-card h1{margin:2px 0 0}.eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.status-pill,.version-badge,.count-badge,.timestamp-chip{border:1px solid var(--line);background:#1b2229;color:#c6d0d9;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.status-pill.approved{color:#a7f5c3;border-color:#28583a;background:#10261a}.video-stage{position:relative;margin-top:16px;background:#000;border-radius:16px;overflow:hidden;min-height:320px;display:grid;place-items:center}.video-stage video{display:block;width:100%;height:min(68vh,820px);object-fit:contain;background:#000}.video-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.video-stage canvas.drawing{pointer-events:auto;cursor:crosshair;touch-action:none}.video-error{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:32px;background:rgba(5,8,10,.9);line-height:1.5}.transport{display:grid;grid-template-columns:auto auto auto auto 1fr auto auto;align-items:center;gap:8px;margin-top:12px}.icon-btn,.ghost,.filter,.speed,.button-link{border:1px solid var(--line);background:#171d23;color:#d9e1e7;border-radius:12px;padding:9px 11px;text-decoration:none}.play-btn{width:46px;height:42px;border:0;border-radius:13px;background:var(--accent);color:#061214;font-weight:900}.timecode{font-variant-numeric:tabular-nums;color:#c8d1d9;font-size:13px;white-space:nowrap}.seek{width:100%;accent-color:var(--accent)}.speed{padding:8px}.compat-card{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:center;background:#0f1419}.compat-card small{grid-column:2;color:var(--muted)}.compat-ok{color:var(--ok);font-weight:800}.compat-warn{color:var(--warn);font-weight:800}.composer-card{margin-top:12px;border:1px solid var(--line);border-radius:15px;padding:12px;background:#0f1419}.composer-row,.composer-tools,.filter-row,.export-row,.project-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.composer-row{justify-content:space-between}.composer-card textarea,.composer-card input,.composer-card select,.upload-form input,.auth-card input{width:100%;border:1px solid var(--line);background:#161c22;color:var(--text);border-radius:12px;padding:11px 12px;outline:none}.composer-card textarea{margin-top:10px;resize:vertical;min-height:84px}.composer-tools{margin-top:10px}.composer-tools input{flex:1 1 150px;width:auto}.primary,.approve{border:0;background:var(--accent);color:#061214;font-weight:900;border-radius:12px;padding:10px 14px}.approve{width:100%;background:var(--ok);margin-top:8px}.primary:disabled,.approve:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--muted);font-size:12px}.comments-head{align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.comments-head h2{font-size:18px}.filter-row{margin-top:10px}.filter{font-size:12px;padding:7px 9px}.filter.active{border-color:var(--accent);color:var(--accent)}.comments-list{overflow:auto;padding:10px 2px;min-height:180px;flex:1}.comment-item{padding:12px 10px;border-bottom:1px solid var(--line)}.comment-item.resolved{opacity:.68}.comment-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.time-jump{border:0;background:transparent;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;padding:0}.comment-type{font-size:11px;border-radius:999px;padding:3px 7px;background:#272d34}.comment-type.correction{color:#ff9aa5}.comment-type.suggestion{color:#ffd985}.comment-type.positive{color:#8fe5ae}.comment-status{margin-left:auto;color:var(--muted);font-size:11px}.comment-item p{margin:9px 0;line-height:1.45}.comment-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.comment-item audio{width:100%;height:36px;margin-top:8px}.comment-actions{display:flex;gap:7px;margin-top:8px}.comment-actions .ghost{font-size:11px;padding:6px 8px}.review-actions{border-top:1px solid var(--line);padding-top:10px}.export-row{margin-top:8px}.export-row button{flex:1}.empty{padding:28px;text-align:center;color:var(--muted)}.alert{max-width:900px;margin:0 auto 14px;padding:12px 14px;border-radius:12px;border:1px solid}.alert.error{background:#2c1519;border-color:#6d2d38;color:#ffc0c7}.alert.success{background:#10261a;border-color:#28583a;color:#a7f5c3}.auth-card{max-width:520px;margin:9vh auto;padding:28px}.auth-card p{color:var(--muted);line-height:1.5}.auth-card form,.upload-form{display:grid;gap:13px;margin-top:18px}.auth-card label,.upload-form label{display:grid;gap:7px;color:#cbd4dc;font-size:13px}.admin-grid{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:18px}.upload-card,.projects-card{padding:20px}.hint{border:1px solid #4d4320;background:#211d0e;color:#e9d68e;border-radius:12px;padding:11px;font-size:12px;line-height:1.5}.project-list{display:grid;gap:10px;margin-top:14px}.project-item{border:1px solid var(--line);background:#0f1419;border-radius:14px;padding:14px}.project-main h3{margin:8px 0 4px}.project-main small{color:var(--muted)}.version-badge{padding:4px 8px;color:var(--accent)}.project-links{margin-top:12px}.button-link{display:inline-flex;align-items:center}.project-links .primary{color:#061214}.count-badge{color:var(--accent)}
@media(max-width:1050px){.review-grid,.admin-grid{grid-template-columns:1fr}.comments-card{position:static;max-height:none}.video-stage video{height:62vh}.transport{grid-template-columns:auto auto auto 1fr auto}.timecode,.seek{grid-column:1/-1}}
@media(max-width:640px){.app-shell,.admin-shell{padding:10px}.topbar{height:54px}.brand small{display:none}.viewer-card,.comments-card,.upload-card,.projects-card{border-radius:14px;padding:12px}.project-head{align-items:center}.project-head h1{font-size:20px}.video-stage{margin-left:-12px;margin-right:-12px;border-radius:0;min-height:360px}.video-stage video{height:61vh;max-height:680px}.transport{grid-template-columns:auto auto auto 1fr auto auto}.timecode,.seek{grid-column:1/-1}.transport .icon-btn:last-child{display:none}.compat-card{grid-template-columns:1fr}.compat-card small{grid-column:1}.composer-tools>*{flex:1 1 auto}.composer-tools input{flex-basis:100%}.comments-head{display:block}.comment-meta{display:grid}.project-main{display:grid}.project-links>*{flex:1 1 100%;justify-content:center}}
