@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color:#ebebeb;--highlight-color:#f5f5f5;--animation-duration:1.5s;--animation-direction:normal;--pseudo-element-display:block;background-color:var(--base-color);-webkit-user-select:none;user-select:none;border-radius:.25rem;width:100%;line-height:1;display:inline-flex;position:relative;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);background-repeat:no-repeat;background-image:var(--custom-highlight-background,linear-gradient(90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100%));height:100%;animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;top:0;left:0;right:0;transform:translate(-100%)}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display:none}}
.mortgage-container{--ink:#fff;--panel:#fbf9f4;--panel-raised:#f4f0e5;--parchment:#1f2a22;--parchment-dim:#1f2a2294;--brass:#9c7a3c;--hairline:#9c7a3c4d;--moss:#4f7a56;--clay:#b25a3a;background-color:var(--ink);border:1px solid var(--hairline);box-sizing:border-box;max-width:1040px;color:var(--parchment);border-radius:6px;margin:2rem auto;padding:2.25rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 20px 50px -20px #1f2a222e}.mortgage-container *{box-sizing:border-box}.mortgage-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.75rem;padding-bottom:1.5rem;display:flex}.mortgage-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 .35rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}.mortgage-title{color:var(--parchment);letter-spacing:-.01em;margin:0;font-family:Fraunces,Spectral,Georgia,serif;font-size:1.85rem;font-weight:600}.mortgage-stamp{border:1.5px solid var(--brass);width:86px;height:86px;color:var(--brass);border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex;transform:rotate(-6deg)}.stamp-term{font-family:Fraunces,Spectral,Georgia,serif;font-size:1.6rem;font-weight:700;line-height:1}.stamp-unit{letter-spacing:.1em;margin-top:.2rem;font-family:IBM Plex Mono,monospace;font-size:.55rem}.mortgage-body{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:800px){.mortgage-body{grid-template-columns:260px 1fr}}.ledger-column{flex-direction:column;display:flex}.column-label{letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-dim);margin:0 0 1.25rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}.ledger-field{margin-bottom:1.35rem}.ledger-field label{color:var(--parchment-dim);margin-bottom:.4rem;font-size:.8rem;display:block}.ledger-input-row{border-bottom:1px solid var(--hairline);align-items:baseline;gap:.35rem;padding-bottom:.35rem;transition:border-color .2s;display:flex}.ledger-input-row:focus-within{border-color:var(--brass)}.ledger-prefix,.ledger-suffix{color:var(--brass);font-family:IBM Plex Mono,monospace;font-size:1rem}.ledger-input-row input,.ledger-input-row select{width:100%;color:var(--parchment);appearance:none;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:IBM Plex Mono,monospace;font-size:1.05rem}.ledger-select-row select{cursor:pointer}.ledger-select-row select option{color:var(--parchment);background:#fff}.ledger-divider{background:var(--hairline);height:1px;margin:.5rem 0 1.25rem}.ledger-readout{flex-direction:column;gap:.3rem;display:flex}.ledger-readout span{color:var(--parchment-dim);font-size:.8rem}.ledger-readout strong{color:var(--parchment);font-family:Fraunces,Spectral,Georgia,serif;font-size:1.3rem;font-weight:600}.summary-panel{background:var(--panel);border:1px solid var(--hairline);border-radius:4px;padding:1.75rem}.summary-label{letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-dim);margin:0 0 .5rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}.summary-value{color:var(--parchment);letter-spacing:-.01em;margin:0;font-family:Fraunces,Spectral,Georgia,serif;font-size:3rem;font-weight:600;line-height:1.05}.summary-meta{color:var(--parchment-dim);margin:.6rem 0 0;font-size:.85rem}.summary-divider{background:var(--hairline);height:1px;margin:1.5rem 0}.chart-heading{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.chart-heading-title{letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-dim);font-family:IBM Plex Mono,monospace;font-size:.7rem}.chart-legend{gap:1rem;display:flex}.legend-item{color:var(--parchment-dim);padding-left:1rem;font-size:.75rem;position:relative}.legend-item:before{content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.legend-principal:before{background:var(--moss)}.legend-interest:before{background:var(--clay)}.chart-container{width:100%;height:280px}.chart-empty{height:100%;color:var(--parchment-dim);border:1px dashed var(--hairline);border-radius:4px;justify-content:center;align-items:center;margin:0;font-size:.85rem;display:flex}@media (max-width:480px){.mortgage-container{padding:1.5rem}.summary-value{font-size:2.25rem}.mortgage-header{flex-direction:column}.mortgage-stamp{align-self:flex-end}}
