@import "https://fonts.googleapis.com/css2?family=Jersey+10&display=swap";:root{color:#171411;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#c45c2f29,#0000 24%),linear-gradient(#fcf7ef 0%,#f2ece3 100%);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100vh;margin:0}#root{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}button,input{font:inherit}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.app-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:24px 0}.brand-mark{color:#8f4b2b;letter-spacing:.04em;text-transform:lowercase;margin-bottom:16px;font-family:"Jersey 10",monospace;font-size:clamp(2.4rem,5vw,3.4rem);line-height:.9}.section-heading h2{color:#171411;margin:0;line-height:1.05}.section-heading__copy,.expense-form__footer p{color:#655d54;margin:0;line-height:1.6}.section-heading__copy{max-width:72ch;margin-top:14px}.panel,.summary-card,.expense-field,.result-total,.table-wrap{border:1px solid #5b3f221f;box-shadow:0 24px 60px #442e1814}.panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf7e0;border-radius:28px;padding:28px}.panel--wide,.results-layout{gap:20px;display:grid}.section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.expense-form{gap:24px;display:grid}.expense-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.expense-field{background:#ffffffc7;border-radius:18px;gap:10px;padding:14px 16px;display:grid}.expense-field span{color:#171411;font-size:.96rem}.expense-field input{color:#171411;background:0 0;border:0;border-bottom:1px solid #5b3f222e;outline:none;width:100%;padding:6px 0;font-size:1.35rem;line-height:1.2}.expense-field input::placeholder{color:#b3a69a}.expense-form__footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.button{font:inherit;cursor:pointer;border-radius:999px;padding:14px 22px;transition:transform .16s,background-color .16s}.button:hover{transform:translateY(-1px)}.button--primary{color:#fff8f0;background:linear-gradient(135deg,#c45c2f 0%,#8b3514 100%);border:0}.button--ghost{color:#171411;background:#ffffffb8;border:1px solid #5b3f2224}.results-layout{grid-template-columns:minmax(224px,288px) minmax(0,1fr);align-items:start}.summary-card span,.summary-card small{color:#655d54}.summary-grid{gap:14px;display:grid}.summary-card{border-radius:22px;gap:6px;padding:18px;display:grid}.summary-card strong{color:#171411;font-size:1.9rem}.summary-card--optimistic{background:#dff2e6}.summary-card--moderate{background:#f3e7ca}.summary-card--pessimistic{background:#f1d9d3}.summary-card--current{box-shadow:none;background:#ffffffad;gap:4px;padding:14px 16px}.summary-card--current strong{font-size:1.35rem}.table-wrap{background:#ffffffb8;border-radius:22px;overflow:auto}.mobile-forecast-list{display:none}.results-actions{justify-content:flex-end;margin-top:18px;display:flex}.chevron-column,.chevron-cell{text-align:center;width:52px;padding-left:8px;padding-right:8px}.summary-row{cursor:pointer}.summary-row:hover{background:#c45c2f0d}.summary-row.is-open{background:#c45c2f14}.month-cell{flex-direction:column;gap:4px;display:flex}.row-toggle-hint{color:#8f4b2b;font-size:.88rem}.chevron-icon{color:#8f4b2b;font-size:1rem;transition:transform .18s;display:inline-block}.chevron-icon.is-open{transform:rotate(180deg)}.detail-row td{background:#faf4eceb;padding:0}.inline-details{gap:14px;padding:18px;display:grid}.input-snapshot{background:#ffffffc7;border-radius:20px;padding:16px}.input-snapshot li,.breakdown-card header,.breakdown-card li{justify-content:space-between;gap:10px;display:flex}.breakdown-card header{margin-bottom:10px}.input-snapshot__title{color:#655d54;letter-spacing:.02em;margin:0 0 10px;font-size:.92rem;font-weight:600}.input-snapshot ul,.breakdown-card ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.input-snapshot li,.breakdown-card li{border-top:1px solid #5b3f2214;padding-top:8px}.breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.breakdown-card{border-radius:20px;padding:16px}.breakdown-card--optimistic{background:#dff2e6e0}.breakdown-card--moderate{background:#f3e7cae0}.breakdown-card--pessimistic{background:#f1d9d3e0}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid #5b3f2214;padding:16px 18px}thead th{color:#171411;z-index:1;background:#f8f1e7;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}@media (width<=960px){#root{display:block}.app-shell{width:min(100% - 20px,1120px);padding:20px 0 28px}.results-layout{grid-template-columns:1fr;gap:16px}.panel{border-radius:24px;padding:22px}.section-heading,.expense-form__footer,.results-actions{flex-direction:column;align-items:stretch}.section-heading{gap:12px;margin-bottom:20px}.section-heading h2{font-size:clamp(2rem,5vw,2.45rem)}.section-heading__copy{max-width:44ch;margin-top:12px}.summary-grid,.expense-form,.panel--wide,.results-layout{gap:16px}.expense-grid{grid-template-columns:1fr}.expense-field{padding:13px 14px}.expense-field input{font-size:1.2rem}.expense-form__footer{gap:12px}.button{width:100%}.results-actions{margin-top:16px}.summary-card{border-radius:20px;padding:16px}.summary-card strong{font-size:1.7rem}.summary-card--current strong{font-size:1.15rem}.table-wrap{border-radius:20px;margin-inline:-4px}th,td{padding:15px 16px}.summary-row td{vertical-align:top}.inline-details{gap:12px;padding:14px}.breakdown-grid{grid-template-columns:1fr}.input-snapshot,.breakdown-card{border-radius:18px;padding:14px}}@media (width<=640px){.app-shell{width:min(100% - 16px,1120px);padding:16px 0 24px}.brand-mark{margin-bottom:12px;font-size:clamp(2rem,11vw,2.7rem)}.panel{border-radius:22px;padding:18px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:clamp(1.75rem,9vw,2.2rem);line-height:1.02}.section-heading__copy,.expense-form__footer p{font-size:.98rem;line-height:1.5}.expense-grid{gap:12px}.expense-field{border-radius:16px;gap:8px;padding:12px 13px}.expense-field span{font-size:.92rem}.expense-field input{padding:4px 0;font-size:1.12rem}.button{padding:13px 18px}.summary-grid{gap:12px}.summary-card{gap:4px;padding:14px}.summary-card strong{font-size:1.45rem}.summary-card--current{padding:12px 14px}.summary-card--current span,.summary-card--current small{font-size:.9rem}.summary-card--current strong{font-size:1.05rem}.mobile-forecast-list{gap:12px;display:grid}.mobile-forecast-card{background:#ffffffc7;border:1px solid #5b3f221f;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px #442e1812}.mobile-forecast-card__toggle{color:#171411;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 14px 10px;display:flex}.mobile-forecast-card__month{font-size:1.05rem;font-weight:600;line-height:1.25}.mobile-forecast-card__values{gap:10px;margin:0;padding:0 14px 14px;display:grid}.mobile-forecast-card__values div{border-top:1px solid #5b3f2214;justify-content:space-between;gap:12px;padding-top:10px;display:flex}.mobile-forecast-card__values dt{color:#655d54;font-size:.9rem}.mobile-forecast-card__values dd{color:#171411;text-align:right;margin:0;font-size:.95rem;font-weight:600}.mobile-forecast-card .inline-details{background:#faf4ecdb;padding-top:0}.table-wrap{display:none}.chevron-column,.chevron-cell{width:40px;padding-left:6px;padding-right:6px}.inline-details{padding:12px}.input-snapshot__title{margin-bottom:8px;font-size:.86rem}.input-snapshot li,.breakdown-card li,.breakdown-card header{gap:8px}.input-snapshot li,.breakdown-card li{padding-top:7px}.input-snapshot span,.breakdown-card span,.input-snapshot strong,.breakdown-card strong{font-size:.95rem}.results-actions{margin-top:14px}}
