:root{color-scheme:light;--ink:#1f302a;--muted:#728078;--line:#e0e6df;--paper:#f4f6f1;--white:#fff;--green:#28725b;--soft:#e7f3eb;--dark:#153f34;--amber:#805f25;--amber-soft:#faf4e3;--shadow:0 8px 30px rgba(22,50,37,.045);font-family:"Segoe UI",Tahoma,sans-serif;color:var(--ink);background:var(--paper)}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}button:focus-visible,video:focus-visible,canvas:focus-visible{outline:3px solid #54a98a;outline-offset:3px}.workspace{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#fff;border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column;z-index:2}.identity{display:flex;align-items:center;gap:10px;padding:0 6px 50px}.identity-mark{height:34px;width:34px;border-radius:8px;background:var(--dark);display:flex;align-items:flex-end;justify-content:center;gap:3px;padding-bottom:8px}.identity-mark span{width:3px;border-radius:3px;background:#b4e5cc}.identity-mark span:nth-child(1){height:9px}.identity-mark span:nth-child(2){height:16px}.identity-mark span:nth-child(3){height:12px}.identity strong{display:block;font-size:13px;letter-spacing:-.02em}.identity small{display:block;color:#99a59b;font-size:8px;letter-spacing:.14em;font-weight:700;margin-top:4px}.side-label{font-size:9px;letter-spacing:.14em;font-weight:700;color:#9aa79d;padding:0 10px;margin-bottom:13px}.side-item{min-height:43px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:600;color:#819087;margin:2px 0}.side-item.active{background:#eaf4ec;color:#266f54}.side-item small{margin-left:auto;font-size:9px;font-weight:500;color:#9ba69e}.side-icon{font-size:15px;width:19px;text-align:center}.side-arrow{margin-left:auto;font-size:13px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:19px 7px 0;display:flex;gap:10px;align-items:flex-start}.sidebar-bottom strong{font-size:11px;display:block}.sidebar-bottom small{display:block;font-size:10px;color:#93a096;margin-top:3px}.local-dot,.live-dot,.dot,.eyebrow-dot{display:inline-block;width:7px;height:7px;background:#3caa73;border-radius:50%;flex:none}.local-dot{margin-top:4px}
.main{margin-left:224px;min-width:0;flex:1}.topbar{height:64px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 40px}.breadcrumb{font-size:12px;color:#a1aba3}.breadcrumb span{padding:0 11px;color:#ccd3cd}.breadcrumb strong{color:#47554c;font-weight:600}.topbar-right{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.1em;font-weight:700;color:#829087}.topbar-right .dot{width:6px;height:6px}.topbar-right .separator{height:16px;width:1px;background:var(--line);margin:0 5px}#top-source{font-size:10px;letter-spacing:0;font-weight:500;color:#829087}.page{max-width:1600px;margin:auto;padding:40px 40px 26px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:26px}.eyebrow,.section-kicker,.detail-label{font-size:9px;font-weight:700;letter-spacing:.14em;color:#89978c}.eyebrow{display:flex;align-items:center;gap:7px;color:#45816b}.eyebrow-dot{width:6px;height:6px}.page-heading h1{font-size:35px;letter-spacing:-.045em;line-height:1.1;margin:9px 0 9px;font-weight:650}.page-heading p{margin:0;color:#7a8980;font-size:13px;line-height:1.5}.recording-pill{display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:white;padding:9px 15px 9px 10px;border-radius:8px;min-width:212px}.recording-icon{height:32px;width:32px;display:grid;place-items:center;border-radius:5px;background:#edf5ef;color:#3e8464;font-size:11px}.recording-pill small{display:block;color:#a1aca3;font-size:8px;font-weight:700;letter-spacing:.12em}.recording-pill strong{display:block;margin-top:4px;font-size:11px}.status-bar{background:var(--amber-soft);border:1px solid #f0e7c9;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;margin-bottom:20px}.status-copy{display:flex;align-items:flex-start;gap:10px;font-size:11.5px;line-height:1.5;color:#846d3e}.status-copy strong{color:#6e5629}.status-icon{border:1px solid #caaa5a;border-radius:50%;font-size:10px;font-weight:700;height:16px;width:16px;text-align:center;flex:none;color:#9d7b30}.status-tag{white-space:nowrap;font-weight:700;letter-spacing:.08em;color:#a58c56;font-size:9px}.primary-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(320px,1fr);gap:18px;align-items:stretch}.panel{background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:0}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:22px 23px 18px}.panel-header h2{font-size:17px;letter-spacing:-.035em;line-height:1.2;margin:7px 0 0;font-weight:650}.panel-meta,.pipeline-count{font-size:9px;letter-spacing:.11em;font-weight:700;color:#8b9a8e;display:flex;gap:7px;align-items:center;padding-top:4px}.live-dot{width:6px;height:6px}.video-frame{position:relative;margin:0 23px;overflow:hidden;background:#15231e;border-radius:6px;aspect-ratio:16/9}.video-frame video{width:100%;height:100%;object-fit:contain;display:block}.video-overlay{pointer-events:none;position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:8px;color:#fff;text-shadow:0 1px 5px #0009;font-size:8px;font-weight:700;letter-spacing:.14em}.video-details{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px;padding:18px 23px}.video-details>div+div{border-left:1px solid #edf0ec;padding-left:20px}.detail-label{display:block;font-size:8px}.video-details strong{display:block;font-size:12px;margin-top:7px;font-weight:650;color:#33463b}.video-details strong span{color:#a3afa5;font-weight:500}.sample-row{border-top:1px solid #edf0ec;padding:13px 23px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8b9a8f;font-size:10px}.sample-row>div{display:flex;gap:7px}.sample-button{background:#f5f8f4;border:1px solid #e5ece5;border-radius:5px;color:#3c6e55;font-size:10px;font-weight:650;padding:6px 9px;cursor:pointer}.sample-button:hover{background:#e7f1e9}.sample-button span{margin-left:5px;color:#8bab94}
.pipeline{display:flex;flex-direction:column}.pipeline .panel-header{padding-bottom:7px}.panel-intro{font-size:11px;color:#8c998e;margin:0 23px 14px;line-height:1.5}.steps{padding:0 13px}.step{background:none;border:1px solid transparent;text-align:left;border-radius:7px;width:100%;display:flex;align-items:center;gap:10px;padding:10px 9px;cursor:pointer;color:var(--ink)}.step:hover{background:#f6f9f5}.step.active{background:#f0f7f1;border-color:#e4efe5}.step-number{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:#f1f4f0;color:#9ba99e;font-size:9px;font-weight:700;flex:none}.step.active .step-number{background:#d8eddf;color:#367d5c}.step-copy{min-width:0;flex:1}.step-copy strong{display:block;font-size:11px;font-weight:650}.step-copy small{display:block;color:#9ba89e;font-size:10px;margin-top:4px;line-height:1.25}.step-state{font-size:8px;font-weight:700;letter-spacing:.07em;color:#a5afa6}.step-state.ready{color:#56a575}.step-detail{margin:14px 23px 22px;padding:14px 15px;background:#f6f8f5;border:1px solid #edf1eb;border-radius:6px;margin-top:auto}.detail-head{display:flex;justify-content:space-between;gap:8px;color:#98a69b;font-size:8px;letter-spacing:.1em;font-weight:700;margin-bottom:10px}.detail-head span:last-child{color:#5b9574}.step-detail strong{font-size:11px}.step-detail p{font-size:10px;color:#8b998f;line-height:1.55;margin:6px 0 0}.secondary-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(320px,1fr);gap:18px;margin-top:18px}.motion .panel-header{padding-bottom:10px}.speed-reading{display:flex;align-items:baseline;gap:5px;color:#2f6d51}.speed-reading strong{font-size:24px;letter-spacing:-.05em;font-weight:600}.speed-reading>span{font-size:10px;color:#6f8e79}.speed-reading small{display:block;font-size:8px;letter-spacing:.08em;color:#a2aea4;margin-top:3px}.chart-wrap{height:86px;margin:0 23px;position:relative;border-bottom:1px solid #e8eee8}.chart-wrap canvas{height:100%;width:100%;display:block;cursor:crosshair}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:#a1ada4;font-size:10px;pointer-events:none}.chart-labels{padding:8px 23px 0;display:flex;justify-content:space-between;color:#9eaba1;font-size:9px;font-weight:600;letter-spacing:.04em}.chart-labels span:nth-child(2){font-size:8px;letter-spacing:.1em}.chart-hint{font-size:8px;letter-spacing:0;text-transform:none}.chart-note{margin:13px 23px 20px;font-size:10px;color:#95a298;line-height:1.4}.outputs .panel-header{padding-bottom:10px}.pending-chip{background:#f4f6f3;color:#96a49a;font-size:8px;font-weight:700;letter-spacing:.08em;border-radius:4px;padding:5px 7px}.empty-mark{width:34px;height:34px;margin:5px 23px 10px;border:1px solid #dfe9e1;background:#f3f8f3;border-radius:7px;display:flex;justify-content:center;align-items:center;gap:1px;color:#91ad98;font-size:13px}.outputs h3{font-size:12px;margin:0 23px 6px}.outputs p{font-size:10px;line-height:1.55;color:#91a095;margin:0 23px 14px}.output-tags{border-top:1px solid #edf0ec;display:flex;gap:0;padding:12px 23px 14px}.output-tags span{flex:1;color:#a0aca2;font-size:9px}.output-tags strong{display:block;margin-top:6px;font-size:13px;color:#8a9a8f}.footer{display:flex;justify-content:space-between;gap:20px;color:#a5b0a6;font-size:9px;margin-top:24px;letter-spacing:.05em}.footer i{font-style:normal;color:#c8d1c9;padding:0 5px}.footer span:last-child{letter-spacing:0}
@media(max-width:1180px){.sidebar{width:190px}.main{margin-left:190px}.topbar{padding:0 24px}.page{padding:32px 24px}.primary-grid,.secondary-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr)}.status-tag{display:none}}@media(max-width:850px){.sidebar{position:static;width:auto;padding:15px 20px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.identity{padding:0;margin-right:auto}.sidebar .side-label,.sidebar .side-item,.sidebar-bottom{display:none}.workspace{display:block}.main{margin:0}.topbar{height:46px}.page{padding:26px 18px}.primary-grid,.secondary-grid{grid-template-columns:1fr}.pipeline{min-height:0}.step-detail{margin-top:14px}.page-heading h1{font-size:30px}}@media(max-width:500px){.topbar-right #top-source,.topbar-right .separator{display:none}.page-heading{display:block}.recording-pill{margin-top:18px;width:max-content}.status-bar{align-items:flex-start}.video-frame{margin:0 14px}.panel-header{padding:20px 16px 15px}.video-details{padding:16px 14px;gap:7px}.video-details>div+div{padding-left:8px}.sample-row{padding:12px 14px}.footer{display:block}.footer span{display:block;margin-bottom:7px}}

.cache-diagnostics{margin:0 23px;padding:9px 0;border-top:1px solid #edf0ec;color:#718078;font-size:10px}.cache-diagnostics summary{cursor:pointer;font-weight:650;color:#557260}.cache-diagnostics p{line-height:1.5;margin:7px 0 0;overflow-wrap:anywhere}@media(max-width:500px){.cache-diagnostics{margin:0 14px}}

/* Transport adapted from apps/frontend's recording timeline, without frame editing. */
.timeline-panel{margin-top:18px;padding:20px 23px}.timeline-top{display:flex;align-items:center;gap:18px;font-size:12px}.timeline-note{color:var(--muted)}#timeline-time{margin-left:auto;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.scrubber-wrap{margin:17px 0 20px;padding:4px 0}#scrubber{display:block;width:100%;height:26px;margin:0;accent-color:var(--green);cursor:pointer;touch-action:pan-y}.timeline-controls,.transport,.seek-control,.speed-label{display:flex;align-items:center;gap:10px}.timeline-controls{justify-content:space-between;flex-wrap:wrap;gap:18px}.timeline-panel button,.timeline-panel input,.timeline-panel select{font:inherit}.timeline-panel button{cursor:pointer;min-height:38px}.timeline-panel button:disabled{opacity:.45;cursor:not-allowed}.transport-step{min-width:38px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:17px!important}.transport-play{min-width:88px;border:0;border-radius:5px;background:var(--ink);color:white;font-weight:600!important}.speed-label,.seek-control{font-size:12px;color:var(--muted)}.speed-label{margin-left:10px}.timeline-panel select,.seek-control input{border:1px solid var(--line);border-radius:5px;background:#fff;min-height:38px;padding:7px 10px;color:var(--ink)}.seek-control input{width:110px;min-width:0}.timeline-panel input:focus-visible,.timeline-panel select:focus-visible{outline:3px solid #54a98a;outline-offset:3px}.playback-status{font-size:11px;color:var(--muted);margin:10px 0 0}.playback-status:empty{display:none}
@media(max-width:600px){.timeline-panel{padding:17px 15px}.timeline-top{flex-wrap:wrap;gap:8px}.timeline-note{display:none}#timeline-time{font-size:11px}.timeline-controls{gap:14px}.transport{gap:7px;flex-wrap:wrap}.transport-play{min-width:72px}.speed-label{margin-left:3px}.seek-control{width:100%}.seek-control input{flex:1;width:80px}.timeline-panel select{padding:7px}}

.preview-details{border-top:1px solid var(--line);margin-top:14px}.preview-details>summary{cursor:pointer;padding:14px 23px;color:#557260;font-size:12px;font-weight:600;list-style-position:inside}.preview-details>summary:hover{background:#f7faf7}.preview-details[open]>summary{border-bottom:1px solid #edf0ec;margin-bottom:8px}.preview-details>summary:focus-visible{outline:3px solid #54a98a;outline-offset:-3px}.preview-details .frame-sync-bar{margin-top:8px}.preview-details .sample-row{border-bottom:0}@media(max-width:500px){.preview-details>summary{padding:14px 16px}}

.stage-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;padding:0 0 0 5px;border:0;border-radius:50%;background:rgba(244,247,239,.95);color:var(--ink);font-size:25px;cursor:pointer;box-shadow:0 3px 22px #0002}.stage-play:hover{background:#fff}.stage-play:disabled{opacity:.5;cursor:wait}.stage-play:focus-visible{outline:3px solid #54a98a;outline-offset:4px}.frame-tag{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:9px;padding:9px 12px;background:rgba(25,35,29,.88);color:#f4f7ef;border-radius:4px;pointer-events:none;font:600 13px ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.frame-tag .live-dot{width:6px;height:6px;background:#c1d2a5}.frame-tag-label{border-left:1px solid #889587;padding-left:10px;font-size:9px;font-weight:400;letter-spacing:.09em;color:#bdc7b9}.video-frame:fullscreen{width:100vw;height:100vh;margin:0;border-radius:0;aspect-ratio:auto;background:#15231e}.video-frame:fullscreen .stage-play{width:88px;height:88px;font-size:33px}.video-frame:fullscreen .frame-tag{bottom:24px;left:24px}@media(max-width:600px){.stage-play{width:52px;height:52px;font-size:21px}.frame-tag{bottom:8px;left:8px;padding:6px 8px;font-size:11px;gap:7px}.frame-tag-label{font-size:8px;padding-left:7px}.timeline-controls .seek-control{flex-wrap:wrap}.timeline-controls #fullscreen{margin-left:auto}}

.exit-fullscreen{position:absolute;top:12px;right:12px;z-index:2;background:rgba(25,35,29,.88);color:#fff;border:1px solid #728078;border-radius:4px;padding:8px 12px;cursor:pointer;font-size:12px}

.video-buffer-status{margin:0;padding:12px 23px;color:var(--muted);font-size:12px;line-height:1.6;border-top:1px solid var(--line);overflow-wrap:anywhere}.recording>.video-buffer-status+.preview-details{margin-top:0}.map-dimensions{display:flex;gap:0;flex:none}.map-dimensions .sample-button{border-radius:0}.map-dimensions .sample-button:first-child{border-radius:5px 0 0 5px}.map-dimensions .sample-button:last-child{border-radius:0 5px 5px 0;border-left:0}@media(max-width:500px){.video-buffer-status{padding:11px 14px;font-size:11px}}
.approach-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 18px;font-size:12px}.approach-bar label{font-weight:650}.approach-bar select{font:inherit;min-height:36px;max-width:100%;border:1px solid var(--line);border-radius:5px;background:#fff;padding:6px 9px;color:var(--ink)}.approach-bar select:focus-visible{outline:3px solid #54a98a;outline-offset:3px}#approach-status{color:var(--muted);font-size:11px}.approach-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 12px;margin:0 23px 14px;font-size:10px}.approach-facts dt{color:#91a095}.approach-facts dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.approach-limitations{font-size:10px;line-height:1.5;color:#91a095;margin:0 23px 16px}.outputs #approach-window{color:var(--ink);font-size:11px}
.journey-panel{margin-top:18px}.journey-table-wrap{overflow-x:auto;margin:0 23px 6px;border:1px solid var(--line);border-radius:6px}.journey-table{border-collapse:collapse;width:100%;font-size:11px;font-variant-numeric:tabular-nums}.journey-table th,.journey-table td{padding:6px 9px;text-align:right;white-space:nowrap;border-bottom:1px solid #edf1eb}.journey-table th:first-child,.journey-table td:first-child,.journey-table th:last-child,.journey-table td:last-child{text-align:left}.journey-table th{position:sticky;top:0;background:#f6f8f5;color:#55665b;font-weight:650}.journey-table tbody tr{cursor:pointer}.journey-table tbody tr:hover{background:#f3f8f3}.journey-table tbody tr.current{background:#e3f1e8;font-weight:600}.journey-table tbody tr:focus-visible{outline:3px solid #54a98a;outline-offset:-3px}
