:root{--ink:#17121d;--paper:#fcfafb;--muted:#665e69;--line:#e6dfe6;--plum:#451e57;--violet:#7a3ee6;--pink:#dc4d8d;--aqua:#2a8aa0;--lime:#50824b;--night:#211726;--shell:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;font-size:16px;line-height:1.75}.shell{width:min(var(--shell),calc(100% - 48px));margin:0 auto}a{color:inherit;text-underline-offset:3px}
.skip-link{position:absolute;top:-80px;left:16px;padding:9px 12px;background:#fff;color:var(--ink);z-index:20}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:10;background:rgba(252,250,251,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}.brand{text-decoration:none;line-height:1.25;display:grid;gap:2px;min-width:245px}.brand span,.eyebrow{color:var(--violet);font-size:.7rem;font-weight:800;letter-spacing:.13em}.brand strong{font-size:1rem}.main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}.main-nav a{padding:8px 10px;border-radius:999px;text-decoration:none;font-size:.85rem;font-weight:700}.main-nav a:hover,.main-nav a:focus-visible{background:#f0e9f6;color:var(--plum)}.age-mark{margin:0;color:var(--muted);font-size:.72rem;white-space:nowrap}
.site-main{min-height:60vh}.portal-hero{padding:104px 0 78px;background:radial-gradient(circle at 78% 15%,#eadcff 0,transparent 32%),radial-gradient(circle at 95% 70%,#ffd6e8 0,transparent 25%),var(--night);color:#fff}.portal-hero .eyebrow{color:#d7baff}.portal-hero h1{max-width:770px;margin:14px 0 21px;font-size:clamp(2.55rem,5.5vw,5rem);line-height:1.13;letter-spacing:-.04em}.portal-hero h1 em{display:block;color:#ffc4e0;font-style:normal}.hero-lead{max-width:650px;margin:0;font-size:1.1rem}.hero-note{max-width:650px;margin:26px 0 0;color:#dbd2dd;font-size:.88rem}
.section{padding:80px 0}.section-heading{max-width:680px;margin-bottom:28px}.section-heading h2,.split-section h2,.info-page h1,.guide-page h1{margin:6px 0 10px;font-size:clamp(1.9rem,4vw,3rem);line-height:1.28;letter-spacing:-.025em}.section-heading p:not(.eyebrow){margin:0;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.category-card{min-height:245px;padding:25px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:15px;background:#fff;text-decoration:none;box-shadow:0 8px 24px rgb(43 23 50 / 5%);transition:transform .2s ease,box-shadow .2s ease}.category-card:hover,.category-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 30px rgb(43 23 50 / 12%)}.category-card span{font-size:.8rem;font-weight:800}.category-card h3{margin:31px 0 5px;font-size:1.45rem}.category-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}.category-card b{margin-top:auto;padding-top:18px;font-size:.86rem}.category-card.violet span{color:var(--violet)}.category-card.coral span{color:var(--pink)}.category-card.blue span{color:var(--aqua)}.category-card.green span{color:var(--lime)}.split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;border-top:1px solid var(--line)}.split-section p{margin-top:6px;color:var(--muted)}.text-link{font-weight:800;color:var(--plum)}
.page-main{padding-top:35px;padding-bottom:90px}.crumb{display:flex;gap:8px;color:var(--muted);font-size:.82rem}.guide-page,.info-page{max-width:790px;margin:24px 0 0}.guide-page .lead{margin:0 0 28px;font-size:1.15rem;color:#453a48}.disclosure{padding:13px 15px;border-left:3px solid var(--pink);background:#fff1f7;font-size:.86rem;line-height:1.65}.entry-content{margin-top:32px}.entry-content h2{margin:45px 0 12px;font-size:1.45rem;line-height:1.4}.entry-content p,.entry-content li{color:#332d35}.entry-content ul,.entry-content ol{padding-left:1.35rem}.entry-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.92rem}.entry-content th,.entry-content td{padding:12px;text-align:left;vertical-align:top;border:1px solid var(--line)}.entry-content th{background:#f3edf5}.callout{padding:18px 21px;border-radius:10px;background:#f1ebf7}.callout p{margin:.35em 0 0}.button{display:inline-block;padding:10px 17px;border-radius:8px;background:var(--plum);color:#fff;text-decoration:none;font-weight:800}
.guide-checklist{margin-top:42px;padding:23px 25px;border-radius:12px;background:#f0eafa}.guide-checklist h2{margin:0 0 10px;font-size:1.2rem}.guide-checklist ol{padding-left:1.3rem;margin:0}.guide-checklist p{margin:14px 0 0;color:#433849}
.site-footer{padding:45px 0 20px;background:var(--night);color:#f7f1f8}.footer-grid{display:flex;justify-content:space-between;gap:36px}.footer-brand{font-weight:800;text-decoration:none}.footer-grid p{margin:8px 0 0;color:#d5cbd8;font-size:.88rem}.footer-links{display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end;gap:7px 18px;max-width:510px}.footer-links a{color:#f7f1f8;font-size:.85rem}.footer-note{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:16px;border-top:1px solid #4a3b50;color:#cfc2d2;font-size:.73rem}.footer-note p{margin:0}
@media(max-width:900px){.header-inner{gap:16px}.brand{min-width:205px}.main-nav{gap:0}.main-nav a{padding:7px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-card{min-height:205px}.split-section{gap:35px}}
@media(max-width:680px){.shell{width:min(100% - 32px,var(--shell))}.header-inner{min-height:0;padding-top:13px;display:grid;grid-template-columns:1fr auto;gap:8px 12px}.brand{min-width:0}.brand strong{font-size:.88rem}.age-mark{font-size:.65rem}.main-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0}.main-nav a{padding:10px 2px;text-align:center;border-radius:6px 6px 0 0;font-size:.72rem}.portal-hero{padding:70px 0 55px}.portal-hero h1{font-size:2.55rem}.hero-lead{font-size:1rem}.section{padding:54px 0}.category-grid{gap:11px}.category-card{min-height:178px;padding:17px}.category-card h3{margin-top:20px;font-size:1.18rem}.category-card p{font-size:.8rem}.split-section{grid-template-columns:1fr;gap:13px}.page-main{padding-top:25px;padding-bottom:55px}.guide-page,.info-page{margin-top:19px}.guide-page .lead{font-size:1rem}.entry-content{margin-top:27px}.entry-content h2{margin-top:35px;font-size:1.28rem}.entry-content table{display:block;overflow-x:auto;white-space:normal}.footer-grid{display:block}.footer-links{justify-content:flex-start;margin-top:22px}.footer-note{display:block;margin-top:28px}.footer-note p+p{margin-top:7px}}
@media(max-width:680px){.header-inner,.main-nav,.category-grid,.category-card{min-width:0}.main-nav{margin-left:0;justify-self:stretch}.main-nav a{min-width:0;white-space:normal;overflow-wrap:anywhere}.category-card{overflow-wrap:anywhere}}
@media(max-width:390px){.category-grid{grid-template-columns:1fr}.category-card{min-height:160px}.portal-hero h1{font-size:2.15rem}.main-nav a{font-size:.67rem}.entry-content th,.entry-content td{padding:9px;font-size:.84rem}}
