
:root{--green:#164e40;--mint:#eaf3ed;--ink:#233c34;--muted:#697a73;--line:#dce6df}*{box-sizing:border-box}body{margin:0;background:#f6f8f5;color:var(--ink);font-family:system-ui,-apple-system,'Yu Gothic',sans-serif;font-size:14px}header{background:#fff;border-bottom:1px solid var(--line);padding:20px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center}.brand{font-size:21px;font-weight:750;letter-spacing:.04em}.brand span{background:var(--green);color:white;padding:5px 10px;border-radius:10px;margin-right:10px}.badge{font-size:11px;background:#fff3d7;color:#846316;padding:6px 10px;border-radius:30px}main{max-width:1180px;margin:auto;padding:42px 24px}.eyebrow{font-size:12px;letter-spacing:.14em;color:#547765;font-weight:700}h1{font-size:clamp(27px,4vw,42px);line-height:1.5;margin:12px 0}h1 em{font-style:normal;color:#32836a}.intro{color:var(--muted);line-height:1.9;margin:0;max-width:650px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.hero-art{background:#e4eee5;border-radius:90px 90px 30px 30px;width:180px;height:170px;display:grid;place-items:center;flex-shrink:0;position:relative}.hero-art svg{width:105px}.hero-art small{position:absolute;bottom:18px;color:#416a52;font-size:11px}.notice{background:#fff9ed;border:1px solid #eee0bc;border-radius:12px;padding:13px 18px;line-height:1.7;color:#766441;font-size:12px;margin-bottom:28px}.layout{display:grid;grid-template-columns:290px 1fr;gap:28px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;align-self:start;position:sticky;top:18px}.panel h2{font-size:17px;margin:0 0 6px}.hint{font-size:12px;color:var(--muted);line-height:1.8}label.field{display:block;font-weight:650;font-size:12px;margin-top:21px;margin-bottom:8px}select,input{font:inherit;border:1px solid #cddbd2;border-radius:9px;background:#fff;padding:11px 12px;width:100%;color:var(--ink)}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #a0cdb5;outline-offset:2px}.choices{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);background:white;border-radius:8px;padding:8px 10px;color:#5a6d61;font:inherit;font-size:12px;cursor:pointer}.chip[aria-pressed=true]{background:var(--mint);color:var(--green);border-color:#80ad94;font-weight:700}.primary{border:0;background:var(--green);color:#fff;border-radius:10px;font:inherit;padding:13px;width:100%;margin-top:22px;font-weight:700;cursor:pointer}.reset{background:none;border:0;color:var(--muted);width:100%;padding:13px 0 0;cursor:pointer}.privacy{font-size:11px;color:var(--muted);text-align:center;margin-top:18px}.result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px}.result-head h2{font-size:21px;margin:0}.result-head p{font-size:12px;color:var(--muted);margin:8px 0 0}.count{font-size:13px;background:var(--mint);padding:8px 12px;border-radius:24px;color:var(--green);white-space:nowrap}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tabs button{border:0;background:#e9eee9;padding:8px 14px;border-radius:20px;color:#65756c;font:inherit;font-size:12px;cursor:pointer}.tabs button[aria-pressed=true]{background:var(--green);color:white}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:11px}.type{background:var(--mint);color:#276b50;padding:4px 8px;border-radius:6px}.type.loan{background:#f7edda;color:#9a7133}.type.relief{background:#e9eef9;color:#536c9b}.scope{color:var(--muted)}.card h3{font-size:18px;line-height:1.6;margin:13px 0 8px}.desc{color:var(--muted);line-height:1.8;font-size:13px;margin:0 0 15px}.detail{border-top:1px solid #edf1ec;padding-top:13px;margin-bottom:13px;font-size:12px;line-height:1.8}.detail b{display:block;font-size:11px;color:#577462;margin-bottom:3px}.card details{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:15px}.card summary{cursor:pointer;color:var(--green)}.source{margin-top:auto}.source a{color:var(--green);text-decoration:none;font-size:12px;font-weight:700;display:block;border:1px solid var(--line);padding:11px;border-radius:8px;text-align:center}.source small{display:block;font-size:10px;color:#85928a;margin-top:9px}.empty{grid-column:1/-1;background:white;padding:40px;border-radius:16px;line-height:1.9}.local{background:#eaf1ec;border-radius:14px;padding:19px 22px;margin-top:22px;line-height:1.8;font-size:12px}.local strong{font-size:14px;display:block}.local a{color:var(--green);font-weight:700}footer{max-width:1180px;margin:32px auto;padding:24px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.9}.footrow{display:flex;justify-content:space-between;gap:20px}@media(max-width:800px){.layout{grid-template-columns:1fr}.panel{position:static}.hero-art{display:none}.cards{grid-template-columns:1fr}.hero{margin-bottom:22px}main{padding-top:26px}.footrow{display:block}header{padding:16px 20px}.brand{font-size:17px}}@media(prefers-reduced-motion:no-preference){.card{animation:appear .25s ease}@keyframes appear{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}}

.panel{position:static}.notice{margin-bottom:24px}.field{font-size:13px!important}.cards{grid-template-columns:1fr}.card h3{font-size:20px;margin:8px 0 14px}.card{padding:24px}.card-top{flex-wrap:wrap;gap:8px}.card .detail{border:0;padding:0;margin:0;line-height:1.8}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:18px}.amount{font-size:15px;color:var(--green);font-weight:650;line-height:1.8;margin:0 0 18px}.warning{background:#fff9ed;border-left:3px solid #c69c48;padding:12px 14px;color:#725a2c;font-size:12px;line-height:1.8;margin:0 0 18px}.card-foot{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:16px;flex-wrap:wrap}.card-foot a,.more,.view-button{font:inherit;font-size:13px;font-weight:700;border:1px solid var(--line);padding:10px 14px;border-radius:8px;background:#fff;color:var(--green);cursor:pointer;text-decoration:none}.view-button{background:var(--green);color:#fff;border-color:var(--green)}.card-foot small{font-size:11px;color:var(--muted);margin-left:auto}.meta{display:flex;gap:22px;margin:18px 0;color:var(--muted);font-size:12px}.meta b{font-size:19px;color:var(--green);margin-right:5px}.local p{margin:7px 0}.more{display:block;margin:20px auto}.result-head{align-items:flex-start}.scope{font-size:11px}.empty button{margin-top:15px}.intro{max-width:730px}.helper{font-size:11px;color:var(--muted);line-height:1.7;margin:7px 0}.info details{margin-top:16px;line-height:1.9;font-size:12px}.info summary{color:var(--green);cursor:pointer}.info{margin-top:24px;border-top:1px solid var(--line);padding-top:4px}dialog{border:0;border-radius:18px;padding:0;width:min(760px,calc(100% - 28px));max-height:90vh;color:var(--ink)}dialog::backdrop{background:#132b2599}.dialog-head{position:sticky;top:0;background:white;padding:20px 26px;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:center;z-index:1}.dialog-head h2{font-size:20px;line-height:1.6;margin:0}.dialog-head button{margin-left:auto;border:1px solid var(--line);border-radius:8px;background:white;padding:8px 12px;white-space:nowrap;cursor:pointer;font:inherit}.dialog-body{padding:24px 26px}.dialog-body .detail{margin-bottom:20px;padding-top:16px;font-size:14px;white-space:pre-wrap}.dialog-body .detail b{font-size:12px}.dialog-body a{overflow-wrap:anywhere;color:var(--green)}[hidden]{display:none!important}.error{color:#973e32}a:hover,button:hover{filter:brightness(.95)}.loading{padding:30px;background:white;border-radius:15px}.panel h2{font-size:18px}.tabs button{min-height:40px}.primary{min-height:48px}footer{margin-top:40px}.privacy{line-height:1.7}@media(max-width:800px){.hero-art{display:none}.card-grid{grid-template-columns:1fr;gap:14px}.card{padding:20px}.meta{gap:14px}.dialog-body{padding:18px}.dialog-head{padding:16px}.card-foot small{margin-left:0;flex-basis:100%}}

/* Keep the support notice visible across search and detail views. */
:root{--support-notice-height:150px}
body{padding-bottom:calc(var(--support-notice-height) + 20px)}
.support-notice{color:#653b10;background:#fff3cd;border-color:#c58c27;line-height:1.7}
.support-notice strong{display:block;color:#71330d;font-weight:800}
.support-notice p{margin:4px 0 0}
.notice-label{display:inline-block;align-self:flex-start;background:#82440e;color:#fff;border-radius:5px;padding:3px 9px;font-size:12px;font-weight:800;white-space:nowrap;letter-spacing:.03em}
.top-support-notice{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border:2px solid #c58c27;font-size:14px;box-shadow:0 3px 12px #8c641012}
.top-support-notice strong{font-size:17px}
.persistent-notice{position:fixed;inset:auto 0 0;z-index:1000;border-top:3px solid #bd8521;box-shadow:0 -4px 18px #3c35151c;padding:12px 24px calc(12px + env(safe-area-inset-bottom,0px));margin:0;box-sizing:border-box}
.persistent-inner{max-width:1132px;margin:0 auto;display:flex;gap:16px;align-items:center}
.persistent-notice strong{font-size:14px}
.persistent-notice p{font-size:13px;margin:2px 0 0}
dialog{inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;overflow:visible;background:transparent;padding:20px 20px calc(var(--support-notice-height) + 20px);box-sizing:border-box}
dialog[open]{display:flex;align-items:center;justify-content:center}
.dialog-panel{width:min(760px,100%);max-height:100%;min-height:0;background:white;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 48px #10291d40}
.dialog-head{position:relative;flex-shrink:0}
.dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
html{scroll-padding-bottom:calc(var(--support-notice-height) + 28px)}
@media(max-width:600px){
 .top-support-notice{display:block;padding:17px;font-size:14px}
 .top-support-notice .notice-label{margin-bottom:9px}
 .top-support-notice strong{font-size:16px}
 .persistent-notice{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));line-height:1.6}
 .persistent-inner{display:block}
 .persistent-inner .notice-label{font-size:11px;padding:1px 7px;margin-bottom:5px}
 .persistent-notice strong{font-size:13px}
 .persistent-notice p{font-size:12px;margin-top:3px}
 dialog{padding:12px 12px calc(var(--support-notice-height) + 12px)}
}
