:root{color-scheme:light;--bg:#faf9f5;--surface:#f0efe9;--text:#141413;--muted:#595951;--accent:#2166b5;--line:#d8d8ce;--line-strong:#66685e;--sans:Inter, "Noto Sans JP", sans-serif;--mono:"IBM Plex Mono", monospace;--step-0:1rem;--step-1:1.125rem;--step-2:1.5rem;--step-3:2rem;--display:clamp(2rem, 4.2vw, 3rem);--st-1:#86b6ef;--st-1-fg:#0b0b0b;--st-2:#3987e5;--st-2-fg:#fff;--st-3:#1c5cab;--st-3-fg:#fff;--st-4:#0d366b;--st-4-fg:#fff;--t01:#2166b5;--t02:#277e76;--t03:#8a6220;--t04:#9e4a3e;--edge-extends:var(--accent);--edge-addresses:#258679;--edge-contrasts:#9e4a3e;--ja:Inter, "Noto Sans JP", sans-serif;--ui:Inter, "Noto Sans JP", sans-serif;--wash:#e9eef4;--paper:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#171816;--surface:#20221f;--text:#f0efe7;--muted:#b7bbb0;--accent:#8abaff;--line:#3d4139;--line-strong:#858b7d;--wash:#252d35;--paper:#252823;--st-1:#9ec5f4;--st-1-fg:#0b0b0b;--st-2:#6da7ec;--st-2-fg:#0b0b0b;--st-3:#3987e5;--st-3-fg:#fff;--st-4:#1c5cab;--st-4-fg:#fff;--t01:#8abaff;--t02:#75beb0;--t03:#d1ac66;--t04:#e19b8b;--edge-addresses:#75beb0;--edge-contrasts:#e19b8b}}:root[data-theme=dark]{color-scheme:dark;--bg:#171816;--surface:#20221f;--text:#f0efe7;--muted:#b7bbb0;--accent:#8abaff;--line:#3d4139;--line-strong:#858b7d;--wash:#252d35;--paper:#252823;--st-1:#9ec5f4;--st-1-fg:#0b0b0b;--st-2:#6da7ec;--st-2-fg:#0b0b0b;--st-3:#3987e5;--st-3-fg:#fff;--st-4:#1c5cab;--st-4-fg:#fff;--t01:#8abaff;--t02:#75beb0;--t03:#d1ac66;--t04:#e19b8b;--edge-addresses:#75beb0;--edge-contrasts:#e19b8b}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-padding-top:2rem}body{background:var(--bg);color:var(--text);font:400 1rem/1.9 var(--sans);word-break:normal;overflow-wrap:anywhere;line-break:strict;letter-spacing:0;margin:0}:lang(zh-CN){font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.85}:lang(en){line-height:1.65}body[data-font=serif]{--ja:"Noto Serif JP", Georgia, serif}body[data-font=ud]{--ja:"BIZ UDGothic", "Noto Sans JP", sans-serif}html:lang(ja) body[data-font]{--sans:var(--ja)}[lang=ja]{font-family:var(--ja)}h1,h2,h3,h4,p,figure,ol,ul,dl{margin:0}h1,h2,h3{letter-spacing:0;text-wrap:pretty;font-weight:600;line-height:1.55}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}p+p{margin-top:1em}a{color:var(--accent);text-underline-offset:.22em;text-decoration:underline 1px}a:hover{text-decoration-thickness:2px}button,select{font:inherit;color:inherit;border:1px solid var(--line-strong);background:var(--bg);border-radius:0;min-height:36px;padding:.2rem .6rem}button{cursor:pointer}button:hover{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--bg)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:9;background:var(--bg);padding:.75rem;position:fixed;top:0;left:1rem;transform:translateY(-150%)}.skip:focus{transform:none}.mono,.eyebrow,.meta,.figure-number{font:400 .875rem/1.65 var(--mono)}.eyebrow,.meta{color:var(--muted)}.eyebrow{letter-spacing:.035em}.accent{color:var(--accent)}.muted{color:var(--muted)}.note{color:var(--muted);font-size:.875rem}.wrap{max-width:1136px;margin-inline:auto;padding-inline:32px}.reading{max-width:42rem}.site-header,.viewbar,.site-footer{font-family:var(--ui)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:24px;display:flex}.brand{color:var(--text);align-items:center;gap:12px;font-size:1rem;font-weight:600;text-decoration:none;display:flex}.brand-mark{flex:none;width:28px;height:28px}.site-nav{flex-wrap:wrap;align-items:center;gap:24px;font-size:.875rem;display:flex}.site-nav>a{color:var(--text);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-nav>a[aria-current]{color:var(--accent);text-underline-offset:.5em;text-decoration:underline}.languages{font:400 .875rem/1.6 var(--mono);white-space:nowrap;color:var(--muted)}.languages strong{color:var(--text);font-weight:500}.languages a{color:var(--muted);text-decoration:none}.toggles{align-items:center;gap:12px;display:inline-flex}.viewbtn{border:1px solid var(--line-strong);background:var(--bg);align-items:center;gap:10px;min-height:44px;padding:0 12px;font-size:.875rem;font-weight:500;display:inline-flex}.viewbtn-ico{border:0;border-top:2px solid;border-left:2px solid;width:12px;height:12px;position:relative}.viewbtn-ico:after{content:"";border:2px solid var(--accent);border-top:0;border-left:0;width:6px;height:6px;position:absolute;bottom:-8px;right:-8px}.viewbtn[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.viewbar{border-bottom:1px solid var(--line);padding:18px 0 20px}.view-lab{border:0;min-width:0;margin:0;padding:0}.controls{grid-template-columns:1fr 1.3fr 1fr;align-items:end;gap:14px;max-width:52rem;display:grid}.controls .tgl,.controls select{border:1px solid var(--line-strong);background:var(--bg);width:100%;min-height:48px;color:var(--text);text-align:left;padding:8px 12px;font-size:.95rem}.controls .tgl{justify-content:space-between;align-items:center;gap:12px;display:flex}.controls .tgl:after{content:"＋";color:var(--accent);font-family:var(--mono)}.controls .tgl[aria-pressed=true]{border:2px solid var(--accent);padding:7px 11px}.controls .tgl[aria-pressed=true]:after{content:"✓"}.tgl-select{color:var(--muted);font-size:.875rem;display:block}.tgl-select select{color:var(--text);margin-top:4px;display:block}.viewbar .help{color:var(--muted);max-width:52rem;margin-top:12px;font-size:.875rem}.replay-link{min-height:0;color:var(--accent);text-underline-offset:.22em;cursor:pointer;font-size:.875rem;font-family:var(--ui);background:0 0;border:0;padding:0;text-decoration:underline}.viewbtn.intro-target{border-color:var(--accent);color:var(--accent)}.guide-frame{z-index:40;border:1px solid var(--accent);pointer-events:none;box-shadow:0 0 0 9999px color-mix(in srgb, var(--text) 7%, transparent);position:fixed}.guide-frame.static{box-shadow:none}.corner{border:2px solid var(--accent);width:18px;height:18px;position:absolute}.corner.tl{border-bottom:0;border-right:0;top:-2px;left:-2px}.corner.tr{border-bottom:0;border-left:0;top:-2px;right:-2px}.corner.bl{border-top:0;border-right:0;bottom:-2px;left:-2px}.corner.br{border-top:0;border-left:0;bottom:-2px;right:-2px}.tour{white-space:normal;background:var(--accent);width:max-content;max-width:min(38rem,100vw - 32px);color:var(--bg);font:500 .8125rem/1.5 var(--ui);flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:5px 12px;display:flex;position:absolute;bottom:calc(100% + 10px);left:-1px}.tour b{white-space:nowrap;font-weight:600}.tour span{min-width:0}.tour span:empty,.guide-frame.static .tour{display:none}.intro-hint{z-index:50;border:1px solid var(--line-strong);background:var(--bg);width:min(328px,100vw - 32px);font:400 .875rem/1.9 var(--ui);padding:12px 16px 16px;position:fixed;box-shadow:0 8px 30px #0002}.intro-hint:before{content:"";left:var(--arrow,70%);border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);background:var(--bg);width:10px;height:10px;position:absolute;top:-6px;transform:rotate(45deg)}.hint-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.hint-top strong{font-weight:600}.hint-close{width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;flex:none;padding:0;font-size:22px}.intro-hint p{max-width:24em;margin:2px 0 0}body[data-grid] main{background-image:repeating-linear-gradient(to bottom, transparent 0 calc(1.9rem - 1px), color-mix(in srgb, var(--accent) 22%, transparent) calc(1.9rem - 1px) 1.9rem);background-attachment:local}body[data-grid] .wrap{box-shadow:inset 1px 0 0 color-mix(in srgb, var(--accent) 35%, transparent), inset -1px 0 0 color-mix(in srgb, var(--accent) 35%, transparent)}body[data-grid] main :is(h1,h2,.scene,.qq){outline:1px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}body[data-grid]:after{content:attr(data-grid-caption);font:400 .8125rem/1.4 var(--sans);color:var(--accent);background:var(--bg);border:1px solid var(--line);z-index:30;max-width:22rem;padding:4px 8px;position:fixed;bottom:10px;right:12px}.progress{z-index:50;pointer-events:none;width:100%;height:2px;position:fixed;top:0;left:0}.progress span{background:var(--accent);transform-origin:0;height:100%;transition:transform 80ms linear;display:block;transform:scaleX(0)}.reveal{opacity:0;transition:opacity .42s ease-out var(--d,0s), transform .42s ease-out var(--d,0s);transform:translateY(10px)}.reveal.in{opacity:1;transform:none}.brand-mark path{transition:stroke-dashoffset .5s}.brand:is(:hover,:focus-visible) .brand-mark path:nth-child(2){stroke-dasharray:8;stroke-dashoffset:0;animation:.6s ease-out draw}.brand:is(:hover,:focus-visible) .brand-mark path:nth-child(3){stroke-dasharray:7;animation:.6s ease-out .12s draw}@keyframes draw{0%{stroke-dashoffset:8px;opacity:.2}to{stroke-dashoffset:0;opacity:1}}#theme{font:400 .8rem/1 var(--mono);border-color:var(--line);min-height:0;padding:.3rem .4rem}main{padding-bottom:56px}.page-lead{grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;padding:62px 0 42px;display:grid}.page-lead h1{font-size:var(--display);letter-spacing:-.025em;margin-top:12px;line-height:1.45}.page-lead p{max-width:35em}.section-heading{border-top:1px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;padding-block:24px;display:flex}.section-heading h2{font-size:1.5rem}.section-heading h2 .mono{color:var(--accent);margin-right:18px}.state{align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.state:before{content:"";border:1.5px solid var(--accent);flex:none;width:7px;height:7px}.st{font:500 .78rem/1.6 var(--mono);border:1px solid var(--line-strong);align-items:center;gap:6px;padding:0 8px;display:inline-flex}.st:before{content:"";border-radius:50%;width:8px;height:8px}.st-1:before{background:var(--st-1)}.st-2:before{background:var(--st-2)}.st-3:before{background:var(--st-3)}.st-4:before{background:var(--st-4)}details{border-top:1px solid var(--line-strong);margin-top:20px}summary{cursor:pointer;min-height:44px;color:var(--accent);padding:12px 0;font-weight:500}details[open] summary{margin-bottom:8px}blockquote{background:var(--surface);margin:0;padding:16px 20px;font-size:.875rem}blockquote cite{color:var(--muted);margin-top:12px;font-style:normal;display:block}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}th{color:var(--muted);font-weight:500;font-family:var(--mono);font-size:.8rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:flex-end;gap:24px;padding:22px 0 40px;font-size:.875rem;display:flex}body[data-parse] main :is(h1,h2,h3,p,table,figure,blockquote,ol,ul,dl){outline:1px dashed var(--line-strong);outline-offset:3px;animation:.24s ease-out both bbox-in;position:relative}body[data-parse] main :is(h1,h2,h3,p,table,figure,blockquote,ol,ul,dl):before{font:500 11px/1 var(--mono);color:var(--accent);background:var(--bg);letter-spacing:.04em;padding:0 3px;animation:.24s ease-out both label-in;position:absolute;top:-1.05em;left:0}@keyframes bbox-in{0%{outline-color:#0000}to{outline-color:var(--line-strong)}}@keyframes label-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}body[data-parse] main h1:before{content:"doc_title"}body[data-parse] main :is(h2,h3):before{content:"paragraph_title"}body[data-parse] main p:before{content:"text"}body[data-parse] main table:before{content:"table"}body[data-parse] main figure:before{content:"figure"}body[data-parse] main blockquote:before{content:"quote"}body[data-parse] main :is(ol,ul,dl):before{content:"list"}@media (width<=900px){.site-header{flex-wrap:wrap;align-items:flex-start}.site-nav{gap:18px}.page-lead{grid-template-columns:1fr;gap:24px;padding:44px 0 32px}}@media (width<=650px){.wrap{padding-inline:20px}.site-header{gap:12px;padding-block:20px}.site-nav{justify-content:space-between;gap:14px;width:100%}.controls{grid-template-columns:1fr}.page-lead h1{font-size:2rem}.site-footer{flex-direction:column;align-items:flex-start;gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
