:root{--ink:#353345;--muted:#8b879b;--purple:#8170af;--line:#e9e5ef;--paper:#fbfafc;--soft:#f2eff8;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #8b79ba;outline-offset:5px}button{border:0}button:disabled{opacity:.5;cursor:wait}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:.23em;font-weight:650}.brand small{display:block;font-size:8px;letter-spacing:.3em;font-weight:450;margin-top:5px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:39px;height:43px;font:42px var(--serif);color:var(--purple);transform:rotate(-15deg)}nav{display:flex;gap:32px;align-self:stretch;align-items:center;font-size:12px;color:var(--muted)}nav a{height:100%;display:flex;align-items:center;position:relative}.nav-active{color:var(--ink)}.nav-active:after{content:'';position:absolute;bottom:-1px;height:2px;background:var(--purple);width:100%}.header-actions{display:flex;align-items:center;gap:27px}.live-state{font-size:9px;letter-spacing:.13em;display:flex;align-items:center;gap:8px;color:#7d768d}.live-state i,.refresh-label i{width:5px;height:5px;display:inline-block;background:#91b9a9;border-radius:50%}.button{padding:13px 18px;border-radius:6px;font-size:11px;letter-spacing:.025em;transition:transform .2s,background .2s}.button span{margin-left:17px}.primary{background:#77709a;color:white}.primary:hover{background:#625981;transform:translateY(-1px)}main{max-width:1800px;margin:auto}.studio-section{padding:24px 3.2% 0;scroll-margin-top:12px}.section-topline{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:var(--muted);margin:0 4px 18px}.section-topline b{font-weight:600;color:var(--purple);margin-right:10px}.model-credit{font-size:8px;letter-spacing:.14em}.model-credit span{margin:0 8px;color:#bdb5ca}.stage{position:relative;height:min(760px,calc(100svh - 178px));min-height:575px;overflow:hidden;border:1px solid #e8e3ef;border-radius:14px;background:radial-gradient(ellipse at 51% 43%,#fdfcff 2%,#f2eff8 70%,#e9e5f1 100%)}#viewport{position:absolute;inset:0;touch-action:none}#viewport canvas{display:block;width:100%;height:100%;outline:none}.loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:4;background:#f4f1f9;font-size:11px;color:var(--muted);transition:opacity .4s}.loading.loaded{opacity:0;pointer-events:none}.loading-ring{width:28px;height:28px;margin:0 auto 12px;border:1px solid #ddd7e9;border-top-color:var(--purple);border-radius:50%;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stage-heading{position:absolute;top:44px;left:40px;pointer-events:none}.eyebrow{font-size:8px;letter-spacing:.2em;color:var(--purple);font-weight:550}.stage-heading h1{font-family:var(--serif);font-size:clamp(43px,4.8vw,69px);line-height:1.055;letter-spacing:-.055em;font-weight:400;margin:22px 0}.stage-heading h1 em{font-weight:400;color:#8c7bb2}.stage-heading p{font-size:11px;line-height:1.9;color:#96909f}.small-rule{width:32px;height:1px;background:#c6bdd9;margin:29px 0 16px}.edition{font-size:8px;letter-spacing:.17em;color:#a69cb4}.edition b{font-weight:450;margin-left:18px;color:#70677f}.inspector{position:absolute;width:220px;right:30px;top:40px;padding:23px 21px 0;background:#ffffffa1;backdrop-filter:blur(18px);border:1px solid #ffffffbd;border-radius:10px;box-shadow:0 12px 40px #78699706}.inspector-top{display:flex;justify-content:space-between;align-items:center}.inspector-top>span:last-child{font-size:20px;color:#9d8cb9}.inspector .eyebrow{font-size:7px;letter-spacing:.15em}.inspector h2{font:25px var(--serif);letter-spacing:-.03em;margin:18px 0 11px}.inspector p{font-size:10px;line-height:1.75;color:#9a94a5}.swatches{display:flex;gap:8px;margin:22px 0}.swatches span{height:19px;width:19px;background:var(--swatch);border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #e4dfee}.note-row{display:flex;justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid #e9e4ee;font-size:8px}.note-row>span{color:#aaa2b5}.note-row b{font-weight:450;color:#736b83}.feature-tags{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0 18px}.feature-tags span{font-size:7px;color:#9d91ab;background:#f3eef8;border-radius:3px;padding:5px 7px}.text-button{border-top:1px solid #e9e4ee;background:transparent;padding:16px 0;display:flex;justify-content:space-between;width:100%;color:#8976a8;font-size:10px}.stage-bottom-label{position:absolute;left:34px;bottom:30px;display:flex;align-items:center;gap:9px;font-size:7px;letter-spacing:.1em;color:#8e859e;pointer-events:none}.small-dot{background:#a79aba;width:4px;height:4px;border-radius:50%}.divider{color:#c2bbcd}.camera-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:4px;background:#ffffffc4;backdrop-filter:blur(10px);border:1px solid #fefefe;border-radius:8px;padding:5px;box-shadow:0 3px 15px #54427008}.camera-controls button{background:transparent;color:#9f97ac;font-size:9px;padding:10px 13px;border-radius:5px;white-space:nowrap}.camera-controls button.active{background:#eae3f3;color:#756389}.camera-controls button:hover{background:#eee9f4}.stage-tools{position:absolute;right:28px;bottom:22px;display:flex;gap:6px}.icon-button{width:32px;height:36px;display:grid;place-items:center;border:1px solid #ffffffba;border-radius:7px;background:#ffffffa1;color:#9b8fad;font-size:19px;transition:background .2s}.icon-button:hover,.icon-button[aria-pressed=true]{background:#e6dff0;color:#7b609b}.stage-caption{display:flex;justify-content:space-between;padding:17px 4px;color:#a49caf;font-size:9px;letter-spacing:.01em}.gesture-icon{color:#b0a0c2;font-size:14px;margin-right:9px}.caption-dot{margin:0 10px;color:#c6bdce}.work-section{margin:55px 6.2% 0;scroll-margin-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px;gap:20px}.section-heading h2{font:36px var(--serif);font-weight:400;letter-spacing:-.045em;margin:11px 0 0}.section-heading h2 span{color:#ae9ec6}.refresh-label,.file-type-label{font-size:8px;letter-spacing:.08em;color:#aaa1b5;padding-bottom:5px}.refresh-label i{margin-right:6px;width:4px;height:4px;background:#b7aec5}.build-summary{display:grid;grid-template-columns:1fr 1.25fr 1.4fr 1.2fr;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0 25px}.build-summary>div{display:flex;flex-direction:column}.metric-label{color:#a298af;letter-spacing:.12em;font-size:7px;margin-bottom:13px}.build-summary strong{font:34px var(--serif);letter-spacing:-.04em;margin-bottom:9px}.build-summary strong small{font:12px var(--sans);color:#b5acbf;margin-left:3px;letter-spacing:0}.build-summary>div>span:last-child{font-size:9px;color:#a39aac;line-height:1.5}.build-summary .status-text{font-size:25px;line-height:39px}.honesty-note{margin:0;align-self:center;color:#b0a5ba;font-size:9px;line-height:1.8;border-left:1px solid var(--line);padding-left:23px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.journal-empty{padding:40px;border-radius:10px;border:1px dashed var(--line);color:#aaa0b4;font-size:12px;grid-column:1/-1}.journal-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.journal-image{display:block;width:100%;height:245px;object-fit:contain;background:#f2eff7}.journal-card-body{padding:17px 18px 19px}.journal-kicker{display:flex;justify-content:space-between;gap:10px;font-size:7px;letter-spacing:.08em;color:#aea1bd}.journal-kicker b{font-weight:500;color:#89759f}.journal-card h3{font-size:12px;font-weight:500;margin:13px 0 8px}.journal-card p{font-size:10px;line-height:1.8;color:#a499af;margin:0 0 13px}.path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:7px;line-height:1.6;color:#b4aabd;display:block;overflow-wrap:anywhere;word-break:break-word}.files-section{padding-bottom:35px;margin-top:65px}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.download-card{display:flex;gap:16px;padding:24px 20px;border:1px solid var(--line);border-radius:9px;background:#fff;transition:transform .2s,border .2s}.download-card:hover{transform:translateY(-3px);border-color:#c8b8dc}.download-card>div:last-child{min-width:0;width:100%}.file-icon{font-size:14px;background:#f0ebf7;color:#a18abb;width:35px;height:41px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;font-family:var(--serif)}.download-card h3{font-size:11px;font-weight:500;display:flex;justify-content:space-between;gap:15px;margin:2px 0 8px}.download-card h3 span{font-size:14px;color:#b09bc3}.download-card p{font-size:9px;color:#a99db5;line-height:1.7;margin:0 0 13px}.file-extension{font-size:7px;letter-spacing:.1em;background:#f6f2fa;color:#a18daf;padding:4px 7px;border-radius:3px;display:inline-block;margin-bottom:12px}.project-location{display:flex;gap:22px;align-items:center;margin-top:20px;border:1px solid var(--line);background:#f7f4fa;padding:17px 20px;border-radius:8px}.project-location>span{color:#a491b2;font-size:7px;letter-spacing:.1em;flex-shrink:0}.project-location code{font-size:8px;color:#9f92ab;overflow-wrap:anywhere}.project-location button{font-size:9px;color:#9983ad;background:transparent;margin-left:auto;flex-shrink:0}.instructions{display:grid;grid-template-columns:.8fr 2fr 1.7fr;gap:45px;margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}.instructions h3{font:22px var(--serif);letter-spacing:-.04em;margin:0}.instructions p{font-size:10px;line-height:1.9;color:#a79bb2;margin:0}.instructions .reference-note{color:#b7acbf}footer{margin:35px 6.2% 0;padding:30px 0 38px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:8px;color:#b7acbf}.footer-brand{font-size:11px;letter-spacing:.2em;color:#a18eb6}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#625474;color:white;padding:13px 21px;border-radius:8px;font-size:11px;opacity:0;pointer-events:none;z-index:50;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.night.stage{background:radial-gradient(ellipse at 50% 40%,#39344f,#211e31)}.night .stage-heading h1{color:#ddd5e8}.night .stage-heading h1 em{color:#bfaed8}.night .inspector{background:#342e49d9;border-color:#49405e}.night .inspector h2{color:#ddd3ea}.night .camera-controls,.night .icon-button{background:#494057d9;border-color:#51465f}.night .camera-controls button.active{background:#6d5b83;color:#eee5f6}.night .stage-bottom-label{color:#c0b3d0}
@media(min-width:1550px){.stage-heading{left:60px;top:55px}.inspector{right:45px;top:50px;width:245px;padding:27px 25px 0}.stage{height:830px}}
@media(max-width:1100px){.topbar{padding:0 4%;height:80px}.header-actions{gap:14px}.live-state{display:none}.stage-heading{left:27px;top:34px}.stage-heading h1{font-size:48px}.inspector{right:20px;width:193px;padding:20px 16px 0}.inspector h2{font-size:23px}.stage-bottom-label{display:none}.stage-tools{right:18px;bottom:23px}.camera-controls{left:42%}.camera-controls button{padding:9px 10px}.stage-tools{gap:4px}.icon-button{width:28px;height:33px}.download-card{padding:18px 15px;gap:11px}.build-summary{grid-template-columns:1fr 1.25fr 1.4fr}.honesty-note{grid-column:1/-1;border-left:0;padding:0;font-size:8px}.instructions{gap:25px;grid-template-columns:.8fr 1.7fr 1.5fr}.stage-caption>span:last-child{display:none}}
@media(max-width:760px){.topbar{height:75px;padding:0 5%;gap:15px}.brand{font-size:14px;gap:8px;letter-spacing:.17em}.brand small{font-size:6px}.brand-mark{font-size:33px;width:26px}nav{display:none}.button{font-size:9px;padding:11px 13px}.button span{margin-left:8px}.studio-section{padding:19px 3.4% 0}.section-topline{font-size:7px;margin-bottom:14px}.model-credit{font-size:6px}.stage{height:700px;min-height:600px}.stage-heading{left:20px;top:23px}.stage-heading .eyebrow{font-size:6px}.stage-heading h1{font-size:35px;line-height:1.04;margin:11px 0}.stage-heading p,.small-rule,.edition{display:none}.inspector{display:none}.camera-controls{bottom:18px;left:50%;gap:2px;padding:4px}.camera-controls button{font-size:8px;padding:9px 10px}.stage-tools{right:12px;top:18px;bottom:auto;flex-direction:column;gap:6px}.icon-button{height:29px;width:29px;font-size:17px}.stage-caption{font-size:7px;padding:13px 2px}.gesture-icon{font-size:12px;margin-right:5px}.caption-dot{margin:0 6px}.work-section{margin:40px 6% 0}.section-heading{align-items:flex-start;gap:8px}.section-heading h2{font-size:30px}.eyebrow{font-size:7px}.refresh-label{font-size:6px;max-width:86px;line-height:1.8;margin-top:4px;letter-spacing:0}.build-summary{gap:12px;padding:19px 0;grid-template-columns:1fr 1fr}.build-summary>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}.build-summary strong{font-size:30px}.build-summary .status-text{font-size:25px;line-height:1.2}.metric-label{font-size:6px;line-height:1.6}.build-summary>div>span:last-child{font-size:8px}.honesty-note{font-size:8px;line-height:1.7}.journal-grid{grid-template-columns:1fr;gap:16px}.journal-card{display:grid;grid-template-columns:42% 58%}.journal-image{height:100%;min-height:225px}.journal-card-body{padding:18px 15px}.journal-card h3{font-size:11px}.journal-card p{font-size:9px}.journal-card .path{font-size:6px}.download-grid{grid-template-columns:1fr;gap:12px}.file-type-label{font-size:6px;max-width:75px;line-height:1.8;margin-top:5px}.download-card{padding:20px}.file-icon{height:45px;width:42px}.download-card h3{font-size:12px}.download-card p{font-size:10px}.path{font-size:7px}.project-location{flex-wrap:wrap;gap:10px;padding:15px}.project-location>span{width:100%}.project-location code{font-size:7px;flex:1}.project-location button{font-size:8px}.instructions{grid-template-columns:1fr;gap:16px;padding-top:22px;margin-top:26px}.instructions p{font-size:10px}.instructions h3{font-size:23px}footer{flex-wrap:wrap;padding:23px 0;gap:15px;margin-top:15px;font-size:7px}footer>span:last-child{width:100%;font-size:6px}.toast{width:85%;text-align:center;font-size:10px}.night .stage-heading h1 em{color:#beacd5}}
@media(max-width:380px){.stage{height:640px}.stage-heading h1{font-size:30px}.camera-controls button{font-size:7px;padding:8px 9px}.brand{font-size:12px}.button{font-size:8px}.section-topline{letter-spacing:.08em}.model-credit{font-size:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none!important;transition:none!important}}
.render-only .topbar,.render-only .section-topline,.render-only .stage-heading,.render-only .inspector,.render-only .stage-bottom-label,.render-only .camera-controls,.render-only .stage-tools,.render-only .stage-caption,.render-only .work-section,.render-only footer{display:none!important}.render-only main{max-width:none}.render-only .studio-section{padding:0}.render-only .stage{height:100vh;min-height:0;border:0;border-radius:0}.render-only{overflow:hidden}

.loading.loaded{visibility:hidden}

.offline #html-download,.offline #zip-download{display:none}.offline .download-grid{grid-template-columns:1fr}.offline .journal-card{display:block}.offline .refresh-label:after{content:' · offline snapshot'}
/* Readable artifact paths and comfortable controls. */
.path{font-size:10px;color:#8c7e98;line-height:1.5}
.journal-card p,.download-card p,.instructions p{font-size:12px;color:#8d8098;line-height:1.7}
.journal-card h3,.download-card h3{font-size:13px}
.build-summary>div>span:last-child{font-size:11px}.honesty-note{font-size:11px;color:#897c94}
.project-location code{font-size:11px}.metric-label{font-size:9px}
.camera-controls button{font-size:11px;padding:11px 14px;min-height:40px}
.icon-button{width:36px;height:40px}.button{min-height:40px}
@media(max-width:760px){
 .stage-heading{display:none}
 .camera-controls{gap:0;padding:4px}.camera-controls button{font-size:10px;padding:10px 11px;min-height:42px}
 .icon-button{width:34px;height:36px}.stage-tools{gap:5px}
 .journal-card .path{font-size:8px}.journal-card p{font-size:10px}
 .project-location code{font-size:10px}.stage-caption{font-size:9px}.caption-dot{margin:0 4px}
 .button{min-height:42px}.download-card h3{font-size:14px}
 .download-card p,.instructions p{font-size:12px}
}
.latest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.latest-grid:empty{display:none}.latest-grid figure{margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.latest-grid img{display:block;width:100%;height:230px;object-fit:contain;background:#f2eff8}.latest-grid figcaption{padding:12px 12px 7px;font-size:12px}.latest-grid .path{padding:0 12px 14px;font-size:8px}@media(max-width:760px){.latest-grid{grid-template-columns:1fr 1fr;gap:10px}.latest-grid img{height:220px}.latest-grid .path{font-size:7px}}
@media(max-width:1050px){.stage-heading{display:none}}
@media(max-width:760px){.icon-button{width:40px;height:44px}.camera-controls button{min-height:44px}}
