:root{font-family:system-ui,-apple-system,"Segoe UI","Meiryo",sans-serif;color:#20352e;background:#f5f7f3;font-synthesis:none;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}a{color:#175b44;text-underline-offset:4px}button,select,summary,.official{min-height:44px}button,select{border:1px solid #a1afa6;border-radius:10px;background:#fff;color:#20352e;padding:9px 14px;cursor:pointer}button:hover{background:#edf3ec}button[aria-pressed=true]{background:#205840;color:#fff;border-color:#205840}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1765b0;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:12px;top:-100px;z-index:10;background:#fff;padding:12px}.skip:focus{top:10px}header{border-bottom:1px solid #dfe5dc;background:#fff}.header-inner{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px}.brand{font-weight:800;font-size:20px;letter-spacing:.02em}.brand-dot{font-size:13px;color:#4e7857;margin-left:6px}.private{font-size:12px;border:1px solid #b8c4b4;padding:4px 8px;border-radius:6px}main{max-width:1080px;padding:0 24px;margin:auto}.hero{padding:52px 0 32px;max-width:730px}.eyebrow{color:#416348;font-weight:700;font-size:13px;letter-spacing:.05em;margin:0 0 10px}h1{font-size:clamp(34px,5vw,58px);line-height:1.3;letter-spacing:.02em;margin:0 0 22px}h2{font-size:23px;line-height:1.5;margin:0}h3{font-size:21px;line-height:1.5;margin:0 0 10px}h4{font-size:14px;margin:0 0 6px}p{margin:0 0 12px}.intro{font-size:17px;line-height:1.9}.primary{display:inline-flex;align-items:center;gap:26px;background:#205840;color:#fff;border-radius:12px;padding:14px 22px;font-weight:700;text-decoration:none;margin:8px 0 20px;min-height:48px}.small{font-size:13px;line-height:1.8;color:#526257}.explanation{background:#e9eee5;border:1px solid #d2ddcb;border-radius:16px;padding:22px;margin-bottom:40px;font-size:14px}.explanation strong{display:block;font-size:16px;margin-bottom:8px}summary{cursor:pointer;padding:10px 0;font-weight:650}details p{margin:8px 0}section{scroll-margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 16px}.section-heading p{margin:0;font-size:14px}fieldset{border:0;margin:0;padding:0}legend{font-size:14px;font-weight:700;margin:0 0 10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.service-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 34px}.service-row label{font-size:14px;font-weight:700}.service-row select{max-width:100%;flex:1;min-width:180px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{min-width:0;border:1px solid #d8e1d3;border-radius:18px;background:#fff;padding:24px;overflow-wrap:anywhere}.service-name{font-size:13px;font-weight:700;color:#486a50;margin-bottom:6px}.category-label{font-size:12px;display:inline-block;background:#eff3ec;border-radius:5px;padding:3px 8px;margin:0 0 16px}.reward{background:#f1f5ed;padding:16px;border-radius:12px;margin-bottom:18px}.reward>p:last-child{margin:0}.condition{font-size:13px;font-weight:700;color:#664b18}.axes{display:grid;gap:14px}.axis{border-bottom:1px solid #e7ebe2;padding-bottom:12px}.rating{color:#285e49;font-size:15px;font-weight:700;margin-bottom:5px}.reason{font-size:13px;line-height:1.8;color:#506256;margin-bottom:0}.scope{font-size:12px;color:#526257;margin-top:16px}.source{margin-top:18px;padding-top:14px;border-top:1px solid #e7ebe2}.official{display:flex;align-items:center;padding:9px 0;font-size:14px;font-weight:700}.source .small{margin:8px 0 0;font-size:12px}.empty,#error{padding:24px;background:#fff;border:1px solid #cad6c5;border-radius:12px}.empty h3{font-size:18px}footer{font-size:12px;color:#526257;border-top:1px solid #d8e1d3;margin:44px 0 0;padding:24px 0 36px} @media(max-width:650px){main{padding:0 16px}.header-inner{padding:14px 16px}.brand{font-size:17px}.private{font-size:10px}.hero{padding:32px 0 22px}.intro{font-size:15px}.wide-break{display:none}.explanation{padding:16px;margin-bottom:28px}.cards{grid-template-columns:minmax(0,1fr);gap:16px}.card{padding:18px}.chips{gap:7px}.chips button{font-size:13px;padding:9px 11px}.section-heading{gap:6px}.service-row{align-items:stretch}.service-row label{width:100%}.service-row select{width:100%}.service-row button{font-size:13px}h2{font-size:21px}h3{font-size:20px}}
/* Version 52: service list and grouped details use the same public projection. */
/* Reserve the filter region before the verified projection arrives. Keep it
   flexible for larger text or future categories rather than fixing its height. */
#finder{min-block-size:27rem}#inventory{min-block-size:1.7em}
@media(min-width:401px) and (max-width:650px){#finder{min-block-size:22rem}}
@media(min-width:1100px){#finder{min-block-size:19.2rem}}
.service-search{margin:20px 0 26px}.service-search label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}.service-search>div{display:flex;gap:8px}.service-search input{font:inherit;font-size:16px;min-width:0;width:100%;min-height:46px;border:1px solid #a1afa6;border-radius:10px;background:#fff;padding:8px 12px;color:#20352e}.service-search>button{margin-top:10px;font-size:13px}.service-search input:focus-visible{outline:3px solid #1765b0;outline-offset:3px}.service-search button[type=submit]{flex:none}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}.service-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;min-height:82px;border:1px solid #aabeb0;border-radius:12px;background:#fff;text-decoration:none;color:#20352e}.service-card:hover{background:#edf4ed}.service-info{min-width:0}.service-title{display:block;font-size:17px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}.method-tags{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:7px}.method-tags>span{display:inline-block;border-radius:4px;background:#eef3ea;color:#355442;padding:2px 6px;font-size:12px;line-height:1.5}.method-count{display:block;margin-top:5px;color:#607067;font-size:12px}.service-arrow{font-size:26px;line-height:1;flex:none;color:#175b44}.list-back{display:inline-flex;align-items:center;min-height:48px;padding:10px 0;font-weight:650;margin:6px 0 16px;text-decoration:underline;overflow-wrap:anywhere}#service-detail{padding-top:20px}#service-title{font-size:clamp(26px,4vw,40px);overflow-wrap:anywhere;margin-bottom:12px;line-height:1.4}.detail-count{font-weight:700;color:#205840}.method-section{margin-top:28px}.method-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.method-section-heading h2{font-size:23px}.method-section-heading p{margin:0}.method-summary{font-size:14px;color:#3d5046;line-height:1.75}.card[data-acquisition-type=PURCHASE],.card[data-acquisition-type=APPLICATION]{border-color:#d9caa7}.service-notes,.service-evidence{margin-top:26px;background:#fff;border:1px solid #d8e1d3;border-radius:12px;padding:20px}.service-notes h2,.service-evidence h2{font-size:20px;margin-bottom:12px}.service-evidence ul{list-style:none;margin:0;padding:0}.service-evidence li+li{border-top:1px solid #d8e1d3;margin-top:14px;padding-top:12px}.service-evidence a{overflow-wrap:anywhere}#service-detail .explanation{margin:20px 0 24px}#rating-guide{margin-top:28px}#list-view .hero{padding-top:28px;padding-bottom:24px}#list-view .hero .small{margin-bottom:0}#list-view .hero .official-character{width:64px;height:64px}#list-view h1{font-size:clamp(30px,5vw,48px)}
@media(max-width:650px){.service-list{grid-template-columns:minmax(0,1fr);gap:10px}.service-card{padding:12px;min-height:80px}.service-title{font-size:16px}.service-notes,.service-evidence{padding:16px}.service-search>div{gap:6px}.service-search button[type=submit]{padding:9px 12px}#list-view .hero{padding-top:24px}}
/* 2026-09-26: Official Data Pack v2 services (steps, service facts, caution notice). */
.method-steps{margin-bottom:18px}.method-steps ol{margin:0;padding-left:1.4em;font-size:14px;line-height:1.8}.method-steps li+li{margin-top:4px}.caution-notice{background:#fff8e6;border:1px solid #e6cf94;border-radius:10px;padding:14px 16px;margin:14px 0}.caution-notice strong{display:block;font-size:14px;margin-bottom:6px;color:#664b18}.caution-notice p{margin:0;font-size:14px;line-height:1.8}.service-facts{margin:14px 0 0;font-size:14px;line-height:1.8}.service-facts dt{font-weight:700;margin-top:12px}.service-facts dt:first-child{margin-top:0}.service-facts dd{margin:2px 0 0;color:#3d5046;overflow-wrap:anywhere}
/* 2026-09-26 Retention v1: favorite (kininaru) toggle, device-only. */
.favorite-box{margin:4px 0 14px}.favorite-toggle{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.favorite-toggle[aria-pressed=true]{background:#205840;color:#fff;border-color:#205840}.favorite-status:empty{display:none}.favorite-status{margin:6px 0 0}.favorite-hint{margin:6px 0 0}
/* 2026-09-27: service/method index in the initial HTML (hidden by app.js once the list is ready). */
.free-index{margin:0 0 28px}.free-index ul{margin:10px 0 0;padding-left:1.2em;font-size:14px;line-height:1.8}.free-index li+li{margin-top:6px}
/* 2026-09-27 Monetization CTA v1: official link first, PR (referral/affiliate) CTA kept secondary with its disclosure. */
.service-register{margin-top:22px;background:#fff;border:1px solid #d8e1d3;border-radius:12px;padding:16px}.service-register h2{font-size:20px;margin-bottom:10px}.register-official{margin-bottom:10px}.register-official .small{margin:0}.register-pr{border:1px dashed #c9b27a;background:#fffaf0;border-radius:10px;padding:9px 10px}.pr-badge{display:inline-block;margin:0 0 5px;padding:1px 7px;border-radius:6px;background:#664b18;color:#fff;font-size:12px;font-weight:700;line-height:1.5}.pr-cta{display:flex;align-items:center;justify-content:center;min-height:44px;padding:7px 10px;border:1px solid #8a6a2c;border-radius:9px;background:#fff;color:#5a4214;font-weight:700;text-decoration:none;text-align:center;overflow-wrap:anywhere}.pr-cta:hover{background:#fff3dc}.pr-cta:focus-visible{outline:3px solid #1765b0;outline-offset:3px}.register-pr .small{margin:5px 0 0;font-size:.78rem;line-height:1.5}@media(max-width:650px){.service-register{padding:14px}.register-pr{padding:8px 9px}}
