:root {--paper:#fff;--ink:#212923;--muted:#515d55;--green:#275b43;--line:#cbd2cc;--surface:#f3f5f3;--amber:#86411f}
* {box-sizing:border-box}
body {margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select {font:inherit}button {cursor:pointer}button:disabled {cursor:not-allowed;opacity:.5}a {color:var(--green)}
.skip-link {position:absolute;left:16px;top:-100px;padding:10px;background:white;z-index:2}.skip-link:focus {top:10px}
.masthead {max-width:1160px;margin:auto;min-height:74px;display:flex;align-items:center;gap:32px;padding:0 28px;border-bottom:1px solid var(--line)}
.wordmark {color:var(--ink);font-size:21px;font-weight:740;letter-spacing:-.65px;text-decoration:none;white-space:nowrap}
.tool-tabs {display:flex;gap:22px;margin-left:24px;align-self:stretch}.tool-tabs button {color:var(--muted);background:transparent;border:0;border-bottom:3px solid transparent;padding:20px 0 17px;font-size:14px}.tool-tabs button[aria-pressed=true] {color:var(--ink);border-color:var(--green);font-weight:650}
.saved-link {margin-left:auto;font-size:13px;text-decoration:none;white-space:nowrap}
.utility-nav {margin-left:auto;display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.utility-nav a {text-decoration:none}
main {max-width:1104px;margin:auto;padding:32px 28px}.page-heading {padding:0 0 30px;max-width:790px}
h1 {font-size:clamp(28px,3vw,36px);line-height:1.18;letter-spacing:-.95px;font-weight:680;margin:0 0 12px}.page-heading p {max-width:660px;color:var(--muted);margin:0;font-size:15px}
h2 {font-size:21px;line-height:1.3;letter-spacing:-.3px;font-weight:650;margin:0 0 12px}
.workspace {display:grid;grid-template-columns:minmax(0,365px) minmax(0,1fr);gap:46px;align-items:start}.input-panel {background:var(--surface);padding:22px}.input-panel h2 {font-size:17px;margin-bottom:5px}.muted {color:var(--muted);font-size:13px;margin:0 0 17px}
.field-group {border:0;padding:0;margin:17px 0;min-width:0}.field-group+.field-group {border-top:1px solid var(--line);padding-top:16px}.group-title {font-size:13px;font-weight:650;margin:0 0 10px;padding:0}
.fields-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fields-grid.two {grid-template-columns:repeat(2,minmax(0,1fr))}
label {display:block;font-size:12px;line-height:1.4;margin-bottom:6px}input,select {width:100%;height:41px;min-width:0;border:1px solid #7c8a80;background:white;border-radius:0;padding:7px 8px;color:var(--ink);font-size:14px}input::placeholder {color:var(--muted);opacity:1}
input:focus,select:focus,button:focus-visible,a:focus-visible {outline:2px solid var(--green);outline-offset:3px}input[aria-invalid=true] {border-color:var(--amber);outline-color:var(--amber)}
.field-hint {margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.form-action {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}.form-action span {color:var(--muted);font-size:11px}
.daily-settings {border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--muted)}.daily-settings summary {cursor:pointer}.daily-settings summary span {display:block;color:var(--ink);font-size:12px;margin-bottom:4px}.check-control {display:flex;align-items:center;gap:9px;margin:18px 0 8px;font-size:13px;cursor:pointer}.check-control input {width:17px;height:17px;margin:0;flex-shrink:0;accent-color:var(--green)}[hidden] {display:none!important}.use-assumption {font-size:12px;color:var(--muted);margin:10px 0}.comparison-note {border-top:1px solid var(--line);padding-top:12px;color:var(--ink);font-size:13px}
.primary,.secondary {border:1px solid var(--green);border-radius:0;padding:9px 13px;white-space:nowrap;font-size:13px}.primary {color:white;background:var(--green);font-weight:600}.secondary {background:white;color:var(--green)}.primary:hover {background:#1d4633}.secondary:hover,.saved-card:hover {background:#edf1ed}
.output-panel {padding:2px 0 0;min-width:0}.result-heading {display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:15px}.result-heading p {font-size:13px;font-weight:650;margin:0}.status-badge {font-size:12px;color:var(--muted)}.status-badge.alert {color:var(--amber)}.output-panel>h2 {font-size:25px;letter-spacing:-.5px}.result-copy {color:var(--muted);font-size:14px;margin:0 0 20px}
.results-table {width:100%;border-collapse:collapse;font-size:15px;margin:20px 0 22px}.results-table caption {text-align:left;font-size:12px;color:var(--muted);padding-bottom:10px}.results-table th {text-align:left;font-size:12px;font-weight:500;color:var(--muted);padding:8px 4px;border-bottom:1px solid var(--line)}.results-table td {padding:15px 4px;border-bottom:1px solid #e1e5e1}.results-table th:not(:first-child),.results-table td:not(:first-child) {text-align:right}.results-table td:nth-child(2) {font-size:22px;font-weight:650}.need {color:var(--amber);font-weight:650}.zero {color:var(--muted)}
.cycle-view {margin:22px 0}.cycle-view>figcaption {font-size:13px;font-weight:600;margin-bottom:9px}.cycle-strip {display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.cycle-strip li {border-left:3px solid #aab9ae;background:var(--surface);padding:8px 13px;color:var(--muted);font-size:12px}.cycle-strip li:first-child {border-color:var(--green);color:var(--ink)}.cycle-strip strong {display:block;font-size:13px;font-weight:600}
.scope-note {border-left:3px solid #aab9ae;padding:2px 0 2px 12px;font-size:12px;color:var(--muted);line-height:1.6;margin:17px 0}.assumptions {font-size:12px;color:var(--muted);margin-top:18px}.assumptions summary {cursor:pointer;font-size:13px;color:var(--ink)}.assumptions ul {padding-left:18px}
.save-block {border-top:1px solid var(--line);margin-top:23px;padding-top:18px}.save-row {display:flex;gap:8px}.save-row input {flex:1}.small {font-size:11px;color:var(--muted);line-height:1.5;margin:8px 0 0}#save-intent {overflow-wrap:anywhere}
.layout-view {margin:18px 0}.layout-view svg {width:100%;height:auto;display:block;background:#f7f8f7}.layout-view svg text {fill:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px}.layout-legend {display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:8px}.layout-legend span {display:inline-flex;align-items:center;gap:6px}.legend-desk {width:13px;height:10px;background:#e6ebe6;border:1px solid #78847b}.legend-zone {width:13px;height:10px;background:#d0ddd3;border:1px solid var(--green)}.diagram-caption {font-size:11px;color:var(--muted);margin:8px 0 0}
.measurements {display:grid;grid-template-columns:1fr 1fr;gap:20px}.measure {padding:10px 0;border-top:1px solid var(--line)}.measure span {display:block;color:var(--muted);font-size:12px}.measure strong {font-size:25px;font-weight:650}.measure small {font-size:13px}.error-list {color:var(--amber);font-size:13px;padding-left:20px}
.worked-example {display:grid;grid-template-columns:1.2fr 1fr;gap:46px;border-top:1px solid var(--line);margin-top:35px;padding:25px 0}.example-label {font-size:12px;color:var(--muted);margin:0 0 9px}.guide-copy h2 {font-size:20px}.guide-copy p:not(.example-label) {color:var(--muted);margin:0;font-size:14px}.example-values table {width:100%;border-collapse:collapse;font-size:13px;margin-bottom:15px}.example-values th {font-weight:500;color:var(--muted);text-align:left;padding:6px 0}.example-values td {padding:8px 0;border-top:1px solid var(--line)}.example-values th:last-child,.example-values td:last-child {text-align:right;padding-left:8px}
.saved-section {border-top:1px solid var(--line);padding-top:24px}.section-heading {display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.section-heading h2 {font-size:19px}.text-button {border:0;background:transparent;color:var(--green);font-size:12px;padding:8px 0}.saved-list {display:block}.saved-card {display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border:0;border-top:1px solid #e1e5e1;padding:13px 0;background:white;color:var(--ink);text-align:left}.saved-card strong {display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.saved-card span {font-size:12px;color:var(--muted)}.saved-card .saved-open {color:var(--green);margin-right:6px}.empty {color:var(--muted);font-size:13px}
.footer {border-top:1px solid var(--line);margin-top:26px;padding-top:16px;color:var(--muted);font-size:11px}.footer p {margin:0 0 4px}
.plan-data-view {font-size:12px;color:var(--muted);margin:0 0 14px}.plan-data-view summary {cursor:pointer;color:var(--green)}.plan-data-view textarea {display:block;width:100%;height:160px;margin-top:8px;border:1px solid #7c8a80;padding:10px;resize:vertical;font:12px/1.5 ui-monospace,monospace;color:var(--ink)}
.quick-count {display:none}#result-title:focus {outline:2px solid var(--green);outline-offset:6px}
.reading-nav {display:flex;gap:24px;margin-left:auto;font-size:14px}.reading-nav a {text-decoration:none}.reading-main {padding-top:48px;padding-bottom:44px}.article-heading {max-width:780px;margin-bottom:36px}.article-heading h1 {font-size:clamp(32px,4.5vw,46px);max-width:750px;line-height:1.13;letter-spacing:-1.2px}.article-deck {font-size:18px;color:var(--muted);max-width:660px;margin:16px 0 0;line-height:1.55}.article-layout {display:grid;grid-template-columns:minmax(0,660px) minmax(180px,1fr);gap:64px;align-items:start}.article-prose {max-width:660px;font-size:17px;line-height:1.75;min-width:0}.article-prose p {margin:0 0 22px}.article-prose h2 {font-size:25px;line-height:1.3;margin:40px 0 15px;scroll-margin-top:24px}.article-prose h3 {font-size:18px;margin:23px 0 8px}.article-prose ul,.article-prose ol {padding-left:23px;margin:0 0 24px}.article-prose li {padding-left:4px;margin:8px 0}.article-prose table {width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}.article-prose caption {text-align:left;color:var(--muted);font-size:13px;margin-bottom:9px}.article-prose th,.article-prose td {text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:top}.article-prose th {font-weight:600}.article-toc {position:sticky;top:24px;border-left:1px solid var(--line);padding-left:22px;font-size:13px;color:var(--muted)}.article-toc p {margin:0 0 12px;font-weight:600;color:var(--ink)}.article-toc ol {list-style:none;padding:0;margin:0}.article-toc li {margin-bottom:12px;line-height:1.5}.article-toc a {text-decoration:none}.article-toc a:hover,.reading-nav a:hover,.utility-nav a:hover {text-decoration:underline}.calculator-cta {margin:30px 0!important}.calculator-cta a {display:inline-block;text-decoration:none;white-space:normal}.shopping-check {border-top:1px solid var(--line);padding-top:6px;margin-top:38px}.shopping-check h2 {margin-top:22px}.merchant-link {text-underline-offset:4px}.affiliate-note {font-size:13px;color:var(--muted)}.guide-index {margin:18px 0 42px;max-width:760px}.guide-index-row {display:block;text-decoration:none;color:var(--ink);padding:20px 0;border-top:1px solid var(--line)}.guide-index-row h3 {font-size:21px;line-height:1.3;letter-spacing:-.35px;margin:0 0 7px}.guide-index-row p {font-size:14px;color:var(--muted);margin:0 0 10px;max-width:660px}.guide-index-row>span {color:var(--green);font-size:13px}.guide-index-row:hover h3 {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.related-guides {border-top:1px solid var(--line);padding:24px 0 10px}.related-guides .section-heading>a {font-size:12px;text-decoration:none}#related-guides {display:grid;grid-template-columns:1fr 1fr;gap:32px}.related-guides .guide-index-row {border-top:0;padding:15px 0}.related-guides h3 {font-size:18px}.site-footer {margin-top:48px}
@media(max-width:900px) {.article-layout {gap:36px;grid-template-columns:minmax(0,1fr) 200px}}
@media(max-width:780px) {.reading-nav {gap:18px;font-size:13px}.reading-main {padding-top:30px}.article-heading {margin-bottom:28px}.article-heading h1 {font-size:34px;letter-spacing:-.8px}.article-deck {font-size:16px}.article-layout {display:flex;flex-direction:column;gap:24px}.article-toc {position:static;order:-1;width:100%;border-left:0;border-bottom:1px solid var(--line);padding:0 0 12px}.article-toc ol {display:flex;gap:10px 20px;flex-wrap:wrap}.article-toc li {margin:0}.article-prose {font-size:16px}.article-prose h2 {font-size:23px}.article-prose table {font-size:13px}.utility-nav {gap:15px;font-size:12px}#related-guides {grid-template-columns:1fr;gap:0}}
@media(max-width:780px) {.quick-count {display:block;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:18px;font-size:13px}.quick-count p {margin:0 0 4px}.quick-count a {font-size:12px}}
@media(max-width:780px) {.masthead {gap:20px;padding:15px 22px 0;flex-wrap:wrap}.wordmark {font-size:20px}.tool-tabs {order:3;margin-left:0;width:100%;gap:25px}.tool-tabs button {padding:9px 0 12px}.saved-link {font-size:12px}main {padding:25px 22px}h1 {font-size:29px;letter-spacing:-.6px}.page-heading {padding-bottom:23px}.workspace {grid-template-columns:minmax(0,1fr);gap:27px}.input-panel {padding:18px}.fields-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.fields-grid.two {grid-template-columns:repeat(2,minmax(0,1fr))}.worked-example {grid-template-columns:minmax(0,1fr);gap:18px;margin-top:27px}}
@media(max-width:450px) {.fields-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.save-row {flex-wrap:wrap}.save-row input {flex-basis:190px}.results-table {font-size:13px}.results-table th {font-size:11px}}
