:root{color:#183230;font-synthesis:none;text-rendering:optimizelegibility;--ink:#183230;--muted:#5e7470;--line:#d6e4df;--surface:#fff;--surface-soft:#edf7f3;--teal:#087f6d;--teal-dark:#056557;--teal-pale:#dff3ed;--amber:#a86300;--amber-pale:#fff5d9;--red:#b42318;--red-pale:#fff0ee;--blue-pale:#eaf4ff;--shadow:0 14px 38px #10443b17;background:#f3f8f6;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:#f3f8f6;margin:0}button,input,select{font:inherit}button,input,select,summary{min-height:44px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #087f6d47}[hidden]{display:none!important}.app-shell{width:min(100%,980px);margin:0 auto;padding:20px 18px 88px}.hero{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#e9f7f1 100%);border-radius:26px;padding:30px}.hero__eyebrow{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.hero h1{letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:clamp(1.65rem,5vw,2.55rem)}.hero__lead{max-width:720px;color:var(--muted);margin:12px 0 20px;line-height:1.8}.badge{color:#405a56;background:#e8efed;border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.badge--estimate{background:var(--amber-pale);color:#7d4d00}.badge--private{background:var(--teal-pale);color:var(--teal-dark)}.badge--danger{background:var(--red-pale);color:var(--red)}.privacy-strip{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.privacy-strip span{background:#ffffffbd;border-radius:14px;padding:12px;font-size:.82rem;line-height:1.55}.privacy-strip strong{color:var(--teal-dark);display:block}.stepper{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f8f6f2;border-radius:16px;margin:18px 0;padding:10px 14px;position:sticky;top:0}.stepper ol{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.stepper li{color:var(--muted);border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:.84rem;font-weight:700;display:flex}.stepper li span{background:#dbe7e3;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.stepper li.is-current{background:var(--surface);color:var(--teal-dark);box-shadow:0 2px 10px #14494114}.stepper li.is-current span,.stepper li.is-complete span{background:var(--teal);color:#fff}.step-section{border:1px solid var(--line);background:var(--surface);border-radius:22px;margin-top:18px;padding:28px;scroll-margin-top:92px;box-shadow:0 8px 26px #1449410e}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.section-kicker{color:var(--teal);letter-spacing:.13em;margin:0 0 4px;font-size:.75rem;font-weight:800}.section-heading h2{margin:0;font-size:clamp(1.35rem,4vw,1.75rem)}.section-note{color:var(--muted);font-size:.8rem}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:12px;font-weight:800}.route-picker{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:22px;display:grid}.route-picker legend{grid-column:1/-1}.route-card{border:2px solid var(--line);cursor:pointer;border-radius:16px;align-items:center;gap:12px;min-height:76px;padding:14px;transition:border-color .2s,background .2s;display:flex;position:relative}.route-card.is-selected{border-color:var(--teal);background:var(--surface-soft)}.route-card:focus-within{outline-offset:2px;outline:3px solid #087f6d47}.route-card input{opacity:0;pointer-events:none;position:absolute}.route-card__icon{background:var(--teal-pale);height:42px;color:var(--teal-dark);border-radius:12px;flex:0 0 42px;place-items:center;font-size:1.35rem;display:grid}.route-card strong,.route-card small{display:block}.route-card small{color:var(--muted);margin-top:3px;line-height:1.45}.form-grid{gap:16px;display:grid}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field>span:first-child{font-size:.9rem;font-weight:750}.field small{color:var(--muted);font-size:.76rem;line-height:1.5}.field--wide{margin-top:16px}.field--action .button{width:100%}input,select{width:100%;color:var(--ink);background:#fff;border:1px solid #b9cec7;border-radius:11px}input{padding:11px 13px}select{padding:9px 36px 9px 12px}.money-input{display:block;position:relative}.money-input input{text-align:right;font-variant-numeric:tabular-nums;padding-right:48px}.money-input em{color:var(--muted);font-size:.83rem;font-style:normal;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.source-fields{margin-top:18px}.formula-preview{background:var(--surface-soft);color:var(--muted);border-radius:12px;margin:14px 0 0;padding:12px 14px}.formula-preview strong{color:var(--teal-dark)}.year-source-row{grid-template-columns:220px 1fr;align-items:end;gap:14px;margin-top:16px;display:grid}.year-warning{background:var(--amber-pale);color:#734900;border-radius:11px;min-height:44px;padding:11px 13px;font-size:.82rem;line-height:1.55}.notice{border-left:5px solid var(--teal);background:var(--surface-soft);border-radius:14px;margin:16px 0;padding:15px 17px;line-height:1.7}.notice strong{display:block}.notice p{margin:3px 0 0}.notice--privacy{background:var(--blue-pale);border-left-color:#2676ad}.notice--warning{background:var(--amber-pale);border-left-color:var(--amber);color:#684300}.notice--error{background:var(--red-pale);border-left-color:var(--red);color:#7c1e16}.notice--neutral{background:#f2f5f4;border-left-color:#879b97}.ocr-panel{background:#f8fbfa;border-radius:18px;padding:18px}.ocr-status{color:var(--muted);align-items:center;gap:9px;margin:16px 0;font-size:.86rem;display:flex}.status-dot{background:#95a7a3;border-radius:50%;width:9px;height:9px}.ocr-status.is-busy .status-dot{background:var(--amber);animation:1s infinite pulse}.ocr-status.is-ready .status-dot{background:var(--teal)}.ocr-status.is-error .status-dot{background:var(--red)}.file-drop{position:relative}.file-drop input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.file-drop label{cursor:pointer;text-align:center;background:#fff;border:2px dashed #8eb8ae;border-radius:18px;place-items:center;min-height:170px;padding:24px;display:grid}.file-drop:focus-within label{outline-offset:2px;border-color:var(--teal);outline:3px solid #087f6d47}.file-drop__icon{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:45px;height:45px;margin-bottom:8px;font-size:1.5rem;display:grid}.file-drop small{color:var(--muted);margin-top:5px}.ocr-workspace{grid-template-columns:minmax(260px,.82fr) minmax(300px,1.18fr);gap:18px;margin-top:18px;display:grid}.document-preview{min-width:0}.document-preview canvas{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:100%;height:auto;display:block}.preview-caption{color:var(--muted);font-size:.76rem}.candidate-panel__heading h3{margin:0}.candidate-panel__heading p{color:var(--muted);margin:5px 0 12px;font-size:.82rem}.candidate{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:12px;padding:13px}.candidate.is-low{background:#fffaf0;border-color:#e7b34f}.candidate__top{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.candidate__confidence{color:var(--muted);font-size:.75rem}.candidate__snippet{color:var(--muted);margin:6px 0;font-size:.75rem}.candidate__actions{grid-template-columns:1fr auto;gap:8px;display:grid}.scope-check,.filing-check{border:1px solid var(--line);background:#fbfdfc;border-radius:16px;margin-top:22px;padding:18px}.scope-check label{border-radius:10px;align-items:flex-start;gap:11px;min-height:44px;padding:10px 8px;display:flex}.scope-check label:focus-within,.check-grid label:focus-within,.inline-confirm:focus-within{outline-offset:1px;background:var(--surface-soft);outline:3px solid #087f6d47}.scope-check input,.filing-check input{width:21px;min-height:21px;accent-color:var(--teal);flex:0 0 21px;margin-top:2px}.scope-check strong,.scope-check small{display:block}.scope-check small{color:var(--muted);margin-top:3px}.filing-check>p{color:var(--muted);margin:-4px 0 13px;font-size:.82rem}.check-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.check-grid label{border-radius:9px;align-items:flex-start;gap:7px;min-height:44px;padding:8px;font-size:.84rem;line-height:1.5;display:flex}.inline-confirm{background:var(--amber-pale);border:1px solid #dfbd70;border-radius:12px;align-items:flex-start;gap:10px;min-height:44px;margin-top:12px;padding:11px;display:flex}.inline-confirm input{width:21px;min-height:21px;accent-color:var(--teal);flex:0 0 21px;margin-top:2px}.inline-confirm strong,.inline-confirm small{display:block}.inline-confirm small{color:#6c4a0f;margin-top:3px;line-height:1.5}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:46px;padding:10px 17px;font-weight:800;text-decoration:none;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.55}.button--primary{background:var(--teal);color:#fff;box-shadow:0 7px 18px #087f6d2e}.button--primary:hover{background:var(--teal-dark)}.button--secondary{border-color:var(--teal);color:var(--teal-dark);background:#fff}.button--ghost{border-color:var(--line);color:var(--ink);background:#fff}.step-next{width:100%;margin-top:22px}.button-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.button-row--between{justify-content:space-between}.distribution-preview{background:var(--surface-soft);border-radius:15px;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-top:16px;padding:18px;display:flex}.distribution-preview span{color:var(--muted)}.distribution-preview strong{color:var(--teal-dark);font-variant-numeric:tabular-nums;font-size:1.65rem}.distribution-preview small{color:var(--muted);flex-basis:100%}.advanced{border:1px solid var(--line);border-radius:15px;margin-top:18px;overflow:hidden}.advanced summary,.calculation-details summary{cursor:pointer;padding:14px 17px;font-weight:800}.advanced__content{padding:4px 17px 18px}.results-section{background:linear-gradient(#fff 0%,#f7fbf9 100%)}.result-status{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.result-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#075f54,#0b8c77);border-radius:19px;padding:24px}.result-hero p{opacity:.87;margin:0 0 7px}.result-hero>strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(2rem,8vw,3.2rem);display:block}.yield-pair{flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:13px;display:flex}.yield-pair span{background:#ffffff1f;border-radius:999px;padding:7px 11px;font-size:.84rem}.result-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.result-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:17px;position:relative}.result-card__step{background:var(--teal-pale);width:24px;height:24px;color:var(--teal-dark);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.result-card p{color:var(--muted);margin:9px 0 4px;font-size:.82rem}.result-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.25rem;display:block}.result-card small{color:var(--muted);margin-top:5px;line-height:1.45;display:block}.cashflow{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:1fr auto 1fr auto 1fr auto 1.2fr;align-items:center;gap:8px;margin-top:18px;padding:16px;display:grid}.cashflow div{min-width:0}.cashflow span{color:var(--muted);font-size:.72rem;display:block}.cashflow strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:3px;font-size:.96rem;display:block}.cashflow__arrow{color:#8da39e!important;font-size:1rem!important}.cashflow__final{background:var(--teal-pale);border-radius:12px;padding:11px}.no-file-comparison{background:var(--amber-pale);border:1px solid #dfbd70;border-radius:16px;margin-top:18px;padding:18px}.no-file-comparison h3{margin:0 0 12px}.comparison-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.comparison-grid div{background:#ffffffb8;border-radius:12px;padding:13px}.comparison-grid span,.comparison-grid strong{display:block}.comparison-grid span{color:#6c4a0f;font-size:.78rem}.comparison-grid strong{margin-top:4px;font-size:1.2rem}.no-file-comparison p{color:#684300;margin:12px 0 0;font-size:.8rem;line-height:1.65}.calculation-details{border:1px solid var(--line);background:#fff;border-radius:15px;margin-top:18px}.calculation-details dl{grid-template-columns:1fr auto;gap:9px 18px;margin:0;padding:0 17px 17px;display:grid}.calculation-details dt{color:var(--muted)}.calculation-details dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.app-footer{color:var(--muted);text-align:center;padding:22px 8px 0;font-size:.76rem;line-height:1.65}.app-footer p{margin:2px}.mobile-action{display:none}@keyframes pulse{50%{opacity:.55;transform:scale(1.45)}}@media (max-width:760px){.app-shell{padding:10px 10px 90px}.hero,.step-section{border-radius:18px;padding:20px 17px}.privacy-strip{grid-template-columns:1fr}.privacy-strip span{padding:9px 11px}.stepper{border-radius:13px;margin:10px 0;padding:7px}.stepper li{flex-direction:column;gap:3px;padding:5px 2px;font-size:.68rem}.stepper li span{width:23px;height:23px}.section-heading{gap:8px;margin-bottom:18px}.section-note{display:none}.route-picker,.form-grid--2,.form-grid--3,.check-grid,.result-cards,.comparison-grid{grid-template-columns:1fr}.route-card{min-height:68px}.year-source-row{grid-template-columns:1fr;align-items:stretch}.ocr-panel{padding:13px}.ocr-workspace{grid-template-columns:1fr}.result-cards{grid-template-columns:repeat(2,1fr)}.cashflow{text-align:center;grid-template-columns:1fr;gap:5px}.cashflow__arrow{transform:rotate(90deg)}.button-row--between .button{flex:140px}.mobile-action{z-index:30;padding:10px 14px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-action .button{width:100%}}@media (max-width:420px){.result-cards{grid-template-columns:1fr}.hero__eyebrow .badge--private{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
