:root{--background:#f7f5ef;--foreground:#202923;--muted:#68736b;--surface:#fffdf8;--surface-soft:#f1eee6;--border:#ded9cc;--accent:#2f6f5f;--accent-strong:#245648;--accent-soft:#e4f0eb;--danger:#a84437;--shadow-soft:0 18px 40px #38312614}*{box-sizing:border-box}html,body{max-width:100vw;overflow-x:hidden}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.page-shell{width:min(1180px,100%);margin:0 auto;padding:18px 24px 72px}.topbar{min-height:42px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;font-size:14px;display:flex}.brand,.nav-links{align-items:center;display:inline-flex}.brand{color:var(--foreground);gap:10px;font-weight:700}.brand-mark{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--accent);border-radius:8px;place-items:center;font-size:12px;font-weight:700;display:grid}.nav-links{white-space:nowrap;justify-content:flex-end;gap:18px}.page-intro{max-width:760px;margin-bottom:20px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1{max-width:760px;margin-bottom:8px;font-size:40px;font-weight:700}.page-intro p{max-width:680px;color:var(--muted);margin-bottom:0;font-size:17px}.calculator-workspace{grid-template-columns:minmax(0,1.05fr) minmax(360px,.78fr);align-items:start;gap:20px;display:grid}.calculator-panel,.results-panel,.content-section{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:8px}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;display:flex}.panel-header h2{margin-bottom:4px;font-size:20px}.panel-header p{color:var(--muted);margin-bottom:0;font-size:14px}.calculator-inputs{gap:16px;padding:20px 22px 22px;display:grid}.field-grid{grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);gap:14px;display:grid}.field{gap:7px;display:grid}.field span,.field legend,.basis-field legend{color:var(--foreground);font-size:13px;font-weight:700}fieldset{border:0;min-width:0;padding:0}input,select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:46px;color:var(--foreground);border-radius:8px;outline:none;padding:10px 12px}input:focus,select:focus,summary:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent), transparent 74%);outline-offset:2px}.segmented-control{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented-control label{display:grid}.segmented-control input{opacity:0;pointer-events:none;width:1px;min-height:1px;position:absolute}.segmented-control span{min-height:40px;color:var(--muted);text-align:center;border-radius:6px;place-items:center;padding:8px 10px;font-size:13px;font-weight:700;display:grid}.segmented-control input:checked+span{background:var(--surface);color:var(--foreground);box-shadow:0 1px 5px #2023261f}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.section-heading h3{margin-bottom:3px;font-size:16px}.section-heading p,.details-body p,.result-row p,.breakdown-box p,.explanation-box p,.content-section p,.note-text{color:var(--muted)}.section-heading p,.details-body p,.result-row p,.breakdown-box p,.note-text{margin-bottom:0;font-size:14px}.room-list,.advanced-list,.adjustment-list{gap:10px;display:grid}.room-row{border:1px solid var(--border);background:color-mix(in srgb, var(--surface), var(--surface-soft) 44%);border-radius:8px;grid-template-columns:72px minmax(0,1fr) minmax(100px,.32fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.room-row.is-equal{grid-template-columns:72px minmax(0,1fr) auto}.room-index{color:var(--foreground);white-space:nowrap;font-size:14px}.compact-inline-field{gap:0}.compact-inline-field input{min-height:40px;padding-block:8px}details{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}summary{cursor:pointer;align-items:center;gap:10px;min-height:52px;padding:14px;font-weight:700;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--muted);margin-left:auto;font-weight:400}details[open] summary:after{content:"-"}.summary-hint{color:var(--muted);font-size:13px;font-weight:400}.details-body{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface), var(--surface-soft) 42%);gap:12px;min-width:0;padding:0 14px 14px;display:grid}.advanced-row,.common-grid,.shared-space-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.common-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.adjustment-body{gap:14px;overflow:hidden}.shared-space-control{grid-template-columns:minmax(180px,220px) minmax(0,1fr);align-items:end}.shared-space-control p{min-width:0;color:var(--muted);margin:0 0 8px;font-size:13px}.adjustment-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:82px minmax(58px,.55fr) minmax(112px,.95fr) minmax(88px,.75fr) minmax(88px,.75fr);align-items:end;gap:8px;min-width:0;padding:10px;display:grid}.adjustment-row h4{overflow-wrap:anywhere;min-width:0;margin:0 0 10px;font-size:14px}.compact-field{gap:5px;min-width:0}.compact-field input,.compact-field select{min-width:0;min-height:40px;padding-inline:10px}.secondary-button,.copy-button,.mobile-result-dock button{border-radius:8px;min-height:44px;font-weight:700;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--foreground)}.secondary-button:hover{border-color:color-mix(in srgb, var(--accent), var(--border) 55%);color:var(--accent-strong)}.add-room-button{justify-self:start;padding:0 14px}.text-button{min-height:32px;color:var(--muted);background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.text-button:hover{color:var(--accent-strong)}.remove-button:disabled{display:none}.copy-button{background:var(--accent);color:#fff;border:0;width:100%}.copy-button:hover{background:var(--accent-strong)}.copy-button:active,.secondary-button:active,.mobile-result-dock button:active{transform:translateY(1px)}.mobile-result-dock{display:none}.validation-box{border:1px solid color-mix(in srgb, var(--danger), transparent 48%);color:var(--danger);background:#fff8f6;border-radius:8px;gap:6px;padding:12px;font-size:14px;display:grid}.validation-box p{margin-bottom:0}.results-panel{position:sticky;top:18px;overflow:hidden}.status-pill{border:1px solid var(--border);min-height:28px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.total-card{border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--accent-soft), var(--surface));padding:20px}.total-card p{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:700}.total-card strong{font-size:40px;line-height:1.1;display:block}.result-list{display:grid}.result-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px 20px;display:grid}.result-row h3{margin-bottom:4px;font-size:16px}.result-row strong{white-space:nowrap;align-self:start;font-size:22px}.breakdown-box,.explanation-box,.empty-result,.result-action-box{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface), var(--accent-soft) 38%);gap:10px;padding:18px 20px;display:grid}.breakdown-box{background:var(--background)}.breakdown-box h3,.explanation-box h3{font-size:15px}.breakdown-box ul{color:var(--muted);gap:6px;margin:0;padding-left:18px;font-size:14px;display:grid}.explanation-box{border-bottom:0}.assumption-line{color:var(--foreground);margin:0;font-size:14px;font-weight:700}.result-details{border:0;border-radius:0}.result-details summary{min-height:46px;color:var(--foreground);padding:14px 20px;font-size:14px}.result-details .details-body{padding:0;display:block}.result-details .breakdown-box,.result-details .explanation-box{border-radius:0}.content-stack{gap:18px;max-width:920px;margin:52px auto 0;display:grid}.scenario-section{max-width:1040px;margin:44px auto 0}.scenario-heading{max-width:680px;margin-bottom:16px}.scenario-heading h2{margin-bottom:8px;font-size:28px}.scenario-heading p:not(.eyebrow){color:var(--muted);margin-bottom:0;font-size:16px}.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.scenario-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:8px;overflow:hidden}.scenario-card img{aspect-ratio:3/2;object-fit:cover;border-bottom:1px solid var(--border);width:100%;height:auto;display:block}.scenario-card div{gap:8px;padding:16px;display:grid}.scenario-card h3{margin:0;font-size:17px}.scenario-card p{color:var(--muted);margin:0;font-size:14px}.content-section{padding:26px}.content-section h2{margin-bottom:12px;font-size:24px}.faq-list{gap:10px;display:grid}.faq-list details{background:var(--surface)}.faq-list p{margin:0;padding:0 14px 14px}.sibling-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.sibling-links a{border:1px solid var(--border);background:var(--surface);min-height:116px;color:var(--foreground);border-radius:8px;padding:16px;font-weight:700}.sibling-links span{color:var(--muted);margin-top:8px;font-size:14px;font-weight:400;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:940px){.page-shell{padding:18px 18px 56px}.calculator-workspace{grid-template-columns:1fr}.results-panel{position:static}}@media (max-width:680px){.page-shell{padding:12px 12px 48px}.topbar{align-items:flex-start}.nav-links{display:none}h1{font-size:32px}.page-intro p{font-size:16px}.field-grid,.adjustment-row,.advanced-row,.common-grid,.shared-space-control,.scenario-grid,.sibling-links{grid-template-columns:1fr}input,select,.secondary-button,.copy-button{min-height:48px}.calculator-workspace{gap:14px}.calculator-panel,.results-panel,.content-section{box-shadow:0 10px 28px #38312614}.calculator-inputs{gap:14px}.section-heading{display:grid}.room-row{grid-template-columns:60px minmax(0,1fr) 84px auto;gap:8px;padding:10px}.adjustment-row{grid-template-columns:1fr;gap:10px;padding:12px}.adjustment-row h4{margin-bottom:0}.room-row.is-equal{grid-template-columns:60px minmax(0,1fr) auto}.room-index{font-size:13px}.compact-inline-field input{min-height:42px;padding-inline:10px}.add-room-button{justify-self:stretch}.mobile-result-dock{z-index:30;border:1px solid color-mix(in srgb, var(--accent), var(--border) 45%);background:color-mix(in srgb, var(--surface), white 18%);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 16px 34px #1f29232e}.mobile-result-dock a{min-width:0}.mobile-result-dock span{color:var(--accent-strong);text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.mobile-result-dock strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.2;display:block;overflow:hidden}.mobile-result-dock button{background:var(--accent);color:#fff;border:0;min-width:76px;font-size:14px}.panel-header,.calculator-inputs,.total-card,.result-row,.breakdown-box,.explanation-box,.result-action-box,.empty-result,.content-section{padding-inline:16px}.result-row{grid-template-columns:1fr}.result-row strong{justify-self:start;font-size:28px}.total-card strong{font-size:34px}.summary-hint{display:none}.scenario-section{margin-top:30px}.scenario-heading h2{font-size:24px}.scenario-card div{padding:14px}body:has(.mobile-result-dock) .page-shell{padding-bottom:116px}}
