@charset "UTF-8";@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/geist-1.7.2/geist.woff2) format("woff2-variations");unicode-range:U+0020-007E,U+00A0-00FF,U+011E-011F,U+0130-0131,U+015E-015F,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+20AC,U+20BA,U+2122,U+2190-2193}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/geist-1.7.2/geist-mono.woff2) format("woff2-variations");unicode-range:U+0020-007E,U+00A0-00FF,U+011E-011F,U+0130-0131,U+015E-015F,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+20AC,U+20BA,U+2122,U+2190-2193}:root{--font-sans: "Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-mono: "Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-sm: 2px;--radius-md: 2px;--radius-lg: 2px;--radius-xl: 2px;--radius-full: 9999px;--dur-instant: .1s;--dur-fast: .18s;--dur-base: .28s;--dur-slow: .48s;--dur-cinematic: .9s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.3, 0, 0, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--space-bg: #05060a;--space-surface: #11141d;--space-text: #f2f4f8;--space-text-muted: #a3aab8;--space-primary: #4c8dff}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.5;background:var(--space-bg);color:var(--space-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}button,input,select,textarea{font:inherit;color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}}.admin-theme{color-scheme:light;--c-canvas: #f5f5f9;--c-surface: #ffffff;--c-sunken: #eceef5;--c-ink: #0f1220;--c-muted: #505869;--c-hairline: rgb(15 18 32 / .09);--c-control-border: #80879a;--c-primary: #4338ca;--c-primary-hover: #3730a3;--c-on-primary: #ffffff;--c-focus: #4338ca;--c-danger: #c62828;--c-danger-soft: #fdecec;--c-success: #1e7b4b;--c-success-soft: #e7f5ee;--c-selection: rgb(67 56 202 / .16);--c-accent: #0e7490;--c-glow: rgb(67 56 202 / .12);--c-elevation: 0 1px 2px rgb(15 18 32 / .04), 0 8px 24px -12px rgb(15 18 32 / .12);--c-backdrop: radial-gradient(ellipse 60% 40% at 85% -10%, rgb(99 102 241 / .1), transparent 70%), radial-gradient(ellipse 50% 40% at 0% 110%, rgb(14 116 144 / .06), transparent 70%);--c-code-keyword: #7a1fa2;--c-code-string: #1e6b3a;--c-code-comment: #5b6272;--c-code-type: #0b6272;--c-code-number: #a3470c;--c-code-function: #4338ca}@media(prefers-color-scheme:dark){.admin-theme{color-scheme:dark;--c-canvas: #07080e;--c-surface: #0f111a;--c-sunken: #161a26;--c-ink: #eef0f7;--c-muted: #a4abbd;--c-hairline: rgb(255 255 255 / .08);--c-control-border: #5d6478;--c-primary: #8b9cff;--c-primary-hover: #a9b6ff;--c-on-primary: #05060a;--c-focus: #8b9cff;--c-danger: #ff6b6b;--c-danger-soft: rgb(255 107 107 / .12);--c-success: #4ade80;--c-success-soft: rgb(74 222 128 / .12);--c-selection: rgb(139 156 255 / .3);--c-accent: #67e8f9;--c-glow: rgb(139 156 255 / .16);--c-elevation: 0 1px 0 rgb(255 255 255 / .04) inset, 0 12px 32px -16px rgb(0 0 0 / .7);--c-backdrop: radial-gradient(ellipse 60% 45% at 85% -10%, rgb(124 108 255 / .16), transparent 70%), radial-gradient(ellipse 50% 40% at 0% 110%, rgb(34 211 238 / .07), transparent 70%);--c-code-keyword: #d19bff;--c-code-string: #7ee2a0;--c-code-comment: #8f97a8;--c-code-type: #6fd3e3;--c-code-number: #ffb070;--c-code-function: #7fb0ff}}.admin-theme{--font-display: var(--font-mono);min-height:100dvh;background:var(--c-backdrop),var(--c-canvas);background-attachment:fixed;color:var(--c-ink);font-size:15px;caret-color:var(--c-primary)}.admin-theme ::selection{background:var(--c-selection)}.admin-theme :focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.admin-theme a:not(.btn){color:var(--c-primary);text-underline-offset:3px}.admin-theme a:not(.btn):hover{color:var(--c-primary-hover)}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}.page-title{font-family:var(--font-display);font-size:clamp(32px,2.4vw + 16px,44px);line-height:1.05;font-weight:400;letter-spacing:-.01em}.lede{color:var(--c-muted);max-width:60ch}.form{display:grid;gap:var(--space-4)}.field{display:grid;gap:var(--space-1)}.field__label{font-size:14px;font-weight:550}.field__hint{font-size:13px;color:var(--c-muted)}.field__error{display:flex;gap:var(--space-1);align-items:flex-start;font-size:13px;color:var(--c-danger)}.field__control{display:flex;align-items:stretch;min-width:0;border:1px solid var(--c-control-border);border-radius:var(--radius-lg);background:var(--c-surface);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}.field__control:hover{border-color:var(--c-muted)}.field__control:focus-within{border-color:var(--c-focus);box-shadow:0 0 0 1px var(--c-focus),0 0 0 5px var(--c-glow)}.field__control.is-invalid{border-color:var(--c-danger)}.field__control input{flex:1;min-width:0;min-height:44px;padding:0 var(--space-3);border:0;border-radius:inherit;background:transparent;outline:none}.field__control input.is-code{font-family:var(--font-mono);font-size:18px;letter-spacing:.2em}.checkbox{display:flex;gap:var(--space-2);align-items:center;min-height:32px;font-size:14px}.checkbox input{width:18px;height:18px;margin:0;accent-color:var(--c-primary)}.btn{display:inline-flex;gap:var(--space-2);align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-6);border:1px solid transparent;border-radius:var(--radius-sm);font-weight:550;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--primary{background:var(--c-primary);color:var(--c-on-primary);box-shadow:0 1px #ffffff2e inset,0 6px 20px -8px var(--c-primary)}.btn--primary:hover:not(:disabled){background:var(--c-primary-hover);box-shadow:0 1px #ffffff2e inset,0 10px 28px -8px var(--c-primary)}.btn--secondary{border-color:var(--c-control-border);background:var(--c-surface);color:var(--c-ink)}.btn--secondary:hover:not(:disabled){background:var(--c-sunken)}.btn--ghost{background:transparent;color:var(--c-ink)}.btn--ghost:hover:not(:disabled){background:var(--c-sunken)}.btn--danger{border-color:var(--c-danger);background:transparent;color:var(--c-danger)}.btn--danger:hover:not(:disabled){background:var(--c-danger-soft)}.btn--block{width:100%}.icon-btn{display:inline-grid;place-items:center;min-width:44px;border:0;border-radius:inherit;background:transparent;color:var(--c-muted);cursor:pointer}.icon-btn:hover{color:var(--c-ink)}.alert{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px solid currentColor;border-radius:var(--radius-lg);font-size:14px}.alert--error{color:var(--c-danger);background:var(--c-danger-soft)}.alert--success{color:var(--c-success);background:var(--c-success-soft)}.alert__body{color:var(--c-ink)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:1px solid var(--c-hairline);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--c-muted)}.badge--on{border-color:var(--c-success);color:var(--c-success)}.mono{font-family:var(--font-mono);font-size:13px}.badge--danger{border-color:var(--c-danger);color:var(--c-danger)}.badge--scheduled{border-color:var(--c-primary);color:var(--c-primary)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cdk-overlay-container .admin-dialog{color-scheme:light;--c-canvas: #f5f5f9;--c-surface: #ffffff;--c-sunken: #eceef5;--c-ink: #0f1220;--c-muted: #505869;--c-hairline: rgb(15 18 32 / .09);--c-control-border: #80879a;--c-primary: #4338ca;--c-primary-hover: #3730a3;--c-on-primary: #ffffff;--c-focus: #4338ca;--c-danger: #c62828;--c-danger-soft: #fdecec;--c-success: #1e7b4b;--c-success-soft: #e7f5ee;--c-selection: rgb(67 56 202 / .16);--c-accent: #0e7490;--c-glow: rgb(67 56 202 / .12);--c-elevation: 0 1px 2px rgb(15 18 32 / .04), 0 8px 24px -12px rgb(15 18 32 / .12);--c-backdrop: radial-gradient(ellipse 60% 40% at 85% -10%, rgb(99 102 241 / .1), transparent 70%), radial-gradient(ellipse 50% 40% at 0% 110%, rgb(14 116 144 / .06), transparent 70%);--c-code-keyword: #7a1fa2;--c-code-string: #1e6b3a;--c-code-comment: #5b6272;--c-code-type: #0b6272;--c-code-number: #a3470c;--c-code-function: #4338ca}@media(prefers-color-scheme:dark){.cdk-overlay-container .admin-dialog{color-scheme:dark;--c-canvas: #07080e;--c-surface: #0f111a;--c-sunken: #161a26;--c-ink: #eef0f7;--c-muted: #a4abbd;--c-hairline: rgb(255 255 255 / .08);--c-control-border: #5d6478;--c-primary: #8b9cff;--c-primary-hover: #a9b6ff;--c-on-primary: #05060a;--c-focus: #8b9cff;--c-danger: #ff6b6b;--c-danger-soft: rgb(255 107 107 / .12);--c-success: #4ade80;--c-success-soft: rgb(74 222 128 / .12);--c-selection: rgb(139 156 255 / .3);--c-accent: #67e8f9;--c-glow: rgb(139 156 255 / .16);--c-elevation: 0 1px 0 rgb(255 255 255 / .04) inset, 0 12px 32px -16px rgb(0 0 0 / .7);--c-backdrop: radial-gradient(ellipse 60% 45% at 85% -10%, rgb(124 108 255 / .16), transparent 70%), radial-gradient(ellipse 50% 40% at 0% 110%, rgb(34 211 238 / .07), transparent 70%);--c-code-keyword: #d19bff;--c-code-string: #7ee2a0;--c-code-comment: #8f97a8;--c-code-type: #6fd3e3;--c-code-number: #ffb070;--c-code-function: #7fb0ff}}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{background:#05060a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog{display:grid;gap:var(--space-4);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:var(--space-8);border:1px solid var(--c-hairline);border-radius:var(--radius-xl);background:var(--c-surface);box-shadow:var(--c-elevation),0 32px 80px -24px #00000080;color:var(--c-ink);font-size:15px}.dialog__title{font-family:var(--font-display);font-size:28px;font-weight:400;line-height:1.1}.dialog__body{color:var(--c-muted)}.dialog__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.page-header{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--c-hairline)}.page-header .heading{display:grid;gap:var(--space-2)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;margin-bottom:var(--space-4)}.toolbar .field{min-width:200px}select.select{min-height:44px;padding:0 var(--space-3);border:1px solid var(--c-control-border);border-radius:var(--radius-lg);background:var(--c-surface)}.field__control textarea{flex:1;min-width:0;min-height:112px;padding:var(--space-3);border:0;border-radius:inherit;background:transparent;outline:none;resize:vertical;line-height:1.5}.table-wrap{overflow-x:auto;border:1px solid var(--c-hairline);border-radius:var(--radius-xl);background:var(--c-surface);box-shadow:var(--c-elevation)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--c-hairline);text-align:left;white-space:nowrap}.table tr:last-child td{border-bottom:0}.table th{background:var(--c-sunken);color:var(--c-muted);font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.table td{padding-block:var(--space-4)}.table tbody tr{transition:background-color var(--dur-fast) var(--ease-standard)}.table tbody tr:hover{background:var(--c-glow)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .sort-btn:hover{color:var(--c-ink);text-decoration:underline dotted;text-underline-offset:3px}.table .sort-btn{display:inline-flex;gap:var(--space-1);align-items:center;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;letter-spacing:inherit;text-transform:inherit}.skeleton{display:block;height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--c-sunken) 30%,var(--c-glow) 50%,var(--c-sunken) 70%) 0 0/300% 100%;animation:shimmer 1.6s linear infinite}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}@keyframes shimmer{to{background-position:-150% 0}}.empty-state{display:grid;justify-items:start;gap:var(--space-3);padding:var(--space-12) var(--space-8);border:1px dashed var(--c-control-border);border-radius:var(--radius-xl);background:radial-gradient(ellipse 60% 80% at 0% 0%,var(--c-glow),transparent 70%)}.form-card{display:grid;gap:var(--space-6);max-width:760px;padding:var(--space-8);border:1px solid var(--c-hairline);border-radius:var(--radius-xl);background:var(--c-surface);box-shadow:var(--c-elevation)}@media(max-width:640px){.form-card{padding:var(--space-6) var(--space-4)}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media(max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.page-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.badge-row{display:flex;flex-wrap:wrap;gap:var(--space-1)}.form-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;padding:var(--space-3) 0;border-top:1px solid var(--c-hairline);background:var(--c-surface)}.section-title{font-family:var(--font-display);font-size:26px;font-weight:400;line-height:1.1}.after-table{margin-top:var(--space-4)}.admin-theme fieldset{min-inline-size:0;margin:0;padding:0;border:0}.admin-theme legend{padding:0;margin-bottom:var(--space-2)}html.admin-document{scroll-padding-bottom:96px}.prose{max-width:72ch;line-height:1.65;overflow-wrap:anywhere}.prose>:first-child{margin-top:0}.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin:1.6em 0 .5em;line-height:1.25;font-weight:650}.prose h2{font-size:1.35rem}.prose h3{font-size:1.15rem}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 1em}.prose a{color:var(--c-primary);text-decoration:underline;text-underline-offset:2px}.prose a:not([href]){color:inherit;text-decoration:none}.prose img{max-width:100%;height:auto;border-radius:var(--radius-md)}.prose blockquote{padding-left:var(--space-4);border-left:3px solid var(--c-hairline);color:var(--c-muted)}.prose code{font-family:var(--font-mono);font-size:.9em}.prose :not(pre)>code{padding:1px 5px;border-radius:var(--radius-sm);background:var(--c-sunken)}.prose pre{padding:var(--space-4);overflow-x:auto;border:1px solid var(--c-hairline);border-radius:var(--radius-md);background:var(--c-sunken);line-height:1.5;tab-size:4}.prose table{display:block;overflow-x:auto;border-collapse:collapse}.prose th,.prose td{padding:var(--space-2) var(--space-3);border:1px solid var(--c-hairline);text-align:left}.prose hr{border:0;border-top:1px solid var(--c-hairline)}.prose .tok-keyword,.prose .tok-controlKeyword,.prose .tok-preprocessorKeyword,.prose .tok-pseudoKeyword,.prose .tok-jsonConst{color:var(--c-code-keyword)}.prose .tok-string,.prose .tok-stringCSharpVerbatim,.prose .tok-jsonString,.prose .tok-htmlAttributeValue,.prose .tok-xmlAttributeValue,.prose .tok-cssPropertyValue{color:var(--c-code-string)}.prose .tok-comment,.prose .tok-xmlDocComment,.prose .tok-htmlComment,.prose .tok-xmlComment{color:var(--c-code-comment);font-style:italic}.prose .tok-type,.prose .tok-className,.prose .tok-typeVariable,.prose .tok-jsonKey,.prose .tok-htmlElementName,.prose .tok-xmlName,.prose .tok-cssSelector{color:var(--c-code-type)}.prose .tok-number,.prose .tok-jsonNumber,.prose .tok-powershellVariable{color:var(--c-code-number)}.prose .tok-builtinFunction,.prose .tok-attribute,.prose .tok-sqlSystemFunction,.prose .tok-htmlAttributeName,.prose .tok-xmlAttribute,.prose .tok-cssPropertyName,.prose .tok-powershellParameter{color:var(--c-code-function)}.site{--color-bg: #05060a;--color-surface: #11141d;--color-text: #f2f4f8;--color-primary: #4c8dff;--color-secondary: #8b5cf6;--color-accent: #22d3ee;--color-bg-elevated: color-mix(in srgb, var(--color-bg), var(--color-surface));--color-surface-2: color-mix(in srgb, var(--color-surface) 97%, var(--color-text));--color-border: color-mix(in srgb, var(--color-text) 9%, transparent);--color-border-strong: color-mix(in srgb, var(--color-text) 18%, transparent);--color-text-muted: #a3aab8;--color-text-subtle: #6b7280;--color-on-primary: var(--color-bg);--color-primary-hover: color-mix(in srgb, var(--color-primary) 80%, #fff);--color-selection: color-mix(in srgb, var(--color-primary) 35%, transparent);--color-solar: #f5a524;--color-focus: var(--color-primary);--color-danger: #ff7a7a;--panel-bg: color-mix(in srgb, var(--color-surface) 62%, transparent);--panel-bg-strong: color-mix(in srgb, var(--color-surface) 86%, transparent);--panel-edge: linear-gradient(var(--color-border-strong), var(--color-border-strong));--panel-shadow: none;--glow-primary: color-mix(in srgb, var(--color-primary) 40%, transparent);--font-display: var(--font-mono);--text-12: 12px;--text-14: 14px;--text-17: 17px;--text-20: clamp(18px, 1.2vw + 14px, 20px);--text-24: clamp(20px, 1.4vw + 15px, 24px);--text-32: clamp(26px, 2vw + 18px, 32px);--text-44: clamp(32px, 3vw + 20px, 44px);--text-64: clamp(40px, 5vw + 20px, 64px);--text-88: clamp(44px, 7vw + 18px, 88px);--text-title: clamp(34px, 3.6vw + 18px, 68px);--text-page: clamp(38px, 5vw + 16px, 92px);--text-display: clamp(46px, 7.4vw + 10px, 124px);--radius-xl: 2px;--radius-2xl: 2px;--space-24: 96px;--space-32: 128px;--content-max: 1240px;--gutter: clamp(20px, 4vw, 40px);color-scheme:dark;accent-color:var(--color-primary);display:flex;flex-direction:column;min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-size:15px;line-height:1.75;letter-spacing:-.01em}.site ::selection{background:var(--color-selection)}.site :where(a){color:var(--color-primary);text-underline-offset:3px;transition:color var(--dur-instant) var(--ease-standard)}.site :focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}@media(prefers-contrast:more){.site{--color-text-muted: #d0d5de;--color-border: color-mix(in srgb, var(--color-text) 30%, transparent);--color-border-strong: color-mix(in srgb, var(--color-text) 50%, transparent);--panel-bg: var(--color-surface)}}.site-container{width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-weight:600;text-decoration:none;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.04em;line-height:1.05}.coord{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;margin:0 0 var(--space-6);font-family:var(--font-mono);font-size:var(--text-12);font-weight:500;letter-spacing:.14em;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.coord:after{content:"";flex:1 1 48px;min-width:48px;height:1px;background:linear-gradient(90deg,var(--color-border-strong),transparent)}.coord__index{display:inline-flex;gap:var(--space-2);align-items:center;color:var(--color-text)}.coord__index:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-accent);box-shadow:0 0 10px 1px color-mix(in srgb,var(--color-accent) 70%,transparent)}.site-section{position:relative;padding-block:clamp(80px,12vw,176px);scroll-margin-top:88px}.site-section__title{max-width:16ch;margin:0 0 var(--space-12);font-family:var(--font-display);font-size:var(--text-title);font-weight:400;line-height:1.05;letter-spacing:-.045em;text-wrap:balance}.site-lead{max-width:60ch;font-size:var(--text-20);line-height:1.6;color:var(--color-text-muted)}.panel{position:relative;isolation:isolate;border-radius:var(--radius-xl);background:linear-gradient(180deg,color-mix(in srgb,var(--color-text) 3%,transparent),transparent 40%),var(--panel-bg);box-shadow:var(--panel-shadow)}.panel:before{content:"";position:absolute;inset:0;z-index:0;padding:1px;border-radius:inherit;background:var(--panel-edge);pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.panel--lit:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(520px circle at var(--mx, 50%) var(--my, 0%),color-mix(in srgb,var(--color-primary) 13%,transparent),transparent 45%);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard)}.panel--lit:is(:hover,:focus-within):after{opacity:1}.cta{position:relative;display:inline-flex;gap:var(--space-2);align-items:center;justify-content:center;min-height:48px;padding:0 var(--space-6);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-text) 4%,transparent);color:var(--color-text);font-size:13px;font-weight:500;letter-spacing:.02em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-instant) var(--ease-standard)}.cta:hover{border-color:color-mix(in srgb,var(--color-text) 34%,transparent);background:color-mix(in srgb,var(--color-text) 9%,transparent)}.cta app-icon{width:18px;height:18px;transition:transform var(--dur-base) var(--ease-emphasized)}.cta--primary{border-color:var(--color-text);background:var(--color-text);color:var(--color-bg)}.cta--primary:hover{border-color:var(--color-text);background:color-mix(in srgb,var(--color-text) 86%,var(--color-primary))}.cta--quiet{border-color:transparent;background:transparent;padding-inline:var(--space-3)}.cta--quiet:hover{border-color:transparent;background:color-mix(in srgb,var(--color-text) 7%,transparent)}.hero-horizon{position:absolute;inset-inline:0;bottom:0;height:calc(var(--arc) + 320px);overflow:hidden;pointer-events:none;opacity:var(--sky-horizon, 1);-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - var(--arc) * .55),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - var(--arc) * .55),transparent);--arc: clamp(110px, 17vh, 190px)}.hero-horizon span{position:absolute;top:calc(100% - var(--arc));left:50%;width:max(1500px,150vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--color-primary) 18%,var(--color-bg)) 0%,var(--color-bg) 8%);box-shadow:0 -1px color-mix(in srgb,var(--color-text) 60%,transparent),0 -6px 24px -2px color-mix(in srgb,var(--color-primary) 75%,transparent),0 -30px 90px -6px color-mix(in srgb,var(--color-primary) 40%,transparent),0 -90px 240px color-mix(in srgb,var(--color-secondary) 28%,transparent),inset 0 18px 40px -18px color-mix(in srgb,var(--color-accent) 50%,transparent);transform:translate(-50%)}@media(prefers-reduced-motion:no-preference){.site:not([data-motion=LOW]) .hero-horizon span{animation:horizon-rise 1.6s var(--ease-emphasized) both}}@keyframes horizon-rise{0%{opacity:0;transform:translate(-50%,80px)}}.site-state{display:grid;gap:var(--space-6);align-content:center;justify-items:start;min-height:70dvh;padding-block:var(--space-16)}.site-state h1{max-width:14ch;font-family:var(--font-display);font-size:var(--text-page);font-weight:400;line-height:.95;letter-spacing:-.02em}.site-state p:not(.coord){max-width:52ch;color:var(--color-text-muted);font-size:var(--text-20)}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-text) 4%,transparent);font-family:var(--font-mono);font-size:var(--text-12);color:var(--color-text-muted);white-space:nowrap}.chip--state{border-color:color-mix(in srgb,var(--color-solar) 45%,transparent);background:color-mix(in srgb,var(--color-solar) 8%,transparent);color:var(--color-solar)}.meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin:0;color:var(--color-text-muted);font-size:var(--text-14)}.meta>*+*:before{content:"\b7";content:"\b7"/"";margin-right:var(--space-3);color:var(--color-text-muted)}.rich-text{color:var(--color-text-muted);overflow-wrap:anywhere}.rich-text>*+*{margin-top:var(--space-3)}.rich-text ul,.rich-text ol{padding-left:1.25em}.rich-text li+li{margin-top:var(--space-1)}.rich-text strong{color:var(--color-text)}.rich-text code{font-family:var(--font-mono);font-size:.9em}.rich-text h2,.rich-text h3,.rich-text h4{margin-top:var(--space-8);color:var(--color-text);font-size:var(--text-20);font-weight:600;line-height:1.3}.rich-text pre{overflow-x:auto;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--panel-bg-strong);font-size:var(--text-14);line-height:1.5}.rich-text pre code{font-size:inherit}.rich-text blockquote{margin-inline:0;padding-left:var(--space-4);border-left:2px solid var(--color-border-strong)}.rich-text img{max-width:100%;height:auto;border-radius:var(--radius-md)}.rich-text table{display:block;overflow-x:auto;border-collapse:collapse;font-size:var(--text-14)}.rich-text th,.rich-text td{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);text-align:left}.rich-text hr{border:0;border-top:1px solid var(--color-border)}.rich-text .tok-keyword,.rich-text .tok-controlKeyword,.rich-text .tok-preprocessorKeyword,.rich-text .tok-pseudoKeyword,.rich-text .tok-jsonConst{color:var(--code-keyword, #d19bff)}.rich-text .tok-string,.rich-text .tok-stringCSharpVerbatim,.rich-text .tok-jsonString,.rich-text .tok-htmlAttributeValue,.rich-text .tok-xmlAttributeValue,.rich-text .tok-cssPropertyValue{color:var(--code-string, #7ee2a0)}.rich-text .tok-comment,.rich-text .tok-xmlDocComment,.rich-text .tok-htmlComment,.rich-text .tok-xmlComment{color:var(--code-comment, #8f97a8);font-style:italic}.rich-text .tok-type,.rich-text .tok-className,.rich-text .tok-typeVariable,.rich-text .tok-jsonKey,.rich-text .tok-htmlElementName,.rich-text .tok-xmlName,.rich-text .tok-cssSelector{color:var(--code-type, #6fd3e3)}.rich-text .tok-number,.rich-text .tok-jsonNumber,.rich-text .tok-powershellVariable{color:var(--code-number, #ffb070)}.rich-text .tok-builtinFunction,.rich-text .tok-attribute,.rich-text .tok-sqlSystemFunction,.rich-text .tok-htmlAttributeName,.rich-text .tok-xmlAttribute,.rich-text .tok-cssPropertyName,.rich-text .tok-powershellParameter{color:var(--code-function, #7fb0ff)}.rich-text--article>*+*{margin-top:var(--space-4)}.rich-text--article>:first-child{margin-top:0}.rich-text--article h2,.rich-text--article h3{scroll-margin-top:88px}.rich-text--article h2{margin-top:var(--space-16);font-family:var(--font-display);font-size:var(--text-44);font-weight:400;line-height:1.05;letter-spacing:-.01em}.rich-text--article h3{font-size:var(--text-24)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:var(--space-6);margin:0;padding:0;list-style:none}.page-head{padding-block:clamp(64px,11vw,160px) var(--space-16)}.page-head h1{max-width:16ch;margin:0 0 var(--space-8);font-family:var(--font-display);font-size:var(--text-page);font-weight:400;line-height:.95;letter-spacing:-.02em}.site .field{display:grid;gap:var(--space-2);min-width:0}.site .field label{font-size:var(--text-14);color:var(--color-text-muted)}.site .field input,.site .field select,.site .field textarea{width:100%;min-height:48px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-bg) 55%,transparent);color:var(--color-text);font:inherit;font-size:16px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}.site .field input:hover,.site .field select:hover,.site .field textarea:hover{border-color:color-mix(in srgb,var(--color-text) 30%,transparent)}.site .field input:focus-visible,.site .field select:focus-visible,.site .field textarea:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 25%,transparent)}.site .field select{appearance:none;padding-right:var(--space-8);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}.section-more{display:flex;margin-top:var(--space-12)}.section-more .cta:hover app-icon{transform:translate(3px)}.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:var(--space-8) 0 0;list-style:none;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-12);letter-spacing:.06em}.crumbs li{display:inline-flex;align-items:center}.crumbs li+li:before{content:"/";content:"/"/"";margin-right:var(--space-2);color:var(--color-text-subtle)}.crumbs a{display:inline-flex;align-items:center;min-height:32px;color:var(--color-text-muted);text-decoration:none}.crumbs a:hover{color:var(--color-text)}.page-toc{font-size:var(--text-14)}.page-toc h2{margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--text-12);font-weight:500;letter-spacing:.14em;color:var(--color-text-muted)}.page-toc ol{display:grid;gap:var(--space-1);margin:0;padding:0 0 0 var(--space-4);border-left:1px solid var(--color-border);list-style:none}.page-toc a{display:inline-flex;min-height:32px;align-items:center;color:var(--color-text-muted);text-decoration:none}.page-toc a:hover{color:var(--color-text)}@media(min-width:1100px){.page-toc nav{position:sticky;top:112px}}.pagination{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-12);letter-spacing:.06em}.post-list{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--color-border)}.post-list>li{border-bottom:1px solid var(--color-border)}@media print{.site.site.site{--color-bg: #fff;--color-bg-elevated: #fff;--color-surface: #fff;--color-surface-2: #fff;--color-border: #d0d0d0;--color-border-strong: #999;--color-text: #000;--color-text-muted: #333;--color-primary: #000;--color-solar: #000;font-size:11pt;line-height:1.45}.skip-link,.site app-site-header,.site app-site-footer,.site .page-toc,.site .no-print{display:none!important}.site .chip--state{border-color:#999}}.space-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.space-backdrop--hidden{display:none}.space-backdrop:before{content:"";position:absolute;inset:0;--star: color-mix(in srgb, var(--color-text) 55%, transparent);--star-dim: color-mix(in srgb, var(--color-text) 26%, transparent);--star-blue: color-mix(in srgb, var(--color-primary) 60%, transparent);background-image:radial-gradient(1px 1px at 23px 41px,var(--star) 50%,transparent 100%),radial-gradient(1px 1px at 157px 113px,var(--star-dim) 50%,transparent 100%),radial-gradient(1.5px 1.5px at 251px 197px,var(--star) 50%,transparent 100%),radial-gradient(1px 1px at 89px 263px,var(--star-dim) 50%,transparent 100%),radial-gradient(1px 1px at 311px 29px,var(--star-blue) 50%,transparent 100%),radial-gradient(1px 1px at 61px 173px,var(--star) 50%,transparent 100%),radial-gradient(1px 1px at 199px 331px,var(--star-dim) 50%,transparent 100%),radial-gradient(1.5px 1.5px at 367px 401px,var(--star-blue) 50%,transparent 100%),radial-gradient(1px 1px at 433px 89px,var(--star-dim) 50%,transparent 100%);opacity:var(--sky-stars, 1);background-size:347px 347px,347px 347px,347px 347px,347px 347px,421px 421px,421px 421px,421px 421px,509px 509px,509px 509px;transition:opacity var(--dur-slow) var(--ease-standard)}.space-backdrop:after{content:"";position:absolute;inset:0;z-index:-1;opacity:var(--sky-aurora, 1);background:radial-gradient(ellipse 55% 42% at 82% 8%,color-mix(in srgb,var(--color-secondary) 20%,transparent),transparent 70%),radial-gradient(ellipse 45% 35% at 62% 0%,color-mix(in srgb,var(--color-primary) 18%,transparent),transparent 70%),radial-gradient(ellipse 50% 45% at 8% 92%,color-mix(in srgb,var(--color-accent) 9%,transparent),transparent 70%),radial-gradient(ellipse 70% 60% at 50% 50%,color-mix(in srgb,var(--color-primary) 4%,transparent),transparent 80%)}.space-backdrop canvas{position:absolute;inset:0;display:block;width:100%;height:100%;animation:space-in var(--dur-slow) var(--ease-standard) both}.space-backdrop:is([data-space=running],[data-space=still],[data-space=paused]):before{opacity:0}@keyframes space-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.space-backdrop:before,.space-backdrop canvas{transition:none;animation:none}}.site:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--sky-grain, .05);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media print{.space-backdrop,.site:after{display:none}}@media(prefers-reduced-motion:no-preference){.cta:active{transform:translateY(1px)}@supports (animation-timeline: view()){.site:not([data-motion=LOW]) .site-section>.site-container{animation:section-in var(--ease-emphasized) both;animation-timeline:view();animation-range:entry 0% entry 240px}}}@keyframes section-in{0%{opacity:0;transform:translateY(24px)}}:root[data-transition] app-site-header>header{view-transition-name:site-header}:root[data-transition] .site main{view-transition-name:page}:root[data-transition] .space-backdrop{view-transition-name:space}:root[data-transition] [data-case=title]{view-transition-name:project-title}:root[data-transition]::view-transition-group(*){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-emphasized)}:root[data-transition]::view-transition-group(site-header),:root[data-transition]::view-transition-group(space),:root[data-transition]::view-transition-group(page),:root[data-transition]::view-transition-new(site-header),:root[data-transition]::view-transition-new(space){animation:none}:root[data-transition]::view-transition-old(site-header),:root[data-transition]::view-transition-old(space){display:none}:root[data-transition]::view-transition-old(page){animation:wormhole-out var(--dur-base) var(--ease-exit) both}:root[data-transition]::view-transition-new(page){animation:wormhole-in .42s var(--ease-emphasized) .12s both}:root[data-transition=fade]::view-transition-old(page){animation:fade-out var(--dur-base) var(--ease-exit) both}:root[data-transition=fade]::view-transition-new(page){animation:fade-in var(--dur-base) var(--ease-standard) both}@keyframes wormhole-out{to{opacity:0;transform:scale(1.06)}}@keyframes wormhole-in{0%{opacity:0;transform:scale(.96)}}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.level-orbit{display:block;flex:none;justify-self:center;border:1.5px solid var(--color-text);border-radius:var(--radius-full)}.level-orbit--PRIMARY{width:8px;height:8px;background:var(--color-solar);border-color:var(--color-solar)}.level-orbit--ADVANCED{width:10px;height:10px}.level-orbit--PRODUCTION{width:12px;height:12px;border-color:var(--color-text-muted)}.level-orbit--WORKING_KNOWLEDGE{width:14px;height:14px;border-color:var(--color-text-muted);border-style:dashed}.level-orbit--EXPLORING{width:16px;height:16px;border-color:var(--color-text-muted);border-style:dotted}.preview-note{margin:0 0 var(--space-6);padding:var(--space-3) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-text);font-size:14px}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}
