@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-ext-400-normal-Q_nF8v4l.woff2)format("woff2"),url(/assets/instrument-sans-latin-ext-400-normal-r32jotim.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2)format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-ext-500-normal-CTEe1bJa.woff2)format("woff2"),url(/assets/instrument-sans-latin-ext-500-normal-CAxz3nsc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2)format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-ext-600-normal-BsaQcF38.woff2)format("woff2"),url(/assets/instrument-sans-latin-ext-600-normal-DMks36a2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2)format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bodoni Moda;src:url(/fonts/BodoniModa.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+??,U+2000-206F}@font-face{font-family:Bodoni Moda;src:url(/fonts/BodoniModa-latin-ext.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+100-24F,U+1E??}@font-face{font-family:Bodoni Moda;src:url(/fonts/BodoniModa-italic.woff2)format("woff2");font-style:italic;font-weight:500;font-display:swap;unicode-range:U+??,U+2000-206F}@font-face{font-family:Bodoni Moda;src:url(/fonts/BodoniModa-italic-latin-ext.woff2)format("woff2");font-style:italic;font-weight:500;font-display:swap;unicode-range:U+100-24F,U+1E??}:root{--petrol:#163f45;--petrol-dark:#0e3035;--petrol-soft:#e9f0ee;--paper:#f5f6f5;--paper-deep:#eef1ef;--paper-bright:#fff;--surface-raised:#fff;--ink:#202724;--ink-soft:#53605b;--ink-faint:#5b6762;--accent:#bb432c;--accent-dark:#9d3223;--accent-wash:#f0d8ce;--success:#2f7259;--warning:#93631f;--error:#9d3223;--border-quiet:#d4dcd8;--border-strong:#9ba9a4;--font-body:"Instrument Sans", system-ui, sans-serif;--font-display:"Bodoni Moda", Didot, Georgia, serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-standard:cubic-bezier(.2, .8, .2, 1);--duration-fast:.12s;--duration-base:.16s;--duration-menu:.18s;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--space-64:64px;--space-96:96px;--control-height:44px;--control-radius:4px;--toolbar-radius:6px;--border-width:1px;--focus-width:2px;--focus-offset:2px}*{box-sizing:border-box}html,body{background-color:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;padding:0;font-size:16px;line-height:1.5}::selection{background:var(--accent);color:var(--paper-bright)}h1,h2,h3{font-family:var(--font-display);margin:0 0 var(--space-8);font-weight:500}h1{font-size:clamp(1.6rem,1.25rem + 1.2vw,2.1rem);line-height:1.15}button{font:inherit;justify-content:center;align-items:center;gap:var(--space-8);min-width:44px;min-height:44px;padding:var(--space-8) var(--space-16);border:1px solid var(--petrol);border-radius:var(--control-radius);background:var(--petrol);color:var(--paper-bright);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);display:inline-flex}button:hover:not([disabled]){background:var(--petrol-dark);border-color:var(--petrol-dark)}button:active:not([disabled]){transform:translateY(1px)}button[disabled]{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.public-hero :is(button,a,[tabindex]):focus-visible,.public-footer :is(button,a,[tabindex]):focus-visible{outline:var(--focus-width) solid var(--paper-bright);outline-offset:var(--focus-offset);box-shadow:0 0 0 var(--focus-width) var(--petrol)}.button-quiet{color:var(--ink);border-color:var(--border-strong);background:0 0}.button-quiet:hover:not([disabled]){background:var(--petrol-soft);border-color:var(--petrol);color:var(--petrol)}.button-primary{background:var(--petrol);border-color:var(--petrol)}.button-primary:hover:not([disabled]){background:var(--petrol-dark);border-color:var(--petrol-dark)}.button-primary .icon:last-child{transition:transform var(--duration-fast) var(--ease-standard)}.button-primary:hover:not([disabled]) .icon:last-child{transform:translate(3px)}.button-link{color:var(--ink-soft);background:0 0;border-color:#0000}.button-link:hover:not([disabled]){color:var(--ink);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.icon{width:1em;height:1em;-webkit-mask:var(--icon-mask) center / contain no-repeat;-webkit-mask:var(--icon-mask) center / contain no-repeat;mask:var(--icon-mask) center / contain no-repeat;background-color:currentColor;flex:none;display:inline-block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{margin:0 0 var(--space-12);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600}.brand-lockup{align-items:center;gap:var(--space-12);display:inline-flex}.brand-mark{width:44px;height:auto;color:var(--ink)}.brand-lockup-compact .brand-mark{width:34px}.parallax-mark .pm-plane{fill:var(--paper-bright);stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round}.parallax-mark .pm-seam{stroke:currentColor;stroke-width:1.4px}@keyframes mark-resolve{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.parallax-mark .pm-image{fill:var(--accent-wash);stroke:var(--accent);stroke-width:1.5px}.parallax-mark .pm-image-a{transform-origin:26px 21px;animation:mark-resolve .36s var(--ease-out) both}.parallax-mark .pm-image-b{transform-origin:39px 21px;animation:mark-resolve .36s var(--ease-out) 90ms both}.parallax-mark .pm-ray{stroke:var(--accent);stroke-width:1px;stroke-dasharray:2.4 2}.parallax-mark .pm-eye{fill:var(--accent)}.parallax-mark .pm-tick{stroke:currentColor;stroke-width:1px;opacity:.55}.brand-words{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-size:20px;font-weight:500;line-height:1}.brand-lockup-compact .brand-words{font-size:18px}.brand-slash{color:var(--accent);font-family:var(--font-body);font-weight:400}.brand-sub{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);white-space:nowrap;border-radius:2px;padding:2px 6px;font-size:.7rem;font-weight:600}.site-header{justify-content:space-between;align-items:center;gap:var(--space-16);border-bottom:1px solid var(--ink);padding:var(--space-16) var(--space-24);display:flex}.site-header-meta{text-align:right;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.8rem;line-height:1.6}.site-header-meta .alpha-tag{color:var(--accent);margin:0;font-weight:600}.alpha-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.8rem}.page-loading{max-width:720px;padding:var(--space-48) var(--space-24);margin:0 auto}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.page-projects{max-width:100%;margin:0;padding:0}.public-hero{background:var(--petrol);color:var(--paper-bright);overflow:hidden}.public-header{align-items:center;gap:var(--space-32);border-bottom:1px solid #ffffff38;width:min(1280px,100% - 48px);height:64px;margin:0 auto;display:flex}.public-header .brand-lockup,.public-header .brand-mark{color:var(--paper-bright)}.public-header .parallax-mark .pm-plane{fill:var(--petrol-dark);stroke:var(--paper-bright)}.public-header .parallax-mark .pm-image{fill:#ffffff26;stroke:var(--paper-bright)}.public-header .parallax-mark .pm-ray,.public-header .parallax-mark .pm-seam{stroke:var(--paper-bright)}.public-header .parallax-mark .pm-eye{fill:var(--paper-bright)}.public-header .parallax-mark .pm-tick{stroke:var(--paper-bright);opacity:.55}.public-header .brand-words{color:var(--paper-bright)}.public-header .brand-slash{color:#ffffff80}.public-header .brand-sub{color:#ffffffb8;border-color:#ffffff4d}.public-header__nav{align-items:center;gap:var(--space-24);margin-left:auto;display:flex}.public-header__nav a{min-height:44px;color:inherit;align-items:center;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.public-header__nav a:hover{text-underline-offset:5px;text-decoration:underline}.local-cue{color:#ffffffb8;align-items:center;gap:7px;font-size:12px;display:inline-flex}.local-cue:before{content:"";background:#ffffff80;border-radius:50%;width:6px;height:6px}.public-header .button-quiet,.public-header .open-file-btn{color:#ffffffe6;background:0 0;border-color:#ffffff4d}.public-header .button-quiet:hover:not([disabled]),.public-header .open-file-btn:hover:not([disabled]){color:var(--paper-bright);background:#ffffff1a;border-color:#ffffff80}.hero-grid{gap:var(--space-24);width:min(1280px,100% - 48px);min-height:660px;padding:var(--space-48) 0;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;margin:0 auto;display:grid}.hero-copy{z-index:2;grid-column:1/span 5;align-self:center;position:relative}.hero-kicker{color:#ffffffb8;margin:0 0 22px;font-size:14px}.hero-copy h1{max-width:620px;font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:84px;font-weight:500;line-height:.98}.hero-copy h1 em{font-style:italic;font-weight:500}.hero-lede{color:#ffffffc7;max-width:470px;margin:28px 0 0;font-size:17px;line-height:1.55}.hero-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;margin-top:30px;display:flex}.hero-actions .button-primary{color:var(--petrol);background:var(--paper-bright);border-color:var(--paper-bright)}.hero-actions .button-primary:hover:not([disabled]){background:var(--petrol-soft);border-color:var(--petrol-soft)}.hero-actions .button-quiet{color:#ffffffe6;background:0 0;border-color:#0000}.hero-actions .button-quiet:hover:not([disabled]){color:var(--paper-bright);background:#ffffff1a;border-color:#ffffff4d}.hero-privacy{color:#ffffff9e;margin:16px 0 0;font-size:12px}.hero-demo-link{align-items:center;min-height:44px;padding:10px 12px;font-size:14px;text-decoration:none;display:inline-flex}.hero-exhibit{align-self:center;align-items:stretch;gap:var(--space-12);grid-column:6/13;grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:540px;display:grid;position:relative}.hero-exhibit .hero-3d{grid-row:2;min-width:0}.hero-exhibit .hero-3d .hero-viewport{background:0 0;border:none;height:100%;min-height:380px}.hero-viewport--loading,.hero-viewport--error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:380px;padding:24px;display:flex}.hero-poster{opacity:.5;width:96px;height:96px;color:var(--paper-bright);justify-content:center;align-items:center;display:flex}.hero-poster svg{width:64px;height:64px}.hero-viewport--error .panel-note{color:var(--paper-bright)}.hero-exhibit .hero-3d .spatial-viewport{background:0 0;border:none;height:100%;min-height:380px}.hero-exhibit .hero-3d .spatial-viewport:before,.hero-exhibit .hero-3d .spatial-viewport:after{display:none}.hero-exhibit .hero-3d .mode-switch{background:#ffffff1f;border-color:#ffffff3d}.hero-exhibit .hero-3d .mode-button{color:#ffffffd1}.hero-exhibit .hero-3d .mode-button[aria-pressed=true]{color:var(--petrol);background:var(--paper-bright);border-color:#0000}.hero-exhibit .hero-3d .mode-button:hover:not([disabled]):not([aria-pressed=true]){color:var(--paper-bright);background:#ffffff14}.hero-exhibit .hero-3d .panel-note{color:#ffffffb8}.hero-exhibit .hero-3d .hero-return{color:var(--petrol);background:#ffffffe6;border-color:#ffffff80}.hero-exhibit .hero-3d .hero-return:hover:not([disabled]){background:var(--paper-bright);border-color:var(--paper-bright)}.hero-exhibit .hero-3d .preview-composite img{border-color:#fff3}.sample-gallery{flex-direction:column;grid-row:1;justify-content:flex-start;align-items:flex-end;gap:7px;display:flex}.sample-gallery__buttons{border-radius:var(--toolbar-radius);background:var(--petrol);border:1px solid #ffffff38;gap:5px;padding:5px;display:flex}.sample-choice{border-radius:var(--control-radius);background:0 0;border:1px solid #0000;width:44px;min-width:44px;height:44px;min-height:44px;padding:3px}.sample-choice img{object-fit:cover;border-radius:2px;width:36px;height:36px;display:block}.sample-choice[aria-pressed=true]{border-color:var(--paper-bright)}.sample-choice:hover:not([disabled]):not([aria-pressed=true]){background:#ffffff14;border-color:#0000}.sample-gallery__credit{color:#ffffffb8;text-align:right;max-width:360px;margin:0;font-size:12px}.sample-layouts{border-top:1px solid #ffffff38;grid-row:4;padding-top:14px}.sample-layouts__heading{letter-spacing:.04em;margin:0 0 10px;font-size:12px;font-weight:600}.sample-layouts__choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.sample-layout-choice{border-radius:var(--control-radius);min-width:0;color:var(--paper-bright);text-align:center;background:0 0;border:1px solid #ffffff47;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:8px 4px;font-size:12px;line-height:1.25;display:flex}.sample-layout-choice svg{width:64px;max-width:100%;height:44px;display:block}.sample-layout-choice[aria-pressed=true]{background:var(--paper-bright);border-color:var(--paper-bright);color:var(--petrol)}.sample-layout-choice:hover:not([disabled]):not([aria-pressed=true]){background:#ffffff14;border-color:#fff9}.sample-layout-choice__angle{opacity:.8;font-variant-numeric:tabular-nums;margin-top:auto;font-size:11px}.sample-layouts__description{color:#ffffffc7;min-height:52px;margin:10px 0 0;font-size:12px;line-height:1.5}.sample-layouts__description strong{color:var(--paper-bright);font-weight:600}.sample-layouts__description>span{margin-top:3px;display:block}.hero-toolstrip{grid-row:3;align-items:flex-end;gap:10px;display:flex}.hero-caption{color:#ffffffad;margin-left:5px;font-size:12px}.public-section{width:min(1280px,100% - 48px);margin:0 auto;padding:104px 0}.section-intro{gap:var(--space-24);grid-template-columns:repeat(12,minmax(0,1fr));margin-bottom:54px;display:grid}.section-intro h2{font-family:var(--font-display);letter-spacing:-.025em;grid-column:1/span 7;margin:0;font-size:44px;font-weight:500;line-height:48px}.section-intro p{color:var(--ink-soft);grid-column:9/13;margin:6px 0 0}.process-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--border-quiet);grid-template-columns:repeat(3,1fr);display:grid}.process-step{min-height:250px;padding:28px 30px 32px 0;position:relative}.process-step+.process-step{border-left:1px solid var(--border-quiet);padding-left:30px}.process-image{background:var(--paper);border:1px solid var(--border-quiet);place-items:center;height:180px;display:grid;overflow:hidden}.process-image img{object-fit:contain;width:100%;height:100%;display:block}.process-step h3{margin:18px 0 7px;font-size:18px;font-weight:600;line-height:26px}.process-step p{max-width:33ch;color:var(--ink-soft);margin:0;font-size:14px}.project-section{padding-top:20px}.ledger-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.ledger-head h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:44px;font-weight:500;line-height:48px}.ledger-head p{color:var(--ink-soft);margin:0 0 4px;font-size:13px}.project-ledger{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.project-row{border:0;border-bottom:1px solid var(--border-quiet);width:100%;min-height:94px;color:var(--ink);text-align:left;background:0 0;border-radius:0;grid-template-columns:72px minmax(0,1fr) auto 44px;align-items:center;gap:18px;min-height:44px;padding:10px 4px;display:grid}.project-row:hover:not([disabled]){background:var(--petrol-soft);border-color:#0000;border-bottom-color:var(--border-quiet);color:var(--ink)}.project-thumb{object-fit:cover;background:var(--paper);border:1px solid var(--border-quiet);width:64px;height:64px}.project-thumb--corner{place-items:center;display:grid}.project-thumb--corner .parallax-mark{width:48px;height:38px;color:var(--ink-soft)}.project-name{margin:0 0 4px;font-size:17px;font-weight:600;line-height:24px;display:block}.project-meta{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px;display:block}.project-state{color:var(--warning);font-size:12px;font-weight:600}.project-arrow{color:var(--petrol);margin-left:auto;font-size:22px}.ledger-empty{min-height:280px;padding:var(--space-32);border-top:1px solid var(--ink);border-bottom:1px solid var(--border-quiet);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.ledger-empty .parallax-mark{width:68px;height:52px;color:var(--ink-soft)}.ledger-empty h3{font-family:var(--font-display);margin:6px 0 0;font-size:28px;font-weight:500;line-height:34px}.ledger-empty p{max-width:48ch;color:var(--ink-soft);margin:0}.ledger-empty>div{gap:var(--space-8);flex-wrap:wrap;margin-top:12px;display:flex}.ledger-loading{align-items:center;gap:var(--space-12);min-height:120px;padding:var(--space-24) 4px;border-top:1px solid var(--ink);border-bottom:1px solid var(--border-quiet);color:var(--ink-soft);display:flex}.ledger-loading span:last-child{font-size:14px}.ledger-recovery{padding:var(--space-24);border-top:1px solid var(--ink);border-bottom:1px solid var(--border-quiet);background:#fcf0ed}.ledger-recovery>strong{font-size:15px}.ledger-recovery>p{color:var(--ink-soft);margin:4px 0 16px;font-size:13px}.ledger-recovery>div{gap:var(--space-8);flex-wrap:wrap;display:flex}.public-footer{min-height:660px;color:var(--paper-bright);background:var(--petrol-dark);position:relative;overflow:hidden}.footer-panorama{object-fit:cover;object-position:center 30%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.footer-content{z-index:1;gap:var(--space-24);grid-template-columns:5fr 3fr 4fr;width:min(1280px,100% - 48px);margin:0 auto;padding:42px 0 0;display:grid;position:relative}.footer-content h2{max-width:540px;font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:44px;font-weight:500;line-height:48px}.footer-meta{color:#ffffffb8;font-size:13px}.footer-meta strong{color:var(--paper-bright);margin-bottom:7px;font-weight:600;display:block}.footer-meta p{max-width:34ch;margin:0}.footer-links{flex-wrap:wrap;gap:6px 18px;margin-top:18px;display:flex}.footer-links a,.footer-links button{color:#ffffffb8;background:0 0;border:none;align-items:center;min-height:44px;padding:0;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.footer-links a:hover,.footer-links button:hover:not([disabled]){color:var(--paper-bright);text-underline-offset:5px;background:0 0;text-decoration:underline}.footer-link-button{cursor:pointer;font-family:var(--font-ui)}.footer-link-button[disabled]{opacity:.5;cursor:not-allowed}.footer-error{max-width:560px;color:var(--paper-bright);background:#9d32232e;border:1px solid #9d322399;border-radius:2px;grid-column:1/-1;margin:12px 0 0;padding:10px 14px;font-size:13px}.footer-credit{color:#ffffffb8;grid-column:1/-1;max-width:920px;margin:10px 0 0;font-size:12px}.page-recovery{max-width:560px;padding:var(--space-96) var(--space-24);align-items:flex-start;gap:var(--space-12);flex-direction:column;margin:0 auto;display:flex}.recovery-mark{width:64px;height:auto;color:var(--ink-soft);margin-bottom:var(--space-8)}.page-recovery h1{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:64px;font-weight:500;line-height:64px}.recovery-heading:focus{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.recovery-body{color:var(--ink-soft);max-width:46ch}.recovery-body p{margin:0 0 var(--space-8)}.recovery-error{font-family:var(--font-body);color:var(--ink-soft);word-break:break-word;font-size:.85rem}.recovery-actions{gap:var(--space-12);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.recovery-colophon{margin-top:var(--space-32);padding-top:var(--space-16);border-top:1px solid var(--border-quiet);color:var(--ink-faint);max-width:46ch;font-size:12px}.editor-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.editor-header{justify-content:space-between;align-items:center;gap:var(--space-16);border-bottom:1px solid var(--ink);padding:var(--space-8) var(--space-16);flex-wrap:wrap;display:flex}.editor-brand{color:var(--ink);padding:var(--space-4) var(--space-8);background:0 0;border:1px solid #0000;border-radius:2px;min-height:44px}.editor-brand:hover:not([disabled]){background:var(--surface-raised);border-color:var(--border-quiet);color:var(--ink)}.editor-header-title{justify-content:center;align-items:center;gap:var(--space-12);flex:1;min-width:0;display:flex}.title-input{font:inherit;font-family:var(--font-display);border:1px solid #0000;border-bottom:1px solid var(--border-quiet);color:var(--ink);padding:var(--space-4) var(--space-8);min-width:12ch;max-width:40ch;min-height:44px;transition:border-color var(--duration-fast) var(--ease-standard);background:0 0;border-radius:0;font-size:1.15rem}.title-input:hover:not([disabled]){border-bottom-color:var(--border-strong)}.title-input:focus{border-bottom-color:var(--accent);outline:none}.editor-header-actions{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:inline-flex}.header-history{background:var(--paper-deep);border:1px solid var(--border-quiet);border-radius:6px;grid-template-columns:repeat(2,minmax(0,auto));gap:1px;padding:3px;display:inline-grid}.header-icon-command{width:44px;height:44px;color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;padding:0;display:inline-grid}.header-icon-command .icon{transition:transform var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}.header-icon-command:hover:not([disabled]){background:var(--surface-raised);color:var(--ink);border-color:#0000}.header-icon-command:active:not([disabled]){transform:translateY(1px)}.header-icon-command[disabled]{opacity:.38;color:var(--ink-soft);background:0 0;border-color:#0000}.header-icon-command[aria-label=Undo]:hover:not([disabled]) .icon{transform:rotate(-12deg)}.header-icon-command[aria-label=Redo]:hover:not([disabled]) .icon{transform:rotate(12deg)}.header-command-divider{background:var(--border-quiet);width:1px;height:24px;margin-inline:4px}.header-command{min-height:44px;color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex}.header-command .icon{transition:transform var(--duration-fast) var(--ease-standard)}.header-command:hover:not([disabled]){background:var(--surface-raised);color:var(--ink);border-color:#0000}.header-command--download:hover:not([disabled]) .icon{transform:translateY(1px)}.header-command--guide:hover:not([disabled]) .icon{transform:rotate(8deg)}.header-icon-command:focus-visible,.header-command:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.readonly-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:2px 6px;font-size:.75rem}.readonly-banner{align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);border-bottom:1px solid var(--border-quiet);border-left:3px solid var(--accent);background:var(--surface-raised);flex-wrap:wrap;margin:0;display:flex}.readonly-banner .button-quiet{min-height:44px;padding:2px 10px}.save-status{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.save-dot,.status-dot{background:var(--ink-faint);border-radius:50%;flex:none;width:7px;height:7px}.save-saved{color:var(--success)}.save-saved .save-dot{background:var(--success)}.save-saving .save-dot,.save-unsaved .save-dot{background:var(--warning)}.save-error,.save-conflict{color:var(--accent)}.save-error .save-dot,.save-conflict .save-dot{background:var(--accent)}.step-nav{border-bottom:1px solid var(--border-quiet);padding:0 var(--space-16)}.step-nav ol{gap:var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.step-button{align-items:center;gap:var(--space-8);color:var(--ink-soft);padding:var(--space-8) var(--space-12);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;justify-content:flex-start;min-height:44px;display:flex;position:relative}.step-button:hover:not([disabled]){background:var(--surface-raised);color:var(--ink);border-bottom-color:var(--border-strong)}.step-button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--ink)}.step-button[aria-pressed=true] .icon{color:var(--accent)}.step-number{font-variant-numeric:tabular-nums;border:1px solid var(--border-quiet);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;display:inline-flex}.step-button[aria-pressed=true] .step-number{border-color:var(--accent);color:var(--accent)}.step-button.step-valid .step-number{border-color:var(--success);color:var(--success)}.step-button.step-attention{color:var(--ink)}.step-button.step-attention .step-number{border-color:var(--warning);color:var(--warning)}.step-count{background:var(--accent);min-width:20px;height:20px;color:var(--paper-bright);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:.72rem;display:inline-flex}.step-text{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.step-label{font-size:.9rem;font-weight:600}.step-hint{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem}.step-nav-note{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-8) var(--space-8);color:var(--accent);margin:0;font-size:.85rem;display:flex}.editor-main{flex:1;grid-template-columns:minmax(0,1fr) 380px;gap:0;min-height:0;display:grid}.studio-stage{gap:var(--space-8);padding:var(--space-16);border-right:1px solid var(--border-quiet);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.stage-heading{justify-content:space-between;align-items:baseline;gap:var(--space-16);display:flex}.stage-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.7rem;font-weight:600}.stage-hint{color:var(--ink-soft);margin:0;font-size:.82rem}.stage-preview-toggle{min-height:44px;padding:0 var(--space-12);white-space:nowrap;align-items:center;display:none}.stage-preview{gap:var(--space-8);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.stage-summary{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:72px;padding:0 var(--space-16);border:1px solid var(--border-quiet);background:var(--paper-deep);margin:0;font-size:.85rem;display:none}.stage-summary-mode{color:var(--ink);font-weight:600}.stage-summary-status{color:var(--ink-soft)}.stage-empty{padding:var(--space-8) var(--space-12);border:1px dashed var(--border-quiet);color:var(--ink-soft);margin:0;font-size:.85rem}.stage-drop-veil{inset:var(--space-8);z-index:3;border:2px dashed var(--accent);background:color-mix(in srgb, var(--paper-bright) 82%, transparent);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.stage-drop-veil p{padding:var(--space-8) var(--space-16);background:var(--paper-bright);color:var(--accent-dark);margin:0;font-size:.9rem;font-weight:600}.stage-artwork-cta{z-index:3;align-items:center;gap:var(--space-8);min-height:44px;padding:var(--space-8) var(--space-16);border:1px dashed var(--border-strong);background:var(--paper-bright);color:var(--ink-soft);white-space:nowrap;border-radius:999px;font-size:.85rem;font-weight:600;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stage-artwork-cta:hover:not([disabled]){background:var(--paper-bright);border-color:var(--accent);color:var(--ink)}.stage-artwork-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mode-switch{border:1px solid var(--border-quiet);background:var(--paper-deep);border-radius:6px;grid-template-columns:repeat(3,minmax(0,auto));gap:2px;width:max-content;max-width:100%;padding:3px;display:inline-grid;position:relative}.mode-button{min-height:42px;color:var(--ink-soft);white-space:nowrap;background:0 0;border:0;border-radius:4px;justify-content:flex-start;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.mode-button:hover:not([disabled]):not([aria-pressed=true]){background:color-mix(in srgb, var(--paper-bright) 70%, transparent);color:var(--ink);border-color:#0000}.mode-button:hover:not([disabled]):not([aria-pressed=true]) .icon{transform:translateY(-1px)}.mode-icon{border-radius:2px;place-items:center;width:26px;height:26px;display:inline-grid}.mode-icon .icon{transition:transform var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}.mode-button[aria-pressed=true]{background:var(--ink);color:var(--paper-bright);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--paper-bright) 12%, transparent), 0 1px 2px color-mix(in srgb, var(--ink) 18%, transparent);border-color:#0000}.mode-button[aria-pressed=true] .icon{color:var(--accent-wash)}.mode-button[aria-pressed=true]:hover:not([disabled]){background:var(--ink);color:var(--paper-bright);border-color:#0000}.mode-button:active:not([disabled]){transform:translateY(0)}.mode-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:2}.spatial-viewport{border:1px solid var(--border-quiet);background:var(--paper-deep);touch-action:none;flex:1;min-height:380px;position:relative}.spatial-viewport:before{content:"";pointer-events:none;border:1px solid #20231f1a;position:absolute;inset:10px}.spatial-viewport:after{content:"";pointer-events:none;background:linear-gradient(var(--border-strong), var(--border-strong)) left 16px top 16px / 12px 1px, linear-gradient(var(--border-strong), var(--border-strong)) left 16px top 16px / 1px 12px, linear-gradient(var(--border-strong), var(--border-strong)) right 16px top 16px / 12px 1px, linear-gradient(var(--border-strong), var(--border-strong)) right 16px top 16px / 1px 12px, linear-gradient(var(--border-strong), var(--border-strong)) left 16px bottom 16px / 12px 1px, linear-gradient(var(--border-strong), var(--border-strong)) left 16px bottom 16px / 1px 12px, linear-gradient(var(--border-strong), var(--border-strong)) right 16px bottom 16px / 12px 1px, linear-gradient(var(--border-strong), var(--border-strong)) right 16px bottom 16px / 1px 12px;opacity:.5;background-repeat:no-repeat;position:absolute;inset:0}.spatial-viewport canvas{display:block}.artwork-overlay{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:visible}.artwork-frame-outline{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 4}.artwork-hit{pointer-events:all}.artwork-hit-move{cursor:grab}.artwork-overlay[data-gesture=move] .artwork-hit-move{cursor:grabbing}.artwork-corner-mark{fill:var(--paper-bright);stroke:var(--accent);stroke-width:1.5px}.artwork-rotate-rule{stroke:var(--accent);stroke-width:1px}.artwork-rotate-mark{fill:var(--paper-bright);stroke:var(--accent);stroke-width:1.5px}.artwork-hit-rotate{cursor:grab}.artwork-overlay[data-gesture=rotate] .artwork-hit-rotate{cursor:grabbing}.artwork-rotate-readout{fill:var(--ink);font-size:12px;font-weight:600}.artwork-edit-hint{padding:var(--space-8) var(--space-12);border:1px dashed var(--border-quiet);color:var(--ink-soft);margin:0;font-size:.85rem}.viewport-fallback{border:1px dashed var(--border-quiet);min-height:200px;padding:var(--space-24);text-align:center;color:var(--ink-soft);flex:1;justify-content:center;align-items:center;display:flex}.preview-status{align-items:center;gap:var(--space-8);color:var(--ink-soft);min-height:24px;font-size:.85rem;display:flex}.preview-status .status-dot{width:7px;height:7px}.preview-ready .status-dot{background:var(--success)}.preview-updating .status-dot{background:var(--warning)}.preview-error .status-dot{background:var(--accent)}.preview-status .button-quiet{min-height:44px;padding:2px 10px}.preview-error{color:var(--accent)}.surface-legend{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.75rem}.flat-pieces{gap:var(--space-24);flex-wrap:wrap;flex:1;align-items:flex-start;min-height:0;display:flex;overflow:auto}.piece{max-width:100%;margin:0}.piece-stage{border:1px solid var(--border-quiet);background:var(--surface-raised);max-width:520px;position:relative}.piece-placeholder{width:320px;max-width:100%;color:var(--ink-soft);justify-content:center;align-items:center;font-size:.85rem;display:flex}.piece-overlay{width:100%;height:100%;position:absolute;inset:0}.piece-footprint{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.piece-tile{fill:none;stroke:var(--ink-soft);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.piece-caption{color:var(--ink-soft);padding-top:var(--space-4);font-size:.8rem}.pieces-empty{padding:var(--space-32);border:1px dashed var(--border-quiet);color:var(--ink-soft)}.studio-inspector{flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden;container:inspector/inline-size}.inspector-scroll{min-height:0;padding:var(--space-16);flex:1;overflow-y:auto}.inspector-step-footer{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);background:var(--paper-bright);border-top:1px solid var(--border-quiet);flex:none;display:flex}.inspector-step-count{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;font-size:.78rem;font-weight:600}.inspector-step-buttons{gap:var(--space-8);align-items:center;display:flex}.icon-back{transform:rotate(180deg)}.panel-transition{animation:panel-in var(--duration-base) var(--ease-out)}.panel h2{border-bottom:1px solid var(--ink);padding-bottom:var(--space-8);margin-bottom:var(--space-12);font-size:1.25rem}.panel h3{margin-top:var(--space-16);font-size:1rem}.panel-note{color:var(--ink-soft);margin:0 0 var(--space-12);font-size:.85rem}.example-notice{border-left:3px solid var(--warning);padding-left:var(--space-12)}.tape-steps{margin:0 0 var(--space-12);padding-left:var(--space-24);color:var(--ink-soft);font-size:.85rem}.tape-steps li{margin-bottom:4px}.issue-fix{margin-top:var(--space-8);min-height:40px}.field{min-width:0;margin-bottom:14px}.field-row{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@container inspector (width<=340px){.field-row{grid-template-columns:1fr}}.field-group{margin:var(--space-24) 0 0;border:0;min-width:0;padding:0}.field-group legend{width:100%;padding:0 0 var(--space-8);margin-bottom:var(--space-12);border-bottom:1px solid var(--border-quiet);text-transform:uppercase;letter-spacing:.055em;color:var(--ink-soft);font-size:.74rem;font-weight:600}.field-group[disabled] :is(input,select,button){cursor:not-allowed}.dimension-group{border:1px solid var(--border-quiet);background:color-mix(in srgb, var(--paper-bright) 62%, transparent);border-radius:2px;margin:18px 0 0;padding:12px}.dimension-group legend{width:auto;color:var(--ink);border:0;align-items:center;gap:8px;margin:0 0 12px;padding:0 8px 0 0;display:flex}.surface-key{background:var(--ink);width:26px;height:26px;color:var(--paper-bright);font-family:var(--font-display);text-transform:none;letter-spacing:normal;border-radius:1px;place-items:center;font-size:1rem;font-weight:500;display:grid}.dimension-legend-text{flex-direction:column;display:flex}.dimension-legend-text strong{text-transform:none;letter-spacing:normal;font-size:.82rem;font-weight:600}.dimension-legend-text>span{text-transform:uppercase;letter-spacing:.055em;color:var(--ink-faint);font-size:.66rem;font-weight:600}.dimension-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dimension-grid .field{margin-bottom:0}@container inspector (width<=300px){.dimension-grid{grid-template-columns:1fr}}.dimension-group .field .field-input{min-height:52px;font-size:1.15rem;font-weight:550}.field-label,.field>label{text-transform:uppercase;letter-spacing:.055em;color:var(--ink-soft);margin-bottom:6px;font-size:.74rem;font-weight:600;display:block}.field-input-row{align-items:stretch;gap:0;width:100%;min-width:0;display:flex}.field-input,.field input[type=number],.field input[type=text]{font:inherit;font-variant-numeric:tabular-nums;border:1px solid var(--border-quiet);background:var(--paper-bright);width:100%;min-width:0;min-height:48px;color:var(--ink);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border-radius:2px;padding:9px 12px;font-size:1rem}.field-input-row .field-input{flex:1}.field-input-row:has(.field-suffix) .field-input{border-radius:2px 0 0 2px}.field-suffix{background:var(--paper-deep);border:1px solid var(--border-quiet);text-transform:uppercase;letter-spacing:.055em;min-width:44px;color:var(--ink-soft);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border-left:0;border-radius:0 2px 2px 0;place-items:center;padding:0 10px;font-size:.72rem;font-weight:600;display:grid}.field-input-row:hover .field-input:enabled,.field-input-row:hover .field-input:enabled~.field-suffix,.field input[type=number]:hover:enabled,.field input[type=text]:hover:enabled{border-color:var(--border-strong)}.field-input-row:focus-within{outline:2px solid var(--accent);outline-offset:1px}.field-input-row:focus-within .field-suffix{background:var(--accent-wash)}.field-input-row .field-input:focus-visible{outline:none}.field-input[aria-invalid=true],.field input[aria-invalid=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent-wash) 28%, var(--paper-bright))}.field-input[aria-invalid=true]~.field-suffix{border-color:var(--accent)}.field-input:disabled,.field input:disabled{background:var(--paper-deep);color:var(--ink-faint);cursor:not-allowed}.field-input:disabled~.field-suffix{color:var(--ink-faint)}.field-desc{color:var(--ink-soft);margin:6px 0 0;font-size:.78rem;line-height:1.35}.field-error{color:var(--accent);margin:4px 0 0;font-size:.82rem}.check-row{align-items:center;gap:var(--space-8);min-height:44px;color:var(--ink-soft);cursor:pointer;padding:8px 0;font-size:.9rem;line-height:1.35;display:flex}.check-row:hover{color:var(--ink)}.check-row input[type=checkbox]{appearance:none;border:1px solid var(--border-strong);background:var(--paper-bright);cursor:pointer;width:22px;min-width:22px;height:22px;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border-radius:2px;flex:none;place-content:center;margin:0;display:grid}.check-row input[type=checkbox]:before{content:"";background:var(--paper-bright);clip-path:polygon(14% 44%,0 59%,40% 100%,100% 18%,84% 0,39% 70%);width:12px;height:12px;transition:transform var(--duration-fast) var(--ease-standard);transform:scale(0)}.check-row:hover input[type=checkbox]:enabled{border-color:var(--accent)}.check-row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.check-row input[type=checkbox]:checked:before{transform:scale(1)}.check-row input[type=checkbox]:indeterminate:before{clip-path:none;width:12px;height:2px;transform:scale(1)}.check-row input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check-row input[type=checkbox]:disabled{background:var(--paper-deep);border-color:var(--border-quiet);cursor:not-allowed}.toggle-row input[type=checkbox]{background:var(--paper-deep);border-color:var(--border-quiet);border-radius:999px;width:40px;min-width:40px;height:22px;padding:2px;display:block}.toggle-row input[type=checkbox]:before{clip-path:none;background:var(--ink-faint);border-radius:50%;width:16px;height:16px;display:block;transform:scale(1)translate(0)}.toggle-row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.toggle-row input[type=checkbox]:checked:before{background:var(--paper-bright);transform:scale(1)translate(18px)}select{font:inherit;appearance:none;border:1px solid var(--border-quiet);background:var(--paper-bright) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%2320231f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;min-height:48px;color:var(--ink);transition:border-color var(--duration-fast) var(--ease-standard);border-radius:2px;padding:8px 38px 8px 12px}select:hover:enabled{border-color:var(--border-strong)}select:disabled{background-color:var(--paper-deep);color:var(--ink-faint);cursor:not-allowed}.field select{width:100%}.select-row{text-transform:uppercase;letter-spacing:.055em;min-height:48px;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;font-size:.74rem;font-weight:600;display:flex}.select-row select{width:auto;min-width:104px}.dropzone{border:1px dashed var(--border-strong);background:var(--surface-raised);padding:var(--space-24) var(--space-16);margin-bottom:var(--space-16);text-align:center;align-items:center;gap:var(--space-8);flex-direction:column;display:flex}.dropzone .icon{color:var(--accent)}.dropzone p{color:var(--ink-soft);max-width:34ch;margin:0;font-size:.9rem}.disclosure{border-top:1px solid var(--border-quiet);margin:var(--space-8) 0}.disclosure-summary{align-items:center;gap:var(--space-8);min-height:44px;padding:var(--space-8) var(--space-4);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard);list-style:none;display:flex}.disclosure-summary::-webkit-details-marker{display:none}.disclosure-summary:hover{color:var(--accent)}.disclosure-chevron{color:var(--ink-faint);transition:transform var(--duration-base) var(--ease-standard)}.disclosure[data-expanded=true]>.disclosure-summary .disclosure-chevron{color:var(--accent);transform:rotate(90deg)}.disclosure-heading{flex-direction:column;gap:1px;min-width:0;display:flex}.disclosure-title{font-size:.9rem;font-weight:600}.disclosure-desc{color:var(--ink-faint);font-size:.78rem}.disclosure-grid{transition:grid-template-rows var(--duration-base) var(--ease-standard);grid-template-rows:0fr;display:grid}.disclosure[data-expanded=true]>.disclosure-grid{grid-template-rows:1fr}.disclosure-body{opacity:0;min-height:0;transition:opacity var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);overflow:hidden;transform:translateY(-4px)}.disclosure[data-expanded=true]>.disclosure-grid>.disclosure-body{opacity:1;padding-bottom:var(--space-8);transform:translateY(0)}.surface-diagram{width:100%;max-width:340px;margin-bottom:var(--space-12);background:var(--paper-bright);border:1px solid var(--border-quiet);display:block}.diagram-wall{stroke:var(--petrol);stroke-linecap:round}.diagram-base{fill:var(--petrol-soft);stroke:var(--border-quiet);stroke-width:1px}.diagram-arc{fill:none;stroke:var(--accent);stroke-width:1.5px}.diagram-dim-label{fill:var(--ink-soft);font-size:11px;font-family:var(--font-body)}.diagram-angle-label{fill:var(--accent);font-size:11px;font-family:var(--font-body)}.diagram-focused{stroke:var(--accent);stroke-width:3px}.diagram-origin,.diagram-eye,.diagram-aim{fill:var(--accent)}.diagram-draggable{cursor:grab;touch-action:none}.diagram-draggable:active{cursor:grabbing}.diagram-eye-group:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.diagram-label{fill:var(--ink);font-size:12px;font-family:var(--font-body)}.diagram-sightline{stroke:var(--ink);stroke-width:1px;stroke-dasharray:4 3;fill:none}.diagram-eye-line{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 4}.diagram-floor{stroke:var(--border-quiet);stroke-width:1px}.issue-list{margin:0 0 var(--space-16);padding:0;list-style:none}.issue{border-left:3px solid var(--border-quiet);padding:var(--space-8) var(--space-12);margin-bottom:var(--space-8);background:var(--surface-raised)}.issue-blocker{border-left-color:var(--accent)}.issue-warning{border-left-color:var(--warning)}.issue-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.7rem;font-weight:600}.issue-warning .issue-tag{color:var(--warning)}.issue-surface{color:var(--ink-soft);margin-left:var(--space-8);font-size:.75rem}.issue-message{margin:2px 0;font-size:.9rem}.issue-remedy{color:var(--ink-soft);margin:0;font-size:.8rem}.issue-empty{align-items:center;gap:var(--space-8);color:var(--success);font-size:.85rem;display:flex}.page-map{font-size:.9rem}.grid-summary{color:var(--ink-soft);margin:0 0 var(--space-8);padding-left:var(--space-24);font-size:.85rem}.tile-list{font-variant-numeric:tabular-nums;padding-left:var(--space-24);max-height:240px;margin:0;font-size:.8rem;overflow-y:auto}.tile-id{font-weight:600}.tile-region{color:var(--ink-soft)}.export-section{margin-top:var(--space-24);border-top:1px solid var(--ink);padding-top:var(--space-12)}.export-actions{gap:var(--space-8);margin:var(--space-12) 0;flex-wrap:wrap;display:flex}.export-progress{border:1px solid var(--border-quiet);border-left:3px solid var(--warning);background:var(--surface-raised);padding:var(--space-8) var(--space-12);font-size:.85rem}.export-progress p{margin:0 0 var(--space-8)}.export-ready{align-items:center;gap:var(--space-8);border:1px solid var(--border-quiet);border-left:3px solid var(--success);background:var(--surface-raised);padding:var(--space-8) var(--space-12);flex-wrap:wrap;display:flex}.export-ready .button-quiet,.export-progress .button-quiet{min-height:44px;padding:2px 10px}.proof-metrics{margin:0 0 var(--space-16);padding-left:var(--space-24);font-variant-numeric:tabular-nums;font-size:.9rem}.proof-metrics li{margin-bottom:var(--space-4)}.proof-status{align-items:flex-start;gap:var(--space-8);color:var(--ink-soft);border-left:3px solid var(--warning);padding-left:var(--space-12);margin:0 0 var(--space-16);font-size:.85rem;display:flex}.page-install{max-width:860px;padding-bottom:var(--space-48);margin:0 auto}.install-intro{padding:var(--space-32) var(--space-24) 0}.install-intro h1{margin-bottom:var(--space-12);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem)}.page-install section{padding:0 var(--space-24);margin-bottom:var(--space-24)}.page-install .panel-note,.page-install .projects-actions{padding-left:var(--space-24);padding-right:var(--space-24)}.spec-list{padding-left:var(--space-24);margin:0}.spec-list li{margin-bottom:var(--space-4)}.hero-3d{gap:var(--space-8);flex-direction:column;display:flex}.hero-viewport{border:1px solid var(--border-quiet);height:320px}.hero-viewport .spatial-viewport{border:none;height:100%;min-height:0}.hero-viewport .spatial-viewport:before,.hero-viewport .spatial-viewport:after{display:none}.hero-3d .flat-pieces{min-height:320px;max-height:360px}.hero-stage{position:relative}.hero-return{top:var(--space-8);right:var(--space-8);z-index:2;background:var(--paper-bright);border-color:var(--border-strong);font-size:.82rem;font-weight:600;position:absolute}.hero-return:hover:not([disabled]){background:var(--ink);border-color:var(--ink);color:var(--paper-bright)}.hero-3d .mode-switch{width:100%;margin-top:var(--space-16)}.hero-3d .mode-switch .mode-button{justify-content:center;min-width:0}.sample-picker{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.sample-picker-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-right:2px;font-size:.7rem;font-weight:600}.sample-credit{color:var(--ink-faint);margin:6px 0 0;font-size:.72rem}.sample-chip{border:1px solid var(--border-quiet);background:var(--surface-raised);min-height:44px;color:var(--ink-soft);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border-radius:7px;align-items:center;gap:9px;padding:5px 13px 5px 5px;font-size:.8rem;font-weight:600;display:inline-flex}.sample-thumb{object-fit:cover;width:34px;height:34px;transition:transform var(--duration-fast) var(--ease-standard);border-radius:4px;flex:none;display:block}.sample-chip:hover:not([disabled]):not([aria-pressed=true]){background:var(--paper-bright);border-color:var(--border-strong);color:var(--ink)}.sample-chip:hover:not([disabled]):not([aria-pressed=true]) .sample-thumb{transform:scale(1.04)}.sample-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper-bright);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--paper-bright) 12%, transparent), 0 1px 2px color-mix(in srgb, var(--ink) 18%, transparent)}.sample-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sample-chip[disabled]{opacity:.55;cursor:default}@media (width<=1199px){.editor-main{grid-template-columns:minmax(448px,1fr) 320px}.hero-copy h1{font-size:64px}.hero-grid{min-height:auto}}@media (width<=1050px){.editor-header{flex-wrap:wrap}.editor-header-title{flex-basis:100%;order:3;justify-content:flex-start}.editor-header-actions{margin-left:auto}}@media (width<=899px){.header-command span{display:none}.header-command{justify-content:center;width:44px;padding:0}}@media (width<=767px){.editor-shell{height:auto;min-height:100dvh;overflow:visible}.editor-main{display:block}.studio-stage{border-right:none;border-bottom:1px solid var(--border-quiet);overflow:visible}.spatial-viewport,.stage-preview>.flat-pieces,.stage-preview>.viewport-fallback{flex:none;height:clamp(280px,46dvh,420px);min-height:0}.studio-inspector{display:block;overflow:visible}.inspector-scroll{overflow:visible}.stage-preview-toggle{display:inline-flex}.stage-preview[hidden]{display:none}.stage-summary{display:flex}.inspector-step-footer{z-index:5;position:sticky;bottom:0}.step-nav{padding:0}.step-nav ol{scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.step-button{flex:none}.step-hint{display:none}.site-header{align-items:flex-start;gap:var(--space-8);flex-direction:column}.site-header-meta{text-align:left}.public-header{width:calc(100% - 32px);height:56px}.public-header__nav,.local-cue{display:none}.public-header>.button-quiet,.public-header>.open-file-btn{margin-left:auto}.hero-grid{grid-template-columns:minmax(0,1fr);width:calc(100% - 32px);min-height:auto;padding:42px 0 36px}.hero-copy,.hero-exhibit{grid-column:1}.hero-copy h1{font-size:46px}.hero-lede{font-size:16px}.hero-exhibit{min-height:380px;margin-top:18px}.sample-gallery{align-items:flex-start}.sample-gallery__credit{text-align:left}.public-section{width:calc(100% - 32px);padding:72px 0}.section-intro{margin-bottom:32px;display:block}.section-intro h2,.ledger-head h2,.footer-content h2{font-size:34px;line-height:38px}.section-intro p{margin-top:18px}.process-strip{grid-template-columns:1fr}.process-step{min-height:210px;padding:24px 0}.process-step+.process-step{border-left:0;border-top:1px solid var(--border-quiet);padding-left:0}.ledger-head{flex-direction:column;align-items:flex-start}.project-row{grid-template-columns:56px minmax(0,1fr) 32px;gap:12px}.project-thumb{width:52px;height:52px}.project-state{grid-column:2}.project-arrow{grid-area:1/3/span 2}.footer-content{grid-template-columns:1fr;gap:20px;width:calc(100% - 32px);padding:32px 0 24px}.public-footer{flex-direction:column;min-height:0;display:flex}.footer-panorama{object-position:center 35%;flex:none;width:100%;height:200px;position:static;inset:auto}.page-recovery h1{font-size:42px;line-height:44px}}@media (width<=600px){.editor-brand .brand-words{display:none}.editor-brand{padding-inline:var(--space-4)}.title-input{flex:1;min-width:8ch;max-width:none}.header-command-divider{margin-inline:1px}.mode-switch{width:100%}.mode-button{padding:0 8px}}@media (width<=480px){.mode-label{font-size:.78rem}.mode-button{gap:5px;padding:0 6px}.mode-icon{width:22px;height:22px}.inspector-step-footer{align-items:stretch;gap:var(--space-8);flex-direction:column}.inspector-step-buttons{justify-content:space-between}.inspector-step-buttons .button-quiet,.inspector-step-buttons .button-primary{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.check-modules{gap:var(--space-8);margin:0 0 var(--space-16);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:0;list-style:none;display:grid}.check-module{gap:var(--space-4);border:1px solid var(--border-quiet);background:var(--surface-raised);padding:var(--space-8) var(--space-12);flex-direction:column;display:flex}.check-module-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem}.check-module-value{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.check-readiness{margin:0 0 var(--space-16);padding-left:var(--space-12);border-left:3px solid var(--success);font-size:.95rem;font-weight:600}.check-readiness--attention{border-left-color:var(--warning);font-weight:500}.print-summary{font-variant-numeric:tabular-nums;color:var(--ink-soft);border:1px solid var(--border-quiet);background:var(--surface-raised);padding:var(--space-8) var(--space-12);margin:0 0 var(--space-16);font-size:.9rem}.export-production{margin-top:var(--space-16);margin-inline:calc(-1 * var(--space-16));padding:var(--space-12) var(--space-16) var(--space-4);border-top:1px solid var(--ink);background:var(--surface-raised);position:sticky;bottom:0}.export-gate-reason{color:var(--ink);border-left:3px solid var(--warning);padding-left:var(--space-12);margin:0 0 var(--space-8);font-size:.9rem;font-weight:600}.export-failed{border:1px solid var(--border-quiet);border-left:3px solid var(--warning);background:var(--surface-raised);padding:var(--space-8) var(--space-12);margin:var(--space-8) 0}.export-failed .field-error{margin:0 0 var(--space-8)}.guide-steps{counter-reset:guide-step;margin:0;padding:0;list-style:none}.guide-step{counter-increment:guide-step;break-inside:avoid;page-break-inside:avoid;position:relative}.guide-step>section:before{content:counter(guide-step);left:var(--space-24);color:var(--ink-soft);border:1px solid var(--border-quiet);border-radius:50%;justify-content:center;align-items:center;width:1.6em;height:1.6em;font-size:.8rem;font-weight:700;display:inline-flex;position:absolute;top:0}.guide-step>section{padding-top:var(--space-8);position:relative}.guide-step>section h2{margin-left:2.4em}.print-title{display:none}@media print{.site-header,.guide-actions,.stage-preview-toggle,.projects-actions{display:none!important}.print-title{color:#000;margin:0 0 12pt;padding:0 24pt;font-size:1.1rem;font-weight:700;display:block}body,.page-install,.field-guide{color:#000!important;background:#fff!important}.field-guide .spec-list,.field-guide .panel-note,.field-guide .proof-status,.field-guide h1,.field-guide h2,.field-guide p,.field-guide li{color:#000!important}.guide-step{break-inside:avoid;page-break-inside:avoid}.field-guide svg{max-width:100%}}.spatial-viewport{isolation:isolate;border:1px solid var(--border-quiet,#d4dcd8);background:var(--paper,#f5f6f5);touch-action:none;min-width:0;min-height:0;position:relative;overflow:hidden}.spatial-viewport:before,.spatial-viewport:after{content:none;display:none!important}.spatial-viewport canvas{width:100%;height:100%;display:block}.spatial-viewport[hidden]{display:none!important}.artwork-overlay{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none;display:block;position:absolute;inset:0;overflow:visible}.artwork-hit{pointer-events:all;touch-action:none}.artwork-ghost{transition:opacity var(--duration-base,.16s) var(--ease-standard,ease)}.artwork-frame-outline,.artwork-rotate-rule{stroke:var(--accent,#bb432c)}.artwork-frame-outline{stroke-width:1.5px;stroke-dasharray:5 4}.artwork-corner-mark,.artwork-rotate-mark{fill:var(--paper-bright,#fff);stroke:var(--accent,#bb432c);stroke-width:1.5px}.artwork-rotate-rule{stroke-width:1px}.artwork-rotate-readout{fill:var(--ink,#202724);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.studio-stage>.mode-switch{border-color:var(--border-quiet,#d4dcd8);background:var(--paper-bright,#fff);grid-template-columns:repeat(3,minmax(0,1fr))}.studio-stage>.mode-switch .mode-button{min-height:var(--control-height,44px);border-radius:var(--control-radius,4px);color:var(--ink-soft,#53605b)}.studio-stage>.mode-switch .mode-button[aria-pressed=true]{background:var(--petrol,#163f45);color:var(--paper-bright,#fff);box-shadow:none}.studio-stage>.mode-switch .mode-button[aria-pressed=true] .icon{color:currentColor}.studio-stage>.mode-switch .mode-button:focus-visible{outline:2px solid var(--accent,#bb432c);outline-offset:2px}@media (width>=768px){.studio-stage>.mode-switch{left:var(--space-16,16px);bottom:var(--space-16,16px);z-index:4;position:absolute}.studio-stage>.stage-preview{padding-bottom:68px}}@media (width<=767px){.studio-stage>.stage-preview,.studio-stage>.stage-summary{order:1}.studio-stage>.mode-switch{width:100%;margin-top:var(--space-8,8px);order:2}.studio-stage>.mode-switch .mode-button{flex:1;justify-content:center;min-width:0}.studio-stage>.surface-legend{order:3}}.viewport-fallback{background:var(--paper,#f5f6f5);min-width:0;min-height:0;color:var(--ink-soft,#53605b)}.flat-pieces{scrollbar-gutter:stable;min-width:0;min-height:0;overflow:auto}.piece-stage{border-color:var(--border-quiet,#d4dcd8);background:var(--paper-bright,#fff);overflow:hidden}.piece-canvas{width:100%;height:auto;display:block}.piece-placeholder{background:var(--paper-bright,#fff);min-height:120px;color:var(--ink-soft,#53605b)}.piece-footprint{stroke:var(--accent,#bb432c)}@media (prefers-reduced-motion:reduce){.artwork-ghost{transition:none}}.m4-production{--m4-soft-warning:#fbf6ea;--m4-soft-error:#fcf0ed;--m4-soft-success:#edf6f1;--m4-soft-info:#e9f0ee;font-size:14px}.m4-production>h2{font-family:var(--font-body);letter-spacing:0;border:0;margin:0 0 4px;padding:0;font-size:22px;font-weight:600;line-height:28px}.m4-panel-intro{color:var(--ink-soft);margin:0 0 20px;font-size:14px;line-height:20px}.m4-production h3{font-family:var(--font-body);margin:24px 0 12px;font-size:14px;font-weight:600;line-height:20px}.m4-production .field-group{margin-top:24px}.m4-production .field-group legend{border-bottom:1px solid var(--border-quiet);color:var(--ink);letter-spacing:0;text-transform:none;margin-bottom:12px;padding:0 0 8px;font-size:14px;font-weight:600}.m4-production .field label,.m4-production .field>label{color:var(--ink-soft);letter-spacing:0;text-transform:none;font-size:12px;font-weight:500}.m4-production :is(input,select,button):disabled{opacity:1}.m4-production :is(input[type=number],input[type=text],select):disabled{color:var(--ink-faint);background:#e5e9e6}.m4-check-ledger{border-top:1px solid var(--ink);margin:20px 0 24px}.m4-check-ledger>div{border-bottom:1px solid var(--border-quiet);justify-content:space-between;align-items:center;gap:16px;min-height:46px;display:flex}.m4-check-ledger dt{color:var(--ink-soft)}.m4-check-ledger dd{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}.m4-check-ledger dd[data-tone=success]{color:var(--success)}.m4-check-ledger dd[data-tone=warning]{color:var(--warning)}.m4-check-ledger dd[data-tone=error]{color:var(--error)}.m4-readiness{border:1px solid var(--success);background:var(--m4-soft-success);grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;margin:20px 0 0;padding:16px;display:grid}.m4-readiness--warning{border-color:var(--warning);background:var(--m4-soft-warning)}.m4-readiness--blocked{border-color:var(--error);background:var(--m4-soft-error)}.m4-readiness-symbol{background:var(--success);width:28px;height:28px;color:var(--paper-bright);border-radius:50%;place-items:center;font-size:15px;font-weight:600;display:grid}.m4-readiness--warning .m4-readiness-symbol{background:var(--warning)}.m4-readiness--blocked .m4-readiness-symbol{background:var(--error)}.m4-readiness-copy strong,.m4-readiness-copy span{display:block}.m4-readiness-copy strong{margin-bottom:3px;font-size:14px;line-height:20px}.m4-readiness-copy span{color:var(--ink-soft);font-size:13px;line-height:18px}.m4-physical-note{border:1px solid var(--warning);background:var(--m4-soft-warning);color:var(--ink);margin:20px 0;padding:12px;font-size:13px;line-height:18px}.m4-physical-note strong{margin-bottom:2px;font-size:14px;display:block}.m4-production .issue-list{margin:0 0 16px}.m4-production .issue{border:1px solid var(--border-quiet);background:var(--paper-bright);border-left-width:1px;margin-bottom:8px}.m4-production .issue-blocker{border-color:var(--error);background:var(--m4-soft-error)}.m4-production .issue-warning{border-color:var(--warning);background:var(--m4-soft-warning)}.m4-production .issue-message,.m4-production .issue-remedy{font-size:13px;line-height:18px}.m4-production .issue-fix{min-height:44px}.m4-production .disclosure{margin:8px 0}.m4-production .disclosure-summary{min-height:50px;padding-inline:0}.m4-production .disclosure-title{font-size:14px}.m4-production .disclosure-desc{font-size:12px;line-height:18px}.m4-production .disclosure-body{padding-inline:0}.m4-print-receipt-slot{min-height:0}.m4-print-summary{border:1px solid var(--petrol);background:var(--m4-soft-info);color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-direction:column;gap:3px;margin:0 0 24px;padding:16px;line-height:18px;display:flex}.m4-print-summary strong{color:var(--ink);font-size:15px;line-height:20px}.m4-print-summary span{overflow-wrap:anywhere;display:block}.m4-paper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;display:grid}.m4-paper-grid .field:last-child{grid-column:1}.m4-print-panel .check-row{border-bottom:1px solid var(--border-quiet);color:var(--ink)}.m4-print-panel .check-row:last-child{border-bottom:0}.m4-print-panel .check-row>input+span{display:contents}.m4-export-section{border-top:1px solid var(--border-quiet);margin-top:24px;padding-top:0}.m4-export-section>h3{margin-top:20px}.m4-export-section .export-production{z-index:auto;background:0 0;border-top:0;margin:20px 0 0;padding:0;position:static}.m4-export-section .export-production .field-group{margin-top:20px}.m4-export-section .export-gate-reason{border-left:2px solid var(--warning);color:var(--ink);margin:12px 0;padding:0 0 0 12px;font-size:13px;line-height:18px}.m4-export-section .export-actions{margin:12px 0}.export-receipt{border:1px solid var(--warning);background:var(--m4-soft-warning);flex-direction:column;gap:5px;margin:20px 0;padding:16px;display:flex}.export-receipt strong{font-size:14px;line-height:20px}.export-receipt>span{color:var(--ink-soft);font-size:13px;line-height:18px}.export-receipt--blocker,.export-receipt--error{border-color:var(--error);background:var(--m4-soft-error)}.export-receipt--success{border-color:var(--success);background:var(--m4-soft-success)}.export-receipt--canceled{border-color:var(--border-strong);background:var(--paper-bright)}.export-receipt progress{width:100%;height:8px;accent-color:var(--petrol)}.ready-file{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.m4-export-section .export-technical{margin-top:20px}.technical-list{border-top:1px solid var(--border-quiet);margin:0;font-size:12px;line-height:18px}.technical-list>div{border-bottom:1px solid var(--border-quiet);grid-template-columns:minmax(100px,.6fr) minmax(0,1.4fr);gap:12px;padding:8px 0;display:grid}.technical-list dt{color:var(--ink-soft)}.technical-list dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.m4-export-safety-note{margin-top:20px}.export-command-fallback{margin:20px -16px -16px}.m4-command-dock{border-top:1px solid var(--border-quiet);background:var(--paper-bright);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px 16px 10px 20px;display:flex}.m4-command-copy{min-width:0;max-width:42ch}.m4-command-copy strong,.m4-command-copy span{display:block}.m4-command-copy strong{color:var(--ink);font-size:14px;line-height:20px}.m4-command-copy span{overflow-wrap:anywhere;color:var(--ink-soft);font-size:12px;line-height:18px}.m4-command-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.m4-command-actions .button-primary,.m4-command-actions .button-quiet{white-space:nowrap}.m4-command-dock[data-export-state=running] .button-primary,.m4-command-dock[data-export-state=preparing] .button-primary{min-width:132px}.m4-field-guide{background:#e8ecea;width:100%;max-width:none;min-height:100dvh;margin:0;padding:0 0 80px}.m4-guide-toolbar{border-bottom:1px solid var(--border-quiet);background:var(--paper-bright);justify-content:space-between;align-items:center;gap:20px;height:64px;padding:0 max(24px,50% - 560px);display:flex}.m4-guide-brand{min-height:44px;color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.m4-guide-brand:hover{color:var(--petrol)}.m4-guide-actions{align-items:center;gap:8px;display:flex}.m4-guide-sheet{background:var(--paper-bright);width:min(920px,100% - 48px);margin:48px auto 0;padding:56px 62px 28px;box-shadow:0 18px 50px #20272417}.m4-guide-head{border-bottom:2px solid var(--petrol);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:22px;display:flex}.m4-guide-kicker{color:var(--petrol);margin:0 0 4px;font-size:13px;font-weight:600;line-height:18px}.m4-guide-head h1{letter-spacing:-.02em;margin:0;font-size:34px;line-height:38px}.m4-guide-revision{color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;flex:none;margin:0;font-size:12px;line-height:18px}.m4-guide-warning{margin:22px 0 0}.m4-field-guide .m4-guide-spec{padding:28px 0 8px}.m4-guide-spec h2,.m4-guide-plan h2{font-family:var(--font-body);margin:0 0 14px;font-size:16px;font-weight:600;line-height:22px}.m4-guide-spec-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.m4-guide-spec-grid>div{border-bottom:1px solid var(--border-quiet);min-width:0;padding:12px 10px 12px 0}.m4-guide-spec-grid dt{color:var(--ink-soft);font-size:12px;line-height:18px}.m4-guide-spec-grid dd{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:2px 0 0;font-size:13px;font-weight:600;line-height:18px}.m4-field-guide .m4-guide-plan{border-top:1px solid var(--border-quiet);border-bottom:1px solid var(--border-quiet);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:30px;margin:28px 0;padding:24px 0;display:grid}.m4-guide-plan p{color:var(--ink-soft);margin:0;font-size:13px;line-height:18px}.m4-guide-plan .surface-diagram{background:#f4f6f5;max-width:none;margin:0}.m4-guide-plan-list{color:var(--ink-soft);margin:16px 0 0;padding-left:20px;font-size:13px;line-height:18px}.m4-guide-plan-list li+li{margin-top:6px}.m4-guide-procedures{counter-reset:guide-procedure;margin:0;padding:0;list-style:none}.m4-guide-step{border-bottom:1px solid var(--border-quiet);break-inside:avoid;page-break-inside:avoid;counter-increment:guide-procedure;grid-template-columns:46px minmax(0,1fr) 34px;align-items:start;gap:16px;min-height:104px;padding:20px 0;display:grid}.m4-guide-step-number{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;line-height:20px}.m4-guide-step-number:before{content:counter(guide-procedure, decimal-leading-zero)}.m4-guide-step h2{font-family:var(--font-body);margin:0 0 4px;font-size:16px;font-weight:600;line-height:22px}.m4-guide-step-kicker{color:var(--petrol);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:600;line-height:16px}.m4-guide-step p:not(.m4-guide-step-kicker){max-width:62ch;color:var(--ink-soft);margin:0;font-size:13px;line-height:18px}.m4-guide-step-check{color:var(--border-strong);font-size:26px;line-height:20px}.m4-guide-folio{border-top:1px solid var(--ink);color:var(--ink-soft);grid-template-columns:1fr 1fr auto;gap:16px;margin-top:26px;padding-top:10px;font-size:12px;line-height:18px;display:grid}.m4-guide-folio span:last-child{text-align:right;font-variant-numeric:tabular-nums}.m4-field-guide .print-title{display:none}@media (width<=767px){.m4-production .field-group{margin-top:20px}.m4-paper-grid{grid-template-columns:1fr}.m4-paper-grid .field:last-child{grid-column:auto}.m4-command-dock{padding:10px 16px calc(10px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:8px}.m4-command-copy{max-width:none}.m4-command-actions{width:100%}.m4-command-actions>:is(button,a){flex:1}.export-command-fallback{margin-inline:-16px}.m4-guide-toolbar{height:56px;padding-inline:16px}.m4-guide-brand .brand-words,.m4-guide-brand .brand-sub{display:none}.m4-guide-actions .button-quiet{padding-inline:10px}.m4-guide-sheet{width:calc(100% - 20px);box-shadow:none;margin-top:10px;padding:32px 20px 22px}.m4-guide-head{flex-direction:column;align-items:flex-start;gap:12px}.m4-guide-head h1{font-size:28px;line-height:32px}.m4-guide-revision{text-align:left}.m4-guide-spec-grid{grid-template-columns:1fr 1fr}.m4-guide-plan{grid-template-columns:1fr}.m4-guide-step{grid-template-columns:34px minmax(0,1fr) 28px;gap:10px}.m4-guide-folio{grid-template-columns:1fr auto}.m4-guide-folio span:nth-child(2){display:none}}@media print{@page{margin:12mm 14mm 8mm}.m4-field-guide{min-height:0;padding:0;color:#000!important;background:#fff!important}.m4-guide-toolbar,.m4-guide-actions,.m4-field-guide .projects-actions{display:none!important}.m4-guide-sheet{width:100%;box-shadow:none;margin:0;padding:0}.m4-guide-head{break-after:avoid;page-break-after:avoid}.m4-guide-warning{-webkit-print-color-adjust:exact;print-color-adjust:exact}.m4-guide-step,.m4-guide-plan,.m4-guide-spec{break-inside:avoid;page-break-inside:avoid}.m4-guide-step h2,.m4-guide-step p,.m4-guide-spec-grid dt,.m4-guide-spec-grid dd,.m4-guide-plan p,.m4-guide-plan-list,.m4-guide-folio,.m4-guide-head h1,.m4-guide-kicker,.m4-guide-revision{color:#000!important}.m4-guide-plan .surface-diagram{max-width:100%}.m4-field-guide .print-title{color:#000;font-size:11pt;display:block}}@media (prefers-reduced-motion:reduce){.m4-production *,.m4-field-guide *{transition:none!important;animation:none!important}}.editor-shell{--editor-header-height:64px;--editor-rail-height:48px;--editor-dock-height:68px;background:var(--paper);width:100%;height:100dvh;min-height:0;color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.editor-shell .editor-header{z-index:10;flex:0 0 var(--editor-header-height);height:var(--editor-header-height);border-bottom:1px solid var(--border-quiet);background:var(--paper-bright);flex-wrap:nowrap;grid-template-columns:minmax(220px,1fr) minmax(0,auto) minmax(220px,1fr);align-items:center;gap:16px;min-width:0;padding:0 18px;display:grid;position:relative}.editor-shell .editor-brand{min-width:44px;min-height:44px;color:var(--ink);background:0 0;border:1px solid #0000;grid-area:1/1;justify-self:start;padding:4px 0}.editor-shell .editor-brand:hover:not([disabled]){background:var(--petrol-soft);color:var(--petrol);border-color:#0000}.editor-shell .editor-header-title{order:0;grid-area:1/2;justify-content:center;align-items:center;gap:10px;min-width:0;max-width:min(52vw,620px);display:flex}.editor-shell .title-input{border:1px solid #0000;border-bottom-color:var(--border-quiet);min-width:8ch;max-width:min(42ch,34vw);height:44px;min-height:44px;color:var(--ink);font-family:var(--font-body);text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:0;padding:7px 4px;font-size:14px;font-weight:600;line-height:20px;display:block;overflow:hidden}.editor-shell .title-input:hover:not([disabled]){border-bottom-color:var(--border-strong);background:var(--paper)}.editor-shell .title-input:focus{border-bottom-color:var(--petrol);outline:var(--focus-width) solid var(--petrol);outline-offset:var(--focus-offset)}.editor-shell .editor-header-actions{flex-wrap:nowrap;grid-area:1/3;justify-self:end;align-items:center;gap:4px;min-width:0;display:inline-flex}.editor-shell .header-history{background:0 0;border:0;grid-template-columns:repeat(2,44px);gap:1px;padding:0;display:inline-grid}.editor-shell .header-icon-command,.editor-shell .header-command{border-radius:var(--control-radius);min-width:44px;min-height:44px;color:var(--ink-soft);background:0 0;border:1px solid #0000}.editor-shell .header-icon-command{width:44px;height:44px;padding:0}.editor-shell .header-icon-command:hover:not([disabled]),.editor-shell .header-command:hover:not([disabled]){border-color:var(--border-quiet);background:var(--petrol-soft);color:var(--petrol)}.editor-shell .header-command{gap:8px;padding:0 10px;font-size:13px;font-weight:600}.editor-shell .header-command-divider{background:var(--border-quiet);width:1px;height:24px;margin:0 4px}.editor-shell .save-status{min-width:max-content;font-size:12px;line-height:18px}.editor-shell .readonly-tag{border:1px solid var(--error);color:var(--error);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:2px;padding:2px 6px;font-size:11px;font-weight:600;line-height:16px}.editor-shell .editor-mobile-menu-trigger{display:none}.editor-shell .editor-project-menu{z-index:30;top:calc(var(--editor-header-height) - 1px);border:1px solid var(--border-quiet);border-radius:var(--control-radius);background:var(--paper-bright);width:min(240px,100vw - 16px);box-shadow:0 14px 40px color-mix(in srgb, var(--petrol) 14%, transparent);transform-origin:100% 0;animation:editor-menu-in var(--duration-menu) var(--ease-out) both;padding:6px;position:absolute;right:8px}.editor-shell .editor-project-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border-color:#0000;justify-content:flex-start;font-size:14px;display:flex}.editor-shell .editor-project-menu button:hover:not([disabled]){border-color:var(--border-quiet);background:var(--petrol-soft);color:var(--petrol)}.editor-shell .editor-header-error{z-index:31;border:1px solid var(--error);max-width:min(420px,100vw - 32px);color:var(--error);background:#fcf0ed;margin:0;padding:8px 12px;font-size:12px;line-height:18px;position:absolute;top:calc(100% + 1px);right:16px}@keyframes editor-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.editor-shell .editor-notices{flex:none;min-width:0}.editor-shell .readonly-banner{border:0;border-bottom:1px solid var(--border-quiet);background:var(--paper-bright);border-left:0;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:56px;margin:0;padding:8px 16px;display:grid}.editor-shell .readonly-banner>.icon{width:24px;height:24px;color:var(--error);place-items:center;display:grid}.editor-shell .readonly-banner--readonly,.editor-shell .readonly-banner--conflict,.editor-shell .readonly-banner--error{border-bottom-color:color-mix(in srgb, var(--error) 46%, var(--border-quiet));background:#fcf0ed}.editor-shell .readonly-banner--info{background:var(--petrol-soft)}.editor-shell .readonly-banner--info>.icon{color:var(--petrol)}.editor-shell .readonly-banner-copy{min-width:0;color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:13px;line-height:18px;display:flex}.editor-shell .readonly-banner-copy strong{color:var(--ink);font-weight:600}.editor-shell .readonly-banner-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.editor-shell .readonly-banner .button-quiet{border-color:var(--border-strong);background:var(--paper-bright);min-height:40px;color:var(--ink);padding:6px 12px;font-size:13px}.editor-shell .readonly-banner .button-quiet:hover:not([disabled]){border-color:var(--petrol);background:var(--petrol-soft);color:var(--petrol)}.editor-shell .step-nav{z-index:8;flex:0 0 var(--editor-rail-height);height:var(--editor-rail-height);border-bottom:1px solid var(--border-quiet);background:var(--paper-bright);align-items:stretch;min-width:0;padding:0 16px;display:flex;position:relative;overflow:hidden}.editor-shell .step-nav ol{flex-wrap:nowrap;flex:1;align-items:stretch;gap:0;min-width:0;display:flex}.editor-shell .step-nav li{min-width:0;display:flex}.editor-shell .step-button{min-width:112px;min-height:var(--editor-rail-height);height:var(--editor-rail-height);color:var(--ink-soft);white-space:nowrap;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.editor-shell .step-button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.editor-shell .step-button:hover:not([disabled]){background:var(--petrol-soft);color:var(--ink);border:0}.editor-shell .step-button[aria-current=step]{color:var(--ink);border:0}.editor-shell .step-button[aria-current=step]:after{background:var(--petrol)}.editor-shell .step-number{border-color:var(--border-strong);width:20px;height:20px;font-size:11px}.editor-shell .step-button[aria-current=step] .step-number{border-color:var(--petrol);background:var(--petrol);color:var(--paper-bright)}.editor-shell .step-button.step-valid .step-number{border-color:var(--success);color:var(--success)}.editor-shell .step-button.step-attention .step-number{border-color:var(--warning);color:var(--warning)}.editor-shell .step-button[aria-current=step].step-validity-attention .step-number{border-color:var(--warning);background:var(--warning);color:var(--paper-bright)}.editor-shell .step-button[aria-current=step]>.icon{color:var(--petrol)}.editor-shell .step-text{align-items:center;display:inline-flex}.editor-shell .step-hint{display:none}.editor-shell .step-count{background:var(--warning);min-width:20px;height:20px;font-size:11px}.editor-shell .step-nav-note{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.editor-shell .editor-main{flex:auto;grid-template-columns:minmax(0,1fr) 400px;gap:0;min-width:0;min-height:0;display:grid;overflow:hidden}.editor-shell .studio-stage{border-right:1px solid var(--border-quiet);background:var(--paper-deep);flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.editor-shell .stage-preview{flex-direction:column;gap:0;min-width:0;min-height:0;display:flex;position:absolute;inset:0}.editor-shell .stage-preview[hidden]{display:none}.editor-shell .stage-chrome{z-index:5;pointer-events:none;align-items:flex-start;min-width:0;display:flex;position:absolute}.editor-shell .stage-chrome--top{justify-content:space-between;gap:16px;top:16px;left:18px;right:18px}.editor-shell .stage-status-cluster,.editor-shell .stage-top-actions{pointer-events:auto;align-items:center;gap:8px;min-width:0;display:flex}.editor-shell .stage-status-cluster{border:1px solid color-mix(in srgb, var(--border-quiet) 70%, transparent);border-radius:var(--control-radius);background:color-mix(in srgb, var(--paper-bright) 94%, transparent);color:var(--ink-soft);padding:7px 10px;font-size:12px;line-height:18px}.editor-shell .stage-mode-label{color:var(--ink);font-weight:600}.editor-shell .stage-status-separator{color:var(--ink-faint)}.editor-shell .stage-status-cluster .preview-status{min-height:18px;color:var(--ink-soft);gap:6px;font-size:12px;line-height:18px;display:inline-flex}.editor-shell .stage-status-cluster .preview-status .status-dot{width:6px;height:6px}.editor-shell .stage-status-cluster .preview-status .button-quiet{min-height:32px;padding:2px 8px;font-size:12px}.editor-shell .stage-top-actions .button-quiet{border-color:var(--border-quiet);background:color-mix(in srgb, var(--paper-bright) 94%, transparent);min-height:36px;color:var(--ink-soft);padding:4px 10px;font-size:12px}.editor-shell .stage-preview-toggle{display:none}.editor-shell .mode-switch{z-index:5;border:1px solid var(--border-quiet);border-radius:var(--toolbar-radius);background:var(--paper-bright);width:max-content;max-width:calc(100% - 36px);box-shadow:0 2px 6px color-mix(in srgb, var(--ink) 8%, transparent);grid-template-columns:repeat(3,minmax(0,auto));gap:2px;padding:3px;display:grid;position:absolute;bottom:16px;left:18px}.editor-shell .mode-switch[data-photo-available=true]{grid-template-columns:repeat(4,minmax(0,auto))}.editor-shell .mode-button{border-radius:var(--control-radius);min-width:92px;min-height:42px;color:var(--ink-soft);background:0 0;border:0;padding:0 13px;font-size:13px}.editor-shell .mode-button[aria-pressed=true]{background:var(--petrol);color:var(--paper-bright);box-shadow:none;border-color:#0000}.editor-shell .mode-button[aria-pressed=true] .icon{color:var(--paper-bright)}.editor-shell .stage-helper{z-index:4;border-radius:var(--control-radius);background:color-mix(in srgb, var(--paper-bright) 94%, transparent);max-width:min(46ch,100% - 250px);color:var(--ink-soft);text-align:right;pointer-events:none;margin:0;padding:7px 10px;font-size:12px;line-height:18px;position:absolute;bottom:16px;right:18px}.editor-shell .flat-pieces:focus-visible{outline:var(--focus-width) solid var(--petrol);outline-offset:-3px}.editor-shell .surface-legend{z-index:4;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;margin:0;font-size:10px;position:absolute;top:70px;right:18px}.editor-shell .stage-summary{display:none}.editor-shell .stage-empty{z-index:3;pointer-events:none;border:1px dashed var(--border-strong);background:color-mix(in srgb, var(--paper-bright) 92%, transparent);width:auto;color:var(--ink-soft);text-align:center;margin:0;padding:8px 12px;font-size:13px;position:absolute;bottom:86px;left:18px;right:18px}.editor-shell .stage-artwork-cta{z-index:4;border:1px dashed var(--border-strong);border-radius:var(--control-radius);background:var(--paper-bright);min-height:44px;color:var(--ink);padding:8px 14px;font-size:14px;top:50%;left:50%;transform:translate(-50%,-50%)}.editor-shell .stage-artwork-cta:hover:not([disabled]){border-color:var(--petrol);background:var(--petrol-soft);color:var(--petrol)}.editor-shell .stage-drop-veil{z-index:7;border:2px dashed var(--accent);background:color-mix(in srgb, var(--paper-bright) 84%, transparent);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:16px}.editor-shell .stage-drop-veil p{background:var(--paper-bright);color:var(--accent-dark);margin:0;padding:8px 14px;font-size:14px;font-weight:600}.editor-shell .spatial-viewport{background:0 0;border:0;flex:auto;width:100%;min-width:0;min-height:0}.editor-shell .spatial-viewport:before,.editor-shell .spatial-viewport:after{display:none}.editor-shell .viewport-fallback{background:var(--paper-deep);border:0;flex:auto;min-height:0}.editor-shell .stage-preview>.flat-pieces{flex:auto;min-width:0;min-height:0;padding:72px 18px 84px;overflow:auto}.editor-shell .artwork-edit-hint{z-index:4;border:1px dashed var(--border-quiet);background:color-mix(in srgb, var(--paper-bright) 94%, transparent);max-width:320px;color:var(--ink-soft);text-align:right;margin:0;padding:7px 10px;font-size:12px;line-height:18px;position:absolute;bottom:84px;right:18px}.editor-shell .studio-inspector{border-left:1px solid var(--border-quiet);background:var(--paper-bright);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;container:inspector/inline-size}.editor-shell .inspector-scroll{overscroll-behavior:contain;flex:auto;min-width:0;min-height:0;padding:24px 28px 36px;overflow:hidden auto}.editor-shell .editor-draft-notice{border:1px solid var(--error);color:var(--error);background:#fcf0ed;margin:0 0 16px;padding:9px 12px;font-size:13px;line-height:18px}.editor-shell .editor-blocker-reminder{border:1px solid var(--warning);color:var(--ink);background:#fbf6ea;margin:0 0 16px;padding:9px 12px;font-size:13px;line-height:18px}.editor-shell .panel-transition{animation:editor-panel-in var(--duration-base) var(--ease-out) both}@keyframes editor-panel-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.editor-shell .panel h2{color:var(--ink);font-family:var(--font-body);border:0;margin:0 0 8px;padding:0;font-size:22px;font-weight:600;line-height:28px}.editor-shell .panel h3{color:var(--ink);font-family:var(--font-body);margin:24px 0 10px;font-size:14px;font-weight:600;line-height:20px}.editor-shell .panel-note{color:var(--ink-soft);margin:0 0 16px;font-size:14px;line-height:20px}.editor-shell .panel .example-notice{border:1px solid var(--warning);color:var(--ink);background:#fbf6ea;border-left-width:1px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin:20px 0 16px;padding:12px;font-size:13px;line-height:18px;display:grid}.editor-shell .example-notice>.icon{color:var(--warning)}.editor-shell .example-notice strong,.editor-shell .example-notice span span{display:block}.editor-shell .example-notice strong{margin-bottom:2px;font-weight:600}.editor-shell .example-notice span span{color:var(--ink-soft)}.editor-shell .surface-diagram{border:1px solid var(--border-quiet);background:var(--paper);max-width:100%;margin:0 0 20px}.editor-shell .field-group{border:0;min-width:0;margin:24px 0 0;padding:0}.editor-shell .field-group legend{width:100%;color:var(--ink);letter-spacing:0;text-transform:none;border:0;margin:0 0 12px;padding:0;font-size:14px;font-weight:600;line-height:20px}.editor-shell .dimension-group{background:0 0;border:0;border-radius:0;margin-top:24px;padding:0}.editor-shell .dimension-group legend{align-items:center;gap:8px;margin-bottom:12px;display:flex}.editor-shell .dimension-group .surface-key{display:none}.editor-shell .dimension-legend-text{display:block}.editor-shell .dimension-legend-text strong{color:var(--ink);letter-spacing:0;text-transform:none;font-size:14px;font-weight:600;line-height:20px}.editor-shell .dimension-legend-text>span{display:none}.editor-shell .dimension-grid,.editor-shell .field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;min-width:0;display:grid}.editor-shell .field{min-width:0;margin:0 0 14px}.editor-shell .field-label,.editor-shell .field>label,.editor-shell .field label{min-width:0;color:var(--ink-soft);letter-spacing:0;text-transform:none;margin:0 0 6px;font-size:12px;font-weight:500;line-height:18px;display:block}.editor-shell .field-input-row{min-width:0}.editor-shell .field-input,.editor-shell .field input[type=number],.editor-shell .field input[type=text]{border-color:var(--border-strong);border-radius:var(--control-radius);background:var(--paper-bright);min-width:0;height:44px;min-height:44px;color:var(--ink);padding:8px 11px;font-size:16px;line-height:24px}.editor-shell .field-input-row:has(.field-suffix) .field-input{border-radius:var(--control-radius) 0 0 var(--control-radius)}.editor-shell .field-suffix{border-color:var(--border-strong);border-radius:0 var(--control-radius) var(--control-radius) 0;background:var(--paper);min-width:44px;color:var(--ink-soft);letter-spacing:0;text-transform:none;font-size:11px}.editor-shell .field-input-row:focus-within{outline:0}.editor-shell .field-input:focus-visible,.editor-shell .field input:focus-visible,.editor-shell .field select:focus-visible{outline:var(--focus-width) solid var(--petrol);outline-offset:1px}.editor-shell .field-input[aria-invalid=true],.editor-shell .field input[aria-invalid=true]{border-color:var(--error);background:#fcf0ed}.editor-shell .field-desc,.editor-shell .field-error{font-size:12px;line-height:18px}.editor-shell .field-desc{color:var(--ink-soft);margin:6px 0 0}.editor-shell .field-error{color:var(--error);margin:4px 0 0}.editor-shell .check-row,.editor-shell .select-row{min-height:44px;color:var(--ink);font-size:14px;line-height:20px}.editor-shell .check-row{gap:10px;padding:8px 0}.editor-shell .toggle-row{justify-content:space-between;margin-top:8px}.editor-shell .check-row input[type=checkbox]{flex:none}.editor-shell .select-row{letter-spacing:0;text-transform:none;justify-content:space-between;gap:12px}.editor-shell select{border-color:var(--border-strong);border-radius:var(--control-radius);min-height:44px;font-size:16px}.editor-shell .field select{width:100%}.editor-shell .dropzone{border:0;border-top:1px solid var(--border-quiet);border-bottom:1px solid var(--border-quiet);text-align:left;background:0 0;align-items:flex-start;margin:20px 0 0;padding:16px 0}.editor-shell .dropzone>.icon{display:none}.editor-shell .dropzone p{max-width:none;color:var(--ink-soft);text-align:left;margin:0 0 12px;font-size:13px;line-height:18px}.editor-shell .dropzone .button-quiet{min-height:44px}.editor-shell .artwork-asset-row{border-bottom:1px solid var(--border-quiet);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;margin:24px 0 0;padding:0 0 16px;display:grid}.editor-shell .artwork-asset-thumb{object-fit:cover;background:var(--paper-deep);width:56px;height:56px;display:block}.editor-shell .artwork-asset-meta{min-width:0;display:block}.editor-shell .artwork-asset-meta strong,.editor-shell .artwork-asset-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.editor-shell .artwork-asset-meta strong{color:var(--ink);font-size:14px;line-height:20px}.editor-shell .artwork-asset-meta span{color:var(--ink-soft);font-size:12px;line-height:18px}.editor-shell .artwork-asset-row .button-quiet{min-height:40px;padding:6px 10px}.editor-shell .disclosure{border-top-color:var(--border-quiet);margin:20px 0 0}.editor-shell .disclosure-summary{min-height:50px;color:var(--ink-soft);gap:8px;padding:8px 0}.editor-shell .disclosure-summary:hover{color:var(--petrol)}.editor-shell .disclosure-heading{min-width:0}.editor-shell .disclosure-title{color:currentColor;font-size:14px;font-weight:600;line-height:20px}.editor-shell .disclosure-desc{color:var(--ink-soft);font-size:12px;line-height:18px}.editor-shell .disclosure-body{font-size:13px}.editor-shell .issue-list{margin:0 0 16px}.editor-shell .issue{border:1px solid var(--border-quiet);background:var(--paper-bright);border-left-width:1px;margin-bottom:8px;padding:10px 12px}.editor-shell .issue-blocker{border-color:var(--error);background:#fcf0ed}.editor-shell .issue-warning{border-color:var(--warning);background:#fbf6ea}.editor-shell .issue-tag,.editor-shell .issue-warning .issue-tag{color:var(--error);letter-spacing:.06em;font-size:11px}.editor-shell .issue-warning .issue-tag{color:var(--warning)}.editor-shell .issue-message{color:var(--ink);margin:3px 0;font-size:13px;line-height:18px}.editor-shell .issue-remedy{color:var(--ink-soft);margin:0;font-size:12px;line-height:18px}.editor-shell .issue-fix{min-height:40px;margin-top:8px;padding:5px 10px;font-size:12px}.editor-shell .issue-empty{color:var(--success);font-size:13px}.editor-shell .proof-status{border:1px solid var(--warning);color:var(--ink-soft);background:#fbf6ea;border-left-width:1px;margin:20px 0;padding:12px;font-size:13px;line-height:18px}.editor-shell .editor-command-dock{flex:0 0 var(--editor-dock-height);min-width:0;min-height:var(--editor-dock-height);border-top:1px solid var(--border-quiet);background:var(--paper-bright);align-items:center;gap:14px;padding:10px 16px 10px 20px;display:flex}.editor-shell .editor-command-context{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.editor-shell .editor-command-context strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:18px;display:block;overflow:hidden}.editor-shell .editor-command-context span{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;display:block;overflow:hidden}.editor-shell .editor-command-context .editor-command-disabled-reason{color:var(--error)}.editor-shell .editor-command-slot{flex:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.editor-shell .editor-command-dock:not(.editor-command-dock--print) .editor-command-slot{flex:none}.editor-shell .editor-command-slot>.m4-command-dock{background:0 0;border-top:0;flex:auto;justify-content:space-between;align-items:center;width:100%;min-width:0;min-height:0;padding:0;display:flex}.editor-shell .editor-command-slot .m4-command-copy{flex:auto;min-width:0;max-width:none}.editor-shell .editor-command-slot .m4-command-actions{flex:none}.editor-shell .editor-command-slot>.editor-command-context{justify-content:center}.editor-shell .editor-command-primary{white-space:nowrap;flex:none;min-height:44px;padding:8px 14px}.editor-shell .editor-command-back{min-height:44px;color:var(--ink-soft);white-space:nowrap;background:0 0;border-color:#0000;flex:none;padding:8px 10px}.editor-shell .editor-command-back:hover:not([disabled]){border-color:var(--border-quiet);background:var(--petrol-soft);color:var(--petrol)}.editor-shell button[disabled],.editor-shell input[disabled],.editor-shell select[disabled]{opacity:1}.editor-shell button[disabled]{color:var(--ink-soft);background:#e5e9e6;border-color:#e5e9e6}.editor-shell :is(input,select,button,summary){scroll-margin-block-end:calc(var(--editor-dock-height) + 20px)}@media (width<=1199px) and (width>=768px){.editor-shell .editor-command-dock{flex-wrap:wrap;flex-basis:auto;gap:8px}.editor-shell .editor-command-context{flex-basis:100%}.editor-shell .editor-command-context strong,.editor-shell .editor-command-context span{text-overflow:clip;white-space:normal;overflow:visible}.editor-shell .editor-command-dock:not(.editor-command-dock--print) .editor-command-slot{flex:auto}.editor-shell .editor-command-dock--print{flex-wrap:nowrap;align-items:flex-end}.editor-shell .editor-command-dock--print .m4-command-dock{flex-direction:column;align-items:stretch;gap:8px}.editor-shell .editor-command-dock--print .m4-command-actions{flex-wrap:wrap}.editor-shell .editor-command-dock--print .m4-command-copy span{white-space:normal;-webkit-line-clamp:unset;overflow:visible}.editor-shell .editor-main{grid-template-columns:minmax(0,1fr) 320px}.editor-shell .inspector-scroll{padding-inline:20px}.editor-shell .editor-header{grid-template-columns:minmax(170px,1fr) minmax(0,auto) minmax(170px,1fr)}.editor-shell .title-input{max-width:min(32ch,30vw)}.editor-shell .header-command>span:not(.icon){display:none}.editor-shell .header-command>.icon{display:inline-block}.editor-shell .header-command{justify-content:center;width:44px;padding:0}}@media (width<=767px){.editor-shell{height:auto;min-height:100dvh;overflow:visible}.editor-shell .editor-header{flex-basis:56px;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;height:56px;padding:0 8px;position:sticky;top:0}.editor-shell .editor-brand{width:44px;padding-inline:0}.editor-shell .editor-brand .brand-words,.editor-shell .editor-brand .brand-sub,.editor-shell .editor-brand .brand-slash{display:none}.editor-shell .editor-header-title{grid-column:2;justify-content:flex-start;gap:8px;max-width:none}.editor-shell .title-input{flex:auto;min-width:0;max-width:none;padding-inline:0;font-size:14px}.editor-shell .editor-header-actions{grid-column:3;justify-self:end;width:44px}.editor-shell .editor-header-actions>.header-history,.editor-shell .editor-header-actions>.header-command-divider,.editor-shell .editor-header-actions>.header-command{display:none}.editor-shell .editor-mobile-menu-trigger{border-radius:var(--control-radius);width:44px;min-width:44px;height:44px;color:var(--ink-soft);background:0 0;border:1px solid #0000;padding:0;font-size:22px;line-height:1;display:inline-flex}.editor-shell .editor-mobile-menu-trigger:hover:not([disabled]){border-color:var(--border-quiet);background:var(--petrol-soft);color:var(--petrol)}.editor-shell .editor-project-menu{top:55px}.editor-shell .readonly-banner{grid-template-columns:24px minmax(0,1fr);align-items:start;padding:10px 12px}.editor-shell .readonly-banner>.icon{margin-top:2px}.editor-shell .readonly-banner-copy,.editor-shell .readonly-banner-copy strong,.editor-shell .readonly-banner-copy span{display:block}.editor-shell .readonly-banner-actions,.editor-shell .readonly-banner>.button-quiet{grid-column:2;justify-content:flex-start;margin-top:2px}.editor-shell .step-nav{z-index:9;scrollbar-width:thin;padding:0;position:sticky;top:56px;overflow-x:auto}.editor-shell .step-nav ol{flex:none;min-width:max-content}.editor-shell .step-button{min-width:106px;padding-inline:12px}.editor-shell .editor-main{min-height:0;display:block;overflow:visible}.editor-shell .studio-stage{border-right:0;border-bottom:1px solid var(--border-quiet);min-height:0;overflow:visible}.editor-shell .stage-chrome--top{top:10px;left:10px;right:10px}.editor-shell .stage-status-cluster{gap:6px;max-width:calc(100% - 86px);padding:5px 8px;font-size:11px}.editor-shell .stage-status-cluster .preview-status{font-size:11px}.editor-shell .stage-status-cluster .preview-status .status-dot,.editor-shell .stage-status-separator{display:none}.editor-shell .stage-top-actions{gap:4px}.editor-shell .stage-top-actions .button-quiet{min-height:36px;padding-inline:8px;font-size:11px}.editor-shell .stage-top-actions .stage-diagnostics-toggle{display:none}.editor-shell .stage-preview-toggle{display:inline-flex}.editor-shell .stage-preview{flex:0 0 300px;width:100%;height:300px;min-height:300px;position:relative;inset:auto}.editor-shell .stage-preview>.flat-pieces{height:300px;min-height:300px;padding:50px 10px 10px}.editor-shell .stage-preview>.spatial-viewport,.editor-shell .stage-preview>.viewport-fallback{height:300px;min-height:300px}.editor-shell .stage-summary{background:var(--paper-deep);width:100%;min-height:76px;color:var(--ink-soft);border:0;justify-content:space-between;align-items:center;margin:0;padding:0 16px;font-size:13px;line-height:18px;display:flex}.editor-shell .stage-summary-mode{color:var(--ink);font-weight:600}.editor-shell .stage-summary-status{color:var(--ink-soft)}:is(.editor-shell .studio-stage:has(.stage-preview[hidden]) .stage-helper,.editor-shell .studio-stage:has(.stage-preview[hidden]) .surface-legend){display:none}.editor-shell .mode-switch{width:100%;max-width:none;box-shadow:none;border-left:0;border-right:0;border-radius:0;gap:2px;padding:4px;position:relative;bottom:auto;left:auto}.editor-shell .mode-switch[data-photo-available=true]{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-shell .mode-button{justify-content:center;width:100%;min-width:0;min-height:44px;padding-inline:6px}.editor-shell .stage-helper{background:var(--paper-bright);text-align:left;border-radius:0;max-width:none;margin:0;padding:8px 16px;position:relative;bottom:auto;right:auto}.editor-shell .surface-legend{display:none}.editor-shell .stage-empty{bottom:50px;left:10px;right:10px}.editor-shell .stage-artwork-cta{white-space:normal;max-width:calc(100% - 24px);font-size:13px}.editor-shell .stage-drop-veil{inset:10px}.editor-shell .studio-inspector{border-left:0;min-height:0;display:block;overflow:visible}.editor-shell .inspector-scroll{min-height:0;padding:24px 18px calc(36px + var(--editor-dock-height) + env(safe-area-inset-bottom));overflow:visible}.editor-shell .editor-command-dock{z-index:20;min-height:calc(var(--editor-dock-height) + env(safe-area-inset-bottom));height:calc(var(--editor-dock-height) + env(safe-area-inset-bottom));padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top-color:var(--border-quiet);box-shadow:0 -8px 24px color-mix(in srgb, var(--petrol) 9%, transparent);align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.editor-shell .editor-command-context{gap:0;min-width:0}.editor-shell .editor-command-context strong{text-overflow:clip;white-space:normal;overflow:visible}.editor-shell .editor-command-context .editor-command-reason{display:none}.editor-shell .editor-command-context .editor-command-disabled-reason{color:var(--error);text-overflow:clip;white-space:normal;font-size:11px;line-height:16px;display:block;overflow:visible}.editor-shell .editor-command-slot{flex:auto;min-width:0}.editor-shell .editor-command-slot>.m4-command-dock{flex-direction:row;gap:8px;padding:0}.editor-shell .editor-command-slot .m4-command-copy{max-width:none}.editor-shell .editor-command-primary{white-space:normal;text-align:center;max-width:42vw;padding-inline:12px}.editor-shell .editor-command-back{padding-inline:8px}.editor-shell .editor-command-dock--surfaces .editor-command-slot{flex:none}}@media (width<=430px){.editor-shell .step-button{min-width:94px;padding-inline:8px}.editor-shell .step-button>.icon{display:none}.editor-shell .editor-command-dock{padding-inline:10px}.editor-shell .editor-command-primary{max-width:38vw;padding-inline:9px}.editor-shell .editor-command-context .editor-command-disabled-reason{-webkit-line-clamp:unset}}@media (width<=340px){.editor-shell .dimension-grid,.editor-shell .field-row{grid-template-columns:1fr}.editor-shell .editor-command-context{max-width:42%}}@container inspector (width<=340px){.editor-shell .dimension-grid,.editor-shell .field-row{grid-template-columns:1fr}}@media (height<=620px) and (width<=767px){.editor-shell .inspector-scroll{padding-bottom:calc(28px + var(--editor-dock-height) + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.editor-shell .panel-transition,.editor-shell .editor-project-menu{animation:none}}.editor-shell[data-current-step=print]{--editor-dock-height:124px}.editor-shell[data-current-step=print] .editor-command-dock{align-items:flex-end}.editor-shell[data-current-step=print] .editor-command-slot>.m4-command-dock{flex-direction:column;align-items:stretch;gap:8px}.editor-shell[data-current-step=print] .m4-command-copy{flex:none;min-width:0;max-width:none}.editor-shell[data-current-step=print] .m4-command-copy strong,.editor-shell[data-current-step=print] .m4-command-copy span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.editor-shell[data-current-step=print] .m4-command-actions{flex-wrap:nowrap;gap:6px;width:100%;min-width:0}.editor-shell[data-current-step=print] .m4-command-actions>button{white-space:normal;overflow-wrap:anywhere;flex:1 1 0;min-width:0;min-height:44px;padding:8px 10px;font-size:13px;line-height:18px}@media (width<=340px){.editor-shell[data-current-step=print]{--editor-dock-height:180px}.editor-shell[data-current-step=print] .editor-command-dock{flex-wrap:wrap}.editor-shell[data-current-step=print] .editor-command-slot{flex-basis:100%;order:0}.editor-shell[data-current-step=print] .editor-command-back{order:1}}.editor-shell .photo-workflow-body{min-width:0}.editor-shell .photo-intro,.editor-shell .photo-measurement-reminder,.editor-shell .photo-occlusion-note,.editor-shell .photo-review-note{color:var(--ink-soft);margin:0 0 16px;font-size:13px;line-height:18px}.editor-shell .photo-inactive-floor-note{border:1px solid var(--warning);color:var(--ink-soft);background:#fbf6ea;gap:4px;margin:0 0 16px;padding:10px 12px;font-size:12px;line-height:18px;display:grid}.editor-shell .photo-inactive-floor-note strong{color:var(--ink);font-weight:600}.editor-shell .photo-inactive-floor-note .button-quiet{width:max-content;min-height:40px;margin-top:4px;padding-inline:10px;font-size:12px}.editor-shell .photo-open-workspace{min-height:44px;margin:4px 0 16px;padding-inline:12px}.editor-shell .photo-calibration-dialog{border:1px solid var(--petrol);background:var(--paper-bright);width:min(1080px,100vw - 32px);max-width:none;max-height:calc(100vh - 32px);color:var(--ink);box-shadow:0 24px 80px color-mix(in srgb, var(--petrol) 22%, transparent);border-radius:6px;margin:auto;padding:0;overflow:hidden}.editor-shell .photo-calibration-dialog::backdrop{background:color-mix(in srgb, var(--petrol) 54%, transparent)}.editor-shell .photo-dialog-shell{flex-direction:column;min-height:0;max-height:calc(100vh - 32px);display:flex}.editor-shell .photo-dialog-heading{border-bottom:1px solid var(--border-quiet);background:var(--paper-bright);flex:none;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px 20px;display:flex}.editor-shell .photo-dialog-eyebrow{color:var(--petrol);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:600;line-height:16px}.editor-shell .photo-dialog-heading h3{color:var(--ink);margin:0 0 4px;font-size:22px;font-weight:600;line-height:28px}.editor-shell .photo-dialog-heading h3:focus-visible{outline:2px solid var(--petrol);outline-offset:3px}.editor-shell .photo-dialog-heading p:last-child{max-width:66ch;color:var(--ink-soft);margin:0;font-size:14px;line-height:20px}.editor-shell .photo-dialog-close{flex:none;min-height:44px;padding-inline:12px}.editor-shell .photo-dialog-body{min-width:0;min-height:0;padding:20px 28px 28px;overflow:auto}.editor-shell .photo-dialog-body .photo-plane-tabs{margin-top:0}.editor-shell .photo-plane-instructions{color:var(--ink);margin:0 0 8px;font-size:14px;line-height:20px}.editor-shell .photo-add-point{margin:0 0 10px}.editor-shell .photo-dialog-body .photo-marking-canvas{--photo-stage-max-height:min(62vh, 680px);width:min(100%, calc(var(--photo-stage-max-height) * var(--photo-aspect)));min-height:0;max-height:none;margin-inline:auto}.editor-shell .photo-readonly-note{color:var(--warning);margin:12px 0 0;font-size:12px;line-height:18px}.editor-shell .photo-asset-row{border-bottom:1px solid var(--border-quiet);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;margin:20px 0 16px;padding:0 0 16px;display:grid}.editor-shell .photo-asset-row>img,.editor-shell .photo-asset-placeholder{object-fit:cover;background:var(--paper-deep);width:56px;height:56px;color:var(--ink-soft);place-items:center;display:grid}.editor-shell .photo-asset-meta{min-width:0;display:block}.editor-shell .photo-asset-meta strong,.editor-shell .photo-asset-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.editor-shell .photo-asset-meta strong{color:var(--ink);font-size:14px;line-height:20px}.editor-shell .photo-asset-meta span{color:var(--ink-soft);font-size:12px;line-height:18px}.editor-shell .photo-asset-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 8px;display:flex}.editor-shell .photo-asset-actions .button-quiet,.editor-shell .photo-asset-actions .button-link{min-height:40px;padding:6px 10px;font-size:13px}.editor-shell .photo-status{border:1px solid var(--border-quiet);background:var(--paper-deep);color:var(--ink-soft);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;margin:0 0 16px;padding:10px 12px;font-size:12px;line-height:18px;display:grid}.editor-shell .photo-status strong{color:var(--ink);font-size:13px;font-weight:600}.editor-shell .photo-status--draft{border-color:var(--warning);background:#fbf6ea}.editor-shell .photo-status--stale{border-color:var(--error);background:#fcf0ed}.editor-shell .photo-status--current{border-color:var(--success);background:#edf6f1}.editor-shell .photo-status--draft strong,.editor-shell .photo-status--stale strong{color:var(--warning)}.editor-shell .photo-status--stale strong{color:var(--error)}.editor-shell .photo-status--current strong{color:var(--success)}.editor-shell .photo-plane-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;margin:20px 0 12px;display:grid}.editor-shell .photo-plane-tab{border:1px solid var(--border-quiet);border-radius:var(--control-radius);background:var(--paper-bright);min-width:0;min-height:52px;color:var(--ink-soft);text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;padding:7px 9px;display:flex}.editor-shell .photo-plane-tab strong,.editor-shell .photo-plane-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.editor-shell .photo-plane-tab strong{color:var(--ink);font-size:13px;line-height:18px}.editor-shell .photo-plane-tab span{color:var(--ink-soft);font-size:11px;line-height:16px}.editor-shell .photo-plane-tab.is-selected{border-color:var(--petrol);background:var(--petrol-soft);color:var(--petrol)}.editor-shell .photo-plane-tab.is-selected strong{color:var(--petrol)}.editor-shell .photo-marking-canvas{border:1px solid var(--border-strong);background:var(--paper-deep);isolation:isolate;touch-action:none;width:100%;min-height:180px;position:relative;overflow:hidden}.editor-shell .photo-marking-canvas>img,.editor-shell .photo-marking-canvas>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.editor-shell .photo-marking-canvas>img{z-index:0;object-fit:fill;-webkit-user-select:none;user-select:none}.editor-shell .photo-marking-canvas>svg{z-index:1;pointer-events:none;overflow:visible}.editor-shell .photo-plane-line{fill:color-mix(in srgb, var(--accent) 9%, transparent);stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.editor-shell .photo-marking-canvas--B .photo-plane-line{fill:color-mix(in srgb, var(--petrol) 9%, transparent);stroke:var(--petrol)}.editor-shell .photo-marking-canvas--C .photo-plane-line{fill:color-mix(in srgb, var(--warning) 9%, transparent);stroke:var(--warning)}.editor-shell .photo-point{z-index:2;border:2px solid var(--accent);background:var(--paper-bright);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--accent-dark);touch-action:none;border-radius:50%;place-items:center;padding:0;font-size:13px;font-weight:600;display:grid;position:absolute;transform:translate(-50%,-50%)}.editor-shell .photo-point:hover:not([disabled]),.editor-shell .photo-point:focus-visible{border-color:var(--petrol);background:var(--petrol-soft);color:var(--petrol)}.editor-shell .photo-missing-image{z-index:3;color:var(--error);text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.editor-shell .photo-marking-hint{z-index:3;background:color-mix(in srgb, var(--paper-bright) 92%, transparent);color:var(--ink-soft);pointer-events:none;padding:6px 8px;font-size:11px;line-height:16px;position:absolute;bottom:8px;left:8px;right:8px}.editor-shell .photo-point-fields{gap:12px;min-width:0;margin:16px 0 0;display:grid}.editor-shell .photo-point-fields fieldset,.editor-shell .photo-occlusion-row{border:0;border-top:1px solid var(--border-quiet);min-width:0;margin:0;padding:10px 0 0}.editor-shell .photo-point-fields legend,.editor-shell .photo-occlusion-row legend{width:100%;color:var(--ink);align-items:center;gap:8px;margin:0 0 8px;padding:0;font-size:12px;font-weight:600;line-height:18px;display:flex}.editor-shell .photo-point-index{border:1px solid var(--accent);width:20px;height:20px;color:var(--accent-dark);border-radius:50%;place-items:center;font-size:11px;display:inline-grid}.editor-shell .photo-normalized-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;min-width:0;display:grid}.editor-shell .photo-normalized-grid>label,.editor-shell .photo-normalized-grid>.field{min-width:0;color:var(--ink-soft);font-size:11px;line-height:16px}.editor-shell .photo-normalized-grid>.field{margin-bottom:0}.editor-shell .photo-normalized-grid .field-label{margin-bottom:4px;font-size:11px;line-height:16px}.editor-shell .photo-normalized-grid .field-input{height:40px;min-height:40px;padding:6px 8px;font-size:14px}.editor-shell .photo-normalized-grid input{border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--paper-bright);width:100%;min-width:0;min-height:40px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;margin-top:4px;padding:6px 8px;font-size:14px;display:block}.editor-shell .photo-normalized-grid input:focus-visible{outline:2px solid var(--petrol);outline-offset:1px}.editor-shell .photo-marking-actions{flex-wrap:wrap;gap:8px;margin:16px 0 0;display:flex}.editor-shell .photo-marking-actions button{min-height:44px;padding:8px 10px;font-size:12px}.editor-shell .photo-review{border:1px solid var(--petrol);background:var(--petrol-soft);margin:24px 0 0;padding:16px}.editor-shell .photo-review-heading,.editor-shell .photo-subsection-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.editor-shell .photo-review h4,.editor-shell .photo-subsection-heading h4{color:var(--ink);margin:0 0 4px;font-size:14px;font-weight:600;line-height:20px}.editor-shell .photo-review-heading p,.editor-shell .photo-subsection-heading p{color:var(--ink-soft);margin:0 0 12px;font-size:12px;line-height:18px}.editor-shell .photo-review-badge{border:1px solid var(--petrol);color:var(--petrol);letter-spacing:.06em;text-transform:uppercase;flex:none;padding:3px 6px;font-size:10px;font-weight:600}.editor-shell .photo-grid-canvas{border:1px solid var(--border-strong);background:var(--paper-bright);width:100%;position:relative;overflow:hidden}.editor-shell .photo-grid-canvas>img,.editor-shell .photo-grid-canvas>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.editor-shell .photo-grid-canvas>img{object-fit:fill}.editor-shell .photo-grid-canvas>svg{pointer-events:none;overflow:visible}.editor-shell .photo-grid-surface polyline{fill:none;stroke:var(--accent);stroke-width:1.25px;vector-effect:non-scaling-stroke}.editor-shell .photo-grid-surface--B polyline{stroke:var(--petrol)}.editor-shell .photo-grid-surface--C polyline{stroke:var(--warning)}.editor-shell .photo-grid-outline{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.editor-shell .photo-grid-surface--B .photo-grid-outline{stroke:var(--petrol)}.editor-shell .photo-grid-surface--C .photo-grid-outline{stroke:var(--warning)}.editor-shell .photo-grid-label{background:var(--paper-bright);color:var(--ink);font-family:var(--font-body);pointer-events:none;border-radius:2px;padding:2px 5px;font-size:12px;font-weight:600;line-height:16px;position:absolute;transform:translate(-50%,-50%)}.editor-shell .photo-grid-legend{gap:4px;margin:12px 0;padding:0;list-style:none;display:grid}.editor-shell .photo-grid-legend li{color:var(--ink-soft);align-items:baseline;gap:8px;font-size:11px;line-height:16px;display:flex}.editor-shell .photo-grid-legend strong{color:var(--ink)}.editor-shell .photo-confirm-row{min-height:44px;color:var(--ink);align-items:center;gap:8px;margin:8px 0;font-size:13px;line-height:18px;display:flex}.editor-shell .photo-review .button-primary{min-height:44px;margin-top:4px;padding-inline:12px}.editor-shell .photo-occlusions{border-top:1px solid var(--border-quiet);margin:24px 0 0;padding-top:16px}.editor-shell .photo-occlusion-row{margin-top:12px;padding-top:12px}.editor-shell .photo-occlusion-row .button-link{min-height:40px;padding:6px 0;font-size:12px}.editor-shell .stage-spatial-layer{z-index:1;min-width:0;min-height:0;position:absolute;inset:0}.editor-shell .stage-spatial-layer--hidden{visibility:hidden;pointer-events:none}.editor-shell .stage-spatial-layer>.spatial-viewport{width:100%;height:100%}.editor-shell .photo-preview{z-index:2;background:var(--paper-deep);flex:auto;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.editor-shell .photo-preview-canvas{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;display:block}.editor-shell .photo-preview-chrome{z-index:3;background:color-mix(in srgb, var(--paper-bright) 94%, transparent);min-width:0;color:var(--ink-soft);flex-wrap:wrap;align-items:flex-start;gap:4px 8px;padding:8px 10px;font-size:12px;line-height:18px;display:flex;position:absolute;top:58px;left:18px;right:18px}.editor-shell .photo-preview-chrome strong{color:var(--ink)}.editor-shell .photo-preview-chrome>span{max-width:100%}.editor-shell .photo-preview-chrome .photo-preview-error{color:var(--error);flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.editor-shell .photo-preview-chrome .button-quiet{min-height:36px;padding:4px 9px;font-size:12px}:is(.editor-shell .studio-stage:has(.photo-preview)>.surface-legend,.editor-shell .studio-stage:has(.photo-preview) .stage-diagnostics-toggle){display:none}@media (width<=767px){.editor-shell .photo-calibration-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.editor-shell .photo-dialog-shell{max-height:calc(100vh - 16px)}.editor-shell .photo-dialog-heading{gap:12px;padding:16px}.editor-shell .photo-dialog-heading h3{font-size:20px;line-height:24px}.editor-shell .photo-dialog-heading p:last-child{font-size:13px;line-height:18px}.editor-shell .photo-dialog-close{width:44px;max-width:44px;padding:0;font-size:0;overflow:hidden}.editor-shell .photo-dialog-close:before{content:"×";color:var(--ink);font-size:22px;line-height:1}.editor-shell .photo-dialog-body{padding:16px}.editor-shell .photo-dialog-body .photo-marking-canvas{--photo-stage-max-height:min(55vh, 440px);min-height:0;max-height:none}.editor-shell .photo-asset-row{grid-template-columns:48px minmax(0,1fr);align-items:start}.editor-shell .photo-asset-row>img,.editor-shell .photo-asset-placeholder{width:48px;height:48px}.editor-shell .photo-asset-actions{grid-column:2;justify-content:flex-start}.editor-shell .photo-plane-tabs{gap:3px}.editor-shell .photo-plane-tab{padding-inline:7px}.editor-shell .photo-review{padding:12px}.editor-shell .photo-preview-chrome{top:52px;left:10px;right:10px}}@media (width<=340px){.editor-shell .photo-normalized-grid,.editor-shell .photo-plane-tabs{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.editor-shell .photo-point,.editor-shell .photo-preview,.editor-shell .photo-grid-canvas{transition:none}}
