@font-face{font-family:Barlow;src:url(/assets/fonts/barlow-bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Figtree;src:url(/assets/fonts/figtree.ttf) format("truetype");font-weight:300 900;font-display:swap}:root{--bg:#f5f6f6;--surface:#fff;--ink:#222624;--muted:#565f5b;--accent:#b93622;--tint:#fae8e2;--line:#cbd0cd;--radius:6px;--measure:1240px;color-scheme:light}:root[data-theme=dark]{--bg:#161b19;--surface:#202723;--ink:#f1f5f2;--muted:#bbc7c0;--accent:#ff9b84;--tint:#34302b;--line:#56635b;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Figtree,Arial,sans-serif;line-height:1.6}button,input,select{font:inherit}::selection{color:var(--bg);background:var(--accent)}input,textarea{caret-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}.skip{position:absolute;left:16px;top:-100px;z-index:99}.skip:focus{top:8px;background:var(--surface);padding:12px}button{min-height:44px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:9px 14px;border-radius:var(--radius);transition:background-color .15s,border-color .15s}button:hover{background:var(--tint);border-color:var(--accent)}button:active{background:var(--tint)}button:disabled{cursor:not-allowed;opacity:.55}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}:root[data-theme=dark] .primary{color:#201813}.primary:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}.site-header,.site-footer,main{width:min(var(--measure),calc(100% - 64px));margin-inline:auto}.site-header{display:flex;align-items:center;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:800;font-size:1.35rem;white-space:nowrap}.brand svg{width:34px;height:34px;color:var(--accent)}.site-nav{display:flex;flex:1;justify-content:flex-end;gap:24px}.site-nav a{color:var(--ink);text-decoration:none;font-size:.9rem}.site-nav a[aria-current=page]{color:var(--accent);text-decoration:underline}#theme-toggle{font-size:.8rem;padding:8px 12px}.intro{padding:38px 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end}h1,h2,h3{line-height:1.08;text-wrap:balance}h1{font-family:Barlow,sans-serif;font-size:3.25rem;letter-spacing:-.015em;margin:0}h2{font-size:1.5rem;margin:0 0 18px}h3{font-size:1.125rem}p{margin:0 0 18px}.intro p{max-width:48ch;color:var(--muted);margin:0}.workbench{display:grid;grid-template-columns:400px 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);background:var(--surface)}.settings{padding:28px 28px 32px 0;border-right:1px solid var(--line);background:var(--bg)}.result{padding:28px 0 32px 32px}.group{margin:0 0 24px;border:0;padding:0;min-width:0}legend{padding:0;font-weight:700;margin:0 0 10px}label{font-weight:600;display:block;font-size:.95rem}.controls{display:flex;gap:8px;flex-wrap:wrap}.controls button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--tint)}input,select{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}input:focus,select:focus{border-color:var(--accent)}.inline-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.inline-field input{font-size:1.15rem;font-variant-numeric:tabular-nums}.time-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-fields label{font-size:.8rem}.time-fields input{font-size:1.4rem;text-align:center;font-weight:600}.hint{font-size:.85rem;color:var(--muted);margin:7px 0 0}.mode-switch{display:flex;border-bottom:1px solid var(--line);gap:6px;margin:20px 0 14px}.mode-switch button{border:0;border-radius:0;padding:9px 8px}.mode-switch button[aria-pressed=true]{box-shadow:inset 0 -2px var(--accent);color:var(--accent)}.compact-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px}.example-row{margin:20px 0 0}.example-row p{font-size:.85rem;color:var(--muted);margin-bottom:8px}.examples{display:flex;gap:8px;flex-wrap:wrap}.examples button{font-size:.8rem;padding:7px 11px}.error{color:var(--accent);font-weight:600;padding:12px 0;min-height:0}.error:empty{display:none}.result-header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:22px}.result-header h2{font-family:Barlow;font-size:2rem;margin:0}.result-header p{color:var(--muted);font-size:.9rem;margin:4px 0 0}.result-summary{display:flex;flex-wrap:wrap;gap:24px 40px;margin:0 0 24px}.result-summary div{display:flex;flex-direction:column}.result-summary dt{color:var(--muted);font-size:.85rem}.result-summary dd{margin:0;font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums}.result-summary dd small{font-size:.8rem;font-weight:400}.half-plan{padding:18px 20px;background:var(--tint);margin-bottom:24px}.half-row{display:grid;grid-template-columns:95px 1fr 78px;align-items:center;gap:14px;padding:8px 0;font-size:.85rem}.half-bar{height:9px;background:var(--line);border-radius:2px;overflow:hidden}.half-bar span{display:block;height:100%;background:var(--accent)}.half-row strong{font-size:.95rem;font-variant-numeric:tabular-nums;text-align:right}.half-plan p{font-size:.8rem;margin:12px 0 0;color:var(--muted)}.table-wrap{overflow:auto;scrollbar-color:var(--line) var(--surface)}.table-wrap.long-plan{max-height:465px}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:.95rem}th{text-align:right;color:var(--muted);font-size:.8rem;padding:10px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}th:first-child,td:first-child{text-align:left;padding-left:0}td{text-align:right;padding:10px 12px;border-bottom:1px solid var(--line)}td:last-child{font-weight:700}tbody tr:last-child{background:var(--tint)}tbody tr:last-child td:first-child{padding-left:10px}.exports{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.exports button{font-size:.85rem}.status{font-size:.85rem;color:var(--muted);min-height:1.6em;margin:10px 0 0}.method{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:48px 0}.method p{max-width:66ch;color:var(--muted)}.method h2{font-family:Barlow;font-size:2rem}.related{display:grid;gap:0}.related a{padding:16px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;color:var(--ink);text-decoration:none}.related a:hover strong{color:var(--accent);text-decoration:underline}.related strong{font-size:1.05rem}.related span{font-size:.9rem;color:var(--muted)}.article{max-width:70ch;margin:38px auto 64px}.article h1{margin:0 0 28px}.article h2{margin:36px 0 16px;line-height:1.2}.article h3{margin:26px 0 12px;line-height:1.3}.article li{margin:8px 0}.article table{margin:24px 0}.article td,.article th{text-align:left;position:static}.contact-email{overflow-wrap:anywhere}.site-footer{border-top:1px solid var(--line);padding:24px 0 32px;display:flex;justify-content:space-between;gap:24px;font-size:.85rem;color:var(--muted)}.site-footer nav{display:flex;flex-wrap:wrap;gap:20px}.site-footer a{color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){.site-header,.site-footer,main{width:calc(100% - 40px)}.intro{display:block;padding:28px 0 24px}.intro h1{font-size:2.75rem;margin-bottom:16px}.intro p{max-width:60ch}.workbench{display:block;background:transparent}.settings{border-right:0;padding:24px 0;border-bottom:1px solid var(--line)}.result{padding:24px 0 30px}.method{grid-template-columns:1fr;gap:32px;padding:36px 0}.table-wrap.long-plan{max-height:440px}.site-footer{flex-direction:column}.result-header{margin-bottom:20px}}@media(max-width:400px){.site-header,.site-footer,main{width:calc(100% - 32px)}.brand{font-size:1.2rem}.intro h1{font-size:2.5rem}.half-plan{padding:14px}.half-row{grid-template-columns:85px 1fr 70px;gap:8px}.result-summary{gap:16px 24px}.result-summary dd{font-size:1.5rem}.compact-selects{gap:8px}.exports button{flex:1 1 45%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{:root,:root[data-theme=dark]{color-scheme:light;--surface:#fff;--bg:#fff;--ink:#111;--muted:#444;--line:#999;--tint:#eee;--accent:#9b2918}body{background:#fff;color:#111}.site-header,.site-footer,.settings,.intro,.method,.exports,.status,.site-trail{display:none!important}main{width:100%;margin:0}.workbench{display:block;border:0}.result{padding:0;background:#fff}.table-wrap,.table-wrap.long-plan{max-height:none;overflow:visible}th{position:static}tr{break-inside:avoid}.half-plan{background:#eee;-webkit-print-color-adjust:exact;print-color-adjust:exact}.result-summary dd{font-size:1.4rem}.result-header h2{font-size:2rem}}.extra-form{max-width:520px;padding:24px 0}.extra-form label{display:block;margin-bottom:16px}.extra-form input,.extra-form select{width:100%;margin-top:6px}.extra-form .time-fields label{margin:0}.goal-list{margin:24px 0}.comparison-goal{padding-bottom:20px;border-bottom:1px solid var(--line)}.extra-results{padding:24px;background:var(--surface);border:1px solid var(--line);margin:8px 0 40px}.extra-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}.extra-summary div{padding-bottom:12px;border-bottom:1px solid var(--line)}.extra-summary dt{font-size:.9rem;color:var(--muted)}.extra-summary dd{margin:6px 0 0;font-size:1.3rem;font-weight:700}.extra-results table{min-width:540px}.extra-results .table-wrap{overflow:auto}.extra-method{margin-top:36px}@media(max-width:500px){.extra-results{padding:16px}.extra-summary{grid-template-columns:1fr}.article h1{font-size:2.2rem}.extra-results h2{font-size:1.6rem}}@media print{.extra-form,.extra-method,.exports{display:none}.extra-results{padding:0;border:0;background:#fff}.extra-results table{min-width:0}.extra-results .table-wrap{overflow:visible}}[data-tool=compare] .article,[data-tool=convert] .article{margin-top:32px}[data-tool=compare] .extra-form{max-width:none}[data-tool=compare] .goal-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}[data-tool=compare] .comparison-goal{margin:0}.extra-form{padding-top:12px}.extra-results h2{margin-top:0}@media(max-width:650px){[data-tool=compare] .goal-list{display:block}[data-tool=compare] .comparison-goal{margin:0 0 20px}[data-tool=compare] .extra-results table{min-width:0}[data-tool=compare] .extra-results thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[data-tool=compare] .extra-results tr{display:block;padding:16px 0}[data-tool=compare] .extra-results th{display:block;padding:0 0 12px;border:0;background:transparent;text-align:left}[data-tool=compare] .extra-results td{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border:0;text-align:right}[data-tool=compare] .extra-results td:before{content:attr(data-label);color:var(--muted);text-align:left}}@media print{[data-tool=compare] .extra-results thead{position:static;width:auto;height:auto;clip-path:none}[data-tool=compare] .extra-results tr{display:table-row;padding:0}[data-tool=compare] .extra-results th,[data-tool=compare] .extra-results td{display:table-cell;padding:10px 8px;background:#fff;color:#111;text-align:left}[data-tool=compare] .extra-results td:before{display:none}}html{scrollbar-gutter:stable}html.mobile-menu-open{overflow:hidden}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0;min-height:44px;padding:.55rem .75rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);font:inherit;font-size:.9375rem;cursor:pointer}.mobile-menu-toggle[hidden]{display:none!important}.mobile-menu-toggle svg,.mobile-menu-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.mobile-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(22rem,calc(100vw - 1.5rem));height:100vh;max-height:100vh;height:100dvh;max-height:100dvh;max-width:none;box-sizing:border-box;padding:1.25rem;background:var(--bg);color:var(--ink);border:0;border-left:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;font:inherit;scrollbar-color:var(--line) var(--bg)}.mobile-menu[open]{animation:menu-enter .18s cubic-bezier(.16,1,.3,1)}.mobile-menu::backdrop{background:#00000073}.mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}.mobile-menu-heading h2{font:inherit;font-size:1.2rem;font-weight:650;letter-spacing:normal;line-height:1.3;margin:0}.mobile-menu-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.5rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);cursor:pointer}.mobile-menu .site-nav,.mobile-menu .tool-nav{display:flex;flex-direction:column;align-items:stretch;justify-content:start;gap:0;width:100%;max-width:none;padding:0;margin:0;border:0;font:inherit}.mobile-menu nav a{display:flex;align-items:center;min-height:48px;margin:0;padding:.8rem .2rem;border-bottom:1px solid var(--line);font:inherit;font-size:1rem;line-height:1.35;color:var(--ink);text-decoration:none;box-shadow:none;overflow-wrap:anywhere}.mobile-menu nav a:hover{background:var(--tint);color:var(--ink)}.mobile-menu nav a[aria-current=page]{color:var(--accent);font-weight:700;box-shadow:none}.mobile-menu #theme-toggle{display:block;width:100%;max-width:none;margin:1.25rem 0 .25rem;min-height:44px;padding:.7rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);font:inherit;font-size:.9375rem}.mobile-menu-toggle:hover,.mobile-menu-close:hover{background:var(--tint)}@keyframes menu-enter{0%{transform:translate(20px)}to{transform:translate(0)}}@media(max-width:60em){.site-header[data-mobile-menu-ready=true]{flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important}.site-header[data-mobile-menu-ready=true] .brand{font-size:clamp(1.125rem,4.8vw,1.7rem);white-space:normal;min-width:0}.site-header[data-mobile-menu-ready=true] .brand svg{flex-shrink:0}}@media(prefers-reduced-motion:reduce){.mobile-menu[open]{animation:none}}@media print{.mobile-menu,.mobile-menu-toggle{display:none!important}}:root{--motion-fast:.14s;--motion-state:.24s;--motion-ease:cubic-bezier(.16,1,.3,1)}button,.button,input,select,textarea,summary{transition:background-color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out,transform var(--motion-fast) var(--motion-ease)}button:not(:disabled):active,.button:active{transform:translateY(1px)}input:not([type=checkbox]):not([type=radio]):focus,textarea:focus,select:focus{box-shadow:inset 0 -2px var(--focus,var(--accent))}nav a{transition:color var(--motion-fast) ease-out,background-size var(--motion-state) var(--motion-ease);background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px}nav a:focus-visible{background-size:100% 1px}@media(hover:hover)and (pointer:fine){nav a:hover{background-size:100% 1px}button:not(:disabled):hover,.button:hover{box-shadow:0 2px 5px #0000001a}summary:hover{color:var(--accent)}}[data-needs-js][inert]:before{content:"";position:absolute;left:calc(50% - 11px);top:24px;width:22px;height:22px;border:2px solid var(--line,var(--border));border-top-color:var(--accent);border-radius:50%;z-index:2;animation:tool-loading .8s linear 8;pointer-events:none}@keyframes tool-loading{to{transform:rotate(360deg)}}@keyframes motion-status{0%{opacity:.58}to{opacity:1}}@keyframes motion-row{0%{opacity:.55;transform:translate(-7px)}to{opacity:1;transform:none}}@keyframes motion-number{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes motion-ink{0%{opacity:.6}to{opacity:1}}.motion-confirm{animation:motion-status .22s ease-out}.motion-new-row{animation:motion-row .22s var(--motion-ease)}.motion-result{animation:motion-number var(--motion-state) var(--motion-ease)}[data-motion-site=page004] progress{accent-color:var(--accent)}[data-motion-site=page001] .motion-result{animation-duration:.2s}@media(prefers-reduced-motion:no-preference){details[open]>:not(summary){animation:motion-status .18s ease-out}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}[data-needs-js][inert]:before{display:none}}
