:root{--ui-space-xs:4px;--ui-space-sm:8px;--ui-space-md:16px;--ui-space-lg:24px;--ui-space-xl:32px;--ui-space-2xl:48px;--ui-space-3xl:64px;--ui-z-bg:-1;--ui-z-skip:100;--ui-z-nav:9999;--ui-z-panel:10000;--ui-z-fab:10001;--ui-z-popup:10002;--ui-z-loader:10010;--ui-radius-sm:10px;--ui-radius-md:16px;--ui-radius-lg:22px;--ui-radius-xl:28px;--ui-radius-full:9999px;--ui-nav-radius-sm:6px;--ui-nav-radius-md:10px;--ui-nav-radius-lg:16px;--ui-nav-radius-xl:24px;--ui-nav-radius-full:9999px;--ui-grid-columns:12;--ui-grid-gutter:24px;--ui-duration-fast:.15s;--ui-duration-base:.25s;--ui-duration-slow:.4s;--ui-ease-out:cubic-bezier(.22, 1, .36, 1);--ui-ease-in-out:cubic-bezier(.4, 0, .2, 1);--ui-ease-step:steps(1, end);--ui-transition-fast:var(--ui-duration-fast) var(--ui-ease-out);--ui-transition-normal:var(--ui-duration-base) var(--ui-ease-out);--ui-transition-slow:var(--ui-duration-slow) var(--ui-ease-out);--ui-transition-step:var(--ui-duration-fast) var(--ui-ease-step);--ui-card-ease:var(--ui-ease-out);--ui-ease-spring:cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-reduced-motion:reduce){:root{--ui-duration-fast:1ms;--ui-duration-base:1ms;--ui-duration-slow:1ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.ui-card--interactive:hover{transform:none!important}}.ui-card{background:var(--ui-card-bg);-webkit-backdrop-filter:var(--ui-card-blur);backdrop-filter:var(--ui-card-blur);border:var(--ui-card-border-width,1px) solid var(--ui-card-border);border-radius:var(--ui-card-radius);box-shadow:var(--ui-card-shadow);color:var(--ui-text);transition:box-shadow var(--ui-transition-normal), transform var(--ui-duration-base) var(--ui-card-ease), border-color var(--ui-transition-normal);position:relative}.ui-card--flat{box-shadow:none}.ui-card--raised{background:var(--ui-surface-raised);box-shadow:var(--ui-shadow-sm)}.ui-card--accent{background:var(--ui-accent-gradient-subtle);border-color:var(--ui-border-accent)}.ui-card--quiet{background:var(--ui-surface);box-shadow:none;border-color:var(--ui-border-subtle)}.ui-card--pattern{background-image:var(--ui-card-pattern);background-size:var(--ui-card-pattern-size,12px 12px)}.ui-card--interactive{cursor:pointer}.ui-card--interactive:hover{transform:translateY(var(--ui-card-lift,-2px));box-shadow:var(--ui-card-shadow-hover);border-color:var(--ui-border-accent)}.ui-card--sm{padding:var(--ui-space-md)}.ui-card--md{padding:var(--ui-space-lg)}.ui-card--lg{padding:var(--ui-space-xl)}.ui-grid{grid-template-columns:repeat(var(--ui-grid-columns), minmax(0, 1fr));column-gap:var(--ui-grid-gutter);row-gap:var(--ui-grid-gutter);display:grid}.desk{display:flow-root;position:relative}.ui-widget{will-change:transform;background-image:linear-gradient(hsla(var(--ui-widget-hue), 60%, 86%, .45), hsla(var(--ui-widget-hue), 60%, 86%, .45));position:relative}html[data-theme=liquid-glass].dark .ui-widget{background-image:linear-gradient(hsla(var(--ui-widget-hue), 20%, 44%, .16), hsla(var(--ui-widget-hue), 20%, 44%, .16))}.ui-widget__grip{padding:var(--ui-space-xs) 0;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:relative}.ui-widget__handle{background:var(--ui-text-faint);cursor:grab;touch-action:none;opacity:0;width:36px;height:5px;transition:opacity var(--ui-transition-fast), transform var(--ui-duration-base) var(--ui-ease-spring);border-radius:2.5px;transform:scale(.85)}.ui-widget:hover .ui-widget__handle,.ui-widget__handle:focus-visible{opacity:.85;transform:scale(1)}.ui-widget__handle:active{cursor:grabbing}.ui-widget__restore{color:var(--ui-text-muted);cursor:pointer;opacity:0;transition:opacity var(--ui-transition-fast), transform var(--ui-duration-base) var(--ui-ease-spring);justify-content:center;align-items:center;font-size:.95rem;line-height:1;display:flex;position:absolute;top:50%;right:36px;transform:translateY(-50%)scale(.85)}.ui-widget:hover .ui-widget__restore{opacity:.8;transform:translateY(-50%)scale(1)}.ui-widget__restore:hover{color:var(--ui-text-accent);opacity:1}.ui-widget__pin{cursor:pointer;opacity:0;filter:grayscale();transition:opacity var(--ui-transition-fast), transform var(--ui-duration-base) var(--ui-ease-spring);justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)scale(.85)}.ui-widget:hover .ui-widget__pin{opacity:.5;transform:translateY(-50%)scale(1)}.ui-widget__pin:hover{opacity:1}.ui-widget.is-pinned .ui-widget__pin{opacity:1;filter:none;transform:translateY(-50%)rotate(-20deg)scale(1)}.ui-widget__body{padding:var(--ui-space-xs) var(--ui-space-md) var(--ui-space-md)}.ui-widget.is-tilted{transform:rotate(var(--ui-widget-tilt,0deg))}.ui-glass-lens{background:var(--ui-lens-bg);-webkit-backdrop-filter:var(--ui-nav-blur);backdrop-filter:var(--ui-nav-blur);border:1px solid var(--ui-lens-border);box-shadow:var(--ui-lens-shadow)}html.glass-fallback .ui-glass-lens:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(90deg, var(--ui-lens-fringe-warm), transparent 22%, transparent 78%, var(--ui-lens-fringe-cool)), radial-gradient(130% 170% at 50% 0%, var(--ui-lens-sheen), transparent 62%);box-shadow:var(--ui-lens-fringe-shadow);position:absolute;inset:0}.ui-icon-well{width:var(--ui-icon-well-size,64px);height:var(--ui-icon-well-size,64px);border-radius:var(--ui-icon-well-radius,var(--ui-radius-lg));background:var(--ui-icon-well-bg,var(--ui-surface-raised));border:var(--ui-icon-well-border,1px solid var(--ui-border-subtle));color:var(--ui-icon-well-color,var(--ui-accent));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ui-icon-well--sm{--ui-icon-well-size:40px}.ui-badge{align-items:center;gap:var(--ui-space-2,var(--ui-space-sm));padding:var(--ui-space-xs) var(--ui-space-md);border-radius:var(--ui-radius-full);letter-spacing:.06em;text-transform:uppercase;background:var(--ui-surface-glass);border:1px solid var(--ui-border-subtle);color:var(--ui-text);font-size:.8125rem;font-weight:600;display:inline-flex}.ui-btn{justify-content:center;align-items:center;gap:var(--ui-space-sm);padding:var(--ui-space-sm) var(--ui-space-md);border-radius:var(--ui-btn-radius);cursor:pointer;transition:background var(--ui-transition-fast), transform var(--ui-transition-fast), box-shadow var(--ui-transition-fast);border:none;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.ui-btn--primary{background:var(--ui-btn-primary-bg);color:var(--ui-text-on-accent)}.ui-btn--primary:hover{background:var(--ui-btn-primary-hover);box-shadow:0 4px 16px var(--ui-accent-glow)}.ui-btn--secondary{background:var(--ui-btn-secondary-bg);color:var(--ui-text);border:1px solid var(--ui-border)}.ui-btn--secondary:hover{background:var(--ui-btn-secondary-hover)}.ui-btn--ghost{color:var(--ui-text-secondary);background:0 0}.ui-btn--ghost:hover{color:var(--ui-text);background:var(--ui-btn-secondary-bg)}.ui-chip{border-radius:var(--ui-radius-sm);background:var(--ui-surface-sunken);color:var(--ui-text-muted);align-items:center;padding:2px 8px;font-size:.75rem;display:inline-flex}.ui-divider{background:var(--ui-border);height:1px;margin:var(--ui-space-md) 0}.ui-nav-surface{background:var(--ui-nav-bg);-webkit-backdrop-filter:var(--ui-nav-blur);backdrop-filter:var(--ui-nav-blur);border:1px solid var(--ui-nav-border);box-shadow:var(--ui-nav-shadow)}html.glass-refract .ui-nav-surface{-webkit-backdrop-filter:url(#glass-refract) var(--ui-nav-blur);backdrop-filter:url(#glass-refract) var(--ui-nav-blur)}.ui-nav-surface--top{border:none;border-top:1px solid var(--ui-nav-border);box-shadow:var(--ui-nav-shadow-top)}.ui-nav-surface--panel{border-radius:var(--ui-radius-lg)}.ui-fab{border-radius:var(--ui-radius-full)}.ui-nav-surface--pill{border-radius:var(--ui-nav-radius-full)}.ui-input{width:100%;padding:var(--ui-space-sm) var(--ui-space-md);border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:var(--ui-surface-raised);color:var(--ui-text);font:inherit;transition:border-color var(--ui-transition-fast), box-shadow var(--ui-transition-fast);font-size:.9375rem;line-height:1.4}.ui-input::placeholder{color:var(--ui-text-faint)}.ui-input:focus-visible{border-color:var(--ui-border-accent);box-shadow:0 0 0 3px var(--ui-accent-glow);outline:none}.ui-mark{border-radius:var(--ui-radius-sm);background:var(--ui-mark-bg);color:var(--ui-mark-fg);padding:0 .15em}.ui-choice{justify-content:center;align-items:center;gap:var(--ui-space-xs);padding:var(--ui-space-sm) var(--ui-space-xs);border-radius:var(--ui-radius-md);background:var(--ui-surface-active);color:var(--ui-text);font:inherit;text-align:center;cursor:pointer;transition:background var(--ui-transition-step), border-color var(--ui-transition-step), color var(--ui-transition-step), transform var(--ui-transition-fast);border:1px solid #0000;flex-direction:column;text-decoration:none;display:flex}.ui-choice:hover{background:var(--ui-surface-hover)}.ui-choice:active{transform:scale(.96)}.ui-choice.is-active{background:var(--ui-accent-gradient-subtle);border-color:var(--ui-border-accent);color:var(--ui-text-accent)}.ui-text--primary{color:var(--ui-text)}.ui-text--secondary{color:var(--ui-text-secondary)}.ui-text--muted{color:var(--ui-text-muted)}.ui-text--faint{color:var(--ui-text-faint)}.ui-text--accent{color:var(--ui-text-accent)}html[data-theme=liquid-glass]{--ui-bg:#efe8dd;--ui-surface:#ffffffa8;--ui-surface-raised:#ffffffd1;--ui-surface-sunken:#785a4614;--ui-surface-hover:#fff9;--ui-surface-active:#ffffff6b;--ui-surface-glass:#ffffff80;--ui-aurora-a:#ff9d6c;--ui-aurora-b:#ff6d9a;--ui-aurora-c:#b38cff;--ui-aurora-d:#ffd36b;--ui-border:#46281429;--ui-border-subtle:#4628141a;--ui-border-accent:#ff5c3d73;--ui-text:#241a12;--ui-text-secondary:#6b5a4c;--ui-text-muted:#8a7a6b;--ui-text-faint:#241a128c;--ui-text-accent:#e8492f;--ui-text-on-accent:#fff;--ui-text-on-block:#2e2a33;--ui-accent:#ff5c3d;--ui-accent-light:#ff8463;--ui-accent-dark:#d23a22;--ui-accent-glow:#ff5c3d47;--ui-accent-gradient:linear-gradient(135deg, #e8492f 0%, #ff5c3d 45%, #ff8a5c 100%);--ui-accent-gradient-subtle:linear-gradient(135deg, #ff5c3d1f 0%, #ff8a5c1f 100%);--ui-highlight:#ff6d9a;--ui-highlight-light:#ff9bb8;--ui-mark-bg:#ff6d9a38;--ui-mark-fg:#a8325c;--ui-block-1:#ff5c3d;--ui-block-2:#ff6d9a;--ui-block-3:#b38cff;--ui-success:#22c55e;--ui-success-light:#4ade80;--ui-success-bg:#22c55e1f;--ui-warning:#b45309;--ui-warning-light:#fbbf24;--ui-warning-bg:#f59e0b1f;--ui-danger:#ef4444;--ui-danger-light:#f87171;--ui-danger-bg:#ef44441f;--ui-info:#3b82f6;--ui-info-light:#60a5fa;--ui-info-bg:#3b82f61f;--ui-gradient-primary:linear-gradient(135deg, #ff5c3d1f 0%, #ff8a5c1f 100%);--ui-gradient-success:linear-gradient(135deg, #22c55e1f 0%, #10b9811f 100%);--ui-gradient-highlight:linear-gradient(135deg, #b38cff24 0%, #ff6d9a24 100%);--ui-card-bg:#ffffff85;--ui-card-blur:blur(16px) saturate(170%);--ui-card-border:#ffffffb8;--ui-card-border-width:1px;--ui-card-radius:var(--ui-radius-lg);--ui-card-radius-sm:var(--ui-radius-md);--ui-card-radius-lg:var(--ui-radius-xl);--ui-card-shadow:0 8px 32px #8c50281f, 0 1px 2px #8c50280f, inset 0 1px 0 #ffffffe6;--ui-card-shadow-hover:0 20px 48px #8c50282e, inset 0 1px 0 #fffffff2;--ui-card-lift:-4px;--ui-card-pattern:none;--ui-card-pattern-size:12px 12px;--ui-btn-primary-bg:#e8492f;--ui-btn-primary-hover:#d23a22;--ui-btn-secondary-bg:#ffffff80;--ui-btn-secondary-hover:#ffffffbf;--ui-btn-radius:var(--ui-radius-md);--ui-input-bg:#fff6;--ui-input-border:#46281424;--ui-input-focus:#ff5c3d4d;--ui-input-radius:12px;--ui-nav-bg:linear-gradient(135deg, #ffffff8c 0%, #ffffff6b 50%, #ffffff8c 100%);--ui-nav-blur:blur(3px) saturate(180%);--ui-nav-border:#ffffff9e;--ui-nav-shadow:0 10px 30px #783c1e24, 0 2px 6px #783c1e14, inset 0 1px 0 #ffffffe6, inset 0 -1px 0 #ffffff47;--ui-nav-shadow-top:0 -8px 32px #783c1e21, 0 -2px 8px #783c1e14, inset 0 1px 0 #ffffff80;--ui-lens-bg:#ffffff3d;--ui-lens-border:#fffc;--ui-lens-shadow:0 8px 22px #783c1e33, inset 0 1px 0 #fffffff2, inset 0 0 0 1px #ffffff40;--ui-lens-sheen:#ffffff8c;--ui-lens-fringe-warm:#ff605480;--ui-lens-fringe-cool:#5896ff80;--ui-lens-fringe-shadow:inset 3px 0 4px -1px var(--ui-lens-fringe-warm), inset -3px 0 4px -1px var(--ui-lens-fringe-cool);--ui-glass-border-width:1px;--ui-glass-border:var(--ui-border-subtle);--ui-shadow-sm:0 2px 10px #8c50281a;--ui-shadow-md:0 8px 24px #8c50281f;--ui-shadow-lg:0 20px 48px #8c502829;--ui-shape-color:transparent;--ui-shape-clip:none;--ui-shape-size:28px;--ui-icon-well-radius:var(--ui-radius-lg);--ui-icon-well-border:1px solid #ffffffb3;--ui-icon-well-bg:var(--ui-surface-glass);--ui-icon-well-color:var(--ui-accent);--ui-font-heading:"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;--ui-font-body:"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;--ui-font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, "Noto Sans Mono CJK SC", monospace}html[data-theme=liquid-glass].dark{--ui-bg:#0d0c12;--ui-surface:#ffffff0f;--ui-surface-raised:#ffffff1a;--ui-surface-sunken:#ffffff0f;--ui-surface-hover:#ffffff17;--ui-surface-active:#ffffff1f;--ui-surface-glass:#28283480;--ui-aurora-a:#6b3a2e;--ui-aurora-b:#6b2d4f;--ui-aurora-c:#3d2e6b;--ui-aurora-d:#5a4a1e;--ui-border:#ffffff29;--ui-border-subtle:#ffffff1a;--ui-border-accent:#ff5c3d73;--ui-text:#f6f1ea;--ui-text-secondary:#c3b8ab;--ui-text-muted:#9c9186;--ui-text-faint:#f6f1ea8c;--ui-text-accent:#ff8463;--ui-text-on-accent:#fff;--ui-text-on-block:#2e2a33;--ui-accent:#ff5c3d;--ui-accent-light:#ff8463;--ui-accent-dark:#e8492f;--ui-accent-glow:#ff5c3d4d;--ui-accent-gradient:linear-gradient(135deg, #ff5c3d 0%, #ff8463 55%, #ff8a5c 100%);--ui-accent-gradient-subtle:linear-gradient(135deg, #ff5c3d29 0%, #ff8a5c29 100%);--ui-highlight:#ff6d9a;--ui-highlight-light:#ff9bb8;--ui-mark-bg:#ff6d9a52;--ui-mark-fg:#ffd6e4;--ui-success:#4ade80;--ui-success-light:#86efac;--ui-success-bg:#4ade8029;--ui-warning:#fbbf24;--ui-warning-light:#fcd34d;--ui-warning-bg:#fbbf2429;--ui-danger:#f87171;--ui-danger-light:#fca5a5;--ui-danger-bg:#f8717129;--ui-info:#60a5fa;--ui-info-light:#93c5fd;--ui-info-bg:#60a5fa29;--ui-gradient-primary:linear-gradient(135deg, #ff5c3d29 0%, #ff8a5c29 100%);--ui-gradient-success:linear-gradient(135deg, #4ade8029 0%, #34d39929 100%);--ui-gradient-highlight:linear-gradient(135deg, #b38cff2e 0%, #ff6d9a2e 100%);--ui-card-bg:#22222e8c;--ui-card-blur:blur(16px) saturate(160%);--ui-card-border:#ffffff24;--ui-card-shadow:0 8px 32px #00000073, 0 1px 2px #0000004d, inset 0 1px 0 #ffffff1f;--ui-card-shadow-hover:0 20px 48px #0000008c, inset 0 1px 0 #ffffff2e;--ui-btn-secondary-bg:#ffffff14;--ui-btn-secondary-hover:#ffffff24;--ui-input-bg:#ffffff0f;--ui-input-border:#ffffff1f;--ui-input-focus:#ff5c3d59;--ui-nav-bg:linear-gradient(135deg, #1e1e28a8 0%, #14141c94 50%, #1e1e28a8 100%);--ui-nav-blur:blur(3px) saturate(180%);--ui-nav-border:#ffffff3d;--ui-nav-shadow:0 10px 30px #0000006b, 0 2px 6px #0000003d, inset 0 1px 0 #fff3, inset 0 -1px 0 #ffffff0f;--ui-nav-shadow-top:0 -8px 32px #00000059, 0 -2px 8px #0003, inset 0 1px 0 #ffffff1f;--ui-lens-bg:#68687842;--ui-lens-border:#ffffff6b;--ui-lens-shadow:0 6px 20px #0006, inset 0 1px 0 #ffffff42;--ui-lens-sheen:#ffffff29;--ui-lens-fringe-warm:#ff6c5c66;--ui-lens-fringe-cool:#60a8ff66;--ui-lens-fringe-shadow:inset 3px 0 4px -1px var(--ui-lens-fringe-warm), inset -3px 0 4px -1px var(--ui-lens-fringe-cool);--ui-glass-border-width:1px;--ui-glass-border:var(--ui-border-subtle);--ui-shadow-sm:0 2px 10px #0006;--ui-shadow-md:0 8px 24px #00000073;--ui-shadow-lg:0 20px 48px #00000080;--ui-icon-well-border:1px solid #ffffff24}:root{--ui-prose-scale:1;--ui-prose-lh:1.85}.prose{font-size:calc(1.0625rem * var(--ui-prose-scale));line-height:var(--ui-prose-lh);color:var(--ui-text)}.prose>*+*{margin-block-start:var(--ui-space-md)}.prose>h2,.prose>h3,.prose>h4{margin-block-start:var(--ui-space-xl);scroll-margin-top:120px}.prose>h2{font-size:1.5em}.prose>h3{font-size:1.25em}.prose>h4{font-size:1.05em}.prose ul,.prose ol{padding-inline-start:1.5em}.prose li+li,.prose li>ul,.prose li>ol{margin-block-start:var(--ui-space-xs)}.prose a{text-decoration:underline;-webkit-text-decoration-color:var(--ui-border-accent);text-decoration-color:var(--ui-border-accent);text-underline-offset:.2em}.prose a:hover{text-decoration-color:currentColor}.prose img{margin-block:var(--ui-space-lg);border-radius:var(--ui-radius-md)}.prose hr{height:1px;margin-block:var(--ui-space-2xl);background:var(--ui-border);border:none}.prose blockquote{border-inline-start:2px solid var(--ui-text);color:var(--ui-text-secondary);margin-inline:0;padding-inline-start:var(--ui-space-md)}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose th,.prose td{padding:var(--ui-space-sm) var(--ui-space-md);border-block-end:1px solid var(--ui-border);text-align:start}.prose th{color:var(--ui-text-secondary);font-weight:600}.prose :not(pre)>code{border-radius:var(--ui-radius-sm);background:var(--ui-surface-sunken);color:var(--ui-text);font-family:var(--ui-font-mono);padding:.15em .4em;font-size:.875em}.code-block{margin-block:var(--ui-space-lg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);position:relative;overflow:hidden}.code-block pre.astro-code{padding:var(--ui-space-md);background-color:var(--shiki-light-bg);color:var(--shiki-light);font-family:var(--ui-font-mono);border-radius:0;margin:0;font-size:.875rem;line-height:1.7;overflow-x:auto}.code-block pre.astro-code span{color:var(--shiki-light)}html.dark .code-block pre.astro-code{background-color:var(--shiki-dark-bg);color:var(--shiki-dark)}html.dark .code-block pre.astro-code span{color:var(--shiki-dark)}.code-lang{color:var(--ui-text-faint);font-family:var(--ui-font-mono);letter-spacing:.04em;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.6875rem;position:absolute;inset-block-start:var(--ui-space-sm);inset-inline-start:var(--ui-space-md)}.code-copy{border-radius:var(--ui-radius-sm);background:var(--ui-surface-active);color:var(--ui-text-secondary);cursor:pointer;transition:color var(--ui-transition-fast), background var(--ui-transition-fast);padding:4px 10px;font-family:inherit;font-size:.75rem;position:absolute;inset-block-start:var(--ui-space-xs);inset-inline-end:var(--ui-space-xs)}.code-copy:hover{color:var(--ui-text);background:var(--ui-surface-hover)}.code-copy.is-copied{color:var(--ui-text-accent)}.toc{font-size:.8125rem}.toc-toggle{justify-content:space-between;align-items:center;gap:var(--ui-space-sm);width:100%;padding:var(--ui-space-sm) var(--ui-space-md);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-active);color:var(--ui-text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;display:flex}.toc-toggle svg{width:14px;height:14px;transition:transform var(--ui-transition-fast)}.toc-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.toc-list{margin:var(--ui-space-sm) 0 0;border-inline-start:1px solid var(--ui-border);padding:0;list-style:none;display:none}.toc[data-open] .toc-list{display:block}.toc-item--depth-3{padding-inline-start:var(--ui-space-md)}.toc-link{padding:var(--ui-space-xs) var(--ui-space-sm);color:var(--ui-text-muted);transition:color var(--ui-transition-fast), border-color var(--ui-transition-fast);border-inline-start:2px solid #0000;margin-inline-start:-1px;text-decoration:none;display:block}.toc-link:hover{color:var(--ui-text)}.toc-link.is-active{border-inline-start-color:var(--ui-text-accent);color:var(--ui-text-accent)}@media (width>=1024px){.toc .toc-list{display:block}.toc-toggle{display:none}}.admin{gap:var(--ui-space-lg);flex-direction:column;display:flex}.admin__title{font-size:1.5rem}.admin__hint{color:var(--ui-text-secondary);font-size:.875rem}.admin-toolbar{align-items:center;gap:var(--ui-space-sm);flex-wrap:wrap;display:flex}.admin-flash{padding:var(--ui-space-sm) var(--ui-space-md);border-radius:var(--ui-radius-md);border:1px solid var(--ui-border-subtle);background:var(--ui-surface-raised);color:var(--ui-text-secondary);font-size:.875rem}.admin-flash--error{border-color:var(--ui-border-accent);color:var(--ui-text-accent)}.admin-form{gap:var(--ui-space-md);flex-direction:column;max-width:32rem;display:flex}.admin-grid{gap:var(--ui-space-md);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.admin-field{gap:var(--ui-space-xs);flex-direction:column;display:flex}.admin-field--wide{grid-column:1/-1}.admin-field__label{color:var(--ui-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}.admin-field__hint{color:var(--ui-text-muted);font-size:.75rem}.admin-editor{gap:var(--ui-space-lg);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=1024px){.admin-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.admin-editor__body{min-height:26rem;font-family:var(--ui-font-mono,ui-monospace, monospace);resize:vertical;font-size:.875rem;line-height:1.6}.admin-preview{min-height:12rem;max-height:40rem;padding:var(--ui-space-md);border-radius:var(--ui-radius-md);border:1px solid var(--ui-border-subtle);background:var(--ui-surface-sunken);font-size:.875rem;overflow:auto}.admin-table{gap:var(--ui-space-sm);flex-direction:column;display:flex}.admin-row{align-items:center;gap:var(--ui-space-sm);padding:var(--ui-space-sm) var(--ui-space-md);border-radius:var(--ui-radius-md);border:1px solid var(--ui-border-subtle);background:var(--ui-surface);flex-wrap:wrap;display:flex}.admin-row__title{font-weight:600}.admin-row__meta{color:var(--ui-text-muted);font-size:.8125rem}.admin-row__actions{gap:var(--ui-space-xs);flex-wrap:wrap;margin-inline-start:auto;display:flex}.admin-tag{border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border-subtle);color:var(--ui-text-muted);padding:.1em .5em;font-size:.75rem}.admin-tag--published{color:var(--ui-text-accent);border-color:var(--ui-border-accent)}.admin-gallery{gap:var(--ui-space-md);grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));display:grid}.admin-item{gap:var(--ui-space-xs);flex-direction:column;display:flex}.admin-item__thumb{aspect-ratio:4/3;object-fit:cover;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border-subtle);width:100%}.admin-item__meta{color:var(--ui-text-muted);word-break:break-all;font-size:.75rem}.admin-media-picker{gap:var(--ui-space-sm);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));display:grid}.admin-media-picker__item{border:1px solid var(--ui-border-subtle);border-radius:var(--ui-radius-md);padding:var(--ui-space-xs);background:var(--ui-surface);cursor:pointer;text-align:start}.admin-media-picker__item img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--ui-radius-sm);width:100%}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;tab-size:4;background:var(--ui-bg)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100dvh;color:var(--ui-text);font-family:var(--ui-font-body);font-feature-settings:"kern" 1, "liga" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-break:strict;overflow-wrap:break-word;background:0 0;flex-direction:column;font-size:1rem;line-height:1.65;display:flex}img,picture,svg,video{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{background:0 0;border:none;padding:0}[hidden]{display:none!important}.ui-aurora{z-index:var(--ui-z-bg);pointer-events:none;position:fixed;inset:-15%;overflow:hidden}.ui-aurora__blob{opacity:.5;width:44vmax;height:44vmax;animation:aurora-drift var(--ui-aurora-dur,30s) ease-in-out infinite alternate;border-radius:50%;position:absolute}.ui-aurora__blob:first-child{--c:var(--ui-aurora-a);background:radial-gradient(circle at 32% 32%, var(--c) 0%, transparent 66%);--ui-aurora-dur:26s;top:-8%;left:-10%}.ui-aurora__blob:nth-child(2){--c:var(--ui-aurora-b);background:radial-gradient(circle at 60% 34%, var(--c) 0%, transparent 66%);--ui-aurora-dur:32s;top:-6%;right:-12%}.ui-aurora__blob:nth-child(3){--c:var(--ui-aurora-c);background:radial-gradient(circle at 42% 58%, var(--c) 0%, transparent 66%);--ui-aurora-dur:38s;bottom:-14%;left:6%}.ui-aurora__blob:nth-child(4){--c:var(--ui-aurora-d);background:radial-gradient(circle at 50% 50%, var(--c) 0%, transparent 66%);--ui-aurora-dur:29s;bottom:-10%;right:-2%}@keyframes aurora-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(6vw,-4vh)scale(1.18)}}@media (prefers-reduced-motion:reduce){.ui-aurora__blob{animation:none}}html.js [data-desk]{opacity:0}html.js [data-desk].desk--ready{opacity:1;transition:opacity .5s var(--ui-ease-out)}.desk.is-laying-out .ui-widget{transition:none!important}@media (width<1024px){.desk{gap:var(--ui-space-2xl);flex-direction:column;display:flex}}.page-loader{z-index:var(--ui-z-loader);background:var(--ui-bg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--ui-ease-out), visibility 0s linear .4s;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}html.js:not(.page-ready) .page-loader{opacity:1;visibility:visible;pointer-events:auto}.page-loader__ring{border:3px solid var(--ui-border);border-top-color:var(--ui-accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite loader-spin}@keyframes loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.page-loader__ring{animation-duration:2s}}h1,h2,h3,h4,h5,h6{font-family:var(--ui-font-heading);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.25}p,li{text-wrap:pretty}a{color:var(--ui-text-accent);text-underline-offset:.2em;transition:color var(--ui-transition-fast);text-decoration-thickness:1px}a:hover{color:var(--ui-accent-dark)}:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px;border-radius:var(--ui-radius-sm)}::selection{background:var(--ui-accent-gradient-subtle);color:var(--ui-text)}.container{width:100%;max-width:var(--ui-page-width,1120px);padding-inline:var(--ui-space-lg);margin-inline:auto}.container--wide{max-width:1920px}@media (width<=640px){.container{padding-inline:var(--ui-space-md)}}.site-main{padding-block:var(--ui-space-2xl) var(--ui-space-3xl);flex:1}@media (width<1024px){.site-main{padding-bottom:calc(var(--ui-space-3xl) + 150px)}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--ui-space-md);flex-direction:column;display:flex}.glass-defs[data-astro-cid-pap4tnv7]{width:0;height:0;position:absolute;overflow:hidden}.floating-menu[data-astro-cid-pap4tnv7]{z-index:var(--ui-z-nav);align-items:center;gap:var(--ui-space-xs);padding:var(--ui-space-sm) var(--ui-space-lg);border-radius:var(--ui-nav-radius-full);-webkit-user-select:none;user-select:none;display:flex;position:fixed}.drag-handle[data-astro-cid-pap4tnv7]{padding:var(--ui-space-xs) var(--ui-space-sm);cursor:move;align-items:center;display:inline-flex}.drag-handle[data-astro-cid-pap4tnv7]:active{cursor:grabbing}.logo[data-astro-cid-pap4tnv7]{font-family:var(--ui-font-heading);letter-spacing:-.01em;background:var(--ui-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.125rem;font-weight:700}.reset-btn[data-astro-cid-pap4tnv7]{border-radius:var(--ui-nav-radius-full);width:26px;height:26px;color:var(--ui-text-muted);cursor:pointer;opacity:0;visibility:hidden;transition:opacity var(--ui-transition-fast), transform var(--ui-transition-fast), visibility 0s linear var(--ui-transition-fast);justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-10px;left:-10px;transform:scale(.8)}.reset-btn[data-astro-cid-pap4tnv7].is-visible{opacity:1;visibility:visible;transition-delay:0s;transform:scale(1)}.reset-btn[data-astro-cid-pap4tnv7] svg[data-astro-cid-pap4tnv7]{width:14px;height:14px}.reset-btn[data-astro-cid-pap4tnv7]:hover{color:var(--ui-text-accent)}.menu-links[data-astro-cid-pap4tnv7]{align-items:center;gap:var(--ui-space-xs);display:flex}.menu-link[data-astro-cid-pap4tnv7]{padding:var(--ui-space-xs) var(--ui-space-sm);border-radius:var(--ui-nav-radius-sm);color:var(--ui-text);white-space:nowrap;transition:color var(--ui-transition-fast), background var(--ui-transition-fast);font-size:.9375rem;text-decoration:none}.menu-link[data-astro-cid-pap4tnv7]:hover{color:var(--ui-text-accent);background:var(--ui-surface-hover)}.menu-link[data-astro-cid-pap4tnv7][aria-current=page]{color:var(--ui-text-accent)}.nav-group[data-astro-cid-pap4tnv7]{position:relative}.nav-trigger[data-astro-cid-pap4tnv7]{touch-action:none;-webkit-touch-callout:none;transition:color var(--ui-transition-fast), background var(--ui-transition-fast), transform var(--ui-duration-fast) var(--ui-ease-out);align-items:center;gap:4px;display:inline-flex}.nav-trigger[data-astro-cid-pap4tnv7][aria-expanded=true]{color:var(--ui-text);background:var(--ui-surface-hover)}.nav-trigger[data-astro-cid-pap4tnv7].is-pressing{transform:scale(.94)}.nav-panel[data-astro-cid-pap4tnv7]{z-index:var(--ui-z-panel);min-width:9.5rem;padding:var(--ui-space-xs);opacity:0;visibility:hidden;transform-origin:top;transition:opacity var(--ui-duration-fast) var(--ui-ease-out), transform var(--ui-duration-base) var(--ui-ease-spring), visibility 0s linear var(--ui-duration-base);position:fixed;transform:translate(-50%)translateY(-10px)scale(.88)}.nav-panel[data-astro-cid-pap4tnv7].is-open{opacity:1;visibility:visible;transition:opacity var(--ui-duration-fast) var(--ui-ease-out), transform var(--ui-duration-base) var(--ui-ease-spring), visibility 0s;transform:translate(-50%)translateY(0)scale(1)}.nav-panel-plate[data-astro-cid-pap4tnv7]{pointer-events:none;position:absolute;inset:0}.nav-panel-items[data-astro-cid-pap4tnv7]{margin:0;padding:0;list-style:none;display:none;position:relative}.nav-panel-items[data-astro-cid-pap4tnv7].is-active{display:block}.nav-panel[data-astro-cid-pap4tnv7].is-open .nav-panel-item[data-astro-cid-pap4tnv7]{animation:nav-item-in var(--ui-duration-base) var(--ui-ease-spring) backwards;animation-delay:calc(var(--i,0) * 28ms)}@keyframes nav-item-in{0%{translate:0 -8px;scale:.94}to{translate:0;scale:1}}.nav-panel-item[data-astro-cid-pap4tnv7]{padding:var(--ui-space-xs) var(--ui-space-sm);border-radius:var(--ui-nav-radius-sm);color:var(--ui-text);white-space:nowrap;transition:color var(--ui-transition-fast), transform var(--ui-duration-fast) var(--ui-ease-spring);font-size:.9375rem;text-decoration:none;display:block}.nav-panel-item[data-astro-cid-pap4tnv7].is-active{color:var(--ui-text);transform:translateY(-1px)scale(1.03)}.glass-lens[data-astro-cid-pap4tnv7]{border-radius:var(--ui-nav-radius-sm);opacity:0;pointer-events:none;transform-origin:50%;transition:transform var(--ui-duration-fast) var(--ui-ease-spring), opacity var(--ui-duration-fast) var(--ui-ease-out);position:absolute;top:0;left:0}.glass-lens[data-astro-cid-pap4tnv7].is-visible{opacity:1}.drawer-nav[data-astro-cid-pap4tnv7]{inset-inline:0;z-index:var(--ui-z-nav);padding-bottom:env(safe-area-inset-bottom,0);position:fixed;bottom:0}.drawer-blur[data-astro-cid-pap4tnv7]{border-radius:var(--ui-nav-radius-xl) var(--ui-nav-radius-xl) 0 0;clip-path:inset(0 0 0 0 round var(--ui-nav-radius-xl) var(--ui-nav-radius-xl) 0 0);position:absolute;inset:0}.drawer-content[data-astro-cid-pap4tnv7]{flex-direction:column;height:100%;display:flex;position:relative}.drawer-handle-wrapper[data-astro-cid-pap4tnv7]{cursor:grab;touch-action:none;justify-content:center;padding:10px 0 8px;display:flex}.drawer-handle-wrapper[data-astro-cid-pap4tnv7]:active{cursor:grabbing}.drawer-handle[data-astro-cid-pap4tnv7]{background:var(--ui-text-faint);border-radius:2.5px;width:36px;height:5px}.drawer-items[data-astro-cid-pap4tnv7]{padding:0 var(--ui-space-sm) var(--ui-space-sm);flex:1;justify-content:space-around;align-items:center;display:flex}.drawer-item[data-astro-cid-pap4tnv7]{min-width:0;padding:var(--ui-space-sm) 2px;border-radius:var(--ui-nav-radius-md);color:var(--ui-text);-webkit-tap-highlight-color:transparent;transition:color var(--ui-transition-fast), background var(--ui-transition-fast);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;text-decoration:none;display:flex}.drawer-item[data-astro-cid-pap4tnv7]:active{transform:scale(.94)}.drawer-item[data-astro-cid-pap4tnv7][aria-current=page]{color:var(--ui-text-accent);background:var(--ui-accent-gradient-subtle)}.drawer-label[data-astro-cid-pap4tnv7]{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.9375rem;font-weight:600;overflow:hidden}.settings-fab[data-astro-cid-pap4tnv7]{z-index:var(--ui-z-fab);height:44px;padding:0 var(--ui-space-md);color:var(--ui-text);cursor:pointer;touch-action:none;transition:transform var(--ui-transition-fast);justify-content:center;align-items:center;display:flex;position:fixed}.settings-fab[data-astro-cid-pap4tnv7]:hover{transform:scale(1.05)}.settings-fab[data-astro-cid-pap4tnv7]:active{transform:scale(.96)}.fab-text[data-astro-cid-pap4tnv7]{letter-spacing:.01em;font-size:.875rem;font-weight:600}.settings-popup[data-astro-cid-pap4tnv7]{z-index:var(--ui-z-popup);width:280px;max-height:min(560px,85dvh);padding-bottom:var(--ui-space-md);border-radius:var(--ui-nav-radius-lg);color:var(--ui-text);animation:ui-pop-in var(--ui-duration-base) var(--ui-ease-out);position:fixed;overflow-y:auto}@keyframes ui-pop-in{0%{opacity:0;transform:scale(.92)}}.popup-header[data-astro-cid-pap4tnv7]{cursor:grab;touch-action:none;justify-content:center;padding:10px 0 6px;display:flex}.popup-header[data-astro-cid-pap4tnv7]:active{cursor:grabbing}.popup-drag-handle[data-astro-cid-pap4tnv7]{background:var(--ui-text-faint);border-radius:2.5px;width:36px;height:5px}.popup-title[data-astro-cid-pap4tnv7]{margin:0 var(--ui-space-md);padding-bottom:var(--ui-space-sm);border-bottom:1px solid var(--ui-border);font-family:var(--ui-font-heading);text-align:center;font-size:1.125rem;font-weight:600}.settings-section[data-astro-cid-pap4tnv7]{padding:var(--ui-space-sm) var(--ui-space-md)}.section-label[data-astro-cid-pap4tnv7]{margin:0 0 var(--ui-space-sm);color:var(--ui-text-muted);letter-spacing:.02em;text-transform:uppercase;padding-left:4px;font-size:.75rem;font-weight:500}.options-grid[data-astro-cid-pap4tnv7]{gap:var(--ui-space-sm);display:flex}.options-grid--tight[data-astro-cid-pap4tnv7] .ui-choice[data-astro-cid-pap4tnv7]{padding:var(--ui-space-xs) var(--ui-space-xs);font-size:.8125rem;font-weight:500}.option-lang[data-astro-cid-pap4tnv7],.option-theme[data-astro-cid-pap4tnv7]{flex:1;position:relative}.option-flag[data-astro-cid-pap4tnv7]{font-size:1.5rem;line-height:1.2}.option-text[data-astro-cid-pap4tnv7]{font-size:.875rem;font-weight:500}.close-btn[data-astro-cid-pap4tnv7]{width:calc(100% - 2 * var(--ui-space-md));margin:var(--ui-space-sm) var(--ui-space-md) 0;padding:var(--ui-space-md);font-size:1rem}@media (width<1024px){.floating-menu[data-astro-cid-pap4tnv7]{display:none}}@media (width>=1024px){.drawer-nav[data-astro-cid-pap4tnv7]{display:none}}.ui-widget--sm[data-astro-cid-2ysrrucu]{width:300px}.ui-widget--md[data-astro-cid-2ysrrucu]{width:420px}.ui-widget--lg[data-astro-cid-2ysrrucu]{width:560px}.ui-widget--xl[data-astro-cid-2ysrrucu]{width:720px}@media (width<=1279px){.ui-widget--lg[data-astro-cid-2ysrrucu]{width:min(560px,100%)}.ui-widget--xl[data-astro-cid-2ysrrucu]{width:min(720px,100%)}}@media (width<1024px){.ui-widget--sm[data-astro-cid-2ysrrucu],.ui-widget--md[data-astro-cid-2ysrrucu],.ui-widget--lg[data-astro-cid-2ysrrucu],.ui-widget--xl[data-astro-cid-2ysrrucu]{width:100%}}.footer-inner[data-astro-cid-j2nh757k]{justify-content:space-between;align-items:center;gap:var(--ui-space-md);flex-wrap:wrap;font-size:.875rem;display:flex}.footer-copyright[data-astro-cid-j2nh757k]{color:var(--ui-text-secondary)}.footer-links[data-astro-cid-j2nh757k]{align-items:center;gap:var(--ui-space-md);flex-wrap:wrap;display:flex}.footer-link[data-astro-cid-j2nh757k]{color:var(--ui-text-secondary);transition:color var(--ui-transition-fast);text-decoration:none}.footer-link[data-astro-cid-j2nh757k]:hover{color:var(--ui-text-accent)}.skip-link[data-astro-cid-h2unarrh]{z-index:var(--ui-z-skip);padding:var(--ui-space-sm) var(--ui-space-md);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);transition:inset-block-start var(--ui-transition-fast);position:absolute;inset-block-start:-100px;inset-inline-start:var(--ui-space-md)}.skip-link[data-astro-cid-h2unarrh]:focus-visible{inset-block-start:var(--ui-space-md)}.footer-desk[data-astro-cid-h2unarrh]{padding-block-end:var(--ui-space-2xl)}
