/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:py-12{padding-block:calc(var(--spacing) * 12)}}}:root{--bg:#f5f2ea;--bg2:#ebe6d9;--fg:#1d1a16;--muted:#5d564c;--card:#fff;--card2:#fbf8f1;--line:#d9d2c3;--accent:#2d3d8f;--accent2:#4f63c7;--accent-soft:#e3e7fa;--kw:#8e1b1b;--ok:#1f7a4d;--bad:#a3271f;--warn:#9a6b00;--ink:#1a2250;--ink-fg:#f3f1ff;--shadow:0 10px 30px -12px #1e190f59, 0 2px 6px #1e190f14;--glow:0 0 0 1px #2d3d8f1f, 0 18px 50px -18px #2d3d8f73;--font-head:"Microsoft YaHei","微软雅黑","PingFang SC","Noto Sans SC","Hiragino Sans GB",sans-serif;--font-body:"SimHei","黑体","Heiti SC","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--font-song:"SimSun","宋体","Songti SC","Noto Serif SC","STSong",serif;--font-mono:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg:#14151c;--bg2:#1b1d27;--fg:#ece8df;--muted:#aaa397;--card:#1f2130;--card2:#262939;--line:#363a4f;--accent:#8fa0ff;--accent2:#b3bfff;--accent-soft:#2a2f4d;--kw:#ff9c9c;--ok:#5fd39a;--bad:#ff8a7a;--warn:#f0c04a;--ink:#0f1330;--ink-fg:#f3f1ff;--shadow:0 12px 30px -12px #000c, 0 2px 6px #0006;--glow:0 0 0 1px #8fa0ff2e, 0 18px 50px -18px #8fa0ff80;color-scheme:dark}}html{font-size:16px}@media(min-width:768px){html{font-size:17px}}@media(min-width:1200px){html{font-size:18px}}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);background-image:radial-gradient(900px 500px at 10% -10%,var(--accent),transparent 60%),radial-gradient(700px 400px at 100% 0%,var(--kw),transparent 60%);margin:0;font-weight:400;line-height:1.75}@supports (color:color-mix(in lab,red,red)){body{background-image:radial-gradient(900px 500px at 10% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),radial-gradient(700px 400px at 100% 0%,color-mix(in srgb,var(--kw) 10%,transparent),transparent 60%)}}body{background-attachment:fixed}.gutter{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}h1,h2,h3,h4,.head{font-family:var(--font-head);text-wrap:balance;font-weight:700}.song{font-family:var(--font-song);font-weight:700}.mono{font-family:var(--font-mono)}.kw{color:var(--kw);font-size:1.1em;font-weight:700}.ink .kw,.inkcard .kw{color:#fff;text-shadow:0 0 12px #ffffff73}.txt-shadow{text-shadow:0 2px 10px #0000002e}.nav{z-index:20;-webkit-backdrop-filter:blur(14px);background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.nav{background:color-mix(in srgb,var(--bg) 82%,transparent)}}.nav{border-bottom:1px solid var(--line)}.chips{scrollbar-width:none;gap:.5rem;padding-block:.6rem;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--card);color:var(--fg);font-family:var(--font-head);cursor:pointer;border-radius:999px;flex:none;padding:.4rem .95rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #00000014}.chip:hover{transform:translateY(-1px)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:var(--glow);border-color:#0000}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;position:relative}.cut{filter:drop-shadow(0 14px 22px #140f0538)drop-shadow(0 2px 4px #140f0514)}.cut>.cut-in{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));background:var(--card);border-radius:4px}.ink{background:radial-gradient(600px 300px at 0% 0%,#788cff59,transparent 60%),linear-gradient(145deg,var(--ink),#2a3474 70%,#3a2a6a);color:var(--ink-fg);box-shadow:0 24px 60px -24px #1a2250cc,inset 0 1px #ffffff1f}.inkcard{background:linear-gradient(150deg,var(--ink),#263070);color:var(--ink-fg);border:1px solid #ffffff1a;box-shadow:0 16px 40px -18px #1a2250e6,inset 0 1px #ffffff1a}.rim{position:relative}.rim:before{content:"";border-radius:inherit;background:linear-gradient(135deg,var(--accent),transparent 40%,var(--kw));padding:1px;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px}@supports (color:color-mix(in lab,red,red)){.rim:before{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 60%,transparent),transparent 40%,color-mix(in srgb,var(--kw) 50%,transparent))}}.rim:before{pointer-events:none;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tag{font-family:var(--font-head);letter-spacing:.08em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:.18rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.tag.red{background:var(--kw)}@supports (color:color-mix(in lab,red,red)){.tag.red{background:color-mix(in srgb,var(--kw) 14%,transparent)}}.tag.red{color:var(--kw)}.tag.ok{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){.tag.ok{background:color-mix(in srgb,var(--ok) 16%,transparent)}}.tag.ok{color:var(--ok)}.tag.bad{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){.tag.bad{background:color-mix(in srgb,var(--bad) 16%,transparent)}}.tag.bad{color:var(--bad)}.md{min-width:0;max-width:100%}.md>:first-child{margin-top:0}.md h2{border-left:6px solid var(--accent);text-shadow:0 2px 8px #00000014;margin:2.2rem 0 .9rem;padding-left:.8rem;font-size:1.55rem;line-height:1.3}.md h3{color:var(--accent);margin:1.7rem 0 .6rem;font-size:1.22rem}.md h4{margin:1.2rem 0 .4rem;font-size:1.05rem}.md p{margin:.6rem 0}.md ul{margin:.5rem 0;padding-left:1.4rem;list-style:outside}.md ol{margin:.5rem 0;padding-left:1.4rem;list-style:decimal}.md li{margin:.25rem 0}.md li::marker{color:var(--accent);font-weight:700}.md strong{font-weight:700}.md blockquote{border-left:5px solid var(--kw);background:var(--card2);font-family:var(--font-song);box-shadow:var(--shadow);border-radius:0 12px 12px 0;margin:1rem 0;padding:.8rem 1rem;font-weight:700}.md code{font-family:var(--font-mono);background:var(--accent);font-size:.9em}@supports (color:color-mix(in lab,red,red)){.md code{background:color-mix(in srgb,var(--accent) 10%,transparent)}}.md code{border-radius:5px;padding:.1em .35em}.md pre{background:var(--ink);color:var(--ink-fg);font-family:var(--font-mono);box-shadow:var(--shadow);border-radius:14px;margin:1rem 0;padding:1rem 1.1rem;font-size:.88rem;line-height:1.6;overflow-x:auto}.md pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.md .tbl{box-shadow:var(--shadow);border:1px solid var(--line);background:var(--card);border-radius:14px;margin:1rem 0;overflow-x:auto}.md table{border-collapse:collapse;width:100%;min-width:480px;font-size:.93rem}.md th{background:linear-gradient(180deg,var(--accent),var(--accent2));color:#fff;font-family:var(--font-head);text-align:left;white-space:nowrap;padding:.6rem .8rem;font-weight:700}.md td{border-top:1px solid var(--line);vertical-align:top;padding:.55rem .8rem}.md tr:nth-child(2n) td{background:var(--card2)}.md hr{border:0;border-top:2px dashed var(--line);margin:2rem 0}.md .katex-display{background:var(--card2);border:1px solid var(--line);border-radius:12px;margin:.8rem 0;padding:.6rem .8rem;overflow:auto hidden;box-shadow:inset 0 1px #fff6}.md .katex{font-size:1.06em}@media(max-width:640px){.md .katex:not(.katex-display .katex){vertical-align:middle;max-width:100%;display:inline-block;overflow:auto hidden}}.md .mmd{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin:1.2rem 0;padding:1rem;overflow-x:auto}.md .mmd svg{max-width:100%;height:auto;margin:0 auto;display:block}.md .callout{box-shadow:var(--shadow);border:1px solid var(--line);background:var(--card);border-radius:14px;margin:1rem 0;padding:.9rem 1.1rem}.md .callout.ok{border-left:6px solid var(--ok)}.md .callout.bad{border-left:6px solid var(--bad)}.md .callout.warn{border-left:6px solid var(--warn)}.md .callout .ttl{font-family:var(--font-head);margin-bottom:.3rem;font-weight:700}.md .proof{font-family:var(--font-song);background:var(--card2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin:1.4rem 0 1rem;padding:1rem 1.2rem;font-weight:700;position:relative}.md .proof:before{content:"PROOF";font-family:var(--font-head);letter-spacing:.14em;background:var(--accent);color:#fff;border-radius:6px;padding:.15rem .55rem;font-size:.7rem;position:absolute;top:-.7rem;left:1rem}.md .proof p{margin:.45rem 0}.md .qed{float:right;color:var(--accent);font-family:var(--font-mono)}.fig{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;margin:1.3rem 0;padding:1rem;overflow-x:auto}.fig svg{width:100%;max-width:100%;height:auto;display:block}.fig .cap{font-family:var(--font-head);color:var(--muted);text-align:center;margin-top:.5rem;font-size:.85rem;font-weight:700}.d-text{font-family:var(--font-head);font-weight:700}.d-body{font-family:var(--font-body)}.d-mono{font-family:var(--font-mono)}@media(prefers-reduced-motion:no-preference){.float{animation:6s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}}.hero-grid{gap:1.5rem;display:grid}@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center}}.three{gap:1rem;display:grid}@media(min-width:860px){.three{grid-template-columns:repeat(3,1fr)}}.term{all:unset;cursor:pointer;color:inherit;font:inherit;border-bottom:2px dotted var(--accent)}@supports (color:color-mix(in lab,red,red)){.term{border-bottom:2px dotted color-mix(in srgb,var(--accent) 70%,transparent)}}.term{background:linear-gradient(0deg,var(--accent),var(--accent)) no-repeat bottom/100% 0}@supports (color:color-mix(in lab,red,red)){.term{background:linear-gradient(0deg,color-mix(in srgb,var(--accent) 12%,transparent),color-mix(in srgb,var(--accent) 12%,transparent)) no-repeat bottom/100% 0}}.term{border-radius:2px;transition:background-size .15s}.term:hover,.term.open{background-size:100% 100%}.term:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ink .term,.inkcard .term{border-bottom-color:#fff9}.term-pop{z-index:60;background:var(--card);color:var(--fg);border:1px solid var(--line);box-shadow:0 24px 60px -20px #00000073,0 0 0 1px var(--accent),0 0 40px -10px var(--accent);border-radius:16px;padding:.9rem 2.2rem .9rem 1rem;position:fixed}@supports (color:color-mix(in lab,red,red)){.term-pop{box-shadow:0 24px 60px -20px #00000073,0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent),0 0 40px -10px color-mix(in srgb,var(--accent) 45%,transparent)}}.term-pop{font-family:var(--font-body);font-size:.92rem;line-height:1.6;animation:.14s ease-out pop}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.term-pop-en{font-family:var(--font-mono);color:var(--accent);font-size:1.08rem;font-weight:700}.term-pop-zh{font-family:var(--font-head);color:var(--kw);margin:.1rem 0 .35rem;font-size:1.1rem;font-weight:700}.term-pop-def{font-family:var(--font-song);font-weight:700}.term-pop-alias{color:var(--muted);margin-top:.4rem;font-size:.78rem}.term-pop-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.3rem;line-height:1;position:absolute;top:.35rem;right:.5rem}@media(max-width:640px){.term-pop{right:12px;bottom:max(12px,env(safe-area-inset-bottom,0px));border-radius:18px;width:auto!important;top:auto!important;left:12px!important}}.md .bi{gap:.9rem;margin:1rem 0;display:grid}@media(min-width:860px){.md .bi{grid-template-columns:1fr 1fr}}.md .bi>.en,.md .bi>.zh{min-width:0;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:14px;padding:.9rem 1.1rem}.md .bi>.en{background:var(--card2);font-family:var(--font-mono);font-size:.95rem;line-height:1.7}.md .bi>.zh{background:var(--card);font-family:var(--font-song);font-weight:700}.md .bi .lbl{font-family:var(--font-head);letter-spacing:.1em;background:var(--accent);color:#fff;border-radius:6px;margin-bottom:.4rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.md .bi>.zh .lbl{background:var(--kw)}.md .en p,.md .zh p{margin:.4rem 0}.gl-search{box-sizing:border-box;border:1px solid var(--line);background:var(--card);width:100%;color:var(--fg);font:inherit;box-shadow:var(--shadow);border-radius:12px;padding:.7rem 1rem}.gl-search:focus{outline:2px solid var(--accent)}.gl-row{border-top:1px solid var(--line);grid-template-columns:1fr;gap:.2rem .9rem;padding:.7rem .9rem;display:grid}@media(min-width:760px){.gl-row{grid-template-columns:13rem 9rem 1fr}}.gl-row:first-child{border-top:0}.gl-en{font-family:var(--font-mono);color:var(--accent);overflow-wrap:anywhere;min-width:0;font-weight:700}.gl-zh{font-family:var(--font-head);color:var(--kw);font-weight:700}.gl-def{min-width:0;font-size:.92rem}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
