:root{--color-primary: 37 99 235;--color-primary-hover: 29 78 216;--color-primary-active: 30 64 175;--color-focus: 59 130 246;--color-focus-ring: rgb(59 130 246 / .5);--color-success: 22 163 74;--color-success-hover: 21 128 61;--color-success-light: 34 197 94;--color-warning: 217 119 6;--color-warning-hover: 180 83 9;--color-warning-light: 245 158 11;--color-error: 220 38 38;--color-error-hover: 185 28 28;--color-error-light: 239 68 68;--color-info: 37 99 235;--color-info-hover: 29 78 216;--color-info-light: 59 130 246;--color-gray-50: 249 250 251;--color-gray-100: 243 244 246;--color-gray-200: 229 231 235;--color-gray-300: 209 213 219;--color-gray-400: 156 163 175;--color-gray-500: 107 114 128;--color-gray-600: 75 85 99;--color-gray-700: 55 65 81;--color-gray-800: 31 41 55;--color-gray-900: 17 24 39;--color-accent: 79 70 229;--color-accent-hover: 67 56 202;--color-accent-light: 99 102 241;--color-surface-primary: 255 255 255;--color-surface-secondary: 249 250 251;--color-surface-tertiary: 243 244 246;--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-700);--color-text-muted: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-border-primary: var(--color-gray-300);--color-border-secondary: var(--color-gray-200);--color-border-muted: var(--color-gray-100)}.dark{--color-primary-hover: 59 130 246;--color-primary-active: 96 165 250;--color-success: 34 197 94;--color-success-hover: 74 222 128;--color-warning: 245 158 11;--color-warning-hover: 251 191 36;--color-error: 239 68 68;--color-error-hover: 248 113 113;--color-info: 59 130 246;--color-info-hover: 96 165 250;--color-gray-50: 15 23 42;--color-gray-100: 30 41 59;--color-gray-200: 51 65 85;--color-gray-300: 71 85 105;--color-gray-400: 148 163 184;--color-gray-500: 203 213 225;--color-gray-600: 226 232 240;--color-gray-700: 241 245 249;--color-gray-800: 248 250 252;--color-gray-900: 255 255 255;--color-accent: 99 102 241;--color-accent-hover: 129 140 248;--color-surface-primary: 15 23 42;--color-surface-secondary: 30 41 59;--color-surface-tertiary: 51 65 85;--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-700);--color-text-muted: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-border-primary: var(--color-gray-300);--color-border-secondary: var(--color-gray-200);--color-border-muted: var(--color-gray-100)}.text-primary{color:rgb(var(--color-text-primary))}.text-secondary{color:rgb(var(--color-text-secondary))}.text-muted{color:rgb(var(--color-text-muted))}.text-interactive{color:rgb(var(--color-primary))}.text-interactive:hover{color:rgb(var(--color-primary-hover))}.bg-surface{background-color:rgb(var(--color-surface-primary))}.bg-surface-secondary{background-color:rgb(var(--color-surface-secondary))}.bg-surface-tertiary{background-color:rgb(var(--color-surface-tertiary))}.border-primary{border-color:rgb(var(--color-border-primary))}.border-secondary{border-color:rgb(var(--color-border-secondary))}.border-muted{border-color:rgb(var(--color-border-muted))}.btn-primary{background-color:rgb(var(--color-primary));color:#fff;border:1px solid rgb(var(--color-primary))}.btn-primary:hover{background-color:rgb(var(--color-primary-hover));border-color:rgb(var(--color-primary-hover))}.btn-primary:active{background-color:rgb(var(--color-primary-active));border-color:rgb(var(--color-primary-active))}.btn-secondary{background-color:transparent;color:rgb(var(--color-text-primary));border:1px solid rgb(var(--color-border-primary))}.btn-secondary:hover{background-color:rgb(var(--color-surface-secondary));border-color:rgb(var(--color-border-secondary))}.focus-ring{outline:2px solid transparent;outline-offset:2px}.focus-ring:focus-visible{outline:2px solid rgb(var(--color-focus));outline-offset:2px}.alert-success{background-color:rgb(var(--color-success) / .1);border-color:rgb(var(--color-success) / .3);color:rgb(var(--color-success))}.alert-warning{background-color:rgb(var(--color-warning) / .1);border-color:rgb(var(--color-warning) / .3);color:rgb(var(--color-warning))}.alert-error{background-color:rgb(var(--color-error) / .1);border-color:rgb(var(--color-error) / .3);color:rgb(var(--color-error))}.alert-info{background-color:rgb(var(--color-info) / .1);border-color:rgb(var(--color-info) / .3);color:rgb(var(--color-info))}@media (prefers-contrast: high){:root{--color-primary: 0 0 0;--color-primary-hover: 0 0 0;--color-text-primary: 0 0 0;--color-text-secondary: 0 0 0;--color-border-primary: 0 0 0}.dark{--color-primary: 255 255 255;--color-primary-hover: 255 255 255;--color-text-primary: 255 255 255;--color-text-secondary: 255 255 255;--color-border-primary: 255 255 255}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.text-on-light{color:#111827;background-color:#fff}.text-secondary-on-light{color:#374151;background-color:#fff}.text-muted-on-light{color:#6b7280;background-color:#fff}.link-on-light{color:#2563eb;background-color:#fff}.link-on-light:hover{color:#1d4ed8}.text-on-dark{color:#fff;background-color:#0f172a}.text-secondary-on-dark{color:#f1f5f9;background-color:#0f172a}.text-muted-on-dark{color:#cbd5e1;background-color:#0f172a}.link-on-dark{color:#60a5fa;background-color:#0f172a}.link-on-dark:hover{color:#93c5fd}.success-text-light{color:#15803d;background-color:#f0fdf4}.success-text-dark{color:#4ade80;background-color:#14532d}.warning-text-light{color:#92400e;background-color:#fffbeb}.warning-text-dark{color:#fbbf24;background-color:#78350f}.error-text-light{color:#991b1b;background-color:#fef2f2}.error-text-dark{color:#f87171;background-color:#7f1d1d}.btn-primary-accessible{background-color:#2563eb;color:#fff;border:1px solid rgb(37 99 235)}.btn-primary-accessible:hover{background-color:#1d4ed8;border-color:#1d4ed8}.btn-primary-accessible:focus-visible{outline:2px solid rgb(59 130 246);outline-offset:2px}.btn-secondary-accessible{background-color:transparent;color:#111827;border:1px solid rgb(209 213 219)}.dark .btn-secondary-accessible{color:#fff;border-color:#475569}:root{--dark-depth-bg: 10 10 11;--dark-depth-surface-1: 20 20 24;--dark-depth-surface-2: 28 28 33;--dark-depth-surface-3: 35 35 40;--true-black-bg: 0 0 0;--true-black-surface-1: 15 15 15;--true-black-surface-2: 24 24 24;--true-black-surface-3: 32 32 32;--dark-gray-50: var(--dark-depth-bg);--dark-gray-100: var(--dark-depth-surface-1);--dark-gray-200: var(--dark-depth-surface-2);--dark-gray-300: 75 85 99;--dark-gray-400: 107 114 128;--dark-gray-500: 156 163 175;--dark-gray-600: 209 213 219;--dark-gray-700: 229 231 235;--dark-gray-800: 243 244 246;--dark-gray-900: 255 255 255;--contrast-low: 1;--contrast-medium: 1.1;--contrast-high: 1.2}.dark{--color-surface-primary: rgb(var(--dark-gray-50));--color-surface-secondary: rgb(var(--dark-gray-100));--color-surface-tertiary: rgb(var(--dark-gray-200));--color-text-primary: rgb(var(--dark-gray-900));--color-text-secondary: rgb(var(--dark-gray-700));--color-text-muted: rgb(var(--dark-gray-500));--color-text-disabled: rgb(var(--dark-gray-400));--color-border-primary: rgb(var(--dark-gray-300));--color-border-secondary: rgb(var(--dark-gray-200));--color-border-muted: rgb(var(--dark-gray-100));filter:contrast(var(--contrast-low))}.dark.true-black,.dark[data-theme=true-black]{--color-surface-primary: rgb(var(--true-black-bg));--color-surface-secondary: rgb(var(--true-black-surface-1));--color-surface-tertiary: rgb(var(--true-black-surface-2));--color-border-primary: rgb(75 85 99);--color-border-secondary: rgb(55 65 81);--color-border-muted: rgb(31 41 55)}@media (prefers-color-scheme: dark) and (dynamic-range: high){.dark{--color-surface-primary: rgb(var(--true-black-bg));--color-surface-secondary: rgb(var(--true-black-surface-1));--color-surface-tertiary: rgb(var(--true-black-surface-2))}}@media (prefers-contrast: high){.dark{--contrast-level: var(--contrast-high);--color-text-primary: rgb(255 255 255);--color-text-secondary: rgb(255 255 255);--color-border-primary: rgb(255 255 255);--color-surface-primary: rgb(0 0 0);filter:contrast(var(--contrast-high))}}.surface-base{background-color:rgb(var(--dark-gray-50));color:rgb(var(--dark-gray-900))}.surface-raised-1{background-color:rgb(var(--dark-gray-100));border:1px solid rgb(var(--dark-gray-200) / .2);box-shadow:0 1px 3px #0003}.surface-raised-2{background-color:rgb(var(--dark-gray-200));border:1px solid rgb(var(--dark-gray-300) / .3);box-shadow:0 4px 6px #0000004d}.surface-raised-3{background-color:rgb(var(--dark-depth-surface-3));border:1px solid rgb(var(--dark-gray-400) / .4);box-shadow:0 10px 15px #0006}.dark .text-enhanced{text-shadow:0 0 1px rgb(0 0 0 / .5);font-smoothing:antialiased;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark .text-on-dark{color:rgb(var(--dark-gray-900));font-weight:400}.dark .text-secondary-on-dark{color:rgb(var(--dark-gray-700));font-weight:400}.dark .text-muted-on-dark{color:rgb(var(--dark-gray-500));font-weight:400}.dark .interactive-element{border:1px solid rgb(var(--dark-gray-300) / .3);background:rgb(var(--dark-gray-100) / .5);transition:all .2s ease}.dark .interactive-element:hover{border-color:rgb(var(--color-primary) / .5);background:rgb(var(--dark-gray-200) / .7);transform:translateY(-1px)}.dark .interactive-element:active{transform:translateY(0);background:rgb(var(--dark-gray-300) / .8)}.dark .focus-visible-dark{outline:2px solid rgb(var(--color-primary));outline-offset:2px;box-shadow:0 0 0 4px rgb(var(--color-primary) / .2)}.dark ::selection{background:rgb(var(--color-primary) / .3);color:rgb(var(--dark-gray-900))}.dark ::-moz-selection{background:rgb(var(--color-primary) / .3);color:rgb(var(--dark-gray-900))}.dark ::-webkit-scrollbar{width:8px;height:8px}.dark ::-webkit-scrollbar-track{background:rgb(var(--dark-gray-100));border-radius:4px}.dark ::-webkit-scrollbar-thumb{background:rgb(var(--dark-gray-300));border-radius:4px;border:2px solid rgb(var(--dark-gray-100))}.dark ::-webkit-scrollbar-thumb:hover{background:rgb(var(--dark-gray-400))}.dark ::-webkit-scrollbar-corner{background:rgb(var(--dark-gray-100))}@media (prefers-reduced-motion: reduce){.dark *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media print{.dark{--color-surface-primary: rgb(255 255 255) !important;--color-text-primary: rgb(0 0 0) !important;--color-text-secondary: rgb(0 0 0) !important;filter:none!important}.dark *{background:#fff!important;color:#000!important;box-shadow:none!important}}.dark-bg-base{background-color:rgb(var(--dark-gray-50))}.dark-bg-raised{background-color:rgb(var(--dark-gray-100))}.dark-bg-elevated{background-color:rgb(var(--dark-gray-200))}.dark-text-primary{color:rgb(var(--dark-gray-900))}.dark-text-secondary{color:rgb(var(--dark-gray-700))}.dark-text-muted{color:rgb(var(--dark-gray-500))}.dark-border{border-color:rgb(var(--dark-gray-300))}.dark-border-light{border-color:rgb(var(--dark-gray-200))}.dark-border-subtle{border-color:rgb(var(--dark-gray-100))}@media (prefers-color-scheme: dark) and (light-level: dim){.dark{filter:brightness(.95) contrast(1.05)}}@media (prefers-color-scheme: dark) and (light-level: normal){.dark{filter:brightness(1) contrast(1)}}@media (prefers-color-scheme: dark) and (light-level: washed){.dark{filter:brightness(1.05) contrast(1.1)}}:root{--contrast-normal: 1;--contrast-enhanced: 1.1;--contrast-maximum: 1.3;--text-shadow-subtle: 0 0 1px rgb(0 0 0 / .3);--text-shadow-medium: 0 0 2px rgb(0 0 0 / .5);--text-shadow-strong: 0 1px 2px rgb(0 0 0 / .8)}.dark-text-primary-validated{color:#fff;background-color:#0a0a0b;text-shadow:var(--text-shadow-subtle)}.dark-text-secondary-validated{color:#f1f5f9;background-color:#0a0a0b;text-shadow:var(--text-shadow-subtle)}.dark-text-muted-validated{color:#cbd5e1;background-color:#0a0a0b}.dark-link-validated{color:#60a5fa;background-color:#0a0a0b}.dark-link-validated:hover{color:#93c5fd}.dark-surface-1-text{color:#fff;background-color:#141418}.dark-surface-2-text{color:#fff;background-color:#1c1c21}.dark-surface-3-text{color:#fff;background-color:#232328}.dark-success-validated{color:#4ade80;background-color:#0a0a0b}.dark-warning-validated{color:#fcd34d;background-color:#0a0a0b}.dark-error-validated{color:#f87171;background-color:#0a0a0b}.dark-info-validated{color:#818cf8;background-color:#0a0a0b}.dark-enhanced-contrast{filter:contrast(var(--contrast-enhanced))}.dark-maximum-contrast{filter:contrast(var(--contrast-maximum))}.dark-small-text{font-size:14px;color:#fff;text-shadow:var(--text-shadow-medium);font-weight:500}.dark-tiny-text{font-size:12px;color:#fff;text-shadow:var(--text-shadow-strong);font-weight:600;letter-spacing:.025em}.dark-border-visible{border:1px solid rgb(75 85 99)}.dark-border-subtle{border:1px solid rgb(55 65 81)}.dark-border-minimal{border:1px solid rgb(31 41 55)}.dark-input-validated{background-color:#141418;color:#fff;border:1px solid rgb(75 85 99);padding:.75rem}.dark-input-validated:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33;outline:none}.dark-input-validated::-moz-placeholder{color:#9ca3af}.dark-input-validated::placeholder{color:#9ca3af}.dark-button-primary-validated{background-color:#2563eb;color:#fff;border:1px solid rgb(37 99 235);padding:.75rem 1.5rem;font-weight:500}.dark-button-primary-validated:hover{background-color:#3b82f6;border-color:#3b82f6}.dark-button-secondary-validated{background-color:transparent;color:#fff;border:1px solid rgb(75 85 99);padding:.75rem 1.5rem}.dark-button-secondary-validated:hover{background-color:#141418;border-color:#60a5fa}.dark-code-validated{background-color:#0f172a;color:#e2e8f0;border:1px solid rgb(51 65 85);font-family:SF Mono,monospace;padding:1rem;border-radius:.375rem}.dark-inline-code-validated{background-color:#1e293b;color:#e2e8f0;padding:.125rem .375rem;border-radius:.25rem;font-size:.875em}.dark-link-underline-validated{color:#60a5fa;text-decoration:underline;text-decoration-color:#60a5fa99;text-underline-offset:2px;text-decoration-thickness:1px}.dark-link-underline-validated:hover{color:#93c5fd;text-decoration-color:#93c5fd;text-decoration-thickness:2px}.contrast-test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem}.contrast-sample{padding:1rem;text-align:center;border-radius:.5rem;position:relative}.contrast-sample:after{content:attr(data-ratio);position:absolute;top:.25rem;right:.25rem;font-size:.75rem;opacity:.7}:root{--transition-fast: .15s;--transition-normal: .2s;--transition-slow: .3s;--transition-slower: .5s;--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.25, .46, .45, .94)}*{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:var(--transition-normal);transition-timing-function:var(--ease-smooth)}h1,h2,h3,h4,h5,h6,p,span,a,li,td,th{transition:color var(--transition-fast) var(--ease-out-cubic),background-color var(--transition-normal) var(--ease-smooth)}button,input,textarea,select,.btn,.link,.interactive{transition:background-color var(--transition-fast) var(--ease-out-cubic),border-color var(--transition-fast) var(--ease-out-cubic),color var(--transition-fast) var(--ease-out-cubic),box-shadow var(--transition-normal) var(--ease-smooth),transform var(--transition-fast) var(--ease-spring)}.surface,.card,.panel,.modal,.dropdown,main,section,article,aside,header,footer,nav{transition:background-color var(--transition-normal) var(--ease-smooth),border-color var(--transition-normal) var(--ease-smooth),box-shadow var(--transition-slow) var(--ease-smooth)}hr,.border,.divider,[class*=border-]{transition:border-color var(--transition-normal) var(--ease-smooth),opacity var(--transition-normal) var(--ease-smooth)}pre,code,.codeblock,.codeblock-minimal{transition:background-color var(--transition-slow) var(--ease-smooth),border-color var(--transition-slow) var(--ease-smooth)}.codeblock-minimal .token{transition:color var(--transition-normal) var(--ease-smooth)}img,picture,video,svg,.image-wrapper{transition:opacity var(--transition-normal) var(--ease-smooth),filter var(--transition-slow) var(--ease-smooth)}.nav-link,.menu-item,.breadcrumb,.tab{transition:color var(--transition-fast) var(--ease-out-cubic),background-color var(--transition-fast) var(--ease-out-cubic),border-color var(--transition-fast) var(--ease-out-cubic)}.focus-visible,*:focus-visible{transition:outline-color var(--transition-fast) var(--ease-out-cubic),box-shadow var(--transition-fast) var(--ease-out-cubic)}.theme-toggle{transition:transform var(--transition-normal) var(--ease-spring),background-color var(--transition-fast) var(--ease-out-cubic)}.theme-toggle:hover{transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}html{scroll-behavior:smooth}.skeleton,.loading{transition:opacity var(--transition-normal) var(--ease-smooth)}.skeleton:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:skeleton-loading 1.5s ease-in-out infinite}.dark .skeleton:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}@keyframes skeleton-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.modal,.overlay,.dropdown-menu{transition:opacity var(--transition-normal) var(--ease-smooth),transform var(--transition-normal) var(--ease-out-cubic),-webkit-backdrop-filter var(--transition-normal) var(--ease-smooth);transition:opacity var(--transition-normal) var(--ease-smooth),transform var(--transition-normal) var(--ease-out-cubic),backdrop-filter var(--transition-normal) var(--ease-smooth);transition:opacity var(--transition-normal) var(--ease-smooth),transform var(--transition-normal) var(--ease-out-cubic),backdrop-filter var(--transition-normal) var(--ease-smooth),-webkit-backdrop-filter var(--transition-normal) var(--ease-smooth)}.modal-enter{opacity:0;transform:scale(.95) translateY(-10px)}.modal-enter-active,.modal-exit{opacity:1;transform:scale(1) translateY(0)}.modal-exit-active{opacity:0;transform:scale(.95) translateY(-10px)}.notification,.alert,.toast{transition:opacity var(--transition-normal) var(--ease-smooth),transform var(--transition-normal) var(--ease-spring)}.notification-enter{opacity:0;transform:translate(100%)}.notification-enter-active,.notification-exit{opacity:1;transform:translate(0)}.notification-exit-active{opacity:0;transform:translate(100%)}.stagger-children>*{transition:opacity var(--transition-normal) var(--ease-smooth),transform var(--transition-normal) var(--ease-out-cubic)}.stagger-children>*:nth-child(1){transition-delay:0ms}.stagger-children>*:nth-child(2){transition-delay:50ms}.stagger-children>*:nth-child(3){transition-delay:.1s}.stagger-children>*:nth-child(4){transition-delay:.15s}.stagger-children>*:nth-child(5){transition-delay:.2s}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.will-change-colors{will-change:background-color,border-color,color}.transitioning{will-change:transform,opacity,background-color,border-color,color}.transitioning.finished{will-change:auto}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.skeleton:before{animation:none}}@media (prefers-contrast: high){*{transition-duration:var(--transition-fast)}}@media (hover: none) and (pointer: coarse){*{transition-duration:var(--transition-fast)}button,.btn,.interactive{transition-duration:.1s}}.dark-mode-indicator{transition:opacity var(--transition-slow) var(--ease-smooth),transform var(--transition-slow) var(--ease-spring)}.theme-icon{transition:transform var(--transition-normal) var(--ease-spring),opacity var(--transition-fast) var(--ease-out-cubic)}.dark .theme-icon-sun{transform:rotate(180deg) scale(0);opacity:0}.dark .theme-icon-moon{transform:rotate(0) scale(1);opacity:1}.transition-none{transition:none!important}.transition-fast{transition-duration:var(--transition-fast)!important}.transition-normal{transition-duration:var(--transition-normal)!important}.transition-slow{transition-duration:var(--transition-slow)!important}.transition-slower{transition-duration:var(--transition-slower)!important}@media (hover: hover){.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.dark .hover-lift:hover{box-shadow:0 4px 12px #0000004d}.hover-glow:hover{box-shadow:0 0 20px rgb(var(--color-primary) / .3)}}:root{--overlay-subtle: .1;--overlay-light: .2;--overlay-medium: .4;--overlay-strong: .6;--overlay-heavy: .8;--image-brightness-dark: .9;--image-contrast-dark: 1.1;--image-saturation-dark: .85;--gradient-overlay-top: linear-gradient(180deg, rgb(0 0 0 / .4) 0%, transparent 100%);--gradient-overlay-bottom: linear-gradient(0deg, rgb(0 0 0 / .6) 0%, transparent 100%);--gradient-overlay-center: radial-gradient(circle, transparent 30%, rgb(0 0 0 / .5) 100%)}.dark img,.dark picture,.dark video{filter:brightness(var(--image-brightness-dark)) contrast(var(--image-contrast-dark)) saturate(var(--image-saturation-dark));transition:filter .3s ease}.hero-image{position:relative;overflow:hidden}.hero-image:before{content:"";position:absolute;inset:0;background:transparent;transition:background .3s ease;z-index:1}.dark .hero-image:before{background:var(--gradient-overlay-bottom)}.hero-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hero-image .hero-content{position:absolute;bottom:0;left:0;right:0;padding:2rem;z-index:2;color:#fff;text-shadow:0 1px 3px rgb(0 0 0 / .8)}.card-image{position:relative;overflow:hidden}.card-image:after{content:"";position:absolute;inset:0;background:transparent;transition:all .3s ease}.dark .card-image:after{background:rgb(0 0 0 / var(--overlay-light))}.card-image:hover:after{background:transparent}.dark .card-image:hover:after{background:rgb(0 0 0 / var(--overlay-subtle))}.avatar,.profile-image{border-radius:50%;border:2px solid transparent;transition:all .2s ease}.dark .avatar,.dark .profile-image{border-color:#ffffff1a;filter:brightness(.95) contrast(1.05)}.dark .avatar:hover,.dark .profile-image:hover{border-color:#fff3;filter:brightness(1) contrast(1)}.gallery-image{position:relative;transition:all .3s ease}.gallery-image:before{content:"";position:absolute;inset:0;background:transparent;opacity:0;transition:opacity .3s ease;pointer-events:none}.dark .gallery-image:before{background:rgb(0 0 0 / var(--overlay-medium));opacity:1}.dark .gallery-image:hover:before{opacity:0}.thumbnail{position:relative;overflow:hidden}.thumbnail:after{content:"";position:absolute;inset:0;background:var(--gradient-overlay-center);opacity:0;transition:opacity .3s ease}.dark .thumbnail:after{opacity:1}.thumbnail:hover:after{opacity:0}.content-image{border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:all .3s ease}.dark .content-image{box-shadow:0 4px 6px #0000004d;border:1px solid rgb(255 255 255 / .1)}.dark .content-image img{filter:brightness(.92) contrast(1.08)}.bg-image{position:relative;background-attachment:fixed;background-size:cover;background-position:center}.bg-image:before{content:"";position:absolute;inset:0;background:transparent;transition:background .3s ease}.dark .bg-image:before{background:rgb(0 0 0 / var(--overlay-strong))}.logo,.brand-image{transition:all .2s ease}.dark .logo,.dark .brand-image{filter:brightness(1.1) contrast(.9)}.logo-invert,.brand-invert{transition:filter .3s ease}.dark .logo-invert,.dark .brand-invert{filter:invert(1) brightness(1.1)}.icon,.svg-icon{transition:all .2s ease}.dark .icon,.dark .svg-icon{filter:brightness(1.1)}.image-mask-gradient{-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 60%,transparent 100%)}.dark .image-mask-gradient{-webkit-mask-image:linear-gradient(to bottom,black 40%,transparent 100%);mask-image:linear-gradient(to bottom,black 40%,transparent 100%)}.image-placeholder{background-color:#f3f4f6;transition:background-color .3s ease}.dark .image-placeholder{background-color:#1f2937}.image-placeholder.loading{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}.dark .image-placeholder.loading{background:linear-gradient(90deg,#1f2937 25%,#334155,#1f2937 75%);background-size:200% 100%}@keyframes loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.interactive-image{cursor:pointer;transition:all .3s ease;border-radius:.5rem;overflow:hidden}.interactive-image:hover{transform:scale(1.02)}.dark .interactive-image:hover{filter:brightness(1.05) contrast(1.02)}.interactive-image:focus-visible{outline:2px solid rgb(var(--color-primary));outline-offset:2px}.fullscreen-image{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999}.fullscreen-image img{max-width:90vw;max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:.5rem;box-shadow:0 20px 25px #00000080}.dark .fullscreen-image img{filter:brightness(.95) contrast(1.05)}.text-over-image{position:relative;color:#fff;text-shadow:0 1px 3px rgb(0 0 0 / .8)}.text-over-image:before{content:"";position:absolute;inset:-.5rem;background:#0000004d;border-radius:.5rem;z-index:-1;transition:background .3s ease}.dark .text-over-image:before{background:#0009}@media (max-width: 640px){.dark .hero-image:before{background:var(--gradient-overlay-bottom)}.dark .card-image:after{background:rgb(0 0 0 / var(--overlay-medium))}.interactive-image:hover{transform:none}}@media (prefers-contrast: high){.dark img,.dark picture,.dark video{filter:contrast(1.3) brightness(.8)}.dark .hero-image:before,.dark .card-image:after{background:#000c}}@media print{.dark img,.dark picture{filter:none!important}.hero-image:before,.card-image:after,.gallery-image:before{display:none!important}}.overlay-none:after{background:transparent!important}.overlay-subtle:after{background:rgb(0 0 0 / var(--overlay-subtle))!important}.overlay-light:after{background:rgb(0 0 0 / var(--overlay-light))!important}.overlay-medium:after{background:rgb(0 0 0 / var(--overlay-medium))!important}.overlay-strong:after{background:rgb(0 0 0 / var(--overlay-strong))!important}.overlay-heavy:after{background:rgb(0 0 0 / var(--overlay-heavy))!important}.filter-bright{filter:brightness(1.1)!important}.filter-dim{filter:brightness(.9)!important}.filter-contrast-high{filter:contrast(1.2)!important}.filter-contrast-low{filter:contrast(.8)!important}.filter-saturate-high{filter:saturate(1.2)!important}.filter-saturate-low{filter:saturate(.7)!important}:root{--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--rhythm-base: 1.5rem;--rhythm-small: .75rem;--rhythm-half: .75rem;--rhythm-one: 1.5rem;--rhythm-double: 3rem;--content-width: 56rem;--prose-width: 65ch;--padding-x: 1rem;--padding-x-sm: 1.5rem;--padding-x-lg: 2rem;--padding-y: 2rem;--padding-y-sm: 1.5rem;--padding-y-xs: 1rem}.layout-container{max-width:var(--content-width);margin-left:auto;margin-right:auto;padding-left:var(--padding-x);padding-right:var(--padding-x);padding-top:var(--padding-y);padding-bottom:var(--padding-y)}@media (min-width: 768px){.layout-container{padding-left:var(--padding-x-md);padding-right:var(--padding-x-md)}}.prose-container{max-width:var(--prose-width);margin-left:auto;margin-right:auto}.rhythm-section{margin-bottom:var(--rhythm-double)}.rhythm-content{margin-bottom:var(--rhythm-one)}.rhythm-element{margin-bottom:var(--rhythm-half)}.rhythm-tight{margin-bottom:var(--spacing-xs)}.section-spacing{margin-bottom:var(--spacing-lg)}.content-spacing{margin-bottom:var(--spacing-md)}.element-spacing{margin-bottom:var(--spacing-sm)}.tight-spacing{margin-bottom:var(--spacing-xs)}.card-padding{padding:var(--spacing-sm)}@media (min-width: 640px){.card-padding{padding:var(--spacing-md)}}.nav-spacing{gap:var(--spacing-md)}.tag-spacing{gap:var(--spacing-xs)}.form-spacing{gap:var(--spacing-sm)}.grid-base{display:grid;gap:var(--spacing-sm)}.grid-tight{display:grid;gap:var(--spacing-xs)}.grid-loose{display:grid;gap:var(--spacing-md)}.grid-two-col{grid-template-columns:1fr}@media (min-width: 768px){.grid-two-col{grid-template-columns:repeat(2,1fr)}}.grid-three-col{grid-template-columns:1fr}@media (min-width: 640px){.grid-three-col{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-three-col{grid-template-columns:repeat(3,1fr)}}:root{--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.333rem;--font-size-xl: 1.777rem;--font-size-2xl: 2.369rem;--font-size-3xl: 3.157rem;--line-length-en: 66ch;--line-length-zh-tw: 40em;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--line-height-loose: 1.7;--line-height-extra-loose: 1.8;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em}html:lang(en){--prose-line-length: var(--line-length-en);--prose-font-size: var(--font-size-base);--prose-line-height: var(--line-height-normal);--prose-heading-line-height: var(--line-height-tight)}html:lang(zh-tw){--prose-line-length: var(--line-length-zh-tw);--prose-font-size: 1.063rem;--prose-line-height: var(--line-height-loose);--prose-heading-line-height: 1.4}.prose-reading{max-width:var(--prose-line-length);font-size:var(--prose-font-size);line-height:var(--prose-line-height);margin-left:auto;margin-right:auto}.typography-scale h1{font-size:var(--font-size-3xl);line-height:var(--prose-heading-line-height, var(--line-height-tight));font-weight:500;letter-spacing:var(--letter-spacing-tight);margin-bottom:2rem}.typography-scale h2{font-size:var(--font-size-2xl);line-height:var(--prose-heading-line-height, var(--line-height-tight));font-weight:500;margin-bottom:1.5rem;margin-top:2.5rem}.typography-scale h3{font-size:var(--font-size-xl);line-height:var(--prose-heading-line-height, var(--line-height-tight));font-weight:500;margin-bottom:1rem;margin-top:2rem}.typography-scale h4{font-size:var(--font-size-lg);line-height:var(--prose-heading-line-height, var(--line-height-normal));font-weight:500;margin-bottom:.75rem;margin-top:1.75rem}.typography-scale h5,.typography-scale h6{font-size:var(--font-size-base);line-height:var(--prose-heading-line-height, var(--line-height-normal));font-weight:500;margin-bottom:.5rem;margin-top:1.5rem}.typography-scale p{margin-bottom:1.5rem;line-height:var(--prose-line-height)}.typography-scale blockquote{margin:2rem 0;padding-left:1.5rem;border-left:2px solid rgb(229 231 235);font-style:italic;color:#6b7280}.dark .typography-scale blockquote{border-left-color:#4b5563;color:#9ca3af}.typography-scale ul,.typography-scale ol{margin-bottom:1.5rem;padding-left:1.5rem}.typography-scale li{margin-bottom:.5rem}.typography-scale code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875em;padding:.125rem .25rem;border-radius:.25rem;background-color:#f3f4f6;color:#4b5563}.dark .typography-scale code{background-color:#1f2937;color:#d1d5db}.typography-scale pre{margin:1.5rem 0;padding:1rem;border-radius:.375rem;border:1px solid rgb(229 231 235);background-color:#f9fafb;overflow-x:auto;font-size:.875rem;line-height:1.6}.dark .typography-scale pre{background-color:#111827;border-color:#374151}.typography-scale pre code{background:none;padding:0;border-radius:0;color:inherit}html:lang(en) .typography-scale h1,html:lang(en) .typography-scale h2,html:lang(en) .typography-scale h3,html:lang(en) .typography-scale h4,html:lang(en) .typography-scale h5,html:lang(en) .typography-scale h6{font-weight:500}html:lang(zh-tw) .typography-scale h1,html:lang(zh-tw) .typography-scale h2,html:lang(zh-tw) .typography-scale h3,html:lang(zh-tw) .typography-scale h4,html:lang(zh-tw) .typography-scale h5,html:lang(zh-tw) .typography-scale h6{font-weight:500}.reading-progress{position:fixed;top:0;left:0;width:100%;height:1px;background:linear-gradient(to right,rgb(59 130 246) var(--progress, 0%),transparent var(--progress, 0%));z-index:50;opacity:.8}.focus-mode .site-header,.focus-mode .site-footer{opacity:.1;transition:opacity .3s ease}.focus-mode .site-header:hover,.focus-mode .site-footer:hover{opacity:1}.prose-enhanced p+p{margin-top:1.75rem}.prose-enhanced p+h2,.prose-enhanced p+h3,.prose-enhanced p+h4{margin-top:2.5rem}.prose-minimal img{margin:2rem auto;border-radius:.375rem;max-width:100%;height:auto}.prose-minimal figcaption{text-align:center;font-size:var(--font-size-sm);color:#6b7280;margin-top:.5rem;font-style:italic}.dark .prose-minimal figcaption{color:#9ca3af}.prose-minimal{max-width:var(--prose-line-length);font-size:var(--prose-font-size);line-height:var(--prose-line-height)}.prose-minimal>:first-child{margin-top:0}.prose-minimal>:last-child{margin-bottom:0}.prose-minimal a{color:#3b82f6;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.prose-minimal a:hover{border-bottom-color:#3b82f6}.dark .prose-minimal a{color:#60a5fa}.dark .prose-minimal a:hover{border-bottom-color:#60a5fa}.prose-minimal table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.875rem}.prose-minimal table th,.prose-minimal table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgb(229 231 235)}.prose-minimal table th{font-weight:500;color:#374151;background-color:#f9fafb}.dark .prose-minimal table th,.dark .prose-minimal table td{border-bottom-color:#374151}.dark .prose-minimal table th{color:#e5e7eb;background-color:#111827}.prose-minimal hr{margin:3rem auto;width:3rem;height:1px;border:none;background-color:#d1d5db}.dark .prose-minimal hr{background-color:#4b5563}.prose-minimal pre{position:relative;font-size:.875rem;line-height:1.7}.prose-minimal pre code{display:block;padding:0;overflow-x:auto}.prose-minimal h1 code,.prose-minimal h2 code,.prose-minimal h3 code,.prose-minimal h4 code,.prose-minimal h5 code,.prose-minimal h6 code{font-size:.9em;font-weight:inherit}.prose-minimal figure{margin:2rem 0}.prose-minimal figure img{margin:0}.prose-minimal ul ul,.prose-minimal ol ul,.prose-minimal ul ol,.prose-minimal ol ol{margin-top:.5rem;margin-bottom:.5rem}.prose-minimal blockquote p:first-of-type:before,.prose-minimal blockquote p:last-of-type:after{content:none}@media (max-width: 640px){.prose-minimal{font-size:calc(var(--prose-font-size) * .9)}.prose-minimal h1{font-size:var(--font-size-3xl)}.prose-minimal h2{font-size:var(--font-size-2xl)}.prose-minimal h3{font-size:var(--font-size-xl)}}@media print{.prose-minimal{font-size:12pt;line-height:1.4;color:#000}.prose-minimal a{color:#000;text-decoration:underline}.prose-minimal pre{border:1px solid #ccc;page-break-inside:avoid}}:root{--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Consolas", "Courier New", monospace}.code-minimal{font-family:var(--font-mono);font-size:.875em;font-weight:400;padding:.125rem .375rem;border-radius:.25rem;background-color:#f3f4f6;color:#4b5563;border:1px solid rgb(229 231 235);white-space:nowrap}.dark .code-minimal{background-color:#1f2937;color:#d1d5db;border-color:#374151}.codeblock-minimal{font-family:var(--font-mono);font-size:.875rem;line-height:1.6;font-weight:400;padding:1.25rem;border-radius:.5rem;background-color:#f9fafb;color:#374151;border:1px solid rgb(229 231 235);overflow-x:auto;position:relative;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.dark .codeblock-minimal{background-color:#111827;color:#d1d5db;border-color:#374151}.line-numbers{position:relative;padding-left:3.5rem}.line-numbers:before{content:counter(line);counter-increment:line;position:absolute;left:1rem;color:#9ca3af;font-size:.75rem;line-height:1.6;text-align:right;width:2rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dark .line-numbers:before{color:#6b7280}.codeblock-minimal.line-numbers{counter-reset:line}.codeblock-minimal.line-numbers code{display:block;white-space:pre}.codeblock-minimal.line-numbers code:before{content:counter(line);counter-increment:line;position:absolute;left:1rem;color:#9ca3af;font-size:.75rem;text-align:right;width:2rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dark .codeblock-minimal.line-numbers code:before{color:#6b7280}.codeblock-minimal .token.comment,.codeblock-minimal .token.prolog,.codeblock-minimal .token.doctype,.codeblock-minimal .token.cdata{color:#6b7280;font-style:italic;opacity:.8}.codeblock-minimal .token.keyword,.codeblock-minimal .token.tag,.codeblock-minimal .token.boolean,.codeblock-minimal .token.number,.codeblock-minimal .token.constant,.codeblock-minimal .token.builtin{color:#4f46e5;font-weight:500}.codeblock-minimal .token.string,.codeblock-minimal .token.attr-value,.codeblock-minimal .token.char{color:#16a34a}.codeblock-minimal .token.function,.codeblock-minimal .token.class-name,.codeblock-minimal .token.attr-name{color:#2563eb}.codeblock-minimal .token.operator,.codeblock-minimal .token.punctuation{color:#6b7280}.codeblock-minimal .token.variable,.codeblock-minimal .token.property{color:#d97706}.dark .codeblock-minimal .token.comment,.dark .codeblock-minimal .token.prolog,.dark .codeblock-minimal .token.doctype,.dark .codeblock-minimal .token.cdata{color:#9ca3af;font-style:italic;opacity:.9}.dark .codeblock-minimal .token.keyword,.dark .codeblock-minimal .token.tag,.dark .codeblock-minimal .token.boolean,.dark .codeblock-minimal .token.number,.dark .codeblock-minimal .token.constant,.dark .codeblock-minimal .token.builtin{color:#818cf8;font-weight:500}.dark .codeblock-minimal .token.string,.dark .codeblock-minimal .token.attr-value,.dark .codeblock-minimal .token.char{color:#4ade80}.dark .codeblock-minimal .token.function,.dark .codeblock-minimal .token.class-name,.dark .codeblock-minimal .token.attr-name{color:#60a5fa}.dark .codeblock-minimal .token.operator,.dark .codeblock-minimal .token.punctuation{color:#cbd5e1}.dark .codeblock-minimal .token.variable,.dark .codeblock-minimal .token.property{color:#fbbf24}.codeblock-minimal .token.imports,.codeblock-minimal .token.exports{color:#4f46e5;font-weight:500}.dark .codeblock-minimal .token.imports,.dark .codeblock-minimal .token.exports{color:#818cf8}.codeblock-minimal .token.selector,.codeblock-minimal .token.property-name{color:#2563eb}.dark .codeblock-minimal .token.selector,.dark .codeblock-minimal .token.property-name{color:#60a5fa}.codeblock-minimal .token.tag .token.tag,.codeblock-minimal .token.tag .token.punctuation{color:#dc2626}.dark .codeblock-minimal .token.tag .token.tag,.dark .codeblock-minimal .token.tag .token.punctuation{color:#f87171}.codeblock-compact{padding:.75rem 1rem;font-size:.8125rem;line-height:1.5}.codeblock-inline{display:inline-block;vertical-align:baseline;max-width:100%;padding:.5rem .75rem}.codeblock-minimal .copy-button{position:absolute;top:.75rem;right:.75rem;padding:.25rem .5rem;font-size:.75rem;background:#fffc;border:1px solid rgb(229 231 235);border-radius:.25rem;color:#4b5563;cursor:pointer;opacity:0;transition:opacity .2s ease}.codeblock-minimal:hover .copy-button{opacity:1}.dark .codeblock-minimal .copy-button{background:#111827cc;border-color:#374151;color:#d1d5db}.codeblock-minimal[data-language]:after{content:attr(data-language);position:absolute;top:.5rem;right:.75rem;font-size:.7rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.dark .codeblock-minimal[data-language]:after{color:#6b7280}.terminal{background-color:#111827;color:#d1d5db;border:1px solid rgb(55 65 81)}.terminal .prompt{color:#22c55e;-webkit-user-select:none;-moz-user-select:none;user-select:none}.terminal .output{color:#9ca3af}@media (max-width: 640px){.codeblock-minimal{font-size:.8125rem;padding:1rem;border-radius:.375rem}.line-numbers{padding-left:3rem}.line-numbers:before,.codeblock-minimal.line-numbers code:before{width:1.5rem;left:.75rem}}@media print{.codeblock-minimal{background:#fff!important;color:#000!important;border:1px solid #ccc!important;page-break-inside:avoid}.copy-button{display:none!important}.codeblock-minimal[data-language]:after{display:none}}.quote-minimal{margin:2rem 0;padding:1.5rem 0 1.5rem 2rem;border-left:3px solid rgb(229 231 235);font-style:italic;color:#6b7280;position:relative;background:#f9fafb80}.dark .quote-minimal{border-left-color:#4b5563;color:#9ca3af;background:#1118274d}.quote-minimal p{margin:0;line-height:var(--prose-line-height)}.quote-minimal cite{display:block;margin-top:1rem;font-style:normal;font-size:.875rem;color:#9ca3af}.dark .quote-minimal cite{color:#6b7280}.quote-minimal cite:before{content:"— "}.pullquote{font-size:1.25rem;line-height:1.4;font-weight:500;text-align:center;margin:3rem auto;max-width:80%;padding:2rem 0;border-top:1px solid rgb(229 231 235);border-bottom:1px solid rgb(229 231 235);color:#374151}.dark .pullquote{border-color:#4b5563;color:#d1d5db}.callout{margin:1.5rem 0;padding:1rem 1.25rem;border-radius:.5rem;border:1px solid;position:relative;background:#ffffff80}.dark .callout{background:#1118274d}.callout p{margin:0;line-height:var(--prose-line-height)}.callout p:not(:last-child){margin-bottom:.75rem}.callout-title{font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.callout-info{border-color:rgb(var(--color-info));color:rgb(var(--color-info));background:rgb(var(--color-info) / .05)}.dark .callout-info{border-color:rgb(var(--color-info-light));color:rgb(var(--color-info-light));background:rgb(var(--color-info-light) / .1)}.callout-info .callout-title{color:rgb(var(--color-info))}.dark .callout-info .callout-title{color:rgb(var(--color-info-light))}.callout-warning{border-color:rgb(var(--color-warning));color:rgb(var(--color-warning));background:rgb(var(--color-warning) / .05)}.dark .callout-warning{border-color:rgb(var(--color-warning-light));color:rgb(var(--color-warning-light));background:rgb(var(--color-warning-light) / .1)}.callout-warning .callout-title{color:rgb(var(--color-warning))}.dark .callout-warning .callout-title{color:rgb(var(--color-warning-light))}.callout-tip{border-color:rgb(var(--color-success));color:rgb(var(--color-success));background:rgb(var(--color-success) / .05)}.dark .callout-tip{border-color:rgb(var(--color-success-light));color:rgb(var(--color-success-light));background:rgb(var(--color-success-light) / .1)}.callout-tip .callout-title{color:rgb(var(--color-success))}.dark .callout-tip .callout-title{color:rgb(var(--color-success-light))}.callout-error{border-color:rgb(var(--color-error));color:rgb(var(--color-error));background:rgb(var(--color-error) / .05)}.dark .callout-error{border-color:rgb(var(--color-error-light));color:rgb(var(--color-error-light));background:rgb(var(--color-error-light) / .1)}.callout-error .callout-title{color:rgb(var(--color-error))}.dark .callout-error .callout-title{color:rgb(var(--color-error-light))}.note{margin:1rem 0;padding:.75rem 1rem;font-size:.875rem;color:#6b7280;background:#f3f4f680;border-left:2px solid rgb(209 213 219);border-radius:0 .25rem .25rem 0}.dark .note{color:#9ca3af;background:#1f29374d;border-left-color:#4b5563}.note p{margin:0}.callout-compact{display:inline-block;padding:.375rem .75rem;margin:0 .25rem;font-size:.8125rem;border-radius:.25rem;vertical-align:baseline}.quote-minimal.type-zh-tw{font-style:normal;line-height:1.8}.quote-minimal.type-zh-tw:before{content:"「";font-size:1.25em;color:#9ca3af;position:absolute;left:.5rem;top:1.5rem}.quote-minimal.type-zh-tw:after{content:"」";font-size:1.25em;color:#9ca3af}.dark .quote-minimal.type-zh-tw:before,.dark .quote-minimal.type-zh-tw:after{color:#6b7280}@media (max-width: 640px){.quote-minimal{padding:1rem 0 1rem 1.5rem;margin:1.5rem 0}.pullquote{font-size:1.125rem;max-width:95%;padding:1.5rem 0;margin:2rem auto}.callout{padding:.875rem 1rem;margin:1.25rem 0}.quote-minimal.type-zh-tw:before{left:.25rem;top:1rem}}@media print{.callout{border-width:1px;page-break-inside:avoid}.callout-info,.callout-warning,.callout-tip,.callout-error{border-color:#000!important;background:none!important;color:#000!important}.quote-minimal{background:none!important;page-break-inside:avoid}}:root{--header-height: 3.5rem;--header-height-shrunk: 3rem;--header-transition-duration: .3s;--header-transition-easing: cubic-bezier(.25, .46, .45, .94);--header-shadow: 0 1px 3px rgb(0 0 0 / .1);--header-shadow-dark: 0 1px 3px rgb(0 0 0 / .3);--header-shadow-scrolled: 0 2px 8px rgb(0 0 0 / .15);--header-shadow-scrolled-dark: 0 2px 8px rgb(0 0 0 / .4)}.site-header{position:sticky;top:0;z-index:50;height:var(--header-height);background-color:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:height var(--header-transition-duration) var(--header-transition-easing),background-color var(--header-transition-duration) var(--header-transition-easing),box-shadow var(--header-transition-duration) var(--header-transition-easing);will-change:height,background-color,box-shadow;contain:layout paint}.dark .site-header{background-color:#111827f2}.header-container{max-width:56rem;margin:0 auto;height:100%;padding:0 1rem;display:flex;align-items:center;justify-content:space-between}@media (min-width: 640px){.header-container{padding:0 1.5rem}}@media (min-width: 1024px){.header-container{padding:0 2rem}}.site-header.scrolled{height:var(--header-height-shrunk);background-color:#fff;box-shadow:var(--header-shadow-scrolled)}.dark .site-header.scrolled{background-color:#111827;box-shadow:var(--header-shadow-scrolled-dark)}@media (max-width: 640px){.site-header{background-color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.dark .site-header{background-color:#111827}}.site-logo{flex-shrink:0;font-size:1.125rem;font-weight:500;color:#111827;text-decoration:none;transition:color .2s ease}.dark .site-logo{color:#fff}.site-logo:hover{color:#3b82f6}.dark .site-logo:hover{color:#60a5fa}.mobile-nav-container{display:none;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 1rem;margin:0 -1rem}.mobile-nav-container::-webkit-scrollbar{display:none}@media (max-width: 767px){.mobile-nav-container{display:block}}.mobile-nav{display:flex;gap:2rem;padding:.5rem 0;min-width:-moz-min-content;min-width:min-content}.mobile-nav-item{flex-shrink:0;font-size:.875rem;color:#6b7280;text-decoration:none;white-space:nowrap;min-height:2.75rem;display:flex;align-items:center;padding:0 .5rem;border-radius:.375rem;transition:color .2s ease}.dark .mobile-nav-item{color:#9ca3af}.mobile-nav-item:hover,.mobile-nav-item.active{color:#111827}.dark .mobile-nav-item:hover,.dark .mobile-nav-item.active{color:#fff}.mobile-nav-item.active{font-weight:500;position:relative}.mobile-nav-item.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:4px;height:4px;background-color:currentColor;border-radius:50%}.mobile-nav-indicator{position:absolute;top:0;bottom:0;width:1rem;pointer-events:none;z-index:2;opacity:0;transition:opacity .3s ease}.mobile-nav-indicator-left{left:0;background:linear-gradient(to right,rgba(255,255,255,.95) 0%,rgba(255,255,255,.8) 50%,transparent 100%)}.mobile-nav-indicator-right{right:0;background:linear-gradient(to left,rgba(255,255,255,.95) 0%,rgba(255,255,255,.8) 50%,transparent 100%)}.dark .mobile-nav-indicator-left{background:linear-gradient(to right,rgba(17,24,39,.95) 0%,rgba(17,24,39,.8) 50%,transparent 100%)}.dark .mobile-nav-indicator-right{background:linear-gradient(to left,rgba(17,24,39,.95) 0%,rgba(17,24,39,.8) 50%,transparent 100%)}.mobile-nav-container[data-scrollable=true] .mobile-nav-indicator{opacity:1}.mobile-nav-container:before,.mobile-nav-container:after{content:"";position:absolute;top:0;bottom:0;width:1rem;pointer-events:none;z-index:1}.mobile-nav-container:before{left:0;background:linear-gradient(to right,rgb(255 255 255),transparent)}.mobile-nav-container:after{right:0;background:linear-gradient(to left,rgb(255 255 255),transparent)}.dark .mobile-nav-container:before{background:linear-gradient(to right,rgb(17 24 39),transparent)}.dark .mobile-nav-container:after{background:linear-gradient(to left,rgb(17 24 39),transparent)}.desktop-nav{display:none;align-items:center;gap:2rem}@media (min-width: 768px){.desktop-nav{display:flex}}.desktop-nav-item{font-size:.875rem;color:#6b7280;text-decoration:none;position:relative;transition:color .2s ease}.dark .desktop-nav-item{color:#9ca3af}.desktop-nav-item:hover{color:#111827}.dark .desktop-nav-item:hover{color:#fff}.desktop-nav-item.active{color:#111827;font-weight:500}.dark .desktop-nav-item.active{color:#fff}.desktop-nav-item:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:currentColor;transition:width .2s ease}.desktop-nav-item:hover:after,.desktop-nav-item.active:after{width:100%}.header-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}@media (max-width: 767px){.desktop-nav{display:none}}@media (min-width: 768px){.mobile-nav-container{display:none}}.site-logo:focus-visible,.mobile-nav-item:focus-visible,.desktop-nav-item:focus-visible{outline:2px solid rgb(59 130 246);outline-offset:2px;border-radius:.25rem}.dark .site-logo:focus-visible,.dark .mobile-nav-item:focus-visible,.dark .desktop-nav-item:focus-visible{outline-color:#60a5fa}@media (prefers-contrast: high){.site-header{border-bottom:1px solid}.mobile-nav-item.active:after,.desktop-nav-item:after{height:3px}}@media (prefers-reduced-motion: reduce){.site-header,.site-logo,.mobile-nav-item,.desktop-nav-item{transition:none}.desktop-nav-item:after{transition:none}}:root{--timing-instant: .1s;--timing-fast: .15s;--timing-normal: .2s;--timing-slow: .3s;--timing-slower: .4s;--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--ease-snap: cubic-bezier(.23, 1, .32, 1);--lift-distance: -2px;--lift-distance-lg: -4px;--scale-hover: 1.02;--scale-active: .98;--shadow-hover: 0 4px 12px rgb(0 0 0 / .15);--shadow-hover-dark: 0 4px 12px rgb(0 0 0 / .3);--shadow-focus: 0 0 0 3px rgb(59 130 246 / .3);--shadow-focus-dark: 0 0 0 3px rgb(96 165 250 / .3)}.hover-lift{transition:transform var(--timing-fast) var(--ease-out-quart),box-shadow var(--timing-normal) var(--ease-smooth)}@media (hover: hover){.hover-lift:hover{transform:translateY(var(--lift-distance));box-shadow:var(--shadow-hover)}.dark .hover-lift:hover{box-shadow:var(--shadow-hover-dark)}}.hover-lift-lg{transition:transform var(--timing-fast) var(--ease-out-quart),box-shadow var(--timing-normal) var(--ease-smooth)}@media (hover: hover){.hover-lift-lg:hover{transform:translateY(var(--lift-distance-lg));box-shadow:var(--shadow-hover)}.dark .hover-lift-lg:hover{box-shadow:var(--shadow-hover-dark)}}.hover-scale{transition:transform var(--timing-fast) var(--ease-spring)}@media (hover: hover){.hover-scale:hover{transform:scale(var(--scale-hover))}.hover-scale:active{transform:scale(var(--scale-active))}}.hover-underline{position:relative;text-decoration:none}.hover-underline:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background-color:currentColor;transition:width var(--timing-normal) var(--ease-out-quart)}@media (hover: hover){.hover-underline:hover:after{width:100%}}.hover-bg{transition:background-color var(--timing-fast) var(--ease-smooth)}.focus-ring-animated{transition:outline-color var(--timing-fast) var(--ease-smooth),box-shadow var(--timing-fast) var(--ease-smooth)}.focus-ring-animated:focus-visible{outline:2px solid rgb(59 130 246);outline-offset:2px;box-shadow:var(--shadow-focus);animation:focus-pulse .6s var(--ease-smooth)}.dark .focus-ring-animated:focus-visible{outline-color:#60a5fa;box-shadow:var(--shadow-focus-dark)}@keyframes focus-pulse{0%{outline-width:2px;box-shadow:0 0 #3b82f666}50%{outline-width:3px;box-shadow:0 0 0 6px #3b82f61a}to{outline-width:2px;box-shadow:var(--shadow-focus)}}.focus-within-glow{transition:box-shadow var(--timing-normal) var(--ease-smooth)}.focus-within-glow:focus-within{box-shadow:0 0 0 1px #3b82f633}.dark .focus-within-glow:focus-within{box-shadow:0 0 0 1px #60a5fa33}.skeleton-shimmer{position:relative;overflow:hidden;background-color:#f3f4f6}.dark .skeleton-shimmer{background-color:#1f2937}.skeleton-shimmer:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 1.5s ease-in-out infinite}.dark .skeleton-shimmer:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.fade-in{animation:fade-in var(--timing-slow) var(--ease-smooth)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-fade-in{opacity:0;transform:translateY(8px);animation:fade-in var(--timing-slow) var(--ease-smooth) forwards}.stagger-fade-in:nth-child(1){animation-delay:0ms}.stagger-fade-in:nth-child(2){animation-delay:50ms}.stagger-fade-in:nth-child(3){animation-delay:.1s}.stagger-fade-in:nth-child(4){animation-delay:.15s}.stagger-fade-in:nth-child(5){animation-delay:.2s}.stagger-fade-in:nth-child(6){animation-delay:.25s}.scroll-fade-in{opacity:0;transform:translateY(24px);transition:opacity var(--timing-slower) var(--ease-out-quart),transform var(--timing-slower) var(--ease-out-quart)}.scroll-fade-in.in-view{opacity:1;transform:translateY(0)}.progress-indicator{transform-origin:left;transition:transform var(--timing-instant) linear}.header-shrink{transition:padding var(--timing-normal) var(--ease-smooth),box-shadow var(--timing-normal) var(--ease-smooth)}.header-shrink.scrolled{padding-top:.5rem;padding-bottom:.5rem;box-shadow:0 1px 3px #0000001a}.dark .header-shrink.scrolled{box-shadow:0 1px 3px #0000004d}.theme-toggle-icon{transition:transform var(--timing-normal) var(--ease-spring),opacity var(--timing-fast) var(--ease-smooth)}.theme-toggle:hover .theme-toggle-icon{transform:scale(1.1)}.theme-toggle:active .theme-toggle-icon{transform:scale(.95)}.mobile-menu{transform:translateY(-8px);opacity:0;transition:transform var(--timing-normal) var(--ease-out-quart),opacity var(--timing-normal) var(--ease-smooth)}.mobile-menu.open{transform:translateY(0);opacity:1}.tag-animate{transition:background-color var(--timing-fast) var(--ease-smooth),transform var(--timing-fast) var(--ease-spring)}@media (hover: hover){.tag-animate:hover{transform:translateY(-1px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton-shimmer:before{animation:none}.scroll-fade-in,.stagger-fade-in{opacity:1;transform:none}}@media (prefers-contrast: high){.hover-underline:after{height:3px}.focus-ring-animated:focus-visible{outline-width:3px}}@media (hover: none) and (pointer: coarse){.hover-lift,.hover-lift-lg,.hover-scale{transition-duration:var(--timing-instant)}}.gpu-accelerated{will-change:transform,opacity}.gpu-accelerated.animation-complete{will-change:auto}.animate-instant{transition-duration:var(--timing-instant)!important}.animate-fast{transition-duration:var(--timing-fast)!important}.animate-normal{transition-duration:var(--timing-normal)!important}.animate-slow{transition-duration:var(--timing-slow)!important}.animate-slower{transition-duration:var(--timing-slower)!important}.no-animate{transition:none!important;animation:none!important}*:focus{outline:none}:focus-visible{outline:2px solid rgb(59 130 246);outline-offset:2px;border-radius:.25rem}:is(.dark *):focus-visible{outline-color:#60a5fa}a:focus-visible{outline-offset:4px;text-decoration:underline;text-decoration-color:#3b82f6;text-decoration-thickness:2px;text-underline-offset:2px}:is(.dark *) a:focus-visible{text-decoration-color:#60a5fa}button:focus-visible,.button:focus-visible{outline-offset:2px;box-shadow:0 0 0 2px #3b82f633}:is(.dark *) button:focus-visible,:is(.dark *) .button:focus-visible{outline-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa33}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:0;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}:is(.dark *) input:focus-visible,:is(.dark *) textarea:focus-visible,:is(.dark *) select:focus-visible{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.nav-link:focus-visible{background-color:#3b82f61a;border-radius:.375rem}:is(.dark *) .nav-link:focus-visible{background-color:#60a5fa1a}.skip-link{position:absolute;left:-9999px;top:0;z-index:999;padding:1rem;background:#3b82f6;color:#fff;text-decoration:none;border-radius:0 0 .5rem;font-weight:500;font-size:.875rem;transition:left .3s}.skip-link:focus{left:0;outline:2px solid white;outline-offset:2px}.card:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 2px #3b82f6,0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d}:is(.dark *) .card:focus-visible{outline-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa,0 10px 25px -3px #0000004d,0 4px 6px -2px #0003}@media (max-width: 768px){button:focus-visible,.button:focus-visible,a:focus-visible{outline-width:3px;outline-offset:3px}}@media (prefers-contrast: high){:focus-visible{outline-width:3px;outline-color:CanvasText}a:focus-visible{text-decoration-thickness:3px}}@media (prefers-reduced-motion: reduce){.skip-link{transition:none}.card:focus-visible{transform:none}}:root{--mobile-header-height: 3.5rem;--mobile-touch-target: 2.75rem;--mobile-safe-area: 1rem;--mobile-content-padding: 1rem;--mobile-text-xs: .75rem;--mobile-text-sm: .875rem;--mobile-text-base: .9rem;--mobile-text-lg: 1rem;--mobile-text-xl: 1.125rem;--mobile-text-2xl: 1.25rem;--mobile-text-3xl: 1.5rem;--mobile-leading-tight: 1.25;--mobile-leading-normal: 1.5;--mobile-leading-relaxed: 1.6;--mobile-space-1: .25rem;--mobile-space-2: .5rem;--mobile-space-3: .75rem;--mobile-space-4: 1rem;--mobile-space-6: 1.5rem;--mobile-space-8: 2rem}@media (max-width: 768px){.mobile-touch-target,button,[role=button],a{min-height:var(--mobile-touch-target);min-width:var(--mobile-touch-target);display:flex;align-items:center;justify-content:center}.mobile-text-adjust{font-size:var(--mobile-text-base);line-height:var(--mobile-leading-normal)}.mobile-text-adjust h1{font-size:var(--mobile-text-3xl);line-height:var(--mobile-leading-tight);margin-bottom:var(--mobile-space-4)}.mobile-text-adjust h2{font-size:var(--mobile-text-2xl);line-height:var(--mobile-leading-tight);margin-bottom:var(--mobile-space-3)}.mobile-text-adjust h3{font-size:var(--mobile-text-xl);line-height:var(--mobile-leading-tight);margin-bottom:var(--mobile-space-2)}.mobile-content{padding-left:var(--mobile-content-padding);padding-right:var(--mobile-content-padding)}.site-header{min-height:var(--mobile-header-height);padding-top:var(--mobile-space-2);padding-bottom:var(--mobile-space-2)}main{padding-top:var(--mobile-space-6);padding-bottom:var(--mobile-space-8)}}@media (max-width: 640px){.mobile-prose{font-size:var(--mobile-text-base);line-height:var(--mobile-leading-relaxed)}.mobile-prose p{margin-bottom:var(--mobile-space-4)}.mobile-prose blockquote{margin:var(--mobile-space-4) 0;padding-left:var(--mobile-space-4);font-size:var(--mobile-text-sm)}.mobile-prose pre{margin:var(--mobile-space-4) calc(-1 * var(--mobile-content-padding));padding:var(--mobile-space-4);border-radius:0;font-size:.8125rem;line-height:1.6;position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-prose pre:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1rem;background:linear-gradient(to left,rgba(249,250,251,.8) 0%,transparent 100%);pointer-events:none}.dark .mobile-prose pre:after{background:linear-gradient(to left,rgba(17,24,39,.8) 0%,transparent 100%)}.mobile-prose code:not(pre code){font-size:.8125rem;padding:.125rem .25rem;word-break:break-all}}@media (max-width: 768px){*{-webkit-tap-highlight-color:rgba(59,130,246,.2);-webkit-touch-callout:none}.mobile-button{min-height:var(--mobile-touch-target);padding:var(--mobile-space-3) var(--mobile-space-4);font-size:var(--mobile-text-base);border-radius:.5rem;transition:all .15s ease}.mobile-button:active{transform:scale(.98)}.mobile-input{min-height:var(--mobile-touch-target);font-size:var(--mobile-text-lg);padding:var(--mobile-space-3) var(--mobile-space-4);border-radius:.5rem}.mobile-nav-container{position:relative}.mobile-nav-container:before,.mobile-nav-container:after{content:"";position:absolute;top:0;bottom:0;width:1rem;pointer-events:none;z-index:1}.mobile-nav-container:before{left:0;background:linear-gradient(to right,rgba(255,255,255,.9) 0%,transparent 100%)}.mobile-nav-container:after{right:0;background:linear-gradient(to left,rgba(255,255,255,.9) 0%,transparent 100%)}.dark .mobile-nav-container:before{background:linear-gradient(to right,rgba(17,24,39,.9) 0%,transparent 100%)}.dark .mobile-nav-container:after{background:linear-gradient(to left,rgba(17,24,39,.9) 0%,transparent 100%)}}@media (max-width: 640px){.mobile-post-card{padding:var(--mobile-space-4);margin-bottom:var(--mobile-space-4);border-radius:.75rem;background:#ffffff80;border:1px solid rgba(229,231,235,.5);transition:all .2s ease}.mobile-post-card:active{transform:scale(.99);background:#f9fafbcc}.dark .mobile-post-card{background:#1f293780;border-color:#4b556380}.dark .mobile-post-card:active{background:#111827cc}.mobile-metadata{display:flex;flex-wrap:wrap;gap:var(--mobile-space-2);font-size:var(--mobile-text-xs);color:#6b7280;margin-top:var(--mobile-space-2)}.dark .mobile-metadata{color:#9ca3af}.mobile-tags{display:flex;flex-wrap:wrap;gap:var(--mobile-space-1);margin-top:var(--mobile-space-2)}.mobile-tag{padding:.125rem var(--mobile-space-2);font-size:var(--mobile-text-xs);background:#f3f4f6cc;color:#4b5563;border-radius:.375rem;text-decoration:none;white-space:nowrap}.mobile-tag:active{background:#e5e7ebcc}.dark .mobile-tag{background:#374151cc;color:#d1d5db}.dark .mobile-tag:active{background:#4b5563cc}}@media (max-width: 768px){.mobile-image{width:100%;height:auto;border-radius:.5rem;margin:var(--mobile-space-4) 0}.mobile-image-full{width:calc(100% + 2 * var(--mobile-content-padding));margin-left:calc(-1 * var(--mobile-content-padding));margin-right:calc(-1 * var(--mobile-content-padding));border-radius:0}.mobile-caption{font-size:var(--mobile-text-xs);color:#6b7280;text-align:center;margin-top:var(--mobile-space-2);padding:0 var(--mobile-space-4)}.dark .mobile-caption{color:#9ca3af}}@media (max-width: 768px){@media (prefers-reduced-motion: reduce){.mobile-animation,.mobile-transition{animation:none!important;transition:none!important}}.mobile-scroll{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.mobile-accelerated{transform:translateZ(0);will-change:transform}.defer-section{content-visibility:auto;contain-intrinsic-size:1000px 500px}.mobile-hidden{display:none!important}.mobile-visible{display:block!important}.mobile-flex{display:flex!important}}@media (max-width: 768px){.mobile-focus:focus-visible{outline:3px solid rgb(59 130 246);outline-offset:3px}.dark .mobile-focus:focus-visible{outline-color:#60a5fa}.mobile-skip-link{position:absolute;top:-100vh;left:var(--mobile-space-4);background:#3b82f6;color:#fff;padding:var(--mobile-space-2) var(--mobile-space-4);border-radius:.375rem;text-decoration:none;font-size:var(--mobile-text-sm);z-index:9999;transition:top .2s ease}.mobile-skip-link:focus{top:var(--mobile-space-4)}}@media (max-width: 768px){.mobile-theme-toggle{position:fixed;bottom:var(--mobile-space-4);right:var(--mobile-space-4);z-index:50;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(229,231,235,.5);border-radius:50%;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.dark .mobile-theme-toggle{background:#1f2937e6;border-color:#4b556380;box-shadow:0 4px 12px #0000004d}}@font-face{font-family:Open Sans;src:url(/fonts/open-sans-v40-latin-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/open-sans-v40-latin-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/open-sans-v40-latin-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/open-sans-v40-latin-700italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--font-zh-tw: "Open Sans", "Noto Sans TC", "PingFang TC", "Heiti TC", "Microsoft JhengHei", "Source Han Sans TC", "Noto Sans CJK TC", system-ui, sans-serif;--font-en: "Open Sans", "Helvetica Neue", Arial, system-ui, sans-serif}html:lang(zh-tw){font-family:var(--font-zh-tw);line-height:1.7}html:lang(en){font-family:var(--font-en);line-height:1.6}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}.theme-toggle-input[data-astro-cid-lfoluaxz]{display:none}.theme-icon-light[data-astro-cid-lfoluaxz]{display:none!important}.theme-icon-dark[data-astro-cid-lfoluaxz]{display:block!important;color:#6b7280!important}.theme-toggle-input[data-astro-cid-lfoluaxz]:checked+.theme-toggle-label[data-astro-cid-lfoluaxz] .theme-icon-light[data-astro-cid-lfoluaxz]{display:block!important;color:#9ca3af!important}.theme-toggle-input[data-astro-cid-lfoluaxz]:checked+.theme-toggle-label[data-astro-cid-lfoluaxz] .theme-icon-dark[data-astro-cid-lfoluaxz]{display:none!important}.theme-toggle-label[data-astro-cid-lfoluaxz]:hover .theme-icon-dark[data-astro-cid-lfoluaxz]{color:#2563eb!important}.theme-toggle-input[data-astro-cid-lfoluaxz]:checked+.theme-toggle-label[data-astro-cid-lfoluaxz]:hover .theme-icon-light[data-astro-cid-lfoluaxz]{color:#60a5fa!important}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.prose{color:var(--tw-prose-body);max-width:var(--prose-line-length, 65ch)}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#3b82f6;text-decoration:none;font-weight:inherit;border-bottom:1px solid transparent;transition:border-color .2s ease}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{border-bottom-color:#3b82f6}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:#6b7280;border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:none;margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;border-left-width:2px;border-left-color:#e5e7eb;padding-left:1.5rem;margin:2rem 0}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:#f9fafb;overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.6;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em;border-color:#e5e7eb;border-width:1px;padding:1rem;overflow:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:#374151;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2rem;margin-bottom:2rem;font-size:.875em;line-height:1.7142857;border-collapse:collapse}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:left;padding:.75rem 1rem;border-bottom-width:1px;border-bottom-color:#e5e7eb}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:var(--prose-font-size, 1rem);line-height:var(--prose-line-height, 1.6)}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5rem;margin-bottom:.5rem}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(h1,h2,h3,h4,h5,h6):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:500;letter-spacing:-.025em;margin-top:0}.prose :where(code:not(pre code)):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:#f3f4f6;color:#4b5563;font-size:.875em;font-weight:400;padding:.125rem .25rem;border-radius:.25rem}.prose :where(ul,ol):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:1.5rem}.prose :where(th):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;color:#374151;background-color:#f9fafb}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;border-radius:.3125rem;padding-top:.2222222em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-inline-start:.4444444em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;padding-inline-start:1.5em}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;margin-bottom:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-minimal{font-size:var(--prose-font-size, 1rem);line-height:var(--prose-line-height, 1.6);max-width:var(--prose-line-length, 65ch)}.prose-minimal :where(h1,h2,h3,h4,h5,h6):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;margin-bottom:1rem}.prose-minimal :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1rem;margin-bottom:1rem}.prose-minimal :where(.prose-minimal>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-minimal :where(.prose-minimal>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.font-heading{font-weight:500}.font-emphasis{font-weight:700}html:lang(zh-tw) .font-emphasis{font-weight:500}.type-en{font-family:var(--font-en);line-height:1.6;letter-spacing:0;word-spacing:0;font-feature-settings:"liga" 1,"kern" 1,"calt" 1}.type-zh-tw{font-family:var(--font-zh-tw);line-height:1.7;letter-spacing:.05em;word-break:break-all;font-feature-settings:"kern" 1;text-spacing:ideograph-alpha ideograph-numeric}.type-en h1,.type-en h2,.type-en h3,.type-en h4,.type-en h5,.type-en h6{line-height:1.25;letter-spacing:-.025em}.type-zh-tw h1,.type-zh-tw h2,.type-zh-tw h3,.type-zh-tw h4,.type-zh-tw h5,.type-zh-tw h6{line-height:1.4;letter-spacing:.025em}@media (max-width: 640px){.type-en{font-size:.9rem;line-height:1.55}.type-zh-tw{font-size:.95rem;line-height:1.65}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.relative{position:relative}.order-1{order:1}.order-2{order:2}.order-3{order:3}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-1\/6{width:16.666667%}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-4\/6{width:66.666667%}.w-5{width:1.25rem}.w-5\/6{width:83.333333%}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.outline{outline-style:solid}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.mobile-touch-target{min-height:44px;min-width:44px}.mobile-padding{padding:1.5rem 1rem}.mobile-text-adjust h1{font-size:1.5rem;line-height:2rem}.mobile-text-adjust h2{font-size:1.25rem;line-height:1.75rem}.mobile-text-adjust h3{font-size:1.125rem;line-height:1.75rem}.mobile-prose{line-height:1.7}}.prose-enhanced pre{position:relative;overflow-x:auto;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;font-weight:400;line-height:1.625;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));-moz-tab-size:2;-o-tab-size:2;tab-size:2}.dark .prose-enhanced pre{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.prose-enhanced code:not(pre code){border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));white-space:nowrap}.dark .prose-enhanced code:not(pre code){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.prose-enhanced blockquote{position:relative;margin-top:2rem;margin-bottom:2rem;border-left-width:2px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:2rem;font-style:italic;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));background:#f9fafb80;padding-top:1.5rem;padding-bottom:1.5rem}.dark .prose-enhanced blockquote{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));background:#1118274d}.prose-enhanced img{margin-left:auto;margin-right:auto;border-radius:.5rem;max-width:100%;height:auto;margin:2rem auto}.prose-enhanced figure{margin:2rem auto}.prose-enhanced figcaption{margin-top:.5rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-style:italic;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.prose-enhanced figcaption:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.prose-enhanced ul{margin-bottom:1.5rem;padding-left:1.5rem;list-style-type:disc}.prose-enhanced ol{margin-bottom:1.5rem;padding-left:1.5rem;list-style-type:decimal}.prose-enhanced li{margin-bottom:.5rem;line-height:var(--prose-line-height)}.prose-enhanced ul ul{margin-top:.5rem;margin-bottom:.5rem;list-style-type:circle}.prose-enhanced ul ul ul{list-style-type:square}.prose-enhanced ol ol{margin-top:.5rem;margin-bottom:.5rem;list-style-type:lower-alpha}.prose-enhanced ol ol ol{list-style-type:lower-roman}.prose-enhanced li p{margin-bottom:.5rem}.dark\:prose-invert:is(.dark *){--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.dark\:prose-invert:is(.dark *) :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#60a5fa}.dark\:prose-invert:is(.dark *) :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{border-bottom-color:#60a5fa}.dark\:prose-invert:is(.dark *) :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:#111827;border-color:#374151}.dark\:prose-invert:is(.dark *) :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){color:#d1d5db}.dark\:prose-invert:is(.dark *) :where(code:not(pre code)):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:#1f2937;color:#d1d5db}.dark\:prose-invert:is(.dark *) :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:#9ca3af;border-left-color:#4b5563}.dark\:prose-invert:is(.dark *) :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:#374151}.dark\:prose-invert:is(.dark *) :where(th):not(:where([class~=not-prose],[class~=not-prose] *)){color:#e5e7eb;background-color:#111827}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-2:hover{text-decoration-thickness:2px}.hover\:underline-offset-4:hover{text-underline-offset:4px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:hover\:border-blue-700:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .dark\:group-hover\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-baseline{align-items:baseline}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}
