.btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.btn--primary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:#fff;background:var(--color-primary-600);border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.btn--primary:hover{background:var(--color-primary-700)}.btn--outline{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-semibold);background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.btn--outline:hover{background:var(--color-surface-raised);border-color:var(--color-text-muted)}.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.share-section{margin-top:var(--space-8);text-align:center}.share-support{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.share-support__icon{display:inline-flex}.share-support__link{color:var(--color-primary-600);font-weight:var(--weight-semibold);text-decoration:none}.share-support__link:hover{text-decoration:underline}.share-section__heading{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3)}.share-section__buttons{display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex-wrap:wrap}.share-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-full);text-decoration:none;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.share-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.share-btn__icon{display:inline-flex}.share-more{position:relative}.share-more__dropdown{display:none;position:absolute;bottom:100%;right:0;margin-bottom:var(--space-2);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:10;flex-direction:column;gap:var(--space-1);min-width:160px}.share-more__dropdown--open{display:flex}.share-more__dropdown .share-btn{width:100%;justify-content:flex-start;border:none;border-radius:var(--radius-lg);background:transparent}.share-more__dropdown .share-btn:hover{background:var(--color-surface-raised)}.privacy-hint{margin-top:var(--space-6);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;background:var(--color-surface-raised);border-radius:var(--radius-lg);line-height:var(--leading-relaxed)}.fin{max-width:1040px;margin-inline:auto}.fin__subtitle{text-align:center;color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-relaxed);max-width:640px;margin:0 auto var(--space-4)}.fin__crosslink{display:block;text-align:center;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary-600);text-decoration:none;margin:0 auto var(--space-8)}.fin__crosslink:hover{text-decoration:underline}.fin__grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:var(--space-6);align-items:start}@media(max-width:860px){.fin__grid{grid-template-columns:1fr}}.fin__form{padding:var(--space-6);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);position:sticky;top:calc(var(--header-height) + var(--space-4));display:flex;flex-direction:column;gap:var(--space-4)}@media(max-width:860px){.fin__form{position:static}}.fin__form-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.fin__fieldset{display:flex;flex-direction:column;gap:var(--space-4);border:none;padding:0;margin:0}.fin__fieldset-legend{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:0;margin-bottom:var(--space-1)}.fin-field{display:flex;flex-direction:column;gap:var(--space-1)}.fin-field__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.fin-field__control{display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-fast)}.fin-field__control:focus-within{border-color:var(--color-focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus-ring) 20%,transparent)}.fin-field__prefix,.fin-field__suffix{padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.fin-field__input{flex:1;min-width:0;padding:var(--space-3);font-family:inherit;font-size:var(--text-base);color:var(--color-text);background:transparent;border:none;outline:none}.fin-field__control--money .fin-field__input{padding-left:var(--space-1)}.fin-field__control--suffix .fin-field__input{padding-right:var(--space-1)}.fin-field__input::-webkit-outer-spin-button,.fin-field__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fin-field__input[type=number]{-moz-appearance:textfield;appearance:textfield}.fin-field__select{padding:var(--space-3);font-family:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer}.fin-field__select:focus-visible{outline:none;border-color:var(--color-focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus-ring) 20%,transparent)}.fin-field__hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.fin-field__labelrow{display:flex;align-items:center;gap:var(--space-2)}.fin-field__info-wrap{position:relative;display:inline-flex}.fin-field__info{appearance:none;width:15px;height:15px;padding:0;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-sans);font-size:10px;font-weight:var(--weight-bold);font-style:italic;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:help}.fin-field__info:hover,.fin-field__info:focus-visible{border-color:var(--color-primary-400);color:var(--color-primary-600);outline:none}.fin-field__tip{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:max-content;max-width:min(240px,72vw);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--text-xs);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);color:var(--color-text-muted);white-space:normal;text-align:left}.fin-field__info-wrap:hover .fin-field__tip,.fin-field__info-wrap:focus-within .fin-field__tip{display:block}.fin-field--check{flex-direction:row;align-items:center;gap:var(--space-2)}.fin-field__checkbox{width:1rem;height:1rem;accent-color:var(--color-primary-600);cursor:pointer}.fin-field__check-label{font-size:var(--text-sm);color:var(--color-text);cursor:pointer}.fin__results{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.fin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.fin-stat{padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.fin-stat--primary{background:color-mix(in srgb,var(--color-secondary-500) 12%,var(--color-surface-raised));border-color:color-mix(in srgb,var(--color-secondary-500) 40%,var(--color-border))}.fin-stat__label{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.04em}.fin-stat__value{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text);margin:0;line-height:var(--leading-tight)}.fin-stat__hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0}.fin-section{padding:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.fin-section__title{font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0 0 var(--space-4);color:var(--color-text)}.fin-callout{padding:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text);background:color-mix(in srgb,var(--color-secondary-500) 10%,var(--color-surface-raised));border:1px solid color-mix(in srgb,var(--color-secondary-500) 30%,var(--color-border));border-radius:var(--radius-lg)}.fin-callout strong{color:var(--color-secondary-700)}.fin-callout__detail{display:block;margin-top:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--color-text-muted);line-height:var(--leading-relaxed)}[data-theme=dark] .fin-callout strong{color:var(--color-secondary-300)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .fin-callout strong{color:var(--color-secondary-300)}}.fin-chart__plot{position:relative}.fin-chart__svg{display:block;overflow:visible}.fin-chart__grid{stroke:var(--color-border);stroke-width:1;stroke-dasharray:2 4}.fin-chart__grid--zero{stroke:var(--color-text-muted);stroke-dasharray:none;stroke-width:1.5}.fin-chart__marker{stroke:var(--color-warn-500);stroke-width:1.5;stroke-dasharray:4 3}.fin-chart__marker-label{fill:var(--color-warn-700);font-size:11px;font-family:var(--font-sans)}[data-theme=dark] .fin-chart__marker-label{fill:var(--color-warn-500)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .fin-chart__marker-label{fill:var(--color-warn-500)}}.fin-chart__axis{fill:var(--color-text-muted);font-size:11px;font-family:var(--font-sans)}.fin-chart__guide{stroke:var(--color-text-muted);stroke-width:1;stroke-dasharray:3 3}.fin-chart__focus{fill:var(--color-surface-raised);stroke:var(--color-text);stroke-width:2}.fin-chart__tooltip{position:absolute;top:var(--space-2);transform:translate(-50%);min-width:160px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--text-xs);pointer-events:none;z-index:2}.fin-chart__tooltip strong{display:block;margin-bottom:var(--space-1);color:var(--color-text)}.fin-chart__tip-row{display:flex;align-items:center;gap:var(--space-2);margin-top:2px}.fin-chart__tip-label{color:var(--color-text-muted)}.fin-chart__tip-value{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--color-text)}.fin-chart__swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.fin-chart__legend{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-4);justify-content:center}.fin-chart__legend--stack{flex-direction:column;gap:var(--space-2);justify-content:flex-start}.fin-chart__legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.fin-chart__legend--stack .fin-chart__legend-value{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--color-text)}.fin-chart__donut{max-width:240px}.fin-chart__donut-label{fill:var(--color-text-muted);font-size:12px}.fin-chart__donut-value{fill:var(--color-text);font-size:20px;font-weight:700}.fin-chart__donut-wrap{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;justify-content:center}.fin-chart__donut-wrap .fin-chart__legend{flex:1;min-width:180px}.fin-schedule{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}.fin-schedule__summary{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);cursor:pointer}.fin-schedule__scroll{max-height:360px;overflow:auto;border-top:1px solid var(--color-border)}.fin-schedule__table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.fin-schedule__table th,.fin-schedule__table td{padding:var(--space-2) var(--space-3);text-align:right;white-space:nowrap}.fin-schedule__table th:first-child,.fin-schedule__table td:first-child{text-align:left}.fin-schedule__table thead th{position:sticky;top:0;background:var(--color-surface);color:var(--color-text-muted);font-weight:var(--weight-semibold);border-bottom:1px solid var(--color-border)}.fin-schedule__table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-text) 3%,transparent)}.fin__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.fin-advanced{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--space-4);background:var(--color-surface)}.fin-advanced[open]{padding-bottom:var(--space-4)}.fin-advanced__summary{padding:var(--space-3) 0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);cursor:pointer}.fin-advanced .fin-field+.fin-field{margin-top:var(--space-4)}
