@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@400;500;600;700&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.lowercase{text-transform:lowercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root,[data-theme=dark]{--bg:#0a1628;--surface:#0f1f3d;--surface2:#162545;--accent:#2ecc8f;--accent-dim:#2ecc8f1f;--text:#f7f6f2;--muted:#7a8ba6;--border:#ffffff12;--header-bg:linear-gradient(135deg, #0f1f3d 0%, #0a1628 60%, #0d2140 100%);--logo-filter:none;--shadow:0 4px 24px #0000004d;--loss:#ef4444;--warn:#f59e0b}[data-theme=light]{--bg:#f4f6fa;--surface:#fff;--surface2:#eef1f7;--accent:#1aaa72;--accent-dim:#1aaa721a;--text:#0f1f3d;--muted:#6b7a99;--border:#0f1f3d1a;--header-bg:linear-gradient(135deg, #fff 0%, #f0f4ff 60%, #e8f5ef 100%);--logo-filter:none;--shadow:0 4px 24px #00000014;--loss:#ef4444;--warn:#d97706}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;transition:background-color .2s,color .2s}.page-main{background-color:var(--bg);min-height:100vh;color:var(--text)}.site-header{background:var(--header-bg);border-bottom:1px solid var(--border);z-index:50;box-shadow:var(--shadow);padding:.875rem 1rem;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:.5rem;max-width:42rem;margin:0 auto;display:flex}.site-logo-wrap{background:#fff;border-radius:.5rem;align-items:center;padding:.25rem .625rem;display:inline-flex}.site-logo{width:auto;height:1.75rem;display:block}.header-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:.75rem;min-width:0;display:flex}.badge-beta{color:var(--muted);background-color:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.25rem .75rem;font-size:.6875rem;font-weight:500}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--muted);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.hero-section{text-align:center;padding:3rem 1rem 2rem}.hero-inner{max-width:42rem;margin:0 auto}.hero-title{letter-spacing:-.02em;color:var(--text);margin-bottom:1rem;font-family:DM Serif Display,Georgia,serif;font-size:clamp(2rem,6vw,3.75rem);font-weight:700;line-height:1.15}.hero-subtitle{color:var(--muted);max-width:32rem;margin:0 auto;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.6}.text-accent{color:var(--accent)}.calc-section{padding:0 1rem 4rem}.calculators-section,.news-teaser-section,.panel-cta-section{max-width:68rem;margin:0 auto;padding:0 1rem 3rem}.section-heading{color:var(--text);margin:0 0 1rem;font-size:1.25rem;font-weight:700}.section-heading-row{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.section-heading-row .section-heading{margin-bottom:0}.section-heading-link{color:var(--accent);white-space:nowrap;font-size:.8125rem;font-weight:600;text-decoration:none}.section-heading-link:hover{text-decoration:underline}.calculator-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;display:grid}.calculator-card{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:1rem;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;position:relative}.calculator-card:hover{border-color:var(--accent);transform:translateY(-2px)}.calculator-card--featured{border:2px solid var(--accent)}.calculator-card-badge{color:var(--accent);background:var(--accent-dim);border-radius:999px;align-self:flex-start;padding:.125rem .5rem;font-size:.6875rem;font-weight:700}.calculator-card-icon{background:var(--surface2);width:2.375rem;height:2.375rem;color:var(--muted);border-radius:.625rem;justify-content:center;align-items:center;display:flex}.calculator-card--featured .calculator-card-icon{background:var(--accent-dim);color:var(--accent)}.calculator-card-title{color:var(--text);font-size:.9375rem;font-weight:600}.calculator-card-desc{color:var(--muted);font-size:.8125rem;line-height:1.5}.calculator-card--soon{opacity:.55}.calculator-card--soon:hover{opacity:.8;border-color:var(--border);transform:none}.calculator-card--soon .calculator-card-icon{background:var(--surface2);color:var(--muted)}.calculator-card-badge--soon{color:var(--muted);background:var(--surface2)}.article-grid--teaser{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.panel-cta{background:var(--surface);border:1px solid var(--border);border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.5rem;display:flex}.panel-cta-title{color:var(--text);margin-bottom:.25rem;font-size:1rem;font-weight:700}.panel-cta-desc{color:var(--muted);font-size:.8125rem}.panel-cta-button{background:var(--accent);color:#fff;border-radius:.625rem;flex-shrink:0;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none}.panel-cta-button:hover{filter:brightness(1.06)}.calculators-index-page{max-width:68rem;margin:0 auto;padding:3rem 1rem 5rem}.calculators-index-page .section-heading{margin-bottom:1.5rem;font-size:1.75rem}.calculator-suggest-cta{margin-top:2rem}.calculator-placeholder-page{text-align:center;max-width:32rem;color:var(--text);margin:0 auto;padding:4rem 1.25rem 5rem}.calculator-placeholder-icon{background:var(--surface2);width:3.5rem;height:3.5rem;color:var(--accent);border-radius:1rem;justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.calculator-placeholder-page h1{margin:0 0 .5rem;font-size:1.5rem}.calculator-placeholder-desc{color:var(--muted);margin:0 0 1.5rem;font-size:.9375rem}.calculator-placeholder-note{color:var(--muted);background:var(--surface2);border-radius:.625rem;margin:0 0 2rem;padding:.625rem 1rem;font-size:.8125rem;display:inline-block}.calculator-placeholder-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;display:flex}.site-footer{border-top:1px solid var(--border);text-align:center;flex-direction:column;gap:.375rem;padding:1.5rem 1rem;display:flex}.footer-copy{color:var(--muted);font-size:.75rem}.footer-powered{color:var(--muted);opacity:.6;font-size:.6875rem}.footer-link{color:var(--muted);text-decoration:none;transition:color .15s}.footer-link:hover{color:var(--accent)}.calc-card{background-color:var(--surface);max-width:42rem;box-shadow:var(--shadow);border-radius:1rem;flex-direction:column;gap:1.25rem;margin:0 auto;padding:1.5rem;display:flex}@media (min-width:768px){.calc-card{padding:2rem}}.rent-vs-buy-columns{grid-template-columns:1fr;gap:1.25rem;max-width:64rem;margin:0 auto;display:grid}@media (min-width:768px){.rent-vs-buy-columns{grid-template-columns:1fr 1fr}}.calc-card--wide{max-width:64rem}.label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.375rem;font-size:.75rem;font-weight:600;display:block}.info-icon-wrap{display:inline-block;position:relative}.info-icon{border:1px solid var(--muted);width:1rem;height:1rem;color:var(--muted);text-transform:none;cursor:pointer;vertical-align:middle;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.625rem;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.info-icon:hover,.info-icon[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.info-icon-tooltip{z-index:20;background:var(--surface);border:1px solid var(--border);text-transform:none;letter-spacing:normal;width:max-content;max-width:min(16rem,100vw - 2rem);color:var(--text);box-shadow:var(--shadow);border-radius:.5rem;padding:.5rem .625rem;font-size:.75rem;font-weight:400;line-height:1.4;position:absolute;top:130%;left:50%;transform:translate(-50%)}.rvb-col-title{align-items:center;gap:.5rem;display:flex}.rvb-col-title svg{color:var(--accent);flex-shrink:0}.rvb-group{flex-direction:column;gap:1.25rem;display:flex}.rvb-group+.rvb-group{border-top:1px solid var(--border);margin-top:1.375rem;padding-top:1.375rem}.rvb-group-title{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:.4375rem;margin:0;font-size:.6875rem;font-weight:700;display:flex}.rvb-group-title svg{flex-shrink:0}.input{background-color:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:.75rem;outline:none;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:1rem;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--muted);opacity:.5}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.select{background-color:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;appearance:none;text-align:center;border-radius:.75rem;outline:none;padding:.75rem;font-family:Inter,sans-serif;font-size:.875rem;transition:border-color .15s}.select:focus{border-color:var(--accent)}.freq-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}@media (min-width:480px){.freq-grid{grid-template-columns:repeat(3,1fr)}}.freq-btn{border:1px solid var(--border);background-color:var(--bg);color:var(--muted);cursor:pointer;text-align:center;white-space:nowrap;border-radius:.75rem;padding:.625rem .5rem;font-size:.8125rem;font-weight:500;transition:all .15s}.freq-btn:hover{border-color:var(--accent);color:var(--text)}.freq-btn--active{background-color:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.loan-mode-toggle{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.loan-mode-toggle--sm{margin-bottom:0}.loan-mode-btn{border:1px solid var(--border);background-color:var(--bg);color:var(--muted);cursor:pointer;border-radius:.75rem;padding:.625rem .5rem;font-size:.8125rem;font-weight:500}.loan-mode-btn:hover{border-color:var(--accent);color:var(--text)}.loan-mode-btn--active{background-color:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.loan-overpayment-card{margin-top:1.5rem}.loan-overpayment-section-title{color:var(--text);margin:0;font-size:.9375rem;font-weight:600}.loan-overpayment-section-title--spaced{border-top:1px solid var(--border);padding-top:1.25rem}.loan-overpayment-plan-row{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:480px){.loan-overpayment-plan-row{grid-template-columns:repeat(2,1fr)}}.loan-top-actions{flex-wrap:wrap;gap:.5rem;display:flex}.loan-top-actions .loan-saved-loans{flex:auto}.loan-import-label{flex:auto;justify-content:center;align-items:center;display:inline-flex;position:relative}.loan-import-input{cursor:pointer;opacity:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;position:absolute!important;inset:0!important}.loan-saved-loans-list{margin-top:.75rem}.loan-saved-loans-items{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.loan-saved-loan-item{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:.75rem;padding:.625rem 1rem;font-size:.875rem}.loan-saved-loan-item:hover{border-color:var(--accent)}.loan-schedule-wrap{max-width:56rem;margin:1rem auto 0}.loan-schedule-toggle{border:1px solid var(--border);width:100%;color:var(--accent);cursor:pointer;background:0 0;border-radius:.75rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:600}.loan-schedule-toggle:hover{border-color:var(--accent)}.loan-schedule-table-wrap{border:1px solid var(--border);border-radius:.75rem;max-height:54rem;margin-top:.75rem;overflow:auto}.loan-schedule-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.8125rem}.loan-schedule-table th{text-align:right;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface);border-bottom:1px solid var(--border);padding:.5rem .75rem;font-size:.6875rem;font-weight:600;position:sticky;top:0}.loan-schedule-table th:first-child,.loan-schedule-table td:first-child{text-align:left}.loan-schedule-table td{text-align:right;border-bottom:1px solid var(--border);color:var(--text);padding:.5rem .75rem}.loan-schedule-overpayment-cell{flex-direction:column;align-items:stretch;gap:.25rem;min-width:8rem;padding:.375rem .5rem;display:flex}.loan-schedule-overpayment-amount,.loan-schedule-overpayment-date{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:.375rem;outline:none;font-family:Inter,sans-serif}.loan-schedule-overpayment-amount{text-align:right;padding:.25rem .4rem;font-size:.75rem}.loan-schedule-overpayment-date{padding:.2rem .3rem;font-size:.6875rem}.loan-schedule-overpayment-amount:focus,.loan-schedule-overpayment-date:focus{border-color:var(--accent)}.loan-schedule-overpayment-total{color:var(--accent);text-align:right;font-size:.6875rem}.loan-schedule-export-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.loan-schedule-export-button{border:1px solid var(--border);min-width:10rem;color:var(--text);cursor:pointer;background:0 0;border-radius:.75rem;flex:auto;padding:.5rem .875rem;font-size:.8125rem;font-weight:500}.loan-schedule-export-button:hover{border-color:var(--accent);color:var(--accent)}.loan-schedule-print-header,.loan-schedule-print-footer{display:none}@media print{.site-header,.site-footer,.hero-section,.calc-card,.loan-overpayment-card,.results-wrap,.save-calculation,.loan-schedule-toggle,.loan-schedule-export-actions,.empty-hint{display:none!important}body{background:#fff!important}.loan-schedule-wrap{max-width:100%;margin:0}.loan-schedule-table-wrap{border:none;max-height:none;overflow:visible}.loan-schedule-print-header{border-bottom:2px solid #000;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.loan-schedule-print-logo{width:auto;height:2rem}.loan-schedule-print-title{color:#000;margin:0;font-size:1.125rem;font-weight:700}.loan-schedule-print-meta{color:#333;margin:.125rem 0 0;font-size:.8125rem}.loan-schedule-print-footer{color:#666;text-align:center;margin-top:1rem;font-size:.6875rem;display:block}.loan-schedule-table,.loan-schedule-table th,.loan-schedule-table td{color:#000!important;background:#fff!important;border-color:#ccc!important}.loan-schedule-overpayment-amount,.loan-schedule-overpayment-date{color:#000!important;background:0 0!important;border:none!important;padding:0!important}.loan-schedule-overpayment-total{color:#000!important}}.results-wrap{flex-direction:column;gap:1rem;max-width:42rem;margin:1.5rem auto 0;display:flex}.result-hero{background-color:var(--accent-dim);border:1px solid var(--accent);border-opacity:.2;text-align:center;border-radius:1rem;padding:1.5rem}@media (min-width:768px){.result-hero{padding:2rem}}.result-hero-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.result-hero-number{color:var(--text);letter-spacing:-.02em;font-family:DM Serif Display,Georgia,serif;font-size:clamp(2.5rem,10vw,4.5rem);font-weight:700;line-height:1}.result-hero-sym{color:var(--accent);margin-left:.25rem;font-size:clamp(1.25rem,4vw,2rem);font-weight:500}.result-hero-desc{color:var(--muted);max-width:26rem;margin-top:.75rem;margin-left:auto;margin-right:auto;font-size:.875rem}.result-hero-name{color:var(--text);font-weight:500}.results-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (min-width:480px){.results-grid{grid-template-columns:repeat(3,1fr)}}.result-card{background-color:var(--surface);border-radius:.75rem;padding:1rem}.result-card--highlight{background-color:var(--surface2);border:1px solid var(--border)}.result-card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.6875rem;font-weight:500}.result-card-value{color:var(--text);letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.result-card-sym{color:var(--muted);font-size:.8125rem;font-weight:400}.teaser-card{background-color:var(--surface);border:1px solid var(--border);border-radius:1rem;align-items:flex-start;gap:.75rem;padding:1.25rem;display:flex}.teaser-icon{flex-shrink:0;font-size:1.5rem}.teaser-title{color:var(--text);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.teaser-desc{color:var(--muted);font-size:.8125rem;line-height:1.5}.disclaimer{color:var(--muted);opacity:.6;text-align:center;padding:0 1rem;font-size:.6875rem}.empty-hint{text-align:center;color:var(--muted);margin-top:1.5rem;font-size:.875rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface);border-radius:3px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (max-width:640px){.input{font-size:16px}}.lang-switcher{position:relative}.lang-trigger{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:.5rem;align-items:center;gap:.375rem;padding:.3125rem .625rem;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.lang-trigger:hover{border-color:var(--accent);color:var(--accent)}.lang-code{letter-spacing:.04em;color:var(--muted)}.lang-dropdown{background:var(--surface);border:1px solid var(--border);min-width:10rem;box-shadow:var(--shadow);z-index:100;border-radius:.75rem;flex-direction:column;gap:.125rem;padding:.375rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.lang-option{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;transition:all .1s;display:flex}.lang-option:hover{background:var(--bg);color:var(--text)}.lang-option--active{color:var(--accent);font-weight:600}.salary-section{border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.salary-toggle{background:var(--bg);cursor:pointer;width:100%;color:var(--muted);text-align:left;border:none;align-items:center;gap:.625rem;padding:.875rem 1rem;font-size:.875rem;font-weight:500;transition:color .15s,background .15s;display:flex}.salary-toggle:hover{color:var(--text)}.salary-toggle--open{color:var(--accent);background:var(--accent-dim)}.salary-toggle-icon{font-size:1rem}.salary-toggle-label{flex:1}.salary-toggle-arrow{color:currentColor;flex-shrink:0}.salary-body{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;gap:1rem;padding:1rem;display:flex}.salary-input-row{align-items:center;gap:.5rem;display:flex}.salary-sym{color:var(--muted);flex-shrink:0;font-size:.875rem;font-weight:500}.salary-per{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.75rem}.salary-hours-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.salary-hours-input{text-align:center;padding:.625rem .5rem;width:5rem!important}.salary-rate-hint{color:var(--accent);background:var(--accent-dim);border-radius:.5rem;padding:.5rem .75rem;font-size:.8125rem}.timecost-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.25rem}.timecost-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.timecost-icon{font-size:1.125rem}.timecost-title{color:var(--text);font-size:.9375rem;font-weight:600}.timecost-summary{color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:1rem;font-size:.875rem;line-height:1.6}.timecost-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.timecost-stat{background:var(--bg);border-radius:.75rem;padding:.875rem}.timecost-stat--highlight{background:var(--accent-dim);border:1px solid #2ecc8f33}.timecost-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.6875rem;font-weight:500}.timecost-stat-value{color:var(--text);letter-spacing:-.01em;font-size:1.25rem;font-weight:700;line-height:1.2}.timecost-stat-unit{color:var(--accent);font-size:.875rem;font-weight:500}.timecost-stat-sub{color:var(--muted);margin-top:.125rem;font-size:.75rem}.mirror-past-section{border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.mirror-past-toggle{background:var(--bg);cursor:pointer;width:100%;color:var(--muted);text-align:left;border:none;align-items:center;gap:.625rem;padding:.875rem 1rem;font-size:.875rem;font-weight:500;transition:color .15s,background .15s;display:flex}.mirror-past-toggle:hover{color:var(--text)}.mirror-past-toggle--open{color:var(--accent);background:var(--accent-dim)}.mirror-past-toggle-icon{font-size:1rem}.mirror-past-toggle-label{flex:1}.mirror-past-heading{background:var(--bg);color:var(--text);align-items:center;gap:.625rem;padding:.875rem 1rem;display:flex}.mirror-past-heading-icon{font-size:1.125rem}.mirror-past-heading-label{font-size:.9375rem;font-weight:600}.mirror-past-loading{color:var(--muted);padding:.5rem 0;font-size:.875rem}.mirror-past-body{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;gap:1rem;padding:1rem;display:flex}.mirror-past-run-btn{background:var(--accent);color:#0a1628;cursor:pointer;border:none;border-radius:.75rem;width:100%;padding:.875rem;font-size:.9375rem;font-weight:700;transition:opacity .15s}.mirror-past-run-btn:hover{opacity:.9}.mirror-past-run-btn:disabled{opacity:.5;cursor:not-allowed}.instrument-picker{flex-direction:column;gap:.75rem;display:flex}.instrument-quick{flex-wrap:wrap;gap:.5rem;display:flex}.instrument-quick-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:.625rem;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8125rem;transition:all .15s;display:flex}.instrument-quick-btn:hover{border-color:var(--accent);color:var(--text)}.instrument-quick-btn--active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.instrument-quick-label{font-weight:500}.instrument-note-tag{color:#f0b429;text-transform:uppercase;letter-spacing:.04em;background:#ffc8001a;border:1px solid #f0b42933;border-radius:999px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.instrument-note-tag--inline{margin-left:.25rem}.instrument-search-trigger{border:1px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:.625rem;padding:.5rem .75rem;font-size:.8125rem;transition:all .15s}.instrument-search-trigger:hover{border-color:var(--accent);color:var(--accent)}.instrument-search{flex-direction:column;gap:.5rem;display:flex}.instrument-search-bar{align-items:center;gap:.5rem;display:flex}.instrument-search-back{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:.5rem;flex-shrink:0;padding:.5rem;font-size:.875rem}.instrument-search-hint{color:var(--muted);padding:0 .25rem;font-size:.8125rem}.instrument-search-results{flex-direction:column;gap:.25rem;max-height:18rem;display:flex;overflow-y:auto}.instrument-search-input{width:100%}.instrument-group{flex-direction:column;gap:.25rem;display:flex}.instrument-group+.instrument-group{margin-top:.5rem}.instrument-group-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.5rem;padding:0 .25rem;font-size:.6875rem;font-weight:600;display:flex}.instrument-group-divider:before,.instrument-group-divider:after{content:"";background:var(--border);flex:1;height:1px}.instrument-result-btn{background:var(--surface);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:.5rem;justify-content:flex-start;align-items:center;gap:.625rem;padding:.625rem .75rem;transition:all .1s;display:flex}.instrument-result-btn:hover{border-color:var(--border)}.instrument-result-btn--active{border-color:var(--accent);background:var(--accent-dim)}.instrument-badge{color:#fff;letter-spacing:.02em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.125rem;height:2.125rem;font-size:.6875rem;font-weight:700;display:inline-flex}.instrument-result-main{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.instrument-result-symbol{color:var(--text);font-size:.875rem;font-weight:600}.instrument-result-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.instrument-result-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.125rem;display:flex}.instrument-result-cat{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}.instrument-result-currency{color:var(--muted);font-size:.75rem;font-weight:600}.instrument-selected{background:var(--accent-dim);border:1px solid #2ecc8f33;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.instrument-selected-symbol{color:var(--accent);flex-shrink:0;font-weight:700}.instrument-selected-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.period-picker{flex-direction:column;gap:.625rem;display:flex}.period-presets{flex-wrap:wrap;gap:.375rem;display:flex}.period-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:.5rem;align-items:center;gap:.25rem;padding:.4375rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.period-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.period-btn--active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.period-btn--disabled{opacity:.4;cursor:not-allowed}.period-btn-sub{color:var(--muted);margin-left:.125rem;font-size:.625rem}.period-custom{flex-direction:column;gap:.375rem;display:flex}.period-hint{color:var(--muted);font-size:.75rem}.period-selected{color:var(--muted);font-size:.8125rem}.period-selected strong{color:var(--accent)}.mirror-past-error{background:#ef444414;border:1px solid #ef444433;border-radius:.75rem;align-items:flex-start;gap:.625rem;padding:.875rem;display:flex}.mirror-past-error-icon{flex-shrink:0;font-size:1.125rem}.mirror-past-error-title{color:var(--loss);margin-bottom:.125rem;font-size:.875rem;font-weight:600}.mirror-past-error-msg{color:var(--muted);font-size:.8125rem}.mirror-past-disclaimer{color:var(--muted);opacity:.6;text-align:center;font-size:.6875rem}.mirror-past-warnings{flex-direction:column;gap:.375rem;display:flex}.mirror-past-warning-item{color:#f0b429;background:#f0b4290f;border:1px solid #f0b42926;border-radius:.5rem;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.mirror-past-results{flex-direction:column;gap:.75rem;display:flex}.mirror-result-hero{text-align:center;border-radius:1rem;padding:1.25rem}.mirror-result-hero--profit{background:#2ecc8f14;border:1px solid #2ecc8f33}.mirror-result-hero--loss{background:#ef44440f;border:1px solid #ef444426}.mirror-result-hero-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.375rem;font-size:.75rem;font-weight:600}.mirror-result-hero-number{color:var(--text);letter-spacing:-.02em;font-family:DM Serif Display,Georgia,serif;font-size:clamp(1.75rem,6vw,2.75rem);font-weight:700}.mirror-result-roi{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.mirror-result-roi-pct{font-size:1.125rem;font-weight:700}.mirror-result-roi-pct--profit{color:var(--accent)}.mirror-result-roi-pct--loss{color:var(--loss)}.mirror-result-roi-label{color:var(--muted);font-size:.8125rem}.mirror-result-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}@media (min-width:480px){.mirror-result-grid{grid-template-columns:repeat(3,1fr)}}.mirror-metric-card{background:var(--surface);border-radius:.625rem;padding:.75rem}.mirror-metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.6875rem;font-weight:500}.mirror-metric-value{color:var(--text);font-size:.9375rem;font-weight:600}.mirror-result-index-note{color:#c9992a;background:#f0b4290f;border:1px solid #f0b42926;border-radius:.625rem;align-items:flex-start;gap:.5rem;padding:.75rem;font-size:.8125rem;line-height:1.5;display:flex}.mirror-result-methodology{color:var(--muted);font-size:.8125rem}.mirror-result-methodology summary{cursor:pointer;padding:.375rem 0;font-weight:500}.mirror-result-methodology-list{flex-direction:column;gap:.25rem;margin-top:.5rem;padding-left:1.25rem;list-style:outside;display:flex}.instrument-filter-bar{flex-wrap:wrap;gap:.375rem;display:flex}.instrument-filter-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:.375rem .6875rem;font-size:.75rem;font-weight:500;transition:all .15s}.instrument-filter-btn:hover{border-color:var(--accent);color:var(--text)}.instrument-filter-btn--active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.instrument-picker-error{color:var(--muted);background:#ef444414;border:1px solid #ef444433;border-radius:.625rem;flex-wrap:wrap;align-items:center;gap:.625rem;padding:.75rem;font-size:.8125rem;display:flex}.instrument-retry-btn{color:var(--loss);cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:.5rem;padding:.3125rem .75rem;font-size:.75rem;font-weight:600}.instrument-retry-btn:hover{background:#ef444414}.instrument-skeleton-row{flex-wrap:wrap;gap:.5rem;width:100%;display:flex}.instrument-skeleton-btn{background:linear-gradient(90deg, var(--surface) 0%, var(--surface2) 50%, var(--surface) 100%);background-size:200% 100%;border-radius:.625rem;width:6.5rem;height:2.125rem;animation:1.4s ease-in-out infinite instrument-skeleton-pulse;display:inline-block}@keyframes instrument-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.instrument-skeleton-btn{animation:none}}.instrument-quick-btn:focus-visible,.instrument-result-btn:focus-visible,.instrument-filter-btn:focus-visible,.instrument-search-trigger:focus-visible,.instrument-search-back:focus-visible,.instrument-retry-btn:focus-visible,.period-btn:focus-visible,.mirror-past-run-btn:focus-visible,.mirror-past-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mirror-result-hero--neutral{background:var(--surface);border:1px solid var(--border)}.mirror-result-roi-pct--neutral{color:var(--muted)}.mirror-story-mode{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.25rem}.mirror-story-mode-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.mirror-story-mode-text{color:var(--text);margin:0;font-size:1rem;line-height:1.6}.mirror-story-mode-text--positive{border-left:3px solid var(--accent);padding-left:.875rem}.mirror-story-mode-text--negative{border-left:3px solid var(--loss);padding-left:.875rem}.mirror-story-mode-text--neutral{border-left:3px solid var(--border);padding-left:.875rem}.mirror-story-reflection{color:var(--muted);margin:0;font-size:.8125rem;font-style:italic;line-height:1.5}.mirror-story-disclaimer{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:.625rem;padding:.75rem .875rem;font-size:.75rem}.mirror-story-disclaimer-heading{color:var(--text);margin:0 0 .375rem;font-weight:600}.mirror-story-disclaimer-list{flex-direction:column;gap:.25rem;margin:0;padding-left:1.125rem;list-style:outside;display:flex}.mirror-story-methodology{color:var(--muted);font-size:.8125rem}.mirror-story-methodology summary{cursor:pointer;color:var(--text);padding:.375rem 0;font-weight:500}.mirror-story-methodology summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.25rem}.mirror-story-methodology-list{flex-direction:column;gap:.25rem;margin-top:.5rem;padding-left:1.25rem;list-style:outside;display:flex}.mirror-chart-section{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;max-width:100%;margin:1.25rem 0;padding:1rem 1rem 1.125rem;overflow:hidden}.mirror-chart-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .625rem;font-size:.75rem;font-weight:600}.mirror-chart-summary{color:var(--text);margin:0 0 .875rem;font-size:.8125rem;line-height:1.5}.mirror-chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.625rem;margin-bottom:.75rem;display:flex}.mirror-chart-legend{flex-wrap:wrap;gap:.5rem;display:flex}.mirror-chart-legend-btn{border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;transition:color .15s,border-color .15s,opacity .15s;display:inline-flex}.mirror-chart-legend-btn[aria-pressed=true]{color:var(--text);border-color:var(--border)}.mirror-chart-legend-btn[aria-pressed=false]{opacity:.55;text-decoration:line-through}.mirror-chart-legend-btn:focus-visible,.mirror-chart-range-btn:focus-visible,.mirror-chart-svg:focus-visible,.mirror-chart-table-toggle summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.25rem}.mirror-chart-legend-swatch{flex-shrink:0;display:block}.mirror-chart-range{flex-wrap:wrap;gap:.375rem;display:flex}.mirror-chart-range-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:.5rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;transition:color .15s,border-color .15s,background-color .15s}.mirror-chart-range-btn[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.mirror-chart-wrap{touch-action:pan-y;width:100%;position:relative}.mirror-chart-svg{cursor:crosshair;width:100%;max-width:100%;height:300px;display:block}.mirror-chart-axis-text{fill:var(--muted);font-size:.625rem}.mirror-chart-gridline{stroke:var(--border);stroke-width:1px}.mirror-chart-hover-line{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.mirror-chart-line--contributions{fill:none;stroke:var(--muted);stroke-width:2px}.mirror-chart-line--portfolioValue{fill:none;stroke:var(--accent);stroke-width:2px}.mirror-chart-marker--contributions{fill:var(--surface);stroke:var(--muted);stroke-width:2px}.mirror-chart-marker--portfolioValue{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.mirror-chart-scrubber{width:100%;accent-color:var(--accent);cursor:pointer;background:0 0;margin:.5rem 0 0}.mirror-chart-scrubber:disabled{opacity:.4;cursor:default}.mirror-chart-scrubber:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.25rem}.mirror-chart-empty{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.875rem}.mirror-chart-tooltip{z-index:5;pointer-events:none;background:var(--surface2);border:1px solid var(--border);max-width:min(15.5rem,100vw - 3rem);box-shadow:var(--shadow);color:var(--text);border-radius:.625rem;padding:.625rem .75rem;font-size:.75rem;position:absolute;top:0}.mirror-chart-tooltip-date{color:var(--text);margin:0 0 .375rem;font-weight:600}.mirror-chart-tooltip-row{color:var(--muted);justify-content:space-between;gap:.75rem;padding:.0625rem 0;display:flex}.mirror-chart-tooltip-row span:last-child{color:var(--text);text-align:right;font-weight:500}.mirror-chart-tooltip-value--positive{color:var(--accent)!important}.mirror-chart-tooltip-value--negative{color:var(--loss)!important}.mirror-chart-tooltip-value--neutral{color:var(--muted)!important}.mirror-chart-table-toggle{color:var(--muted);margin-top:.875rem;font-size:.75rem}.mirror-chart-table-toggle summary{cursor:pointer;color:var(--text);padding:.375rem 0;font-weight:500}.mirror-chart-table-scroll{margin-top:.5rem;overflow-x:auto}.mirror-chart-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.75rem}.mirror-chart-table caption{caption-side:top;text-align:left;color:var(--muted);padding-bottom:.375rem}.mirror-chart-table th,.mirror-chart-table td{border-bottom:1px solid var(--border);text-align:right;padding:.375rem .625rem}.mirror-chart-table th:first-child,.mirror-chart-table td:first-child{text-align:left}.mirror-chart-table th{color:var(--muted);font-weight:600}@media (max-width:640px){.mirror-chart-section{padding:.875rem .75rem 1rem}.mirror-chart-toolbar{flex-direction:column;align-items:flex-start}.mirror-chart-svg{height:220px}.mirror-chart-tooltip{max-width:calc(100vw - 2.5rem);font-size:.6875rem}}@media (prefers-reduced-motion:reduce){.mirror-chart-legend-btn,.mirror-chart-range-btn{transition:none}}.footer-legal{flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;margin-top:.25rem;font-size:.75rem;display:flex}.footer-link-button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.cookie-banner{z-index:100;background-color:var(--surface);border-top:1px solid var(--border);padding:1.25rem 1rem;padding-bottom:max(1.25rem, env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;transform:translateZ(0);box-shadow:0 -4px 24px #0003}.cookie-banner-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;max-width:64rem;margin:0 auto;display:flex}.cookie-banner-text{flex:20rem;min-width:0}.cookie-banner-title{color:var(--text);margin:0 0 .25rem;font-size:.9375rem;font-weight:700}.cookie-banner-desc{color:var(--muted);margin:0 0 .375rem;font-size:.8125rem;line-height:1.5}.cookie-banner-learnmore{color:var(--accent);font-size:.8125rem;text-decoration:underline}.cookie-banner-actions{flex-wrap:wrap;flex-shrink:0;gap:.625rem;display:flex}.cookie-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:.75rem;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;transition:opacity .15s,background-color .15s}.cookie-btn--primary{background-color:var(--accent);color:#06231a}.cookie-btn--primary:hover{opacity:.9}.cookie-btn--secondary{border-color:var(--border);color:var(--text);background-color:#0000}.cookie-btn--secondary:hover{background-color:var(--surface2)}.cookie-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:640px){.cookie-banner-inner{flex-direction:column;align-items:stretch}.cookie-banner-actions{width:100%}.cookie-btn{flex:1}}.cookie-modal-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cookie-modal{background-color:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;width:100%;max-width:30rem;max-height:90vh;padding:1.5rem;overflow-y:auto}.cookie-modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cookie-modal-title{color:var(--text);margin:0;font-size:1.125rem;font-weight:700}.cookie-modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.375rem}.cookie-modal-close:hover{color:var(--text);background-color:var(--surface2)}.cookie-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cookie-modal-body{flex-direction:column;gap:1rem;margin-bottom:1.25rem;display:flex}.cookie-category{border:1px solid var(--border);border-radius:.75rem;padding:.875rem 1rem}.cookie-category-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cookie-category-name{color:var(--text);font-size:.875rem;font-weight:600}.cookie-category-checkbox{width:1.125rem;height:1.125rem;accent-color:var(--accent);flex-shrink:0}.cookie-category-desc{color:var(--muted);margin:.375rem 0 0;font-size:.8125rem;line-height:1.5}.cookie-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.625rem;display:flex}@media (max-width:480px){.cookie-modal-actions{flex-direction:column-reverse}.cookie-modal-actions .cookie-btn{width:100%}}.legal-page{max-width:48rem;color:var(--text);margin:0 auto;padding:3rem 1.25rem 5rem}.legal-page h1{margin:0 0 .5rem;font-size:1.75rem}.legal-updated{color:var(--muted);margin:0 0 2rem;font-size:.8125rem}.legal-page h2{color:var(--text);margin:2rem 0 .75rem;font-size:1.125rem}.legal-page p{color:var(--muted);margin:0 0 .875rem;font-size:.9375rem;line-height:1.7}.legal-page ul{color:var(--muted);margin:0 0 .875rem;padding-left:1.25rem;font-size:.9375rem;line-height:1.7}.legal-table-wrap{margin:1rem 0 1.5rem;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;font-size:.8125rem}.legal-table th,.legal-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem .75rem}.legal-table th{color:var(--muted);white-space:nowrap;font-weight:600}.legal-back-link{color:var(--accent);margin-bottom:1.5rem;font-size:.875rem;display:inline-block}.nav-menu{position:relative}.nav-menu-trigger{color:var(--text);background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;display:inline-flex}.nav-menu-trigger:hover{border-color:var(--accent);color:var(--accent)}.nav-menu-chevron{transition:transform .15s}.nav-menu-trigger[aria-expanded=true] .nav-menu-chevron{transform:rotate(180deg)}.nav-menu-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:60;border-radius:.75rem;min-width:12rem;position:absolute;top:calc(100% + .5rem);left:0;overflow:hidden}.nav-menu-item{text-align:left;width:100%;color:var(--text);padding:.625rem 1rem;font-size:.8125rem;text-decoration:none;display:block}.nav-menu-item:hover{background:var(--surface2);color:var(--accent)}.account-menu{position:relative}.account-menu-login-link{color:var(--accent);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;padding:.5rem .875rem;font-size:.8125rem;font-weight:600}.account-menu-trigger{color:var(--text);background:var(--surface2);border:1px solid var(--border);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:10rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;overflow:hidden}.account-menu-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:60;border-radius:.75rem;min-width:11rem;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden}.account-menu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:.625rem 1rem;font-family:Inter,sans-serif;font-size:.8125rem;display:block}.account-menu-item:hover{background:var(--surface2)}.account-menu-logout{color:var(--loss)}.auth-page{justify-content:center;align-items:center;padding:2.5rem 1rem;display:flex}.auth-form,.auth-panel{background:var(--surface);border:1px solid var(--border);width:100%;max-width:26rem;box-shadow:var(--shadow);border-radius:1rem;flex-direction:column;gap:.875rem;padding:1.75rem;display:flex}.auth-title{margin:0;font-size:1.375rem;font-weight:700}.auth-subtitle{color:var(--muted);margin:-.5rem 0 0;font-size:.875rem}.auth-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:-.375rem;font-size:.75rem;font-weight:600;display:block}.auth-input{background-color:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:.75rem;outline:none;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:1rem;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.auth-checkbox-label{color:var(--muted);cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.8125rem;display:flex}.auth-checkbox-label input{margin-top:.1875rem}.auth-error{color:var(--loss);background:#ef44441a;border-radius:.5rem;margin:0;padding:.625rem .75rem;font-size:.8125rem}.auth-submit{background-color:var(--accent);color:#06231a;cursor:pointer;border:none;border-radius:.75rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:700;transition:opacity .15s}.auth-submit:hover:not(:disabled){opacity:.9}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-link{color:var(--accent);font-weight:600}.auth-footer-text{color:var(--muted);margin:0;font-size:.8125rem}.account-main{flex-direction:column;gap:1.5rem;max-width:56rem;margin:0 auto;padding:2rem 1rem;display:flex}@media (min-width:768px){.account-main{flex-direction:row;align-items:flex-start}}.account-nav{flex-flow:wrap;flex-shrink:0;gap:.5rem;display:flex}@media (min-width:768px){.account-nav{flex-direction:column;width:12rem}}.account-nav-link{color:var(--muted);border:1px solid #0000;border-radius:.75rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.account-nav-link:hover{background:var(--surface2);color:var(--text)}.account-content{flex:1;min-width:0}.account-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;padding:1.5rem}.account-panel-title{margin:0 0 1rem;font-size:1.25rem;font-weight:700}.account-danger-zone{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.account-danger-zone h2{color:var(--loss);margin:0 0 .5rem;font-size:1rem}.account-danger-zone>p{color:var(--muted);margin:0 0 1rem;font-size:.8125rem}.account-danger-button{background-color:var(--loss);color:#fff;cursor:pointer;border:none;border-radius:.75rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:700}.account-danger-button:hover:not(:disabled){opacity:.9}.account-danger-button:disabled{opacity:.6;cursor:not-allowed}.account-cancel-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:.75rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600}.account-delete-confirm-form{flex-direction:column;gap:.75rem;max-width:20rem;display:flex}.account-delete-confirm-actions{gap:.75rem;display:flex}.account-panel-section{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.account-panel-section h2{margin:0 0 .5rem;font-size:1rem}.account-panel-section>p{color:var(--muted);margin:0 0 1rem;font-size:.8125rem}.two-factor-status{border-radius:.5rem;margin:0 0 .75rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600}.two-factor-status--enabled{background:var(--accent-dim);color:var(--accent)}.two-factor-status--required{color:var(--loss);background:#ef44441a}.two-factor-setup{flex-direction:column;gap:.875rem;margin-top:1rem;display:flex}.two-factor-qr{background:#fff;border-radius:.5rem;width:200px;height:200px;padding:.5rem}.two-factor-backup-warning{color:var(--warn);margin:0;font-size:.8125rem;font-weight:600}.two-factor-backup-codes{background:var(--surface2);border-radius:.5rem;grid-template-columns:repeat(2,1fr);gap:.375rem;margin:0;padding:.875rem;font-family:monospace;font-size:.8125rem;list-style:none;display:grid}.honeypot-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.turnstile-widget{margin:.25rem 0}.account-panel-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.account-panel-header .account-panel-title{margin:0}.account-table{border-collapse:collapse;width:100%;font-size:.875rem}.account-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:.5rem .75rem;font-size:.6875rem;font-weight:600}.account-table td{border-bottom:1px solid var(--border);padding:.625rem .75rem}.account-pagination{flex-wrap:wrap;gap:.375rem;margin-top:1.25rem;display:flex}.account-pagination-link{text-align:center;border:1px solid var(--border);min-width:2rem;color:var(--text);border-radius:.5rem;padding:.375rem .5rem;font-size:.8125rem}.account-pagination-link:hover{background:var(--surface2)}.account-pagination-link--active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ticket-status-badge{color:var(--accent);background:var(--accent-dim);border-radius:999px;margin:.25rem 0 1.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.ticket-thread{flex-direction:column;gap:1rem;display:flex}.ticket-thread-messages{flex-direction:column;gap:.75rem;display:flex}.ticket-message{background:var(--surface2);border-radius:.75rem;max-width:32rem;padding:.75rem 1rem}.ticket-message--admin{background:var(--accent-dim);margin-right:auto}.ticket-message--user{margin-left:auto}.ticket-message-author{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.6875rem;font-weight:600}.ticket-message-body{white-space:pre-wrap;margin:0;font-size:.875rem}.ticket-reply-form{border-top:1px solid var(--border);flex-direction:column;gap:.625rem;padding-top:1rem;display:flex}.admin-stat-grid{grid-template-columns:repeat(2,1fr);gap:.875rem;display:grid}@media (min-width:640px){.admin-stat-grid{grid-template-columns:repeat(4,1fr)}}.admin-stat-tile{background:var(--surface2);text-align:center;border-radius:.75rem;padding:1rem}.admin-stat-value{color:var(--accent);font-size:1.75rem;font-weight:700}.admin-stat-label{color:var(--muted);margin-top:.25rem;font-size:.75rem}.admin-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.admin-filter-chip{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.375rem .75rem;font-size:.75rem;font-weight:600}.admin-filter-chip--active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.admin-ticket-meta{color:var(--muted);margin:0 0 1rem;font-size:.8125rem}.admin-status-changer{max-width:16rem;margin-bottom:1.5rem}.save-calculation{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem;display:flex}.save-calculation-label{color:var(--muted);margin:0;font-size:.875rem}.save-calculation-button{background:var(--accent);border:1px solid var(--accent);color:var(--bg);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.625rem 1.5rem;font-size:.875rem;font-weight:700}.save-calculation-button:hover:not(:disabled){opacity:.9}.save-calculation-button:disabled{opacity:.6;cursor:default}.share-calculation{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;width:100%;margin-top:.75rem;padding-top:.75rem;display:flex}.share-calculation-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.share-calculation-input{flex:14rem;min-width:0}.calculation-detail-summary{color:var(--text);margin:0 0 1.5rem;font-size:1rem;font-weight:600}.calculation-detail-section{margin-bottom:1.5rem}.calculation-detail-section h2{margin-bottom:.5rem;font-size:.9375rem}.calculation-detail-table{border-collapse:collapse;width:100%;font-size:.8125rem}.calculation-detail-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.375rem 0}.calculation-detail-table td:first-child{color:var(--muted);width:40%}.calculation-detail-table--nested{margin:.25rem 0}.calculation-detail-table--nested td{border-bottom:none;padding:.25rem 0 .25rem .75rem;font-size:.75rem}.calculation-detail-table--nested td:first-child{width:auto;padding-right:.5rem}.rename-calculation-form{flex-direction:column;gap:.625rem;max-width:20rem;display:flex}.account-table-delete-button{color:var(--loss);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.8125rem;font-weight:600}.account-table-delete-button:hover{text-decoration:underline}.account-table-delete-button:disabled{opacity:.6;cursor:not-allowed}.budget-month-year-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.budget-summary-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.budget-category-section{margin-bottom:1.5rem}.budget-category-section h2{margin-bottom:.5rem;font-size:.9375rem}.budget-category-empty{color:var(--muted);font-size:.8125rem}.budget-amount-input{background:var(--bg);border:1px solid var(--border);width:7rem;color:var(--text);border-radius:.5rem;padding:.375rem .5rem;font-size:.8125rem}.budget-add-category-form{border-top:1px solid var(--border);margin-top:.875rem;padding-top:.875rem}.budget-add-category-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.budget-add-category-row .select,.budget-add-category-row .auth-input{flex:1;width:auto;min-width:8rem}.budget-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.budget-actions-right{flex-wrap:wrap;gap:.75rem;display:flex}.budget-danger-ghost{color:var(--loss);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;padding:.5rem .75rem;font-size:.8125rem}.budget-danger-ghost:hover:not(:disabled){background:#ef44441a}.budget-danger-ghost:disabled{opacity:.6;cursor:not-allowed}.budget-available-hero{text-align:center;border:1px solid var(--border);border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem 1rem}.budget-available-value{font-size:2rem;font-weight:700;line-height:1.2}.budget-available-label{color:var(--muted);margin-top:.25rem;font-size:.8125rem}.budget-available-hero--zero{background:var(--accent-dim)}.budget-available-hero--zero .budget-available-value{color:var(--accent)}.budget-available-hero--under{background:#f59e0b1a}.budget-available-hero--under .budget-available-value{color:var(--warn)}.budget-available-hero--over{background:#ef44441a}.budget-available-hero--over .budget-available-value{color:var(--loss)}.budget-category-group{border:1px solid var(--border);border-radius:1rem;margin-bottom:1.25rem;padding:1rem}.budget-category-group--over{border-color:#ef444466}.budget-category-group-head{align-items:center;gap:.625rem;margin-bottom:.875rem;display:flex}.budget-category-group-icon{background:var(--surface2);width:2rem;height:2rem;color:var(--muted);border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.budget-category-group--over .budget-category-group-icon{color:var(--loss);background:#ef44441f}.budget-category-group-title{flex:1;margin:0;font-size:.9375rem;font-weight:600}.budget-category-group-total{color:var(--muted);white-space:nowrap;align-items:center;gap:.25rem;font-size:.8125rem;display:flex}.budget-category-group-total--over{color:var(--loss);font-weight:600}.budget-category-list{flex-direction:column;gap:.75rem;display:flex}.budget-category-card{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;padding:1rem}.budget-category-card-header{justify-content:space-between;align-items:center;margin-bottom:.625rem;display:flex}.budget-category-name{font-size:.9375rem;font-weight:600}.budget-category-amounts{flex-wrap:wrap;gap:1.25rem;margin-bottom:.625rem;display:flex}.budget-amount-field{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;flex-direction:column;gap:.25rem;font-size:.6875rem;display:flex}.budget-actual-value{color:var(--text);text-transform:none;letter-spacing:normal;font-size:.9375rem;font-weight:600}.budget-progress{background:var(--surface2);border-radius:999px;width:100%;height:.5rem;overflow:hidden}.budget-progress-bar{border-radius:999px;height:100%;transition:width .2s}.budget-progress--ok .budget-progress-bar{background:var(--accent)}.budget-progress--warn .budget-progress-bar{background:var(--warn)}.budget-progress--over .budget-progress-bar{background:var(--loss)}.budget-progress-label{color:var(--muted);margin:.25rem 0 .625rem;font-size:.6875rem}.budget-transaction-list{flex-direction:column;gap:.25rem;margin:0 0 .625rem;padding:0;list-style:none;display:flex}.budget-transaction-row{color:var(--muted);border-bottom:1px solid var(--border);grid-template-columns:5.5rem 5rem 1fr auto;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.75rem;display:grid}.budget-transaction-note{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.budget-add-transaction-toggle{border:1px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:.5rem;width:100%;padding:.375rem .75rem;font-size:.8125rem}.budget-add-transaction-toggle:hover{border-color:var(--accent);color:var(--accent)}.budget-add-transaction-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.budget-add-transaction-form .auth-input{flex:1;width:auto;min-width:6rem}.budget-add-transaction-actions{gap:.5rem;display:flex}.budget-copy-confirm{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;flex-direction:column;gap:.75rem;width:100%;padding:1rem;display:flex}.budget-picker-wrap{margin-bottom:1.5rem}.budget-add-category-trigger{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:.625rem;justify-content:center;align-items:center;gap:.375rem;width:100%;padding:.625rem 1rem;font-size:.875rem;font-weight:600;display:flex}.budget-add-category-trigger:hover{filter:brightness(1.06)}.budget-picker{border:1px solid var(--border);border-radius:.875rem;margin-top:.625rem;padding:1rem}.budget-picker-label{color:var(--muted);margin:0 0 .5rem;font-size:.75rem}.budget-chip-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.budget-chip{background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;display:flex}.budget-chip:hover{border-color:var(--accent)}.budget-chip--active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.budget-chip-row--groups.has-selection .budget-chip:not(.budget-chip--active){opacity:.55}.budget-picker-items{border-top:1px dashed var(--border);margin-top:4px;margin-bottom:.75rem;padding-top:.75rem}.budget-picker-items-label{color:var(--text);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.budget-confirm-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.budget-confirm-row .auth-input{flex:1;width:auto;min-width:7rem}.budget-custom-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.375rem 0;font-size:.8125rem}.article-editor{flex-direction:column;gap:1.75rem;display:flex}.article-editor-subtitle{color:var(--text);margin:0 0 .25rem;font-size:1rem;font-weight:700}.article-status-panel,.article-translation-form{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;padding:1.25rem}.article-field-hint{color:var(--muted);margin:-.25rem 0 .25rem;font-size:.75rem}.article-body-textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;line-height:1.6}.article-editor-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.article-editor-saved{color:var(--accent);margin:0;font-size:.8125rem}.article-calc-insert{margin:.25rem 0 .75rem}.article-calc-insert-toggle{border:1px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:.5rem;padding:.4rem .75rem;font-size:.8125rem}.article-calc-insert-toggle:hover{color:var(--text);border-color:var(--accent)}.article-calc-insert-body{border:1px solid var(--border);background:var(--surface2);border-radius:.75rem;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:1rem;display:flex}.article-calc-insert-row{grid-template-columns:1fr 8rem;gap:.75rem;display:grid}.article-calc-insert-check{color:var(--text);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.article-editor-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding-bottom:.75rem;display:flex}.article-editor-tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.article-editor-tab:hover{background:var(--surface2)}.article-editor-tab--active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.article-editor-tab--has-content{color:var(--text)}.article-editor-tab-dot{color:var(--accent);font-size:.5rem;line-height:1}.article-status-badge{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.1875rem .5rem;font-size:.6875rem;font-weight:700;display:inline-block}.article-status-badge--published{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.article-status-badge--archived{opacity:.65}.article-locale-badges{flex-wrap:wrap;gap:.25rem;display:inline-flex}.article-locale-badge{text-transform:uppercase;background:var(--surface2);color:var(--muted);border-radius:.25rem;padding:.125rem .375rem;font-size:.625rem;font-weight:700}.article-upload{flex-direction:column;gap:.5rem;margin:.75rem 0;display:flex}.article-upload-dropzone{border:1px dashed var(--border);background:var(--surface2);border-radius:.75rem;padding:.875rem}.article-upload-dropzone:hover{border-color:var(--accent)}.article-upload-preview{border:1px solid var(--border);object-fit:cover;border-radius:.75rem;width:auto;max-width:100%;max-height:12rem}.article-upload-hint{color:var(--muted);margin:.5rem 0 0;font-size:.75rem}.article-upload-status{color:var(--muted);margin:0;font-size:.8125rem}.article-list-page{max-width:68rem;margin:0 auto;padding:2rem 1rem 4rem}.article-list-title{color:var(--text);margin:0 0 1.5rem;font-size:2rem;font-weight:700}.article-list-empty{color:var(--muted)}.article-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.5rem;display:grid}.article-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;transition:border-color .15s,transform .15s;overflow:hidden}.article-card:hover{border-color:var(--accent);transform:translateY(-2px)}.article-card-link{color:inherit;text-decoration:none;display:block}.article-card-cover{object-fit:cover;width:100%;height:10rem;display:block}.article-card-body{padding:1rem 1.125rem 1.25rem}.article-card-date{color:var(--muted);font-size:.75rem}.article-card-title{color:var(--text);margin:.375rem 0 .5rem;font-size:1.125rem;font-weight:700;line-height:1.35}.article-card-excerpt{color:var(--muted);margin:0 0 .75rem;font-size:.875rem;line-height:1.55}.article-card-more{color:var(--accent);font-size:.875rem;font-weight:600}.article-page{max-width:46rem;margin:0 auto;padding:2rem 1rem 4rem}.article-back-link{color:var(--muted);margin-bottom:1.25rem;font-size:.875rem;text-decoration:none;display:inline-block}.article-back-link:hover{color:var(--accent)}.article-cover{object-fit:cover;border:1px solid var(--border);border-radius:1rem;width:100%;max-height:24rem;margin-bottom:1.5rem;display:block}.article-title{color:var(--text);margin:0 0 .75rem;font-size:2.125rem;font-weight:700;line-height:1.2}.article-meta{color:var(--muted);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem 1.25rem;margin-bottom:1.75rem;padding-bottom:1.25rem;font-size:.8125rem;display:flex}.article-prose{color:var(--text);font-size:1.0625rem;line-height:1.75}.article-prose h2{margin:2rem 0 .75rem;font-size:1.5rem;font-weight:700}.article-prose h3{margin:1.75rem 0 .5rem;font-size:1.25rem;font-weight:700}.article-prose h4{margin:1.5rem 0 .5rem;font-size:1.0625rem;font-weight:700}.article-prose p{margin:0 0 1.125rem}.article-prose ul,.article-prose ol{margin:0 0 1.125rem;padding-left:1.5rem}.article-prose li{margin-bottom:.375rem}.article-prose a{color:var(--accent)}.article-prose img{border-radius:.75rem;max-width:100%;height:auto}.article-prose hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.article-prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:0 0 1.125rem;padding:.25rem 0 .25rem 1rem}.article-prose code{background:var(--surface2);border-radius:.375rem;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em}.article-prose pre{background:var(--surface2);border:1px solid var(--border);border-radius:.75rem;margin:0 0 1.125rem;padding:1rem;overflow-x:auto}.article-prose pre code{background:0 0;padding:0}.article-prose table{border-collapse:collapse;width:100%;margin:0 0 1.125rem;font-size:.9375rem}.article-prose th,.article-prose td{border:1px solid var(--border);text-align:left;padding:.5rem .625rem}.article-prose th{background:var(--surface2);font-weight:600}.work-time-calc--embed{margin:2rem 0}.work-time-calc--embed .calc-card{border:1px solid var(--border)}.article-actions{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:2.5rem 0;padding:1.25rem 0;display:flex}.article-like{flex-direction:column;gap:.375rem;display:flex}.article-like-button{color:var(--muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.article-like-button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.article-like-button:disabled{opacity:.6;cursor:default}.article-like-button--active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.article-like-button--guest{cursor:pointer}.article-like-count{font-variant-numeric:tabular-nums;background:var(--surface2);border-radius:999px;padding:.0625rem .5rem;font-size:.8125rem}.article-share{flex-direction:column;gap:.5rem;display:flex}.article-share-heading{color:var(--muted);font-size:.8125rem}.article-share-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.article-share-button{color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:.625rem;padding:.4375rem .875rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.article-share-button:hover{color:var(--accent);border-color:var(--accent)}.article-comments{margin-top:2.5rem}.article-comments-heading{color:var(--text);margin:0 0 1rem;font-size:1.25rem;font-weight:700}.article-comments-empty{color:var(--muted);font-size:.9375rem}.article-comments-list{flex-direction:column;gap:.875rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.article-comment{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;padding:.875rem 1rem}.article-comment-header{flex-wrap:wrap;align-items:baseline;gap:.5rem .875rem;display:flex}.article-comment-author{color:var(--text);font-size:.875rem;font-weight:600}.article-comment-date{color:var(--muted);font-size:.75rem}.article-comment-body{color:var(--text);white-space:pre-wrap;margin:.4375rem 0 0;font-size:.9375rem;line-height:1.6}.article-comment-form{flex-direction:column;gap:.625rem;display:flex}.article-comments-login{color:var(--muted);font-size:.9375rem}.article-comments-load-more{margin:0 0 1.5rem}.article-comments-load-more-button{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:.625rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.article-comments-load-more-button:hover{color:var(--accent);border-color:var(--accent)}.article-comments-load-more-button:disabled{opacity:.6;cursor:default}@media (max-width:40rem){.article-title{font-size:1.625rem}.article-actions{flex-direction:column;align-items:flex-start}}.subs-items{flex-direction:column;gap:.875rem;display:flex}.subs-item-row{border:1px solid var(--border);background-color:var(--bg);border-radius:.875rem;flex-direction:column;gap:.625rem;padding:.875rem;display:flex}.subs-item-row-top{align-items:center;gap:.5rem;display:flex}.subs-remove-btn{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background-color:#0000;border-radius:.625rem;flex-shrink:0;font-size:1.25rem;line-height:1;transition:all .15s}.subs-remove-btn:hover{border-color:var(--accent);color:var(--text)}.subs-item-row-grid{grid-template-columns:1fr;gap:.5rem;display:grid}@media (min-width:560px){.subs-item-row-grid{grid-template-columns:repeat(2,1fr)}}.subs-item-amount-row{gap:.5rem;display:flex}.subs-people-row{align-items:center;gap:.5rem;display:flex}.subs-people-label{color:var(--muted);white-space:nowrap;font-size:.8125rem}.subs-people-input{text-align:center;flex:none;width:4rem}.subs-item-share-hint{color:var(--accent);margin:0;font-size:.8125rem}.subs-add-btn{border:1px dashed var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:.75rem;align-self:flex-start;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:border-color .15s}.subs-add-btn:hover{border-color:var(--accent)}.subs-fx-status{color:var(--muted);margin:0;font-size:.8125rem}.subs-section-title{color:var(--text);margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.subs-categories{background-color:var(--surface);border-radius:1rem;padding:1.25rem}.subs-category-row+.subs-category-row{margin-top:.75rem}.subs-category-head{justify-content:space-between;margin-bottom:.3125rem;font-size:.8125rem;display:flex}.subs-category-name{color:var(--text);font-weight:500}.subs-category-value{color:var(--muted)}.subs-category-bar-track{background-color:var(--bg);border-radius:999px;height:.5rem;overflow:hidden}.subs-category-bar-fill{background-color:var(--accent);border-radius:999px;height:100%}.subs-investment-toggle{border:1px solid var(--border);background-color:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:border-color .15s}.subs-investment-toggle:hover{border-color:var(--accent)}.subs-investment-body{flex-direction:column;gap:.875rem;margin-top:.875rem;display:flex}.subs-investment-desc{color:var(--muted);margin:0;font-size:.8125rem}.subs-investment-gain{color:var(--accent);margin-top:.25rem;font-size:.75rem}.vac-params-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:480px){.vac-params-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.vac-params-grid{grid-template-columns:repeat(3,1fr)}}.vac-days-readout{color:var(--text);margin:1rem 0 0;font-size:.875rem;font-weight:600}.vac-advanced-toggle{border:1px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:.5rem;margin-top:.875rem;padding:.4rem .9rem;font-size:.8125rem;transition:border-color .15s,color .15s}.vac-advanced-toggle:hover{color:var(--text);border-color:var(--accent)}.vac-money-field{flex-direction:column;display:flex}.vac-money-row{grid-template-columns:1fr auto;gap:.5rem;display:grid}.vac-cur-select{min-width:5rem}.vac-fx-line{color:var(--muted);margin:.25rem 0 0;font-size:.8125rem}.vac-sublabel{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:1rem 0 .5rem;font-size:.8125rem;font-weight:700}.vac-sublabel:first-child{margin-top:0}.vac-row-top{grid-template-columns:1fr auto;align-items:center;gap:.5rem;display:grid}.vac-row-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.vac-row-controls .loan-mode-toggle{margin-bottom:0}.vac-row-controls .select{flex:8rem;width:auto}.vac-checkbox{color:var(--text);cursor:pointer;align-items:center;gap:.5rem;margin:.5rem 0;font-size:.875rem;display:flex}.vac-checkbox input{flex-shrink:0;width:1rem;height:1rem}.vac-checklist{flex-direction:column;gap:.25rem;margin-bottom:.5rem;display:flex}.vac-car-detail{border-left:2px solid var(--border);flex-direction:column;gap:.75rem;padding-left:.75rem;display:flex}.vac-meal-plan{flex-direction:column;gap:.75rem;display:flex}.vac-meal-cur-row{align-items:center;gap:.75rem;display:flex}.vac-meal-cur-row .label{margin:0}.vac-breakdown{grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem;display:grid}@media (min-width:640px){.vac-breakdown{grid-template-columns:1fr 1fr}}.vac-breakdown-title{color:var(--text);margin:0 0 .5rem;font-size:.875rem;font-weight:700}.vac-cat-table{border-collapse:collapse;width:100%;font-size:.875rem}.vac-cat-table td{border-bottom:1px solid var(--border);color:var(--text);padding:.35rem 0}.vac-cat-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.vac-cat-pct{text-align:right;color:var(--muted);white-space:nowrap;padding-left:.75rem}.vac-timeline{margin-top:1.5rem}.vac-timeline-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:.8125rem;display:flex}.vac-timeline-day{color:var(--text)}.vac-timeline-kind{color:var(--muted)}.vac-timeline-vals{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text)}.vac-warning{background-color:var(--accent);border-radius:.5rem;margin:.75rem 0 0;padding:.625rem .875rem}@supports (color:color-mix(in lab, red, red)){.vac-warning{background-color:color-mix(in srgb, var(--accent) 10%, transparent)}}.vac-warning{color:var(--text);font-size:.8125rem}.roi-mini-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;display:grid}@media (min-width:560px){.roi-mini-grid{grid-template-columns:repeat(2,1fr)}}.roi-suffix-row{align-items:center;gap:.5rem;display:flex}.roi-suffix-row .input{flex:1}.roi-suffix{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.roi-scenario-grid{grid-template-columns:1fr;gap:1rem;margin-top:1rem;display:grid}@media (min-width:720px){.roi-scenario-grid{grid-template-columns:repeat(3,1fr)}}.roi-scenario-card{border-top:3px solid var(--border)}.roi-scenario-card--pessimistic{border-top-color:var(--loss)}.roi-scenario-card--realistic{border-top-color:var(--accent)}.roi-scenario-card--optimistic{border-top-color:var(--warn)}.roi-scenario-name{color:var(--text);margin:0 0 .625rem;font-size:.9375rem;font-weight:600}.roi-scenario-dl{flex-direction:column;gap:.375rem;margin:0;display:flex}.roi-scenario-dl>div{justify-content:space-between;gap:.75rem;font-size:.8125rem;display:flex}.roi-scenario-dl dt{color:var(--muted)}.roi-scenario-dl dd{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;margin:0}.roi-chart-line--pessimistic{fill:none;stroke:var(--loss);stroke-width:2px}.roi-chart-line--realistic{fill:none;stroke:var(--accent);stroke-width:2px}.roi-chart-line--optimistic{fill:none;stroke:var(--warn);stroke-width:2px}.roi-chart-breakeven--pessimistic{stroke:var(--loss);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}.roi-chart-breakeven--realistic{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}.roi-chart-breakeven--optimistic{stroke:var(--warn);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
