.main-container{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:40px 20px}.page-title{max-width:1100px;font-family:var(--calc-font-headline);text-align:center;color:var(--calc-text-primary);letter-spacing:-.5px;text-wrap:balance;margin:15px auto 10px;font-size:clamp(1.9rem,4vw,2.25rem);font-weight:800;line-height:1.2}.main-container>.page-title:before{margin-inline:auto}.page-subtitle{max-width:760px;color:var(--calc-text-secondary);text-align:center;text-wrap:pretty;margin:0 auto 32px;font-size:1rem;line-height:1.55}.hsa{--hsa-accent:var(--calc-color-finance);color:var(--calc-text-primary);min-width:0;font:16px/1.5 system-ui,sans-serif}.hsa *{box-sizing:border-box}.hsa [hidden]{display:none}.hsa h2,.hsa h3,.hsa h4,.hsa p,.hsa figure{margin:0}.hsa h2{font-size:1.45rem;font-weight:750;line-height:1.35}.hsa h3{margin-bottom:12px;font-size:1.05rem;line-height:1.4}.hsa h4{margin:14px 0 8px;font-size:.95rem}.hsa .hsa-intro{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-top:4px solid var(--hsa-accent);border-radius:16px 16px 0 0;gap:9px;padding:26px 30px;display:grid}.hsa .hsa-eyebrow{text-transform:uppercase;letter-spacing:.09em;color:var(--calc-text-secondary);font-size:.73rem;font-weight:750}.hsa .hsa-help{color:var(--calc-text-secondary);font-size:.81rem;font-weight:400;line-height:1.5;display:block}.hsa p.hsa-help{margin:8px 0 14px}.hsa .hsa-example-strip{background:var(--calc-bg-card-elevated);border:1px solid var(--calc-border-default);border-top:0;gap:12px;margin-bottom:24px;padding:18px 26px;display:grid}.hsa #hsa-plan-origin{font-size:.86rem;font-weight:600}.hsa .hsa-inline-controls{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.hsa .hsa-inline-controls>label{font-size:.8rem;font-weight:650}.hsa .hsa-inline-controls>select{width:auto;max-width:100%}.hsa-actions{margin:28px 0 0}.hsa .hsa-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:start;gap:24px;display:grid}.hsa .hsa-editor,.hsa .hsa-output{min-width:0}.hsa .hsa-panel{border:1px solid var(--calc-border-default);background:var(--calc-bg-card);border-radius:14px;min-width:0;margin:0 0 16px;padding:20px}.hsa fieldset{min-inline-size:0}.hsa fieldset.hsa-panel>legend{padding:0 5px;font-size:1rem;font-weight:750}.hsa .hsa-group-label{margin:24px 0 12px}.hsa .hsa-fields{gap:16px;display:grid}.hsa .hsa-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.hsa .hsa-field{flex-direction:column;gap:6px;min-width:0;margin-bottom:14px;display:flex}.hsa .hsa-fields>.hsa-field{margin-bottom:3px}.hsa .hsa-field>label{font-size:.82rem;font-weight:650;line-height:1.35}.hsa input,.hsa select,.hsa textarea,.hsa button{font:inherit;color:var(--calc-text-primary)}.hsa input:not([type=checkbox]),.hsa select,.hsa textarea{border:1px solid var(--calc-border-default);background:var(--calc-bg-input);border-radius:8px;width:100%;min-width:0;max-width:100%;min-height:44px;padding:9px 10px;font-size:.86rem}.hsa input[type=date]{width:100%;min-width:0;max-width:100%}.hsa input[type=file]{white-space:normal}.hsa input[type=checkbox]{width:19px;height:19px;accent-color:var(--hsa-accent);flex-shrink:0;margin:2px 0}.hsa .hsa-check{align-items:flex-start;gap:10px;min-height:44px;padding:7px 0;font-size:.83rem;line-height:1.45;display:flex}.hsa button{border:1px solid var(--calc-border-default);cursor:pointer;background:var(--calc-bg-card-elevated);border-radius:8px;min-height:44px;padding:9px 13px;font-size:.82rem;font-weight:650;line-height:1.35}.hsa button:hover{background:var(--calc-bg-hover);border-color:var(--calc-border-strong)}.hsa button.hsa-primary{border-color:var(--hsa-accent);box-shadow:inset 0 0 0 1px var(--hsa-accent)}.hsa button:disabled{opacity:.5;cursor:not-allowed}.hsa :focus-visible{outline:3px solid var(--calc-cyan-accessible);outline-offset:3px}.hsa input[aria-invalid=true],.hsa select[aria-invalid=true]{border-color:var(--hsa-accent);box-shadow:0 0 0 1px var(--hsa-accent)}.hsa .hsa-field-error{color:var(--calc-text-primary);font-size:.79rem;font-weight:600;line-height:1.4;display:block}.hsa .hsa-field-error:empty,.hsa .hsa-help:empty{display:none}.hsa .hsa-disclosure{border-top:1px solid var(--calc-border-default);margin:16px 0 0;padding-top:16px}.hsa details>summary{cursor:pointer;min-height:44px;padding:9px 0;font-size:.92rem;font-weight:700;line-height:1.45}.hsa details.hsa-panel>summary{margin:-6px 0}.hsa .hsa-nested{border:1px solid var(--calc-border-default);background:var(--calc-bg-card-elevated);border-radius:8px;margin-bottom:14px;padding:10px}.hsa .hsa-month-editor{gap:0;display:grid}.hsa .hsa-month-row{border-bottom:1px solid var(--calc-border-subtle);grid-template-columns:70px minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px;padding:11px 0;display:grid}.hsa .hsa-month-row>strong{overflow-wrap:anywhere;align-self:center;font-size:.78rem}.hsa .hsa-month-row .hsa-field{gap:3px;margin:0}.hsa .hsa-month-row label{color:var(--calc-text-secondary);font-size:.7rem;font-weight:500}.hsa .hsa-month-row select{padding:8px 4px;font-size:.79rem}.hsa .hsa-ledger-entry{border:1px solid var(--calc-border-default);background:var(--calc-bg-card-elevated);border-radius:10px;margin:12px 0;padding:12px}.hsa .hsa-ledger-entry legend{font-size:.81rem;font-weight:700}.hsa .hsa-ledger-entry>button{margin-top:12px}.hsa .hsa-special{border:0;border-top:1px solid var(--calc-border-default);margin:20px 0;padding:12px 0 0}.hsa .hsa-special legend{font-size:.83rem;font-weight:700}.hsa .hsa-advanced-owner{border-top:1px solid var(--calc-border-default);padding:14px 0}.hsa .hsa-tag{color:var(--calc-text-secondary);border:1px solid var(--calc-border-default);vertical-align:middle;border-radius:20px;padding:4px 9px;font-size:.71rem;font-weight:550;display:inline-block}.hsa .hsa-form-actions{flex-wrap:wrap;gap:10px;margin:16px 0 24px;display:flex}.hsa .hsa-hero{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-top:4px solid var(--hsa-accent);z-index:2;box-shadow:0 8px 26px var(--calc-bg-glass);border-radius:14px;margin-bottom:16px;padding:26px;position:sticky;top:128px}.hsa .hsa-value{letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:12px 0;font-size:clamp(2rem,3.6vw,3rem);font-weight:800;line-height:1.2}.hsa #hsa-detail{color:var(--calc-text-secondary);font-size:.85rem;line-height:1.4}.hsa .hsa-metrics dl{border-top:1px solid var(--calc-border-default);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 0;padding-top:18px;display:grid}.hsa dt{color:var(--calc-text-secondary);font-size:.76rem;font-weight:500}.hsa dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 0;font-size:1.12rem;font-weight:750}.hsa .hsa-summary-list{gap:12px;margin:0;display:grid}.hsa .hsa-summary-list>div{border-bottom:1px solid var(--calc-border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;padding-bottom:10px;display:grid}.hsa .hsa-summary-list dd{text-align:right;margin:0;font-size:.92rem}.hsa .hsa-callout{border:1px solid var(--calc-border-default);border-left:4px solid var(--hsa-accent);background:var(--calc-bg-warning-tint);overflow-wrap:anywhere;border-radius:9px;margin-bottom:14px;padding:14px 16px;font-size:.82rem;line-height:1.5}.hsa .hsa-testing-result>.hsa-tag{margin-bottom:16px}.hsa .hsa-notice{border-radius:8px;min-height:0;margin:0 0 16px;font-size:.84rem}.hsa .hsa-notice:empty{margin:0}.hsa .hsa-notice:not(:empty){background:var(--calc-bg-card-elevated);border:1px solid var(--calc-border-default);padding:12px 16px}.hsa .hsa-validation{background:var(--calc-bg-warning-tint);border:1px solid var(--calc-border-default);border-radius:12px;margin-bottom:16px;padding:18px}.hsa .hsa-validation ul{max-height:340px;margin:8px 0;padding-left:20px;overflow:auto}.hsa .hsa-validation li{margin:6px 0}.hsa .hsa-validation button{text-align:left;background:var(--calc-bg-card);font-size:.78rem}.hsa .hsa-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.hsa .hsa-month{border:1px solid var(--calc-border-default);overflow-wrap:anywhere;border-radius:8px;flex-direction:column;gap:4px;min-width:0;padding:10px 8px;font-size:.72rem;line-height:1.35;display:flex}.hsa .hsa-month strong{font-size:.77rem}.hsa .hsa-month small{font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:650}.hsa .hsa-month.hsa-eligible{border-left:3px solid var(--hsa-accent);background:var(--calc-bg-card-elevated)}.hsa .hsa-month.hsa-ineligible{border-left:3px dashed var(--calc-border-strong)}.hsa .hsa-table-wrap{border:1px solid var(--calc-border-default);border-radius:8px;max-width:100%;margin-top:12px;overflow:auto}.hsa table{border-collapse:collapse;table-layout:auto;background:var(--calc-bg-card);font-variant-numeric:tabular-nums;width:100%;font-size:.75rem}.hsa caption{text-align:left;color:var(--calc-text-secondary);padding:10px;font-size:.75rem;font-weight:600}.hsa th,.hsa td{border-bottom:1px solid var(--calc-border-default);text-align:left;vertical-align:top;overflow-wrap:break-word;min-width:85px;max-width:260px;padding:10px 12px}.hsa thead{background:var(--calc-bg-card-elevated)}.hsa th:first-child{background:var(--calc-bg-card-elevated);z-index:1;min-width:75px;position:sticky;left:0}.hsa .hsa-bars{margin:14px 0}.hsa .hsa-bars figcaption{margin-bottom:12px;font-size:.8rem;font-weight:650}.hsa .hsa-bar-row{grid-template-columns:86px minmax(0,1fr) 105px;align-items:center;gap:7px;margin:8px 0;font-size:.72rem;display:grid}.hsa .hsa-bar-row strong{text-align:right;font-variant-numeric:tabular-nums}.hsa .hsa-bar-track{background:var(--calc-bg-input);border-radius:5px;height:10px;overflow:hidden}.hsa .hsa-bar-track>span{background:var(--hsa-accent);min-width:0;height:100%;display:block}.hsa .hsa-rule-ids{overflow-wrap:anywhere;color:var(--calc-text-secondary);font-size:.7rem;line-height:1.8;display:block}.hsa .hsa-sources a{color:var(--calc-cyan-accessible);text-underline-offset:3px;overflow-wrap:anywhere;padding:10px 0;font-size:.79rem;line-height:1.4;display:block}.hsa .hsa-data-panel{border:1px solid var(--calc-border-default);background:var(--calc-bg-card);border-radius:14px;margin:20px 0;padding:24px}.hsa .hsa-button-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.hsa .hsa-dialog{border:1px solid var(--calc-border-default);background:var(--calc-bg-card);width:min(780px,100% - 32px);max-height:88vh;color:var(--calc-text-primary);border-radius:16px;margin:auto;padding:26px;overflow:auto}.hsa .hsa-dialog::backdrop{background:var(--calc-bg-overlay)}.hsa .hsa-dialog h2{margin-bottom:18px}.hsa .hsa-dialog p{margin:14px 0;font-size:.87rem;line-height:1.55}.hsa .hsa-dialog .hsa-inline-controls{margin-top:20px}.hsa .hsa-dialog h3{margin-top:18px}.hsa .hsa-dialog input[type=file]{font-size:.78rem}.hsa .hsa-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=950px){.hsa .hsa-layout{grid-template-columns:minmax(0,1fr)}.hsa .hsa-hero{position:static}.hsa .hsa-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.hsa .hsa-value{font-size:2.6rem}.hsa .hsa-button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.hsa .hsa-intro{padding:20px 16px}.hsa .hsa-intro h2{font-size:1.14rem}.hsa .hsa-example-strip{padding:16px}.hsa .hsa-inline-controls{align-items:stretch}.hsa .hsa-inline-controls>label,.hsa .hsa-inline-controls>select{width:100%}.hsa .hsa-panel{padding:16px 13px}.hsa .hsa-fields.two{grid-template-columns:minmax(0,1fr)}.hsa .hsa-month-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.hsa .hsa-month-row>strong{grid-column:1/-1;font-size:.82rem}.hsa .hsa-month-row select{font-size:.78rem}.hsa .hsa-month-row label{font-size:.68rem}.hsa .hsa-hero{padding:22px 17px}.hsa .hsa-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.hsa .hsa-month{padding:9px 6px}.hsa .hsa-data-panel{padding:20px 15px}.hsa .hsa-button-grid{grid-template-columns:minmax(0,1fr)}.hsa .hsa-dialog{padding:20px 15px}.hsa .hsa-bar-row{grid-template-columns:76px minmax(0,1fr) 99px;font-size:.69rem}}@media (prefers-reduced-motion:reduce){.hsa *{scroll-behavior:auto;transition:none}}@media print{.hsa .hsa-editor,.hsa .hsa-example-strip,.hsa-actions,.hsa .hsa-data-panel,.hsa .hsa-notice,.hsa #hsa-shared-status,.hsa .hsa-dialog,.hsa button{display:none}.hsa .hsa-layout{display:block}.hsa .hsa-hero{box-shadow:none;break-inside:avoid;position:static}.hsa .hsa-panel{break-inside:avoid}.hsa .hsa-table-wrap{border:0;overflow:visible}.hsa th,.hsa td{min-width:0;padding:6px;font-size:9pt}.hsa th:first-child{position:static}.hsa .hsa-calendar{grid-template-columns:repeat(6,minmax(0,1fr))}.hsa .hsa-sources a{font-size:9pt}.hsa .hsa-sources a:after{content:" (" attr(href) ")";overflow-wrap:anywhere;font-size:8pt}.hsa details>summary{list-style:none}.hsa #hsa-errors{display:none}.hsa{color-scheme:light;--calc-bg-card:Canvas;--calc-bg-card-elevated:Canvas;--calc-bg-input:Canvas;--calc-text-primary:CanvasText;--calc-text-secondary:CanvasText;--calc-border-default:GrayText;--calc-cyan-accessible:LinkText;--hsa-accent:CanvasText;color:canvastext;background:canvas}.hsa *{transition:none;animation:none}.hsa .hsa-value{color:canvastext}}