.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:rgba(0,0,0,0);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}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-700.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/hanken-grotesk-400.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/hanken-grotesk-700.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/jetbrains-mono-700.woff2) format("woff2")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/fonts/material-symbols-outlined.woff2) format("woff2")}:root{color-scheme:light;--color-canvas: #f7f9fb;--color-surface: #ffffff;--color-surface-muted: #f2f4f6;--color-surface-subtle: #eceef0;--color-border: rgba(25, 28, 30, .12);--color-border-strong: rgba(25, 28, 30, .18);--color-text: #191c1e;--color-text-variant: #45464d;--color-text-muted: rgba(25, 28, 30, .72);--color-accent: #006a61;--color-accent-strong: #005049;--color-accent-soft: rgba(0, 106, 97, .08);--color-success: #0a6e4a;--color-error: #ba1a1a;--color-error-soft: rgba(186, 26, 26, .1);--font-body: "Inter", "Segoe UI", sans-serif;--font-display: "Hanken Grotesk", "Inter", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--font-icon: "Material Symbols Outlined";--font-weight-regular: 400;--font-weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-chip: 16px;--radius-card: 24px;--radius-shell: 28px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(25, 28, 30, .06), 0 8px 24px rgba(25, 28, 30, .06);--shadow-2: 0 2px 4px rgba(25, 28, 30, .06), 0 14px 32px rgba(25, 28, 30, .08);--shadow-3: 0 4px 12px rgba(25, 28, 30, .08), 0 24px 56px rgba(25, 28, 30, .12);--motion-hover: .16s ease-out;--motion-press: .12s ease-out;--motion-surface: .2s ease-out;--focus-ring: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-accent);--safe-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--safe-right: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));--safe-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--safe-left: var(--safe-area-inset-left, env(safe-area-inset-left, 0px));--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--size-touch-target: 44px;--size-input: 56px;--glass-bg: rgba(255, 255, 255, .74);--glass-blur: blur(14px);--panel-bg: rgba(255, 255, 255, .98);--width-dialog: 560px;--width-narrow: 760px;--color-neutral-soft: rgba(25, 28, 30, .08);--color-neutral-faint: rgba(25, 28, 30, .04);--color-accent-faint: rgba(0, 106, 97, .04);--color-success-soft: rgba(10, 110, 74, .1);--color-on-accent: #ffffff;--color-ink: #000000;--color-canvas-rgb: 247, 249, 251;--color-accent-rgb: 0, 106, 97;--color-success-rgb: 10, 110, 74;--color-error-rgb: 186, 26, 26;--font-weight-semibold: 600;--z-fixed: 30;--z-overlay: 80;--z-loader: 100;--overlay-bg: rgba(247, 249, 251, .92);--overlay-blur: blur(12px);--glass-surface: linear-gradient(180deg, rgba(247, 249, 251, .96), rgba(255, 255, 255, 1));--inset-border-soft: inset 0 0 0 1px rgba(25, 28, 30, .04)}:root.dark{color-scheme:dark;--color-canvas: #0f1113;--color-surface: #1a1d1f;--color-surface-muted: #1e2124;--color-surface-subtle: #252a2d;--color-border: rgba(230, 233, 235, .12);--color-border-strong: rgba(230, 233, 235, .2);--color-text: #e6e9eb;--color-text-variant: #b8babe;--color-text-muted: rgba(230, 233, 235, .65);--color-accent: #4db3a8;--color-accent-strong: #6ec4bb;--color-accent-soft: rgba(77, 179, 168, .12);--color-accent-faint: rgba(77, 179, 168, .06);--color-success: #4caf80;--color-success-soft: rgba(76, 175, 128, .12);--color-error: #ef5350;--color-error-soft: rgba(239, 83, 80, .12);--color-on-accent: #002021;--color-ink: #ffffff;--color-neutral-soft: rgba(230, 233, 235, .08);--color-neutral-faint: rgba(230, 233, 235, .04);--color-canvas-rgb: 15, 17, 19;--color-accent-rgb: 77, 179, 168;--color-success-rgb: 76, 175, 128;--color-error-rgb: 239, 83, 80;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px rgba(0, 0, 0, .2);--shadow-2: 0 2px 8px rgba(0, 0, 0, .5), 0 0 0 1px rgba(0, 0, 0, .25);--shadow-3: 0 8px 24px rgba(0, 0, 0, .6), 0 0 0 1px rgba(0, 0, 0, .3);--glass-bg: rgba(26, 29, 31, .8);--panel-bg: rgba(26, 29, 31, .98);--overlay-bg: rgba(15, 17, 19, .92);--glass-surface: linear-gradient(180deg, rgba(26, 29, 31, .96), rgba(30, 33, 36, 1));--inset-border-soft: inset 0 0 0 1px rgba(230, 233, 235, .04);--focus-ring: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-accent)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{min-height:100%;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-body);text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}img,svg,video,canvas{display:block;max-width:100%}a{color:inherit;text-decoration:none}::selection{background:var(--color-accent-soft);color:var(--color-text)}.material-symbols-outlined{font-family:var(--font-icon);font-weight:400;font-style:normal;font-size:var(--font-size-lg);line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;width:1em;min-width:1em;overflow:hidden;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.app-canvas{min-height:100dvh;background:var(--color-canvas);color:var(--color-text)}app-root.app-root--shell-padding{display:block;min-height:100dvh;padding:calc(var(--space-4) + var(--safe-top)) calc(var(--space-4) + var(--safe-right)) calc(var(--space-4) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-left))}.content-shell{width:min(100%,var(--content-max, 1120px));margin-inline:auto;padding-inline:max(var(--space-4),var(--safe-left),var(--safe-right))}.surface{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-1)}.surface--muted{background:var(--color-surface-muted)}.surface--raised{box-shadow:var(--shadow-2)}.surface--prominent{box-shadow:var(--shadow-3)}.surface--shell{border-radius:var(--radius-shell)}.surface--card{border-radius:var(--radius-card)}.surface--chip{border-radius:var(--radius-chip)}.surface--pill{border-radius:var(--radius-pill)}.progress-track{width:100%;height:8px;border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface-subtle);box-shadow:inset 0 0 0 1px var(--color-neutral-soft)}.progress-fill{display:block;height:100%;border-radius:inherit;transition:width var(--motion-surface)}.progress-fill--strong{background:linear-gradient(90deg,var(--color-accent-strong),var(--color-accent))}.progress-fill--soft{background:linear-gradient(90deg,rgba(var(--color-accent-rgb),.72),rgba(var(--color-accent-rgb),.96))}.bordered{border:1px solid var(--color-border)}.bordered--strong{border-color:var(--color-border-strong)}.canvas-pad{padding:var(--space-8)}.canvas-pad--compact{padding:var(--space-6)}.flow{display:grid;gap:var(--space-4)}.flow--tight{gap:var(--space-3)}.flow--loose{gap:var(--space-6)}.stack{display:grid;gap:var(--space-6)}.stack--compact{gap:var(--space-4)}.cluster{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.section-label{margin:0;color:var(--color-text-variant);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase}.heading{margin:0;font-family:var(--font-display);font-size:var(--font-size-xl);line-height:1.2;font-weight:var(--font-weight-bold);letter-spacing:-.03em}.display-heading{margin:0;font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:1.05;font-weight:var(--font-weight-bold);letter-spacing:-.04em}.body-copy{margin:0;font-size:var(--font-size-base);line-height:1.5}.meta-copy{margin:0;font-size:var(--font-size-sm);line-height:1.45;color:var(--color-text-muted)}.value-copy{margin:0;font-family:var(--font-display);font-size:var(--font-size-2xl);line-height:1;font-weight:var(--font-weight-bold);letter-spacing:-.03em}.pill,.chip{display:inline-flex;align-items:center;justify-content:center;min-height:var(--size-touch-target);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 var(--space-4);gap:var(--space-2);background:var(--color-surface);color:var(--color-text);font-size:.95rem;line-height:1;transition:transform var(--motion-hover),box-shadow var(--motion-hover),border-color var(--motion-hover),background-color var(--motion-hover),color var(--motion-hover),opacity var(--motion-hover)}.chip{min-height:40px;border-radius:var(--radius-chip);padding-inline:var(--space-3)}.pill:hover,.chip:hover,.button:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.pill:active,.chip:active,.button:active,.icon-button:active{transform:scale(.98);box-shadow:var(--shadow-1)}.pill:focus-visible,.chip:focus-visible,.button:focus-visible,.icon-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pill--accent,.chip--accent,.button--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.pill--accent:hover,.chip--accent:hover,.button--primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--size-touch-target);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 var(--space-5);background:var(--color-surface);color:var(--color-text);font-weight:var(--font-weight-bold);transition:transform var(--motion-hover),box-shadow var(--motion-hover),border-color var(--motion-hover),background-color var(--motion-hover),color var(--motion-hover),opacity var(--motion-hover)}.button--secondary{background:var(--color-surface-muted)}.button--ghost{background:transparent}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--size-touch-target);min-height:var(--size-touch-target);border:1px solid transparent;border-radius:var(--radius-pill);padding:var(--space-2);background:transparent;transition:transform var(--motion-hover),box-shadow var(--motion-hover),border-color var(--motion-hover),background-color var(--motion-hover),color var(--motion-hover),opacity var(--motion-hover)}.safe-area-frame{padding:calc(var(--space-6) + var(--safe-top)) calc(var(--space-6) + var(--safe-right)) calc(var(--space-6) + var(--safe-bottom)) calc(var(--space-6) + var(--safe-left))}.safe-area-inline{padding-inline:calc(var(--space-6) + var(--safe-left)) calc(var(--space-6) + var(--safe-right))}.safe-area-block{padding-block:calc(var(--space-6) + var(--safe-top)) calc(var(--space-6) + var(--safe-bottom))}.focus-visible-ring:focus-visible{outline:none;box-shadow:var(--focus-ring)}.motion-surface{transition:transform var(--motion-surface),box-shadow var(--motion-surface),border-color var(--motion-surface),background-color var(--motion-surface),color var(--motion-surface),opacity var(--motion-surface)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.pill,.chip,.button,.icon-button,.motion-surface{transition-duration:1ms!important;transform:none!important}}
