.search-button[data-astro-cid-n64nw4kl]{display:none;background:none;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);padding:var(--spacing-xs);cursor:pointer;color:var(--color-gray-500);transition:all var(--transition-base) ease}.search-button[data-astro-cid-n64nw4kl]:hover{background-color:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-400)}@media(min-width:768px){.search-button[data-astro-cid-n64nw4kl]{display:flex;align-items:center;justify-content:center}}.language-picker[data-astro-cid-vw6qx2pt]{display:flex;justify-content:flex-end;padding:var(--spacing-sm) 0}select[data-astro-cid-vw6qx2pt]{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background-color:var(--color-bg-white);font-size:.875rem;cursor:pointer;transition:border-color var(--transition-base) ease}select[data-astro-cid-vw6qx2pt]:hover{border-color:var(--color-gray-400)}select[data-astro-cid-vw6qx2pt]:focus{outline:2px solid var(--color-accent);outline-offset:2px}header{background-color:var(--color-gray-100);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--spacing-xl);width:100%;max-width:100vw;overflow-x:hidden}.header-content{max-width:740px;margin:0 auto;padding:0 var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);min-width:0;width:100%;box-sizing:border-box}.home-section{display:flex;align-items:center;gap:var(--spacing-sm)}.home-link{display:flex;align-items:center;color:var(--color-gray-800);text-decoration:none;transition:color var(--transition-base) ease;padding:var(--spacing-xs)}.home-link:hover{color:var(--color-accent)}.version-badge{font-size:1.25rem;font-weight:600;color:var(--color-gray-500);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);letter-spacing:.025em;transition:all var(--transition-base) ease;user-select:none}.version-badge:hover{background-color:var(--color-gray-300);color:var(--color-gray-700)}.header-actions{display:flex;align-items:center;gap:var(--spacing-md-sm)}.search-modal[data-astro-cid-xsckm4dd]{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;align-items:center;justify-content:center}.search-backdrop[data-astro-cid-xsckm4dd]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(8px);opacity:0}.search-container[data-astro-cid-xsckm4dd]{position:relative;width:90%;max-width:600px;background:var(--color-bg-white);border-radius:var(--radius-2xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden;transform:scale(.95);opacity:0}.search-header[data-astro-cid-xsckm4dd]{display:flex;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-200);gap:var(--spacing-sm);cursor:grab;user-select:none}.search-input[data-astro-cid-xsckm4dd]{flex:1;border:none;outline:none;font-size:1.125rem;padding:var(--spacing-sm);background:transparent}.search-input[data-astro-cid-xsckm4dd]::placeholder{color:var(--color-gray-400)}.search-close[data-astro-cid-xsckm4dd]{background:none;border:none;cursor:pointer;padding:var(--spacing-sm);color:var(--color-gray-500);border-radius:var(--radius-md);transition:all 0s ease;display:flex;align-items:center;justify-content:center}.search-close[data-astro-cid-xsckm4dd]:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.search-results[data-astro-cid-xsckm4dd]{max-height:400px;overflow-y:auto;padding:var(--spacing-md-sm)}.search-empty[data-astro-cid-xsckm4dd],.no-results{text-align:center;color:var(--color-gray-400);padding:var(--spacing-xl);font-size:.875rem}.search-result-item{display:block;padding:var(--spacing-md-sm);margin-bottom:var(--spacing-sm);border-radius:var(--radius-xl);cursor:pointer;text-decoration:none;color:inherit;transition:all var(--transition-base) cubic-bezier(.4,0,.2,1);border:1px solid transparent;background-color:var(--color-bg-card)}.search-result-item:hover{background-color:var(--color-gray-100);border-color:var(--color-border-light);transform:translateY(-1px)}.search-result-item.selected{background-color:var(--color-blue-50);border-color:var(--color-blue-200);transform:translateY(-1px)}.search-result-item:last-child{margin-bottom:var(--spacing-md-sm)}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.result-title{font-weight:600;font-size:1.05rem;color:var(--color-gray-900);letter-spacing:-.01em}.lang-badge{font-size:.75rem;padding:.15rem var(--spacing-sm);border-radius:9999px;background-color:var(--color-gray-100);color:var(--color-gray-600);font-weight:500;border:1px solid var(--color-gray-200);white-space:nowrap;margin-left:var(--spacing-md-sm)}.result-preview{font-size:.9rem;color:var(--color-gray-500);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:767px){.search-modal[data-astro-cid-xsckm4dd]{display:none!important}}.code-block-wrapper{margin:var(--spacing-md) 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-gray-200);background-color:var(--color-gray-50)}.mermaid{margin:var(--spacing-lg) auto;display:block;width:100%;box-sizing:border-box;text-align:center}.mermaid-block-code-expanded .mermaid{box-sizing:border-box;display:block}.code-block-header{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md-sm);padding:var(--spacing-xs) var(--spacing-md-sm);background-color:var(--color-gray-200)}.code-block-language{font-size:.6875rem;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.code-block-copy-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background-color:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-gray-500);cursor:pointer;transition:all var(--transition-base) ease}.code-block-copy-btn:hover{background-color:var(--color-gray-300);color:var(--color-gray-700)}.code-block-copy-btn:active{transform:scale(.95)}.code-block-copy-btn.copied{color:var(--color-success)}.code-block-copy-btn.error{color:var(--color-error)}.code-block-wrapper pre{margin:0;border-radius:0;border:none}.code-block-wrapper pre code{display:block;padding:var(--spacing-md);overflow-x:auto}pre{background-color:var(--color-gray-75)!important;padding:var(--spacing-md);border-radius:var(--radius-lg);overflow-x:auto;border:none!important;box-shadow:none!important;position:relative}pre code{background-color:transparent!important;padding:0!important}code{font-family:ui-monospace,monospace;font-size:.875em;background-color:var(--color-gray-75);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}pre code{background-color:transparent;padding:0;-ms-overflow-style:none;scrollbar-width:none}pre::-webkit-scrollbar{display:none}code:hover{scrollbar-width:auto}code:hover::-webkit-scrollbar{display:block}.block-code-expanded-style{border-radius:var(--radius-lg);overflow:hidden;border:1px solid transparent;border-width:0;background-color:transparent;margin:var(--spacing-md) 0}.block-source-style{background-color:var(--color-gray-50);padding:0;font-family:Courier New,Courier,monospace;font-size:.875rem;overflow-x:auto;overflow-y:auto;border-bottom:1px solid var(--color-gray-200);-ms-overflow-style:none;scrollbar-width:none}.block-source-style::-webkit-scrollbar{display:none}.block-source-style code{background:none;padding:0;white-space:pre;display:block;overflow-x:scroll;scrollbar-width:none;-ms-overflow-style:none}.block-rendered-style{-ms-overflow-style:none;scrollbar-width:none;background-color:transparent;padding:var(--spacing-md) 0;border-radius:var(--radius-lg);cursor:pointer;overflow-x:auto;transition:background-color var(--transition-base) ease}.block-rendered-style:hover{background-color:var(--color-dim-hover)}.block-rendered-style::-webkit-scrollbar{display:none}.block-code-expanded-style .block-rendered-style{background-color:transparent;margin:0;padding:var(--spacing-md);cursor:pointer;transition:background-color var(--transition-slow) ease-in-out,padding var(--transition-slow) ease-in-out;-ms-overflow-style:none;scrollbar-width:none}.block-code-expanded-style .block-rendered-style:hover{background-color:var(--color-dim-hover)}.small-screen-warning{display:none;position:fixed;inset:0;background-color:var(--color-gray-100);z-index:99999;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.warning-icon{color:#fbbf24;margin-bottom:var(--spacing-lg);animation:pulse 2s ease-in-out infinite}.warning-title{font-size:1.5rem;font-weight:700;color:var(--color-gray-800);margin:0 0 var(--spacing-md) 0}.warning-description{font-size:1rem;color:var(--color-gray-600);margin:0;max-width:280px;line-height:1.6}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@media(max-width:329px){.small-screen-warning{display:flex}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}#page-loading-overlay[data-astro-cid-sckkx6r4]{position:fixed;inset:0;background:var(--color-bg-overlay);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;flex-direction:column}.page-loading-hidden[data-astro-cid-sckkx6r4]{opacity:0;pointer-events:none}.page-loading-visible[data-astro-cid-sckkx6r4]{opacity:1;animation:fadeIn var(--transition-slow) ease-out}.page-loading-fadeout[data-astro-cid-sckkx6r4]{opacity:0;transition:opacity var(--transition-base) ease-in}.loading-spinner[data-astro-cid-sckkx6r4]{width:40px;height:40px;border:4px solid var(--color-gray-200);border-top-color:var(--color-gray-700);border-radius:50%;animation:spin .8s linear infinite}.loading-text[data-astro-cid-sckkx6r4]{margin-top:var(--spacing-md);color:var(--color-text-muted);font-family:system-ui,sans-serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-accent: #2563eb;--color-accent-light: #3b82f6;--color-accent-dark: #1e40af;--color-gray-50: #f9fafb;--color-gray-75: #f5f5f5;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-blue-50: #eff6ff;--color-blue-200: #bfdbfe;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-dark: #1a1a1a;--color-text-muted: #666666;--color-bg-white: #ffffff;--color-bg-overlay: rgba(255, 255, 255, .95);--color-bg-card: rgba(255, 255, 255, .5);--color-bg-hover: rgba(255, 255, 255, .8);--color-dim-hover: rgba(0, 0, 0, .03);--color-highlight: #fef08a;--color-success: #10b981;--color-error: #ef4444;--color-border-light: rgba(0, 0, 0, .05);--color-border-medium: rgba(0, 0, 0, .1);--accent: var(--color-accent);--accent-light: var(--color-accent-light);--accent-dark: var(--color-accent-dark);--gray: var(--color-gray-500);--gray-light: var(--color-gray-100);--gray-dark: var(--color-gray-800);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--z-overlay: 9999;--z-modal: 10}[data-astro-cid-sckkx6r4]{box-sizing:border-box}html{font-family:system-ui,sans-serif;background:var(--color-bg-white);color:var(--color-text-primary);scrollbar-width:none;-ms-overflow-style:none;overflow-x:hidden}html::-webkit-scrollbar{display:none}body{margin:0;padding:0;line-height:1.6;overflow-x:hidden;width:100%;max-width:100vw;min-width:0}main[data-astro-cid-sckkx6r4]{max-width:800px;margin:0 auto;padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);min-width:0;width:100%}h1[data-astro-cid-sckkx6r4]{font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-gray-800)}h2[data-astro-cid-sckkx6r4]{font-size:1.875rem;font-weight:600;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);color:var(--color-gray-800)}h3[data-astro-cid-sckkx6r4]{font-size:1.5rem;font-weight:600;margin-top:var(--spacing-lg);margin-bottom:.75rem;color:var(--color-gray-800)}mark{background-color:var(--color-highlight);padding:.125rem var(--spacing-xs);border-radius:var(--radius-sm)}kbd{background-color:var(--color-gray-100);border:1px solid var(--color-gray-300);border-bottom-width:3px;border-radius:var(--radius-lg);box-shadow:0 2px 0 var(--color-gray-200);padding:var(--spacing-xs) var(--spacing-sm);font-family:ui-monospace,monospace;font-size:.875em;font-weight:600;color:var(--color-gray-700);display:inline-block;transition:all .1s ease-in-out;cursor:pointer;vertical-align:middle;line-height:1.5}kbd:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--color-gray-200)}kbd:active{transform:translateY(1px);box-shadow:0 1px 0 var(--color-gray-200)}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-dark);text-decoration:underline}.katex{font-family:Computer Modern Sans,Helvetica Neue,Helvetica,Arial,sans-serif!important}@font-face{font-display:swap}@font-face{font-family:Cantonese;src:url(/fonts/hk/hk-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+4E00-9FFF,U+3400-4DBF,U+20000-2A6DF,U+2A700-2B73F,U+2B740-2B81F,U+2B820-2CEAF,U+2CEB0-2EBEF,U+30000-3134F,U+F900-FAFF,U+2F800-2FA1F,U+3000-303F,U+FF00-FFEF}@font-face{font-family:Cantonese;src:url(/fonts/hk/hk-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+4E00-9FFF,U+3400-4DBF,U+20000-2A6DF,U+2A700-2B73F,U+2B740-2B81F,U+2B820-2CEAF,U+2CEB0-2EBEF,U+30000-3134F,U+F900-FAFF,U+2F800-2FA1F,U+3000-303F,U+FF00-FFEF}@font-face{font-family:Cantonese;src:url(/fonts/hk/hk-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+4E00-9FFF,U+3400-4DBF,U+20000-2A6DF,U+2A700-2B73F,U+2B740-2B81F,U+2B820-2CEAF,U+2CEB0-2EBEF,U+30000-3134F,U+F900-FAFF,U+2F800-2FA1F,U+3000-303F,U+FF00-FFEF}@font-face{font-family:Cantonese;src:url(/fonts/hk/hk-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E00-9FFF,U+3400-4DBF,U+20000-2A6DF,U+2A700-2B73F,U+2B740-2B81F,U+2B820-2CEAF,U+2CEB0-2EBEF,U+30000-3134F,U+F900-FAFF,U+2F800-2FA1F,U+3000-303F,U+FF00-FFEF}@font-face{font-family:Cantonese;src:url(/fonts/hk/en-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-007F}@font-face{font-family:Cantonese;src:url(/fonts/hk/en-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-007F}@font-face{font-family:Cantonese;src:url(/fonts/hk/en-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-007F}@font-face{font-family:Cantonese;src:url(/fonts/hk/en-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-007F}:root[lang=zh-HK],[lang=zh-HK]{font-family:Cantonese,system-ui,sans-serif}.katex-display:not(.math-block-code-expanded .katex-display),.mermaid-container,.desmos-container{content-visibility:auto;contain-intrinsic-size:1px 300px}.katex .mathnormal,.katex .mathit{font-family:Computer Modern Sans,Helvetica Neue,Arial,sans-serif!important;font-style:italic!important}.katex .mathrm{font-family:Computer Modern Sans,Helvetica Neue,Arial,sans-serif!important;font-style:normal!important}
