@font-face{font-family:Doctrine;src:url('/assets/DoctrineSerif.woff') format('woff');font-display:swap}
:root{--paper:#f5f2eb;--white:#fffdf8;--ink:#233d32;--green:#1c4938;--muted:#687364;--line:#deded0;--sage:#e7edde;--copper:#a56e4b;--soft:#eeeae0;--serif:Doctrine,Georgia,serif;--shadow:0 8px 25px #1d3b2b07}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}a,button,input,select,textarea{outline-offset:4px}:focus-visible{outline:2px solid #648568}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;text-wrap:balance}h1{font-size:clamp(35px,4vw,54px);letter-spacing:-.035em}h2{font-size:30px;letter-spacing:-.02em}h3{font-size:24px}p{text-wrap:pretty}button{color:inherit}svg{display:block}button svg,a svg{flex-shrink:0}.skip{position:fixed;left:10px;top:-100px;padding:12px;background:var(--white);z-index:100}.skip:focus{top:10px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px max(28px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line);background:#f8f6ef;min-height:84px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none}.brand-mark{display:grid;place-items:center;background:var(--green);color:#f5f2de;width:40px;height:43px;border-radius:4px;font-family:var(--serif);font-size:30px}.brand strong{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase}.brand small{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:2px}.mast-actions{display:flex;align-items:center;gap:17px}.planner-badge{font-size:10px;letter-spacing:.06em;border:1px solid #d4dcc8;border-radius:30px;background:#eef2e6;padding:6px 11px;white-space:nowrap}.planner-badge i{display:inline-block;width:5px;height:5px;background:#6d8b5c;border-radius:50%;margin-right:5px}.icon-button{display:grid;place-items:center;width:34px;height:34px;background:none;border:1px solid #cfd6c6;border-radius:50%;font-family:var(--serif);font-size:20px}.shell{max-width:1336px;margin:auto;padding:0 28px 40px}.intro{padding:34px 0 25px;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.intro h1{margin:10px 0 14px}.intro-description{max-width:620px;color:var(--muted);font-size:14px;line-height:1.8}.intro-side{text-align:right;padding-top:11px;min-width:190px}.intro-side .example-label{display:inline-block;font-size:11px;background:#ece8dc;border-radius:4px;padding:5px 10px;color:#6a604c}.intro-side>p{font-size:11px;color:var(--muted);margin-top:8px}.thin-link{background:none;border:0;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-size:11px;color:#446246}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:27px;overflow-x:auto;white-space:nowrap}.tabs a{text-decoration:none;color:var(--muted);font-size:12px;padding:11px 0 14px;border-bottom:2px solid transparent}.tabs a:first-child{color:var(--green);border-color:var(--green)}.tabs span{font-size:9px;margin-right:7px;color:#89917e}.workspace{display:grid;grid-template-columns:266px minmax(0,1fr);gap:28px;align-items:start}.sidebar{display:grid;gap:17px}.panel{background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-width:0}.starting-point{padding:24px 22px}.starting-point h2{font-size:26px;margin:7px 0 23px}.opening-cash{font-family:var(--serif);font-size:36px;line-height:1.2;letter-spacing:-.025em}.starting-point .small{margin-top:5px}.facts{margin:22px 0;display:grid;gap:0}.fact{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e7e7dc}.fact dt{font-size:11px;color:var(--muted)}.fact dd{margin:0;font-size:12px;text-align:right}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 15px;border-radius:5px;border:1px solid #ccd4c1;background:var(--white);font-size:12px;text-decoration:none;line-height:1.5}.button:hover{background:#edf1e4}.button.primary{background:var(--green);color:#faf8e9;border-color:var(--green)}.button.primary:hover{background:#123d2c}.button.soft{background:#e9eedf;border-color:#d3dcc7}.button.full{width:100%}.small{font-size:11px;color:var(--muted);line-height:1.75}.sidebar-note{padding:21px;background:#e8edde;border:1px solid #d7dfcb;border-radius:7px}.sidebar-note h3{font-size:20px;margin:7px 0 11px}.sidebar-note p{font-size:12px;color:#63715a;line-height:1.85}.device-box{padding:20px 21px}.device-box summary{font-size:12px;cursor:pointer;color:#3c5c3c}.device-box p{margin:10px 0;font-size:11px;color:var(--muted)}.device-box label{display:flex;gap:9px;align-items:center;font-size:12px;margin:15px 0}.device-box input{accent-color:var(--green)}.device-box .button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.device-box .button{font-size:10px;padding:9px 6px}.saved-notice{border:1px solid #b7c8a5;background:#eaf0e1;padding:15px 20px;border-radius:6px;margin-bottom:20px;display:flex;flex-wrap:wrap;align-items:center;gap:15px;font-size:12px}.saved-notice .button{margin-left:auto}.comparison{min-width:0}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2{margin:5px 0 8px}.section-heading p{font-size:12px;color:var(--muted);max-width:590px}.date-chip{font-size:11px;white-space:nowrap;border:1px solid var(--line);padding:6px 10px;border-radius:4px;color:#65745b;margin-top:8px}.plan-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:21px}.plan-card{padding:18px 18px 13px;border:1px solid var(--line);border-radius:7px;background:#fffdf8;min-width:0;box-shadow:var(--shadow);position:relative}.plan-card.selected{outline:2px solid #607b5b;outline-offset:-1px;background:#f1f4e9}.plan-select{display:flex;align-items:flex-start;gap:9px;cursor:pointer;min-height:49px}.plan-select input{margin:4px 0 0;accent-color:var(--green);flex-shrink:0}.plan-select span{font-size:12px;line-height:1.5;font-weight:600}.path-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle}.path-sooner{background:#af7654}.path-later{background:#315c43}.path-stay{background:#899384}.plan-ending{font-family:var(--serif);font-size:29px;line-height:1.2;margin:11px 0 3px;letter-spacing:-.02em}.plan-card .ending-label{font-size:10px;color:var(--muted)}.plan-card .path-status{font-size:10px;line-height:1.5;margin-top:14px;padding-top:12px;border-top:1px solid #dce2d3;min-height:44px;color:#586b50}.plan-card .path-status.gap{color:#8e563c}.plan-card .edit-path{border:0;background:none;display:flex;justify-content:space-between;align-items:center;width:100%;font-size:10px;padding:12px 0 0;color:#456345}.card-hint{display:none}.result-lead{padding:24px 27px 22px;border:1px solid #d6d7c5;border-radius:7px;background:#eaf0e0;margin-bottom:20px;position:relative;overflow:hidden}.result-lead.gap{background:#f2ebe0;border-color:#dfd1be}.result-lead .eyebrow{color:#7e694f}.result-lead h2{font-size:clamp(26px,2.9vw,34px);margin:8px 0 11px;line-height:1.23;max-width:700px}.result-lead p{font-size:12px;line-height:1.85;color:#676853;max-width:700px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px;padding-top:20px;border-top:1px solid #d8d4c2}.metric small{display:block;font-size:10px;color:#747662;margin-bottom:5px}.metric strong{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.2}.metric .muted-value{font-family:Arial,sans-serif;font-size:13px}.chart-panel{padding:24px 25px}.chart-panel h3{font-size:24px}.chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.chart-heading p{font-size:11px;color:var(--muted);margin-top:7px}.setbacks{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.pill-button{border:1px solid #dce1d2;background:#fffdf8;border-radius:30px;padding:7px 11px;min-height:36px;font-size:10px;color:#66785a}.pill-button[aria-pressed=true]{background:#e4ebd8;border-color:#a8ba92;color:#294b30}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:#6b7663;margin-bottom:8px}.chart-container{overflow-x:auto;margin:0 -8px}.chart-container svg{width:100%;height:auto;min-width:480px}.chart-axis{font:11px Arial;fill:#7c8374}.chart-grid{stroke:#e4e7db;stroke-width:1}.chart-focus{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border-top:1px solid #e4e6da;padding-top:17px;font-size:11px}.chart-focus input{width:100%;accent-color:#557b53;min-height:30px}.chart-focus strong{font-size:12px}.chart-note{font-size:10px;line-height:1.8;color:#7b806d;margin-top:13px}.time-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0;padding:20px 24px;background:#eeefe6;border:1px solid #dbdfcf;border-radius:7px}.time-strip h3{font-family:Arial,sans-serif;font-size:11px;margin-bottom:6px;line-height:1.5}.time-strip p{font-size:11px;color:#6f7a63;line-height:1.7}.time-strip strong{color:#34553b;font-weight:600}.time-strip .attention{color:#966348}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;margin-top:25px;align-items:start}.steps-panel,.bridge-panel{padding:26px}.steps-panel h2,.bridge-panel h2{font-size:28px;margin:8px 0 14px}.step-row{display:flex;align-items:flex-start;gap:12px;padding:17px 0;border-top:1px solid #e3e5d8}.step-row input{margin-top:4px;accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.step-row label{cursor:pointer}.step-row strong{display:block;font-size:12px;font-weight:500;line-height:1.5}.step-row small{display:block;color:#78806e;line-height:1.75;font-size:10px;margin-top:7px}.step-row.done strong{color:#87927d;text-decoration:line-through}.step-row.done small{opacity:.75}.bridge-panel{background:#e6ecdc}.bridge-amount{font-family:var(--serif);font-size:40px;line-height:1.2;letter-spacing:-.02em;margin:18px 0 7px;color:#294d35}.bridge-panel p{font-size:12px;line-height:1.9;color:#637456}.bridge-panel .button{margin-top:19px}.bridge-panel details{border-top:1px solid #cdd8c0;margin-top:20px;padding-top:13px}.bridge-panel summary{font-size:11px;cursor:pointer}.bridge-panel details p{font-size:11px;margin-top:10px}.ledger{margin-top:23px;padding:20px 24px}.ledger summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;font-size:12px;min-height:25px}.ledger summary small{font-size:10px;color:#7b826e}.table-wrap{overflow-x:auto;margin-top:18px}table{border-collapse:collapse;width:100%;font-size:11px;min-width:560px}th{text-align:left;color:#728066;font-size:9px;font-weight:600;letter-spacing:.04em;padding:12px 9px;background:#eef1e7;white-space:nowrap}td{padding:11px 9px;border-bottom:1px solid #e7e8df;vertical-align:top}td:last-child,th:last-child{text-align:right}.negative{color:#9c6244}.ledger .button{margin-top:16px}.record-section{margin-top:35px;padding:28px}.record-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.record-heading h2{margin:8px 0 12px}.record-heading p{font-size:12px;color:var(--muted);max-width:600px}.record-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;margin-top:23px;padding-top:23px;border-top:1px solid var(--line)}.record-grid h3{font-size:23px;margin-bottom:12px}.snapshot-row{padding:14px;background:#f0f3e8;border-radius:5px;margin-top:10px;font-size:12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.snapshot-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.snapshot-row .pill{font-size:9px;white-space:nowrap}.empty{background:#f3f2e9;border:1px dashed #d7dccd;padding:18px;color:#78816b;font-size:12px;line-height:1.85;border-radius:5px}.observation{padding:18px 0;border-top:1px solid #e4e7da}.observation h4{margin:0 0 9px;font-size:12px;font-weight:500}.observation p{font-size:11px;color:var(--muted);line-height:1.85}.observation strong{font-weight:500;color:#36563c}.record-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.footer{margin:30px 0 0;padding-top:23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:25px;font-size:10px;color:#7b816e}.footer p{max-width:680px;line-height:1.85}.footer button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:inherit;font-size:10px;padding:0;white-space:nowrap}.error-box{padding:15px 18px;border:1px solid #d7ad8d;border-radius:5px;background:#fbf0e5;color:#8c553a;font-size:12px;line-height:1.8;margin:0 0 20px}.error-box:empty{display:none}.plan-card .error-box{margin:10px 0 0;padding:10px;font-size:10px}.invalid-plan{padding:30px}.loading{padding:60px;max-width:900px;margin:auto}.loading p{margin-top:15px;color:var(--muted)}.goal-button{background:none;border:0;padding:0 0 5px;border-bottom:1px solid #acb9a1;color:#425e40;font-size:11px;margin-top:13px}
dialog{background:var(--white);color:var(--ink);border:1px solid #d7ddce;border-radius:10px;width:min(760px,calc(100vw - 30px));max-height:90vh;padding:0;box-shadow:0 30px 90px #173c3030}dialog::backdrop{background:#183c3159;backdrop-filter:blur(3px)}.dialog-top{padding:27px 30px 22px;border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.dialog-top h2{font-size:32px;margin-top:9px}.dialog-top p{font-size:12px;color:var(--muted);margin-top:10px;max-width:550px}.close-dialog{border:0;background:#edf0e5;border-radius:50%;width:30px;height:30px;font-size:20px;flex-shrink:0}.dialog-body{padding:25px 30px}.dialog-body>p{font-size:12px;color:var(--muted);margin:0 0 20px;line-height:1.85}.dialog-body h3{font-size:25px;margin:20px 0 14px}.dialog-body h3:first-child{margin-top:0}.dialog-footer{padding:18px 30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f3f4e9;position:sticky;bottom:0;z-index:2}.dialog-footer .button-row{display:flex;gap:10px}.dialog-footer .small{font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}.form-grid .span-all{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:5px;min-width:0}.field>span:first-child{font-size:11px;font-weight:600;color:#415c42}.field input,.field select,.field textarea{width:100%;max-width:100%;min-width:0;padding:11px 12px;border:1px solid #cdd6c3;border-radius:5px;background:white;font-size:14px;line-height:1.5;color:#233d32;min-height:44px}.field textarea{min-height:90px;resize:vertical}.field small{font-size:10px;color:#7a836d;font-weight:400;line-height:1.75}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5a7b51}.form-callout{padding:16px 19px;background:#eaf0df;border-left:2px solid #718e62;font-size:12px;color:#506349;margin:23px 0 5px;line-height:1.85}.step-progress{display:flex;gap:5px;margin-bottom:22px}.step-progress span{height:3px;background:#e4e8da;flex:1}.step-progress span.active{background:#688559}.bill-editor{border:1px solid var(--line);padding:18px;border-radius:6px;margin:0 0 15px;background:#f5f5ed}.bill-editor .form-grid{gap:14px}.bill-editor-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:#57704d;font-size:11px;padding:8px 0}.check-row{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.7;margin:13px 0}.check-row input{margin-top:4px;accent-color:var(--green)}.bill-override{display:grid;grid-template-columns:1fr 150px;gap:17px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.bill-override input[type=text]{width:100%;padding:10px;border:1px solid #cdd6c3;border-radius:4px;min-height:42px}.bill-override input:disabled{background:#eeeee6;color:#89917c}.help-content h3{font-size:24px;margin-top:25px}.help-content p,.help-content li{font-size:12px;color:#68775c;line-height:1.9;margin-top:12px}.help-content ul{padding-left:18px}.help-content .form-callout p{margin:0}.inline-note{font-size:10px;color:#79816d;margin:7px 0 17px}#toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);background:#234a37;color:#f6f4e8;box-shadow:0 5px 22px #143d2c20;border-radius:7px;padding:12px 20px;font-size:12px;max-width:calc(100vw - 30px);z-index:20;display:none}#toast.show{display:block}
@media(min-width:1100px){.sidebar{position:sticky;top:25px}}
@media(max-width:1100px){.workspace{grid-template-columns:230px minmax(0,1fr);gap:22px}.starting-point{padding:22px 18px}.plan-card{padding:16px 13px 12px}.plan-ending{font-size:26px}.plan-select span{font-size:11px}.chart-panel{padding:22px}.intro-description{max-width:580px}.metrics{gap:12px}.metric strong{font-size:23px}.bottom-grid{grid-template-columns:1fr}.time-strip{padding:18px;gap:12px}.chart-heading{flex-direction:column}.bridge-panel{display:grid;grid-template-columns:1fr auto;gap:0 25px}.bridge-panel>*{grid-column:1}.bridge-panel .bridge-amount{grid-column:2;grid-row:1/4;align-self:center;margin:0}.bridge-panel details{grid-column:1/-1}.bridge-panel .button{justify-self:start}.record-heading{flex-direction:column}}
@media(max-width:850px){.workspace{grid-template-columns:1fr}.sidebar{grid-template-columns:1.3fr 1fr;gap:18px}.starting-point{grid-row:span 2;padding:24px}.sidebar-note{align-self:start}.device-box{padding:18px}.starting-point h2{margin-bottom:16px}.starting-point .facts{margin:17px 0}.intro{padding-top:28px}.intro-side{min-width:160px}.intro h1{font-size:45px}.chart-heading{flex-direction:row}.bottom-grid{grid-template-columns:1.2fr 1fr}.bridge-panel{display:block}.bridge-panel .bridge-amount{margin:18px 0 7px}.record-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){html{scroll-padding-top:24px}.masthead{padding:15px 18px;min-height:73px}.brand strong{font-size:9px;letter-spacing:.035em;max-width:150px}.brand small{font-size:7px;letter-spacing:.05em}.brand-mark{width:32px;height:36px;font-size:25px}.brand{gap:10px}.planner-badge{font-size:8px;padding:5px 8px}.mast-actions{gap:8px}.icon-button{width:28px;height:28px;font-size:17px}.shell{padding:0 18px 30px}.intro{padding:26px 0 17px;gap:18px;display:block}.intro h1{font-size:41px;max-width:300px;line-height:1.04;margin:11px 0 15px}.intro-description{font-size:13px;line-height:1.85;max-width:350px}.intro-side{text-align:left;min-width:0;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-top:15px}.intro-side p{margin:0;font-size:10px}.intro-side .example-label{font-size:10px;padding:4px 8px}.goal-button{margin-top:10px;text-align:left}.tabs{gap:22px;margin-bottom:21px}.tabs a{font-size:11px;padding:8px 0 12px}.tabs span{display:none}.workspace{gap:25px}.sidebar{display:flex;flex-direction:column;gap:13px}.starting-point{padding:20px 21px;display:grid;grid-template-columns:1fr auto;gap:0 15px}.starting-point .eyebrow,.starting-point h2{grid-column:1}.starting-point h2{font-size:24px;margin:5px 0 0}.opening-group{grid-column:2;grid-row:1/3;text-align:right;align-self:center}.opening-cash{font-size:28px}.opening-group .small{font-size:9px}.starting-point .facts{grid-column:1/-1;grid-template-columns:1fr 1fr;column-gap:17px;row-gap:0;margin:15px 0}.fact{padding:10px 0;display:block}.fact dt{font-size:9px}.fact dd{font-size:11px;text-align:left;margin-top:3px}.starting-point .button{grid-column:1/-1;min-height:43px}.sidebar-note{display:none}.device-box{padding:13px 18px}.section-heading{gap:10px;flex-wrap:wrap;margin-bottom:15px}.section-heading h2{font-size:28px}.section-heading p{font-size:11px;line-height:1.8}.date-chip{font-size:10px;padding:5px 8px;margin-top:0}.plan-grid{display:flex;gap:11px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px 9px;scroll-snap-type:x proximity}.plan-card{min-width:225px;flex:0 0 75%;scroll-snap-align:center;padding:17px 18px 12px}.plan-select{min-height:35px}.plan-select span{font-size:12px}.plan-ending{font-size:30px;margin-top:10px}.card-hint{display:block;font-size:10px;color:var(--muted);margin-bottom:20px}.plan-card .path-status{margin-top:11px;min-height:40px}.result-lead{padding:21px 20px}.result-lead h2{font-size:29px;margin-top:10px}.result-lead p{font-size:11px}.metrics{gap:13px;padding-top:16px;margin-top:17px;grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1;border-top:1px solid #d8d4c2;padding-top:12px}.metric strong{font-size:25px}.metric small{font-size:9px}.metric .muted-value{font-size:12px}.chart-panel{padding:21px 17px}.chart-heading{display:block;margin-bottom:13px}.chart-heading h3{font-size:25px}.chart-heading .thin-link{font-size:10px;padding-bottom:0}.setbacks{gap:6px;margin:14px 0}.pill-button{font-size:9px;padding:6px 9px;min-height:34px}.chart-legend{font-size:9px;gap:8px 14px;line-height:1.7}.chart-container{margin:0 -5px}.chart-container svg{min-width:510px}.chart-focus{gap:9px;grid-template-columns:auto 1fr auto;padding-top:11px}.chart-focus strong{font-size:11px}.chart-focus span{font-size:10px}.chart-note{font-size:9px}.time-strip{padding:17px 19px;grid-template-columns:1fr;gap:12px}.time-strip>div+div{border-top:1px solid #d9dfcc;padding-top:12px}.time-strip h3{font-size:11px;margin-bottom:3px}.time-strip p{font-size:11px}.bottom-grid{grid-template-columns:1fr;gap:18px;margin-top:21px}.steps-panel,.bridge-panel{padding:22px}.steps-panel h2,.bridge-panel h2{font-size:29px}.step-row{padding:17px 0}.step-row small{font-size:11px}.step-row strong{font-size:12px}.bridge-panel p{font-size:12px}.bridge-amount{font-size:39px}.ledger{padding:17px 19px}.ledger summary{font-size:11px;line-height:1.6}.ledger summary small{display:none}.record-section{margin-top:25px;padding:23px 20px}.record-heading h2{font-size:29px}.record-heading p{font-size:11px}.record-heading .button{width:100%}.record-grid{grid-template-columns:1fr;gap:25px}.record-grid h3{font-size:25px}.record-actions .button{flex:1}.footer{display:block;font-size:9px}.footer button{margin-top:13px}.saved-notice{font-size:11px;gap:10px}.saved-notice .button{margin-left:0}.dialog-top{padding:23px 22px 19px}.dialog-top h2{font-size:29px}.dialog-top p{font-size:11px}.dialog-body{padding:22px}.dialog-footer{padding:15px 21px}.dialog-footer .small{max-width:110px;font-size:9px}.dialog-footer .button{font-size:11px;padding:9px 12px}.form-grid{grid-template-columns:1fr;gap:16px}.form-grid .span-all{grid-column:auto}.bill-editor{padding:16px}.bill-editor .form-grid{gap:13px}.field input,.field select,.field textarea{font-size:16px}.bill-override{grid-template-columns:1fr 100px;gap:12px}.bill-override .check-row{font-size:11px}.field small{font-size:11px}.help-content p,.help-content li{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.mast-actions,.tabs,.sidebar,.button,.thin-link,.goal-button,.edit-path,.setbacks,.chart-focus,.record-actions,.footer button,.pill-button,.step-row input,.card-hint{display:none!important}.masthead{padding:0 0 20px}.shell{padding:0}.intro{padding:25px 0}.workspace{display:block}.plan-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr)}.plan-card{min-width:0}.panel,.result-lead,.time-strip{box-shadow:none;break-inside:avoid}.chart-container{overflow:visible}.chart-container svg{min-width:0}.bottom-grid,.record-grid{display:block}.bridge-panel{margin-top:20px}.footer{display:block}.record-section{break-before:page}}

/* Shared-site navigation; the planner keeps its own spacious work surface. */
.sidebar{min-width:0}
.site-return{font-size:11px;text-decoration:none;border-bottom:1px solid #b7c4ad;padding:5px 0;white-space:nowrap}
.v08-breadcrumbs{max-width:1336px;margin:0 auto;padding:15px 28px 0;display:flex;gap:9px;color:#687364;font-size:10px}
.v08-breadcrumbs a{text-underline-offset:3px}.site-footer-links{display:grid;gap:12px}.site-footer-links a{text-underline-offset:3px}.site-footer-links button{text-align:left}
@media(max-width:600px){.v08-breadcrumbs{padding:13px 18px 0;font-size:10px}.site-return{display:none}.planner-badge{font-size:8px}.intro{padding-top:20px}}
@media print{.v08-breadcrumbs,.site-return,.planner-badge{display:none}}
@media(max-width:360px){.starting-point{display:block}.starting-point .opening-group{text-align:left;margin-top:15px}.starting-point h2{max-width:none}.starting-point .opening-cash{font-size:30px}.starting-point .facts{display:grid}.starting-point .button{width:100%}}
