@layer base{:root{--bg:#eeece6;--paper:#faf9f6;--ink:#2f302c;--muted:#70726c;--line:#d2d1c9;--accent:#566c79;--soft:#eeede8;--search:#edf1f3;--grid:#46463c0e;--serif:Georgia, "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", var(--sans);color-scheme:light dark}:root[data-theme=dark]{--bg:#22231f;--paper:#2b2c27;--ink:#e0dfd7;--muted:#aaa99e;--line:#4a4b42;--accent:#a0baca;--soft:#34362e;--search:#303a3e;--grid:#bebea50e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#22231f;--paper:#2b2c27;--ink:#e0dfd7;--muted:#aaa99e;--line:#4a4b42;--accent:#a0baca;--soft:#34362e;--search:#303a3e;--grid:#bebea50e}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{color:var(--ink);font-family:var(--sans);background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:20px 20px;margin:0;line-height:1.7}a{color:inherit;text-underline-offset:3px}button,input{font:inherit}button{cursor:pointer}button,a,input,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}button{color:var(--ink)}img{max-width:100%;height:auto}::selection{color:#17212a;background:#beced7}h1,h2,h3,h4,p{margin-top:0}.skip-link{background:var(--paper);z-index:100;padding:10px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}}.site-header{border:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:24px;max-width:1504px;min-height:76px;margin:18px auto 32px;padding:0 28px;display:flex}.brand{align-items:baseline;gap:12px;text-decoration:none;display:flex}.brand-pi{font-family:Georgia,serif;font-size:39px;font-style:italic;font-weight:700;line-height:1}.brand-locale{letter-spacing:.1em;color:var(--muted);border-left:1px solid var(--line);padding-left:12px;font-size:10px}.site-header nav{font-family:var(--mono);letter-spacing:.08em;gap:28px;font-size:12px;display:flex}.site-header nav a{padding:7px 0;text-decoration:none}.site-header nav .current{border-bottom:1px solid var(--ink)}#theme-toggle{background:0 0;border:0;padding:6px 10px;font-size:25px}.site-grid{grid-template-columns:260px minmax(0,1fr) 220px;gap:26px;max-width:1504px;margin:0 auto;display:grid}.sidebar,.toc{background:var(--paper);border:1px solid var(--line);align-self:start;position:sticky;top:24px}.sidebar{scrollbar-width:thin;max-height:calc(100vh - 48px);overflow:auto}summary,.toc h2{font-family:var(--mono);letter-spacing:.13em;border-bottom:1px solid var(--line);margin:0;padding:16px 18px;font-size:12px;font-weight:500}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary span{float:right;display:none}.sidebar nav{padding:16px 14px 22px}.nav-group h2{font-size:11px;font-family:var(--mono);letter-spacing:.06em;color:var(--muted);margin:22px 4px 9px;font-weight:500}.nav-group:first-child>h2{margin-top:0}.nav-level-1 h2{margin-top:17px;font-size:10px}.nav-link{color:var(--ink);border-left:2px solid #0000;margin:2px 0;padding:6px 10px;font-size:12px;line-height:1.7;text-decoration:none;display:block}.nav-link:hover{background:var(--soft)}.nav-link.is-active{border-color:var(--accent);background:var(--soft);font-weight:600}.sidebar-footer{border-top:1px solid var(--line);letter-spacing:.03em;color:var(--muted);padding:14px 18px;font-size:10px}.status-dot{background:#738368;border-radius:50%;width:5px;height:5px;margin-right:8px;display:inline-block}.main-column{min-width:0}.search-button{background:var(--search);border:1px solid var(--line);width:100%;color:var(--muted);text-align:left;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;display:flex}.search-button kbd{margin-left:auto}kbd{font-family:var(--mono);border:1px solid var(--line);padding:0 4px;font-size:11px;line-height:1.5}.document{background:var(--paper);border:1px solid var(--line);min-height:60vh;padding:34px 38px 24px}.document-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.eyebrow{font-family:var(--mono);letter-spacing:.14em;color:var(--muted);margin-bottom:11px;font-size:9px}.document h1{font-family:var(--serif);overflow-wrap:anywhere;margin:0;font-size:34px;font-weight:500;line-height:1.5}.original-link{white-space:nowrap;letter-spacing:.06em;color:var(--muted);font-size:10px}.translation-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-bottom:25px;padding:11px 0;font-size:10px;line-height:1.7;display:flex}.translation-note span+span:before{content:"·";margin-right:14px}.prose{overflow-wrap:anywhere;font-size:15px;line-height:1.95}.prose p{margin-bottom:21px}.prose h2{font-family:var(--serif);border-top:1px solid var(--line);margin-top:38px;margin-bottom:21px;padding-top:26px;font-size:27px;font-weight:500;line-height:1.6}.prose h3{margin:29px 0 14px;font-size:18px;font-weight:600;line-height:1.65}.prose h4{margin:24px 0 12px;font-size:15px}.heading-anchor{font-family:var(--mono);color:var(--muted);opacity:0;padding-left:9px;font-size:.65em;text-decoration:none}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.heading-anchor:focus{opacity:1}.prose ul,.prose ol{margin:0 0 22px;padding-left:1.6em}.prose li{margin:6px 0;padding-left:4px}.prose li>p{margin-bottom:9px}.prose a{color:var(--accent);text-decoration-thickness:1px}.prose :not(pre)>code{background:var(--soft);border:1px solid var(--line);font-family:var(--mono);word-break:break-word;border-radius:2px;padding:1px 4px;font-size:.85em}.code-block{border:1px solid var(--line);margin:24px 0;overflow:hidden}.code-bar{background:var(--soft);border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--mono);justify-content:space-between;align-items:center;padding:5px 12px;font-size:10px;display:flex}.copy-code{background:0 0;border:0;padding:2px 4px;font-size:10px}.prose pre{font-size:12px;line-height:1.8;font-family:var(--mono);margin:0;padding:17px;overflow:auto}.prose pre code{font-family:inherit}.prose table{border-collapse:collapse;width:100%;margin:24px 0;font-size:12px;line-height:1.8;display:block;overflow:auto}.prose td,.prose th{border:1px solid var(--line);text-align:left;min-width:90px;padding:10px 12px}.prose th{background:var(--soft);font-weight:600}.prose blockquote{border-left:3px solid var(--accent);background:var(--soft);margin:24px 0;padding:12px 18px}.prose blockquote p:last-child{margin:0}.prose hr{border:0;border-top:1px solid var(--line);margin:30px 0}.page-top-anchor{display:block}.page-pagination{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;padding-top:22px;display:grid}.page-pagination a{font-size:13px;text-decoration:none}.page-pagination small{color:var(--muted);margin-bottom:5px;font-size:10px;display:block}.page-pagination .next{text-align:right}.document-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:26px;padding-top:20px;font-size:10px}.document-footer p{margin-bottom:12px;line-height:1.8}.document-footer div{flex-wrap:wrap;gap:8px 18px;display:flex}.toc h2{font-size:11px}.toc nav{max-height:70vh;padding:15px 17px;overflow:auto}.toc nav a{color:var(--muted);padding:7px 0;font-size:11px;line-height:1.7;text-decoration:none;display:block}.toc nav a:hover{color:var(--ink)}.toc nav a.nested{padding-left:10px;font-size:10px}.back-top{border-top:1px solid var(--line);color:var(--muted);padding:11px 17px;font-size:10px;text-decoration:none;display:block}.site-footer{max-width:1504px;color:var(--muted);justify-content:space-between;gap:18px;margin:28px auto 0;padding:18px 0 28px;font-size:10px;display:flex}.not-found{background:var(--paper);border:1px solid var(--line);max-width:650px;margin:15vh auto;padding:44px}dialog{background:var(--paper);width:min(660px,100vw - 32px);max-height:80vh;color:var(--ink);border:1px solid var(--line);padding:22px;box-shadow:0 20px 70px #0003}dialog::backdrop{backdrop-filter:blur(3px);background:#20251e88}.search-dialog-header{justify-content:space-between;align-items:center;margin-bottom:18px;font-size:12px;display:flex}.search-dialog-header button{color:var(--muted);background:0 0;border:0;font-size:10px}#search-input{border:1px solid var(--line);background:var(--search);width:100%;color:var(--ink);padding:13px;font-size:16px}#search-status{color:var(--muted);margin:16px 0;font-size:11px}.search-result{border-top:1px solid var(--line);padding:14px 4px;text-decoration:none;display:block}.search-result strong{font-size:14px}.search-result p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.8}.search-result:hover{background:var(--soft)}:root[data-theme=dark] .shiki,:root[data-theme=dark] .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .shiki,:root:not([data-theme=light]) .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}@media (width>=801px){.sidebar summary{pointer-events:none}}@media (width<=1568px){.site-header,.site-grid,.site-footer{margin-left:30px;margin-right:30px}}@media (width<=1200px){.site-grid{grid-template-columns:230px minmax(0,1fr);gap:22px}.toc{display:none}.document{padding:30px}}@media (width<=800px){.site-header{gap:12px;min-height:64px;margin:12px 16px 18px;padding:12px 16px}.brand-pi{font-size:33px}.brand-locale{display:none}.site-header nav{gap:16px;font-size:10px}.site-header nav a:nth-child(2){display:none}#theme-toggle{padding:4px;font-size:22px}.site-grid{margin:0 16px;display:block}.sidebar{max-height:none;margin-bottom:16px;position:static}.sidebar summary{padding:12px 15px}.sidebar summary span{display:inline}.sidebar nav{max-height:55vh;overflow:auto}.sidebar-footer{display:none}.search-button{margin-bottom:16px;padding:11px 14px}.document{padding:24px 22px}.document h1{font-size:28px}.document-heading{gap:12px}.original-link{font-size:9px}.eyebrow{font-size:8px}.translation-note{gap:5px 10px;font-size:9px}.translation-note span+span:before{margin-right:10px}.prose{font-size:14px;line-height:1.95}.prose h2{margin-top:30px;padding-top:23px;font-size:23px}.prose h3{font-size:17px}.prose pre{padding:13px;font-size:11px}.site-footer{flex-direction:column;gap:6px;margin:20px 16px 0;padding-bottom:24px}.page-pagination{gap:14px}.document-footer div{gap:8px 12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
