@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}:root{--body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--display: "Bricolage Grotesque", var(--body-font);--canvas: #f9f8f6;--surface: #ffffff;--line: #eee9df;--line-strong: #dad4c8;--ink: #1b1a18;--ink-soft: #55534e;--ink-faint: #6f6b64;--accent: #395afa;--accent-soft: #d7ebfe;--negative: #b21a3f;--negative-soft: #ffebec;--interest: #e8671c;--principal: #009e73;--profit: #8b5cf6;--profit-ink: #7547e3;--cashflow: #0072b2;--charges: #b21a3f;--accent-best: #9d6a09;--brand-name: #b53d0a;--whisper: #6f6b64;--tangerine-top: #ffa775;--tangerine-mid: #fdd4b7;--tangerine-end: #fff3ed;--tangerine-ink: #752b12;--tangerine-num: #9f3e15;--tangerine-tint: #fff3ed;--tangerine-chip: #ffe9d5;--tangerine-on: #b53d0a;--ube-top: #c1b0ff;--ube-mid: #d8d0ff;--ube-end: #f5f3ff;--ube-ink: #32037d;--ube-num: #43089f;--ube-tint: #f5f3ff;--ube-chip: #e9e4ff;--ube-on: #6d4cd6;--blueberry-top: #83c4ff;--blueberry-mid: #bee0ff;--blueberry-end: #ecf6ff;--blueberry-ink: #002f67;--blueberry-num: #01418d;--blueberry-tint: #ecf6ff;--blueberry-chip: #d7ebfe;--blueberry-on: #395afa;--matcha-top: #84e7a5;--matcha-mid: #bcf4ca;--matcha-end: #effcf2;--matcha-ink: #03331d;--matcha-num: #02693e;--matcha-tint: #f1fcf4;--matcha-chip: #dbffe0;--matcha-on: #02693e;--lemon-top: #fadf7c;--lemon-mid: #fef0a4;--lemon-end: #fff8d2;--lemon-ink: #7f500a;--lemon-num: #7f500a;--lemon-tint: #fff8d2;--lemon-chip: #fef0a4;--lemon-on: #9d6a09;--oat-top: #dad4c8;--oat-mid: #eee9df;--oat-end: #f9f8f6;--oat-ink: #1b1a18;--oat-num: #1b1a18;--oat-tint: #f9f8f6;--oat-chip: #eee9df;--oat-on: #55534e;--pomegranate-top: #fc7981;--pomegranate-mid: #fecdd3;--pomegranate-end: #fff5f6;--pomegranate-ink: #6e0f26;--pomegranate-num: #9c1535;--pomegranate-tint: #fff5f6;--pomegranate-chip: #ffebec;--pomegranate-on: #b21a3f;--radius: 10px;--radius-card: 16px;--grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='100'><defs><linearGradient id='f' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='white'/><stop offset='1' stop-color='white' stop-opacity='0'/></linearGradient><mask id='m'><rect width='200' height='100' fill='url(%23f)'/></mask><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter></defs><rect width='200' height='100' filter='url(%23g)' mask='url(%23m)' opacity='0.35'/></svg>")}.hue-tangerine{--h-top: var(--tangerine-top);--h-mid: var(--tangerine-mid);--h-end: var(--tangerine-end);--h-ink: var(--tangerine-ink);--h-num: var(--tangerine-num);--h-tint: var(--tangerine-tint);--h-chip: var(--tangerine-chip);--h-on: var(--tangerine-on)}.hue-ube{--h-top: var(--ube-top);--h-mid: var(--ube-mid);--h-end: var(--ube-end);--h-ink: var(--ube-ink);--h-num: var(--ube-num);--h-tint: var(--ube-tint);--h-chip: var(--ube-chip);--h-on: var(--ube-on)}.hue-blueberry{--h-top: var(--blueberry-top);--h-mid: var(--blueberry-mid);--h-end: var(--blueberry-end);--h-ink: var(--blueberry-ink);--h-num: var(--blueberry-num);--h-tint: var(--blueberry-tint);--h-chip: var(--blueberry-chip);--h-on: var(--blueberry-on)}.hue-matcha{--h-top: var(--matcha-top);--h-mid: var(--matcha-mid);--h-end: var(--matcha-end);--h-ink: var(--matcha-ink);--h-num: var(--matcha-num);--h-tint: var(--matcha-tint);--h-chip: var(--matcha-chip);--h-on: var(--matcha-on)}.hue-lemon{--h-top: var(--lemon-top);--h-mid: var(--lemon-mid);--h-end: var(--lemon-end);--h-ink: var(--lemon-ink);--h-num: var(--lemon-num);--h-tint: var(--lemon-tint);--h-chip: var(--lemon-chip);--h-on: var(--lemon-on)}.hue-oat{--h-top: var(--oat-top);--h-mid: var(--oat-mid);--h-end: var(--oat-end);--h-ink: var(--oat-ink);--h-num: var(--oat-num);--h-tint: var(--oat-tint);--h-chip: var(--oat-chip);--h-on: var(--oat-on)}.hue-pomegranate{--h-top: var(--pomegranate-top);--h-mid: var(--pomegranate-mid);--h-end: var(--pomegranate-end);--h-ink: var(--pomegranate-ink);--h-num: var(--pomegranate-num);--h-tint: var(--pomegranate-tint);--h-chip: var(--pomegranate-chip);--h-on: var(--pomegranate-on)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--body-font);font-size:15px;line-height:1.5}.app{max-width:1180px;margin:0 auto;padding:24px 20px 64px;overflow-x:clip}.skip-link{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;background:var(--ink);color:#fff;border-radius:0 0 var(--radius) 0;font-size:13px;z-index:30}.skip-link:focus{width:auto;height:auto;padding:8px 12px;clip-path:none}.app-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.logo{display:block;flex:none}.brand-logo,.brand-link{color:inherit;text-decoration:none}.brand-logo{display:block;flex:none}.brand{margin:0;font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.015em;line-height:1.1;color:var(--brand-name)}.brand-aside{white-space:nowrap;margin-left:2px;font-size:15px;font-weight:400;letter-spacing:0;color:var(--whisper)}.brand-sub{margin:4px 0 0;color:var(--ink-soft);font-size:13px}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}.column-inputs{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain}.column-results{display:flex;flex-direction:column;gap:16px;min-width:0}.avis{margin-top:40px;max-width:760px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.avis-titre{margin:0 0 8px;font-family:var(--display);font-size:19px;font-weight:700}.avis-question{display:block;margin-bottom:6px;font-weight:600}.avis-formulaire textarea{display:block;width:100%;min-height:96px;resize:vertical;padding:8px;border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;color:inherit;background:var(--surface)}.avis-formulaire textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.avis-question-projet{margin:12px 0 6px;font-size:13px;color:var(--ink-soft)}.avis-projets{display:flex;flex-wrap:wrap;gap:6px}.avis-projets button{min-height:24px;padding:3px 12px;border:0;border-radius:999px;font:inherit;font-size:13px;color:var(--ink-soft);background:var(--line);cursor:pointer}.avis-projets button[aria-pressed=true]{color:#fff;font-weight:600;background:var(--accent)}.avis-pied{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px}.avis-envoyer{min-height:36px;padding:6px 18px;border:0;border-radius:var(--radius);font:inherit;font-weight:600;color:#fff;background:var(--accent);cursor:pointer}.avis-envoyer:disabled{opacity:.55;cursor:default}.avis-note{font-size:12px;color:var(--ink-faint)}.avis-merci{margin:0;font-weight:600}.avis-erreur{margin:8px 0 0;font-size:13px;color:var(--negative)}.avis-piege{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden}.avis-coin{position:fixed;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.avis-bouton{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border:0;border-radius:999px;font:inherit;font-weight:600;color:#fff;background:var(--tangerine-on);box-shadow:0 6px 18px #1b1a182e;cursor:pointer}.avis-panneau{width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 96px);overflow-y:auto;padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:0 16px 40px #1b1a182e}.avis-panneau-tete{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.avis-panneau-tete .avis-titre{margin:0}.avis-fermer{min-width:32px;min-height:32px;border:0;border-radius:50%;font:inherit;color:var(--ink-soft);background:transparent;cursor:pointer}.avis-fermer:hover{background:var(--line)}.app-footer{margin-top:40px;padding-bottom:64px;padding-top:16px;border-top:1px solid var(--line);max-width:760px;color:var(--ink-soft);font-size:12px}.app-footer p{margin:0 0 8px}.app-footer a{display:inline-block;padding:4px 0;color:var(--accent)}.panel,.block{border:1px solid var(--line);border-radius:var(--radius-card);padding:16px;background:var(--surface)}.panel{padding-top:0}.block{background:var(--grain) top left / 200px 100px repeat-x,linear-gradient(180deg,var(--h-top) 0,var(--h-mid) 38px,var(--h-end) 74px,var(--surface) 100px) top / 100% 100px no-repeat,var(--surface);background-blend-mode:multiply,normal,normal}.block-title{margin:0 0 12px;font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--h-ink, var(--ink))}.field{display:block;margin-bottom:10px}.field-head{display:flex;align-items:center;gap:6px;margin-bottom:3px}.field-label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:3px}.field-head .field-label{margin-bottom:0}.field-input{display:flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:0 8px;background:var(--surface)}.field-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-input input{flex:1;min-width:0;border:0;outline:0;padding:7px 0;font:inherit;font-variant-numeric:tabular-nums;background:transparent;color:inherit}.field-affix{color:var(--ink-faint);font-size:13px}.field-note{margin:-6px 0 10px;font-size:12px;color:var(--ink-faint)}.section{margin-top:10px}.section:first-child{margin-top:0}.section-heading{display:flex;align-items:center;gap:8px;margin:0 -16px;padding:6px 16px;font:inherit;background:var(--grain) top left / 200px 100px repeat-x,linear-gradient(180deg,var(--h-top) 0,var(--h-mid) 55%,var(--h-end) 100%);background-blend-mode:multiply,normal}.section:first-child>.section-heading{border-radius:var(--radius-card) var(--radius-card) 0 0}.section-heading .section-chevron{border-left-color:var(--h-ink)}.section-head{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:32px;border:0;background:none;padding:4px 0;cursor:pointer;font:inherit;color:var(--ink);text-align:left}.section-chevron{width:0;height:0;border-left:5px solid var(--ink-faint);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s ease}.section-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--radius);background:#ffffffb8;color:var(--h-num)}.section.is-open>.section-heading .section-chevron,.block.is-open>.block-heading .section-chevron,.row-year.is-open .section-chevron{transform:rotate(90deg) translate(1px)}.section-title{flex:1;font-size:15px;font-weight:600;color:var(--h-ink)}.section-heading.has-switch .section-head,.section-heading.has-switch .section-title{flex:0 1 auto}.section-total{margin-left:auto;font-size:13px;color:var(--h-ink);font-variant-numeric:tabular-nums}.section-body{padding:10px 0 2px}.section.is-off .section-body{display:none}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.toggle{display:inline-flex;gap:3px;padding:3px;border-radius:999px;background:var(--h-chip, var(--line))}.toggle button{min-height:24px;border:0;border-radius:999px;background:transparent;padding:3px 12px;font:inherit;font-size:13px;cursor:pointer;color:var(--h-ink, var(--ink-soft))}.toggle button.is-active{background:var(--h-on, var(--accent));color:#fff;font-weight:600}.block-lead{border-color:var(--line-strong)}.block-heading{margin:0;font:inherit}.block-head{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.block-head .section-chevron{flex:none}.block-head .block-title{flex:1;margin:0}.block-when{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;background:#ffffffb8;font-family:var(--body-font);font-size:12px;font-weight:600;letter-spacing:normal;color:var(--h-ink, var(--ink-soft))}.block-summary{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--h-num, var(--accent))}.block-summary.negative{color:var(--negative)}.block.is-open .block-summary{color:var(--ink-faint);font-weight:500}.block-body{margin-top:12px}.headline{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--line)}.headline-label{font-size:15px;color:var(--ink-soft)}.headline-value{font-family:var(--display);font-size:30px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--h-num, var(--accent))}.muted{color:var(--ink-faint)}.headline-value.negative{color:var(--negative)}.warning{margin:6px 0 12px;padding:8px 10px;border-left:3px solid var(--negative);background:var(--negative-soft);border-radius:0 var(--radius) var(--radius) 0;font-size:13px;color:var(--ink-soft)}.help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:2px;border:0;background:none;color:var(--ink-faint);font-size:12px;font-weight:600;cursor:help;vertical-align:middle}.help-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid transparent;background:var(--line)}.help:hover,.help:focus-visible{color:var(--accent);outline:0}.help:hover .help-mark,.help:focus-visible .help-mark,.help-toggle[aria-expanded=true] .help-mark{border-color:var(--accent)}.help-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;max-width:min(240px,calc(100vw - 2rem));padding:9px 11px;border-radius:var(--radius);background:var(--ink);color:#fff;font-size:12px;font-weight:400;line-height:1.45;text-align:left;opacity:0;visibility:hidden;transition:opacity .12s ease;z-index:5;pointer-events:none}.help:hover .help-bubble,.help:focus-visible .help-bubble{opacity:1;visibility:visible}.rows dt .help-bubble,.headline-label .help-bubble,.split-legend .help-bubble,.stat-grid .stat:first-child .help-bubble{left:0;transform:none}.stat-grid .stat:not(:first-child) .help-bubble{left:auto;right:0;transform:none}.help-toggle{padding:0;cursor:pointer;font-family:inherit}.help-toggle[aria-expanded=true]{color:var(--accent)}.help-bubble-fixed{position:fixed;bottom:auto;transform:translate(-50%,-100%);opacity:1;visibility:visible;z-index:20}.subsection{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line)}.subsection-title{display:flex;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;color:var(--ink-soft)}.subsection-title-first{margin-top:-2px}.subsection-total{font-weight:500;color:var(--ink-faint);font-variant-numeric:tabular-nums}.switch{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:24px;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.switch-track{display:flex;align-items:center;width:34px;height:20px;flex:none;padding:2px;border-radius:999px;background:var(--line-strong);transition:background .14s ease}.switch[aria-checked=true] .switch-track{background:var(--h-on, var(--accent))}.switch-knob{width:16px;height:16px;flex:none;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .14s ease}.switch[aria-checked=true] .switch-knob{transform:translate(14px)}.switch:focus-visible{outline:0}.switch:focus-visible .switch-track{box-shadow:0 0 0 3px var(--accent-soft)}.switch-labelled{margin-left:10px;font-size:12px;color:var(--ink-faint)}.switch-labelled .switch-track{width:28px;height:16px}.switch-labelled .switch-knob{width:12px;height:12px}.switch-labelled[aria-checked=true] .switch-knob{transform:translate(12px)}.field.is-off .field-input{opacity:.45}.field.is-off .field-label{color:var(--ink-faint)}.row-note{margin-left:8px;font-size:12px;color:var(--ink-faint)}.stats-secondary{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line)}.stats-secondary-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--ink-faint)}.stat-grid-small{margin-top:0}.stat-grid-small .stat{padding:8px 10px}.stat-grid-small .stat-value{font-size:15px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}.stat{background:var(--h-tint, var(--canvas));border-radius:var(--radius);padding:10px 12px}.stat-label{display:block;font-size:12px;color:var(--ink-soft)}.stat-value{display:block;font-family:var(--display);font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-lead{background:var(--h-chip, var(--accent-soft))}.stat-lead .stat-value{font-size:26px;color:var(--h-num, var(--accent))}.stat.is-negative .stat-value{color:var(--negative)}.rows{margin:0}.rows>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--line)}.rows>div:last-child{border-bottom:0}.rows dt{color:var(--ink-soft);font-size:13px}.rows dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500}.rows-total dt,.rows-total dd{font-weight:600;color:var(--ink)}.negative{color:var(--negative)}.mortgage-split{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.mortgage-split .split-legend{margin-bottom:0}.split-empty{display:flex;align-items:center;min-height:60px;margin:0;font-size:13px;color:var(--ink-soft)}.split{display:flex;height:26px;border-radius:999px;overflow:hidden;margin-bottom:10px}.split-interest{background:var(--grain) left top / 200px 100px repeat-x,linear-gradient(90deg,var(--interest) 0%,var(--tangerine-top) 100%);background-blend-mode:multiply,normal}.split-principal{background:var(--grain) right top / 200px 100px repeat-x,linear-gradient(270deg,var(--principal) 0%,var(--matcha-top) 100%);background-blend-mode:multiply,normal}.split-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--ink-soft);margin-bottom:12px}.split-legend em{font-style:normal;color:var(--ink-faint)}.dotcolor{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.dotcolor-interest{background:var(--interest)}.dotcolor-principal{background:var(--principal)}.horizon{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.horizon-input{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin-bottom:12px}.horizon-label{color:var(--ink-soft)}.horizon-part{display:inline-flex;align-items:center;gap:5px;cursor:text}.horizon-input input{width:58px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:5px 8px;font:inherit;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.horizon-input input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-soft);margin-bottom:6px}.legend-group{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}.legend-switch{border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);padding:3px 10px;min-height:24px;font:inherit;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}.legend-switch-sale{border-color:transparent;background:var(--ube-chip);color:var(--ube-ink)}.legend-switch-rental{border-color:transparent;background:var(--blueberry-chip);color:var(--blueberry-ink)}.legend-switch[aria-pressed=false]{background:var(--canvas);color:var(--ink-faint)}.legend-switch:disabled{cursor:default}.legend-item{display:inline-flex;align-items:center;min-height:24px;padding:2px 4px;border:0;border-radius:var(--radius);background:none;font:inherit;font-size:13px;color:inherit;cursor:pointer}.legend-item:disabled{cursor:default}.legend-item[aria-pressed=false]{color:var(--ink-faint);text-decoration:line-through}.legend-item[aria-pressed=false]:before{opacity:.35}.legend-item:before{content:"";display:inline-block;width:14px;height:2px;vertical-align:middle;margin-right:6px}.legend-value:before{background:var(--principal)}.legend-expenses:before{background:var(--charges)}.legend-profit:before{background:var(--profit)}.legend-cashflow:before{background:var(--cashflow)}.legend-profit{color:var(--ink);font-weight:600}.chart-svg{display:block;width:100%;height:auto;touch-action:none;cursor:ew-resize;-webkit-user-select:none;user-select:none}.chart-axis{stroke:var(--line-strong);stroke-width:1}.chart-grid{stroke:var(--line);stroke-width:1}.chart-loan-end{stroke:var(--ink-faint);stroke-width:1;stroke-dasharray:4 3}.chart-tick,.chart-note{fill:var(--ink-faint);font-size:12px}.chart-svg text{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.chart-reading text{fill:var(--ink);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.reading-dot{stroke:var(--surface);stroke-width:1}.reading-value .reading-dot{fill:var(--principal)}.reading-expenses .reading-dot{fill:var(--charges)}.reading-profit .reading-dot{fill:var(--profit)}.reading-cashflow .reading-dot{fill:var(--cashflow)}.serie{fill:none;stroke-width:2;stroke-linejoin:round}.serie-value{stroke:var(--principal)}.serie-expenses{stroke:var(--charges)}.serie-profit{stroke:var(--profit);stroke-width:3}.serie-cashflow{stroke:var(--cashflow)}.marker{cursor:pointer}.marker line{stroke-width:1;stroke-dasharray:2 2}.marker text{font-size:12px;font-weight:600}.marker circle{stroke:var(--surface);stroke-width:2}.marker:hover circle{stroke-width:3}.marker .marker-hit{fill:transparent;stroke:none}.marker-breakeven circle{fill:var(--profit)}.marker-breakeven line{stroke:var(--profit)}.marker-breakeven text{fill:var(--profit-ink)}.marker-best circle{fill:var(--accent-best)}.marker-best line{stroke:var(--accent-best)}.marker-best text{fill:var(--accent-best)}.marker-selffinancing circle{fill:var(--cashflow)}.marker-selffinancing line{stroke:var(--cashflow)}.marker-selffinancing text{fill:var(--cashflow)}.chart-cursor{stroke:var(--ink);stroke-width:1}.chart-handle{fill:var(--ink)}.dot{stroke:#fff;stroke-width:2}.dot-value{fill:var(--principal)}.dot-expenses{fill:var(--charges)}.dot-profit{fill:var(--profit)}.dot-cashflow{fill:var(--cashflow)}.chart-hint{margin:2px 0 0;font-size:12px;color:var(--ink-faint)}.horizon-readout{margin:8px 0 0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.link-button{display:inline-flex;align-items:center;min-height:24px;border:0;background:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-small{font-size:12px}.table-scroll{overflow-x:auto;margin-top:12px}.table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.table th,.table td{padding:6px 8px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.table thead th{text-align:right;color:var(--ink-faint);font-weight:600;font-size:12px}.table tbody th{text-align:left;font-weight:600}.table th:first-child{min-width:6em}.row-year{cursor:pointer}.row-year:hover{background:var(--canvas)}.year-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:24px;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.row-month{background:var(--canvas);color:var(--ink-soft)}.row-month th{font-weight:400;padding-left:19px}@media (max-width: 900px){.layout{grid-template-columns:minmax(0,1fr)}.column-inputs{position:static;max-height:none;overflow-y:visible}}@media (max-width: 700px){.block{position:relative}.help{position:static}.help-bubble{top:10px;bottom:auto;left:12px;right:12px;width:auto;max-width:none;transform:none}}
