@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.03f_1bxrvnkfd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-wght-normal.37g1whwfgt7kp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-wght-normal.1iqnhac4m3hwo.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2i4a1iuj6lbvw.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.14sc3d7sk_zzh.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff")}
:root{--bg:#f1f4f3;--surface:#fff;--surface-2:#e7ecea;--ink:#16201d;--muted:#58655f;--line:#d2d9d6;--accent:#1b5a72;--accent-soft:#d6e7ee;--mark:#ffe28a;--top-bg:#1e3a44;--top-fg:#f1f6f7;--scrim:#0c141252;--shadow:0 12px 32px #12201c24;--warn-bg:#fbe9d0;--warn-fg:#7a4a0c;--err-bg:#fbe0dc;--err-fg:#8a2416;--t1-bg:#f6e3c4;--t1-fg:#6a4308;--t2-bg:#d3ebe4;--t2-fg:#0f5446;--t3-bg:#dbe5f7;--t3-fg:#1e3f7a;--t4-bg:#e7dff5;--t4-fg:#4b2f7f;--t5-bg:#f6dce2;--t5-fg:#7a2238;--t6-bg:#e4ecce;--t6-fg:#46531a;--t7-bg:#e0e4ea;--t7-fg:#35404d;--t8-bg:#f1ded4;--t8-fg:#6e3520;--f-display:"Bricolage Grotesque Variable", "IBM Plex Sans", system-ui, sans-serif;--f-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);overflow-wrap:anywhere}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}mark{background:var(--mark);color:inherit;border-radius:2px;padding:0 1px}.wrap{max-width:1640px;margin:0 auto;padding-inline:clamp(16px,3vw,40px)}.narrow{max-width:1040px}.eyebrow{font:500 11.5px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.muted{color:var(--muted)}.linkish{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.btn:disabled{opacity:.55;cursor:progress}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface)}.btn.danger:hover:not(:disabled){border-color:var(--err-fg);color:var(--err-fg);background:var(--surface)}.field{gap:6px;display:grid}.field label{font-size:14px;font-weight:500}.field .hint{color:var(--muted);font-size:12.5px}.input{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;padding:10px 12px}.input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.alert{background:var(--err-bg);color:var(--err-fg);border-radius:8px;padding:10px 14px;font-size:14px}.alert.warn{background:var(--warn-bg);color:var(--warn-fg)}code.inline{font-family:var(--f-mono);background:var(--surface-2);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:12.5px}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;padding-block:22px 18px;display:flex}.title-block{min-width:0}.back{align-items:center;gap:6px;margin-bottom:14px;font-size:13px;text-decoration:none;display:inline-flex}.back:hover{text-decoration:underline}h1{font:700 clamp(28px, 4.2vw, 42px)/1.05 var(--f-display);letter-spacing:-.02em;text-wrap:balance;margin:6px 0 8px}.source{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;display:flex}.source .src{font-family:var(--f-mono);overflow-wrap:anywhere;font-size:12px}.stats{flex-wrap:wrap;gap:14px 28px;margin:0;display:flex}.stat{gap:2px;display:grid}.stat dd{font:600 26px/1 var(--f-display);font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin:0;display:flex}.stat dt{color:var(--muted);max-width:13ch;font-size:12px;line-height:1.25}.swatch{border-radius:3px;flex:none;width:12px;height:12px;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}.controls{top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-block:1px solid var(--line);padding-block:12px;position:sticky}.row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.search{flex:340px;min-width:0;position:relative}.search input{width:100%;font:16px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:11px 44px 11px 40px}.search input::-webkit-search-cancel-button{appearance:none}.search input::placeholder{color:var(--muted)}.search input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.search .ico{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search kbd{font:12px var(--f-mono);color:var(--muted);border:1px solid var(--line);background:var(--bg);border-radius:4px;padding:1px 6px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.search .clear{cursor:pointer;width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:18px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.search .clear:hover{background:var(--surface-2);color:var(--ink)}.finder{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:13px;display:flex}.finder b{color:var(--ink);font-weight:600}.iconbtn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;flex:none;place-items:center;width:32px;height:32px;display:inline-grid}.iconbtn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.iconbtn:disabled{opacity:.4;cursor:default}.tabs{background:var(--surface-2);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:6px 14px;font-size:14px;font-weight:500}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.filters{gap:6px 8px;margin-top:10px}.filters .lbl{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:2px}.filters .sep{background:var(--line);width:1px;height:20px;margin-inline:6px}.tchip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:13px;display:inline-flex}.tchip .sw{background:var(--tbg);width:14px;height:14px;box-shadow:inset 0 0 0 1px var(--tfg);border-radius:4px}.tchip .n{font:11px var(--f-mono);color:var(--muted)}.tchip[aria-pressed=true]{border-color:var(--tfg,var(--accent));background:var(--tbg,var(--accent-soft));color:var(--tfg,var(--ink))}.tchip[aria-pressed=true] .n{color:inherit}.results{background:var(--surface);border:1px solid var(--line);max-height:min(60vh,520px);box-shadow:var(--shadow);z-index:30;border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.res{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;width:100%;padding:9px 10px;display:block}.res:hover,.res.active{background:var(--accent-soft)}.res .crumb{font:11.5px var(--f-mono);color:var(--muted);display:block}.res .nm{font-weight:600;display:block}.res .snip{color:var(--muted);margin-top:2px;font-size:13px;display:block}.res-empty{color:var(--muted);padding:12px;font-size:14px}main{padding-block:8px 64px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;margin:18px 0 4px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:7px;display:inline-flex}.legend i{border-radius:3px;width:18px;height:12px;display:inline-block}.lg0{background:var(--top-bg)}.lg1{background:var(--surface);border:1px solid var(--line)}.lg2{background:var(--surface-2);border:1px solid var(--line)}.lg3{border:1px dashed var(--muted)}.group{margin-top:30px}.group-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:16px;padding-bottom:8px;display:flex}.group-head h2{font:600 19px/1.25 var(--f-display);letter-spacing:-.01em;text-wrap:balance;margin:0}.gcount{font:12px var(--f-mono);color:var(--muted)}.cols{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-items:start;gap:18px 16px;display:grid}.branch{min-width:0}.card{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;width:100%;padding:10px 12px;transition:border-color .12s,opacity .12s,box-shadow .12s;display:flex;position:relative}.card:hover{border-color:var(--accent)}.card .name{overflow-wrap:anywhere;padding-right:14px;font-weight:600;line-height:1.3}.card .sub{color:var(--muted);font-size:12.5px;line-height:1.35}.card .kind{font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.75}.card .dot{position:absolute;top:11px;right:10px}.card.d0{background:var(--top-bg);color:var(--top-fg);border-color:var(--top-bg);padding:12px 14px}.card.d0 .name{font:600 16.5px/1.25 var(--f-display)}.card.d0 .ind,.card.d0 .sub{color:var(--top-fg);opacity:.8}.card.d0:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.card.d2{background:var(--surface-2);padding:8px 10px;font-size:14px}.card.d3{border-style:dashed;border-color:var(--muted);background:0 0;padding:7px 10px;font-size:13.5px}.meta{flex-wrap:wrap;align-items:center;gap:5px 6px;display:flex}.tpl{font:500 11px/1 var(--f-mono);background:var(--tbg);color:var(--tfg);white-space:nowrap;border-radius:4px;padding:4px 6px}.flag{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;align-items:center;gap:5px;padding:3px 6px;font-size:11.5px;line-height:1.2;display:inline-flex}.flag.warn{background:var(--warn-bg);color:var(--warn-fg);border-color:#0000}.ind{font:11px var(--f-mono);color:var(--muted);align-items:center;gap:4px;display:inline-flex}.kids{border-left:1px solid var(--line);margin:0 0 0 12px;padding:0 0 0 14px;list-style:none}.kids>li{padding-top:8px;position:relative}.kids>li:before{content:"";border-top:1px solid var(--line);width:12px;position:absolute;top:26px;left:-14px}.kids-toggle{cursor:pointer;font:500 12px var(--f-mono);color:var(--muted);background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;margin:6px 0 0 6px;padding:3px 6px;display:inline-flex}.kids-toggle:hover{background:var(--surface-2);color:var(--accent)}.kids-toggle svg{transition:transform .12s}.kids-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.kids-toggle+.kids{margin-top:2px}.legend .tree-all{gap:14px;margin-left:auto}.legend .tree-all .linkish{font-size:12.5px}.is-dim{opacity:.28}.is-path{opacity:.7}.card.is-match{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}.card.is-current,.entry.is-current{box-shadow:0 0 0 4px var(--accent);animation:1.2s ease-out pulse}@keyframes pulse{0%{box-shadow:0 0 0 10px var(--accent-soft)}}.doc{max-width:900px}.entry{border-bottom:1px solid var(--line);margin-left:calc(var(--depth) * 22px);border-radius:4px;padding-block:18px;scroll-margin-top:150px}.entry .crumb{font:11.5px var(--f-mono);color:var(--muted)}.entry h3{font:600 20px/1.25 var(--f-display);letter-spacing:-.01em;margin:2px 0 8px}.entry.dd1 h3{font-size:18px}.entry.dd2 h3,.entry.dd3 h3{font-size:16px}.entry h3 button{cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;padding:0}.entry h3 button:hover{color:var(--accent)}.entry .meta{margin-bottom:10px}.doc .group-head{margin-top:36px;margin-bottom:0}.card,.entry{scroll-margin-top:160px}.notes{max-width:72ch;font-size:14.5px;line-height:1.55}.notes .ln{padding-left:calc(var(--ind) * 20px);grid-template-columns:1fr;display:grid}.notes .ln.num,.notes .ln.bul{grid-template-columns:26px 1fr}.notes .ln>div{overflow-wrap:anywhere;min-width:0}.notes .lead{font:500 12.5px/1.9 var(--f-mono);color:var(--muted)}.notes .ln.num .lead{color:var(--accent)}.notes .ln.num{margin-top:6px}.notes .gap{height:10px}.scrim{background:var(--scrim);z-index:40;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--line);width:min(560px,100%);box-shadow:var(--shadow);z-index:50;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.dhead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 12px 22px;display:flex}.dcrumb{font:12px var(--f-mono);color:var(--muted);flex-wrap:wrap;gap:2px 6px;min-width:0;padding-top:7px;display:flex}.dcrumb button{color:var(--accent);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.dbody{flex:1;padding:18px 22px 40px;overflow:auto}.dbody h2{font:700 26px/1.15 var(--f-display);letter-spacing:-.015em;text-wrap:balance;margin:6px 0 4px}.dbody .sub{color:var(--muted);margin:0 0 8px}.facts{border-block:1px solid var(--line);grid-template-columns:max-content 1fr;gap:8px 16px;margin:16px 0 22px;padding:14px 0;font-size:14px;display:grid}.facts dt{color:var(--muted);font-size:13px}.facts dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;display:flex}.sechead{justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;display:flex}.sechead h3{font:600 14px var(--f-body);margin:0}.smallbtn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:13px}.smallbtn:hover{border-color:var(--accent);color:var(--accent)}.childlist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.childlist button{text-align:left;border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;width:100%;padding:8px 12px;display:flex}.childlist button:hover{border-color:var(--accent)}.dsection{margin-top:26px}.empty{color:var(--muted);max-width:56ch;padding:48px 0}.empty strong{color:var(--ink)}.home-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-block:36px 20px;display:flex}.home-head p{color:var(--muted);max-width:60ch;margin:0}.home-grid{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:32px;padding-block:28px 64px;display:grid}.plist{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pitem{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex}.pitem:hover{border-color:var(--accent)}.pitem .main{min-width:0;color:inherit;flex:1;gap:3px;text-decoration:none;display:grid}.pitem .main strong{font:600 18px/1.25 var(--f-display);overflow-wrap:anywhere}.pitem .main span{color:var(--muted);font-size:13px}.badge{font:500 10.5px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--t2-bg);color:var(--t2-fg);border-radius:4px;padding:4px 6px}.badge.csv{background:var(--t1-bg);color:var(--t1-fg)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:16px;padding:20px;display:grid;position:sticky;top:16px}.panel h2{font:600 19px var(--f-display);margin:0}.login{gap:16px;max-width:380px;margin:12vh auto 0;display:grid}@media (max-width:860px){.home-grid{grid-template-columns:1fr}.panel{order:-1;position:static}}@media (max-width:640px){.entry{margin-left:calc(var(--depth) * 10px)}.search kbd{display:none}.cols{grid-template-columns:1fr}.filters{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.tchip,.filters .lbl{flex:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
