html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f}html{--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12)}html{--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500}html{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px}html{--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--ink: #0b1f24;--ink-soft: #16333a;--foam: #e8f3f1;--mist: #f4faf8;--sea: #1f6f78;--sea-deep: #15555c;--sea-bright: #2a9a96;--sand: #f7f1e8;--accent: #d9772f;--accent-hover: #c26522;--line: rgba(11, 31, 36, .1);--muted: #5b7378;--ink-muted: #5b7378;--danger: #b42318;--surface: rgba(255, 255, 255, .72);--surface-solid: #ffffff;--shadow: 0 18px 50px rgba(11, 31, 36, .08);--ghost-bg: rgba(255, 255, 255, .55);--ghost-bg-hover: #ffffff;--panel-bg: rgba(255, 255, 255, .55);--form-bg: rgba(255, 255, 255, .78);--topbar-bg: rgba(244, 250, 248, .82);--generated-bg: linear-gradient(180deg, rgba(31, 111, 120, .05), rgba(247, 241, 232, .55));--overlay-bg: rgba(244, 250, 248, .45);--field-border: rgba(11, 31, 36, .14);--field-text: #0b1f24;--bg-glow-a: rgba(42, 154, 150, .18);--bg-glow-b: rgba(217, 119, 47, .1);--bg-base: linear-gradient(180deg, var(--mist) 0%, var(--foam) 48%, #eef6f4 100%);--grid-line: rgba(11, 31, 36, .03);--radius: 18px;--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Figtree", system-ui, sans-serif;color-scheme:light}html[data-theme=dark]{--ink: #e8f3f1;--ink-soft: #cfe3df;--foam: #102428;--mist: #0a1619;--sea: #3db5af;--sea-deep: #7ad4cf;--sea-bright: #4ec9c3;--sand: #1a2a2e;--accent: #e8923f;--accent-hover: #f0a45a;--line: rgba(232, 243, 241, .12);--muted: #9bb3b0;--ink-muted: #9bb3b0;--danger: #ff8a80;--surface: rgba(16, 36, 40, .78);--surface-solid: #12262b;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--ghost-bg: rgba(255, 255, 255, .04);--ghost-bg-hover: rgba(255, 255, 255, .08);--panel-bg: rgba(12, 28, 32, .72);--form-bg: rgba(14, 32, 36, .88);--topbar-bg: rgba(10, 22, 25, .86);--generated-bg: linear-gradient(180deg, rgba(62, 181, 175, .1), rgba(26, 42, 46, .7));--overlay-bg: rgba(8, 18, 20, .55);--field-border: rgba(232, 243, 241, .16);--field-text: #e8f3f1;--bg-glow-a: rgba(62, 181, 175, .16);--bg-glow-b: rgba(232, 146, 63, .1);--bg-base: linear-gradient(180deg, #071114 0%, #0d1c20 48%, #102428 100%);--grid-line: rgba(232, 243, 241, .04);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% -10%,var(--bg-glow-a),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 0%,var(--bg-glow-b),transparent 45%),var(--bg-base);background-attachment:fixed;-webkit-font-smoothing:antialiased;transition:background .25s ease,color .2s ease}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at 50% 20%,black,transparent 75%)}h1,h2,h3,.brand,.display{font-family:var(--font-display);letter-spacing:-.03em}a{color:inherit}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.75rem;animation:rise .45s ease both}.page-header h1{margin:0 0 .35rem;font-size:clamp(1.75rem,2.5vw,2.15rem);font-weight:800;color:var(--ink)}.page-header p{margin:0;color:var(--muted);max-width:42ch;line-height:1.5}.surface{background:var(--surface);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn-primary,a.btn-primary,button.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:0 1.15rem;border:none;border-radius:12px;background:linear-gradient(135deg,var(--sea-bright),var(--sea));color:#fff!important;font-family:var(--font-body);font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;box-shadow:0 10px 24px #1f6f7840}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-ghost,a.btn-ghost,button.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1rem;border-radius:12px;border:1px solid var(--line);background:var(--ghost-bg);color:var(--ink);font-family:var(--font-body);font-weight:600;text-decoration:none;cursor:pointer;transition:background .18s ease,border-color .18s ease}.btn-ghost:hover{background:var(--ghost-bg-hover);border-color:#2a9a9666}.btn-accent{background:linear-gradient(135deg,#e8923f,var(--accent))!important;box-shadow:0 10px 24px #d9772f47!important}.btn-danger{color:var(--danger)!important}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:12px;border:1px solid var(--line);background:var(--ghost-bg);color:var(--ink);cursor:pointer;transition:background .18s ease,transform .18s ease}.theme-toggle:hover{background:var(--ghost-bg-hover);transform:translateY(-1px)}.theme-toggle .icon{font-size:1.15rem;line-height:1}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.mat-mdc-form-field{width:100%}.mat-mdc-form-field .mdc-text-field--outlined .mat-mdc-form-field-infix,.mat-mdc-form-field input,.mat-mdc-form-field textarea,.mat-mdc-select-value,.mat-mdc-select-arrow{color:var(--field-text)!important}.mat-mdc-form-field .mat-mdc-floating-label,.mat-mdc-form-field .mdc-floating-label{color:var(--muted)!important}.mat-mdc-outlined-button,.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button{font-family:var(--font-body)!important;letter-spacing:0!important}.mat-mdc-unelevated-button.mat-primary,.mat-mdc-raised-button.mat-primary{--mdc-filled-button-container-color: #1f6f78;--mdc-protected-button-container-color: #1f6f78;background:linear-gradient(135deg,var(--sea-bright),var(--sea))!important;border-radius:12px!important}.mat-mdc-outlined-button{border-radius:12px!important}.mat-mdc-form-field-focus-overlay{background:transparent!important}.mdc-text-field--outlined .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline__notch,.mdc-text-field--outlined .mdc-notched-outline__trailing{border-color:var(--field-border)!important}.mat-mdc-form-field.mat-focused .mdc-notched-outline__leading,.mat-mdc-form-field.mat-focused .mdc-notched-outline__notch,.mat-mdc-form-field.mat-focused .mdc-notched-outline__trailing{border-color:var(--sea)!important}.mat-mdc-table{background:transparent!important;font-family:var(--font-body);color:var(--ink)!important}.mat-mdc-header-cell,.mat-mdc-cell{color:var(--ink)!important}.mat-mdc-header-row{background:#2a9a9614}.mat-mdc-row:hover{background:#2a9a960f}.mat-mdc-progress-spinner circle{stroke:var(--sea)!important}.cdk-overlay-pane .mat-mdc-select-panel,.cdk-overlay-pane .mat-mdc-autocomplete-panel,.cdk-overlay-container .mat-mdc-autocomplete-panel{background:var(--surface-solid)!important;color:var(--ink)!important;--mat-select-panel-background-color: var(--surface-solid);--mat-autocomplete-background-color: var(--surface-solid);--mat-option-label-text-color: var(--ink);--mat-option-hover-state-layer-color: rgba(61, 181, 175, .12);--mat-option-focus-state-layer-color: rgba(61, 181, 175, .16);--mat-option-selected-state-label-text-color: var(--sea-deep);--mat-option-selected-state-layer-color: rgba(61, 181, 175, .18);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.cdk-overlay-container .mat-mdc-autocomplete-panel.mdc-menu-surface{background-color:var(--surface-solid)!important}.cdk-overlay-pane .mat-mdc-option{color:var(--ink)!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{color:inherit!important}.cdk-overlay-pane .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled){color:var(--sea-deep)!important}.cdk-overlay-pane .mat-mdc-option:hover:not(.mdc-list-item--disabled),.cdk-overlay-pane .mat-mdc-option.mat-mdc-option-active{background:#3db5af1f!important}.mat-mdc-dialog-container .mdc-dialog__surface{background:var(--surface-solid)!important;color:var(--ink)!important;border-radius:16px!important;border:1px solid var(--line);box-shadow:var(--shadow)}.mat-mdc-dialog-title{font-family:var(--font-display)!important;color:var(--ink)!important}.mat-mdc-dialog-content{color:var(--ink)!important;max-width:100%}.mat-mdc-dialog-actions{border-top:1px solid var(--line);padding:.75rem 1rem!important}html[data-theme=dark] .cdk-overlay-pane .mat-mdc-select-panel,html[data-theme=dark] .cdk-overlay-pane .mat-mdc-autocomplete-panel,html[data-theme=dark] .cdk-overlay-container .mat-mdc-autocomplete-panel{background:#152f35!important;--mat-select-panel-background-color: #152f35;--mat-autocomplete-background-color: #152f35}html[data-theme=dark] .mat-mdc-dialog-container .mdc-dialog__surface{background:#12262b!important}html[data-theme=dark] .mat-mdc-form-field .mdc-text-field--outlined{--mdc-outlined-text-field-input-text-color: var(--field-text);--mdc-outlined-text-field-label-text-color: var(--muted);--mdc-outlined-text-field-hover-label-text-color: var(--ink-soft);--mdc-outlined-text-field-caret-color: var(--sea-bright)}html[data-theme=dark] .mat-mdc-select-value,html[data-theme=dark] .mat-mdc-select-arrow,html[data-theme=dark] .mat-mdc-input-element,html[data-theme=dark] .mat-mdc-form-field-input-control{color:var(--field-text)!important}html[data-theme=dark] .mat-mdc-select-placeholder,html[data-theme=dark] .mat-mdc-form-field .mdc-floating-label{color:var(--muted)!important}
