.lg-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--accent);z-index:200;transition:width .08s linear;box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 30%,transparent)}.lg-page{padding-block:clamp(2.2rem,4.5vw,3.6rem) clamp(4rem,7vw,6.5rem)}.lg-back{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.04em;color:var(--ink-3);transition:color .2s}.lg-back:hover{color:var(--ink)}.lg-back .ar{transition:transform .18s}.lg-back:hover .ar{transform:translate(-3px)}.lg-head{margin-top:clamp(1.6rem,3vw,2.4rem);padding-bottom:clamp(1.8rem,3.5vw,2.6rem);border-bottom:1px solid var(--border);max-width:70ch}.lg-head h1{font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.02;margin-top:1rem}.lg-head .lead{margin-top:1.15rem;max-width:56ch}.lg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.4rem;margin-top:1.7rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.02em;color:var(--ink-3)}.lg-meta .mi{display:inline-flex;align-items:center;gap:.5rem}.lg-meta .mi b{color:var(--ink-2);font-weight:560}.lg-meta .mi svg{color:var(--accent);flex-shrink:0}.lg-meta .ver{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in oklab,var(--accent) 38%,transparent);border-radius:999px;padding:.2rem .58rem}.lg-switch{display:inline-flex;flex-wrap:wrap;gap:.25rem;margin-top:1.9rem;padding:.3rem;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-sm)}.lg-switch a{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.04em;color:var(--ink-2);padding:.5rem .95rem;border-radius:8px;transition:color .2s,background .2s}.lg-switch a:hover{color:var(--ink)}.lg-switch a[aria-current=page]{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px #0000001a,0 8px 18px -10px var(--accent)}.lg-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 248px;gap:clamp(1.8rem,4vw,4rem);margin-top:clamp(2.4rem,4.5vw,3.6rem);align-items:start}@media(max-width:1180px){.lg-layout{grid-template-columns:220px minmax(0,1fr)}.lg-aside{display:none}}@media(max-width:920px){.lg-layout{grid-template-columns:1fr;gap:1rem}}.lg-aside{position:sticky;top:92px;align-self:start}.lg-aside .a-card{border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);padding:1.2rem 1.2rem 1.3rem}.lg-aside .a-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .85rem}.lg-aside .a-line{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;padding:.32rem 0}.lg-aside .a-line .k{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--ink-3)}.lg-aside .a-line .v{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-2);font-weight:500;text-align:right}.lg-aside .a-sep{height:1px;background:var(--border-2);margin:.95rem 0}.lg-aside .a-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;font-family:var(--font-body);font-size:.9rem;font-weight:540;color:var(--ink);border:1px solid var(--border);border-radius:9px;padding:.62rem 1rem;background:var(--surface-2);cursor:pointer;transition:border-color .2s,transform .18s,color .2s,background .2s}.lg-aside .a-btn:hover{border-color:var(--ink-3);transform:translateY(-1px)}.lg-aside .a-btn svg{color:var(--accent);flex-shrink:0}.lg-aside .a-help{margin-top:1rem}.lg-aside .a-help .q{font-size:.82rem;color:var(--ink-2)}.lg-aside .a-help a{display:inline-block;margin-top:.25rem;font-family:var(--font-mono);font-size:.76rem;color:var(--accent);border-bottom:1px solid color-mix(in oklab,var(--accent) 40%,transparent);padding-bottom:1px}.lg-print-head{display:none;align-items:center;gap:.5rem;margin-top:1.9rem;margin-left:.9rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.03em;color:var(--ink-2);border:1px solid var(--border);border-radius:9px;padding:.5rem .9rem;background:var(--surface);cursor:pointer;vertical-align:middle;transition:border-color .2s,color .2s}.lg-print-head:hover{border-color:var(--ink-3);color:var(--ink)}.lg-print-head svg{color:var(--accent)}@media(max-width:1180px){.lg-print-head{display:inline-flex}}@media(max-width:520px){.lg-switch{display:flex}.lg-print-head{margin-left:0}}.lg-toc{position:sticky;top:92px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:.4rem}.lg-toc .toc-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 1rem;padding-left:.9rem}.lg-toc .toc-label .caret{display:none}.lg-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}.lg-toc li{line-height:1.3}.lg-toc a{display:flex;gap:.7rem;align-items:baseline;padding:.42rem .9rem;font-size:.9rem;color:var(--ink-3);border-left:2px solid var(--border-2);transition:color .18s,border-color .18s}.lg-toc a:before{counter-increment:toc;content:counter(toc,decimal-leading-zero);font-family:var(--font-mono);font-size:.68rem;color:var(--ink-3);flex-shrink:0;opacity:.65;transition:color .18s,opacity .18s}.lg-toc a:hover{color:var(--ink-2)}.lg-toc a.is-active{color:var(--ink);border-left-color:var(--accent);font-weight:540}.lg-toc a.is-active:before{color:var(--accent);opacity:1}@media(max-width:920px){.lg-toc{position:static;max-height:none;overflow:visible;padding:0;margin-bottom:1.4rem;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.lg-toc .toc-label{display:flex;align-items:center;justify-content:space-between;margin:0;padding:1rem 1.2rem;cursor:pointer;user-select:none}.lg-toc .toc-label .caret{display:block;color:var(--ink-3);transition:transform .22s ease}.lg-toc.is-open .toc-label .caret{transform:rotate(180deg)}.lg-toc ol{columns:2;column-gap:1.4rem;padding:0 1.2rem;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.lg-toc.is-open ol{max-height:1400px;padding:.2rem 1.2rem 1.2rem}.lg-toc li{break-inside:avoid}.lg-toc a{border-left:0;padding:.34rem 0}}@media(max-width:560px){.lg-toc ol{columns:1}}.lg-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.02em;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.55rem 1rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:210;transition:opacity .22s ease,transform .22s ease}.lg-toast.show{opacity:1;transform:translate(-50%)}.lg-toast svg{color:var(--accent)}.lg-totop{position:fixed;right:clamp(1rem,3vw,2.2rem);bottom:clamp(1rem,3vw,2.2rem);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--ink);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;z-index:190;opacity:0;transform:translateY(12px) scale(.92);pointer-events:none;transition:opacity .25s ease,transform .25s ease,border-color .2s,color .2s}.lg-totop.show{opacity:1;transform:none;pointer-events:auto}.lg-totop:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}@media print{.lg-toast,.lg-totop,.lg-print-head{display:none!important}}.lg-doc{max-width:68ch}.lg-doc .lg-sec{scroll-margin-top:92px;padding-top:clamp(2.2rem,4vw,3.2rem)}.lg-doc .lg-sec:first-child{padding-top:0}.lg-sec>h2{display:flex;align-items:baseline;gap:.85rem;font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.14;scroll-margin-top:92px}.lg-sec>h2 .sn{font-family:var(--font-mono);font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--accent);flex-shrink:0;position:relative;top:-.15em}.lg-sec>h2 .anchor{font-family:var(--font-mono);color:var(--ink-3);opacity:0;margin-left:.3rem;text-decoration:none;transition:opacity .18s,color .18s}.lg-sec>h2:hover .anchor{opacity:.6}.lg-sec>h2 .anchor:hover{opacity:1;color:var(--accent)}.lg-sec h3{font-family:var(--font-body);font-weight:620;font-size:1.04rem;letter-spacing:-.005em;color:var(--ink);margin-top:1.9rem}.lg-doc p{color:var(--ink-2);margin-top:1.05rem;line-height:1.68}.lg-doc p:first-of-type{margin-top:1.2rem}.lg-doc strong{color:var(--ink);font-weight:600}.lg-doc a:not(.lg-back):not(.anchor){color:var(--ink);font-weight:500;border-bottom:1px solid var(--border);transition:color .2s,border-color .2s}.lg-doc a:not(.lg-back):not(.anchor):hover{color:var(--accent);border-color:var(--accent)}.lg-doc ul,.lg-doc ol.lg-list{margin:1.1rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem}.lg-doc ul li,.lg-doc ol.lg-list li{position:relative;padding-left:1.5rem;color:var(--ink-2);line-height:1.6}.lg-doc ul li:before{content:"";position:absolute;left:.25rem;top:.66em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.lg-doc ol.lg-list{counter-reset:li}.lg-doc ol.lg-list li{padding-left:1.9rem;counter-increment:li}.lg-doc ol.lg-list li:before{content:counter(li);position:absolute;left:0;top:.04em;font-family:var(--font-mono);font-size:.72rem;font-weight:500;color:var(--accent)}.lg-doc li strong{color:var(--ink)}.lg-defs{margin-top:1.3rem;display:flex;flex-direction:column;gap:0}.lg-def{display:grid;grid-template-columns:168px 1fr;gap:1.2rem;padding:.95rem 0;border-top:1px solid var(--border-2)}.lg-def:last-child{border-bottom:1px solid var(--border-2)}.lg-def dt{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.01em;color:var(--ink);font-weight:500;padding-top:.1rem}.lg-def dd{margin:0;color:var(--ink-2);font-size:.96rem;line-height:1.6}@media(max-width:560px){.lg-def{grid-template-columns:1fr;gap:.25rem}}.lg-note{margin-top:1.4rem;display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:1rem 1.2rem;border:1px solid color-mix(in oklab,var(--accent) 26%,var(--border));background:var(--accent-soft);border-radius:12px}.lg-note .tldr{font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-self:start;padding-top:.15rem;white-space:nowrap}.lg-note p{margin:0;color:var(--ink);font-size:.95rem;line-height:1.58}.lg-note p+p{margin-top:.5rem}.lg-draft{border-style:dashed;border-color:color-mix(in oklab,var(--warn, #c2820a) 36%,var(--border));background:color-mix(in oklab,var(--warn, #c2820a) 8%,var(--surface))}.lg-draft .tldr{color:var(--warn, #c2820a)}.lg-table{margin-top:1.4rem;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--surface)}.lg-table .row{display:grid;grid-template-columns:1.1fr 1.5fr .8fr;gap:1rem;padding:.95rem 1.15rem;border-top:1px solid var(--border-2);align-items:baseline}.lg-table .row:first-child{border-top:0}.lg-table .row.head{background:var(--bg-2);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.lg-table .row .c-what{color:var(--ink);font-weight:540;font-size:.94rem}.lg-table .row .c-why{color:var(--ink-2);font-size:.92rem;line-height:1.5}.lg-table .row .c-where{font-family:var(--font-mono);font-size:.72rem}.lg-table .pin{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-2)}.lg-table .pin:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-3);flex-shrink:0}.lg-table .pin.local:before{background:#1f9d57}.lg-table .pin.local{color:#1f9d57}@media(max-width:640px){.lg-table .row{grid-template-columns:1fr;gap:.35rem}.lg-table .row.head{display:none}.lg-table .row .c-where{margin-top:.15rem}}.lg-changed{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--ink-3);margin-top:1.4rem}.lg-changed .pip{width:6px;height:6px;border-radius:50%;background:var(--accent)}.lg-contact{margin-top:clamp(3rem,6vw,4.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem;padding:clamp(1.6rem,3vw,2.2rem);border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.lg-contact .c-copy{max-width:46ch}.lg-contact h2{font-size:clamp(1.3rem,2.2vw,1.6rem)}.lg-contact p{margin-top:.55rem;color:var(--ink-2);font-size:.98rem}.lg-contact .c-mail{font-family:var(--font-mono);font-size:.82rem;color:var(--accent);border-bottom:1px solid color-mix(in oklab,var(--accent) 40%,transparent);padding-bottom:2px}@media print{.nav,.footer,.lg-toc,.lg-switch,.lg-back,.lg-progress{display:none!important}.lg-layout{grid-template-columns:1fr}.lg-doc{max-width:none}body{background:#fff;color:#000}}
