@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2)format("woff2"),url(./cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(./cormorant-garamond-latin-ext-500-normal-DYeaGGzO.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(./cormorant-garamond-latin-500-normal-zIXX3Q-H.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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(./cormorant-garamond-cyrillic-ext-600-italic-o1-A_FsB.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-ext-600-italic-Vv_u9p1E.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(./cormorant-garamond-cyrillic-600-italic-Bp4BYShX.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-600-italic-DP5iIMI9.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(./cormorant-garamond-vietnamese-600-italic-C3DTNE_9.woff2)format("woff2"),url(./cormorant-garamond-vietnamese-600-italic-Bdap-eNg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-ext-600-italic-DYtrqAWE.woff2)format("woff2"),url(./cormorant-garamond-latin-ext-600-italic-CcucBqPp.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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-600-italic-DCuhXWyK.woff2)format("woff2"),url(./cormorant-garamond-latin-600-italic-BcJbkSJ4.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.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:Architects Daughter;font-style:normal;font-display:swap;font-weight:400;src:url(./architects-daughter-latin-ext-400-normal-BsHeVfRr.woff2)format("woff2"),url(./architects-daughter-latin-ext-400-normal-FqHtA13I.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:Architects Daughter;font-style:normal;font-display:swap;font-weight:400;src:url(./architects-daughter-latin-400-normal-DOGE_9Aw.woff2)format("woff2"),url(./architects-daughter-latin-400-normal-Ze4cbGW2.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}:root{--paper:#f5efe2;--paper-2:#efe7d5;--ink:#1d3764;--ink-2:#4c6593;--ink-3:#1d376447;--ink-4:#1d37641f;--red:#b8412a;--serif:"Cormorant Garamond", "Iowan Old Style", Palatino, Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--hand:"Architects Daughter", "Comic Neue", cursive}*{box-sizing:border-box}html{background:#e7dfcc;height:100%;overflow:hidden}body{color:var(--ink);font-family:var(--serif);background:radial-gradient(1200px 600px at 20% -10%, #ffffff8c, transparent 60%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E"), var(--paper);margin:0;border:0;flex-direction:column;justify-content:center;width:100%;max-width:none;height:100dvh;margin-inline:auto;padding:0;font-size:18px;line-height:1.45;display:flex;overflow:hidden}main{min-width:0;position:fixed;inset:0}.titleblock{border:1.5px solid var(--ink);outline:1px solid var(--ink-3);outline-offset:3px;grid-template-columns:1fr auto;display:none}.tb-main{padding:12px 18px 10px}.kicker{font:500 11.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0}h1{letter-spacing:-.01em;margin:4px 0 0;font-size:clamp(30px,4.2vw,50px);font-weight:500;line-height:1}h1 span{color:var(--ink-2);margin-top:6px;font-size:.46em;font-style:italic;font-weight:600;display:block}.tb-cells{border-left:1.5px solid var(--ink);grid-template-columns:repeat(3,minmax(88px,auto));margin:0;display:grid}.tb-cells div{border-left:1px solid var(--ink-3);flex-direction:column;justify-content:space-between;padding:10px 14px;display:flex}.tb-cells div:first-child{border-left:0}.tb-cells dt{font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.tb-cells dd{font:500 15px/1.1 var(--mono);margin:8px 0 0}.tb-cells .status{color:var(--red)}.sheet{background:var(--paper);border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.stage-wrap{position:absolute;inset:0;overflow:hidden}.stage{aspect-ratio:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;width:100%;height:100%;position:relative;overflow:hidden}.stage:focus-visible{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink-2)}.stage.dragging{cursor:grabbing}.layer{width:100%;height:100%;position:absolute;inset:0}#beam{width:100%;height:100%;inset:0}#ink{aspect-ratio:140/78;width:min(100vw,179.487dvh);height:auto;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.layer>svg{width:100%;height:100%;display:block}#ink{pointer-events:none}canvas.layer{display:block}.top-dock{z-index:5;border:1.5px solid var(--ink);outline:1px solid var(--ink-3);outline-offset:2px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf7eef0;align-items:stretch;width:min(650px,100% - 28px);display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #1d37642e}.face-turner{z-index:2;border:1.5px solid var(--ink);outline:1px solid var(--ink-3);outline-offset:2px;width:min(350px,100% - 24px);min-height:54px;color:var(--ink);touch-action:manipulation;background:#faf7eef0;grid-template-columns:minmax(94px,1fr) auto minmax(94px,1fr);display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #1d37642e}.top-dock .face-turner{width:auto;min-height:52px;box-shadow:none;background:0 0;border:0;outline:0;flex:350px;position:static;transform:none}.top-dock .camera-orbit{border:0;border-left:1px solid var(--ink-3);flex:0 292px;margin:0}.face-turner-button{min-height:52px;font:500 12px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;border:0;justify-content:center;align-items:center;gap:8px;padding:5px 12px;display:flex}.face-turner-button:first-child{border-right:1px solid var(--ink-3)}.face-turner-button:last-child{border-left:1px solid var(--ink-3)}.face-turner-button:hover{background:#1d376414}.face-turner-button:active{background:var(--ink-4)}.ft-arrow{color:var(--red);font:500 28px/.8 var(--serif)}.face-turner-current{min-width:92px;font-family:var(--mono);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;padding:6px 10px;display:flex}.face-turner-current small{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.face-turner-current strong{letter-spacing:.08em;text-transform:uppercase;font-size:13px}figcaption{border-top:1px solid var(--ink-4);font:400 12.5px/1.4 var(--mono);color:var(--ink-2);padding:8px 6px 2px;display:none}.elevation{font-family:var(--hand)}.elevation .concept-backdrop{opacity:.76;filter:saturate(.68)sepia(.05)brightness(1.03)}.elevation .construct path{stroke:var(--ink-4);stroke-width:.18px;stroke-dasharray:3 1.2 .6 1.2;fill:none}.elevation .construct .cl{fill:var(--ink-3);font-size:4px}.elevation .batten{stroke:var(--ink-3);stroke-width:.22px;fill:none}.elevation .breast-bg{fill:#fffdf78c}.elevation .breast-edge{fill:none;stroke:var(--ink);stroke-width:.55px}.elevation .stone{fill:#1d376408;stroke:var(--ink);stroke-width:.3px;stroke-linejoin:round}.elevation .stone-tex{stroke:var(--ink-2);stroke-width:.18px;fill:none;stroke-linecap:round}.elevation .ink-fine{stroke:var(--ink);stroke-width:.3px;fill:none;stroke-linecap:round}.elevation .ink-hair{stroke:var(--ink-3);stroke-width:.16px;fill:none}.elevation .opening{fill:#1d376412;stroke:var(--ink);stroke-width:.5px}.elevation .lintel,.elevation .slab{fill:#fffdf7e6;stroke:var(--ink);stroke-width:.45px}.elevation .floor{stroke:var(--ink);stroke-width:.9px}.elevation .ceiling{stroke:var(--ink-2);stroke-width:.35px;stroke-dasharray:5 1.5}.elevation .dim path{stroke:var(--ink-2);stroke-width:.22px;fill:none}.elevation .dim text{fill:var(--ink);paint-order:stroke;stroke:#faf7eef5;stroke-width:2.2px;stroke-linejoin:round;font-size:3.6px}.elevation .dim-minor text{font-size:3px}.elevation .note text{fill:var(--ink-2);letter-spacing:.04em;paint-order:stroke;stroke:#f7f2e7f5;stroke-width:1.8px;stroke-linejoin:round;font-size:2.9px}.elevation .leader{stroke:var(--ink-2);stroke-width:.2px;fill:none}.elevation .disclaimer{font-family:var(--mono);letter-spacing:.12em;fill:var(--red);opacity:.85;font-weight:500}.overlay{font-family:var(--mono)}.overlay .offcut-wash{fill:#f7f2e7b8}.overlay .hatch-line{stroke:#1d376447;stroke-width:.24px}.overlay .offcut{fill:url(#offcut-hatch);stroke:var(--ink-2);stroke-width:.25px;stroke-dasharray:1.2 .8}.overlay[data-mode=place] .offcut{fill:url(#offcut-hatch)}.overlay[data-mode=inspect] .offcut{fill:none}.overlay .beam-outline{fill:none;stroke:var(--ink-2);stroke-width:.25px;stroke-dasharray:.8 .8}.overlay .cut path{stroke:var(--red);stroke-width:.5px;stroke-dasharray:2.2 1 .5 1}.overlay text{paint-order:stroke;stroke:#f7f2e7f5;stroke-width:2.1px;stroke-linejoin:round}.overlay .cut text{fill:var(--red);letter-spacing:.05em;font-size:2.7px;font-weight:500}.overlay .odim path{stroke:var(--ink-2);stroke-width:.22px;fill:none}.overlay .odim text{fill:var(--ink);letter-spacing:.04em;font-size:2.9px}.overlay .odim-keep path{stroke:var(--red);stroke-width:.32px}.overlay .odim-keep text{fill:var(--red);font-size:3.3px;font-weight:500}.overlay .odim-src text{fill:var(--ink-2);font-size:2.7px}.overlay .unphoto{fill:var(--ink);letter-spacing:.18em;paint-order:stroke;stroke:#f5efe2d9;stroke-width:1.4px;stroke-linejoin:round;font-size:2.4px}.controls{z-index:4;border:1.5px solid var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#f7f2e7e0;width:min(620px,100% - 28px);display:block;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #1d37642b}.tray-toggle{text-align:left;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:100%;min-height:50px;padding:8px 14px;display:grid}.tray-kicker{color:var(--red);font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.tray-toggle strong{font:500 14px/1.2 var(--mono);letter-spacing:.02em;text-align:center}.tray-action{color:var(--ink-2);font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.tray-action b{color:var(--red);font-size:15px}.tray-body{border-top:1px solid var(--ink-3);grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);display:none}.controls.is-expanded{width:min(1100px,100% - 28px)}.controls.is-expanded .tray-body{display:grid}.controls.is-expanded .tray-action b{display:inline-block;transform:rotate(180deg)}.panel{border-left:1px solid var(--ink-3);padding:14px 18px 16px}.panel:first-child{border-left:0}.panel h2{margin:0 0 10px;font-size:22px;font-weight:500}.num{font:500 11px var(--mono);color:var(--red);letter-spacing:.1em;vertical-align:3px;margin-right:8px}.readouts{grid-template-columns:1fr 1fr;gap:6px 14px;margin:0 0 12px;display:grid}.readouts div{border-bottom:1px dotted var(--ink-3);padding-bottom:3px}.readouts .wide{grid-column:1/-1}.readouts dt{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.readouts dd{font:500 19px/1.2 var(--mono);font-variant-numeric:tabular-nums;margin:1px 0 0}.field{font:400 12px var(--mono);color:var(--ink-2);display:block}.field em{color:var(--ink-3);float:right;font-style:normal}input[type=range]{appearance:none;background:0 0;width:100%;height:26px;margin:8px 0 10px}input[type=range]::-webkit-slider-runnable-track{background:var(--ink);height:2px}input[type=range]::-moz-range-track{background:var(--ink);height:2px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--paper);border:1.5px solid var(--red);width:14px;height:22px;margin-top:-10px}input[type=range]::-moz-range-thumb{background:var(--paper);border:1.5px solid var(--red);border-radius:0;width:12px;height:20px}input[type=range]:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.btnrow{flex-wrap:wrap;gap:6px;display:flex}.camera-orbit{border:1px solid var(--ink);background:#faf7ee8c;grid-template-columns:repeat(3,1fr);margin:0 0 10px;display:grid}.camera-orbit button{border:0;border-left:1px solid var(--ink-3);letter-spacing:.04em;text-transform:uppercase;min-width:0;min-height:44px;padding:6px 5px;font-size:11px}.camera-orbit button:first-child{border-left:0}.camera-orbit button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.camera-orbit button span{color:var(--red);vertical-align:-1px;font-size:17px}.camera-orbit button[aria-pressed=true] span{color:#f2b3a5}button{font:500 13px var(--mono);color:var(--ink);border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:1px;min-height:36px;padding:7px 11px}button:hover{background:var(--ink-4)}button:focus-visible{outline:2px solid var(--red);outline-offset:2px}button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.hint,.ratio,.link-note{font:400 11.5px/1.5 var(--mono);color:var(--ink-2);margin:10px 0 0}.ratio{color:var(--ink)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.plan-ui{z-index:8;position:relative}.save-plan-trigger{border-color:var(--red);min-height:50px;color:var(--red);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.08em;background:#f7f2e7eb;padding:8px 18px;position:fixed;bottom:14px;right:14px;box-shadow:0 8px 30px #1d376424}.save-plan-trigger:hover{background:var(--red);color:var(--paper)}.saved-plan-badge{z-index:8;border:1.5px solid var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:44px;font-family:var(--mono);white-space:nowrap;background:#f7f2e7f0;grid-template-columns:auto auto auto;align-items:center;gap:12px;padding:6px 7px 6px 14px;display:grid;position:fixed;top:82px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #1d376429}.saved-plan-badge[hidden]{display:none}.saved-plan-badge span{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.saved-plan-badge strong{font-size:12px;font-weight:500}.saved-plan-badge button{min-height:30px;padding:4px 8px;font-size:10px}.plan-dialog{border:1.5px solid var(--ink);background:var(--paper);width:min(520px,100% - 28px);max-height:calc(100dvh - 28px);color:var(--ink);border-radius:0;margin:auto;padding:0;overflow:auto;box-shadow:0 22px 80px #111d345c}.plan-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#121c2c7a}.plan-dialog form,.plan-success{padding:22px}.plan-dialog-head{border-bottom:1px solid var(--ink-3);padding-right:42px;position:relative}.plan-dialog-head p,.plan-success .eyebrow{color:var(--red);font:500 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 3px}.plan-dialog h2{margin:0 0 12px;font-size:30px;font-weight:500;line-height:1}.plan-dialog-head [data-close]{width:36px;font:500 30px/1 var(--serif);border:0;padding:0;position:absolute;top:-8px;right:0}.plan-dialog-copy{font:400 12px/1.55 var(--mono);color:var(--ink-2);margin:14px 0}.plan-dialog label{font:500 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:12px 0;display:block}.plan-dialog input,.plan-dialog textarea{border:1px solid var(--ink-2);width:100%;color:var(--ink);font:400 14px/1.35 var(--mono);text-transform:none;letter-spacing:0;background:#fffdf7d1;border-radius:0;margin-top:5px;padding:10px 11px;display:block}.plan-dialog input:focus,.plan-dialog textarea:focus{outline:2px solid var(--red);outline-offset:1px}.plan-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.plan-actions .primary{background:var(--ink);color:var(--paper)}.plan-error{color:var(--red);font:500 11px/1.4 var(--mono);margin:12px 0 0}.plan-success [data-plan-link]{text-transform:none;font-size:12px}.plan-locked .offcut-wash{fill:#f7f2e7c9}.plan-locked .face-turner-button:disabled,.plan-locked .panel button:disabled,.plan-locked input:disabled{cursor:not-allowed;opacity:.5}@media (width<=860px){body{width:100%;padding:0;font-size:16px}.titleblock{grid-template-columns:1fr}.tb-cells{border-left:0;border-top:1px solid var(--ink)}.tray-body{grid-template-columns:1fr;max-height:55vh;overflow:auto}.tray-toggle{display:none}.panel{border-left:0;border-top:1px solid var(--ink-3)}.panel:first-child{border-top:0}.save-plan-trigger{right:10px;top:calc(120px + env(safe-area-inset-top));min-height:42px;padding:6px 11px;font-size:10px;bottom:auto}.saved-plan-badge{top:calc(120px + env(safe-area-inset-top));white-space:normal;grid-template-columns:1fr auto;max-width:calc(100% - 20px)}.saved-plan-badge span{grid-column:1/-1}.stage{aspect-ratio:auto}.face-turner{grid-template-columns:1fr auto 1fr;width:min(250px,100% - 18px);min-height:46px;top:6px}.face-turner-button{letter-spacing:.02em;gap:4px;min-height:44px;padding:3px 7px;font-size:9px}.ft-arrow{font-size:23px}.face-turner-current{min-width:68px;padding:4px 6px}.face-turner-current small{font-size:7px}.face-turner-current strong{font-size:10px}.top-dock{top:max(6px, env(safe-area-inset-top));flex-wrap:wrap;width:min(360px,100% - 18px)}.top-dock .face-turner{flex:100%;min-height:44px}.top-dock .camera-orbit{border-left:0;border-top:1px solid var(--ink-3);flex:100%}.top-dock .camera-orbit button{min-height:36px}.sheet{margin:0;padding:0}figcaption{padding:4px 4px 1px;font-size:10px}.panel{padding:8px 10px 9px}.panel h2{margin-bottom:5px;font-size:18px}.readouts{gap:3px 10px;margin-bottom:5px}.readouts dd{font-size:16px}input[type=range]{height:22px;margin:4px 0 5px}.hint,.ratio,.link-note{margin-top:5px;font-size:9.5px;line-height:1.35}.camera-orbit{margin-bottom:6px}.controls{width:calc(100% - 16px);max-height:43vh;bottom:8px;overflow:auto}.controls.is-expanded{width:calc(100% - 16px)}.hint,.link-note{display:none}}@media (width<=520px){.tb-cells{display:none}.tb-main{padding:7px 10px 6px}.kicker{font-size:8px}h1{margin-top:2px;font-size:25px}h1 span{margin-top:3px;font-size:.47em}.link-note{display:none}#ink{top:42%}.face-turner{top:max(6px, env(safe-area-inset-top))}.controls{bottom:max(6px, env(safe-area-inset-bottom));max-height:none;overflow:visible}.panel{padding:6px 8px}.panel h2{display:none}.readouts{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 7px;margin:0 0 2px}.readouts .wide{grid-column:auto}.readouts dt{letter-spacing:.07em;white-space:nowrap;font-size:7px}.readouts dd{font-size:14px}.field>span{display:none}input[type=range]{height:18px;margin:0 0 3px}.panel-cut .btnrow{grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.panel-cut .btnrow button{min-height:38px;padding:3px 2px;font-size:10px}.ratio{display:none}.camera-orbit{margin:0 0 4px}.camera-orbit button{min-height:40px;padding:3px 2px;font-size:9px}.camera-orbit button span{font-size:13px}.panel-view .btnrow{grid-template-columns:1fr auto;gap:4px;display:grid}.panel-view .btnrow button{min-height:34px;padding:3px 7px;font-size:10px}}@media (height<=720px){.titleblock{display:none}.controls{max-height:45vh;bottom:6px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
