:root{color-scheme:light;--paper:#faf9f6;--surface:#fff;--ink:#202d29;--muted:#536158;--accent:#215c46;--accent-dark:#bcd0c7;--on-accent:#fff;--soft:#edf3ee;--line:#d7ded7;--footer:#f0f2ed;--focus:#164cc7;--underline:#91ac9a;--content:49rem}
@media screen and (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){color-scheme:dark;--paper:#141a18;--surface:#1b2420;--ink:#e6ede9;--muted:#b0bfb6;--accent:var(--accent-dark);--on-accent:#142019;--soft:#22312a;--line:#43574c;--footer:#19221d;--focus:#94bfff;--underline:#718f7d}
}
@media screen{
  :root[data-theme="dark"]{color-scheme:dark;--paper:#141a18;--surface:#1b2420;--ink:#e6ede9;--muted:#b0bfb6;--accent:var(--accent-dark);--on-accent:#142019;--soft:#22312a;--line:#43574c;--footer:#19221d;--focus:#94bfff;--underline:#718f7d}
}

@media screen{
  body{min-block-size:100vh;min-block-size:100dvh;display:flex;flex-direction:column}
  body>main{flex:1 0 auto}
}
*{box-sizing:border-box}html{scroll-padding-block-start:1.5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.125rem;line-height:1.65;text-align:start;overflow-wrap:anywhere}
[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:pretty}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:.13em}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:5px}main:focus{outline:none}.wrap{inline-size:min(calc(100% - 2.5rem),var(--content));margin-inline:auto}.skip{position:absolute;inset-block-start:-10rem;inset-inline-start:1rem;background:var(--surface);padding:.75rem;z-index:5}.skip:focus{inset-block-start:1rem}
html:lang(ja) body{line-break:strict;word-break:normal}
html:lang(ja) .brand,html:lang(ja) .eyebrow,html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(ja) .guide-title{letter-spacing:normal}
.site-header{border-block-end:1px solid var(--line)}.header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;padding-block:1.2rem}.brand{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink);font-size:1.5rem;font-weight:850;letter-spacing:-.045em;text-decoration:none;min-block-size:2.75rem}.brand-dot{inline-size:.45rem;block-size:.45rem;border-radius:100%;background:var(--accent)}.header-row nav{display:flex;flex-wrap:wrap;gap:1.2rem}.header-row nav a{display:inline-flex;align-items:center;min-block-size:2.75rem;font-size:.85rem;color:var(--ink)}
.hero{padding-block:3.5rem 2rem}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em;margin-block-end:1rem}h1{font-size:clamp(2rem,5.2vw,3.3rem);font-weight:750;line-height:1.13;letter-spacing:-.045em;max-inline-size:23ch}.intro{margin-block-start:1.25rem;color:var(--muted);max-inline-size:64ch}.hero .intro{font-size:1.125rem}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-block-start:1.6rem}.button{display:inline-flex;justify-content:center;align-items:center;min-block-size:2.9rem;padding:.65rem 1rem;background:var(--accent);border:1px solid var(--accent);border-radius:.25rem;color:var(--on-accent);text-decoration:none;font-size:.875rem;font-weight:650}.button:hover{filter:brightness(.93);text-decoration:underline}.button.secondary{background:transparent;color:var(--accent)}.hero-note{font-size:.8rem;color:var(--muted);margin-block-start:1.25rem}
.topics{display:flex;flex-wrap:wrap;gap:.55rem;padding-block:0 1.8rem;border-block-end:1px solid var(--line)}.topics a{display:inline-flex;align-items:center;min-block-size:2.75rem;border:1px solid var(--line);border-radius:.25rem;background:var(--surface);padding:.4rem .75rem;font-size:.8125rem;color:var(--ink);text-decoration:none}.topics a:hover{background:var(--soft);border-color:var(--accent);text-decoration:underline}.latest{padding-block-start:1.75rem}.section-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}.section-row h2{font-size:1.125rem}.small{font-size:.75rem;color:var(--muted)}.guide-list{padding:0;margin:0;list-style:none}.guide-list>li+li{border-block-start:1px solid var(--line)}.guide{padding-block:1.8rem 2rem}.meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .6rem;font-size:.8rem;color:var(--muted);margin-block-end:.65rem}.meta a{font-weight:650}.guide-title{font-size:clamp(1.25rem,3.2vw,1.65rem);line-height:1.35;letter-spacing:-.025em}.guide-title a{color:var(--ink);text-decoration-color:var(--underline);text-decoration-thickness:1px}.guide-title a:hover{color:var(--accent)}.summary{margin-block-start:.8rem;color:var(--muted)}.archive-link{padding-block:0 2rem}.empty{padding-block:2rem;color:var(--muted)}
.site-footer{background:var(--footer);border-block-start:1px solid var(--line);padding-block:2rem;margin-block-start:2rem}.footer-promise{font-size:.875rem;max-inline-size:64ch}.footer-links,.languages{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin-block:.8rem}.footer-links a,.languages a{display:inline-flex;align-items:center;min-block-size:2.75rem;color:var(--ink);font-size:.8rem}.fine{font-size:.75rem;color:var(--muted)}
.page-header{padding-block:3rem 2rem}.page-header h1{font-size:clamp(2rem,5vw,2.8rem)}.breadcrumb{display:flex;gap:.7rem;flex-wrap:wrap;margin-block:1.5rem;font-size:.8rem}.article-header h1{max-inline-size:none;font-size:clamp(2rem,4.8vw,2.9rem);line-height:1.18}.article-header .meta{margin-block:1.1rem .7rem}.disclosure{font-size:.8rem;color:var(--muted);max-inline-size:80ch}.definition{background:var(--soft);border-inline-start:4px solid var(--accent);padding:1.4rem;margin-block:2rem}.definition h2{font-size:1rem;margin-block-end:.6rem}.prose-section{margin-block:2rem}.prose-section h2,.sources h2,.related h2,.correction h2{font-size:1.45rem;line-height:1.3;letter-spacing:-.025em;margin-block-end:1rem}.prose-section p+p{margin-block-start:1rem}.prose-section ul{padding-inline-start:1.4rem}.prose-section li+li{margin-block-start:.6rem}.source-note{font-size:.8rem;color:var(--muted);margin-block-start:.8rem!important}.sources{border-block-start:1px solid var(--line);padding-block-start:1.5rem;margin-block:2rem}.sources ol{padding-inline-start:1.25rem}.sources li{font-size:.875rem;margin-block:1rem}.source-publisher{display:block;color:var(--muted)}.sources li p{font-size:.8rem;color:var(--muted);margin-block-start:.3rem}.correction{background:var(--soft);padding:1.25rem}.correction h2{font-size:1.1rem;margin-block-end:.5rem}.correction p{font-size:.875rem}.related{margin-block:2rem}.related ul{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;list-style:none;padding:0}.related a{display:inline-flex;align-items:center;min-block-size:2.75rem}.article-actions{margin-block:1.5rem 3rem}.pagination{display:flex;flex-wrap:wrap;gap:.5rem;padding-block:1rem 2rem}.pagination a,.pagination span{display:grid;place-items:center;min-inline-size:2.75rem;min-block-size:2.75rem;padding:.4rem;border:1px solid var(--line)}.pagination [aria-current]{background:var(--accent);color:var(--on-accent)}.contact-box{border:1px solid var(--line);padding:1.5rem;margin-block:2rem}.contact-box p{font-size:.875rem;margin-block-start:.6rem}.ad-slot{min-block-size:180px;margin-block:2rem;padding-block:1rem;border-block-start:1px solid var(--line);text-align:center}.ad-slot>p{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;color:var(--muted)}
@media(max-width:30rem){.wrap{inline-size:calc(100% - 2rem)}.hero{padding-block-start:2rem}.header-row{padding-block:.8rem}.header-row nav{gap:.8rem}.hero h1{font-size:2.2rem}.guide{padding-block:1.5rem}.definition{padding:1.1rem}.small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white;color:black;font-size:11pt}.wrap{inline-size:100%}.site-header nav,.site-header .theme-control,.actions,.topics,.ad-slot,.skip,.footer-links,.languages{display:none}.hero,.page-header{padding-block:1rem}.site-footer{background:white}.guide,.definition{break-inside:avoid}}

.article-prose>p{margin-block:1rem}.article-prose h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.025em;margin-block:2.3rem 1rem}.article-prose h3{font-size:1.15rem;line-height:1.4;margin-block:1.6rem .8rem}.article-prose ul{padding-inline-start:1.4rem;margin-block:1.2rem}.article-prose li+li{margin-block-start:.8rem}.sources summary{cursor:pointer;font-size:.875rem;font-weight:650;color:var(--muted);padding-block:.4rem}.sources summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.related ul{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.related li{border-block-start:1px solid var(--line);padding-block-start:.7rem}.related a{font-weight:650}.related p{font-size:.9rem;color:var(--muted);line-height:1.5}@media(max-width:35rem){.related ul{grid-template-columns:1fr}.article-prose h2{font-size:1.35rem}}

.header-brand-row{display:flex;align-items:center;gap:.75rem}
.theme-control{position:relative;flex:none;color:var(--ink)}
.theme-toggle{position:relative;display:grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent}
.theme-auto{position:absolute;inset-inline-end:1px;inset-block-end:1px;display:grid;place-items:center;min-inline-size:1.125rem;block-size:1.125rem;padding-inline:2px;border:2px solid var(--paper);border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:.625rem;font-weight:800;line-height:1;pointer-events:none}
.theme-toggle:hover,.theme-toggle[aria-expanded="true"]{color:var(--ink);background:var(--soft)}
.theme-control svg{display:block;flex:none}
.theme-panel{position:absolute;inset-block-start:calc(100% + .5rem);inset-inline-end:0;z-index:10;inline-size:12.5rem;max-inline-size:calc(100vw - 2rem);padding:.4rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface);box-shadow:0 .5rem 1.5rem #0002}
.theme-option{display:flex;align-items:center;gap:.7rem;inline-size:100%;min-block-size:2.75rem;padding:.6rem .7rem;border:0;border-radius:.4rem;color:var(--ink);background:transparent;font-size:.875rem;text-align:start}
.theme-option:hover{background:var(--soft)}
.theme-option[aria-pressed="true"]{background:var(--soft);color:var(--accent);font-weight:650}
.theme-check{margin-inline-start:auto;visibility:hidden}
.theme-option[aria-pressed="true"] .theme-check{visibility:visible}
.theme-option:focus-visible{outline-offset:-3px}
@media(max-width:40rem){.header-brand-row{inline-size:100%;justify-content:space-between}}

/* Local sharing controls work as links even without JavaScript. */
.theme-auto svg { width: 12px; height: 12px; stroke-width: 2.2; }
.sharing { margin-block: 2.5rem; padding-block-start: 1.25rem; border-block-start: 1px solid var(--line); }
.share-label { margin: 0 0 .65rem; font-weight: 700; }
.share-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.share-button { display: inline-flex; gap: .45rem; align-items: center; justify-content: center; min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--paper); color: var(--ink); text-decoration: none; font: inherit; font-size: .85rem; cursor: pointer; }
.share-button:hover { color: var(--accent); border-color: currentColor; }
.share-button svg { flex-shrink: 0; }
.share-status { margin: .5rem 0 0; font-size: .9rem; }
.share-status:empty { display: none; }
.share-fallback { display: block; margin-block-start: .75rem; }
.share-fallback input { display: block; width: 100%; margin-block-start: .4rem; padding: .75rem; border: 1px solid var(--line); border-radius: .4rem; color: var(--ink); background: var(--paper); font: inherit; }
@media print { .sharing { display: none; } }
