@font-face{font-family:Parkinsans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/parkinsans-latin-ext-wght-normal-CTfSnvlK.woff2)format("woff2-variations");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:Parkinsans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/parkinsans-latin-wght-normal-mRuZnjHQ.woff2)format("woff2-variations");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:Funnel Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/funnel-sans-latin-ext-wght-normal-CStSwzyf.woff2)format("woff2-variations");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:Funnel Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/funnel-sans-latin-wght-normal-zzU05adE.woff2)format("woff2-variations");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:Parkinsans Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Arial);font-weight:300 800;size-adjust:108%;ascent-override:97.2%;descent-override:32.4%;line-gap-override:0%}@font-face{font-family:Funnel Sans Fallback;src:local(Arial),local(ArialMT),local(Helvetica);font-weight:300 500;size-adjust:100.9%;ascent-override:99.1%;descent-override:24.8%;line-gap-override:0%}@font-face{font-family:Funnel Sans Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Arial);font-weight:600 800;size-adjust:94.4%;ascent-override:105.9%;descent-override:26.5%;line-gap-override:0%}:root,.light-scope{--wall:#f7f4ef;--wall-2:#efe9df;--paper:#fffdf9;--field:#fffefb;--ply:#d9b98c;--ply-2:#b89060;--ply-3:#ecd6b0;--ink:#2b2c2e;--muted:#5b5d61;--pencil:#8d9095;--grid:#464c5412;--line:#ddd4c6;--line-strong:#8a857c;--teal:#1f7a7a;--teal-deep:#155c5c;--teal-ink:#176666;--teal-soft:#dcefec;--on-teal:#fff;--mustard:#e3a92b;--mustard-ink:#835a00;--mustard-soft:#f8e8c2;--good:#2e7d4f;--good-ink:#23633e;--good-soft:#dff0e4;--bad:#b33a2a;--bad-ink:#9c2f21;--bad-soft:#f8e0da;--focus:#1f7a7a;--footer:#26292b;--footer-ink:#efe9df;--footer-muted:#bdb7ad;--footer-link:#f0c25c;--glow:transparent;--wall-l:#f1e9dc;--wall-r:#e6dccb;--floor:#ecd8b4;--item:#ecd6b0;--radius:10px;--display:"Parkinsans Variable", "Parkinsans Fallback", "Arial", sans-serif;--text:"Funnel Sans Variable", "Funnel Sans Fallback", "Arial", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--wall:#142224;--wall-2:#0f1b1d;--paper:#1b2d2f;--field:#112022;--ply:#7d5d3a;--ply-2:#5c4328;--ply-3:#9a7a50;--ink:#f2eadc;--muted:#bab3a6;--pencil:#7f8b8a;--grid:#dce6e10d;--line:#2c4144;--line-strong:#74878a;--teal:#52bab3;--teal-deep:#3fa39d;--teal-ink:#80d2cb;--teal-soft:#1c3c3c;--on-teal:#0c1a1b;--mustard:#f0b847;--mustard-ink:#f3c66c;--mustard-soft:#3a3020;--good:#7ccb9c;--good-ink:#97d9b1;--good-soft:#1d3a2b;--bad:#ef8d7a;--bad-ink:#f5a895;--bad-soft:#402621;--focus:#f0b847;--footer:#0c1617;--footer-ink:#efe7d8;--footer-muted:#a9b1ae;--footer-link:#f0c25c;--glow:#ffbe6417;--wall-l:#2a3d3f;--wall-r:#223537;--floor:#6a5134;--item:#4a3a26;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--wall:#142224;--wall-2:#0f1b1d;--paper:#1b2d2f;--field:#112022;--ply:#7d5d3a;--ply-2:#5c4328;--ply-3:#9a7a50;--ink:#f2eadc;--muted:#bab3a6;--pencil:#7f8b8a;--grid:#dce6e10d;--line:#2c4144;--line-strong:#74878a;--teal:#52bab3;--teal-deep:#3fa39d;--teal-ink:#80d2cb;--teal-soft:#1c3c3c;--on-teal:#0c1a1b;--mustard:#f0b847;--mustard-ink:#f3c66c;--mustard-soft:#3a3020;--good:#7ccb9c;--good-ink:#97d9b1;--good-soft:#1d3a2b;--bad:#ef8d7a;--bad-ink:#f5a895;--bad-soft:#402621;--focus:#f0b847;--footer:#0c1617;--footer-ink:#efe7d8;--footer-muted:#a9b1ae;--footer-link:#f0c25c;--glow:#ffbe6417;--wall-l:#2a3d3f;--wall-r:#223537;--floor:#6a5134;--item:#4a3a26;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}body{background:var(--wall);background-image:radial-gradient(1200px 520px at 12% -80px, var(--glow), transparent 70%);color:var(--ink);font-family:var(--text);background-repeat:no-repeat;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:var(--teal-ink);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem);font-weight:700}h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);font-weight:650}h3{font-size:1.15rem;font-weight:600}p{margin:0 0 1em}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15em;height:1.15em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.offscreen{position:fixed;top:0;left:-9999px}.skip-link{z-index:50;background:var(--teal);color:var(--on-teal);border-radius:8px;padding:10px 16px;font-weight:600;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}.ply-band{background:linear-gradient(to bottom, var(--ply-3) 0 2px, var(--ply) 2px 4px, var(--ply-2) 4px 5px, var(--ply) 5px 7px, var(--ply-2) 7px 8px, var(--ply-3) 8px 9px);height:9px}.masthead{background:var(--wall)}.masthead__bar{align-items:center;gap:16px;min-height:72px;display:flex}.brand{min-height:44px;color:var(--ink);font-family:var(--display);letter-spacing:-.015em;align-items:center;gap:10px;font-size:1.3rem;font-weight:700;text-decoration:none;display:inline-flex}.brand__mark{width:42px;height:42px}.masthead__tag{color:var(--muted);border-left:1px solid var(--line);margin:0;padding-left:16px;font-size:.95rem}.theme-toggle{border:1.5px solid var(--line-strong);background:var(--paper);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;margin-left:auto;padding:0 14px;font-size:.92rem;display:inline-flex}.theme-toggle .tt{align-items:center;gap:6px;display:none}.theme-toggle .icon{width:1.05em;height:1.05em}:root:not([data-theme]) .tt--system,:root[data-theme=light] .tt--light,:root[data-theme=dark] .tt--dark{display:inline-flex}.site-nav ul{scrollbar-width:none;gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.site-nav ul::-webkit-scrollbar{display:none}.site-nav a{min-height:44px;color:var(--ink);white-space:nowrap;border:1.5px solid #0000;border-bottom:0;border-radius:9px 9px 0 0;align-items:center;padding:0 14px;font-weight:500;text-decoration:none;display:flex}.site-nav a:hover{background:var(--wall-2)}.site-nav a[aria-current=page]{background:var(--paper);border-color:var(--line-strong);box-shadow:inset 0 3px 0 var(--mustard);font-weight:650}.hero{isolation:isolate;padding:34px 0 18px;position:relative}.hero:before{content:"";z-index:-1;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);pointer-events:none;background-position:-1px -1px;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.hero__inner{grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:32px;display:grid}.hero__inner--slim{grid-template-columns:minmax(0,1fr) 96px}.hero__art .hero-art{aspect-ratio:340/300;width:260px;height:auto}.hero__art .room-icon{width:96px;height:96px}.kicker{color:var(--mustard-ink);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 10px;font-size:.9rem;font-weight:600;display:inline-flex}.kicker:before,.kicker:after{content:"";border-left:1.5px solid var(--pencil);border-right:1.5px solid var(--pencil);background:linear-gradient(var(--pencil), var(--pencil)) center / 100% 1.5px no-repeat;width:26px;height:9px}.lead{color:var(--muted);max-width:62ch;margin-bottom:0;font-size:1.15rem}.hero--slim .lead,.hero--tool .lead{margin-bottom:0}.tool{padding-top:8px;padding-bottom:24px}.tool-card{background:var(--paper);border:1.5px solid var(--line-strong);border-radius:var(--radius);box-shadow:7px 7px 0 var(--ply), 7px 7px 0 1.5px var(--ply-2);margin-right:8px;padding:24px}.tool-card--split{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:28px;display:grid}.calc__top{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;display:flex}.hint{color:var(--muted);margin:0;font-size:.88rem}.group{border:0;border-top:1.5px dashed var(--line);min-width:0;margin:0;padding:12px 0 4px}.group legend{font-family:var(--display);padding:0 8px 0 0;font-size:1rem;font-weight:600}.opt{color:var(--muted);font-family:var(--text);font-size:.85rem;font-weight:400}.fields{gap:0 12px;display:grid}.fields--2{grid-template-columns:repeat(2,minmax(0,1fr))}.fields--3{grid-template-columns:repeat(3,minmax(0,1fr))}.fields--legs{grid-template-columns:auto auto;justify-content:start;align-items:center;gap:0 20px}.field{min-width:0;margin-bottom:6px}.field>label,.mini>label{margin-bottom:4px;font-size:.93rem;font-weight:600;display:block}.field--inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field--inline>label{margin:0}.field--inline .field-error{flex-basis:100%}.help{color:var(--muted);margin:3px 0 0;font-size:.84rem;line-height:1.35}.field-error{min-height:0;color:var(--bad-ink);margin:2px 0 0;font-size:.84rem;font-weight:600}.field-error:empty{display:none}.input{border:1.5px solid var(--line-strong);background:var(--field);width:100%;min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;border-radius:7px;padding:8px 12px}.input::placeholder{color:var(--muted);opacity:.85}.input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.input[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}.input--short{width:8.5em}.with-unit:has(>.input--short){width:8.5em}.with-unit>.input--short{width:100%}.with-unit{position:relative}.with-unit .input{padding-right:40px}.with-unit.input--short,.field--inline .with-unit{width:8.5em}.suffix{color:var(--muted);pointer-events:none;font-size:.9rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.check{cursor:pointer;align-items:center;gap:9px;min-height:44px;font-weight:500;display:inline-flex}.check input{width:20px;height:20px;accent-color:var(--teal);margin:0}.seg{border:1.5px solid var(--line-strong);background:var(--field);border-radius:999px;padding:3px;display:inline-flex}.seg input{opacity:0;width:1px;height:1px;position:absolute}.seg label{cursor:pointer;min-height:36px;color:var(--muted);border-radius:999px;align-items:center;padding:0 14px;font-size:.92rem;font-weight:600;display:inline-flex}.seg input:checked+label{background:var(--teal);color:var(--on-teal)}.seg input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}.actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.btn{border:1.5px solid var(--line-strong);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn .icon{width:1.05em;height:1.05em}.btn:hover{background:var(--wall-2)}.btn--primary{background:var(--teal);border-color:var(--teal-deep);color:var(--on-teal);box-shadow:0 3px 0 var(--teal-deep)}.btn--primary:hover{background:var(--teal-deep)}.btn--primary:active{box-shadow:0 1px 0 var(--teal-deep);transform:translateY(2px)}.btn--quiet{border-color:var(--line);background:0 0}.btn--ghost{color:var(--teal-ink);background:0 0;border-color:#0000}.btn--sm{min-height:40px;padding:0 12px;font-size:.9rem}.result{min-width:0}.result-h{margin:18px 0 8px;font-size:1.05rem;font-weight:600}.verdict{background:var(--good-soft);border-left:6px solid var(--good);border-radius:8px;padding:12px 16px}.verdict--turn{background:var(--mustard-soft);border-left-color:var(--mustard)}.verdict--no{background:var(--bad-soft);border-left-color:var(--bad)}.verdict__head{font-family:var(--display);align-items:flex-start;gap:8px;margin:0 0 4px;font-size:1.3rem;font-weight:650;line-height:1.25;display:flex}.verdict__head .icon{color:var(--good-ink);margin-top:.12em}.verdict--turn .verdict__head .icon{color:var(--mustard-ink)}.verdict--no .verdict__head .icon{color:var(--bad-ink)}.verdict__sub{margin:0;font-size:.97rem}.tape-wrap{margin:14px 0 6px}.tape{aspect-ratio:560/76;width:100%;height:auto;overflow:visible}.tape-body{fill:var(--mustard);stroke:#a8771a;stroke-width:1px}.tape-band--spare,.tape-band--good{fill:var(--teal);opacity:.32}.tape-band--over,.tape-band--bad{fill:var(--bad);opacity:.45}.tape-band--tight{fill:#fff4d6;opacity:.5}.tape-tick{stroke:#2b2c2e;stroke-width:1px}.tape-tick--major{stroke-width:1.5px}.tape-num,.tape-unit{fill:#2b2c2e;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.tape-unit{font-size:12px;font-weight:500}.tape-hook{fill:#6f7377}.tape-mark{stroke-width:2px;stroke:var(--ink)}.tape-mark--door{stroke:var(--teal);stroke-width:2.5px}.tape-mark--bad{stroke:var(--bad)}.tape-mark--good,.tape-mark--need{stroke:var(--ink)}.tape-label{fill:var(--ink);font-size:14px;font-weight:600}.tape-label--door{fill:var(--teal-ink)}.tape-label--bad{fill:var(--bad-ink)}.figs{gap:12px;display:grid}.figs--two{grid-template-columns:repeat(2,minmax(0,1fr))}.fig{margin:0}.fig figcaption{color:var(--muted);text-align:center;margin-top:4px;font-size:.85rem}.fig-frame{background:var(--wall);border:1px solid var(--line);border-radius:8px;padding:6px}.fig-frame--door .fig-svg{aspect-ratio:280/300;max-height:300px;margin:0 auto}.figs--two .fig-frame--door .fig-svg{max-height:260px}.fig-frame--turn .fig-svg{aspect-ratio:280/260;max-height:260px;margin:0 auto}.fig-frame--wall .fig-svg{aspect-ratio:640/180;width:100%}.fig-svg{width:100%;height:auto;overflow:visible}.door-wall{fill:var(--wall-r)}.door-opening{fill:var(--paper)}.door-jamb{fill:var(--ply);stroke:var(--ply-2);stroke-width:1px}.door-floor{stroke:var(--ink);stroke-width:2px}.piece{stroke-width:2px;stroke-linejoin:round}.piece--ok{fill:var(--teal);fill-opacity:.28;stroke:var(--teal)}.piece--bad{fill:var(--bad);fill-opacity:.22;stroke:var(--bad);stroke-dasharray:6 4}.piece-bounds{fill:none;stroke:var(--pencil);stroke-dasharray:3 3}.piece-note{fill:var(--muted);font-size:11px}.dim-line,.dim-tick{stroke:var(--pencil);stroke-width:1.2px}.dim-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.hall-floor{fill:var(--paper)}.hall-wall{fill:none;stroke:var(--ink);stroke-width:4px;stroke-linecap:square}.ways,.tips,.flags{margin:0;padding:0;list-style:none}.way,.flag{border-bottom:1px dashed var(--line);align-items:flex-start;gap:8px;padding:7px 0;font-size:.95rem;line-height:1.45;display:flex}.way .icon,.flag .icon{margin-top:.15em}.way--ok .icon,.flag--ok .icon{color:var(--good-ink)}.way--turn .icon,.flag--note .icon{color:var(--mustard-ink)}.way--no .icon,.flag--problem .icon{color:var(--bad-ink)}.tips li{padding:4px 0 4px 22px;font-size:.95rem;line-height:1.45;position:relative}.tips li:before{content:"";border:2px solid var(--mustard);border-radius:2px;width:9px;height:9px;position:absolute;top:.75em;left:3px;transform:rotate(45deg)}.result-note,.result-empty{color:var(--muted);margin:10px 0 0;font-size:.92rem}.result-error{color:var(--bad-ink);background:var(--bad-soft);border-radius:8px;padding:10px 14px;font-weight:600}.content{padding-top:24px;padding-bottom:8px}.content>*,.sources>*{max-width:860px}.content h3{margin-top:1.2em}.content ul,.content ol{padding-left:1.3em}.content li{margin-bottom:.35em}.prose{padding-bottom:40px}.prose>*{max-width:760px}.sources{padding-top:8px;padding-bottom:12px}.sources h2{font-size:1.15rem}.sources ul{border-left:2px solid var(--pencil);color:var(--muted);margin:0;padding:0 0 0 16px;font-size:.92rem;list-style:none}.sources li{margin-bottom:.5em}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 0 1em;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.93rem}caption{text-align:left;color:var(--muted);padding-bottom:6px;font-size:.85rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}thead th{border-bottom:2px solid var(--ink);font-family:var(--display);white-space:nowrap;font-weight:600}td .alt,.marks .alt{color:var(--muted);font-size:.82rem;display:block}.marks .mark{color:var(--teal-ink);font-weight:700}.callout{border:1.5px dashed var(--ply-2);border-radius:var(--radius);background:var(--mustard-soft);align-items:flex-start;gap:14px;margin:20px 0;padding:16px 18px;display:flex}.callout>.icon{width:26px;height:26px;color:var(--mustard-ink);margin-top:2px}.callout p{margin:0 0 .5em}.callout p:last-child{margin-bottom:0}.dimline{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin:28px 0 6px;font-size:.8rem;display:flex}.dimline:before,.dimline:after{content:"";background:linear-gradient(var(--pencil), var(--pencil)) center / 100% 1px no-repeat;flex:1;height:11px}.dimline:before{border-left:1.5px solid var(--pencil)}.dimline:after{border-right:1.5px solid var(--pencil)}.section{padding-top:24px;padding-bottom:24px}.section-head{margin-bottom:16px}.section-head p{color:var(--muted);margin:0}.toolgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.toolgrid a{border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);height:100%;color:var(--ink);box-shadow:4px 4px 0 var(--ply);grid-template-rows:auto 1fr;grid-template-columns:64px 1fr;gap:2px 14px;padding:16px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid}.toolgrid a:hover{box-shadow:6px 6px 0 var(--ply);transform:translate(-2px,-2px)}.glyph{grid-row:span 2}.room-icon{width:64px;height:64px}.toolgrid h3{margin:2px 0;font-size:1.08rem}.toolgrid p{color:var(--muted);margin:0;font-size:.93rem;line-height:1.45}.recs{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.rec{border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);box-shadow:4px 4px 0 var(--ply);flex-direction:column;align-items:flex-start;padding:20px;display:flex}.rec__label{background:var(--teal-soft);color:var(--teal-ink);border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-block}.rec p{color:var(--muted);flex:1}.faq{border-top:1.5px solid var(--line);max-width:860px}.faq details{border-bottom:1.5px solid var(--line)}.faq summary{cursor:pointer;min-height:52px;font-family:var(--display);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:1.05rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{color:var(--mustard-ink);transition:transform .2s}.faq details[open] summary .icon{transform:rotate(180deg)}.faq details>div{color:var(--muted);padding:0 0 12px}.link-list{gap:4px;margin:16px 0 0;padding:0;list-style:none;display:grid}.link-list a{align-items:center;min-height:44px;font-weight:600;display:inline-flex}.gap-options{flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:8px;display:flex}.gaps{margin:0;padding:0;list-style:none}.gap-row{border-top:1.5px dashed var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10px 20px;padding:14px 0;display:grid}.gap-row[hidden]{display:none}.gap-row__in>label{margin-bottom:4px;font-weight:600;display:block}.gap-row__in .with-unit{max-width:11em}.gap-row__extra{margin-top:8px}.gap-row__extra label{color:var(--muted);margin-bottom:2px;font-size:.85rem;display:block}.gap-row__extra select{max-width:17em;min-height:40px;font-size:.93rem}.gap-verdict{min-width:0}.pill{border-radius:999px;align-items:center;gap:6px;margin:0 0 4px;padding:3px 12px 3px 9px;font-size:.9rem;font-weight:700;display:inline-flex}.pill--comfortable{background:var(--good-soft);color:var(--good-ink)}.pill--tight{background:var(--mustard-soft);color:var(--mustard-ink)}.pill--too-tight{background:var(--bad-soft);color:var(--bad-ink)}.meter{aspect-ratio:320/36;width:100%;max-width:420px;height:auto;overflow:visible}.zone--bad{fill:var(--bad);opacity:.35}.zone--tight{fill:var(--mustard);opacity:.55}.zone--good{fill:var(--good);opacity:.35}.zone--far{fill:var(--paper);opacity:.45}.meter-tick{stroke:var(--ink);stroke-width:1px;opacity:.45}.meter-fig{stroke:var(--ink);stroke-width:1.5px}.meter-pin{fill:var(--ink)}.meter-pin-line{stroke:var(--ink);stroke-width:2px}.meter-label{fill:var(--ink);font-size:11px;font-weight:700}.gap-note{color:var(--muted);margin:2px 0 0;font-size:.86rem;line-height:1.4}.gap-empty{color:var(--muted);margin:8px 0 0;font-size:.9rem}.tally{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tally__item{border-radius:8px;align-items:baseline;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex}.tally__n{font-family:var(--display);font-size:1.4rem;font-weight:700}.tally__item--comfortable{background:var(--good-soft);color:var(--good-ink)}.tally__item--tight{background:var(--mustard-soft);color:var(--mustard-ink)}.tally__item--too-tight{background:var(--bad-soft);color:var(--bad-ink)}.summary-line{color:var(--muted);margin:0}.gap-summary{border-top:1.5px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:14px;display:flex}.light-head{background:var(--mustard-soft);border-left:6px solid var(--mustard);border-radius:8px;padding:14px 16px}.light-big{font-family:var(--display);margin:0;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem);font-weight:700;line-height:1.15}.light-sub{margin:4px 0 0;font-weight:600}.bulbs{flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;margin:14px 0;display:flex}.bulb{width:24px;height:32px}.bulb__glass{fill:var(--mustard);stroke:var(--ink);stroke-width:1.5px}.bulb--maybe .bulb__glass{fill:#0000;stroke-dasharray:3 2}.bulb__base{fill:none;stroke:var(--ink);stroke-width:1.8px;stroke-linecap:round}.bulb-more{color:var(--muted);font-weight:700}.facts{gap:8px;margin:0;display:grid}.facts div{border-bottom:1px dashed var(--line);grid-template-columns:7.5em 1fr;gap:10px;padding-bottom:8px;display:grid}.facts dt{color:var(--muted);font-weight:600}.facts dd{margin:0}.wall-face{fill:var(--wall-r)}.wall-end{stroke:var(--ply-2);stroke-width:4px}.wall-item{fill:var(--paper);stroke:var(--ink);stroke-width:2px}.centre-mark{stroke:var(--bad);stroke-width:2px}.centre-tick{stroke:var(--ink);stroke-width:1.5px}.centre-num{fill:var(--ink);font-size:16px;font-weight:700}.fig-frame--wall .dim-label{font-size:15px}.rows{gap:6px;margin:0;padding:0;list-style:none;display:grid}.rows li{align-items:flex-end;gap:8px;display:flex}.rows .field{flex:1;margin:0}.hang{background:var(--teal-soft);border-radius:8px;margin:14px 0 0;padding:12px 14px}[data-when][hidden]{display:none}.planner{grid-template:"side stage""side list"1fr/330px minmax(0,1fr);align-items:start;gap:0 24px;display:grid}.planner__side{grid-area:side;min-width:0}.planner__stage{grid-area:stage;min-width:0}.planner__list{grid-area:list;min-width:0}.plan-stage{aspect-ratio:4/3;background:var(--wall-2);border:1.5px solid var(--line);border-radius:8px;position:relative;overflow:hidden}.plan-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.plan-floor{fill:var(--paper)}.grid{stroke:var(--pencil);stroke-width:.6px;opacity:.35;vector-effect:non-scaling-stroke}.grid--major{opacity:.7}.wall{stroke:var(--ink);stroke-width:6px;stroke-linecap:square;vector-effect:non-scaling-stroke}.window{stroke:var(--teal);stroke-width:6px;vector-effect:non-scaling-stroke}.door-swing{fill:var(--mustard);fill-opacity:.16;stroke:var(--mustard-ink);stroke-width:1.2px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.door-swing--out{fill:none}.door-leaf{stroke:var(--mustard-ink);stroke-width:3px;vector-effect:non-scaling-stroke}.zone{vector-effect:non-scaling-stroke}.zone--ok{fill:var(--good);fill-opacity:.14;stroke:var(--good);stroke-opacity:.6;stroke-dasharray:3 3;stroke-width:1px}.zone--short{fill:var(--bad);fill-opacity:.2;stroke:var(--bad);stroke-dasharray:3 3;stroke-width:1.2px}.zone--spare{fill:none;stroke:var(--pencil);stroke-dasharray:2 4;stroke-width:1px}.turning{fill:var(--teal);fill-opacity:.08;stroke:var(--teal);stroke-dasharray:6 4;stroke-width:1.5px;vector-effect:non-scaling-stroke}.pl-item{cursor:grab;touch-action:none;outline:none}.pl-item:active{cursor:grabbing}.pl-item__body{fill:var(--item);stroke:var(--ink);stroke-width:1.5px;vector-effect:non-scaling-stroke}.pl-item--bed .pl-item__body{fill:var(--teal-soft)}.pl-item--sofa .pl-item__body{fill:var(--mustard-soft)}.pl-item--desk .pl-item__body,.pl-item--table .pl-item__body{fill:var(--wall-r)}.pl-item__front{fill:var(--ink);opacity:.55}.pl-item__detail{fill:var(--paper);stroke:var(--ink);stroke-width:1px;opacity:.9;vector-effect:non-scaling-stroke}.pl-item__label{fill:var(--ink);pointer-events:none;font-weight:600}.pl-item.is-tight .pl-item__body{stroke:var(--mustard-ink);stroke-width:2px}.pl-item.is-bad .pl-item__body{fill:var(--bad-soft);stroke:var(--bad);stroke-width:2.5px}.pl-item.is-selected .pl-item__body,.pl-item:focus-visible .pl-item__body{stroke:var(--teal);stroke-width:3.5px}.plan-dim{fill:var(--muted);font-weight:600}.plan-help{color:var(--muted);margin:8px 0 0;font-size:.86rem}.plan-toolbar{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.panel{border:1.5px solid var(--line);background:var(--wall);border-radius:8px;margin-bottom:14px;padding:12px 14px}.panel>h2,.panel summary{font-size:1rem;font-family:var(--display);margin:0 0 8px;font-weight:600}.panel summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.panel details[open] summary{margin-bottom:8px}.mini{min-width:0}.mini>label{color:var(--muted);margin-bottom:2px;font-size:.8rem;font-weight:600}.input--mini{min-height:40px;padding:6px 8px;font-size:.95rem}.input--name{min-height:40px;font-weight:600}.pl-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pl-row{border:1.5px solid var(--line);background:var(--paper);border-radius:8px;padding:10px}.pl-row.is-selected{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.pl-row__name{align-items:center;gap:6px;display:flex}.pl-row__fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.pl-row__acts{flex-wrap:wrap;gap:6px;display:flex}.add-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px;display:grid}.add-row .field--full{grid-column:1/-1}.windows-list{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.windows-list li{grid-template-columns:1.1fr 1fr 1fr auto;align-items:end;gap:6px;display:grid}.progress{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:14px;display:flex}.progress__bar{background:var(--wall-2);border:1.5px solid var(--line-strong);border-radius:999px;flex:220px;height:16px;overflow:hidden}.progress__fill{background:repeating-linear-gradient(90deg, var(--mustard) 0 10px, #d79a1a 10px 11px);width:0;height:100%;transition:width .3s}.progress__text{font-weight:700;font-family:var(--display);margin:0}.day-group{margin-bottom:14px}.day-group__h{border-bottom:2px solid var(--ply);justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 6px;padding-bottom:4px;font-size:1.05rem;display:flex}.day-group__range{font-family:var(--text);color:var(--muted);font-size:.85rem;font-weight:500}.days{margin:0;padding:0;list-style:none}.day{border-bottom:1px dashed var(--line);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.day input{width:22px;height:22px;accent-color:var(--teal);cursor:pointer;flex:none;margin:3px 0 0}.day label{cursor:pointer;gap:1px;display:grid}.day__n{color:var(--mustard-ink);letter-spacing:.03em;text-transform:uppercase;font-size:.85rem;font-weight:700}.day.is-done .day__task{text-decoration:line-through;-webkit-text-decoration-color:var(--pencil);text-decoration-color:var(--pencil);color:var(--muted)}.day.is-next{background:linear-gradient(90deg, var(--mustard-soft), transparent 70%);border-radius:6px;margin-left:-8px;padding-left:8px}.iso-slab-top{fill:var(--floor)}.iso-slab-l,.iso-wl-l,.iso-wr-l{fill:var(--ply)}.iso-slab-r,.iso-wl-r,.iso-wr-r{fill:var(--ply-2)}.iso-wl-top,.iso-wr-top{fill:var(--ply-3)}.iso-wl-r{fill:var(--wall-l)}.iso-wr-l{fill:var(--wall-r)}.iso-slab-top,.iso-wl-top,.iso-wr-top,.iso-wl-l,.iso-wr-r,.iso-slab-l,.iso-slab-r{stroke:var(--ply-2);stroke-width:.6px;stroke-linejoin:round}.iso-door{fill:var(--ply);stroke:var(--ply-2);stroke-width:.8px}.iso-door-panel{fill:var(--ply-3);opacity:.7}.iso-window{fill:#bfe0dc;stroke:var(--ply-2);stroke-width:.9px}.iso-window-bar{stroke:var(--ply-2);stroke-width:1.2px}.iso-frame{fill:var(--mustard);stroke:var(--ink);stroke-width:.8px}.iso-rug{fill:var(--teal);opacity:.22}.iso-sofa-top{fill:#3a9a96}.iso-sofa-l{fill:#1f7a7a}.iso-sofa-r{fill:#155c5c}.iso-table-top,.iso-lamp-base-top,.iso-pot-top{fill:var(--ply-3)}.iso-table-l,.iso-lamp-base-l,.iso-pot-l{fill:var(--ply)}.iso-table-r,.iso-lamp-base-r,.iso-pot-r{fill:var(--ply-2)}.iso-mug-top,.iso-mug-l,.iso-mug-r{fill:var(--bad)}.iso-lamp-pole-top,.iso-lamp-pole-l,.iso-lamp-pole-r{fill:#3b3d40}.iso-shade-top{fill:#fbe3a6}.iso-shade-l{fill:var(--mustard)}.iso-shade-r{fill:#c98d18}.iso-leaf{fill:#4f9a62}.iso-bed-top{fill:#f7f2ea}.iso-bed-l{fill:var(--teal)}.iso-bed-r{fill:var(--teal-deep)}.iso-pillow-top,.iso-pillow-l,.iso-pillow-r{fill:var(--mustard-soft);stroke:var(--ply-2);stroke-width:.4px}.iso-zone{fill:var(--good);opacity:.25;stroke:var(--good);stroke-dasharray:2 1.5;stroke-width:.6px}.iso-grid{stroke:var(--ply-2);stroke-width:.5px;opacity:.7}.iso-plan-a{fill:var(--teal);opacity:.75}.iso-plan-b{fill:var(--mustard);opacity:.85}.iso-dim{stroke:var(--ink);stroke-width:.9px;opacity:.7}.hero-art .iso-dim{stroke-width:1.2px}.iso-dim-label{fill:var(--muted);font-size:12px;font-weight:600}.iso-glow{fill:#ffd27a;opacity:.35}.iso-box-top{fill:#e9c58a}.iso-box-l{fill:#c99a55}.iso-box-r{fill:#a97c3e}.iso-check{stroke:var(--good);stroke-width:1.6px;stroke-linecap:round}.site-footer{background:var(--footer);color:var(--footer-ink);margin-top:48px}.site-footer .wrap{padding-top:32px;padding-bottom:28px}.footer-grid{grid-template-columns:1.3fr 1fr 1.2fr 1.2fr;gap:28px;display:grid}.footer-col h2{color:var(--footer-ink);margin-bottom:10px;font-size:1rem}.footer-col ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.footer-col a{color:var(--footer-link)}.footer-col .desc{color:var(--footer-muted);font-size:.86rem;line-height:1.4;display:block}.footer-about p{color:var(--footer-muted);margin-top:10px;font-size:.93rem}.brand--footer{color:var(--footer-ink)}.footer-bottom{color:var(--footer-muted);border-top:1px solid #ffffff24;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:16px;font-size:.9rem;display:flex}.footer-bottom p{margin:0}.footer-bottom ul{gap:18px;margin:0;padding:0;list-style:none;display:flex}.footer-bottom a{min-height:44px;color:var(--footer-ink);align-items:center;display:inline-flex}.site-footer :focus-visible{outline-color:var(--footer-link)}.toast-region{z-index:60;pointer-events:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--wall);opacity:0;border-radius:8px;padding:10px 18px;font-weight:600;transition:opacity .2s,transform .2s;transform:translateY(8px)}.toast.is-visible{opacity:1;transform:none}@media (width<=960px){.tool-card--split,.planner{grid-template-columns:minmax(0,1fr)}.planner{grid-template-rows:auto;grid-template-areas:"stage""side""list"}.planner__stage{margin-bottom:16px}.footer-grid{grid-template-columns:1fr 1fr}.masthead__tag{display:none}}@media (width<=720px){.wrap{padding-left:16px;padding-right:16px}.hero{padding:22px 0 10px}.hero__inner,.hero__inner--slim{grid-template-columns:minmax(0,1fr)}.hero__art{display:none}.tool-card{box-shadow:5px 5px 0 var(--ply), 5px 5px 0 1.5px var(--ply-2);margin-right:6px;padding:16px}.fields--3{gap:0 8px}.fields--3 .with-unit .input{padding-left:10px;padding-right:30px}.fields--3 .suffix{right:9px}.tape-num{font-size:21px}.tape-unit{font-size:18px}.tape-label{font-size:22px}.meter-label{font-size:15px}.fig-frame--wall .dim-label,.centre-num{font-size:24px}.marks{font-size:.85rem}.marks th,.marks td{padding:7px 6px}.fields--legs,.recs,.figs--two,.gap-row,.footer-grid{grid-template-columns:minmax(0,1fr)}.lead{font-size:1.05rem}.pl-row__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-stage{aspect-ratio:1}.plan-toolbar{grid-template-columns:1fr 1fr;display:grid}.brand{font-size:1.15rem}.brand__mark{width:36px;height:36px}.masthead__bar{min-height:62px}.facts div{grid-template-columns:minmax(0,1fr);gap:0}}@media (width<=480px){.marks th:nth-child(2),.marks td:nth-child(2){display:none}}@media (width<=400px){.fields--2{grid-template-columns:minmax(0,1fr)}.theme-toggle{padding:0 10px}.windows-list li{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.masthead,.site-footer,.skip-link,.toolgrid,#recommended,.actions,.plan-toolbar,.planner__side,.no-print,.callout,.faq summary .icon{display:none!important}body{color:#000;background:#fff;font-size:11pt}.tool-card{box-shadow:none;border:0;padding:0}.planner{display:block}.planner__list .pl-row__acts,.planner__list .btn{display:none!important}.plan-stage{break-inside:avoid;border:1px solid #999}.hero{padding:0 0 8px}.hero:before{display:none}.faq details>div{display:block}.day{break-inside:avoid}a{color:#000}}
