:root{--ink:#2d3338;--ink-soft:#667078;--surface:#fff;--bg:#f5f6f6;--bg-warm:#faf8f3;--line:#d8dde0;--line-dark:#b9c1c6;--accent:#075b77;--accent-dark:#06445a;--warm:#bd4a24;--warm-soft:#fff4ee;--font:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif;font-family:var(--font);color:var(--ink);background:var(--surface);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--surface);min-width:320px;margin:0;font-size:16px;line-height:1.75}a{color:var(--accent);text-underline-offset:.2em}img{max-width:100%;display:block}button,input{font:inherit}button{color:inherit}.shell{width:min(1120px,100% - 40px);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent-dark);color:#fff;padding:8px 12px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline-offset:2px;outline:3px solid #e49a49}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-note{color:#59636a;background:#eef2f3;padding:4px 0;font-size:.72rem}.header-inner{justify-content:space-between;align-items:center;gap:28px;min-height:70px;display:flex}.brand{color:var(--ink);flex-direction:column;line-height:1.25;text-decoration:none;display:flex}.brand-name{letter-spacing:.025em;font-size:1.24rem;font-weight:800}.brand small{color:#778087;margin-top:3px;font-size:.67rem}.site-header ul{margin:0;padding:0;list-style:none;display:flex}.site-header li+li{border-left:1px solid var(--line)}.site-header nav a{color:#414950;padding:8px 17px;font-size:.83rem;font-weight:700;text-decoration:none;display:block}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--warm);text-decoration:underline}.home-intro{border-bottom:1px solid var(--line);background:var(--bg)}.home-intro-inner{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:center;gap:64px;min-height:290px;padding-top:42px;padding-bottom:42px;display:grid}.section-label{color:var(--warm);margin:0 0 7px;font-size:.76rem;font-weight:800}.home-intro h1{color:#20262a;letter-spacing:.015em;margin:0;font-size:clamp(2rem,4vw,2.75rem);line-height:1.35}.home-intro-copy>p:last-child{max-width:580px;color:var(--ink-soft);margin:14px 0 0}.home-search{border:1px solid var(--line-dark);background:#fff;padding:22px}.home-search label{margin-bottom:8px;font-size:.86rem;font-weight:800;display:block}.home-search>div{grid-template-columns:1fr auto;display:grid}.home-search input{border:1px solid var(--line-dark);border-right:0;border-radius:0;min-width:0;min-height:46px;padding:0 12px}.home-search button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;min-width:76px;font-weight:700}.home-search button:hover{background:var(--accent-dark)}.home-search p{color:#7b8388;margin:9px 0 0;font-size:.72rem}.home-columns{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:42px;padding-top:42px;padding-bottom:58px;display:grid}.home-block+.home-block{margin-top:48px}.block-heading{border-bottom:3px solid var(--accent);justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;padding-bottom:10px;display:flex}.block-heading h2{margin:0;font-size:1.4rem;line-height:1.4}.block-heading>a{flex:none;font-size:.82rem;font-weight:700}.category-list{border-top:1px solid var(--line)}.category-row{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-height:92px;color:var(--ink);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:grid}.category-row:hover{background:#f7fafb}.category-code{color:var(--warm);font-size:.73rem;font-weight:800}.category-row strong,.category-row small{display:block}.category-row strong{color:var(--accent-dark);font-size:1rem}.category-row small{color:var(--ink-soft);margin-top:3px;font-size:.78rem}.category-row>b{background:var(--bg);color:#69737a;padding:2px 8px;font-size:.72rem}.home-sidebar,.listing-sidebar{position:sticky;top:20px}.side-box{border:1px solid var(--line);background:#fff}.side-box+.side-box{margin-top:18px}.side-box h2{border-top:3px solid var(--accent);border-bottom:1px solid var(--line);background:#f8f9f9;margin:0;padding:11px 14px;font-size:.92rem}.side-box ol{counter-reset:guide;margin:0;padding:4px 14px 12px;list-style:none}.side-box li{counter-increment:guide;border-bottom:1px solid #e8ebed;padding:12px 0 12px 30px;position:relative}.side-box li:last-child{border-bottom:0}.side-box li:before{content:counter(guide);color:var(--warm);font-size:.76rem;font-weight:800;position:absolute;top:12px;left:0}.side-box li b,.side-box li span{display:block}.side-box li b{font-size:.8rem}.side-box li span{color:var(--ink-soft);margin-top:2px;font-size:.71rem;line-height:1.55}.compact-side-box{padding-bottom:13px}.compact-side-box p{color:var(--ink-soft);margin:12px 14px 10px;font-size:.76rem}.compact-side-box>a{margin:5px 14px;font-size:.75rem;font-weight:700;display:block}.side-box nav a{border-bottom:1px solid #e8ebed;justify-content:space-between;padding:10px 14px;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.side-box nav a span{color:#80888d;font-weight:400}.comparison-guide{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-warm)}.comparison-guide-inner{grid-template-columns:.7fr 1fr;align-items:center;gap:64px;padding-top:42px;padding-bottom:42px;display:grid}.comparison-guide h2{margin:0;font-size:1.45rem}.comparison-guide p:last-child{color:var(--ink-soft);margin:10px 0 0;font-size:.86rem}.comparison-guide table{border-collapse:collapse;background:#fff;width:100%;font-size:.82rem}.comparison-guide th,.comparison-guide td{border:1px solid var(--line);text-align:left;padding:10px 12px}.comparison-guide th{width:84px;color:var(--accent-dark);background:#f5f6f6}.article-list{border-top:1px solid var(--line-dark)}.article-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:#fff;padding:18px 16px}.article-card[hidden]{display:none}.article-card h2{margin:7px 0 6px;font-size:1.05rem;line-height:1.55}.article-card h2 a{color:#22343d;text-decoration:none}.article-card h2 a:hover{color:var(--accent);text-decoration:underline}.article-card>p{color:var(--ink-soft);margin:0 0 7px;font-size:.82rem}.article-meta{color:#788188;flex-wrap:wrap;align-items:center;gap:7px 12px;font-size:.7rem;display:flex}.article-meta span{color:var(--accent-dark);background:#eaf2f4;padding:1px 6px;font-weight:700}.article-meta .card-disclosure{background:var(--warm-soft);color:#703a28;border:1px solid #e1bbaa}.article-meta small{color:var(--warm)}.text-link{color:var(--accent);font-size:.78rem;font-weight:700}.muted-link{color:#737d83}.preview-card{background:#fdfdfc}.preview-note{color:#6d655a;background:#fffaf0;border:1px solid #e1d8c9;margin:0 0 12px;padding:8px 10px;font-size:.74rem}.launch-notice,.no-results{border:1px solid var(--line);background:var(--bg);padding:18px}.launch-notice p{color:var(--ink-soft);margin:3px 0 0;font-size:.83rem}.breadcrumb{color:#7c858b;flex-wrap:wrap;gap:4px 8px;padding-top:13px;font-size:.7rem;display:flex}.listing-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:42px;padding-top:24px;padding-bottom:64px;display:grid}.listing-header{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:18px}.listing-header h1{margin:0;font-size:clamp(1.75rem,3.4vw,2.25rem);line-height:1.4}.listing-header>p:last-child{color:var(--ink-soft);margin:8px 0 0;font-size:.9rem}.article-browser{border:1px solid var(--line-dark);background:var(--bg);padding:17px}.article-browser h2{margin:0 0 10px;font-size:.94rem}.article-search{grid-template-columns:90px 1fr;align-items:center;margin-bottom:10px;display:grid}.article-search span{font-size:.78rem;font-weight:700}.article-search input{border:1px solid var(--line-dark);background:#fff;border-radius:0;width:100%;min-height:42px;padding:0 11px}.filter-buttons{flex-wrap:wrap;gap:6px;margin-left:90px;display:flex}.filter-buttons button{border:1px solid var(--line-dark);cursor:pointer;background:#fff;border-radius:0;min-height:34px;padding:0 11px;font-size:.73rem}.filter-buttons button:hover,.filter-buttons button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.article-results{padding-top:28px}.result-heading{border-bottom:3px solid var(--accent);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.result-heading h2{margin:0;font-size:1.25rem}.result-heading p{color:var(--ink-soft);margin:0;font-size:.76rem}.no-results{color:var(--ink-soft);margin-top:12px}.page-hero{border-bottom:1px solid var(--line);padding-top:28px;padding-bottom:24px}.page-hero h1{max-width:820px;margin:0;font-size:clamp(1.75rem,3.5vw,2.3rem);line-height:1.45}.page-hero>p:not(.section-label){max-width:720px;color:var(--ink-soft);margin:9px 0 0}.article-hero{max-width:900px;padding-top:26px;padding-bottom:26px}.article-hero h1{margin:10px 0 8px;font-size:clamp(1.7rem,3.7vw,2.45rem);line-height:1.5}.article-hero>p{max-width:760px;color:var(--ink-soft);margin:0}.article-checkline{color:#737d83;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:.73rem;display:flex}.disclosure{background:var(--warm-soft);color:#703a28;border:1px solid #e1bbaa;margin-top:14px;padding:9px 11px;font-size:.8rem}.article-layout{border-top:1px solid var(--line);grid-template-columns:minmax(0,760px) minmax(190px,1fr);align-items:start;gap:42px;display:grid}.article-body{width:100%;min-width:0;padding-top:34px;padding-bottom:64px}.article-side{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--bg);margin-top:34px;padding:14px;position:sticky;top:20px}.article-side strong{font-size:.82rem}.article-side p{color:var(--ink-soft);margin:6px 0 10px;font-size:.73rem}.article-side a{font-size:.72rem;font-weight:700}.section{padding:40px 0}.prose{max-width:780px;margin:0 auto}.prose pre{max-width:100%;overflow-x:auto}.prose h2{border-left:4px solid var(--accent);background:var(--bg);margin:2.1em 0 .7em;padding:8px 10px;font-size:1.35rem;line-height:1.55}.prose h3{margin-top:1.8em;font-size:1.08rem}.prose p,.prose li{color:#3a4247}.prose a:not(.button){color:var(--accent);overflow-wrap:anywhere;font-weight:700}.prose .button{color:#fff;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.prose table{border-collapse:collapse;width:100%;margin:20px 0;font-size:.82rem}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px}.prose th{background:var(--bg)}.prose .notice{border-left:4px solid var(--accent);background:var(--bg);padding:14px 16px}.prose [data-link-type=ad]{border:1px solid #d5b39c;border-left:4px solid var(--warm);background:#fffaf6;border-radius:8px;margin:32px 0;padding:18px}.prose [data-link-type=ad]:before,.side-offer:before{content:"PR";background:var(--warm-soft);color:#703a28;letter-spacing:.06em;border:1px solid #e1bbaa;border-radius:3px;margin-bottom:8px;padding:1px 7px;font-size:.68rem;font-weight:800;line-height:1.6;display:inline-block}.prose [data-link-type=ad]>p:first-of-type{margin-top:0}.prose [data-link-type=ad]>a[rel~=sponsored],.article-side .side-offer>a[rel~=sponsored]{background:var(--warm);color:#fff;text-align:center;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:48px;margin-top:14px;padding:12px 16px;font-size:1rem;font-weight:800;line-height:1.5;text-decoration:none;display:flex}.prose [data-link-type=ad]>a[rel~=sponsored]:after,.article-side .side-offer>a[rel~=sponsored]:after{content:"›";font-size:1.25em;line-height:1}.prose [data-link-type=ad]>a[rel~=sponsored]:hover,.article-side .side-offer>a[rel~=sponsored]:hover{background:#9e3c1c}.prose [data-link-type=ad]>a[rel~=sponsored]:focus-visible,.article-side .side-offer>a[rel~=sponsored]:focus-visible{outline-offset:3px;outline:3px solid #1f5f76}.side-offer{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:14px}.article-side .side-offer p{margin:0 0 4px}.article-side .side-offer .side-offer-name{color:var(--ink);font-size:.82rem;font-weight:800}.article-side .side-offer>a[rel~=sponsored]{margin-top:10px;padding:10px 12px;font-size:.82rem}.verification-box{border:1px solid var(--line);background:var(--bg);margin-top:48px;padding:20px}.verification-box h2{margin-top:0}.verification-box h3{margin-bottom:3px;font-size:.9rem}.toc{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--bg);margin:0 0 26px;padding:14px 18px}.toc-title{margin:0 0 6px;font-size:.84rem;font-weight:800}.toc ol{margin:0;padding-left:1.35em}.toc li{margin:3px 0;font-size:.82rem;line-height:1.6}.source-note{color:var(--ink-soft);margin:2px 0 6px;font-size:.72rem}.source-list{word-break:break-word;overflow-wrap:anywhere}.source-list a{font-size:.8rem}.next-read{border:1px solid var(--line);border-top:3px solid var(--accent);margin-top:32px;padding:20px}.next-read h2{margin-top:0;font-size:1.05rem}.next-read ul{margin:0 0 12px;padding:0;list-style:none}.next-read li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:9px 0;display:flex}.next-read li:first-child{border-top:0}.next-read-category{color:var(--ink-soft);white-space:nowrap;font-size:.7rem}.next-read a{font-size:.86rem;font-weight:700}.next-read-links{margin-bottom:0}.next-read ul+.next-read-links{border-top:1px solid var(--line-dark);padding-top:4px}.not-found{max-width:760px;padding-top:70px;padding-bottom:70px}.not-found h1{margin:0;font-size:clamp(1.8rem,4vw,2.6rem)}.not-found p{color:var(--ink-soft)}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;justify-content:center;align-items:center;min-height:42px;margin-top:14px;padding:0 16px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-dark)}.site-footer{border-top:1px solid var(--line-dark);background:#f1f3f3;margin-top:48px;padding:32px 0 18px}.footer-grid{grid-template-columns:.8fr 1.2fr;gap:32px;display:grid}.footer-brand{margin:0;font-size:.98rem;font-weight:800}.footer-copy{color:var(--ink-soft);margin:3px 0 0;font-size:.74rem}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:7px 18px;display:flex}.site-footer nav a{color:#4f5b62;font-size:.74rem}.footer-bottom{border-top:1px solid var(--line);color:#7c858a;margin-top:20px;padding-top:12px}@media (width<=900px){.header-inner{flex-direction:column;align-items:flex-start;gap:6px;padding-top:11px;padding-bottom:8px}.site-header nav,.site-header ul{width:100%}.site-header li{text-align:center;flex:1}.home-intro-inner,.home-columns,.listing-layout,.comparison-guide-inner,.article-layout{grid-template-columns:1fr}.article-layout{grid-template-columns:minmax(0,1fr)}.home-intro-inner{gap:28px}.home-sidebar,.listing-sidebar,.article-side{position:static}.home-sidebar{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.side-box+.side-box{margin-top:0}.listing-sidebar{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.article-side{margin-top:0;margin-bottom:46px}.footer-grid{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}}@media (width<=560px){.shell{width:min(100% - 28px,1120px)}.header-note{font-size:.62rem}.site-header ul{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.site-header li+li{border-left:0}.site-header li{border-top:1px solid var(--line);border-right:1px solid var(--line)}.site-header li:nth-child(2n){border-right:0}.site-header nav a{padding:6px 3px;font-size:.74rem}.home-intro-inner{min-height:0;padding-top:30px;padding-bottom:30px}.home-intro h1{font-size:1.95rem}.home-search{padding:14px}.home-search>div{grid-template-columns:1fr 64px}.home-search input{font-size:.82rem}.home-columns{padding-top:30px;padding-bottom:42px}.category-row{grid-template-columns:28px minmax(0,1fr) auto;gap:9px;padding:12px 10px}.category-row small{font-size:.7rem}.home-sidebar,.listing-sidebar{grid-template-columns:1fr}.article-search{grid-template-columns:1fr;gap:4px}.filter-buttons{grid-template-columns:repeat(2,1fr);margin:0;display:grid}.filter-buttons button{width:100%}.article-browser{padding:13px}.comparison-guide-inner{gap:22px;padding-top:30px;padding-bottom:30px}.footer-grid{gap:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
