*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--black:#000;--bg:#000;--bg2:#0d0d0d;--card:#161617;--card-hover:#1a1a1c;--border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.04);--t1:#f5f5f7;--t2:#a1a1a6;--t3:#6e6e73;--blue:#2997ff;--red:#ff3b30;--orange:#ff9f0a;--yellow:#ffd60a;--green:#30d158;--nav:48px;--side:272px;--f:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","IBM Plex Sans Thai","Helvetica Neue",sans-serif}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--f);background:var(--bg);color:var(--t1);line-height:1.47;letter-spacing:-.022em;overflow:hidden;height:100dvh}#root{height:100dvh}::selection{background:#2997ff4d}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}mark{background:#2997ff40;color:var(--t1);border-radius:2px;padding:0 2px}[data-theme=light]{--bg:#f5f5f7;--bg2:#e8e8ed;--card:#fff;--card-hover:#f0f0f5;--border:rgba(0,0,0,.1);--border2:rgba(0,0,0,.05);--t1:#1d1d1f;--t2:#6e6e73;--t3:#86868b}[data-theme=light] body{background:var(--bg);color:var(--t1)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003}[data-theme=light] mark{background:#2997ff26;color:var(--t1)}.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative}.ctr{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.rprog{position:fixed;top:0;left:0;height:2px;z-index:300;background:var(--blue);transition:width .1s linear;pointer-events:none}.icon{flex-shrink:0;color:currentColor}.nav{height:var(--nav);flex-shrink:0;background:#161617b8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);z-index:200}.nav-in{height:100%;padding:0 16px;display:flex;align-items:center;gap:10px}.nav-m{display:none;background:0;border:0;padding:6px;cursor:pointer;color:var(--t1)}.bur{width:18px;display:flex;flex-direction:column;gap:4px}.bur i{display:block;height:1.5px;background:var(--t1);border-radius:1px;transition:.3s cubic-bezier(.4,0,.2,1)}.bur.x i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.bur.x i:nth-child(2){opacity:0}.bur.x i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--t1);flex-shrink:0;margin-right:auto}.logo-img{width:30px;height:30px;object-fit:contain}.logo-txt{display:flex;flex-direction:column;line-height:1.15}.logo strong{font-size:14px;font-weight:700;letter-spacing:.06em}.logo-sub{font-size:10px;color:var(--t3);letter-spacing:.08em;font-weight:500}.srch{margin-left:auto;display:flex;align-items:center;gap:6px;background:#ffffff0f;border:1px solid transparent;border-radius:8px;padding:0 10px;height:32px;max-width:280px;flex:1;transition:.15s;cursor:pointer}.srch:hover{background:#ffffff1a}.si{flex-shrink:0;color:var(--t3)}.srch input{flex:1;background:0;border:0;outline:0;color:var(--t1);font:13px var(--f);min-width:0;letter-spacing:-.01em;cursor:pointer}.srch input::placeholder{color:var(--t3)}.srch-kbd{font:10px/1 var(--f);color:var(--t3);background:#ffffff0f;border:1px solid var(--border);border-radius:4px;padding:2px 6px;flex-shrink:0}.sc{display:flex;background:0;border:0;color:var(--t3);cursor:pointer;padding:0;transition:.15s}.sc:hover{color:var(--t2)}.fsize-grp{display:flex;gap:2px;flex-shrink:0}.fsize-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#ffffff0f;border:1px solid transparent;color:var(--t2);cursor:pointer;transition:.15s;font:11px/1 var(--f);font-weight:600}.fsize-btn:hover{background:#ffffff1a;color:var(--t1)}.body{flex:1;display:flex;overflow:hidden}.ov{display:none}.side{width:var(--side);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column}.side-sc{flex:1;overflow-y:auto;padding:16px 10px}.side-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);padding:0 10px 10px}.side-ft{padding:10px 20px;border-top:1px solid var(--border);font-size:11px;color:var(--t3);flex-shrink:0}.sg{margin-bottom:2px}.sg-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:0;border:0;border-radius:8px;color:var(--t2);font:13px/1.4 var(--f);cursor:pointer;transition:.12s;text-align:left;letter-spacing:-.01em}.sg-btn:hover{background:#ffffff0a;color:var(--t1)}.sg-btn.on{background:#2997ff1a;color:var(--blue)}.sg-icon{flex-shrink:0;width:20px;height:20px;opacity:.7}.sg-btn:hover .sg-icon,.sg-btn.on .sg-icon{opacity:1}.sg-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-cnt{font-size:11px;color:var(--t3);background:#ffffff0d;border-radius:10px;padding:1px 7px;font-variant-numeric:tabular-nums;flex-shrink:0}.sg-btn.on .sg-cnt{background:#2997ff26;color:#2997ffb3}.sg-arr{flex-shrink:0;color:var(--t3);transition:transform .2s cubic-bezier(.4,0,.2,1)}.sg-arr.open{transform:rotate(90deg)}.sg-subs{margin:2px 0 4px 20px;padding-left:12px;border-left:1px solid var(--border);animation:subSlide .2s ease}@keyframes subSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sg-sub{display:flex;align-items:center;gap:8px;width:100%;position:relative;background:0;border:0;border-radius:0;color:var(--t3);font:12px/1.4 var(--f);cursor:pointer;transition:.12s;text-align:left;letter-spacing:-.01em;margin-left:-13px;padding:6px 10px 6px 12px;border-left:2px solid transparent}.sg-sub:hover{color:var(--t2)}.sg-sub.on{border-left-color:var(--blue);color:var(--t1);font-weight:500}.sg-sub-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-sub-cnt{font-size:10px;color:var(--t3);background:#ffffff0a;border-radius:8px;padding:1px 6px;font-variant-numeric:tabular-nums;flex-shrink:0}.sg-sub.on .sg-sub-cnt{color:var(--t2)}.cnt{flex:1;overflow-y:auto;scroll-behavior:smooth;position:relative}.hero{padding:52px 52px 20px;max-width:1200px}.hero-inline{display:flex;align-items:center;gap:16px}.hero-ic{color:var(--blue);flex-shrink:0;opacity:.85}.hero h1{font-size:38px;font-weight:700;letter-spacing:-.045em;line-height:1.08}.mu{color:var(--t2)}.mu.lg{font-size:17px;margin-top:4px;font-weight:400}.bread{display:flex;align-items:center;gap:6px;margin-bottom:2px}.bread-link{background:0;border:0;color:var(--blue);font:14px var(--f);cursor:pointer;padding:0;transition:.15s}.bread-link:hover{text-decoration:underline}.bread-sep{color:var(--t3);font-size:13px}.bread-cur{color:var(--t2);font-size:14px}.filter-bar{padding:0 52px;max-width:1200px;margin-bottom:8px}.pfilter{display:flex;gap:6px;flex-wrap:wrap}.pf-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:980px;background:#ffffff0a;border:1px solid var(--border);color:var(--t3);font:12px var(--f);cursor:pointer;transition:.15s}.pf-btn:hover{background:#ffffff14;color:var(--t2)}.pf-btn.on{background:#2997ff1a;border-color:#2997ff4d;color:var(--blue)}.pf-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cnt-body{display:flex;gap:0;max-width:1400px}.rarea{padding:0 52px 80px;flex:1;min-width:0}.toc{width:200px;flex-shrink:0;position:sticky;top:0;height:fit-content;padding:24px 0}.toc-inner{border-left:1px solid var(--border);padding-left:0}.toc-item{display:block;width:100%;padding:6px 16px;margin-left:-1px;background:0;border:0;border-left:2px solid transparent;color:var(--t3);font:13px/1.5 var(--f);cursor:pointer;text-align:left;transition:.15s;letter-spacing:-.01em}.toc-item:hover{color:var(--t2)}.toc-item.on{border-left-color:var(--t1);color:var(--t1);font-weight:600}.sec{margin-bottom:28px;scroll-margin-top:20px}.sec-t{font-size:20px;font-weight:600;letter-spacing:-.03em;margin-bottom:12px;color:var(--t1);display:flex;align-items:center;gap:8px}.sec-ic{color:var(--t2);opacity:.6}.sec-c{font-size:14px;font-weight:400;color:var(--t3);margin-left:4px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}.row{border-bottom:1px solid var(--border2);transition:background .3s}.row:last-child{border-bottom:0}.row:hover{background:var(--card-hover)}.row-main{display:flex;align-items:flex-start;gap:12px;padding:13px 16px}.row-n{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border-radius:8px;font-size:12px;font-weight:600;color:var(--t3);font-variant-numeric:tabular-nums}.row-anchor{color:inherit;text-decoration:none;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.row-anchor:hover{color:var(--blue)}.row-hl{background:#2997ff14;animation:hlFade 2s ease forwards}@keyframes hlFade{0%{background:#2997ff26}to{background:transparent}}.row-body{flex:1;min-width:0}.row-d{font-size:14px;line-height:1.55;color:var(--t1);white-space:pre-line}.row-ext{margin-top:6px;padding:10px 12px;background:#ffffff06;border:1px solid var(--border);border-radius:8px;font-size:13px;line-height:1.6;color:var(--t2);white-space:pre-line}.row-end{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-top:2px}.bm-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;background:0;border:0;color:var(--t3);cursor:pointer;transition:.15s;opacity:0}.row:hover .bm-btn{opacity:1}.bm-btn.on{opacity:1;color:var(--yellow)}.bm-btn:hover{color:var(--yellow);background:#ffd60a14}.badge{display:inline-flex;font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500;white-space:nowrap;letter-spacing:0}.b-red{background:#ff3b301f;color:var(--red)}.b-ora{background:#ff9f0a1f;color:var(--orange)}.b-yel{background:#ffd60a1f;color:var(--yellow)}.b-whi{background:#ffffff0f;color:var(--t2)}.b-mut{background:#ffffff0a;color:var(--t3);font-size:10px;max-width:300px;overflow:hidden;text-overflow:ellipsis}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:400;background:#1e1e20eb;border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--t1);font:13px var(--f);padding:8px 20px;border-radius:980px;animation:toastIn .25s ease;pointer-events:none}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding-top:min(20vh,160px);animation:fadeIn .15s ease}.cmdk{width:580px;max-width:92vw;max-height:420px;background:#1e1e20f5;border:1px solid var(--border);border-radius:14px;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);overflow:hidden;box-shadow:0 24px 80px #00000080;animation:cmdkIn .2s ease}@keyframes cmdkIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmdk-input-wrap{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.cmdk-input-wrap svg{flex-shrink:0;color:var(--t3)}.cmdk-input{flex:1;background:0;border:0;outline:0;color:var(--t1);font:15px var(--f);min-width:0}.cmdk-input::placeholder{color:var(--t3)}.cmdk-kbd{font:10px/1 var(--f);color:var(--t3);background:#ffffff0f;border:1px solid var(--border);border-radius:4px;padding:3px 6px;flex-shrink:0}.cmdk-list{overflow-y:auto;max-height:340px;padding:6px}.cmdk-empty{padding:24px;text-align:center;color:var(--t3);font-size:14px}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;background:0;border:0;color:var(--t2);font:13px/1.4 var(--f);cursor:pointer;text-align:left;transition:.08s}.cmdk-item:hover,.cmdk-item.on{background:#2997ff1a;color:var(--t1)}.cmdk-ic{flex-shrink:0;opacity:.6}.cmdk-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cmdk-cnt{color:var(--t3);font-size:12px;margin-left:6px}.cmdk-cat{font-size:11px;color:var(--t3)}.cmdk-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:4px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center}.stat-main{background:#2997ff0f;border-color:#2997ff26}.stat-wide{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:8px}.stat-val{font-size:24px;font-weight:700;color:var(--t1);line-height:1.2}.stat-red{color:var(--red)}.stat-ora{color:var(--orange)}.stat-yel{color:var(--yellow)}.stat-lbl{font-size:11px;color:var(--t3);margin-top:2px}.stat-top{font-size:14px;font-weight:600;color:var(--t1)}.btt{position:fixed;bottom:28px;right:28px;z-index:100;width:40px;height:40px;border-radius:50%;background:#1e1e20d9;border:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--t2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;animation:bttIn .2s ease}.btt:hover{background:#323236e6;color:var(--t1);transform:translateY(-2px)}@keyframes bttIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spin{width:24px;height:24px;border:2.5px solid rgba(255,255,255,.08);border-top-color:var(--blue);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.err-box{text-align:center;padding:40px}.err-i{width:48px;height:48px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:#ff3b301a;color:var(--red);border-radius:50%;font-size:22px;font-weight:700}.err-box h2{font-size:20px;font-weight:600}.err-box p{margin-top:4px}.btn{margin-top:12px;padding:8px 22px;background:var(--blue);color:#fff;border:0;border-radius:980px;font:14px/1.4 var(--f);font-weight:500;cursor:pointer;transition:.15s}.btn:hover{filter:brightness(1.15)}.empty{text-align:center;padding:80px 20px;color:var(--t3);font-size:17px}.theme-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;background:#ffffff0f;border:1px solid transparent;color:var(--t2);cursor:pointer;transition:.15s}.theme-btn:hover{background:#ffffff1a;color:var(--t1)}[data-theme=light] .nav{background:#ffffffb8;border-bottom-color:var(--border)}[data-theme=light] .srch{background:#0000000a}[data-theme=light] .srch:hover{background:#0000000f}[data-theme=light] .side{background:var(--bg2)}[data-theme=light] .sg-btn:hover{background:#0000000a}[data-theme=light] .sg-btn.on{background:#2997ff14}[data-theme=light] .sg-cnt{background:#0000000d}[data-theme=light] .row:hover{background:var(--card-hover)}[data-theme=light] .row-ext{background:#00000005;border-color:var(--border)}[data-theme=light] .row-n,[data-theme=light] .b-mut{background:#0000000a}[data-theme=light] .b-whi{background:#0000000f;color:var(--t2)}[data-theme=light] .pf-btn{background:#00000008;border-color:var(--border)}[data-theme=light] .pf-btn:hover{background:#0000000f}[data-theme=light] .btt{background:#ffffffd9;border-color:var(--border)}[data-theme=light] .btt:hover{background:#f0f0f5f2}[data-theme=light] .theme-btn{background:#0000000a}[data-theme=light] .theme-btn:hover{background:#00000014}[data-theme=light] .fsize-btn{background:#0000000a}[data-theme=light] .fsize-btn:hover{background:#00000014}[data-theme=light] .srch-kbd{background:#0000000a;border-color:var(--border)}[data-theme=light] .spin{border-color:#00000014;border-top-color:var(--blue)}[data-theme=light] .ov{background:#0000004d}[data-theme=light] .sg-sub-cnt{background:#0000000a}[data-theme=light] .row-hl{background:#2997ff0f;animation:hlFadeLight 2s ease forwards}[data-theme=light] .toast{background:#ffffffeb;color:var(--t1)}[data-theme=light] .cmdk{background:#fffffff5;box-shadow:0 24px 80px #00000026}[data-theme=light] .cmdk-item:hover,[data-theme=light] .cmdk-item.on{background:#2997ff0f}[data-theme=light] .cmdk-kbd{background:#0000000a}[data-theme=light] .stat-card{background:var(--card)}[data-theme=light] .stat-main{background:#2997ff0a}@keyframes hlFadeLight{0%{background:#2997ff1f}to{background:transparent}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:1024px){.toc{display:none}}@media (max-width:768px){.nav-m{display:flex}.logo-txt{display:none}.srch{max-width:180px}.srch-kbd,.fsize-grp{display:none}.side{position:fixed;top:var(--nav);left:0;bottom:0;z-index:150;width:280px;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);background:#0d0d0df5;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.side.show{transform:translate(0)}.ov{display:block;position:fixed;top:0;right:0;bottom:0;left:0;top:var(--nav);z-index:140;background:#0000008c;animation:fadeIn .2s}[data-theme=light] .side{background:#f5f5f7f5}.hero{padding:28px 20px 16px}.hero-inline{gap:12px}.hero h1{font-size:28px}.hero-ic svg{width:32px;height:32px}.filter-bar{padding:0 20px 12px}.rarea{padding:0 16px 60px}.row-main{padding:11px 14px;gap:10px}.row-d{font-size:13px}.card{border-radius:12px}.btt{bottom:20px;right:20px;width:36px;height:36px}.bm-btn{opacity:1}.stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:420px){.srch{max-width:140px}.hero h1{font-size:24px}.filter-bar{padding:0 12px 10px}.rarea{padding:0 12px 60px}.row-n{width:26px;height:26px;font-size:11px;border-radius:6px}.stats{grid-template-columns:repeat(2,1fr)}}
