:root{--color-primary:#1d70b8;--color-primary-dark:#003078;--color-primary-light:#e8f1fb;--color-success:#00703c;--color-success-bg:#f3fff6;--color-success-border:#b0e8cc;--color-warning:#f47738;--color-warning-bg:#fff7e6;--color-warning-border:#ffd388;--color-error:#d4351c;--color-error-bg:#fff0ee;--color-error-border:#f5b0a8;--color-text:#0b0c0c;--color-text-secondary:#505a5f;--color-text-hint:#767676;--color-bg:#f3f2f1;--color-surface:#fff;--color-border:#b1b4b6;--color-border-light:#e0e0e0;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-caption:15px;--font-size-base:17px;--font-size-md:18px;--font-size-lg:20px;--font-size-xl:24px;--font-size-2xl:32px;--font-size-3xl:52px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--transition-fast:.15s ease;--transition-medium:.25s ease;--max-width:480px;--sticky-bottom-height:88px;--card-radius:0px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}#root{flex-direction:column;min-height:100dvh;display:flex}.app{background:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}.card-center{flex-direction:column;flex:1;min-height:0;display:flex}.ad-sidebar{display:none}.screen{max-width:var(--max-width);background:var(--color-bg);flex-direction:column;flex:1;width:100%;margin:0 auto;display:flex;position:relative}.screen-enter{flex-direction:column;align-items:center;width:100%;animation:.28s cubic-bezier(.22,.61,.36,1) both slideInRight;display:flex}.screen-enter-back{flex-direction:column;align-items:center;width:100%;animation:.28s cubic-bezier(.22,.61,.36,1) both slideInLeft;display:flex}@keyframes slideInRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInFast{0%{opacity:0}to{opacity:1}}.gov-header{background:var(--color-primary-dark);padding:var(--space-3) var(--space-4);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.gov-header__logo{color:#fff;font-weight:700;font-size:var(--font-size-sm);letter-spacing:.5px;align-items:center;gap:var(--space-2);display:flex}.gov-header__crown{font-size:20px}.gov-header__actions{gap:var(--space-1);display:flex}.icon-btn{cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);color:#fff;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.icon-btn:hover{background:#ffffff26}.icon-btn:active{background:#ffffff40}.accent-bar{background:var(--color-primary);flex-shrink:0;height:5px}.progress-bar-wrapper{background:var(--color-surface);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.progress-bar-top{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.progress-bar-label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.progress-bar-steps{font-size:var(--font-size-sm);color:var(--color-text-hint)}.progress-bar-segments{gap:4px;display:flex}.progress-bar-segment{background:var(--color-border-light);border-radius:99px;flex:1;height:5px;transition:background .3s}.progress-bar-segment.filled{background:var(--color-primary)}.progress-bar-segment.active{background:var(--color-primary);opacity:.7}.step-container{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.step-content{padding:var(--space-5) var(--space-4);padding-bottom:var(--sticky-bottom-height);flex:1}.step-title{font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:var(--space-2);font-weight:800;line-height:1.25}.step-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--space-5);line-height:1.5}.step-section-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2);margin-top:var(--space-4);font-weight:600}.sticky-bottom{background:var(--color-surface);border-top:1px solid var(--color-border-light);padding:var(--space-3) var(--space-4);padding-bottom:max(var(--space-3), env(safe-area-inset-bottom));z-index:100;gap:var(--space-3);width:100%;max-width:var(--max-width);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-family);font-size:var(--font-size-md);height:54px;padding:0 var(--space-5);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;white-space:nowrap;-webkit-user-select:none;user-select:none;border:2px solid #0000;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:3px solid var(--color-warning);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;flex:1}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-primary-light)}.btn-secondary:active:not(:disabled){transform:scale(.98)}.btn-ghost{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-text-secondary)}.btn-ghost:active:not(:disabled){transform:scale(.98)}.btn-back{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn-back:hover:not(:disabled){background:var(--color-primary-light)}.btn-back:active:not(:disabled){transform:scale(.98)}.btn-full{width:100%}.btn-sm{height:40px;font-size:var(--font-size-sm);padding:0 var(--space-3)}.option-cards{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.option-card{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;text-align:left;width:100%;display:flex}.option-card:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.option-card.selected{border-color:var(--color-primary);background:var(--color-primary-light);border-width:2px}.option-card.selected .option-radio{border-color:var(--color-primary);background:var(--color-primary)}.option-card.selected .option-radio:after{opacity:1;transform:scale(1)}.option-radio{border:2px solid var(--color-border);width:22px;height:22px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.option-radio:after{content:"";opacity:0;width:8px;height:8px;transition:all var(--transition-fast);background:#fff;border-radius:50%;position:absolute;transform:scale(0)}.option-card-text{flex:1}.option-card-label{font-size:var(--font-size-md);color:var(--color-text);font-weight:500;line-height:1.3}.option-card-sublabel{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.yes-no-group{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.yes-no-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);height:54px;font-size:var(--font-size-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;font-weight:500;font-family:var(--font-family);flex:1}.yes-no-btn.selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.yes-no-btn:hover:not(.selected){border-color:var(--color-primary)}.checkbox-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin-bottom:var(--space-2);text-align:left;width:100%;display:flex}.checkbox-row:hover,.checkbox-row.checked{border-color:var(--color-primary);background:var(--color-primary-light)}.checkbox-box{border:2px solid var(--color-border);width:22px;height:22px;transition:all var(--transition-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.checkbox-row.checked .checkbox-box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-check{opacity:0;color:#fff;transition:opacity var(--transition-fast);font-size:13px;font-weight:700}.checkbox-row.checked .checkbox-check{opacity:1}.checkbox-row-text{flex:1}.checkbox-row-label{font-size:var(--font-size-base);color:var(--color-text);font-weight:500;line-height:1.4}.checkbox-row-sublabel{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.form-group{margin-bottom:var(--space-4)}.form-label{font-size:var(--font-size-base);color:var(--color-text);margin-bottom:var(--space-2);font-weight:600;line-height:1.3;display:block}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);line-height:1.4}.form-input{width:100%;height:48px;padding:0 var(--space-3);font-size:var(--font-size-md);font-family:var(--font-family);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);-webkit-appearance:none}.form-input:focus{border-color:var(--color-primary);padding-left:calc(var(--space-3) - 2px);border-left-width:4px;outline:none;box-shadow:inset 0 0 #0000}.currency-wrapper{align-items:center;display:flex;position:relative}.currency-symbol{left:var(--space-3);font-size:var(--font-size-md);color:var(--color-text-secondary);pointer-events:none;z-index:1;font-weight:600;position:absolute}.currency-wrapper input{padding-left:28px}.form-select{width:100%;height:48px;padding:0 var(--space-3);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23505a5f' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.form-select:focus{border-color:var(--color-primary);border-left-width:4px;outline:none}input[type=date]{width:100%;height:48px;padding:0 var(--space-3);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);-webkit-appearance:none}input[type=date]:focus{border-color:var(--color-primary);border-left-width:4px;outline:none}.info-box{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid;animation:.2s fadeIn;display:flex}.info-box--info{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:#1d70b84d}.info-box--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:#004b2a}.info-box--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:#5c3c00}.info-box--error{background:var(--color-error-bg);border-color:var(--color-error-border);color:#7a1f14}.info-box__icon{flex-shrink:0;margin-top:1px;font-size:18px}.info-box__text{font-size:var(--font-size-sm);flex:1;line-height:1.5}.info-box__text strong{margin-bottom:2px;font-weight:700;display:block}.child-entry-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-3);animation:.25s fadeIn}.child-entry-card__header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.child-entry-card__title{font-size:var(--font-size-base);color:var(--color-text);align-items:center;gap:var(--space-2);font-weight:700;display:flex}.child-entry-card__age{font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-bg);border-radius:99px;padding:2px 8px}.child-entry-card__remove{cursor:pointer;color:var(--color-error);font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;font-weight:600}.child-entry-card__remove:hover{background:var(--color-error-bg)}.add-child-btn{border:2px dashed var(--color-primary);border-radius:var(--radius-sm);width:100%;height:54px;color:var(--color-primary);font-size:var(--font-size-base);font-weight:600;font-family:var(--font-family);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:all var(--transition-fast);margin-bottom:var(--space-3);-webkit-tap-highlight-color:transparent;background:0 0;display:flex}.add-child-btn:hover{background:var(--color-primary-light)}.benefit-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-3);animation:.3s fadeIn;display:flex;overflow:hidden}.benefit-card__accent{border-radius:var(--radius-sm) 0 0 var(--radius-sm);flex-shrink:0;width:4px}.benefit-card__accent--eligible{background:var(--color-success)}.benefit-card__accent--warning{background:var(--color-warning)}.benefit-card__accent--ineligible{background:var(--color-border)}.benefit-card__header{padding:var(--space-4);align-items:flex-start;gap:var(--space-3);display:flex}.benefit-card__icon{border-radius:var(--radius-md);background:var(--color-bg);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.benefit-card__icon--eligible{background:var(--color-success-bg)}.benefit-card__icon--info{background:var(--color-primary-light)}.benefit-card__main{flex:1;min-width:0}.benefit-card__name{font-size:var(--font-size-base);color:var(--color-text);margin-bottom:2px;font-weight:700;line-height:1.3}.benefit-card__amount{font-size:var(--font-size-md);color:var(--color-success);font-weight:700}.benefit-card__amount--estimate{color:var(--color-primary)}.benefit-card__amount--non-monetary{color:var(--color-primary);font-size:var(--font-size-sm)}.benefit-card__body{padding:0 var(--space-4) var(--space-4)}.benefit-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);line-height:1.5}.benefit-card__findings{margin-bottom:var(--space-3)}.benefit-card__finding{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);display:flex}.benefit-card__finding:last-child{border-bottom:none}.benefit-card__finding-hours{color:var(--color-success);flex-shrink:0;min-width:110px;font-weight:700}.benefit-card__finding-detail{color:var(--color-text-secondary)}.benefit-card__grants{margin-bottom:var(--space-3)}.benefit-card__grant-item{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);display:flex}.benefit-card__grant-item:last-child{border-bottom:none}.benefit-card__grant-label{color:var(--color-text)}.benefit-card__grant-amount{color:var(--color-success);white-space:nowrap;font-weight:700}.benefit-card__alert{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-2);font-size:var(--font-size-sm);line-height:1.4;display:flex}.benefit-card__alert--warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:#5c3c00}.benefit-card__alert--info{background:var(--color-primary-light);color:var(--color-primary-dark);border:1px solid #1d70b840}.benefit-card__link{color:var(--color-primary);font-size:var(--font-size-sm);padding:var(--space-2) 0;transition:color var(--transition-fast);align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.benefit-card__link:hover{color:var(--color-primary-dark);text-decoration:underline}.benefit-card__ineligible-reason{font-size:var(--font-size-sm);color:var(--color-text-hint);font-style:italic}.welcome{flex-direction:column;flex:1;display:flex}.third-party-badge{align-items:center;gap:var(--space-2);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:#7a4100;font-size:var(--font-size-xs);padding:4px var(--space-3);margin-bottom:var(--space-4);border-radius:99px;font-weight:600;display:inline-flex}.third-party-badge__icon{font-size:12px}.welcome-title-block{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);padding-top:36px;display:flex}.welcome-title-bar{background:var(--color-primary);border-radius:2px;flex-shrink:0;align-self:stretch;width:5px}.welcome-title-text{flex:1}.welcome-gov-label{font-size:var(--font-size-caption);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1)}.welcome-main-title{font-size:var(--font-size-2xl);color:var(--color-text);font-weight:700;line-height:1.2}.welcome-body{padding:var(--space-5) var(--space-4);padding-bottom:var(--sticky-bottom-height);flex:1;overflow-y:auto}.notice-box{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);display:flex}.notice-box--success{background:var(--color-success-bg)}.notice-box--warning{background:var(--color-warning-bg)}.notice-box__icon{flex-shrink:0;padding-top:1px;font-size:20px}.notice-box__title{font-size:var(--font-size-base);color:var(--color-text);margin-bottom:4px;font-weight:600}.notice-box__text{font-size:var(--font-size-caption);color:var(--color-text);line-height:1.5}.checklist{margin-bottom:var(--space-4);list-style:none}.checklist__item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-base);color:var(--color-text);display:flex}.checklist__item:last-child{border-bottom:none}.checklist__icon{color:var(--color-success);flex-shrink:0;margin-top:2px;font-size:16px}.section-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-4)}.section-card__title{font-size:var(--font-size-base);color:var(--color-text);margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);font-weight:700;display:flex}.section-card__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.results{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.results-header{padding:var(--space-5) var(--space-4);background:var(--color-success);color:#fff;text-align:left;flex-shrink:0}.results-header__emoji{margin-bottom:var(--space-2);font-size:44px}.results-header__badge{color:#fff;font-size:var(--font-size-sm);margin-bottom:var(--space-3);background:#fff3;border-radius:99px;align-items:center;padding:4px 12px;font-weight:700;display:inline-flex}.results-header__total{font-size:var(--font-size-3xl);margin-bottom:4px;font-weight:800;line-height:1}.results-header__per-month{font-size:var(--font-size-sm);opacity:.85}.results-body{padding:var(--space-4);padding-bottom:160px}.results-section-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-secondary);margin-bottom:var(--space-3);margin-top:var(--space-5);align-items:center;gap:var(--space-2);font-weight:700;display:flex}.results-section-title:first-child{margin-top:0}.results-sticky-header{background:var(--color-primary-dark);z-index:50;padding:var(--space-3) var(--space-4);color:#fff;opacity:0;pointer-events:none;justify-content:space-between;align-items:center;transition:opacity .2s;display:flex;position:sticky;top:0}.results-sticky-header.visible{opacity:1;pointer-events:auto}.results-sticky-header__info{flex:1}.results-sticky-header__text{font-weight:700;font-size:var(--font-size-base)}.results-sticky-header__amount{font-size:var(--font-size-sm);opacity:.85}.ineligible-toggle{cursor:pointer;width:100%;padding:var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);margin-bottom:var(--space-2);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.deadline-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm)}.deadline-card__title{font-size:var(--font-size-base);color:var(--color-text);margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);font-weight:700;display:flex}.deadline-item{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);display:flex}.deadline-item:last-child{border-bottom:none}.deadline-item__countdown{min-width:80px;font-size:var(--font-size-xs);text-align:center;border-radius:99px;flex-shrink:0;padding:3px 8px;font-weight:700}.deadline-item__countdown--normal{color:var(--color-text-secondary);background:#f0f0f0}.deadline-item__countdown--warning{background:var(--color-warning-bg);color:var(--color-warning)}.deadline-item__countdown--critical{background:var(--color-error-bg);color:var(--color-error)}.deadline-item__text{flex:1}.deadline-item__term{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.deadline-item__date{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s fadeInFast;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:var(--max-width);flex-direction:column;max-height:85dvh;animation:.3s cubic-bezier(.22,.61,.36,1) slideUp;display:flex;overflow:hidden}@keyframes slideUp{0%{opacity:.5;transform:translateY(60%)}to{opacity:1;transform:translateY(0)}}.modal-handle{background:var(--color-border);width:36px;height:4px;margin:var(--space-3) auto var(--space-2);border-radius:2px;flex-shrink:0}.modal-header{padding:0 var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700}.modal-close{background:var(--color-bg);cursor:pointer;width:32px;height:32px;color:var(--color-text-secondary);transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.modal-close:hover{background:var(--color-border-light)}.modal-body{padding:var(--space-4);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.history-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-2);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;text-align:left;width:100%;display:flex}.history-item:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.history-item__icon{background:var(--color-bg);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.history-item__main{flex:1;min-width:0}.history-item__label{font-size:var(--font-size-base);color:var(--color-text);font-weight:600}.history-item__date{font-size:var(--font-size-xs);color:var(--color-text-hint);margin-top:2px}.history-item__value{font-size:var(--font-size-sm);color:var(--color-success);white-space:nowrap;font-weight:700}.history-item__delete{cursor:pointer;color:var(--color-border);padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;font-size:16px}.history-item__delete:hover{color:var(--color-error)}.about-section{margin-bottom:var(--space-5)}.about-section__title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-secondary);margin-bottom:var(--space-3);font-weight:700}.about-link{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);color:var(--color-primary);font-size:var(--font-size-base);transition:color var(--transition-fast);text-decoration:none;display:flex}.about-link:last-child{border-bottom:none}.about-link:hover{color:var(--color-primary-dark)}.about-version{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-hint);margin-top:var(--space-5)}.tax-year-picker{background:var(--color-bg);border-radius:var(--radius-md);margin-bottom:var(--space-4);gap:3px;padding:3px;display:flex}.tax-year-option{height:36px;font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-weight:500;font-family:var(--font-family);background:0 0;border:none;flex:1}.tax-year-option.selected{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);font-weight:700}.dob-picker{gap:var(--space-3);display:flex}.dob-picker__field{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.dob-picker__field--month{flex:2}.dob-picker__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.dob-picker__select{width:100%}.divider{background:var(--color-border-light);height:1px;margin:var(--space-4) 0}.results-actions{gap:var(--space-3);padding:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));flex-direction:column;display:flex}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-secondary)}.empty-state__icon{margin-bottom:var(--space-3);font-size:48px}.empty-state__title{font-size:var(--font-size-lg);color:var(--color-text);margin-bottom:var(--space-2);font-weight:700}.empty-state__text{font-size:var(--font-size-base);line-height:1.5}.disclaimer-body{padding:var(--space-5) var(--space-4);padding-bottom:var(--sticky-bottom-height);flex:1;overflow-y:auto}@media (width>=640px){:root{--card-radius:16px}.app{min-height:100dvh;padding:var(--space-8) var(--space-6);justify-content:center;align-items:center;gap:var(--space-6);background:linear-gradient(160deg,#001b4d 0%,#003078 45%,#004994 100%);flex-direction:row}.card-center{flex-direction:column;flex:none;align-items:center;width:430px;display:flex}.screen{width:430px;max-width:430px;max-height:820px;height:calc(100dvh - var(--space-8) * 2);border-radius:var(--card-radius);background:var(--color-bg);flex:none;margin:0;overflow:hidden;box-shadow:0 32px 64px #00000073,0 8px 24px #0000004d,0 0 0 1px #ffffff0f}.screen-enter,.screen-enter-back{width:430px}.sticky-bottom{flex-shrink:0;width:100%;max-width:none;position:relative;bottom:auto;left:auto;transform:none}.step-content{padding-bottom:var(--space-5)}.results-body{padding-bottom:var(--space-8)}.results-actions,.disclaimer-body{padding-bottom:var(--space-5)}.modal-overlay{border-radius:var(--card-radius)}}@media (width>=1060px){.ad-sidebar{flex-direction:column;flex:0 0 160px;align-self:center;align-items:center;display:flex}.ad-sidebar__label{color:#ffffff59;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2);font-size:11px;font-weight:500}.ad-sidebar .adsbygoogle{border-radius:var(--radius-md);background:#ffffff0a;border:1px dashed #ffffff1f}}
