:root{--color-background:#15181a;--color-surface:#1e2224;--color-surface-raised:#262b2d;--color-border:#2e3436;--color-text:#e8eaea;--color-text-muted:#9aa3a4;--color-on-accent:#07111f;--color-primary:#60a5fa;--color-primary-hover:#93c5fd;--color-primary-disabled:#314e70;--color-primary-subtle:#172a40;--color-hover:#23292b;--color-danger:#cf4137;--color-success:#4ade80;--color-warning:#fbbf24;--color-info:#22d3ee;--radius-md:6px;--space-xs:6px;--space-sm:8px;--space-md:12px;--space-lg:20px;--space-xl:24px;--space-2xl:40px;--space-3xl:64px;--font-sans:"Yu Gothic UI", "Meiryo", "Hiragino Sans", "Noto Sans JP", sans-serif;--text-body:1rem;--text-sm:.875rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:clamp(1.75rem, 4vw, 2.5rem);--layout-max:1200px;--layout-gutter:clamp(16px, 4vw, 32px);--bp-sm:720px;--bp-md:1024px;--focus-ring:2px solid var(--color-primary);--motion-fast:.12s;--motion-base:.18s;--easing:ease-out}*,:before,:after{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.skip-link{left:var(--space-md);z-index:100;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--color-on-accent);border-radius:var(--radius-md);font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-md)}.container{width:100%;max-width:var(--layout-max);padding-inline:var(--layout-gutter);margin-inline:auto}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-md);flex-wrap:wrap;display:flex}.site-logo{color:var(--color-text);font-weight:600;font-size:var(--text-lg);text-decoration:none}.site-logo:hover{color:var(--color-primary)}.site-nav{gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-primary)}.site-footer{margin-top:var(--space-3xl);border-top:1px solid var(--color-border);background:var(--color-surface);padding-block:var(--space-2xl);color:var(--color-text-muted);font-size:var(--text-sm)}.site-footer__grid{gap:var(--space-xl);display:grid}@media (width>=720px){.site-footer__grid{grid-template-columns:2fr 1fr 1fr}}.site-footer nav ul{margin:0;padding:0;list-style:none}.site-footer nav li+li{margin-top:var(--space-sm)}.site-footer a{color:var(--color-text-muted);text-decoration:none}.site-footer a:hover{color:var(--color-primary)}.section{padding-block:var(--space-2xl)}.section--alt{background:var(--color-surface);border-block:1px solid var(--color-border)}.section__title{margin:0 0 var(--space-lg);font-size:var(--text-2xl);letter-spacing:0;font-weight:600;line-height:1.3}.section__lead{margin:0 0 var(--space-xl);color:var(--color-text-muted);max-width:40rem}.hero{padding-block:var(--space-3xl) var(--space-2xl)}.hero__eyebrow{margin:0 0 var(--space-md);color:var(--color-primary);font-size:var(--text-sm);font-weight:600}.hero__title{margin:0 0 var(--space-lg);font-size:var(--text-3xl);max-width:18em;font-weight:600;line-height:1.25}.hero__lead{margin:0 0 var(--space-xl);color:var(--color-text-muted);font-size:var(--text-lg);max-width:40rem}.hero__actions{gap:var(--space-md);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);min-height:44px;font-family:inherit;font-size:var(--text-body);cursor:pointer;transition:background-color var(--motion-base) var(--easing), color var(--motion-base) var(--easing), border-color var(--motion-base) var(--easing);border:1px solid #0000;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-primary);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-primary-hover);color:var(--color-on-accent)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover{color:var(--color-primary);border-color:var(--color-primary)}.btn--disabled,.btn[aria-disabled=true]{background:var(--color-primary-disabled);color:var(--color-text-muted);cursor:not-allowed;pointer-events:none}.card-grid{gap:var(--space-lg);display:grid}@media (width>=720px){.card-grid--2{grid-template-columns:repeat(2,1fr)}.card-grid--3{grid-template-columns:repeat(3,1fr)}.card-grid--4{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.card-grid--4{grid-template-columns:repeat(4,1fr)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.section--alt .card{background:var(--color-surface-raised)}.card h3{margin:0 0 var(--space-sm);font-size:var(--text-lg);font-weight:600}.card p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.steps{gap:var(--space-lg);counter-reset:step;display:grid}@media (width>=720px){.steps{grid-template-columns:repeat(3,1fr)}}.step{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);counter-increment:step;position:relative}.step:before{content:counter(step);width:28px;height:28px;margin-bottom:var(--space-md);border-radius:var(--radius-md);background:var(--color-primary-subtle);color:var(--color-primary);font-weight:600;font-size:var(--text-sm);justify-content:center;align-items:center;display:inline-flex}.prose{max-width:48rem}.prose h1{font-size:var(--text-2xl);margin-top:0}.prose h2{font-size:var(--text-xl);margin-top:var(--space-2xl)}.prose h3{font-size:var(--text-lg)}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.prose th,.prose td{border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);text-align:left}.prose th{background:var(--color-surface)}.banner{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-primary-subtle);color:var(--color-text);margin-bottom:var(--space-xl)}.banner--warn{background:var(--color-surface-raised);border-color:var(--color-warning)}.list-check{margin:0;padding-left:1.25rem}.list-check li+li{margin-top:var(--space-sm)}.compat-grid{gap:var(--space-lg);display:grid}@media (width>=720px){.compat-grid{grid-template-columns:1fr 1fr}}.compat-box h3{margin-top:0}.compat-box--ok{border-left:3px solid var(--color-success)}.compat-box--no{border-left:3px solid var(--color-danger)}.shot{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);overflow:hidden}.shot img{width:100%;height:auto}.shot figcaption{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--color-text-muted)}.faq details{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-md) var(--space-lg)}.faq details+details{margin-top:var(--space-md)}.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:var(--space-md) 0 0;color:var(--color-text-muted)}.meta-dl{gap:var(--space-sm);display:grid}.meta-dl div{gap:var(--space-md);font-size:var(--text-sm);grid-template-columns:8rem 1fr;display:grid}.meta-dl dt{color:var(--color-text-muted);margin:0}.meta-dl dd{word-break:break-all;margin:0}.page-title{margin:0 0 var(--space-lg);font-size:var(--text-2xl);font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
