:root{--surface:#101211;--panel:#19211c;--ink:#e7ede7;--secondary:#a6b7ac;--line:#bed5c324;--glass:#101813e8;--setting-active:#c3e7cd;--setting-ink:#183522}
:root[data-theme=light]{color-scheme:light;--surface:#f5f5f0;--panel:#fffefa;--ink:#22382b;--secondary:#526b5b;--line:#2d503326;--glass:#f5f5f0eb;--setting-active:#315b43;--setting-ink:#fffefa;--paper:#22382b;--soft:#526b5b;--accent:#315b43;--muted:#526b5b;background:var(--surface);color:var(--ink)}
body{background:radial-gradient(ellipse at 75% 0%,#41684e0a,transparent 40%),var(--surface);color:var(--ink);transition:background-color .45s,color .45s}
.site-header{background:transparent;backdrop-filter:none;border-bottom-color:transparent;box-shadow:none;transition:background .5s,backdrop-filter .5s,border-color .5s,box-shadow .5s,padding .5s}
.site-header.is-scrolled{background:var(--glass);backdrop-filter:blur(22px);border-bottom-color:var(--line);box-shadow:0 8px 40px #0000000c}
.site-settings{grid-column:3;justify-self:end;position:relative;letter-spacing:0}
#settings-toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;background:transparent;border-radius:50%;color:var(--secondary);transition:background .3s,transform .6s,border-color .3s}
#settings-toggle:hover,#settings-toggle[aria-expanded=true]{background:var(--line);border-color:var(--line);color:var(--ink)}
#settings-toggle[aria-expanded=true] svg{transform:rotate(60deg)}#settings-toggle svg{transition:transform .65s cubic-bezier(.16,1,.3,1)}
#settings-panel{position:absolute;right:0;top:calc(100% + 15px);width:300px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 65px #0003;animation:settings-enter .3s cubic-bezier(.16,1,.3,1);color:var(--ink)}
.settings-title{font-size:12px;font-weight:600;margin:0 0 15px;padding-bottom:13px;border-bottom:1px solid var(--line)}
#settings-panel button[role=switch]{width:100%;padding:12px 0;border:0;border-radius:0;background:none;box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink);font-size:13px;font-weight:500;letter-spacing:0;text-align:left}
#settings-panel small{display:block;font-size:10px;font-weight:400;color:var(--secondary);line-height:1.6;margin-top:5px}
.switch-end{display:flex;align-items:center;gap:8px}.switch-state{font-size:9px;color:var(--secondary)}
.switch-track{width:34px;height:20px;border-radius:20px;background:var(--line);padding:3px;display:block;transition:background .3s}
.switch-track:after{content:'';display:block;width:14px;height:14px;border-radius:50%;background:var(--secondary);transition:transform .35s cubic-bezier(.16,1,.3,1),background .3s}
[aria-checked=true] .switch-track{background:var(--setting-active)}[aria-checked=true] .switch-track:after{transform:translateX(14px);background:var(--setting-ink)}
.settings-actions{border-top:1px solid var(--line);margin-top:13px;padding-top:12px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.settings-actions button{background:none;padding:3px 0;font-size:10px;color:var(--secondary)}.settings-actions button:hover{color:var(--ink)}.settings-actions button:disabled{opacity:.4}
button:focus-visible,a:focus-visible{outline-color:var(--setting-active)}
@keyframes settings-enter{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}

/* Theme the interface, leaving programme artwork and fabrication assets intact. */
[data-theme=light] .main-nav{background:#36533d05;border-color:var(--line)}
[data-theme=light] .nav-item{color:#647567}
[data-theme=light] .nav-item:hover:not(.active){color:#22382b}
[data-theme=light] .nav-ink{background:#d6e5d9}
[data-theme=light] .main-nav .nav-item.active{color:#1e3e2b}
[data-theme=light] :is(.portfolio-masthead,.about-top,.toolbox-label,.site-footer,.project-facts,.scene-section,.work-tabs,.drawing-archive){border-color:var(--line)}
[data-theme=light] :is(.eyebrow,.portfolio-masthead .eyebrow,.portfolio-name>span,.toolbox-label p,.toolbox-heading .eyebrow,.toolbox-number,.about-name span,.section-heading sup){color:#547a5e}
[data-theme=light] :is(.portfolio-statement,.project-caption-meta,.project-scope,.about-intro,.page-intro>p:not(.eyebrow),.toolbox-heading>p,.site-footer,.modal-intro,.modal-kicker,.project-facts dt,.image-credit,.media-description,.drawing figcaption,.board-gallery figcaption,.object-scenes figcaption,.scene-grid .drawing figcaption){color:var(--secondary)}
[data-theme=light] :is(.project-caption strong,.toolbox-label h3,.tool-item,.project-facts dd,.detail-section-title,.object-scenes>h3,.verified-scenes h3,.work-empty h3){color:var(--ink)}
[data-theme=light] :is(.project-card:hover .project-caption strong,.tool-item:hover){color:#2f6845}
[data-theme=light] :is(.page-intro em,.about-top em,.text-link,.source-row a){color:#416f50}
[data-theme=light] .filters button{color:#596f60}
[data-theme=light] .filters button[aria-pressed=true]{background:#dae6dc;color:#254d32}
[data-theme=light] .toolbox-group{background:#fffefa;border-color:var(--line)}
[data-theme=light] .toolbox-group:hover{background:#fbfcf7;box-shadow:0 14px 45px #2b503810}
[data-theme=light] .maker-art{color:#ebf2e9}
[data-theme=light] .side-card{background:#fffefa;border-color:var(--line)}
[data-theme=light] :is(.side-card-copy small,.side-card-copy>span){color:var(--secondary)}
[data-theme=light] .modal-panel{background:#f8f9f4;border-color:#fff;box-shadow:0 32px 100px #0a231a44}
[data-theme=light] .detail-tags span{color:#526b5b;border-color:var(--line)}
[data-theme=light] .close-modal{background:#dce6dd;color:#294433}
[data-theme=light] .close-modal:hover{background:#ccdacf}
[data-theme=light] .work-tab{color:#5a7162}
[data-theme=light] .work-tab[aria-selected=true]{color:#244b32;background:linear-gradient(0deg,#3264410d,transparent)}
[data-theme=light] .work-tab:after{background:#315b43}
[data-theme=light] .work-tab small{color:#54745f}
[data-theme=light] .tab-scroll{background:#315b430a;color:#315b43;border-color:var(--line)}
[data-theme=light] .drawing-archive summary{color:#526b5b}
[data-theme=light] .watch-link{background:#e0eade;color:#264432;border-color:var(--line)}
[data-theme=light] .watch-link:hover{background:#cedfcd}
[data-theme=light] .platform-mark{background:#315b43;color:#f0f6ef}
[data-theme=light] .watch-arrow{color:#526b5b}
[data-theme=light] :is(.watch-pending,.announcement){background:#edf1e9;border-color:var(--line);color:var(--ink)}
[data-theme=light] .announcement p{color:var(--secondary)}
[data-theme=light] .hero-copy :is(h1,h1 span){color:#f0f7ef}
[data-theme=light] .hero-copy .eyebrow{color:#b9cfc2}
[data-theme=light] .hero-description{color:#dae2dd}

/* One continuous fabrication object, 2.55 seconds + 0.2s exit. */
#fabrication-intro{position:fixed;inset:0;z-index:100;background:var(--surface);color:var(--setting-active);display:none;place-items:center;overflow:hidden}
html[data-intro=pending] #fabrication-intro,html[data-intro=ready] #fabrication-intro,html[data-intro=playing] #fabrication-intro,html[data-intro=leaving] #fabrication-intro{display:grid}
html[data-intro=pending],html[data-intro=playing],html[data-intro=leaving]{overflow:hidden}
.intro-center{width:min(500px,92vw);display:grid;place-items:center}
.fabrication-svg{display:block;width:100%;height:auto;overflow:visible}
.fabrication-panel{stroke-dasharray:1;stroke-dashoffset:1}
#intro-skip{position:absolute;right:24px;bottom:24px;padding:12px;background:none;color:var(--secondary);opacity:0;pointer-events:none}
#intro-skip:focus-visible{opacity:1;pointer-events:auto}
[data-intro=leaving] #fabrication-intro{animation:intro-exit .2s ease-in both}
@keyframes intro-exit{to{opacity:0;visibility:hidden}}
@media(max-width:700px){.site-settings{grid-column:2}#settings-toggle{width:36px;height:36px}#settings-panel{right:0;width:min(300px,calc(100vw - 36px))}.portfolio-masthead .eyebrow{font-size:8px;letter-spacing:.13em}}
html[data-motion=reduced] #fabrication-intro{display:none}
[data-theme=light] .project-card .poster,[data-theme=light] .project-card:hover .poster{border:0;box-shadow:none}
[data-theme=light] .poster-unreleased{background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--poster-color) 24%,#eff2e9),#e5ece4 85%)}
[data-theme=light] .poster-unreleased:before{display:none}
[data-theme=light] .poster-unreleased:after{background:none}
[data-theme=light] .poster-unreleased .poster-title,[data-theme=light] .project-card:hover .poster-unreleased .poster-title{color:#35513d!important;text-shadow:none}
[data-theme=light] .poster-unreleased .poster-status{color:#526e59;background:#ffffff80;border:0}

/* A single ink, fixed viewpoint, and uninterrupted construction. */
.fabrication-svg{color:var(--setting-active)}
.fabrication-panel,.fabrication-lid,.fabrication-seam{fill:none;stroke:currentColor;stroke-dasharray:1;stroke-dashoffset:1}

.fabrication-dimensions,.cnc-axis{stroke-dasharray:1;stroke-dashoffset:1;fill:none}
.fabrication-paint{fill:currentColor;stroke:none}
.fabrication-cnc,.fabrication-spray{color:inherit;stroke:currentColor}
