:root{--bg:#111d29;--surface:#192735;--line:rgba(204,220,230,.13);--ink:#eef2f3;--muted:#a7b7c2;--accent:#efb24b;--skyink:#223e48;--top:68px;--nav:72px;--side:342px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--bg);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.3;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.micro{font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;font-weight:500}.sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-60px;left:15px;z-index:300;background:var(--accent);color:var(--bg);padding:9px}.skip:focus{top:10px}[hidden]{display:none!important}.topbar{position:absolute;top:0;left:0;right:0;height:var(--top);display:flex;align-items:center;padding:0 26px;border-bottom:1px solid var(--line);z-index:20;background:#111d29;gap:32px}.brand{display:flex;align-items:center;gap:17px;text-decoration:none;flex:none}.brand img{height:25px;width:auto;max-width:130px;object-fit:contain}.brand span{height:24px;width:1px;background:var(--line)}.title-lockup{border-left:1px solid var(--line);padding-left:25px;display:flex;flex-direction:column;line-height:1.4}.title-lockup strong{font-size:13px;font-weight:500;letter-spacing:.01em}.title-lockup span{font:9px/1.6 ui-monospace,monospace;letter-spacing:.13em;color:var(--muted)}.about{margin-left:auto;border:0;background:none;color:var(--muted);display:flex;align-items:center;gap:8px;font-size:11px;padding:8px 0}.about svg{width:18px;height:18px}.dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.workspace{position:absolute;top:var(--top);bottom:var(--nav);left:0;right:0;display:flex}.narrative{width:var(--side);padding:27px 25px 18px;flex:none;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#465560 transparent;background:var(--bg);z-index:5}.audience{color:#94a7b5;margin-bottom:14px}.phase{display:flex;border:1px solid var(--line);padding:3px;gap:3px;margin-bottom:22px}.phase button{flex:1;background:transparent;border:0;color:#aabac4;font-size:11px;padding:8px 5px;line-height:1.2;white-space:nowrap}.phase button[aria-pressed=true]{background:#2a3b48;color:#fff}.phase button:hover{color:var(--accent)}.eyebrow{font:9px/1.4 ui-monospace,Consolas,monospace;color:var(--accent);letter-spacing:.09em;margin-bottom:13px}h1{font-size:29px;line-height:1.15;letter-spacing:-.036em;font-weight:500;margin:0 0 18px;text-wrap:balance}#stage-body{color:#bdcbd2;line-height:1.75;font-size:12.5px;margin:0}p{margin:0}.outcome{margin-top:20px;padding-top:15px;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:9px}.outcome svg{color:var(--accent);stroke:currentColor;fill:none;width:16px;height:16px;flex:none;margin-top:2px;stroke-width:1.6}.outcome p{font-size:12px;line-height:1.6;color:#e2e9ed}.stage-tools{margin-top:20px}.primary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:var(--accent);border:1px solid var(--accent);color:#162432;width:100%;font:600 12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-decoration:none;text-align:left}.primary:hover{background:#ffc66d;border-color:#ffc66d}.primary svg{width:18px}.secondary{display:block;background:none;border:1px solid var(--line);width:100%;color:var(--ink);padding:10px 12px;font-size:11px;text-align:left;margin-top:7px}.secondary:hover{border-color:var(--accent)}.tool-note{font-size:10px;line-height:1.55;color:var(--muted);margin-top:9px}.tool-row{display:flex;gap:6px}.tool-row .secondary{flex:1}.asset-link{display:flex;align-items:center;gap:10px;padding:11px 12px;width:100%;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:left;line-height:1.4;margin-top:7px}.asset-link:hover{border-color:var(--accent)}.asset-link strong{display:block;font-size:11px;font-weight:500}.asset-link small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.asset-link svg{color:var(--accent);width:17px}.asset-link .tag{margin-left:auto;white-space:nowrap;font-size:9px;color:var(--accent)}.measure{margin-top:auto;padding-top:27px}.measure .micro{color:#7f97a7;font-size:9px}.measure p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}.sidebar-end{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.sidebar-end>span{font:11px ui-monospace,monospace;letter-spacing:.05em;color:var(--muted)}.sidebar-end>div{display:flex;gap:8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:0;flex:none}.icon-btn:hover{background:#2d3d49}.next-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-width:108px;height:44px;flex:none;color:#15232d;background:var(--accent);border:1px solid var(--accent);padding:0 15px;font-size:12px;font-weight:600;pointer-events:auto;box-shadow:0 3px 12px #7b551022}.next-btn:hover{background:#ffc46c;border-color:#ffc46c;color:#15232d}.next-btn:active{transform:translateY(1px)}.next-btn svg{width:16px}
.scene{position:relative;flex:1;min-width:0;background:#cbdadf;overflow:hidden}.viewport{position:absolute;inset:0}.viewport canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.viewport canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.scene-top{position:absolute;top:22px;left:26px;right:22px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.scene-caption{color:var(--skyink);text-shadow:0 1px 5px rgba(255,255,255,.35)}.scene-caption .micro{font-size:9px}.scene-caption h2{font-size:15px;font-weight:500;letter-spacing:-.025em;margin:6px 0 0;line-height:1.3}.scene-controls{display:flex;gap:6px;align-items:flex-start;pointer-events:auto;flex:none}.scene-controls .icon-btn,.camera-controls .icon-btn{color:#29434e;background:rgba(245,249,248,.82);border:1px solid rgba(52,82,90,.20)}.scene-controls .icon-btn:hover,.camera-controls .icon-btn:hover{background:#fff}.scene-controls .icon-btn[aria-pressed=true]{background:#213f4c;color:white;border-color:#213f4c}.quality{height:34px;border:1px solid rgba(52,82,90,.20);background:rgba(245,249,248,.82);display:flex}.quality select{color:#29434e;background:transparent;font-size:10px;border:0;padding:0 21px 0 9px;max-width:126px}.camera-controls{position:absolute;bottom:105px;right:22px;display:flex;flex-direction:column;gap:5px}.camera-controls>span{height:3px}.controls-hint{position:absolute;left:26px;bottom:74px;color:#3d565e;font-size:10px;pointer-events:none;text-shadow:0 1px 3px #ffffff66}.controls-hint i{font-style:normal;margin:0 6px}.scene-bottom{position:absolute;bottom:19px;left:26px;right:22px;display:flex;gap:20px;justify-content:space-between;align-items:flex-end;pointer-events:none}.scene-bottom p{max-width:490px;font-size:10px;color:#354f59;line-height:1.6;background:rgba(240,245,239,.90);border-left:2px solid #90a8a4;padding:8px 12px;text-wrap:pretty}.compass{display:flex;align-items:center;flex-direction:column;color:#234754;font:9px ui-monospace,monospace;gap:3px;min-width:34px;margin-right:1px}.compass svg{width:30px;height:30px;fill:#34515a}.legend{position:absolute;left:26px;top:86px;display:flex;gap:12px;font-size:10px;color:#284854;padding:6px 9px;background:rgba(250,252,249,.85);border:1px solid #d3ded9}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:10px;height:3px;background:#e7a53b}.legend i.cool{background:#258f9a}.legend i.return{background:#758498}.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.label{position:absolute;left:0;top:0;transform:translate(-50%,-100%);font:8px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.04em;white-space:nowrap;color:#284852;background:rgba(247,250,247,.93);border:1px solid #a8bcbdaa;padding:6px 8px;box-shadow:0 2px 5px #16344310;transition:opacity .2s;z-index:1}.label:after{content:'';position:absolute;left:50%;top:100%;height:13px;width:1px;background:#3e626478}.label.interactive{background:#193949;color:#f5ede1;border:1px solid #b9d1d5;pointer-events:auto;cursor:pointer;padding:7px 9px;font-size:9px;z-index:3}.label.interactive:hover{background:#285266}.label.interactive:before{content:'';width:5px;height:5px;display:inline-block;margin-right:6px;background:var(--accent)}.chapters{position:absolute;bottom:0;left:0;right:0;height:var(--nav);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(7,1fr);padding:0 22px;background:#142330;z-index:20}.chapter{position:relative;display:flex;align-items:center;gap:11px;background:transparent;color:#97acb9;border:0;border-right:1px solid var(--line);padding:14px 16px;text-align:left}.chapter:last-child{border-right:0}.chapter span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #546776;border-radius:50%;font:9px ui-monospace,monospace}.chapter strong{font-size:11px;font-weight:500}.chapter:before{content:'';position:absolute;left:16px;right:16px;top:-1px;height:2px;background:transparent}.chapter[aria-current=step]{color:#fff}.chapter[aria-current=step]:before{background:var(--accent)}.chapter[aria-current=step] span{color:var(--bg);background:var(--accent);border-color:var(--accent)}.chapter:hover{background:rgba(255,255,255,.03);color:#fff}
.proc-card{border:1px solid var(--line);background:#1a2b38;padding:12px}.proc-dots{display:flex;gap:6px;margin-bottom:12px}.proc-dots button{height:5px;border:0;background:#526373;flex:1;padding:0;min-height:20px;background-clip:content-box;padding-block:7px}.proc-dots button.on{background-color:var(--accent)}.proc-card strong{font-size:12px;display:block;margin:0 0 7px}.proc-card p{font-size:11px;color:#b7c7d1;line-height:1.6}.proc-card .primary{margin-top:12px;padding:9px 11px}.metrics-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:0 0 14px;border:1px solid var(--line)}.metrics-list div{padding:9px;background:#192a37}.metrics-list strong{display:block;font-size:11px;font-weight:500}.metrics-list span{display:block;font-size:9px;color:#a6bac7;line-height:1.5;margin-top:4px}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#dce6e7;color:#294450;z-index:30;gap:13px}.loader-mark{font-size:20px;font-weight:600;letter-spacing:-1px}.loader-mark span{font-weight:300;color:#7a999f;font-size:15px;margin:0 12px}.loading h2{font-size:18px;font-weight:500;margin:15px 0 0}.loading p{font-size:12px;color:#59737b}.loading>span{font:9px ui-monospace,monospace;color:#607b80;margin-top:14px}.loading-track{width:180px;height:2px;background:#b6c9ca;overflow:hidden}.loading-track i{display:block;width:40%;height:100%;background:#3b7880;animation:loading 1.2s infinite alternate ease-in-out}@keyframes loading{to{transform:translateX(150%)}}.fallback{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(#29455299,#173743cc),url('poster.webp') center/cover;z-index:31;padding:32px;color:white}.fallback>div{max-width:370px;padding:25px;background:#112736e8}.fallback h2{font-size:23px;line-height:1.25}.fallback p{font-size:12px;color:#d0dee4;margin:14px 0}.fallback .primary{width:auto}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%,20px);padding:10px 16px;color:white;background:#132c3bf2;border:1px solid #8aa3a566;z-index:80;font-size:11px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}#stats{position:absolute;right:20px;top:76px;white-space:pre;background:#0e2238df;color:#ddeee6;padding:10px;font:10px/1.7 ui-monospace,monospace;pointer-events:none;z-index:10}dialog{width:min(620px,calc(100vw - 36px));max-height:88dvh;background:#152734;color:#e7eef1;border:1px solid #6d81885c;padding:25px 30px 30px;box-shadow:0 30px 100px #0008;margin:auto}dialog::backdrop{background:#0b1d2cab;backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;color:var(--accent);margin-bottom:12px}dialog h2{font-size:25px;font-weight:500;line-height:1.2;letter-spacing:-.03em;margin:0 0 20px}.record-meta{display:grid;grid-template-columns:80px 1fr;gap:8px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;font-size:11px;color:#b7c9d3;margin-bottom:20px}.record-meta strong{font-weight:400;color:#f1f2ec}.record-page{background:#f0f1e9;color:#2b4248;padding:24px;position:relative;border-top:3px solid var(--accent)}.record-page .micro{color:#667b7c;font-size:8px}.record-page h3{font-size:18px;line-height:1.3;margin:15px 0 12px;font-weight:500}.record-page p{font:13px/1.8 Georgia,serif}.record-notice{padding:14px;border:1px solid #efb24b44;background:#efb24b0d;color:#f3d79f;font-size:11px;line-height:1.7;margin-top:18px}.record-source{margin-top:14px;font-size:10px;color:#93abb8;line-height:1.7}dialog .body-prose{font-size:13px;color:#bfd0da;line-height:1.8}dialog .body-prose h3{font-size:14px;font-weight:500;color:#fff;margin:21px 0 7px}dialog .body-prose p{margin:0 0 10px}dialog .body-prose .record-notice{margin-bottom:0}dialog .asset-link{padding:13px}dialog a{color:var(--accent)}.noscript{position:fixed;inset:68px 0 0;background:var(--bg);z-index:100;padding:40px}.noscript a{color:var(--accent)}
@media(min-height:920px) and (min-width:1000px){:root{--side:370px}.narrative{padding:34px 30px 22px}h1{font-size:33px}#stage-body{font-size:14px}.outcome p{font-size:13px}.stage-tools{margin-top:26px}.phase{margin-bottom:38px}}
@media(max-width:1100px){:root{--side:305px;--top:60px;--nav:65px}.narrative{padding:22px 20px 15px}h1{font-size:27px}.topbar{padding:0 20px;gap:22px}.brand{gap:13px}.brand img{height:22px}.scene-top{top:17px;left:20px;right:16px}.scene-caption h2{font-size:13px}.scene-caption .micro{font-size:8px}.scene-controls{gap:4px}.scene-controls .icon-btn{width:31px;height:31px}.quality{height:31px}.quality select{font-size:9px;width:102px}.chapter{padding:10px 8px;gap:8px}.chapters{padding:0 12px}.chapter strong{font-size:10px}.scene-bottom{left:20px;right:16px}.scene-bottom p{max-width:390px}.legend{left:20px}.camera-controls{right:16px}.controls-hint{left:20px;font-size:9px}.phase{margin-bottom:24px}.measure{padding-top:22px}.stage-tools{margin-top:17px}.outcome{margin-top:17px}}
@media(max-height:760px) and (min-width:681px){.narrative{padding-top:18px}.audience{margin-bottom:9px}.phase{margin-bottom:20px}h1{font-size:26px;margin-bottom:13px}#stage-body{font-size:12px;line-height:1.65}.outcome{margin-top:13px;padding-top:12px}.outcome p{font-size:11px}.stage-tools{margin-top:14px}.measure{padding-top:16px}.measure p{font-size:10px}.sidebar-end{margin-top:12px;padding-top:10px}.proc-card{padding:10px}.proc-card p{font-size:10px}.proc-dots{margin-bottom:5px}.primary{padding:10px 12px}}
@media(max-width:900px) and (min-width:681px){:root{--side:285px}.scene-caption{max-width:165px}.scene-controls{flex-wrap:wrap;justify-content:flex-end;max-width:126px}.scene-caption h2{font-size:12px}.title-lockup span{display:none}.title-lockup{padding-left:16px}.legend{top:102px;max-width:220px;flex-wrap:wrap;gap:6px}.scene-bottom p{max-width:285px}.controls-hint{max-width:260px}.chapter{gap:5px}.chapter span{width:22px;height:22px}.chapter strong{font-size:9px}}
@media(max-width:680px){:root{--top:52px;--nav:52px}.topbar{padding:0 15px;gap:12px}.brand{gap:11px}.brand img{height:19px}.brand span{height:20px}.title-lockup{display:none}.about{font-size:9px;gap:6px}.about svg{width:17px}.workspace{flex-direction:column}.scene{order:0;flex:none;height:48%;min-height:180px}.narrative{order:1;width:100%;flex:1;min-height:0;padding:17px 20px 16px;border-top:1px solid var(--line);overflow-y:auto;display:block}.audience{display:none}.phase{width:264px;margin:0 0 19px;padding:2px;gap:2px}.phase button{font-size:10px;padding:8px 6px}.eyebrow{font-size:8px;margin-bottom:9px}h1{font-size:26px;margin-bottom:12px}h1 br{display:none}#stage-body{font-size:12px;line-height:1.75}.outcome{margin-top:12px;padding-top:12px}.outcome p{font-size:11px}.stage-tools{margin-top:15px}.measure{padding-top:17px}.measure p{font-size:10px}.sidebar-end{margin-top:17px}.scene-top{top:12px;left:14px;right:12px}.scene-caption h2{display:none}.scene-caption .micro{font-size:8px}.scene-controls{gap:4px}.scene-controls .icon-btn{width:29px;height:29px}.scene-controls svg{width:17px}.quality{height:29px}.quality select{font-size:9px;width:98px;max-width:98px;padding-right:7px}.scene-bottom{bottom:9px;left:13px;right:12px}.scene-bottom p{font-size:8px;max-width:calc(100% - 34px);padding:5px 8px;line-height:1.5}.compass{min-width:20px;font-size:8px;gap:0}.compass svg{width:21px;height:21px}.camera-controls{bottom:63px;right:12px;gap:4px}.camera-controls .icon-btn{width:28px;height:28px}.camera-controls #rotate-left,.camera-controls #rotate-right,.camera-controls>span{display:none}.controls-hint{display:none}.label{font-size:6px;padding:4px 5px}.label.interactive{font-size:7px;padding:5px 6px}.label:after{height:8px}.legend{left:13px;top:50px;font-size:8px;gap:8px;padding:4px 6px;max-width:270px}.chapters{padding:0 4px;grid-template-columns:repeat(7,1fr)}.chapter{padding:0;justify-content:center;flex-direction:column;gap:4px;border-right:0}.chapter span{width:20px;height:20px;font-size:8px}.chapter strong{font-size:7px;font-weight:400}.chapter:before{left:5px;right:5px}.toast{bottom:64px;font-size:10px}dialog{padding:17px 20px 23px}dialog h2{font-size:22px}.record-page{padding:18px}.loading h2{font-size:16px}.loading>span{font-size:7px}.loading{gap:8px}.loader-mark{font-size:15px}.fallback{padding:10px}.fallback>div{padding:15px}.fallback h2{font-size:17px;margin:5px 0}.fallback p{font-size:10px;margin:7px 0}.fallback .primary{font-size:10px;padding:8px}.fallback .micro{font-size:8px}.metrics-list strong{font-size:10px}}
@media(max-height:480px) and (orientation:landscape){:root{--top:44px;--nav:42px;--side:280px}.workspace{flex-direction:row}.scene{order:1;flex:1;height:auto}.narrative{order:0;flex:none;width:280px;overflow-y:auto;display:block;padding:15px}.topbar .title-lockup{display:none}.phase{margin-bottom:14px}.chapters{height:42px}.chapter{flex-direction:row}.chapter strong{font-size:9px}.scene-caption h2{display:none}.scene-bottom p{font-size:8px}.controls-hint{display:none}.camera-controls{bottom:65px}.camera-controls #rotate-left,.camera-controls #rotate-right,.camera-controls>span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.system-chain{border-left:1px solid #709298;margin:0 0 15px 4px;padding:0 0 0 16px;display:flex;flex-direction:column;align-items:flex-start;font:10px/1.5 ui-monospace,monospace;color:#abc7cf}.system-chain i{color:#6d8e98;font-style:normal;line-height:1.3}.system-chain strong{font-weight:500;color:var(--accent)}

/* Revision 2: the stage action stays in the viewer's upper-right corner. */
.scene-top{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"caption controls next";align-items:start;column-gap:10px;row-gap:8px;z-index:auto}
.scene-caption{grid-area:caption;min-width:0}
.scene-controls{grid-area:controls;align-items:center;align-self:center}
.scene-top>.next-btn{grid-area:next;justify-self:end;position:relative;z-index:35}
@media(max-width:980px){
 .scene-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"caption next" "controls controls";column-gap:8px;row-gap:6px}
 .scene-controls{justify-self:end;flex-wrap:nowrap;max-width:none;gap:5px}
 .scene-caption{max-width:none;align-self:center}
 .legend{top:111px;max-width:calc(100% - 42px);flex-wrap:wrap}
 #stats{top:146px}
}
@media(max-width:680px){
 .scene-top>.next-btn{min-width:100px;height:44px;padding:0 12px;font-size:11px;gap:12px}
 .scene-controls .icon-btn,.quality{height:32px}
 .scene-controls .icon-btn{width:32px}
 .scene-caption .micro{display:block;max-width:175px;font-size:7px}
 .legend{top:104px;max-width:calc(100% - 28px)}
}
@media(max-height:480px) and (orientation:landscape){
 .scene-caption .micro{font-size:7px}
 .scene-top{top:10px;row-gap:4px}
 .scene-controls .icon-btn,.quality{height:28px}
 .legend{top:97px;font-size:7px}
}

/* Always-visible route back to the enquiry, including embedded stages. */
.model-enquiry{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;color:#142432;background:#efb24b;border:1px solid #efb24b;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.model-enquiry:focus-visible{outline:2px solid white;outline-offset:3px}@media(max-width:1000px){.topbar{gap:16px}.title-lockup{display:none}}@media(max-width:680px){.topbar{gap:8px}.model-enquiry{font-size:10px;padding:6px 9px;min-height:34px}.about{margin-left:auto}.about .dot,.about>span:not(.dot){display:none}.about{padding:5px}.brand img{height:18px}}
