:root{color-scheme:light;--ink:#172326;--muted:#5d6b6e;--line:#d8e0de;--paper:#fff;--wash:#f3f7f5;--accent:#126b5f;--accent-dark:#0a4d44;--warm:#f4e8d2;font-family:Inter,Noto Sans JP,Yu Gothic UI,sans-serif}*{box-sizing:border-box}html{background:var(--wash);color:var(--ink)}body{min-width:320px;margin:0;line-height:1.7}a{color:inherit}button,input,select,textarea{font:inherit}.skip-link{z-index:20;background:var(--ink);color:#fff;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;gap:1rem;min-height:68px;padding:.8rem max(1rem,50% - 540px);display:flex}.brand{letter-spacing:-.02em;font-weight:800;text-decoration:none}nav{gap:.9rem;display:flex}nav a{text-underline-offset:.25em;font-size:.86rem}.page-shell{width:min(100% - 2rem,1080px);margin-inline:auto}.hero{padding-block:clamp(4rem,11vw,8rem)}.eyebrow,.step-label{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em;overflow-wrap:normal;max-width:12em;font-size:clamp(2.3rem,9vw,5.4rem);line-height:1.12}.heading-phrase{white-space:nowrap;display:inline-block}h2{letter-spacing:-.03em;font-size:clamp(1.6rem,5vw,2.5rem);line-height:1.25}.hero-copy{max-width:38rem;color:var(--muted);font-size:1.05rem}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:.7rem 1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-dark)}.microcopy{color:var(--muted);margin-top:1rem;font-size:.82rem}.section{padding-block:3rem 5rem}.layer-grid{gap:1rem;display:grid}.layer-grid article{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.25rem}.layer-grid span{background:var(--warm);border-radius:50%;place-items:center;width:2rem;height:2rem;font-weight:800;display:grid}.layer-grid h3{margin:.8rem 0 .2rem}.layer-grid p{color:var(--muted);margin-bottom:0}.checker-intro{padding-block:2.5rem 1.5rem}.checker-intro h1{max-width:100%;margin-bottom:.7rem;font-size:clamp(2rem,8vw,3.4rem)}.checker-intro p:last-child{color:var(--muted);max-width:44rem}.checker-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;margin-bottom:5rem;overflow:hidden;box-shadow:0 18px 50px #17232612}.progress{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);margin:0;padding:.8rem;list-style:none;display:grid}.progress li{color:var(--muted);justify-items:center;gap:.25rem;font-size:.68rem;display:grid}.progress span{background:var(--wash);border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-weight:800;display:grid}.progress [aria-current=step]{color:var(--accent);font-weight:800}.progress [aria-current=step] span{background:var(--accent);color:#fff}.checker-body{padding:1.25rem}label{margin-bottom:.4rem;font-weight:750;display:block}select,input,textarea{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #aab8b5;border-radius:10px;padding:.7rem .8rem}:focus-visible{outline-offset:3px;outline:3px solid #ef9f32}.site-footer{color:var(--muted);background:#e7eeeb;padding:2rem max(1rem,50% - 540px);font-size:.82rem}.site-footer p{margin:0}@media (width>=720px){.layer-grid{grid-template-columns:repeat(4,1fr)}.checker-card{max-width:760px}.checker-body{padding:2rem}}button:disabled{cursor:not-allowed;opacity:.48}.button-secondary{color:var(--ink);background:#fff;border-color:#9aaba7}.load-state{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:22px;align-content:center;place-items:center;gap:.8rem;min-height:280px;padding:2rem;display:grid}.loader{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loader{border-top-color:var(--line);animation:none}}.step-heading{margin-bottom:.5rem}.step-heading:focus{outline:none}.step-content>p:first-child{color:var(--muted)}.field-note,.field small,.source-group small{color:var(--muted);margin-top:.35rem;font-size:.78rem;display:block}.guidance-explanation{background:var(--wash);color:var(--muted);border-radius:9px;margin:-.2rem 0 1rem;padding:.65rem .75rem;font-size:.8rem}.label-with-guidance{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.guidance-badge{color:#43514f;letter-spacing:.02em;background:#fff;border:1px solid #aab8b5;border-radius:999px;flex:none;align-items:center;min-height:1.55rem;padding:.1rem .5rem;font-size:.68rem;font-weight:800;line-height:1.2;display:inline-flex}.guidance-required{color:#8a3028;background:#fff3f1;border-color:#a94b40}.guidance-recommended{color:#315f57;background:#eef7f4;border-color:#557a73}.guidance-conditional{color:#76510d;background:#fff7dd;border-color:#aa781c}.guidance-optional{color:var(--muted);background:var(--wash)}.step-content>label:not(:first-of-type){margin-top:1.1rem}.choice-cards,.field-group{border:0;margin:0;padding:0}.choice-cards legend,.field-group legend{width:100%;margin-bottom:.75rem;padding:0;font-weight:800}.choice-cards{gap:.7rem;display:grid}.choice-cards label{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:.75rem;min-height:58px;margin:0;padding:.8rem;display:flex}.choice-cards label:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px #126b5f21}.choice-cards input{width:1.25rem;min-height:1.25rem;accent-color:var(--accent);margin:.2rem 0 0}.choice-cards span{display:grid}.choice-cards small{color:var(--muted);font-weight:400}.field-group{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.3rem}.field-group legend{float:left;font-size:1.1rem}.field-group legend+*{clear:both}.field{margin-bottom:1.1rem}.field small{line-height:1.55}.additional-questions{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;margin-top:1.5rem;padding:0 1rem 1rem}.additional-questions summary{cursor:pointer;margin:0 -1rem -1rem;padding:1rem;font-weight:800;list-style-position:inside}.additional-questions[open] summary{border-bottom:1px solid var(--line);margin-bottom:0}.additional-questions summary>span:not(.guidance-badge){color:var(--muted);font-size:.75rem;font-weight:600}.additional-questions .field-group:first-of-type{border-top:0;margin-top:1rem;padding-top:0}.additional-questions .requirement-input:first-of-type{margin-top:1rem}.text-button{min-height:44px;color:var(--accent);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;margin-top:.35rem;padding:.3rem 0;text-decoration:underline}.two-columns{gap:1rem;display:grid}.requirement-input{background:var(--wash);border-radius:12px;margin-bottom:1rem;padding:1rem}.requirement-input p{margin-bottom:.7rem}.requirement-input label:not(:first-of-type){margin-top:.75rem}.actions{border-top:1px solid var(--line);justify-content:space-between;gap:.75rem;margin-top:2rem;padding-top:1.25rem;display:flex}.actions .button:last-child{margin-left:auto}.inline-error{color:#76271f;background:#fff0ed;border-left:4px solid #b04438;margin-top:1rem;padding:.8rem}.status-panel{border:2px solid;border-radius:18px;padding:1.25rem}.status-panel p{margin-bottom:.5rem}.status-kicker{letter-spacing:.12em;font-size:.75rem;font-weight:800}.status-label{letter-spacing:-.04em;font-size:clamp(2rem,10vw,3.7rem);font-weight:900;line-height:1.1}.status-matched{background:#e9f6ef;border-color:#2c7a5f}.status-conditional{background:#fff7dd;border-color:#b37b12}.status-review{background:#eef2fa;border-color:#526d9b}.status-excluded{background:#fff0ed;border-color:#b04438}.status-panel dl{border-top:1px solid;gap:.4rem;margin:1rem 0 0;padding-top:1rem;display:grid}.status-panel dl div{grid-template-columns:6rem 1fr;gap:.5rem;display:grid}.status-panel dt{font-size:.78rem;font-weight:800}.status-panel dd{margin:0}.result-section{border-top:1px solid var(--line);margin-top:1.7rem;padding-top:1.5rem}.result-section h3{font-size:1.25rem}.amount-grid{gap:.75rem;margin:0;display:grid}.amount-grid>div{background:var(--wash);border:1px solid #0000;border-radius:12px;align-content:start;min-width:0;padding:1rem;display:grid}.amount-grid dt,.program-terms small{color:var(--muted);font-size:.8rem}.amount-grid dd{overflow-wrap:anywhere;margin:0;font-size:1.35rem;font-weight:850;line-height:1.35}.amount-grid>div>small{color:#76510d;margin-top:.35rem;font-size:.75rem}.amount-grid .program-terms{border-color:var(--line);background:#fff}.program-terms dd{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.35rem;display:grid}.program-terms dd span{display:grid}.program-terms strong{font-size:1.1rem}.amount-grid .amount-primary{background:#e9f6ef;border-color:#8ab9a8}.amount-grid .amount-primary dd{color:var(--accent-dark);font-size:clamp(1.65rem,7vw,2.25rem)}.amount-grid .amount-burden{background:#f8f3e9;border-color:#d8c8aa}.amount-grid .amount-burden dd{font-size:clamp(1.45rem,6vw,1.9rem)}.notice{color:#5d503a;background:#f8f3e9;border-radius:10px;padding:.8rem;font-size:.8rem}.reason-list{margin:0;padding-left:1.3rem}.reason-list li{margin-block:.45rem}.layer-results{gap:.8rem;display:grid}.layer-results article{border:1px solid var(--line);border-radius:12px;padding:1rem}.layer-results h4{margin:0 0 .6rem}.layer-results p{color:var(--muted);margin:0;font-size:.85rem}.layer-results ul{margin:0;padding:0;list-style:none}.layer-results li{border-top:1px solid var(--line);grid-template-columns:4.5rem 1fr;gap:.5rem;padding:.5rem 0;font-size:.85rem;display:grid}.layer-results li:first-child{border-top:0}.layer-results li span{color:var(--accent);font-size:.72rem;font-weight:800}.layer-results li[data-outcome=REVIEW] span,.layer-results li[data-outcome=EXCLUDED] span{color:#9a3229}.document-list,.source-group ul{margin:0;padding:0;list-style:none}.document-list li{border-top:1px solid var(--line);grid-template-columns:5.3rem 1fr;gap:.7rem;padding:.8rem 0;display:grid}.document-list p{margin:0}.outcome{background:var(--wash);text-align:center;border-radius:999px;align-self:start;padding:.2rem .4rem;font-size:.7rem;font-weight:800}.outcome-conditional,.outcome-review{color:#7d570e;background:#fff1ce}.source-group{margin-top:1rem}.source-group h4{margin-bottom:.4rem}.source-group li{border-top:1px solid var(--line);padding:.7rem 0}.source-group a{text-underline-offset:.22em;font-weight:750}.prose-page{max-width:760px;padding-block:4rem 6rem}.prose-page h1{max-width:15ch;font-size:clamp(2.3rem,8vw,4rem)}.prose-page .lead{color:var(--muted);font-size:1.1rem}.prose-page section{margin-block:3rem}.status-definitions{gap:.75rem;display:grid}.status-definitions div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:1rem}.status-definitions dt{font-weight:900}.status-definitions dd{color:var(--muted);margin:.2rem 0 0}.not-found{align-content:center;justify-items:start;min-height:70vh;padding-block:4rem;display:grid}.not-found h1{max-width:18ch;font-size:clamp(2rem,8vw,4rem)}@media (width>=600px){.two-columns,.amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-results{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.site-header{flex-direction:column;align-items:flex-start}.site-header nav{justify-content:space-between;width:100%}.checker-intro{padding-top:1.7rem}.checker-card{border-left:0;border-right:0;border-radius:0;width:calc(100% + 2rem);margin-left:-1rem}.progress li{font-size:.62rem}.progress{padding:.65rem .35rem}.label-with-guidance{align-items:flex-start}.guidance-badge{margin-top:.08rem}.additional-questions{padding-inline:.8rem}.additional-questions summary{margin-inline:-.8rem;padding-inline:.8rem}.actions{z-index:3;background:#fffffff5;margin-inline:-1.25rem;padding:1rem 1.25rem;position:sticky;bottom:0}.actions .button{flex:1}.status-panel dl div,.document-list li{grid-template-columns:1fr}.outcome{width:max-content}}
