:root{color-scheme:dark;--bg:#09111e;--panel:#101b2b;--panel2:#0c1726;--line:#203148;--line2:#293d56;--text:#e8eef7;--muted:#8294aa;--blue:#4e9cff;--blue2:#2478e5;--green:#36c996;--amber:#f2b759;--red:#ef7378;--radius:12px;font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:900px}.topbar{height:68px;background:#0c1726;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:5}.brand{display:flex;gap:11px;align-items:center;color:var(--text);text-decoration:none;font-size:15px;line-height:1.1}.brand b{font-weight:700}.brand small{display:block;margin-top:5px;font-size:9px;letter-spacing:1.5px;color:#7487a0}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#65bcff,#2878eb);display:grid;place-items:center;font-weight:800;font-size:18px;color:white;box-shadow:0 5px 18px #2179e544}.top-actions{display:flex;align-items:center;gap:10px}.local-badge{font-size:12px;color:#a7b7ca;margin-right:12px}.local-badge i,.save-indicator i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:6px}.button{border:1px solid transparent;border-radius:8px;padding:9px 13px;background:transparent;color:var(--text);font:600 12px inherit;cursor:pointer;white-space:nowrap;transition:.15s}.button:hover{filter:brightness(1.12);transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-primary{background:var(--blue2);color:white}.button-quiet{border-color:var(--line2);background:#132238}.button-outline{border-color:var(--line2);background:#101d2e}.button-success{background:#147e66;color:white}.button-danger{color:#ff9a9e;background:#281821;border-color:#623342}.upload-button{display:inline-flex;align-items:center}.shell{display:flex;min-height:calc(100vh - 68px)}.sidebar{width:294px;flex:0 0 294px;border-right:1px solid var(--line);background:#0d1725;display:flex;flex-direction:column;min-height:calc(100vh - 68px)}.profile{padding:19px 17px 18px;display:flex;gap:11px;border-bottom:1px solid var(--line)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#a9d4ff;background:#1a3a5d;font-weight:700;flex:none}.profile-fields{min-width:0;flex:1}.profile-fields label{display:block;font-size:11px;font-weight:600;margin-bottom:5px}.name-row{display:flex;gap:5px}.name-row input{min-width:0;flex:1}.profile-fields small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.icon-button{border:1px solid var(--line2);border-radius:7px;background:#16263a;color:#9ed1ff;cursor:pointer;width:30px}.section-title{display:flex;justify-content:space-between;align-items:center;padding:19px 17px 10px;font-size:10px;letter-spacing:1.1px;font-weight:700;color:#90a0b5}.count{font:600 11px inherit;color:#92a6bd;background:#1a2b40;border-radius:20px;padding:3px 7px;margin-left:6px}.filter-row{display:flex;gap:6px;padding:0 12px 10px}.filter-row select{width:50%;font-size:10px;padding:7px 5px}input,select,textarea{background:#0b1523;color:var(--text);border:1px solid #273950;border-radius:7px;padding:9px 10px;font:12px inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#438fe3;box-shadow:0 0 0 2px #347fce22}.video-list{overflow-y:auto;flex:1;padding:0 8px 10px}.video-item{padding:10px 9px;border:1px solid transparent;border-radius:9px;cursor:pointer;display:flex;gap:10px;align-items:center;margin:2px 0}.video-item:hover{background:#132136}.video-item.active{background:#142a43;border-color:#29517c}.file-icon{width:32px;height:32px;flex:none;border-radius:8px;background:#1a2b40;color:#7cbcff;display:grid;place-items:center;font-size:13px}.video-item-main{min-width:0;flex:1}.video-item-name{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-item-sub{display:flex;align-items:center;gap:6px;margin-top:4px;color:#8396ad;font-size:9px}.mini-status{width:6px;height:6px;border-radius:50%;background:#74849a}.mini-status.in_progress{background:var(--blue)}.mini-status.review{background:var(--amber)}.mini-status.done{background:var(--green)}.sidebar-bottom{border-top:1px solid var(--line);padding:13px}.upload-hint{display:flex;gap:9px;align-items:center}.hint-icon{width:29px;height:29px;display:grid;place-items:center;border:1px solid #304969;border-radius:8px;color:#7fbaff}.upload-hint b{font-size:10px;display:block}.upload-hint small,.folder-note{font-size:9px;color:var(--muted);line-height:1.5;display:block;margin-top:3px}.folder-note{margin:10px 0}.folder-note code,.empty-state code{color:#a9c9ee;background:#17273b;border-radius:4px;padding:2px 4px}.full-width{width:100%}.main-area{flex:1;min-width:0;position:relative}.empty-state{max-width:500px;margin:16vh auto 0;text-align:center;color:var(--muted);padding:30px}.empty-icon{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border:1px solid #2c4561;background:#13243a;border-radius:18px;color:#76b9ff;font-size:27px}.empty-state h1{color:#e1eaf5;font-size:22px;margin:0 0 8px}.empty-state p{font-size:13px;line-height:1.7;margin:0 auto 18px;max-width:430px}.empty-foot{display:block;font-size:10px;margin-top:17px}.workspace{padding:22px 25px 18px;max-width:1800px;margin:auto}.video-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.crumb{font-size:9px;letter-spacing:1.2px;color:#7790ac;margin-bottom:6px;font-weight:700}.crumb span{color:#536982}.video-heading h1{font-size:19px;margin:0 0 5px;font-weight:650;max-width:760px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-meta{font-size:10px;color:#8294aa}.dot-sep{margin:0 5px;color:#415872}.heading-actions{display:flex;align-items:center;gap:14px}.save-indicator{font-size:10px;color:#9cb0c7;white-space:nowrap}.save-indicator.saving i{background:var(--amber)}.save-indicator.error{color:#ff9a9e}.save-indicator.error i{background:var(--red)}.content-grid{display:grid;grid-template-columns:minmax(420px,1.7fr) minmax(250px,.8fr);gap:14px;align-items:start}.left-column,.right-column{display:flex;flex-direction:column;gap:13px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.player-panel{padding:13px}.player-top,.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-kicker{display:block;font-size:9px;letter-spacing:1.15px;font-weight:700;color:#8fa4bc}.muted{font-size:10px;color:var(--muted)}.video-stage{position:relative;background:#05080d;border-radius:8px;overflow:hidden;margin-top:10px;aspect-ratio:16/9;max-height:60vh;display:grid;place-items:center}.video-stage video{display:block;width:100%;height:100%;object-fit:contain}.video-stage canvas{position:absolute;width:100%;height:100%;inset:0;cursor:crosshair}.video-stage.playing canvas{cursor:not-allowed}.takeover{position:absolute;inset:0;background:#070d15dc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:#f6d597;text-align:center;z-index:2}.conversion-bar{background:#17263a;border:1px solid #304761;border-radius:8px;padding:11px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.conversion-bar b,.conversion-bar span,.conversion-bar small{display:block}.conversion-bar b{font-size:11px}.conversion-bar span,.conversion-bar small{font-size:9px;color:#96a9bf;margin-top:3px}.player-controls{display:flex;align-items:center;gap:8px;padding-top:11px}.play-button{width:33px;height:33px;border-radius:9px;border:0;background:#1c72d0;color:white;cursor:pointer}.small-control{border:1px solid var(--line2);background:#132238;color:#b4c3d5;border-radius:6px;padding:5px 7px;font-size:9px;cursor:pointer}.timeline-wrap{flex:1;min-width:70px;padding:0 4px}.timeline-wrap input{padding:0;display:block;width:100%;height:4px;accent-color:#4b9bff;border:0;background:#29415d}.time-row{display:flex;justify-content:space-between;font-size:9px;color:#90a3b9;margin-top:5px;font-variant-numeric:tabular-nums}.add-box-button{padding:8px 10px}.keyframe-note{font-size:9px;color:#778ca4;margin:8px 0 0}.panel-heading h2{font-size:13px;margin:4px 0 0;font-weight:650}.box-list,.event-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.annotation-row,.event-row{display:flex;align-items:center;gap:8px;border:1px solid #24374e;background:#0e1928;padding:8px;border-radius:7px;cursor:pointer}.annotation-row.selected{border-color:#408add;background:#112641}.row-tag{font-size:9px;background:#1e3955;color:#a8d4ff;border-radius:4px;padding:3px 5px}.row-main{flex:1;min-width:0}.row-main b{display:block;font-size:10px}.row-main small{color:#8296ad;font-size:9px}.row-time{font-size:9px;color:#adc0d5;font-variant-numeric:tabular-nums}.row-delete{background:none;border:0;color:#8394a8;cursor:pointer;font-size:14px;padding:2px 5px}.row-delete:hover{color:#ff8589}.inline-empty{text-align:center;padding:16px 8px;color:#73879e;font-size:10px}.right-column .panel{padding:13px}.editor-empty{padding:18px 2px;color:#74889f;font-size:10px;line-height:1.6}.editor-panel label{display:block;font-size:10px;font-weight:600;margin-top:12px}.editor-panel select,.editor-panel input{display:block;width:100%;margin-top:5px}.optional{color:#71849a;font-weight:400;font-size:9px;margin-left:3px}.editor-tip{font-size:9px;color:#8094ab;background:#132237;padding:8px;border-radius:6px;margin:10px 0 13px;line-height:1.5}.notes-panel textarea{width:100%;resize:vertical;line-height:1.55;margin-top:12px}.status-pill{display:inline-block;margin:12px 0 9px;padding:4px 8px;font-size:10px;border-radius:20px;background:#263448;color:#a7b7c9}.status-pill.in_progress{color:#a1d1ff;background:#183657}.status-pill.review{color:#ffdb97;background:#46361b}.status-pill.done{color:#86e4c1;background:#153d34}.workflow-buttons{display:grid;gap:7px}.workflow-panel p{color:#74889f;font-size:9px;margin:9px 0 0}.workspace-footer{display:flex;align-items:center;gap:13px;margin-top:14px;color:#6f839b;font-size:9px}.workspace-footer span:nth-child(2){flex:1}.workspace-footer .button{font-size:10px}.toast{position:fixed;bottom:22px;right:24px;z-index:10;padding:10px 14px;background:#1b3048;border:1px solid #395b7e;border-radius:8px;color:#e9f4ff;box-shadow:0 8px 30px #0008;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;font-size:11px}.toast.show{opacity:1;transform:none}.toast.error{border-color:#87474c;background:#321d27}.toast.success{border-color:#287762;background:#15382f} [hidden]{display:none!important}
@media(max-width:1100px){.sidebar{width:255px;flex-basis:255px}.workspace{padding:18px 14px}.content-grid{grid-template-columns:minmax(360px,1.4fr) minmax(225px,.8fr);gap:10px}.panel{padding:11px}}
.event-form{margin-top:12px;padding:11px;border:1px solid #2a405a;border-radius:8px;background:#0d1928;display:grid;grid-template-columns:1fr 1fr;gap:9px}.event-form[hidden]{display:none}.event-form label{font-size:9px;color:#9eafc3}.event-form input,.event-form select{width:100%;display:block;margin-top:4px;padding:7px;font-size:10px}.event-wide{grid-column:1/-1}.event-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;margin-top:2px}.event-form-actions .button{padding:7px 10px;font-size:10px}
/* A claim notice must leave the picture and playback controls usable. */
.takeover{inset:10px 10px auto auto;width:auto;max-width:calc(100% - 20px);padding:8px 10px;flex-direction:row;justify-content:flex-end;gap:9px;border:1px solid #765e33;border-radius:8px;background:#101a26eF;box-shadow:0 4px 16px #0008;pointer-events:none;text-align:left}.takeover strong{font-size:10px}.takeover span{font-size:9px;color:#e0c78e}.takeover .button{padding:6px 8px;font-size:9px;pointer-events:auto}
@media(max-width:700px){body{min-width:0}.topbar{height:auto;min-height:60px;padding:10px 12px;gap:9px;flex-wrap:wrap}.brand{font-size:13px}.brand-mark{width:30px;height:30px}.top-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.local-badge{font-size:10px;margin:0}.top-actions .button{font-size:10px;padding:7px 9px}.shell{display:flex;flex-direction:column;min-height:calc(100vh - 60px)}.sidebar{width:100%;flex:0 0 auto;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.profile{padding:10px 12px}.section-title{padding:10px 12px 7px}.filter-row{padding:0 10px 8px}.video-list{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;flex:none;max-height:105px;padding:0 9px 8px}.video-item{min-width:190px;max-width:230px;flex:0 0 auto;margin:0;padding:7px}.sidebar-bottom{padding:8px 10px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px}.upload-hint{display:none}.folder-note{grid-column:1;margin:0}.sidebar-bottom .button{grid-column:2;grid-row:1/3;width:auto}.main-area{width:100%;min-width:0}.workspace{padding:14px 10px 12px}.video-heading{align-items:flex-start;gap:8px;margin-bottom:12px}.video-heading h1{font-size:15px;max-width:55vw}.heading-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.heading-actions .button{padding:7px 8px;font-size:10px}.save-indicator{font-size:9px}.content-grid{grid-template-columns:minmax(0,1fr);gap:10px}.left-column,.right-column{gap:10px}.right-column{display:grid;grid-template-columns:1fr}.video-stage{max-height:none;aspect-ratio:16/9}.player-controls{gap:5px}.play-button{flex:none}.small-control{padding:5px}.add-box-button{padding:7px}.panel{padding:10px}.panel-heading{gap:8px}.panel-heading .muted{max-width:45%;text-align:right}.workspace-footer{flex-wrap:wrap;gap:7px}.workspace-footer span:nth-child(2){flex:1 1 100%;order:3}.workspace-footer .button{margin-left:auto}.empty-state{margin:8vh auto 0;padding:20px 15px}.empty-state h1{font-size:19px}.conversion-bar{align-items:flex-start;flex-direction:column}.conversion-bar .button{align-self:flex-end}}
@media(max-width:390px){.topbar{align-items:flex-start}.top-actions{width:100%;justify-content:space-between}.local-badge{margin-right:auto}.video-item{min-width:165px}.video-meta{font-size:9px}.heading-actions{max-width:43%}.heading-actions .button{white-space:normal}.small-control{font-size:8px;padding:5px 4px}.panel-heading .muted{display:none}.event-form{grid-template-columns:1fr 1fr}}

.video-stage video{position:absolute;inset:0;min-width:0;min-height:0;width:100%;height:100%;object-fit:contain}
.new-object-picker{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;white-space:nowrap}.new-object-picker select{padding:7px 22px 7px 7px;font-size:10px;max-width:120px}.event-rule{font-size:10px;line-height:1.6;color:#b4c7dc;border:1px solid #29415b;background:#132237;padding:9px;border-radius:7px}.legacy-warning{display:block;color:#f4c36f;font-size:9px;line-height:1.45;margin-top:8px}.rules-body{min-width:0}.rules-shell{max-width:1250px;margin:0 auto;padding:32px 24px 60px}.rules-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}.rules-heading h1{font-size:25px;margin:6px 0}.rules-heading p{color:var(--muted);margin:0}.rules-heading input{width:min(340px,40vw)}.rules-notice{border:1px solid #745d32;background:#302819;color:#f2dca9;padding:13px 15px;border-radius:9px;font-size:12px;line-height:1.6;margin-bottom:24px}.rules-section-title{margin:24px 0 12px}.rules-section-title h2{font-size:16px;margin:4px 0}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:9px}.rule-card{border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:12px 14px}.rule-card summary{cursor:pointer;font-weight:650;font-size:12px}.rule-summary,.rule-detail{font-size:10px;color:#aabbd0;line-height:1.6;margin:8px 0 0}.rule-detail b{color:#dce8f6}.rule-caution{color:#f1c878}.rules-filters{display:flex;gap:7px;margin:8px 0 12px}.rules-filters .active{border-color:#438fe3;color:#badaff;background:#162b44}.rules-error{color:#ff9a9e}.rules-body .topbar{position:sticky;z-index:5}@media(max-width:700px){.new-object-picker{max-width:45%;overflow:hidden}.new-object-picker select{max-width:105px}.rules-shell{padding:22px 12px 40px}.rules-heading{align-items:stretch;flex-direction:column;gap:12px}.rules-heading input{width:100%}}

#overlay{touch-action:none;outline:none}#overlay:focus-visible{outline:2px solid #55c5ff;outline-offset:2px}.geometry-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.geometry-fields input{min-width:0}.edit-hint{font-size:10px;line-height:1.55;color:#9aadc4;margin:7px 0 0}.annotation-row.selected .row-tag{color:#e5f5ff}.row-main b{overflow-wrap:anywhere}
