:root{--lg-ph-bg:#fff1c2;--lg-ph-fg:#5c4500}:root[data-theme=dark]{--lg-ph-bg:#ffd66629;--lg-ph-fg:#ffd666}@layer components{.lg{min-height:100vh}:is(.lg-sec,.lg-id,.lg-sum) a{color:var(--ac);text-underline-offset:3px}:is(.lg-sec,.lg-id,.lg-sum) a:hover{color:var(--ink);text-decoration:underline}[data-theme=dark] :is(.lg-sec,.lg-id,.lg-sum) a{color:var(--ac2)}.lg .mono{color:var(--muted)}.lg-wrap{max-width:1160px;margin:0 auto;padding:0 40px}.lg-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:72px;display:flex}.lg-brand{white-space:nowrap;align-items:center;gap:12px;font-weight:600;display:flex}.lg-back{white-space:nowrap;border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;min-height:44px;padding:0 18px;font-size:14px;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.lg-back:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.lg-head{border-bottom:1px solid var(--line);padding:80px 0 48px}.lg-h1{letter-spacing:-.05em;margin:16px 0 0;font-size:clamp(44px,6vw,88px);font-weight:580;line-height:.95}.lg-lede{color:var(--muted);max-width:680px;margin:24px 0 0;font-size:19px;line-height:1.55}.lg-id{border:1px solid var(--line);background:var(--card);border-radius:20px;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:40px 0 0;padding:24px;display:grid}.lg-id div{flex-direction:column;gap:6px;font-size:14.5px;line-height:1.45;display:flex}.lg-id dd,.lg-id p{margin:0}.lg-sum{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:40px 0 0;padding:0;list-style:none;display:grid}.lg-sum li{border:1px solid var(--line);background:var(--card);border-radius:20px;flex-direction:column;gap:8px;padding:22px;font-size:15px;line-height:1.5;display:flex}.lg-sum b{letter-spacing:-.01em;font-size:17px}.lg-body{grid-template-columns:240px minmax(0,1fr);gap:64px;padding:56px 0 120px;display:grid}.lg-toc{flex-direction:column;align-self:start;gap:2px;display:flex;position:sticky;top:24px}.lg-toc .mono{margin-bottom:8px}.lg-toc ol{margin:0;padding:0;list-style:none}.lg-toc a{color:var(--muted);border-bottom:1px solid var(--line);align-items:center;min-height:36px;padding:8px 0;font-size:14px;transition:color .2s;display:flex}.lg-toc a:hover{color:var(--ink)}.lg-sec{border-bottom:1px solid var(--line);margin:0 0 40px;padding:0 0 40px;scroll-margin-top:24px}.lg-sec:last-child{border-bottom:0}.lg-sec h2{letter-spacing:-.025em;align-items:baseline;gap:16px;margin:0 0 16px;font-size:26px;font-weight:580;display:flex}.lg-sec h2 span{font-family:var(--font-mono);color:var(--muted);font-size:13px;font-weight:400}.lg-sec :is(p,li,td,th){color:var(--body);font-size:16px;line-height:1.7}.lg-sec p{margin:0 0 14px}.lg-sec ul,.lg-sec ol{margin:0 0 14px;padding-left:20px}.lg-sec ul{list-style:outside}.lg-sec ol{list-style:decimal}.lg-sec li{margin-bottom:6px}.lg-sec li p{margin:0}.lg-sec strong{color:var(--ink);font-weight:600}.lg mark{background:var(--lg-ph-bg);color:var(--lg-ph-fg);border-radius:6px;padding:1px 6px;font-weight:500}.lg .rt-table{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0 0 14px;overflow-x:auto}.lg .rt-table table{border-collapse:collapse;width:100%;min-width:560px}.lg .rt-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:14px 18px;font-size:12px;font-weight:400}.lg .rt-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 18px;font-size:15px}.lg .rt-table :is(td,th) p{font-size:inherit;color:inherit;margin:0}.lg .rt-table tr:last-child td{border-bottom:0}.lg-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:32px 0 48px;font-size:14px;display:flex}.lg-foot nav{gap:20px;display:flex}.lg-foot a{transition:color .2s}.lg-foot a:hover{color:var(--ink)}@media (max-width:900px){.lg-body{grid-template-columns:minmax(0,1fr);gap:32px}.lg-toc{position:static}.lg-id{grid-template-columns:repeat(2,minmax(0,1fr))}.lg-sum{grid-template-columns:minmax(0,1fr)}}@media (max-width:420px){.lg-brand>span:not(.mark){display:none}}@media (max-width:600px){.lg-wrap{padding:0 20px}.lg-id{grid-template-columns:minmax(0,1fr)}.lg-head{padding:48px 0 32px}}}
