:root{color-scheme:light;--jg-color-paper: #f7f8f6;--jg-color-surface: #ffffff;--jg-color-surface-soft: #eef2f1;--jg-color-surface-cool: #e8eef0;--jg-color-ink: #15191b;--jg-color-muted: #5b6267;--jg-color-subtle: #8a9297;--jg-color-line: #d9dedf;--jg-color-ink-inverse: #f7faf8;--jg-color-night: #071012;--jg-color-night-soft: #10191c;--jg-color-night-panel: #142023;--jg-color-sumi: #15191b;--jg-color-ai: #123840;--jg-color-seiji: #dfe9e7;--jg-color-paper-deep: var(--jg-color-surface-cool);--jg-color-accent: #1f5f6b;--jg-color-accent-deep: #123840;--jg-color-accent-subtle: #dce9eb;--jg-color-warm-accent: #9c4a36;--jg-color-warm-accent-subtle: #f0dfd8;--jg-color-link: #1f5f6b;--jg-color-link-visited: #6b4e9b;--jg-color-route-walk: #6b6f76;--jg-color-route-rail: #1f5f6b;--jg-color-route-sea: #dceff5;--jg-color-caution: #9a5b00;--jg-color-caution-bg: #fff4d8;--jg-color-cultural-context: #2f6f4e;--jg-color-cultural-context-bg: #e7f3ec;--jg-color-focus: #005fcc;--jg-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", "Noto Sans JP", "Noto Sans Arabic", "Noto Sans Thai", "Noto Sans Devanagari", sans-serif;--jg-font-body-size: clamp(1rem, .96rem + .2vw, 1.125rem);--jg-line-body: 1.72;--jg-line-heading: 1.12;--jg-space-1: .25rem;--jg-space-2: .5rem;--jg-space-3: .75rem;--jg-space-4: 1rem;--jg-space-5: 1.5rem;--jg-space-6: 2rem;--jg-space-7: 3rem;--jg-space-8: 4rem;--jg-page-inline: clamp(1rem, 4vw, 2rem);--jg-section-block: clamp(2.5rem, 6vw, 5rem);--jg-content-max: 72rem;--jg-reading-max: 44rem;--jg-radius-xs: .375rem;--jg-radius-sm: .5rem;--jg-radius-md: .875rem;--jg-radius-lg: 1.25rem;--jg-radius-pill: 999px;--jg-border-hairline: 1px solid var(--jg-color-line);--jg-border-strong: 1px solid color-mix(in srgb, var(--jg-color-line), var(--jg-color-ink) 18%);--jg-shadow-card: 0 10px 30px rgba(32, 33, 36, .08);--jg-shadow-editorial: 0 22px 60px rgba(21, 24, 26, .14);--jg-shadow-immersive: 0 32px 80px rgba(0, 0, 0, .28);--jg-shadow-cut: 0 18px 0 rgba(8, 11, 13, .08), 0 36px 90px rgba(8, 11, 13, .24);--jg-ratio-hero: 16 / 9;--jg-ratio-editorial-route: 1 / 1;--jg-ratio-spot: 4 / 3;--jg-ratio-og: 1.91 / 1;--jg-ratio-practical-map: 16 / 10;--jg-map-mobile-height: min(62vh, 520px);--ink: var(--jg-color-ink);--muted: var(--jg-color-muted);--line: var(--jg-color-line);--paper: var(--jg-color-paper);--surface: var(--jg-color-surface);--accent: var(--jg-color-accent);--accent-2: var(--jg-color-link);--soft: var(--jg-color-surface-soft)}*{box-sizing:border-box}html{font-family:var(--jg-font-sans);font-size:var(--jg-font-body-size);background:var(--jg-color-night)}body{margin:0;background:radial-gradient(circle at 50% 4rem,rgba(31,95,107,.24),transparent 31rem),linear-gradient(180deg,var(--jg-color-night) 0 38rem,#11191b 38rem 100%),linear-gradient(90deg,#060b0cf7,#060b0c00 9vw 91vw,#060b0cf7),linear-gradient(180deg,var(--jg-color-paper),var(--jg-color-surface-soft));color:var(--jg-color-ink);line-height:var(--jg-line-body)}a{color:var(--jg-color-link)}a:visited{color:var(--jg-color-link-visited)}:focus-visible{outline:3px solid var(--jg-color-focus);outline-offset:3px}.skip-link{position:absolute;inset-block-start:-4rem;inset-inline-start:var(--jg-space-4);z-index:10;background:var(--jg-color-ink);color:var(--jg-color-surface);padding:var(--jg-space-2) var(--jg-space-3)}.skip-link:focus{inset-block-start:var(--jg-space-4)}.site-header{border-block-end:1px solid rgba(255,248,230,.1);background:linear-gradient(180deg,#060a0ce6,#060a0cc7),#080b0de0;color:var(--jg-color-ink-inverse);position:sticky;inset-block-start:0;z-index:4;backdrop-filter:blur(16px) saturate(125%)}.nav,.site-footer,.page,.section{width:min(var(--jg-content-max),calc(100% - (var(--jg-page-inline) * 2)));margin-inline:auto}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:var(--jg-space-4)}.brand{color:var(--jg-color-ink-inverse);font-weight:750;text-decoration:none;letter-spacing:.14em;text-transform:uppercase;font-size:.84rem}.brand:visited{color:var(--jg-color-ink-inverse)}.nav-links{display:flex;gap:var(--jg-space-2);flex-wrap:wrap}.nav-links a{color:#fff8e6c7;text-decoration:none;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;border-radius:var(--jg-radius-pill);padding:.48rem .82rem;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.nav-links a:visited{color:#fff8e6c7}.nav-links a:hover,.nav-links a:focus-visible{color:var(--jg-color-ink-inverse);background:#ffffff0f;border-color:#ffffff24}.nav-links a:focus-visible{outline-offset:2px}.immersive-header-page{--immersive-page-frame: clamp(20px, 2.2vw, 40px);background:#202020}.immersive-header-page .site-header{position:absolute;inset-block-start:var(--immersive-page-frame);inset-inline:0;z-index:9;border-block-end:0;background:transparent;backdrop-filter:none}.immersive-header-page .nav{width:calc(100% - (var(--immersive-page-frame) * 2));min-height:96px;padding-inline:clamp(30px,4vw,72px);border-block-start:1px solid rgba(255,248,230,.14);border-block-end:1px solid rgba(255,248,230,.2)}.immersive-header-page .article-hero{width:calc(100vw - (var(--immersive-page-frame) * 2));margin-top:var(--immersive-page-frame);margin-left:calc(50% - 50vw + var(--immersive-page-frame));border:1px solid rgba(255,248,230,.12);overflow:hidden}.immersive-header-page .page{display:flow-root}.immersive-header-page .brand{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.02rem,1.3vw,1.42rem);font-weight:650;letter-spacing:.18em;text-shadow:0 3px 18px rgba(0,0,0,.48)}.immersive-header-page .nav-links{gap:clamp(1.2rem,3vw,3.2rem)}.immersive-header-page .nav-links a{padding:0;border:0;border-radius:0;color:#fff8e6d6;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(.72rem,.92vw,.9rem);font-weight:650;letter-spacing:.2em;text-shadow:0 3px 18px rgba(0,0,0,.5)}.immersive-header-page .nav-links a:visited{color:#fff8e6d6}.immersive-header-page .nav-links a:hover,.immersive-header-page .nav-links a:focus-visible{color:var(--jg-color-ink-inverse);background:transparent}.page{padding-block:var(--jg-space-7) 5rem}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:40px;align-items:start;padding-block-end:44px;border-block-end:var(--jg-border-hairline)}.eyebrow{color:var(--jg-color-accent);font-weight:800;text-transform:uppercase;letter-spacing:0;font-size:.78rem}h1,h2,h3{line-height:var(--jg-line-heading);letter-spacing:0;margin:0;overflow-wrap:anywhere;text-wrap:balance}h1{font-size:clamp(2.2rem,5vw,4.8rem);max-width:14em}h2{font-size:1.7rem;margin-block-end:var(--jg-space-4)}h3{font-size:1.15rem}.lead{color:var(--jg-color-muted);font-size:1.08rem;max-width:68ch}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--jg-space-4)}.card{background:var(--jg-color-surface);border:var(--jg-border-hairline);border-radius:var(--jg-radius-sm);padding:18px;min-height:100%}.card p{color:var(--jg-color-muted);margin-block-end:0}.meta-row{display:flex;flex-wrap:wrap;gap:var(--jg-space-2);margin-block:18px}.pill{border:var(--jg-border-hairline);border-radius:var(--jg-radius-pill);padding:4px 10px;background:var(--jg-color-surface-soft);font-size:.9rem}.category-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--jg-space-4);align-items:end;margin-block-end:var(--jg-space-4)}.category-overview p{max-width:72ch;color:var(--jg-color-muted)}.text-link-action{display:inline-flex;align-items:center;justify-content:center;border:var(--jg-border-hairline);border-radius:var(--jg-radius-pill);padding:.64rem .9rem;background:var(--jg-color-surface);text-decoration:none;white-space:nowrap}.category-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--jg-space-3)}.category-family,.category-group{border:var(--jg-border-hairline);border-radius:var(--jg-radius-sm);background:#fff8e6f5}.category-family{padding:16px}.category-family-header,.category-group-heading{display:flex;justify-content:space-between;gap:var(--jg-space-3)}.category-family-header{align-items:center}.category-family-header span,.category-group-heading>span{flex:0 0 auto;color:var(--jg-color-muted);font-size:.86rem}.category-family p,.category-group-heading p{color:var(--jg-color-muted);margin-block-end:0}.category-index{display:grid;gap:var(--jg-space-4)}.category-group{padding:clamp(18px,2vw,28px);scroll-margin-block-start:92px}.category-group-heading{align-items:start;margin-block-end:var(--jg-space-4)}.category-chip-list{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0;padding:0}.category-chip-list a{display:inline-flex;align-items:center;min-height:2.15rem;border:1px solid rgba(20,39,43,.16);border-radius:var(--jg-radius-pill);padding:.34rem .72rem;background:var(--jg-color-surface-soft);color:var(--jg-color-ink);text-decoration:none;font-size:.92rem}.category-chip-list a:visited{color:var(--jg-color-ink)}.category-chip-list a:hover,.category-chip-list a:focus-visible{border-color:#1f5f6b8f;background:#1f5f6b1a}.category-nav-note{margin-block-start:var(--jg-space-4)}.section{padding-block:var(--jg-section-block)}.site-footer{border-block-start:var(--jg-border-hairline);padding-block:28px;color:#f7faf894}@media(max-width:760px){.nav{min-height:60px;gap:var(--jg-space-2)}.brand{font-size:.72rem;letter-spacing:.1em}.nav-links{flex-wrap:nowrap;gap:.35rem}.nav-links a{font-size:.68rem;padding:.42rem .55rem;letter-spacing:.08em;white-space:nowrap}.immersive-header-page .site-header{inset-block-start:0}.immersive-header-page .nav{width:100%;min-height:60px;padding-inline:16px;border-block-start:0}.immersive-header-page .article-hero{width:100vw;margin-top:0;margin-left:calc(50% - 50vw);border:0}.immersive-header-page .brand{font-family:var(--jg-font-sans);font-size:.72rem;font-weight:750;letter-spacing:.1em}.immersive-header-page .nav-links{gap:.35rem}.immersive-header-page .nav-links a{font-family:var(--jg-font-sans);font-size:.68rem;letter-spacing:.08em}.hero{grid-template-columns:1fr;gap:var(--jg-space-5)}.category-overview,.category-group-heading{grid-template-columns:1fr}.category-overview,.category-family-header,.category-group-heading{display:grid}.text-link-action{justify-self:start;white-space:normal}h1{max-width:100%}}
