@font-face{font-family:Barlow;src:url(Barlow-Regular.ttf)}@font-face{font-family:Barlow;src:url(Barlow-SemiBold.ttf);font-weight:600}@font-face{font-family:Barlow;src:url(Barlow-Bold.ttf);font-weight:700}
:root{color-scheme:dark;--bg:#131518;--surface:#1b1e21;--border:#383c40;--text:#f5f4ef;--sub:#b6bdc0;--muted:#9ca5aa;--hot:#d50810;--pink:#ff7376;--f:Barlow,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;font:16px var(--f);background:var(--bg);color:var(--text)}button,select,input{font:inherit}button,a,select,input{touch-action:manipulation}button,a{color:inherit}a{text-decoration:none}button,select{cursor:pointer}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #ff9c9a;outline-offset:4px}svg{width:19px;height:19px;vertical-align:middle;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}i{font-style:normal;display:inline-flex;align-items:center}button,a{transition:background .15s,color .15s,border-color .15s}em{font-style:normal;color:#737b7e}[hidden]{display:none!important}
.bar{height:76px;border-bottom:1px solid #35383a;background:#101214}.bar-inner,main{max-width:1600px;margin:auto;padding:0 clamp(18px,3.1vw,50px)}.bar-inner,.brand,.notes-link,.viewer-foot,.viewer-foot>div,.viewer-foot a,.viewer-foot>span,footer a,.dialog-foot a,.dialog-head,.dialog-buttons,.run-button,.cam-actions,.play-row,.play,.aside-title,.segmented,.segmented button,.camera-menu,.canvas-top,.camera-tag,.title-row,.projects button,.speed,.project-text{display:flex;align-items:center}.bar-inner{height:100%;gap:23px}.brand{gap:10px}.brand img{width:41px;height:41px;object-fit:contain}.brand>span{font-weight:700;font-size:20px;letter-spacing:.09em;line-height:1}.brand small{display:block;margin-top:4px;font-size:11px;letter-spacing:.035em;font-weight:400;color:var(--sub)}.bar-rule{height:27px;width:1px;background:var(--border)}.studio-name{font-size:17px;color:#d9dcdb}.notes-link{margin-left:auto;gap:8px;color:var(--sub);font-size:15px}.notes-link:hover,footer a:hover{color:white}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding-top:25px}.projects button{padding:0 16px 0 0;gap:13px;text-align:left;position:relative;border:1px solid #33383b;background:#1a1d20;min-width:0;border-radius:9px;overflow:hidden}.projects button:hover{border-color:#666c70}.projects button[aria-current=true]{border-color:#bc5355;background:#242024}.projects button[aria-current=true]::after{content:'';position:absolute;left:0;inset-block:0;width:3px;background:var(--hot)}.projects img{width:87px;align-self:stretch;height:68px;object-fit:cover}.project-text{align-items:flex-start;flex-direction:column;gap:4px}.project-text small,.eyebrow,.camera-menu label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted)}.project-text b{font-size:18px;font-weight:600;line-height:1.1}.title-row{justify-content:space-between;gap:15px;margin:28px 0 18px}.eyebrow{margin:0 0 7px;color:#b6bcbf}h1,h2,h3,h4,p{margin:0}h1{font-weight:600;font-size:clamp(32px,3.25vw,54px);line-height:1.04;letter-spacing:-.044em}.segmented{border:1px solid var(--border);border-radius:8px;padding:3px;background:#131518;gap:3px}.segmented button{gap:7px;padding:9px 14px;color:var(--sub);border-radius:5px;font-size:15px;white-space:nowrap}.segmented button[aria-pressed=true]{background:#34383a;color:white}.segmented button:hover{background:#272b2e}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,26%);align-items:stretch;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.viewer{display:flex;flex-direction:column}.canvas-wrap{position:relative;isolation:isolate;flex:1;min-height:330px;min-width:0;aspect-ratio:1.86;overflow:hidden;background:#bcc8cb}.canvas-wrap #poster,.canvas-wrap #surface,.canvas-wrap video{position:absolute;inset:0;width:100%;height:100%}#poster{object-fit:cover}#surface{touch-action:none}#surface canvas{display:block;width:100%;height:100%}.canvas-wrap video{background:#101315;object-fit:contain;z-index:6}.canvas-top{position:absolute;inset:13px 14px auto;justify-content:space-between;pointer-events:none}.canvas-top button,.camera-menu{pointer-events:auto}.camera-tag{gap:8px;font-size:12px;background:#222b30e6;color:white;padding:8px 11px;border-radius:4px;letter-spacing:.085em;text-transform:uppercase;font-weight:600}.dot{width:7px;height:7px;border-radius:50%;background:#f15d61}.cam-actions{gap:5px}.cam-actions button,.icon-btn,.dialog-head>button{border:1px solid #596266;border-radius:6px;color:white;width:36px;height:34px;display:grid;place-content:center;background:#222b30e6}.cam-actions button[aria-pressed=true]{background:#6e292e;border-color:#df7374}.camera-menu{position:absolute;gap:8px;bottom:14px;right:14px;border:1px solid #69747780;border-radius:5px;padding:6px 8px;background:#283135eb;color:white}.camera-menu label{font-size:10px;color:#c1c9cd}.camera-menu select,.speed select{border:0;background:transparent;color:inherit;outline-offset:1px;font-size:13px;font-weight:600}.camera-menu option,.speed option{background:#292e31;color:white}.axes{position:absolute;left:17px;bottom:14px;color:#455359;pointer-events:none}.axes svg{width:42px;height:42px}.loading,#fallback{position:absolute;left:50%;transform:translateX(-50%);background:#252d30ea;padding:9px 15px;border-radius:4px;color:#fff;font-size:13px}.loading{top:48%}#fallback{bottom:12px;text-align:center}#fallback span{padding:0 3px}.transport{padding:15px 20px 12px;background:#1b1f22}.play-row{gap:12px}.play{gap:8px;background:var(--hot);border:1px solid #e72b33;border-radius:6px;padding:8px 15px;min-width:113px;justify-content:center;color:#fff;font-weight:600}.play:hover,#runStart:hover{background:#ee2029}.play svg{width:15px;height:15px}.icon-btn{width:32px;height:31px;background:transparent;border-color:#454c50;color:#d9dede}.time{color:var(--sub);font-size:14px;font-variant-numeric:tabular-nums}.time b{color:#f1f2ee;font-weight:600}.time>span:first-of-type{color:#677377;margin:0 3px}.speed{margin-left:auto;gap:6px;color:var(--muted);font-size:13px}.speed select{border:1px solid var(--border);padding:4px;border-radius:4px}input[type=range]{width:100%;accent-color:#e34044;margin:14px 0 0;height:14px;cursor:pointer}.viewer-foot{border-top:1px solid var(--border);padding:13px 17px;gap:10px;justify-content:space-between;color:var(--sub);font-size:13px}.viewer-foot>span,.viewer-foot a,.viewer-foot>div{gap:6px}.viewer-foot>div{gap:16px}.viewer-foot svg{width:15px;height:15px}.viewer-foot small{font-size:10px;color:var(--muted);border:1px solid #42484b;padding:1px 3px;border-radius:3px}.viewer-foot a:hover{color:white}
.sidebar{display:flex;flex-direction:column;padding:20px 18px 15px}.aside-title{justify-content:space-between;gap:6px;margin-bottom:14px}h2{font-size:23px;font-weight:600;letter-spacing:-.025em}.state{font-size:12px;color:#c3d1c6;padding:3px 8px;border:1px solid #48594e;border-radius:20px}.state[data-state=Hold]{border-color:#dc8e55;color:#ffc28a}.steps{list-style:none;padding:0;margin:0}.steps li+li{margin-top:4px}.steps button{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:11px;text-align:left;padding:9px 7px;border-radius:6px;width:100%;border:1px solid transparent}.steps button:hover{background:#2c3032}.steps button[aria-current=step]{background:#37272a;border-color:#673638}.steps .num{width:24px;height:24px;display:grid;place-content:center;border:1px solid #586066;border-radius:50%;color:#c0c7c9;font-size:12px}.steps [aria-current=step] .num{color:#fff;background:#c21c27;border-color:#db4650}.steps .passed .num{border-color:#64766b;color:#bdd7c7}.steps b,.steps small{display:block}.steps b{font-size:16px;font-weight:600}.steps small{color:var(--muted);font-size:13px;margin-top:2px}.stage-note{padding:15px 1px 14px;margin:13px 0 0;border-top:1px solid var(--border)}.stage-note p{font-size:15px;line-height:1.34;color:#d7dcdd;margin-top:6px}.stage-note .eyebrow{font-size:10px}.run-button{margin-top:auto;width:100%;gap:8px;text-align:left;color:#e5e8e4;border:1px solid #43494d;border-radius:5px;padding:8px 10px;font-size:14px}.run-button i:last-child,.run-button>svg:last-child{margin-left:auto}.run-button:hover{background:#303638}footer{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:13px;padding:20px 0 27px}footer a{gap:7px}footer a span{color:#d7dcde}footer em{margin:0 4px}footer svg{width:14px;height:14px}
dialog{border:1px solid #4b5154;background:#1b1e21;border-radius:12px;color:var(--text);width:min(520px,calc(100vw - 32px));max-height:87dvh;overflow:auto;padding:25px;font:16px var(--f);box-shadow:0 14px 80px #0008}dialog::backdrop{background:#080a0dba}.dialog-head{justify-content:space-between;gap:12px;margin-bottom:18px}.dialog-head>button{background:none;border-color:#454a4e}.dialog-head h2{font-size:30px}.dialog-head .eyebrow{margin-bottom:5px}dialog h3{font-size:21px;margin:12px 0 6px}dialog p{color:#c0c8ca;line-height:1.45}dialog h4{font-size:15px;margin:18px 0 4px;color:#e2e5e4}.dialog-foot{border-top:1px solid var(--border);padding-top:13px;margin-top:20px}.dialog-foot a{gap:8px;color:#ff9597;font-size:14px}.check{display:flex;gap:10px;align-items:center;margin:13px 0}.check input{accent-color:var(--hot);width:17px;height:17px}.fault{display:grid;gap:5px;margin-top:18px;color:var(--sub)}.fault select{border:1px solid #464d51;border-radius:5px;background:#23282b;color:#fff;padding:9px}.dialog-buttons{gap:8px;margin:16px 0}.dialog-buttons button{padding:9px 14px;border:1px solid #586065;border-radius:5px}.dialog-buttons #runStart{background:var(--hot);border-color:#d73740}#runMsg{margin-top:13px;color:#ffd4b0}dialog details{padding-top:12px;border-top:1px solid var(--border);font-size:14px;color:var(--sub)}summary{cursor:pointer}#history{padding-left:20px;line-height:1.55}.expanded{position:fixed;inset:1.5vh 1.3vw;z-index:12;background:var(--bg);box-shadow:0 0 0 40px #080a0de8}.expanded .canvas-wrap{height:100%;min-height:0;aspect-ratio:auto}.film-mode #transport,.film-mode .camera-menu,.film-mode .axes,.film-mode .canvas-top{display:none}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 260px;gap:10px}.sidebar{padding:15px 12px}.steps button{padding:7px 4px}.viewer-foot{flex-wrap:wrap}.projects img{width:64px}.project-text b{font-size:16px}.projects button{gap:8px}.canvas-wrap{min-height:315px}.bar{height:64px}}
@media(max-width:760px){.bar-inner,main{padding-inline:14px}.bar{height:60px}.bar-inner{gap:12px}.brand img{width:34px;height:34px}.brand>span{font-size:16px}.brand small{font-size:9px}.studio-name{font-size:14px}.notes-link{font-size:13px;gap:5px}.notes-link svg{width:16px}.projects{gap:6px;padding-top:14px}.projects button{align-items:flex-start;padding:0 0 9px;flex-direction:column;gap:8px;border-radius:6px}.projects img{width:100%;height:46px;object-fit:cover;object-position:50% 43%}.project-text{padding:0 6px;gap:4px}.project-text small{font-size:8px;letter-spacing:.045em}.project-text b{font-size:13px}.title-row{align-items:flex-start;gap:11px;flex-direction:column;margin:20px 0 12px}.title-row h1{font-size:35px}.title-row .eyebrow{font-size:10px}.segmented button{font-size:13px;padding:7px 12px}.workspace{display:flex;flex-direction:column}.canvas-wrap{flex:auto;min-height:0;aspect-ratio:1.38}.transport{padding:12px}.viewer-foot{padding:10px 12px}.viewer-foot>span{display:none}.viewer-foot>div{justify-content:space-between;width:100%}.sidebar{padding:17px}.aside-title{margin-bottom:9px}.steps button{padding:9px}.stage-note{margin-top:10px}.canvas-top{inset:8px 8px auto}.camera-menu{bottom:8px;right:8px}.axes{bottom:7px;left:8px}.axes svg{width:31px}.viewer,.sidebar{border-radius:8px}.camera-tag{font-size:10px}.cam-actions button{width:31px;height:29px}.camera-menu label{font-size:9px}.camera-menu select{font-size:12px}.state{font-size:12px}footer{flex-direction:column;gap:8px;padding:15px 0}#fallback{font-size:11px;bottom:49px}#gesture{display:none}.expanded{inset:0}.expanded .canvas-wrap{flex:1}.brand small{letter-spacing:0}}
@media(max-width:375px){.bar-rule,.studio-name{display:none}.project-text b{font-size:12px}.play-row{gap:8px}.time{font-size:12px}.speed{font-size:12px}.project-text small{letter-spacing:0;font-size:7px}}
.single-project .projects,.single-project footer a{display:none}.single-project footer{justify-content:flex-end}
.play,.time,.speed,.notes-link{white-space:nowrap}
@media(max-width:480px){.bar-rule,.studio-name{display:none}.bar-inner{gap:8px}.brand small{white-space:nowrap}.play-row{gap:8px}.play{min-width:92px;padding:8px 10px;font-size:14px}.time,.speed{font-size:12px}.speed{gap:4px}.speed select{font-size:12px}.transport{padding-inline:10px}}
