.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;white-space:nowrap;border:1px solid transparent}.badge-neutral{background:var(--surface-3);color:var(--text-dim);border-color:var(--border-strong)}.badge-blue{background:var(--blue-dim);color:var(--blue);border-color:#3b82f659}.badge-green{background:var(--green-dim);color:var(--green);border-color:#22c55e59}.badge-amber{background:var(--amber-dim);color:var(--amber);border-color:#f59e0b59}.badge-red{background:var(--red-dim);color:var(--red);border-color:#ef444459}.badge-accent{background:var(--accent-dim);color:var(--accent-hover);border-color:var(--accent-border)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex-shrink:0;-webkit-user-select:none;user-select:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-md{padding:7px 14px}.btn-sm{padding:4px 10px;font-size:var(--fs-xs)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--red-dim);border-color:#ef444466;color:var(--red)}.btn-danger:hover:not(:disabled){background:#ef444438}.btn-subtle{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-subtle:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg);max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);overflow:auto;box-shadow:0 24px 64px #00000080}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:var(--fs-lg)}.modal-close{background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;line-height:1;min-width:32px;min-height:32px;padding:2px 6px;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--surface-3);color:var(--text)}.modal-body{padding:18px}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--red-dim);border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:10px 14px;border-radius:var(--radius);font-size:var(--fs-sm)}.spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-faint);padding:32px}.spinner{width:22px;height:22px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.page-message{margin:auto;padding:48px 24px;max-width:520px;text-align:center}.page-message h1{margin:0 0 10px;font-size:var(--fs-xl)}.page-message p{margin:0 0 20px;color:var(--text-dim);line-height:1.5}.page-message a{color:var(--accent-hover);font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}input[type=text],textarea,select{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);padding:8px 10px;font-family:inherit;font-size:var(--fs-sm)}input[type=text]:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-border)}textarea{resize:vertical}.inbox-panel{position:absolute;top:56px;right:16px;width:380px;max-height:480px;overflow:auto;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 16px 48px #00000080;z-index:50}.inbox-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface-1)}.inbox-head h3{margin:0;font-size:var(--fs-md)}.inbox-list{list-style:none;margin:0;padding:8px}.inbox-list li a{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:var(--radius-sm)}.inbox-list li a:hover{background:var(--surface-3)}.inbox-list li.unread{background:var(--accent-dim);border-radius:var(--radius-sm)}.inbox-text{font-size:var(--fs-sm);color:var(--text)}.inbox-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.inbox-kind{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.inbox-time{font-size:var(--fs-xs);color:var(--text-faint)}.inbox-list .empty-note{padding:12px;font-size:var(--fs-sm)}.tour-banner{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:90;width:min(720px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:14px;padding:12px 40px 12px 16px;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:#111114eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 48px #0000008c}.tour-banner-done{border-color:#22c55e73;align-items:center}.tour-step{flex:1;min-width:0}.tour-progress{display:flex;align-items:center;gap:8px;margin-bottom:4px}.tour-progress-text{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-hover);white-space:nowrap}.tour-dots{display:inline-flex;gap:4px}.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border-strong)}.tour-dot.is-filled{background:var(--accent)}.tour-title{margin:0 0 3px;font-size:var(--fs-md);font-weight:700;line-height:1.35;display:flex;align-items:center;gap:7px}.tour-check{color:var(--green);font-weight:800}.tour-body{margin:0;font-size:var(--fs-sm);line-height:1.45;color:var(--text-dim)}.tour-banner-done .tour-body{color:var(--text-dim)}.tour-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;align-self:center;flex-wrap:wrap;justify-content:flex-end}.tour-link{background:none;border:none;padding:4px 6px;border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap}.tour-link:hover{color:var(--text);background:var(--surface-3)}.tour-link:focus-visible,.tour-x:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}.tour-x{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--text-dim);font-size:18px;line-height:1;min-width:32px;min-height:32px;padding:3px 7px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer}.tour-x:hover{background:var(--surface-3);color:var(--text)}@media (max-width: 700px){.tour-banner{left:0;right:0;bottom:0;transform:none;width:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-left:none;border-right:none;border-bottom:none;flex-direction:column;gap:10px;padding:12px 40px calc(12px + env(safe-area-inset-bottom,0px)) 16px}.tour-actions{align-self:stretch;justify-content:flex-start}}.layout{display:flex;flex-direction:column;height:100%}.header{display:flex;align-items:center;gap:14px;height:52px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface-1);flex-shrink:0;z-index:20}.logo{font-weight:700;font-size:var(--fs-lg);letter-spacing:.02em}.logo:hover{color:var(--accent-hover)}.header-spacer{flex:1}.header-demo{display:flex;align-items:center;gap:6px;flex-shrink:0}.local-demo-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-faint);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;cursor:default}.local-demo-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.restart-demo-btn{white-space:nowrap}.inbox-btn{position:relative;background:none;border:1px solid transparent;border-radius:var(--radius-sm);font-size:16px;cursor:pointer;padding:7px 9px;line-height:1}.inbox-btn:hover{background:var(--surface-3)}.inbox-badge{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-size:var(--fs-xs);font-weight:700;border-radius:999px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 3px}.user-switch{display:flex;align-items:center;gap:8px}.user-switch-label{color:var(--text-faint);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.user-switch select{padding:6px 8px}.layout-main{flex:1;min-height:0;display:flex;flex-direction:column}.layout--portfolio-preview .header-demo,.layout--portfolio-preview .inbox-btn,.layout--portfolio-preview .user-switch,.layout--portfolio-preview .header>.badge{display:none}.boot-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.boot-logo{font-size:26px;font-weight:800;letter-spacing:.03em}.boot-error{max-width:560px;margin:80px auto;padding:24px;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius-lg);background:var(--surface-1)}.boot-error .hint{color:var(--text-faint);font-size:var(--fs-sm)}@media (min-width: 701px) and (max-width: 899px){.header>.badge,.user-switch-label{display:none}.user-switch{min-width:0}.user-switch select{max-width:160px}}@media (max-width: 700px){.header{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:52px;padding:8px 12px;gap:6px 10px}.header-spacer,.user-switch-label,.header>.badge{display:none}.logo{min-width:0}.inbox-btn{grid-column:2;grid-row:1}.header-demo{grid-column:1 / -1;grid-row:2;justify-content:space-between;min-width:0}.user-switch{grid-column:1 / -1;min-width:0;justify-content:space-between}.user-switch select{flex:1;min-width:0}.inbox-panel{top:88px;right:8px;width:min(380px,calc(100vw - 16px));max-height:calc(100vh - 96px)}}@media (max-width: 600px){.local-demo-text,.restart-demo-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.local-demo-pill{padding:5px 8px}.restart-demo-btn{padding:4px 8px;font-size:var(--fs-md)}}.projects-screen{padding:28px 32px;overflow:auto}.screen-head h1{margin:0 0 20px;font-size:var(--fs-xl)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.project-card{display:flex;flex-direction:column;gap:10px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;transition:border-color .15s,transform .15s}.project-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-card h2{margin:0;font-size:var(--fs-lg)}.project-desc{margin:0;color:var(--text-dim);font-size:var(--fs-md);line-height:1.5}.project-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.project-meta .badge{font-size:var(--fs-sm);min-height:22px}.empty-note{color:var(--text-faint);font-size:var(--fs-md)}@media (max-width: 700px){.projects-screen{padding:18px 16px}.projects-grid{grid-template-columns:minmax(0,1fr)}}.project-screen{padding:24px 32px;overflow:auto}.back-link{color:var(--text-dim);font-size:var(--fs-sm)}.project-screen h1{margin:8px 0 4px;font-size:var(--fs-xl)}.project-sub{margin:0 0 22px;color:var(--text-dim);font-size:var(--fs-sm)}.assets-list{display:flex;flex-direction:column;gap:10px;max-width:880px}.asset-card{display:flex;align-items:center;gap:16px;background:var(--surface-1);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);padding:14px 18px;transition:border-color .15s,background .15s}.asset-card:hover{border-color:var(--accent-border)}.asset-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.asset-card-active{border-left-color:var(--accent)}.asset-card-approved{border-left-color:#22c55e73;background:linear-gradient(0deg,var(--green-dim),var(--green-dim)),var(--surface-1)}.asset-thumb{position:relative;width:96px;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden;flex-shrink:0}.asset-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.asset-thumb-emoji{font-size:22px;line-height:1}.asset-info{flex:1;min-width:0}.asset-info h3{margin:0 0 6px;font-size:var(--fs-md)}.asset-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.asset-meta .badge{font-size:var(--fs-sm);min-height:22px}.asset-open{color:var(--text-faint);font-size:var(--fs-sm);white-space:nowrap}.asset-card:hover .asset-open{color:var(--accent-hover)}.activity-panel{margin-top:28px;max-width:880px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.activity-panel h2{margin:0 0 12px;font-size:var(--fs-md);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.activity-list li{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-sm)}.activity-text{color:var(--text)}.activity-time{color:var(--text-faint);white-space:nowrap}@media (max-width: 700px){.project-screen{padding:18px 16px}.asset-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:6px 12px;align-items:start;padding:12px}.asset-thumb{width:84px;grid-row:1 / 3}.asset-info,.asset-open{grid-column:2}.asset-open{justify-self:start;white-space:normal}.asset-meta{gap:5px}.activity-panel{padding:14px}}.player{display:flex;flex-direction:column;min-height:0;background:var(--surface-1);position:relative}.player-stage{position:relative;flex:1;min-height:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}.player-stage video{width:100%;height:100%;object-fit:contain;display:block}.player-fullscreen{width:100vw;height:100vh}.player-fullscreen .player-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000d9);border:none;z-index:5}.player-error{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--text-dim);padding:40px;text-align:center;font-size:var(--fs-md)}.player-error-actions{display:flex;align-items:center;gap:10px}.player-error-actions .btn{min-width:32px;min-height:32px;text-decoration:none}.player-error-actions .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.player-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#00000059;pointer-events:none}.player-loading .spinner-wrap{padding:14px 18px;background:#0a0a0cb8;border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-sm)}.player-controls{border-top:1px solid var(--border);padding:8px 12px 10px;flex-shrink:0}.controls-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.controls-spacer{flex:1}.ctl{background:none;border:1px solid transparent;color:var(--text-dim);font-size:13px;width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ctl:hover{background:var(--surface-3);color:var(--text)}.ctl:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ctl-play{width:40px;font-size:var(--fs-md);color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.timecode{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text);margin-left:8px;white-space:nowrap}.frame-no{color:var(--text-faint);font-size:var(--fs-sm)}.video-size{color:var(--text-faint);font-size:var(--fs-sm);white-space:nowrap}.track{position:relative;height:14px;cursor:pointer;display:flex;align-items:center;touch-action:none}.track:before{content:"";position:absolute;left:0;right:0;height:4px;border-radius:2px;background:var(--surface-3)}.track-buffered{position:absolute;height:4px;border-radius:2px;background:#ffffff1f}.track-fill{position:absolute;height:4px;border-radius:2px;background:var(--accent)}.track-head{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-6px);box-shadow:0 1px 4px #0009;pointer-events:none}.track-marker{position:absolute;width:10px;height:10px;padding:0;border:1px solid rgba(0,0,0,.5);border-radius:50%;transform:translate(-5px,-9px);cursor:pointer;z-index:2}.track-marker:before{content:"";position:absolute;left:-8px;right:-8px;top:-6px;bottom:-10px}.track-marker:hover{transform:translate(-5px,-9px) scale(1.3)}.marker-open{background:var(--accent)}.marker-resolved{background:var(--green)}.marker-annotated{box-shadow:0 0 0 2px var(--accent-hover)}.marker-annotated:after{content:"📌";position:absolute;left:50%;bottom:13px;transform:translate(-50%);font-size:12px;line-height:1}.timecode-duration{color:var(--text-faint);font-family:var(--mono);font-size:var(--fs-sm)}.volume-slider{width:70px;min-height:32px;accent-color:var(--accent)}.rate-select{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-dim);border-radius:var(--radius-sm);font-size:var(--fs-sm);min-height:32px;padding:3px 8px;cursor:pointer}.volume-slider:focus-visible,.rate-select:focus-visible,.track:focus-visible,.track-marker:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 700px){.ctl{width:40px;height:40px}.ctl-play{width:44px}.rate-select{min-height:40px}}.annotation-root{position:absolute;pointer-events:none;z-index:5}.annotation-root.is-armed{touch-action:none}.an-svg{display:block;pointer-events:none}.an-svg.an-drawing{pointer-events:auto;cursor:crosshair;touch-action:none}.an-toolbar{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px;max-width:calc(100% - 12px);padding:4px 6px;background:#111114d9;border:1px solid var(--border-strong, #33333b);border-radius:8px;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.an-tool{width:32px;height:32px;display:grid;place-items:center;font-size:var(--fs-md);line-height:1;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-dim, #9b9ba5);cursor:pointer}.an-tool:hover:not(:disabled){background:var(--surface-hover, #232329);color:var(--text, #eee)}.an-tool.active{background:var(--accent-dim, rgba(99, 102, 241, .15));border-color:var(--accent, #6366f1);color:var(--text, #eee)}.an-tool:disabled{cursor:not-allowed;opacity:.5}.an-hint{font-size:var(--fs-sm);color:var(--text-dim, #9b9ba5);white-space:nowrap;padding:0 4px}.an-armed-btn{min-width:32px;min-height:32px;padding:2px 10px;border:1px solid var(--border-strong, #33333b);border-radius:6px;background:var(--surface-2, #16161a);color:var(--text-dim, #9b9ba5);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.an-armed-btn:hover:not(:disabled){background:var(--surface-hover, #232329);color:var(--text, #eee)}.an-armed-btn:disabled{opacity:.45;cursor:not-allowed}.an-tool:focus-visible,.an-armed-btn:focus-visible{outline:2px solid var(--accent-border, rgba(99, 102, 241, .45));outline-offset:1px}@media (max-width: 900px){.an-toolbar{top:6px;gap:6px;padding:6px}.an-tool,.an-armed-btn{min-width:40px;min-height:40px}.an-tool{width:40px;height:40px;font-size:var(--fs-lg)}.an-hint{flex:1 0 100%;text-align:center;white-space:normal;font-size:var(--fs-sm)}}.comments-panel{display:flex;flex-direction:column;min-height:0}.cp-scope{display:flex;gap:4px;padding:0 12px 8px;border-bottom:1px solid var(--border)}.cp-scope-btn{flex:1;min-height:32px;padding:4px 8px;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.cp-scope-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.cp-version-tag{font-size:var(--fs-sm);padding:1px 6px;border-radius:4px;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border)}.cp-head{padding:12px 14px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.cp-head h2{margin:0 0 8px;font-size:var(--fs-md);display:flex;align-items:center;gap:8px}.cp-count{background:var(--surface-3);border-radius:999px;font-size:var(--fs-sm);padding:1px 8px;color:var(--text-dim)}.cp-filters{display:flex;gap:4px;flex-wrap:wrap}.cp-filter{background:none;border:1px solid transparent;color:var(--text-faint);font-size:var(--fs-sm);min-height:32px;padding:4px 10px;border-radius:999px;cursor:pointer;font-weight:600}.cp-filter:hover{color:var(--text);background:var(--surface-2)}.cp-filter.active{color:var(--accent-hover);background:var(--accent-dim);border-color:var(--accent-border)}.cp-missing{margin:10px 14px 0;padding:10px 12px;border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--accent-dim);display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex-shrink:0}.cp-missing-text{margin:0;font-size:var(--fs-sm);line-height:1.45;color:var(--text)}.cp-notice{margin:8px 14px 0;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--fs-sm);flex-shrink:0}.cp-notice-success{background:var(--green-dim);border-color:#22c55e59;color:var(--green)}.cp-notice-error{background:var(--red-dim);border-color:#ef444466;color:#fca5a5}.cp-list{flex:1;overflow:auto;padding:10px 14px;display:flex;flex-direction:column;gap:10px;min-height:0}.cp-item{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;transition:border-color .3s,background .3s}.cp-item.resolved{opacity:.62}.cp-item.highlight{border-color:var(--accent);background:var(--accent-dim)}.cp-row{display:flex;gap:10px}.cp-body{flex:1;min-width:0}.cp-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.cp-author{font-weight:600;font-size:var(--fs-sm)}.cp-time{background:var(--surface-3);border:1px solid transparent;color:var(--text-dim);font-family:var(--mono);font-size:var(--fs-sm);min-height:32px;padding:2px 8px;border-radius:4px;cursor:pointer}.cp-time:hover{color:var(--accent-hover);background:var(--accent-dim)}.cp-text{margin:0;font-size:13px;color:var(--text);line-height:1.5;word-break:break-word}.mention{color:var(--accent-hover);font-weight:600}.cp-actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.cp-action{background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-faint);font-size:var(--fs-sm);font-weight:600;min-height:32px;min-width:32px;padding:2px 8px;cursor:pointer}.cp-action:hover:not(:disabled){color:var(--accent-hover);background:var(--surface-2)}.cp-action:disabled{opacity:.45;cursor:not-allowed}.cp-annotate{color:var(--accent-hover)}.cp-replies{margin-top:8px;padding-left:10px;border-left:2px solid var(--border-strong);display:flex;flex-direction:column;gap:8px}.cp-reply{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-sm)}.cp-reply .cp-author{font-size:var(--fs-sm)}.cp-reply .cp-text{font-size:var(--fs-sm);color:var(--text-dim)}.cp-reply-box,.cp-edit{margin-top:8px}.cp-reply-box textarea,.cp-edit textarea{width:100%;box-sizing:border-box}.cp-edit-actions{display:flex;gap:8px;margin-top:6px}.cp-composer{border-top:1px solid var(--border);padding:10px 14px;flex-shrink:0}.cp-composer textarea{width:100%;box-sizing:border-box;font-size:13px}.cp-composer-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.cp-hint{color:var(--text-faint);font-size:var(--fs-sm)}.cp-readonly{display:flex;align-items:center;gap:10px;color:var(--text-faint);font-size:var(--fs-sm);flex-wrap:wrap}.cp-annotations{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.cp-annotation{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.cp-an-icon{font-size:var(--fs-md);line-height:1}.cp-an-meta{color:var(--text-dim)}.cp-an-del{background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:var(--fs-md);line-height:1;min-width:32px;min-height:32px;padding:0 2px}.cp-an-del:hover:not(:disabled){color:#f87171;background:var(--surface-3)}.cp-filter:focus-visible,.cp-scope-btn:focus-visible,.cp-time:focus-visible,.cp-action:focus-visible,.cp-an-del:focus-visible,.cp-missing .btn:focus-visible,.cp-composer .btn:focus-visible,.cp-reply-box .btn:focus-visible,.cp-composer textarea:focus-visible,.cp-reply-box textarea:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}@media (max-width: 900px){.cp-head{padding:10px 12px 8px}.cp-list{padding:10px 12px}.cp-composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.cp-missing{margin:10px 12px 0}.cp-filter,.cp-scope-btn,.cp-time,.cp-action,.cp-an-del,.cp-composer .btn{min-height:40px}.cp-an-del,.cp-action{min-width:40px}.cp-filter,.cp-scope-btn,.cp-action,.cp-time,.cp-text,.cp-composer textarea{font-size:var(--fs-md)}}.version-sidebar{display:flex;flex-direction:column;min-height:0;flex:1}.vs-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px}.vs-title{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:700}.vs-list{list-style:none;margin:0;padding:0 8px;display:flex;flex-direction:column;gap:4px;flex:1}.vs-list>li{position:relative}.vs-item{width:100%;min-height:32px;display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;padding:8px 30px 8px 10px;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text-dim);font-size:var(--fs-sm)}.vs-item:hover{background:var(--surface-2)}.vs-item.active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--text)}.vs-number{font-weight:700;color:var(--text);font-family:var(--mono);font-size:var(--fs-sm)}.vs-name{flex:1 0 calc(100% - 35px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.vs-counts{flex:0 0 100%;display:block;margin-top:2px;font-size:var(--fs-sm);color:var(--text-faint);line-height:1.4;white-space:normal}.vs-open{color:var(--amber);font-weight:700}.vs-fps{font-size:var(--fs-sm);color:var(--text-faint);font-family:var(--mono);white-space:nowrap}.vs-meta-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-faint);width:32px;height:32px;font-size:var(--fs-md);cursor:pointer;opacity:0;transition:opacity .12s}.vs-list>li:hover .vs-meta-btn,.vs-meta-btn:focus-visible{opacity:1}.vs-meta-btn:hover{color:var(--text);border-color:var(--accent-border)}.meta-field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--text-dim)}.meta-field input{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);padding:6px 8px;font-size:var(--fs-sm);width:120px}.meta-note{color:var(--text-faint);font-size:var(--fs-sm);margin:10px 0 0}.meta-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.vs-compare{display:flex;align-items:center;justify-content:center;min-height:36px;margin:10px 14px 14px;padding:8px 10px;text-align:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:600;color:var(--text-dim)}.vs-compare:hover{border-color:var(--accent-border);color:var(--accent-hover)}.vs-item:focus-visible,.vs-meta-btn:focus-visible,.vs-compare:focus-visible,.vs-head .btn:focus-visible,.meta-field input:focus-visible,.meta-actions .btn:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}.upload-hint{color:var(--text-faint);font-size:var(--fs-sm);margin:0 0 12px}.upload-progress{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:var(--fs-sm);color:var(--text-dim)}.upload-bar{flex:1;height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.upload-fill{height:100%;background:var(--accent);transition:width .2s}.upload-or{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);margin:12px 0 8px;text-transform:uppercase;letter-spacing:.08em}@media (max-width: 900px){.version-sidebar{flex:none}.vs-head{padding:10px 12px}.vs-list{flex:none;flex-direction:column;overflow:visible;padding:0 10px 10px;gap:6px}.vs-list>li{width:100%;flex:none}.vs-item{min-height:44px;font-size:var(--fs-md);padding-right:44px}.vs-name,.vs-number,.vs-fps,.vs-counts{font-size:var(--fs-sm)}.vs-meta-btn{opacity:1;width:40px;height:40px;right:4px}.vs-compare{min-height:44px;margin:10px 12px 14px;font-size:var(--fs-md)}}.review-bar{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-0, var(--bg));flex-wrap:wrap;flex-shrink:0}.review-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.changes-hint{color:var(--amber);font-size:var(--fs-sm)}.rab-overflow{position:relative;flex-shrink:0;margin-left:auto}.rab-overflow-btn{min-width:32px;min-height:32px;padding:0 10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--fs-md);line-height:1;cursor:pointer}.rab-overflow-btn:hover,.rab-overflow-btn[aria-expanded=true]{color:var(--text);background:var(--surface-hover);border-color:var(--accent-border)}.rab-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:232px;max-width:min(320px,calc(100vw - 32px));padding:4px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 16px 40px #00000080}.rab-menu-item{display:block;width:100%;min-height:32px;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--fs-sm);font-weight:600;text-align:left;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.rab-menu-item:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.rab-menu-item:disabled{opacity:.45;cursor:not-allowed}.approved-banner{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);color:var(--text-dim);flex-wrap:wrap;flex:1;min-width:0}.approved-note{color:var(--text-faint);font-size:var(--fs-sm)}.simulate-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--text);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;animation:simulate-pulse 1.4s ease-in-out infinite}@keyframes simulate-pulse{50%{opacity:.55}}.decision-history{flex-shrink:0}.dh-toggle{min-height:32px;padding:0 10px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap}.dh-toggle:hover,.dh-toggle[aria-expanded=true]{color:var(--text);background:var(--surface-hover);border-color:var(--accent-border)}.dh-toggle:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}.dh-list{width:min(420px,calc(100vw - 32px));margin:6px 0 0;padding:8px 10px;list-style:none;display:flex;flex-direction:column;gap:8px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius)}.dh-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:var(--fs-sm);color:var(--text-dim);padding-bottom:8px;border-bottom:1px solid var(--border)}.dh-list li:last-child{padding-bottom:0;border-bottom:none}.dh-kind{font-weight:600}.dh-approved{color:var(--green)}.dh-changes_requested{color:var(--amber)}.dh-at{color:var(--text-faint)}.dh-note{flex-basis:100%;color:var(--text-dim);font-style:italic}.review-notice{width:100%;font-size:var(--fs-sm);border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 10px}.review-notice-success{color:var(--green);background:var(--green-dim);border-color:#22c55e59}.review-notice-error{color:#fca5a5;background:var(--red-dim);border-color:#ef444466}.review-notice-info{color:var(--blue);background:var(--blue-dim);border-color:#3b82f659}.rab-overflow-btn:focus-visible,.rab-menu-item:focus-visible,.review-bar .btn:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}@media (max-width: 900px){.rab-overflow-btn,.rab-menu-item,.dh-toggle,.review-bar .btn{min-height:40px}.rab-menu-item{font-size:var(--fs-md)}.rab-menu{max-width:calc(100vw - 24px)}}.workspace{display:grid;grid-template-columns:var(--ws-left, 250px) 5px minmax(0,1fr) 5px var(--ws-right, 340px);flex:1;min-height:0;height:100%}.workspace.is-portfolio-preview:not(.workspace-mobile){grid-template-columns:15% 0 minmax(0,60%) 0 25%}.workspace.is-portfolio-preview .ws-resizer{visibility:hidden}.workspace.is-portfolio-preview .review-bar,.workspace.is-portfolio-preview .ws-tabs,.workspace.is-portfolio-preview .ws-hint,.workspace.is-portfolio-preview .an-toolbar,.workspace.is-portfolio-preview .vs-head .btn,.workspace.is-portfolio-preview .vs-fps,.workspace.is-portfolio-preview .vs-counts,.workspace.is-portfolio-preview .vs-meta-btn,.workspace.is-portfolio-preview .vs-compare,.workspace.is-portfolio-preview .vs-item .badge,.workspace.is-portfolio-preview .cp-count,.workspace.is-portfolio-preview .cp-filters,.workspace.is-portfolio-preview .cp-scope,.workspace.is-portfolio-preview .cp-composer,.workspace.is-portfolio-preview .cp-actions,.workspace.is-portfolio-preview .cp-annotations,.workspace.is-portfolio-preview .cp-replies,.workspace.is-portfolio-preview .cp-item .badge,.workspace.is-portfolio-preview .controls-row .ctl:not(.ctl-play),.workspace.is-portfolio-preview .controls-row .frame-no,.workspace.is-portfolio-preview .controls-row .timecode-duration,.workspace.is-portfolio-preview .controls-row .volume-slider,.workspace.is-portfolio-preview .controls-row .rate-select,.workspace.is-portfolio-preview .controls-row .video-size{display:none}.workspace.is-portfolio-preview .cp-item.resolved{opacity:1}.workspace.is-portfolio-preview .cp-list{gap:8px;padding:10px}.workspace.is-portfolio-preview .cp-item{padding:10px}.workspace.is-portfolio-preview .vs-item{min-height:38px;padding:9px 10px}.workspace.is-tour-active{padding-bottom:132px}@media (max-width: 1280px){.workspace{grid-template-columns:min(var(--ws-left, 250px),220px) 5px minmax(0,1fr) 5px min(var(--ws-right, 340px),300px)}}@media (min-width: 901px) and (max-width: 1280px){.workspace:not(.workspace-mobile) .ws-main .player:not(.player-fullscreen) .player-stage{flex:0 1 auto;width:100%;aspect-ratio:16 / 9;margin:auto 0}}.ws-resizer{cursor:col-resize;background:transparent;position:relative;z-index:5;touch-action:none}.ws-resizer:after{content:"";position:absolute;top:0;right:2px;bottom:0;left:2px;background:transparent;transition:background .12s}.ws-resizer:hover:after,.ws-resizer.is-active:after{background:var(--accent)}.workspace-loading{padding:40px;color:var(--text-faint)}.ws-sidebar{border-right:1px solid var(--border);background:var(--surface-0, var(--bg));display:flex;flex-direction:column;min-height:0;min-width:0;overflow:auto}.ws-sidebar-head{padding:14px 14px 10px;border-bottom:1px solid var(--border)}.ws-sidebar-head h1{margin:8px 0 0;font-size:var(--fs-md)}.back-link{font-size:var(--fs-sm);color:var(--text-dim)}.back-link:hover{color:var(--accent-hover)}.back-link:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px;border-radius:var(--radius-sm)}.ws-main{display:flex;flex-direction:column;min-width:0;min-height:0}.ws-main .player{flex:1;min-height:0}.ws-tabs{border-top:1px solid var(--border);max-height:210px;overflow:auto;background:var(--surface-0, var(--bg));flex-shrink:0}.ws-panel{border-left:1px solid var(--border);background:var(--surface-0, var(--bg));display:flex;min-height:0;min-width:0}.ws-panel>*{flex:1;min-height:0}.ws-hint{margin:0;padding:6px 12px;font-size:var(--fs-sm);line-height:1.4;color:var(--text-faint);background:var(--surface-0, var(--bg));border-top:1px solid var(--border);flex-shrink:0}.activity-feed{padding:0}.af-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 16px;background:none;border:none;border-radius:0;color:var(--text-dim);font-size:var(--fs-sm);font-weight:600;text-align:left;cursor:pointer}.af-toggle:hover{color:var(--text);background:var(--surface-2)}.af-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-size:var(--fs-sm)}.af-count{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text-faint);font-weight:400}.af-chevron{margin-left:auto;color:var(--text-faint);font-size:var(--fs-sm)}.af-list{list-style:none;margin:0;padding:2px 16px 12px;display:flex;flex-direction:column;gap:8px}.af-list li{display:flex;align-items:baseline;gap:8px;font-size:var(--fs-sm)}.af-text{color:var(--text-dim);flex:1;min-width:0}.af-text strong{color:var(--text);font-weight:600}.af-time{color:var(--text-faint);font-size:var(--fs-sm);white-space:nowrap}.ws-an-error{display:flex;align-items:center;gap:8px;margin:6px 0 0;padding:6px 10px;font-size:var(--fs-sm);color:#fca5a5;background:#ef44441f;border:1px solid rgba(239,68,68,.4);border-radius:6px;flex-shrink:0}.ws-an-error button{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;font-size:var(--fs-md);min-width:32px;min-height:32px}.ws-an-error button:focus-visible,.af-toggle:focus-visible,.ws-tab:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px;border-radius:var(--radius-sm)}.workspace-mobile{display:block;height:100%;overflow-x:hidden;overflow-y:auto;padding-bottom:0}.workspace-mobile.is-tour-active{padding-bottom:186px}.ws-sticky{position:sticky;top:0;z-index:30;background:var(--surface-1);border-bottom:1px solid var(--border)}.ws-tabbar{display:flex;gap:4px;padding:6px 10px;background:var(--surface-1);border-bottom:1px solid var(--border)}.ws-tab{flex:1;min-width:0;min-height:40px;padding:8px 6px;background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--fs-md);font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-tab:hover{color:var(--text);background:var(--surface-2)}.ws-tab.is-active{color:var(--text);background:var(--accent-dim);border-color:var(--accent-border)}.ws-tabpanel{display:flex;flex-direction:column;background:var(--surface-0, var(--bg))}.ws-tabpanel[hidden]{display:none}.ws-tabpanel .comments-panel,.ws-tabpanel .version-sidebar{flex:none;height:auto}.ws-tabpanel .cp-list,.ws-tabpanel .vs-list{overflow:visible;flex:none}.ws-info{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}.ws-info h1{margin:0;font-size:var(--fs-lg)}.ws-info-note{margin:0;font-size:var(--fs-sm);color:var(--text-faint);font-family:var(--mono);word-break:break-all}@media (max-width: 900px){.workspace:not(.workspace-mobile){display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.workspace:not(.workspace-mobile) .ws-resizer{display:none}.workspace:not(.workspace-mobile) .ws-sidebar,.workspace:not(.workspace-mobile) .ws-main,.workspace:not(.workspace-mobile) .ws-panel{flex:none;width:100%}.workspace:not(.workspace-mobile) .ws-sidebar{overflow:visible;border-right:0;border-bottom:1px solid var(--border)}.workspace:not(.workspace-mobile) .ws-sidebar-head{padding:9px 12px}.workspace:not(.workspace-mobile) .ws-sidebar-head h1{margin-top:4px}.workspace:not(.workspace-mobile) .ws-sidebar .version-sidebar{flex:none}.workspace:not(.workspace-mobile) .ws-sidebar .vs-head{padding:7px 12px}.workspace:not(.workspace-mobile) .ws-sidebar .vs-list{flex:none}.workspace:not(.workspace-mobile) .ws-main .player{flex:none;height:auto}.workspace:not(.workspace-mobile) .ws-main .player-stage{flex:none;width:100%;aspect-ratio:16 / 9}.workspace:not(.workspace-mobile) .ws-main .player.player-fullscreen{width:100vw;height:100vh}.workspace:not(.workspace-mobile) .ws-main .player.player-fullscreen .player-stage{flex:1;aspect-ratio:auto}.workspace:not(.workspace-mobile) .ws-panel{height:min(560px,max(420px,62vh));border-left:0;border-top:1px solid var(--border)}}@media (max-width: 900px){.ws-main .controls-row{flex-wrap:wrap;justify-content:center;gap:4px}.ws-main .controls-spacer,.ws-main .video-size{display:none}.ws-main .timecode{margin-left:0}.ws-main .volume-slider{width:55px}.ws-sticky .player{flex:none;height:auto}.ws-sticky .player-stage{width:100%;aspect-ratio:16 / 9;flex:none}.ws-sticky .player.player-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh}.ws-sticky .player.player-fullscreen .player-stage{flex:1;aspect-ratio:auto}}.compare-screen{display:flex;flex-direction:column;height:100%;min-height:0;gap:10px;padding:14px 18px 10px;background:var(--bg);color:var(--text)}.cmp-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cmp-head h1{margin:0;font-size:18px;font-weight:650}.cmp-sync{display:inline-flex;align-items:center;gap:7px;margin-left:auto;font-size:13px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.cmp-sync input{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}.cmp-drift{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-faint);padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.cmp-drift-warn{color:var(--amber);background:var(--amber-dim);border-color:#f59e0b66}.cmp-panes{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:0;flex:1}.cmp-pane{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);overflow:hidden}.cmp-pane-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-2)}.cmp-version-select{flex:1;min-width:0;min-height:32px;padding:5px 8px;font-size:var(--fs-sm);color:var(--text);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.cmp-meta{font-size:var(--fs-sm);color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.cmp-swap{flex:none;width:32px;height:32px;font-size:15px;line-height:1;color:var(--text-dim);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:color .12s,border-color .12s}.cmp-swap:hover{color:var(--accent);border-color:var(--accent-border)}.cmp-moments{flex:none;padding:7px 10px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.cmp-moments-row{display:flex;align-items:center;gap:10px}.cmp-moments-head{display:inline-flex;align-items:center;gap:7px;flex:none;min-height:32px;padding:0;background:none;border:none;color:var(--text-dim);cursor:default;font-family:inherit}.cmp-moments-title{font-size:var(--fs-sm);font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);white-space:nowrap}.cmp-moments-count{font-size:var(--fs-sm);color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.cmp-moments-caret{display:none;font-size:var(--fs-sm);color:var(--text-faint)}.cmp-moment-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-height:70px;overflow:hidden auto}.cmp-moment{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;font-family:inherit;font-size:var(--fs-sm);color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:999px;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.cmp-moment:hover{color:var(--text);background:var(--surface-hover);border-color:var(--accent-border)}.cmp-moment.is-active{color:var(--accent-hover);background:var(--accent-dim);border-color:var(--accent-border)}.cmp-moment-time{font-family:var(--mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:inherit;opacity:.85}.cmp-moment-title{white-space:nowrap}.cmp-moment-detail{margin:5px 0 0;min-height:1.35em;font-size:var(--fs-md);line-height:1.35;color:var(--text-faint)}.cmp-moment:focus-visible,.cmp-moments-head:focus-visible,.cmp-swap:focus-visible,.cmp-version-select:focus-visible,.cmp-sync input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cmp-pane .player{flex:1;min-height:0;height:100%}.cmp-solo{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--border);background:var(--surface-2)}.cmp-solo .ctl{flex:none;width:32px;height:32px;font-size:13px;color:var(--text);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.cmp-solo .ctl:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cmp-solo .ctl:disabled,.cmp-transport .ctl:disabled{opacity:.45;cursor:default}.cmp-solo input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.cmp-timecode{flex:none;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-dim)}.cmp-transport{flex:none;padding:8px 10px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.cmp-transport .controls-row{display:flex;align-items:center;gap:6px}.cmp-transport .ctl{flex:none;width:36px;height:34px;font-size:var(--fs-md);color:var(--text);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,border-color .12s}.cmp-transport .ctl:not(:disabled):hover{background:var(--surface-hover);border-color:var(--border-strong)}.cmp-transport .ctl:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cmp-transport .ctl-play{width:44px;font-size:var(--fs-lg);color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.cmp-transport .timecode{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text-dim)}.cmp-transport .timecode b{color:var(--text-faint);font-weight:600;margin-right:2px}.cmp-transport .frame-sep{margin:0 7px;color:var(--text-faint)}.cmp-transport .timecode-duration{font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.cmp-transport .controls-spacer{flex:1}.cmp-pair-note{font-size:var(--fs-sm);color:var(--text-faint);white-space:nowrap}.cmp-track{position:relative;height:22px;margin-top:8px;border-radius:var(--radius-sm);background:var(--surface-3);overflow:hidden}.cmp-track .track-fill{position:absolute;inset:0 auto 0 0;background:var(--accent-dim);pointer-events:none}.cmp-track .track-head{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);pointer-events:none;transform:translate(-1px)}.cmp-seek{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.cmp-seek:disabled{cursor:default}.cmp-foot-actions{display:flex;align-items:center;gap:14px;flex:none;padding-bottom:6px}.compare-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-dim);text-align:center}.compare-empty h2{color:var(--text);font-size:18px}.compare-empty a{color:var(--accent);text-decoration:none;margin-top:6px}@media (max-width: 900px){.compare-screen{overflow-x:hidden;overflow-y:auto}.cmp-moments-row{flex-direction:column;align-items:stretch;gap:6px}.cmp-moments-head{justify-content:space-between;width:100%;min-height:40px;cursor:pointer;border-radius:var(--radius-sm)}.cmp-moments-caret{display:inline-flex}.cmp-moment-chips{display:none;max-height:none}.cmp-moment-chips.is-open{display:flex}.cmp-moment{min-height:40px;font-size:var(--fs-md)}.cmp-panes{display:flex;flex:none;flex-direction:column}.cmp-pane{flex:none}.cmp-pane-head{flex-wrap:wrap}.cmp-version-select{flex-basis:100%}.cmp-pane .player{flex:none;height:auto}.cmp-pane .player-stage{flex:none;width:100%;aspect-ratio:16 / 9}.cmp-transport .controls-row{flex-wrap:wrap}.cmp-pair-note{white-space:normal}}@media (max-width: 700px){.compare-screen{padding:12px}.cmp-head{gap:8px}.cmp-head h1{font-size:var(--fs-lg)}.cmp-sync{margin-left:0}.cmp-transport .controls-spacer{display:none}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/demos/frameflow/fonts/inter-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/demos/frameflow/fonts/inter-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/demos/frameflow/fonts/inter-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/demos/frameflow/fonts/inter-latin-800-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/demos/frameflow/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/demos/frameflow/fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2")}:root{--bg: #0a0a0c;--surface-1: #111114;--surface-2: #16161a;--surface-3: #1d1d23;--surface-hover: #232329;--border: #26262c;--border-strong: #33333b;--text: #e6e6ea;--text-dim: #9b9ba5;--text-faint: #80808c;--accent: #6366f1;--accent-hover: #7577f4;--accent-dim: rgba(99, 102, 241, .15);--accent-border: rgba(99, 102, 241, .45);--green: #22c55e;--green-dim: rgba(34, 197, 94, .14);--amber: #f59e0b;--amber-dim: rgba(245, 158, 11, .14);--red: #ef4444;--red-dim: rgba(239, 68, 68, .14);--blue: #3b82f6;--blue-dim: rgba(59, 130, 246, .14);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fs-xs: 12px;--fs-sm: 12.5px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#43434d}a{color:inherit;text-decoration:none}button{font-family:inherit}
