*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d1117;--bg-alt:#11161d;--panel:#161c25;--panel-hover:#1b2330;--border:#232b38;--border-soft:#1b222d;--text:#e6e8eb;--text-dim:#8b95a5;--text-faint:#5b6573;--accent:#d56fb8;--accent-dim:#7a3a66;--green:#7ee787;--blue:#79c0ff;--pink:#ff7b9c;--purple:#c9a8ff;--sans:"JetBrains Mono", "WenYuan Rounded SC VF", "Fira Code", "Cascadia Code", "Courier New", Courier, monospace;--mono:"JetBrains Mono", "Fira Code", "Cascadia Code", "Courier New", "WenYuan Rounded SC VF", Courier, monospace}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:15px;line-height:1.7}.navbar{z-index:100;backdrop-filter:blur(8px);scrollbar-width:thin;border-bottom:1px solid var(--border);background:#0d1117d9;align-items:center;padding:0 1.5rem;font-size:95%;display:flex;position:sticky;top:0;overflow-x:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.layout{max-width:1280px;min-height:calc(100vh - 52px);margin:0 auto;display:flex}.nav{border-right:1px solid var(--border-soft);flex-direction:column;align-self:flex-start;gap:2px;width:240px;min-width:240px;height:calc(100vh - 52px);padding:1.25rem .75rem;display:flex;position:sticky;top:52px;overflow-y:auto}.time{margin:unset}.nav-time{border-bottom:1px solid var(--border-soft);margin-bottom:16px;padding:0 10px 16px}.nav-title{font-family:var(--mono);color:var(--text-faint);letter-spacing:.1em;margin-bottom:14px;padding-left:10px;font-size:11px}.nav-item{color:var(--text-dim);cursor:pointer;user-select:none;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{background:var(--panel);color:var(--accent)}.nav-num{font-family:var(--mono);color:var(--text-faint);min-width:22px;font-size:11px;font-weight:700}.nav-item.active .nav-num{color:var(--accent)}.main{flex:1;min-width:0;padding:2rem 2.5rem 4rem}.section{margin-bottom:3.5rem;scroll-margin-top:24px}.section-head{align-items:center;gap:14px;margin-bottom:6px;display:flex}.section-tag{font-family:var(--mono);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);letter-spacing:.04em;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700}.section-head h2{letter-spacing:-.01em;font-size:1.35rem;font-weight:800}.section-desc{color:var(--text-dim);max-width:640px;margin-bottom:1.25rem;font-size:14px;line-height:1.65}.cards{flex-direction:column;gap:6px;min-width:0;display:flex}.card{--card-dur:.34s;--card-ease:cubic-bezier(.32, .72, 0, 1);border:1px solid var(--border);background:var(--panel);border-radius:10px;min-width:0;transition:border-color .2s,background-color .2s;overflow:hidden}.card:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.card.open{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.card-head{cursor:pointer;user-select:none;align-items:center;gap:14px;min-width:0;padding:14px 18px;transition:background .15s;display:flex}.card-head:hover{background:var(--panel-hover)}.card-icon{font-family:var(--mono);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);white-space:nowrap;letter-spacing:.03em;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 8px;font-size:11px;font-weight:700;line-height:1;display:flex}.card-title-wrap{flex:1;min-width:0}.card-title{overflow-wrap:anywhere;font-size:14px;font-weight:700}.card-sub{color:var(--text-dim);font-size:12px;font-family:var(--mono);overflow-wrap:anywhere;margin-top:2px}.chevron{width:18px;height:18px;color:var(--text-faint);transition:transform var(--card-dur) var(--card-ease), color .2s ease;flex-shrink:0}.card.open .chevron{transform:rotate(180deg)}.card-body{height:0;transition:height var(--card-dur) var(--card-ease);overflow:hidden}.card-body-inner{opacity:0;padding:0 18px 18px;transition:opacity .14s,transform .14s;transform:translateY(-4px)}.card.open .card-body-inner{opacity:1;transition:opacity calc(var(--card-dur) * .62) ease-out calc(var(--card-dur) * .12), transform calc(var(--card-dur) * .62) ease-out calc(var(--card-dur) * .12);transform:none}.explain{color:var(--text-dim);margin-bottom:14px;font-size:14px;line-height:1.7}.explain b{color:var(--text);font-weight:600}.explain code{font-family:var(--mono);background:var(--bg-alt);color:var(--accent);overflow-wrap:anywhere;border-radius:4px;padding:2px 6px;font-size:12.5px}.ex-sec{background:var(--bg-alt);border:1px solid var(--border-soft);border-left:2px solid var(--accent-dim);border-radius:8px;margin-top:12px;padding:12px 14px}.ex-sec.warn{border-left-color:var(--pink)}.ex-sec h4{color:var(--text);letter-spacing:.01em;margin-bottom:8px;font-size:13px;font-weight:600}.ex-sec p{margin-bottom:8px}.ex-sec p:last-child{margin-bottom:0}.explain ul{flex-direction:column;gap:6px;list-style:none;display:flex}.explain li{padding-left:14px;position:relative}.explain li:before{content:"";background:var(--accent-dim);border-radius:50%;width:4px;height:4px;position:absolute;top:.72em;left:2px}.ex-sec pre{white-space:pre;margin:8px 0;padding:12px 14px;font-size:12.5px}.table-scroll{margin:8px 0;overflow-x:auto}.explain table{border-collapse:collapse;width:100%;min-width:380px;font-size:13px}.explain th,.explain td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.explain th{background:var(--panel);color:var(--text);white-space:nowrap;font-weight:600}pre{background:var(--bg);border:1px solid var(--border-soft);font-family:var(--mono);color:var(--text);border-radius:8px;padding:16px 18px;font-size:13px;line-height:1.65;overflow-x:auto}pre code{font-family:inherit;font-size:inherit}.kw{color:var(--accent);font-weight:500}.c{color:var(--text-faint);font-style:italic}.fn,.str{color:var(--green)}.num{color:var(--blue)}.hi{color:var(--pink);font-weight:500}.pitfall{background:color-mix(in srgb, #f0883e 8%, var(--bg));color:var(--text-dim);border-left:3px solid #f0883e;border-radius:8px;gap:10px;margin-top:14px;padding:12px 14px;font-size:13px;line-height:1.6;display:flex}.pitfall b{color:var(--text);font-weight:600}.pf-icon{flex-shrink:0;font-size:15px;line-height:1.55}.tip{background:color-mix(in srgb, var(--green) 8%, var(--bg));border-left:3px solid var(--green);color:var(--text-dim);border-radius:8px;gap:10px;margin-top:14px;padding:12px 14px;font-size:13px;line-height:1.6;display:flex}.tip b{color:var(--text);font-weight:600}.tip-icon{color:var(--green);flex-shrink:0;font-size:15px;line-height:1.55}.tester-wrap{background:var(--bg);border:1px solid var(--border-soft);border-radius:8px;padding:16px 18px}.tester-input-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tester-input-row .slash{color:var(--text-faint);font-size:13px;font-family:var(--mono)}.tester-input-row input{min-width:120px;max-width:640px;font-family:var(--mono);background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;flex:1;padding:6px 10px;font-size:13px;transition:border-color .15s}.tester-input-row input:focus{border-color:var(--accent)}.tester-input-row textarea{width:100%;font-family:var(--mono);resize:vertical;background:var(--panel);border:1px solid var(--border);max-width:720px;color:var(--text);border-radius:6px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.tester-input-row textarea:focus{border-color:var(--accent)}.flag-row{flex-wrap:wrap;gap:5px;display:flex}.flag-chip{font-size:12px;font-family:var(--mono);background:var(--panel);border:1px solid var(--border);color:var(--text-faint);cursor:pointer;user-select:none;border-radius:5px;padding:3px 10px;font-weight:600;transition:all .15s}.flag-chip:hover{border-color:var(--accent-dim)}.flag-chip.on{background:color-mix(in srgb, var(--accent) 15%, var(--bg));color:var(--accent);border-color:var(--accent-dim)}.tester-result{background:var(--panel);word-break:break-all;border-radius:6px;margin-top:10px;padding:10px 14px;font-size:13px;line-height:1.8}.tester-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px}.tester-hl{font-family:var(--mono);word-break:break-all;white-space:pre-wrap;font-size:13px;line-height:1.8}.match{background:color-mix(in srgb, var(--accent) 20%, var(--bg));color:var(--accent);border-radius:3px;padding:0 3px}.fast-examples{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.fast-examples button{font-size:12px;font-family:var(--sans);border:1px solid var(--border);background:var(--panel);color:var(--text-dim);cursor:pointer;border-radius:5px;padding:4px 10px;transition:all .15s}.fast-examples button:hover{border-color:var(--accent-dim);color:var(--accent)}.scroll-up{border:1px solid var(--border);background:var(--panel);width:40px;height:40px;color:var(--text-dim);cursor:pointer;opacity:0;pointer-events:none;z-index:90;border-radius:10px;place-items:center;transition:opacity .2s,background .15s;display:grid;position:fixed;bottom:2rem;right:2rem}.scroll-up.visible{opacity:1;pointer-events:auto}.scroll-up:hover{background:var(--panel-hover);color:var(--accent)}.scroll-up svg{width:18px;height:18px}.nav-toggle{z-index:200;border:1px solid var(--border);background:var(--panel);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:12px;place-items:center;display:none;position:fixed;bottom:1.25rem;left:1.25rem;box-shadow:0 4px 20px #0006}.nav-toggle .icon-menu,.nav-toggle .icon-close{transition:opacity .2s;position:absolute}.nav-toggle .icon-close,.nav-toggle.open .icon-menu{opacity:0}.nav-toggle.open .icon-close{opacity:1}.overlay{z-index:149;opacity:0;pointer-events:none;background:#00000080;transition:opacity .25s;display:none;position:fixed;inset:0}.overlay.visible{pointer-events:auto;opacity:1}.card-head:focus-visible,.nav-item:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}footer{text-align:center;color:var(--text-faint);border-top:1px solid var(--border-soft);padding:2rem 1rem;font-size:13px}@media (width<=860px){.nav{z-index:150;background:var(--bg);border-right:1px solid var(--border);padding-top:1.5rem;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.nav.open{transform:translate(0)}.nav-toggle{display:grid}.overlay{display:block}.main{padding:1.5rem 1.25rem 4rem}}@media (width<=480px){.main{padding:1rem .85rem 4rem}pre{padding:12px 14px;font-size:12px}.card-head{padding:12px 14px}.card-body-inner{padding:0 14px 14px}}
