/* ARSFORM / Световой контур — shared typography, material and state tokens. */
@font-face{font-family:ARSFORM Serif;src:url('/assets/f4.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:ARSFORM Text;src:url('/assets/f10.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--lc-bg:#111315;--lc-panel:#17191e;--lc-ink:#eeeae4;--lc-muted:#b9b7bd;--lc-light:#e2deff;--lc-line:#8d8aab;--lc-radius:15px;--lc-display:'ARSFORM Serif',Georgia,serif;--lc-body:'ARSFORM Text',sans-serif;--ui-display:var(--lc-display);--ui-body:var(--lc-body);--ui-mono:var(--lc-body);--lc-shadow:inset 0 1px 2px #f3eeff55,inset 0 0 0 3px #0e1118,inset 0 0 0 4px #a19dbc40,inset 0 -3px 9px #9491b91a,0 0 0 1px #aaa5d52b,0 3px 14px #08090d88;--lc-glass:linear-gradient(137deg,#62607535 0%,#15181be8 30%,#101316ed 64%,#3c3c512e 100%)}
body{font-family:var(--lc-body);background:var(--lc-bg);color:var(--lc-ink)}
.lc-icon{display:block;flex:none;width:28px;height:28px;overflow:visible;filter:drop-shadow(0 0 .7px #b5a8ff85) drop-shadow(0 0 3px #9c98ff42);transition:filter .22s ease,transform .22s ease}
body .logo{font-family:var(--lc-display);font-size:32px;line-height:.88;font-weight:400;letter-spacing:.025em;color:#e5e0d9}
body .logo small{font:400 7px/1.6 var(--lc-body);letter-spacing:.19em;color:#b8b5bd;margin-top:7px}
body .logo>svg{color:#d1cbed;width:30px;height:34px;filter:drop-shadow(0 0 3px #aca1f344)}
body .chapter h1,body .chapter h2,body .works-heading h2,body .request-section h2,body dialog h2{font-family:var(--lc-display);font-weight:400;letter-spacing:-.035em;text-wrap:balance;color:var(--lc-ink)}
body .chapter h1{font-size:clamp(54px,5.1vw,84px);line-height:.97}
body .chapter h2{font-size:clamp(45px,4.7vw,76px);line-height:1.02}
body .chapter h1 em,body .chapter h2 em,body .works-heading h2 em,body .request-section h2 em{font-family:inherit;font-weight:400;font-style:italic;color:#d5cdec}
body .description,body .request-lead,body .works-intro{font-family:var(--lc-body);font-size:16px;line-height:1.75;color:var(--lc-muted);text-wrap:pretty;max-width:43ch}
body .eyebrow,body .instrument-label,body .stage-signature{font:400 10px/1.6 var(--lc-body);letter-spacing:.13em;color:#beb9c9}
body .eyebrow span,body .instrument-label span,body .nav-index{color:#b3a7d2}
body .site-header{background:linear-gradient(#101215ed,#101215a3,transparent);border-color:#b8acd51c}
body #primary-nav{background:#17191ec4;border-color:#91849d38;border-radius:14px;padding:5px;box-shadow:inset 0 1px #ece5ff10;backdrop-filter:blur(16px)}
body #primary-nav a{font:400 12px var(--lc-body);border-radius:10px;color:#bfbbc8;padding:0 12px;gap:8px}
body #primary-nav a.active,body #primary-nav a[aria-current]{background:#e2d7ff0d;color:#f3ecff}
body #primary-nav a:after{background:#b7a7e2;box-shadow:0 0 9px #bcaaff66;height:1px}
body :is(.main-cta,.request-link,.instrument .controls button,.inspect-object,.stage-bottom button,.scroll-ring,.work-enlarge,.work-close,.work-viewer button,.close,#menu-toggle,.works-more){border:1px solid var(--lc-line);border-radius:var(--lc-radius);background:var(--lc-glass);color:var(--lc-ink);box-shadow:var(--lc-shadow);transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;color-scheme:dark}
body .main-cta{font:400 14px var(--lc-body);min-height:62px;padding:8px 10px 8px 25px;gap:28px}
body .main-cta:before{display:none}
body .main-cta .lc-icon{width:43px;height:43px;padding:4px;margin:0;background:transparent;border:0;border-radius:0}
body .request-link{min-height:46px;padding:5px 8px 5px 16px;gap:14px;font:400 11px var(--lc-body)}
body .request-link .lc-icon{width:31px;height:31px}
body .instrument{background:linear-gradient(130deg,#27262f86,#14181ada);border-color:#8276904f;border-radius:18px;box-shadow:inset 0 1px #eee2ff14,0 12px 38px #0003;backdrop-filter:blur(18px)}
body .instrument .controls{gap:10px}
body .instrument .controls button{font:400 11px var(--lc-body);min-height:58px;padding:8px 10px;gap:7px;border-radius:12px}
body .instrument .controls button .lc-icon{width:28px;height:28px}
body .instrument .controls button[aria-pressed=true]{background:linear-gradient(135deg,#8c80ac40,#38314440);color:#f0e8ff;border-color:#c6b5ec;box-shadow:var(--lc-shadow),0 0 14px #c0a7ff1a}
body .inspect-object{padding:4px 10px;min-height:40px;font:400 11px var(--lc-body);gap:7px;border-radius:11px}
body .inspect-object .lc-icon{width:25px;height:25px}
body .stage-bottom button{min-height:46px;padding:6px 13px;font:400 10px var(--lc-body);gap:9px;border-radius:14px}
body .stage-bottom button .lc-icon{width:23px;height:23px}
body .scroll-ring{width:49px;height:49px;border-radius:15px}
body .scroll-ring .lc-icon{width:32px;height:32px}
body .scroll-invite{color:#c5c1cb;font:400 11px var(--lc-body);letter-spacing:.01em}
body .subcontrols button,body .print-readout button{font-family:var(--lc-body);color:#d1c8e4}
body input[type=range]{accent-color:#c6b6e9}
body #progress-line,body #print-bar{background:#c3b2ed;box-shadow:0 0 10px #bea6ff5c}
body #loading,body #scene-asset-status{--load-accent:#cdc1ff}
body .works-section{background:#151719;border-color:#82718d40}
body .works-heading h2{font-size:clamp(48px,5.5vw,80px);line-height:1.03}
body .work-card h3{font:400 29px/1.15 var(--lc-display);letter-spacing:-.015em;color:#ece5de}
body .work-card>p{color:#b2adb8;font:400 13px/1.7 var(--lc-body)}
body .work-meta{font:400 10px/1.5 var(--lc-body);letter-spacing:.08em;color:#c0b3ce}
body .work-photo{border-radius:14px;background:#222227;box-shadow:0 0 0 1px #c9b8e717}
body .work-enlarge{width:52px;height:52px;border-radius:15px;right:14px;bottom:14px}
body .work-enlarge .lc-icon{width:35px;height:35px}
body .work-open:hover img{transform:scale(1.035);transition:transform .65s cubic-bezier(.2,.65,.2,1)}
body .work-filters button{border-radius:10px;font:400 12px var(--lc-body);color:#bbb3c4;border-color:#625b6e80;min-height:43px;transition:background .2s,border-color .2s}
body .work-filters button[aria-pressed=true]{background:#cbc0e418;color:#eee7fa;border-color:#a194b9}
body .works-more{font:400 13px var(--lc-body);min-height:52px;padding:13px 27px}
body .works-end{border-color:#c7a9e32b}
body .works-end p{font:400 28px var(--lc-display)}
body .works-end a{font:400 12px var(--lc-body);color:#d1c3e8}
body .work-dialog,body #quote,body #credits{background:#16181df5;color:#eee7e7;border:1px solid #9b8bb180;border-radius:20px;box-shadow:inset 0 1px #ddceff55,0 30px 100px #0008}
body .work-dialog::backdrop,body #quote::backdrop{background:#07080ddc;backdrop-filter:blur(12px)}
body .work-close,body .work-viewer button,body .close{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:12px}
body .work-close .lc-icon,body .close .lc-icon{width:28px;height:28px}
body .work-viewer button .lc-icon{width:31px;height:31px}
body .work-dialog-caption h2{font-size:34px}
body .work-dialog-caption p{color:#c0b9c6}
body .request-section{background:#121518;border-color:#8b749d33}
body .request-section h2{font-size:clamp(52px,5.5vw,84px);line-height:1}
body .request-process,body .quote-intro{background:radial-gradient(ellipse at top left,#80709916,transparent 80%);border-color:#80708e40}
body .request-process h3,body .request-process strong{font-family:var(--lc-display);font-weight:400}
body .quote-symbol{border-color:#a591b969;background:var(--lc-glass);box-shadow:var(--lc-shadow);border-radius:16px;color:var(--lc-light)}
body .quote-symbol .lc-icon{width:42px;height:42px}
body dialog input,body dialog textarea,body dialog select{background-color:#11151a;border-color:#786b865e;color:#eee5f1;border-radius:9px;font-family:var(--lc-body)}
body label.upload-zone{border-color:#a38cb874;background:#ac80c309;border-radius:12px}
body dialog .field-label,body .upload-zone strong{color:#e2d7e9}
body .field-label b{color:#b7a7d0}
body .local-note,body dialog p,body .upload-zone>span,body #quote-status{color:#b9aec3}
body footer{background:#101215;color:#afa5bc;border-color:#6b5b7933}
body :is(button,a,input,textarea,select):focus-visible{outline:2px solid #e2d2ff;outline-offset:5px}
body button:disabled{opacity:.35;cursor:default;filter:saturate(.3);transform:none}
@media(hover:hover){body :is(.main-cta,.request-link,.instrument .controls button,.inspect-object,.stage-bottom button,.work-open:hover .work-enlarge,.work-close,.work-viewer button,.close,.works-more):not(:disabled):hover{border-color:#d4c5f4;background:linear-gradient(135deg,#8881993d,#19191de8 50%,#46405260);color:#fff5ff;box-shadow:var(--lc-shadow),0 0 19px #ae93e929;transform:translateY(-1px)}body button:hover>.lc-icon{filter:drop-shadow(0 0 3px #c3b3ffb3) drop-shadow(0 0 7px #baa7ff59)}body .work-open:hover .work-enlarge{transform:translate(1px,-2px)}}
body :is(.main-cta,.request-link,.instrument .controls button,.work-close,.work-viewer button,.works-more):not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:inset 0 2px 10px #0008,inset 0 0 0 3px #cdc0ee15}
@media(max-width:1190px) and (min-width:701px){body .logo{font-size:26px}body #primary-nav a{font-size:10px;padding:0 9px;gap:5px}body .chapter h1{font-size:5.4vw}body .chapter h2{font-size:4.9vw}}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body .logo{font-size:27px}body .logo small{font-size:6px}body .chapter h1{font-size:clamp(43px,11.8vw,68px);line-height:.98}body .chapter h2{font-size:clamp(40px,10vw,58px);line-height:1}body .chapter .description{font-size:13px;line-height:1.65}body .main-cta{min-height:54px;font-size:12px;padding-left:18px;gap:18px}body .main-cta .lc-icon{width:37px;height:37px}body .instrument .controls button{min-height:52px;padding:7px;font-size:10px;gap:5px}body .instrument .controls button .lc-icon{width:25px;height:25px}body .work-card h3{font-size:27px}body .works-heading h2{font-size:48px}body .work-dialog{padding:54px 12px 18px}body .work-dialog-caption h2{font-size:28px}body .works-end p{font-size:25px}body .work-enlarge{width:46px;height:46px}body #primary-nav{background:#191a21f2}body .request-section h2{font-size:53px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body .lc-icon,body button,body a,body .work-photo img{transition:none!important;animation:none!important}}
body .quote-top{background:#191a21;border-color:#9680a73a}body dialog h2 em{color:#d5cdec;font-weight:400}body .upload-zone .lc-icon{grid-row:1/3;width:25px;height:25px}body .upload-zone>span{grid-column:2}body .logo>svg{color:#d1cbed;filter:drop-shadow(0 0 3px #bca9e733)}body .logo>svg [stroke]{stroke:currentColor}body .logo>svg [fill]:not([fill="none"]){fill:currentColor}body .eyebrow:before{background:#c6b6e1;box-shadow:0 0 7px #d2b6ff55}body .stage-top:before{background:#bdaacb}body .stage-signature:after{color:#c1add8}body .chapter .copy{scrollbar-color:#8c829b transparent}body .upload-zone .lc-icon{padding:0}body dialog .local-note .ui-icon{color:#c7b9d9}body #primary-nav .nav-index{font-family:var(--lc-body);background:transparent;border:0;color:#ad9fbe}body .stage-bottom #object-caption{border-color:#b2a1c9}
:root{--ui-accent:#c5b5e5;--ui-ink:#eee7eb;--ui-muted:#b8afc1}body .logo>svg{fill:#c5b5e5}
/* Optical refinement after independent visual audit, iteration 2. */
:root{--lc-shadow:inset 0 1px 2px #f3eeff40,inset 0 0 0 2px #0e1118,inset 0 0 0 3px #a19dbc38,inset 0 -3px 9px #9491b915,0 0 0 1px #aaa5d51c,0 3px 14px #08090d66;--lc-line:#8c889f}
body .main-cta{min-height:58px;border-radius:15px;padding:7px 11px 7px 24px;gap:24px;font-size:13px}body .main-cta .lc-icon{width:40px;height:40px;padding:3px}body .request-link .lc-icon{width:32px;height:32px;padding:2px}body .instrument .controls button{font-weight:400}body .work-card h3{font-size:28px;line-height:1.2}body .work-meta,body .work-count{color:#b8adbf}body .stage-signature{letter-spacing:.12em}body .request-note,body .micro{color:#b2a9ba;font-family:var(--lc-body)}body .work-photo{background:#202025}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body .main-cta{min-height:53px;font-size:12px;padding-left:18px;gap:16px}body .main-cta .lc-icon{width:35px;height:35px}body .work-card h3{font-size:26px}}
:root{--orange:#c5b5e5;--paper:#eee7eb;--muted:#b8afc1}
body .layer-tools #peel-layer{background:var(--lc-glass);border-color:#b2a1c7;color:#ece2f4}body .subcontrols button[aria-pressed=true]{color:#d4c4ec!important}body .subcontrols button[aria-pressed=true]:after{background:#b9a6d5;height:1px}body .instrument input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#c5b5e5 0%,#c5b5e5 var(--fill,50%),#666170 var(--fill,50%),#666170 100%)}body .instrument input[type=range]::-webkit-slider-thumb{background:#ebe3f7;border-color:#ac96c6;box-shadow:0 0 0 3px #14161b}body .instrument input[type=range]::-moz-range-thumb{background:#ebe3f7;border-color:#ac96c6}body .layer-tools output,body .range-control output{color:#d8c9eb}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body .logo{font-size:24px}body .logo>svg{width:24px;height:28px}body .request-link{padding:5px 7px 5px 12px;gap:7px}}
body .work-dialog-caption h2{line-height:1.12;text-wrap:pretty}body .instrument .controls button .lc-icon{width:32px;height:32px}body .instrument .controls button span{font-weight:400}body .instrument .controls button{min-height:64px}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body .instrument .controls button .lc-icon{width:30px;height:30px}body .instrument .controls button{min-height:61px}}
/* Glass catches light at the upper left; supporting actions stay quieter. */
:root{--lc-glass:radial-gradient(ellipse at 8% 0%,#c9c7e12c,transparent 42%),radial-gradient(ellipse at 94% 95%,#9c98bb14,transparent 30%),linear-gradient(135deg,#25262e,#121619 55%,#191b22);--lc-shadow:inset 1px 1px 2px #eae6ff48,inset 0 0 0 2px #0e1118,inset 0 0 0 3px #a19dbc2c,inset -1px -1px 4px #8f8ba820,0 0 0 1px #aaa5d518,0 3px 14px #08090d66}
body :is(.inspect-object,.stage-bottom button,.work-enlarge){border-color:#726c82;box-shadow:inset 1px 1px 1px #eae6ff28,inset 0 0 0 2px #0e1118,inset 0 0 0 3px #a19dbc20,0 2px 8px #0004}body :is(.inspect-object,.stage-bottom button,.work-enlarge) .lc-icon{filter:drop-shadow(0 0 1.5px #b4a5e24a)}body .logo small{font-size:8px;letter-spacing:.11em}body .work-photo img{object-fit:cover}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body .logo small{display:none}body .logo{font-size:25px;line-height:1}}
body .work-card:first-child .work-photo img{object-fit:cover}
body #inspection{background:#15171b;border-color:#857494}body .inspection-header,body .inspection-footer{background:#17191e;border-color:#89729540}body #inspection-close,body #inspection-reset{display:inline-flex;align-items:center;gap:10px;border:1px solid #8c809c;border-radius:12px;padding:7px 13px;background:var(--lc-glass);box-shadow:var(--lc-shadow);font:400 12px var(--lc-body);color:#e1d5ed}body #inspection-close .lc-icon,body #inspection-reset .lc-icon{width:28px;height:28px}body .inspection-footer p,body .inspection-footer label,body .inspection-header p{color:#b9adc7;font-family:var(--lc-body)}body .works-more,body .works-end a{display:flex;align-items:center;justify-content:center;gap:14px}body .works-more span{padding:0}body .works-more .lc-icon,body .works-end a .lc-icon{width:24px;height:24px}
/* Reference geometry pass: light belongs to the bevel, not a broad surface wash. */
:root{--lc-glass:radial-gradient(ellipse 30px 6px at 16px 2px,#e3dfff35,transparent) padding-box,radial-gradient(ellipse 17px 5px at calc(100% - 8px) calc(100% - 3px),#bbb7d536,transparent) padding-box,linear-gradient(133deg,#22252c,#111619 48%,#191c23) padding-box,conic-gradient(from 0deg,#77748c,#45495c 19%,#c0bcd6 36%,#56586d 43%,#54566a 67%,#e2ddf2 86%,#77748c) border-box;--lc-shadow:inset 1px 1px 2px #ded9f443,inset 0 0 0 2px #0e1118,inset 0 0 0 3px #8d89a72c,inset -1px -1px 3px #8f8ba825,0 0 0 1px #aaa5d51a,0 3px 14px #08090d66}
body :is(.main-cta,.request-link,.instrument .controls button,.work-close,.work-viewer button,.close,.works-more,#inspection-close,#inspection-reset){border-color:transparent}body .instrument .controls button[aria-pressed=true]{border-color:#b8a8d1}
body :is(.inspect-object,.stage-bottom button,.work-enlarge){background:linear-gradient(135deg,#1f2228,#12161a);border-color:#5d586d;box-shadow:inset 0 1px 1px #ded9f421,inset 0 0 0 2px #11151a,inset 0 0 0 3px #8d89a716,0 2px 8px #0004}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body .inspect-object{border-color:#504b60;box-shadow:inset 0 1px #d3c9ed15,inset 0 0 0 2px #11151a}body .inspect-object .lc-icon{filter:drop-shadow(0 0 1px #b4a5e233)}}
/* Match the legacy control selector specificity for the secondary action tier. */
body .chapter .copy button.inspect-object,body .stage-bottom button#pause,body .work-card .work-photo span.work-enlarge{background:linear-gradient(135deg,#1f2228,#12161a);border-color:#5d586d;box-shadow:inset 0 1px 1px #ded9f421,inset 0 0 0 2px #11151a,inset 0 0 0 3px #8d89a716,0 2px 8px #0004}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body .chapter .copy button.inspect-object{border-color:#504b60;box-shadow:inset 0 1px #d3c9ed15,inset 0 0 0 2px #11151a}}
body :is(#home,#construction,#layers,#printing,#objects) button.inspect-object,body #works span.work-enlarge{background:linear-gradient(135deg,#1f2228,#12161a);border-color:#5d586d;box-shadow:inset 0 1px 1px #ded9f421,inset 0 0 0 2px #11151a,inset 0 0 0 3px #8d89a716,0 2px 8px #0004}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body :is(#home,#construction,#layers,#printing,#objects) button.inspect-object{border-color:#504b60;box-shadow:inset 0 1px #d3c9ed15,inset 0 0 0 2px #11151a}}
@media(max-width:374px){body .header-actions .request-link{display:none}body .site-header{justify-content:space-between}body .logo{font-size:24px}}
@media(max-width:950px) and (max-height:500px){
body .site-header{height:64px;padding:0 22px;gap:14px}body .logo{font-size:25px}body .logo small{display:none}body #menu-toggle{display:grid;place-items:center;min-width:44px;min-height:44px}body #primary-nav{display:none;position:absolute;left:22px;right:22px;top:70px;padding:8px;background:#171a21f7}body #primary-nav[data-open=true]{display:flex;gap:6px}body #primary-nav a{flex:1;min-height:44px;font-size:10px;padding:0 9px}body .stage-top{display:none}body .chapter .copy{top:82px;left:24px;width:45%;max-width:45%;max-height:calc(100svh - 104px)}body .chapter h1,body .chapter h2{font-size:34px;line-height:1;margin:8px 0}body #home h1 br{display:none}body #home h1>em:before{content:' '}body .chapter .eyebrow{font-size:8px;margin:0}body .chapter .description{font-size:12px;line-height:1.4;margin:12px 0}body .main-cta{min-height:44px;padding:5px 9px 5px 15px;gap:15px;font-size:11px}body .main-cta .lc-icon{width:30px;height:30px}body .hero .micro{display:none}body .hero-secondary{margin-top:10px}body .scroll-invite{display:none}body .inspect-object{min-height:36px;font-size:10px}body .instrument{margin-top:10px;padding:8px;width:100%}body .instrument .controls{margin-top:8px;gap:7px}body .instrument .controls button{min-height:44px;padding:5px;font-size:10px}body .instrument .controls button .lc-icon{width:23px;height:23px}body .subcontrols{margin-top:6px;padding-top:3px}body .subcontrols button{min-height:34px}body .stage-bottom{bottom:10px;left:51%;right:22px}body #object-caption{font-size:6px;max-width:180px}body .stage-bottom button{min-height:38px;padding:4px 8px}body .stage-bottom button span{display:none}body .stage-bottom button .lc-icon{width:21px;height:21px}body .print-readout{margin-top:10px;padding-top:8px}body .print-readout strong{font-size:24px}body .model-number{display:none}
}
@media(max-width:950px) and (max-height:500px){
body:not(.ui-compact-scene):not(.ui-enlarged) .chapter .copy,body:not(.ui-compact-scene):not(.ui-enlarged) #layers .copy{top:82px;left:24px;right:auto;width:45%;max-width:45%;max-height:calc(100svh - 100px);margin:0}
body #home h1>em{display:block}body #home h1>em:before{content:none}body #home h1 em br{display:initial}body #home h1 em br:after{content:' '}
body #home h1{font-size:32px;line-height:1.02}body #home h1 em{font-size:30px}body #home .micro{display:none}
}
@media(min-width:375px) and (max-width:420px){body .site-header{padding-inline:14px;gap:8px}body .logo{font-size:22px}body .request-link{white-space:nowrap}}
@media(min-width:701px) and (max-width:1050px){body .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}body .work-card h3{font-size:27px}body .works-heading{margin-bottom:30px}body .works-intro{max-width:55ch}}
@media(max-width:700px){body .work-viewer{grid-template-columns:1fr 1fr;gap:12px}body .work-viewer img{grid-column:1/-1;grid-row:1;width:100%;height:auto;max-height:50dvh;min-height:0;object-fit:contain}body .work-viewer .work-prev{grid-column:1;grid-row:2;justify-self:start}body .work-viewer .work-next{grid-column:2;grid-row:2;justify-self:end}body .work-dialog-caption{padding:12px 8px 0}body .work-dialog{padding:64px 12px 20px}body .work-dialog-caption h2{font-size:27px}}
@media(min-width:2000px){body:not(.ui-compact-scene):not(.ui-enlarged) #home .copy{top:clamp(220px,22vh,340px)}}
body #menu-toggle[aria-expanded=true]{border-color:#c5b5e5;background:var(--lc-glass);color:#eee7eb}
@media(max-width:900px){body #primary-nav[data-open=true]{background:#191a21;box-shadow:0 16px 35px #0008;backdrop-filter:blur(12px)}}
@media(max-width:700px), (max-width:1100px) and (orientation:portrait){body dialog input,body dialog textarea,body dialog select{font-size:16px}body #primary-nav[data-open=true]{background:#191a21;box-shadow:0 16px 35px #0008;backdrop-filter:blur(12px)}}
@media(max-width:950px) and (max-height:500px){body :is(#construction,#layers,#printing,#objects) h2{font-size:28px;line-height:1.1;margin:8px 0;display:flex;flex-wrap:wrap;gap:0 8px;letter-spacing:-.02em}body :is(#construction,#layers,#printing,#objects) h2 br{display:none}body :is(#construction,#layers,#printing,#objects) h2 em{display:inline}body :is(#construction,#layers,#printing,#objects) .description{font-size:12px;line-height:1.4;margin:8px 0}body .chapter .micro{display:none}body .instrument{margin-top:8px}body .instrument-label{padding-bottom:4px}}
body .instrument .controls button[aria-pressed=true]{position:relative}body .instrument .controls button[aria-pressed=true]:after{content:'';position:absolute;left:30%;right:30%;bottom:3px;height:2px;border-radius:2px;background:#e1d0ff;box-shadow:0 0 6px #c4a5ef66}
body #model-operation{border-color:#84758e;color:#dbd1e7;background:#15191f}
@media(max-width:950px) and (max-height:500px){body .chapter:not(.hero) .description{display:none}body .chapter:not(.hero) .instrument{margin-top:0}body #model-operation{margin:0;padding:4px 8px;font-size:10px;line-height:1.3;min-height:0}}
body .mechanism-controls{display:grid;gap:9px;margin-top:14px;padding:12px 15px;border:1px solid #66677755;border-radius:12px;background:#171b2288}
body .mechanism-controls[hidden],body .david-work-link[hidden]{display:none}
body .mechanism-controls label{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;align-items:center;font:400 12px/1.4 var(--lc-body,'Golos Text',sans-serif);color:#d2d1db}
body .mechanism-controls input{width:100%;min-width:0;accent-color:#c9c3eb}
body .david-work-link{display:inline-block;margin-top:12px;color:#d5cdea;text-underline-offset:4px}
@media(max-width:700px){body .mechanism-controls{padding:8px 10px;margin-top:8px;gap:5px}body .mechanism-controls label{font-size:11px}body #objects .controls button{padding-inline:7px;gap:4px}}
body #objects .copy:has(#mechanism-controls:not([hidden])) h2{font-size:clamp(36px,3.4vw,52px);line-height:1.04;margin:10px 0}
body #objects .copy:has(#mechanism-controls:not([hidden])) .description{margin:8px 0;font-size:13px}
body #objects .copy:has(#mechanism-controls:not([hidden])) .instrument{margin-top:14px}
body #objects .copy:has(#mechanism-controls:not([hidden])) .gesture-hint{display:none}
@media(max-width:700px){body #objects .copy:has(#mechanism-controls:not([hidden])) h2{font-size:36px}body #objects .copy:has(#mechanism-controls:not([hidden])) .description{font-size:11px;margin:5px 0}body #objects .copy:has(#mechanism-controls:not([hidden])) .instrument{margin-top:7px}}
@media(max-width:950px) and (max-height:500px){body #objects .copy:has(#mechanism-controls:not([hidden])) h2{font-size:26px;margin:5px 0}body #objects .copy:has(#mechanism-controls:not([hidden])) .instrument{margin-top:5px}body .mechanism-controls{margin-top:5px;padding:5px 8px;gap:2px}body .mechanism-controls label{font-size:10px;line-height:1.2}body .mechanism-controls input{height:14px}}
@media(max-width:950px) and (max-height:500px){body #objects .copy:has(#mechanism-controls:not([hidden])) h2{font-size:26px;margin:5px 0}body #objects .copy:has(#mechanism-controls:not([hidden])) .instrument{margin-top:5px}body .mechanism-controls{margin-top:5px;padding:5px 8px;gap:2px}body .mechanism-controls label{font-size:10px;line-height:1.2}body .mechanism-controls input{height:14px}}

/* Compact layer toolbar: one deliberate expansion, full-size touch targets. */
body .layer-toggle{display:none}
body .layer-actions[hidden]{display:none!important}
body .layer-actions>.inspect-object{margin-top:10px}
@media(max-width:700px),(max-width:950px) and (max-height:500px){
 body #layers .copy h2{font-size:32px;line-height:1.05;margin:8px 0}
 body #layers .copy h2 br{display:none}
 body #layers .description,body #layers .gesture-hint{display:none}
 body #layers .layer-tools{padding:4px 12px;margin-top:10px;border-radius:14px;background:#171a20f5;backdrop-filter:none}
 body #layers .instrument-label{min-height:48px;margin:0;letter-spacing:.04em;gap:8px}
 body #layers .instrument-label>svg{display:none}
 body #layers .instrument-label label{font-size:12px;white-space:nowrap}
 body #layers .layer-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;border:0;background:transparent;color:#e0d5fa;font:400 12px var(--lc-body);white-space:nowrap;cursor:pointer}
 body #layers .layer-toggle:focus-visible{outline:2px solid #d8c9fc;outline-offset:-2px;border-radius:8px}
 body #layers .layer-actions{padding:0 0 8px;border-top:1px solid #9f91b52b}
 body #layers .layer-actions input{height:36px;margin:4px 0}
 body #layers .layer-actions .controls button{min-height:44px;padding:5px 8px;flex-direction:row}
 body #layers .layer-actions .lc-icon{width:22px;height:22px}
 body #layers .layer-actions>.inspect-object{min-height:44px;width:100%;justify-content:center;margin-top:8px}
 body .mechanism-controls{background:#171b22f2;backdrop-filter:none}
}
@media(max-width:950px) and (max-height:500px){body #layers .copy h2{font-size:26px;margin:4px 0}body #layers .layer-tools{margin-top:6px}body #layers .layer-actions>.inspect-object{margin-top:4px}}

@media(max-width:700px),(max-width:950px) and (max-height:500px){
 body #layers h2 em:before{content:' '}
 body #layers .instrument-label{padding-bottom:0}
 body[data-chapter="2"] .render-stage:after{background:linear-gradient(180deg,#101315dc 0%,#10131566 15%,transparent 28%,transparent 93%,#10131580 100%)}
}

/* A fixed 720px canvas must not outgrow a short phone viewport. */
@media(max-width:700px),(max-width:950px) and (max-height:500px){body .render-stage{min-height:0;height:100svh}}
@media(max-width:700px) and (max-height:650px){body #layers .copy h2{font-size:26px}body #layers .copy .eyebrow{display:none}body #layers .copy{top:90px}}

/* Keep the lightweight poster through the first painted 3D frame. */
body #world{transition:opacity .65s cubic-bezier(.22,.61,.36,1)}
body #scene-poster{transition:opacity .65s cubic-bezier(.22,.61,.36,1),visibility 0s .65s}
body.car-ready #scene-poster{visibility:hidden}
body.car-ready.scene-waiting #world{opacity:.22}
body #scene-asset-status{border-radius:16px;background:#171a20ed;border-color:#aaa0bc50;box-shadow:0 8px 28px #0003}
@media(prefers-reduced-motion:reduce){body #world,body #scene-poster{transition:none}}
/* Keep the sculpture, rather than its selector, central on phones. */
@media(max-width:700px),(min-width:701px) and (max-width:1100px) and (orientation:portrait){
 body[data-chapter="4"] .render-stage:after{background:linear-gradient(180deg,#101315dc 0%,#10131566 15%,transparent 28%,transparent 94%,#10131580 100%)}
}
@media(max-width:700px){
 body #objects h2{font-size:30px;line-height:1.08;margin:10px 0 8px}
 body #objects h2 br{display:none}
 body #objects h2 em{display:inline}
 body #objects .description{font-size:14px;line-height:1.45;margin:8px 0 13px}
 body #objects .instrument{position:relative;padding:8px;margin-top:8px}
 body #objects .instrument-label{position:absolute;right:8px;top:8px;width:44px;height:54px;padding:0;margin:0}
 body #objects .instrument-label>span,body #objects .inspect-object>span{display:none}
 body #objects .inspect-object{width:44px;min-width:44px;height:54px;padding:0;justify-content:center}
 body #objects .controls{width:calc(100% - 52px);gap:5px}
 body #objects .controls button{min-height:54px;height:54px;padding:5px 2px;gap:3px;font-size:11px}
 body #objects .controls .ui-icon{width:21px;height:21px}
}
