@font-face{font-family:Archivo Black;src:url(/fonts/archivo-black.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Commissioner;src:url(/fonts/commissioner.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--bg:#f5f7f6;--surface:#fff;--surface-2:#edf2ef;--text:#1f2327;--muted:#59655f;--line:#d7dfda;--accent:#255d48;--accent-bg:#e4eee8;--coin:#80601b;--danger:#a92b28;--focus:#b4760c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#141b18;--surface:#1b2620;--surface-2:#25342b;--text:#eaf0eb;--muted:#b6c4ba;--line:#3c5043;--accent:#91d5af;--accent-bg:#263e30;--coin:#e3c473;--danger:#ffb1a8;--focus:#f4cf82;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Commissioner,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--accent);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}img{max-width:100%;height:auto}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.035em;font-family:Archivo Black,sans-serif;font-size:clamp(30px,3.8vw,48px);font-weight:400;line-height:1.1}h2{letter-spacing:-.02em;margin-bottom:16px;font-size:23px;line-height:1.3}h3{margin-bottom:10px;font-size:19px;line-height:1.4}h4{margin:24px 0 10px;font-size:16px}p{margin-bottom:18px}svg{flex-shrink:0}.skip-link{z-index:100;background:var(--surface);padding:12px;position:absolute;top:-100px;left:15px}.skip-link:focus{top:10px}.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;position:relative}.header-inner{align-items:center;gap:28px;max-width:1240px;min-height:76px;margin:0 auto;padding:12px 32px;display:flex}.brand{color:var(--text);letter-spacing:-.04em;white-space:nowrap;align-items:center;gap:10px;font-size:25px;font-weight:700;text-decoration:none;display:flex}.brand-light{font-weight:500}.brand img{border-radius:7px}.main-navigation{align-items:center;gap:10px;margin-left:auto;display:flex}.nav-item{color:var(--muted);background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;min-height:44px;padding:10px 13px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.nav-item:hover,.nav-item.active,.nav-item[aria-expanded=true]{color:var(--accent);background:var(--accent-bg)}.nav-group{position:relative}.chevron{margin-left:3px}.dropdown{background:var(--surface);border:1px solid var(--line);border-radius:6px;min-width:235px;padding:6px;position:absolute;top:calc(100% + 12px);left:0;box-shadow:0 12px 24px #00000013}.dropdown[hidden]{display:none}.dropdown a{color:var(--text);border-radius:3px;padding:11px 13px;text-decoration:none;display:block}.dropdown a:hover,.dropdown a[aria-current]{background:var(--surface-2);color:var(--accent)}.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.icon-button:hover{background:var(--surface-2)}.theme-toggle{flex-shrink:0;margin-left:0}.mobile-menu{display:none}.page-shell{max-width:1240px;margin:auto;padding:36px 32px 60px}.home-heading{justify-content:space-between;align-items:center;gap:36px;padding:14px 0 32px;display:flex}.home-heading h1{margin-bottom:17px;font-size:clamp(34px,4vw,50px)}.home-heading h1 span{color:var(--accent)}.home-heading p{max-width:600px;color:var(--muted);margin:0;font-size:18px;line-height:1.5}.home-diagram{width:37%;min-width:290px}.breadcrumbs{color:var(--muted);gap:10px;margin:0 0 26px;font-size:13px;display:flex}.breadcrumbs span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-heading{max-width:860px;margin:0 0 28px}.page-heading h1{margin-bottom:20px}.page-heading>p{color:var(--muted);margin:0;font-size:18px}.content-diagram{width:100%;max-width:900px;margin:20px 0 30px;display:block}.workspace-toolbar{border-top:2px solid var(--accent);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;padding:15px 0 18px;display:flex}.workspace-label{font-size:18px;font-weight:600}.button{border:1px solid var(--accent);background:var(--surface);min-height:44px;color:var(--accent);border-radius:5px;justify-content:center;align-items:center;gap:10px;padding:10px 17px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-bg)}.button.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}.button.primary:hover{filter:brightness(.92)}.secondary{border-color:var(--line);color:var(--text)}.text-button{text-underline-offset:3px;color:var(--accent);background:0 0;border:0;min-height:44px;padding:10px 0;font-size:14px;text-decoration:underline}.planner-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:26px;display:grid}.planner-inputs,.planner-output{min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-bottom:24px;padding:25px}.section-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.count{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.grid-two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;margin-bottom:17px;display:flex}.field>span,.field>label{color:var(--text);font-size:13px;font-weight:600}input:not([type=checkbox]),select,textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:4px;min-width:0;min-height:44px;padding:10px 12px}input[type=number]{font-variant-numeric:tabular-nums}textarea{resize:vertical;font-family:monospace;font-size:12px}.segmented{background:var(--surface-2);border-radius:5px;gap:4px;margin:0 0 22px;padding:4px;display:flex}.segmented button{min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:3px;flex:1;padding:8px 10px;font-size:14px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--accent);border-color:var(--line)}.subtle{color:var(--muted);font-size:14px;line-height:1.55}.field p.subtle{margin:0}.empty-state{border-top:1px dashed var(--line);padding:16px 0 6px}.empty-state p{margin-bottom:8px}.editor-row,.tag-row{border:1px solid var(--line);border-radius:4px;min-width:0;margin:24px 0;padding:16px}.editor-row legend,.tag-row legend{color:var(--muted);padding:0 7px;font-size:13px;font-weight:600}.row-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.check{cursor:pointer;align-items:center;gap:9px;min-height:40px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.card-selection{border:0;min-width:0;margin:8px 0;padding:8px 0}.card-selection legend{padding:0;font-size:13px;font-weight:600}.planner-output .panel:first-child{border-color:var(--accent)}.calculate-button{justify-content:space-between;width:100%;margin:4px 0 15px;font-size:16px}.empty-output{text-align:center;color:var(--muted);border-bottom:1px solid var(--line);padding:38px 6px}.empty-output svg{color:var(--accent);opacity:.8;margin-bottom:16px}.empty-output p{max-width:350px;margin:0 auto 10px}.feedback:not(:empty){color:var(--accent);padding:14px 0;font-size:14px}.error:empty,.tool-errors:empty{display:none}.error,.tool-errors{border:1px solid var(--danger);color:var(--danger);background:var(--surface-2);overflow-wrap:anywhere;padding:12px 16px}.notice{border:1px solid var(--line);background:var(--surface-2);margin:20px 0;padding:15px 18px}.route-result{margin:24px 0}.result-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:12px;padding-bottom:15px;display:flex}.result-heading h3{margin:0;font-size:18px}.result-target{white-space:nowrap;color:var(--accent);font-size:13px;font-weight:600}.route-metrics{grid-template-columns:1fr 1fr;gap:17px;margin:0;padding:18px 0;display:grid}.route-metrics dt{color:var(--muted);font-size:12px}.route-metrics dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:23px;font-weight:700;line-height:1.2}.route-metrics div:first-child dd{color:var(--coin)}.compact-list{padding-left:20px}.compact-list li{padding:10px 0 10px 3px}.compact-list li span{color:var(--muted);font-size:13px;display:block}.output-assumptions{border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:22px}.output-assumptions h3{color:var(--text);font-size:15px}.output-assumptions p{margin-bottom:12px;font-size:13px;line-height:1.55}.tool-actions{flex-wrap:wrap;gap:9px;margin:16px 0 20px;display:flex}.save-panel h2{font-size:18px}details{border-top:1px solid var(--line);margin-top:18px;padding:15px 0}summary{cursor:pointer;min-height:28px;font-size:14px;font-weight:600}details[open]>summary{margin-bottom:15px}.prose{overflow-wrap:break-word;max-width:900px}.prose h2{margin-top:44px}.prose h3{margin-top:26px}.prose p{max-width:72ch}.prose img{margin:24px 0;display:block}.home-help{margin-top:46px}.guide-links{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin:25px 0;display:grid}.guide-links a{border-bottom:1px solid var(--line);flex-direction:column;gap:7px;padding:20px 20px 20px 0;text-decoration:none;display:flex}.guide-links a span{color:var(--muted);font-size:14px}.guide-links a:hover strong{text-decoration:underline}.table-scroll{margin:20px 0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.data-table caption{text-align:left;color:var(--text);margin-bottom:12px;font-size:15px;font-weight:600}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.data-table thead th{background:var(--surface-2);color:var(--muted);font-size:12px}.data-table tbody th{font-weight:600}.example{border:1px solid var(--line);background:var(--surface);border-radius:5px;margin:24px 0;padding:22px 25px}.example h3{margin-top:0}.score-tool{max-width:900px}.score-tool>form>fieldset{border:0;min-width:0;margin:28px 0;padding:0}.score-tool>form>fieldset>legend{margin-bottom:16px;font-size:17px;font-weight:600}.score-results{border-top:2px solid var(--accent);margin-top:26px;padding-top:24px}.score-summary{font-size:18px}.score-figure{margin:20px 0}.score-figure svg{width:100%;max-width:600px;height:auto;color:var(--accent)}.score-comparison{padding:20px 0}.score-comparison h3{margin-top:0}.site-footer{border-top:1px solid var(--line);grid-template-columns:1.3fr 1fr;gap:20px;max-width:1240px;margin:0 auto;padding:32px;display:grid}.footer-brand{font-size:20px;font-weight:700}.site-footer p{color:var(--muted);margin:8px 0;font-size:13px}.site-footer nav{flex-wrap:wrap;place-content:start flex-end;gap:20px;font-size:14px;display:flex}.site-footer .footer-note{grid-column:1/-1;margin-top:12px;font-size:12px}.legal{max-width:780px}.not-found{min-height:45vh;padding-top:70px}.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}.consent-banner{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:25px;max-width:1000px;margin:auto;padding:20px 24px;display:flex;position:fixed;bottom:20px;left:20px;right:20px}.consent-banner p{color:var(--muted);max-width:600px;margin:6px 0 0;font-size:13px}.consent-banner .tool-actions{flex-shrink:0;margin:0}.cookie-settings{margin:0 auto 20px;padding:4px 12px;font-size:12px;display:block}@media (min-width:1000px){.planner-output{scrollbar-gutter:stable;max-height:calc(100vh - 48px);position:sticky;top:24px;overflow-y:auto}}@media (max-width:700px){.consent-banner{padding:16px;display:block;bottom:12px;left:12px;right:12px}.consent-banner .tool-actions{margin-top:14px}.consent-banner p{font-size:12px}}@media (max-width:850px){.header-inner{gap:15px;padding:12px 24px}.page-shell{padding:30px 24px 50px}.home-heading{gap:20px}.home-diagram{width:32%;min-width:230px}.planner-layout{grid-template-columns:1fr;gap:0}.planner-output{flex-direction:column;display:flex}.site-footer{padding:30px 24px}}@media (max-width:620px){h1{font-size:31px}.header-inner{gap:10px;min-height:66px;padding:10px 18px}.brand{font-size:23px}.mobile-menu{margin-left:auto;display:flex}.theme-toggle{margin-left:0}.main-navigation{background:var(--surface);border-bottom:1px solid var(--line);align-items:stretch;gap:5px;margin:0;padding:12px 18px;display:none;position:absolute;top:100%;left:0;right:0}.main-navigation.mobile-open{flex-direction:column;display:flex}.nav-item{justify-content:flex-start;width:100%}.dropdown{box-shadow:none;background:var(--surface-2);min-width:0;margin:5px 0 8px;position:static}.nav-group .chevron{margin-left:auto}.page-shell{padding:24px 18px 40px}.home-heading{padding:6px 0 25px;display:block}.home-heading h1{font-size:35px}.home-heading p{font-size:16px}.home-diagram{width:100%;min-width:0;max-width:380px;margin-top:23px;display:block}.workspace-toolbar{align-items:flex-start;gap:10px}.workspace-label{max-width:150px;font-size:15px}.workspace-toolbar .button{white-space:nowrap;padding:10px;font-size:12px}.panel{padding:20px 17px}.grid-two{gap:12px}.field>span,.field>label{font-size:12px}.field input,.field select{padding:10px;font-size:16px}.field{margin-bottom:15px}h2{font-size:21px}.segmented button{padding:8px;font-size:13px}.editor-row,.tag-row{padding:12px}.result-heading{display:block}.result-target{margin-top:8px;display:inline-block}.route-metrics dd{font-size:22px}.page-heading p{font-size:16px}.breadcrumbs{margin-bottom:22px;font-size:12px}.guide-links{grid-template-columns:1fr}.data-table{min-width:520px}.score-tool .data-table{min-width:590px}.site-footer{grid-template-columns:1fr;padding:28px 18px}.site-footer nav{justify-content:flex-start;gap:18px}.score-tool .tool-actions .button{font-size:13px}.prose .panel{overflow-x:auto}.example{padding:18px}.prose h2{margin-top:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.undo-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:15px;padding:8px 0;font-size:13px;display:flex}.table-scroll:before{content:"Scroll table horizontally to see all columns";color:var(--muted);margin-bottom:10px;font-size:12px;display:none}@media (max-width:620px){.table-scroll:before{display:block}}.feedback:empty{display:none}.table-scroll:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.ad-content-end{display:none}.ad-content-end:has(.ad-placement){flex-direction:column;align-items:center;gap:24px;width:min(1120px,100% - 40px);margin:0 auto 40px;display:flex}.ad-placement{text-align:center;width:max-content;max-width:100%;color:var(--muted)}.ad-placement iframe{border:0;margin-inline:auto;display:block}.ad-label{margin-bottom:5px;font:11px/1.2 system-ui,sans-serif;display:block}.ad-mobile{display:none}@media (max-width:767px){.ad-leaderboard{display:none}.ad-content-end:has(.ad-placement){width:calc(100% - 32px);margin-bottom:24px}.ad-mobile{z-index:30;width:100%;padding:3px 0 env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--surface);display:block;position:fixed;bottom:0;left:0}.ad-mobile .ad-label{margin-bottom:2px;font-size:9px}body:has(.ad-mobile){padding-bottom:calc(70px + env(safe-area-inset-bottom))}body:has(.ad-mobile) .consent-banner{bottom:calc(70px + env(safe-area-inset-bottom))}body:has(.ad-mobile) .cookie-settings{bottom:calc(74px + env(safe-area-inset-bottom))}}
