*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:14px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}.hidden,[hidden]{display:none!important}
button{color:inherit}.shell{min-height:100vh}.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 22px;background:rgba(9,11,16,.94);position:sticky;top:0;z-index:50}.brand{font-weight:800;font-size:17px;letter-spacing:-.02em}.brand b{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--accent);margin-right:8px}.crumb{color:var(--muted);font-size:12px;flex:1}.top-actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:inherit;min-height:38px;border:1px solid var(--line);background:var(--panel2);border-radius:9px;padding:8px 11px;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover{border-color:var(--line)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}.role-switch{display:flex;padding:3px;background:var(--bg);border:1px solid var(--line);border-radius:10px}.role-switch button{border:0;background:transparent;color:var(--muted);padding:6px 9px;border-radius:7px;cursor:pointer;font-size:12px}.role-switch button.active{background:var(--panel2);color:var(--text)}
.home{min-height:100vh;display:grid;place-items:center;padding:32px}.home-card{width:min(760px,100%);border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,var(--panel),var(--bg));padding:42px;box-shadow:0 30px 90px rgba(0,0,0,.38)}.eyebrow{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.13em}.home h1{font-size:42px;line-height:1.04;margin:12px 0 14px;letter-spacing:-.04em}.home p{color:var(--muted);max-width:610px;font-size:16px}.upload{margin-top:26px;border:1px dashed var(--line);background:var(--panel);border-radius:16px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.upload strong{display:block;font-size:16px}.upload span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:calc(100vh - 64px)}.workspace{padding:22px;min-width:0}.side{border-left:1px solid var(--line);background:var(--bg);padding:16px;overflow:auto;max-height:calc(100vh - 64px);position:sticky;top:64px}.asset-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.asset-head h1{font-size:18px;margin:4px 0 0}.asset-head .meta{font-size:11px;color:var(--muted)}
.player-shell{position:relative;height:calc(100vh - 235px);min-height:440px;max-height:760px;background:var(--bg);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;user-select:none}.player-shell.review-modifier{box-shadow:0 0 0 2px rgb(245 200 76 / .28) inset}.player-shell.review-modifier::after{content:"CTRL · REVIEW MODE";position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:16;background:rgb(245 200 76 / .92);padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.08em;pointer-events:none}.video-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.video-wrap video{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:var(--bg)}.annotation-layer{position:absolute;pointer-events:none;z-index:10;touch-action:none}.annotation-layer.ctrl-active{pointer-events:auto;cursor:crosshair}.annotation-layer.ctrl-active *{cursor:inherit}.annotation-layer .mark-btn,.annotation-layer .popover,.annotation-layer .draft-shape{pointer-events:auto}.gutter{position:absolute;z-index:8;cursor:pointer;background:transparent}.gutter:hover{background:rgba(255,255,255,.018)}
.mark-point{position:absolute;width:24px;height:24px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--text);background:var(--major);box-shadow:0 5px 16px rgba(0,0,0,.5);display:grid;place-items:center;font-size:9px;font-weight:800}.mark-area{position:absolute;border:2px solid var(--major);border-radius:7px;background:rgba(255,161,90,.08)}.mark-area>span{position:absolute;right:-11px;top:-11px}.mark-blocker{border-color:var(--danger)!important}.mark-blocker>span,.mark-point.mark-blocker{background:var(--danger)!important}.mark-suggestion{border-color:var(--muted)!important}.mark-suggestion>span,.mark-point.mark-suggestion{background:var(--muted)!important}.mark-btn.selected{box-shadow:0 0 0 4px rgb(245 200 76 / .35)}
.draft-point{position:absolute;width:26px;height:26px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--text);background:var(--accent);box-shadow:0 0 0 5px rgb(245 200 76 / .22)}.draft-area{position:absolute;border:2px dashed var(--accent);background:rgb(245 200 76 / .12);border-radius:7px}.range-live{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:17;padding:6px 10px;background:rgba(13,16,22,.92);border:1px solid var(--line);border-radius:999px;font-size:10px;pointer-events:none}.range-live b{color:var(--accent)}
.popover{position:absolute;width:292px;transform:translate(-50%,-8px);z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 24px 70px rgba(0,0,0,.5);padding:10px}.quick-types{display:flex;gap:5px}.quick-types button{flex:1;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:7px 5px;cursor:pointer;font-size:10px}.quick-types button.active{border-color:var(--accent);background:var(--panel2)}.popover textarea{width:100%;height:74px;margin-top:8px;resize:none;background:var(--bg);border:1px solid var(--panel2);border-radius:8px;color:var(--text);padding:9px;outline:none}.pop-row{display:flex;align-items:center;gap:6px;margin-top:7px}.pop-row select{flex:1;background:var(--panel);border:1px solid var(--panel2);border-radius:8px;color:var(--text);padding:7px}.range-chip{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 7px;white-space:nowrap}.save{border:0;background:var(--accent);border-radius:8px;padding:8px 11px;font-weight:700;cursor:pointer}.cancel{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:6px}.keyboard-hint{position:absolute;right:12px;bottom:10px;z-index:7;font-size:9px;color:var(--muted);pointer-events:none}.play-flash{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:18;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(9,11,16,.75);font-size:20px;animation:flash .45s ease forwards;pointer-events:none}@keyframes flash{from{opacity:1;scale:.9}to{opacity:0;scale:1.18}}
.timeline-wrap{margin-top:12px}.timeline-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:6px}.timeline{height:20px;position:relative;background:var(--panel);border:1px solid var(--panel2);border-radius:999px;cursor:pointer;overflow:visible}.played{position:absolute;inset:0 auto 0 0;background:var(--panel2);border-radius:999px}.tl-range{position:absolute;top:5px;height:8px;border-radius:999px;background:rgba(255,161,90,.72);min-width:4px;cursor:pointer}.tl-range.blocker{background:rgba(255,100,112,.75)}.tl-range.suggestion{background:rgba(150,158,170,.65)}.tl-dot{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%);background:var(--major);border:2px solid var(--bg);cursor:pointer}.tl-dot.blocker{background:var(--danger)}.tl-dot.suggestion{background:var(--muted)}
.side-head{display:flex;align-items:center;justify-content:space-between;margin:2px 2px 12px}.side-head h2{font-size:16px;margin:3px 0}.count{min-width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:var(--panel);color:var(--text);font-size:11px}.empty{border:1px dashed var(--panel2);border-radius:12px;padding:22px;text-align:center;color:var(--muted);margin-top:16px}.feedback-list{display:grid;gap:9px}.feedback{border:1px solid var(--panel2);background:var(--panel);border-radius:12px;padding:11px}.feedback.selected{border-color:var(--accent)}.feedback.resolved{opacity:.55}.fmeta{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.sev{width:7px;height:7px;border-radius:50%;background:var(--major)}.sev.blocker{background:var(--danger)}.sev.suggestion{background:var(--muted)}.status{margin-left:auto;border:1px solid var(--panel2);padding:2px 5px;border-radius:999px}.feedback p{margin:8px 0;color:var(--text);font-size:12px}.loc{color:var(--muted);font-size:10px}.actions{display:flex;gap:5px;margin-top:9px;flex-wrap:wrap}.small{border:1px solid var(--panel2);background:var(--panel);border-radius:7px;padding:5px 7px;font-size:9px;cursor:pointer}.small.primary{background:var(--panel2);border-color:var(--panel2)}.small.danger{color:var(--text)}.editbox textarea{width:100%;height:74px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px;resize:none}.editrow{display:flex;gap:6px;margin-top:7px}.editrow select{flex:1;background:var(--panel);color:var(--text);border:1px solid var(--panel2);border-radius:7px;padding:6px}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:9px 12px;z-index:100;color:var(--text);transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.layout{grid-template-columns:1fr}.side{position:static;border-left:0;border-top:1px solid var(--line);max-height:none}.player-shell{height:64vh}.topbar{padding:0 12px}.crumb{display:none}}

button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
summary.btn{list-style:none}summary.btn::-webkit-details-marker{display:none}.review-actions-menu,.workspace-row-menu{position:relative}.review-actions-menu>div,.workspace-row-menu>div{position:absolute;right:0;top:calc(100% + 6px);min-width:160px;padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 12px 30px #0007;z-index:60}.review-actions-menu>div .btn,.workspace-row-menu>div .btn{width:100%;white-space:nowrap}
@media(max-width:640px){.home{padding:20px 16px}.home-card{padding:24px}.home h1{font-size:30px}.home p{font-size:14px}.upload{padding:18px;flex-wrap:wrap}.upload strong{overflow-wrap:anywhere}.upload .btn{width:100%}.review-topbar{height:auto;min-height:64px;padding:12px;gap:10px;flex-wrap:wrap}.review-topbar .top-actions{flex:1 1 100%;flex-wrap:wrap;gap:8px}.review-topbar .btn{font-size:12px}.review-topbar .role-pill{margin-right:auto}.review-workspace-v2 .asset-head{align-items:flex-start;flex-direction:column;gap:8px}}
