@view-transition{navigation:auto}:root{color-scheme:light dark;--surface: light-dark(#f7f9fb, #0a0e14);--surface-dim: light-dark(#d8dadc, #0a0e14);--surface-bright: light-dark(#f7f9fb, #262c36);--surface-container-lowest: light-dark(#ffffff, #000000);--surface-container-low: light-dark(#f2f4f6, #0f141a);--surface-container: light-dark(#e3e3e3, #151a21);--surface-container-high: light-dark(#e6e8ea, #1b2028);--surface-container-highest: light-dark(#e0e3e5, #20262f);--surface-variant: light-dark(#e0e3e5, #20262f);--primary: light-dark(#00647c, #8ff5ff);--primary-container: light-dark(#007f9d, #00eefc);--primary-dim: light-dark(#004e61, #00deec);--on-primary: light-dark(#ffffff, #005d63);--on-primary-container: light-dark(#fafdff, #005359);--secondary: light-dark(#515f74, #2ff801);--secondary-container: light-dark(#d5e3fd, #106e00);--on-secondary: light-dark(#ffffff, #0b5800);--code-inline: light-dark(#1a7a0a, #2ff801);--formatting-mark: light-dark(#a06020, #d4943a);--tertiary: light-dark(#894e00, #a86516);--tertiary-container: light-dark(#a86516, #dd8819);--on-tertiary: light-dark(#ffffff, #002e52);--on-tertiary-container: light-dark(#fffbff, #00213e);--on-background: light-dark(#191c1e, #f1f3fc);--on-surface: light-dark(#191c1e, #f1f3fc);--on-surface-variant: light-dark(#3e484d, #a8abb3);--outline: light-dark(#6e797e, #72757d);--outline-variant: light-dark(#bdc8ce, #44484f);--error: light-dark(#ba1a1a, #ff716c);--error-container: light-dark(#ffdad6, #9f0519);--on-error: light-dark(#ffffff, #490006);--inverse-surface: light-dark(#2d3133, #f8f9ff);--inverse-on-surface: light-dark(#eff1f3, #51555c);--inverse-primary: light-dark(#6cd3f7, #006a71);--header-bg: light-dark(rgba(247, 249, 251, .7), rgba(10, 14, 20, .6));--cosmic-base: light-dark(#f7f9fb, #060a0f);--cosmic-gradient: radial-gradient( circle at 10% 20%, light-dark(rgba(0, 100, 124, .15), rgba(0, 80, 140, .55)) 0%, transparent 45% ), radial-gradient( circle at 90% 80%, light-dark(rgba(108, 211, 247, .2), rgba(40, 10, 80, .45)) 0%, transparent 50% ), radial-gradient( circle at 50% 50%, light-dark(rgba(0, 127, 157, .12), rgba(0, 60, 90, .35)) 0%, transparent 60% );--cosmic-gradient-2: radial-gradient( circle at 80% 20%, light-dark(rgba(183, 234, 255, .25), rgba(0, 120, 130, .35)) 0%, transparent 45% ), radial-gradient( circle at 20% 80%, light-dark(rgba(0, 78, 97, .1), rgba(0, 60, 110, .35)) 0%, transparent 50% );--dot-grid-color: light-dark( rgba(110, 121, 126, .12), rgba(68, 72, 79, .08) );--selection-bg: light-dark(rgba(0, 100, 124, .15), rgba(143, 245, 255, .2));--ghost-border: light-dark( rgba(110, 121, 126, .2), rgba(114, 117, 125, .15) );--font-headline: "Inter", monospace;--font-body: "Inter", sans-serif;--font-label: "Inter", monospace;--spacing-1: .125rem;--spacing-2: .25rem;--spacing-4: .5rem;--spacing-6: .75rem;--spacing-8: 1rem;--spacing-12: 1.5rem;--spacing-16: 2rem;--spacing-24: 3rem;--spacing-32: 4rem;--spacing-48: 6rem;--spacing-64: 8rem;--rounded-sm: .125rem;--rounded-md: .375rem;--rounded-lg: .5rem;--rounded-xl: .75rem}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:clamp(14px,10px + 1.25vw,16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body{font-family:var(--font-body);background-color:var(--surface);color:var(--on-background);line-height:1.6;min-height:100vh}app-root>router-outlet+*{min-width:0;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);font-weight:600;line-height:1.2;color:var(--on-surface)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{font-size:1rem;line-height:1.8;color:var(--on-surface-variant)}a{color:var(--primary);text-decoration:none;transition:color .12s ease-out}a:hover{color:var(--primary-dim)}code{font-family:Space Grotesk,monospace;font-size:.875em;background:var(--surface-container-lowest);padding:.15em .4em;border-radius:var(--rounded-sm);color:var(--code-inline)}pre{background:var(--surface-container-lowest);padding:var(--spacing-12);border-radius:var(--rounded-md);overflow-x:auto;margin:var(--spacing-12) 0}pre code{background:none;padding:0;font-size:.875rem;color:var(--on-surface-variant)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface-container-low)}::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:3px}::selection{background:var(--selection-bg);color:var(--on-surface)}.label{font-family:var(--font-label);font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant)}.chip{display:inline-block;font-family:var(--font-label);font-size:.75rem;font-weight:500;padding:var(--spacing-2) var(--spacing-6);border-radius:var(--rounded-sm);background:var(--tertiary-container);color:var(--on-tertiary-container);letter-spacing:.03em}.btn{font-family:var(--font-headline);font-size:.875rem;font-weight:500;padding:var(--spacing-6) var(--spacing-12);border-radius:var(--rounded-md);border:none;cursor:pointer;transition:all .12s ease-out;display:inline-flex;align-items:center;gap:var(--spacing-4)}.btn--primary{background:var(--primary);color:var(--on-primary)}.btn--primary:hover{background:var(--primary-dim)}.btn--ghost{background:transparent;color:var(--primary);outline:1px solid var(--ghost-border)}.btn--ghost:hover{background:var(--surface-container-high)}.btn--tertiary{background:transparent;color:var(--on-surface-variant);font-family:var(--font-label)}.btn--tertiary:hover{color:var(--on-surface)}.btn--full{width:100%;justify-content:center}.material-icons{font-size:1.25em;vertical-align:middle}.prose{font-size:1.0625rem;line-height:1.85;color:var(--on-surface-variant)}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--on-surface);margin-top:var(--spacing-24);margin-bottom:var(--spacing-8)}.prose h1{font-size:2rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.25rem}.prose p{margin-bottom:var(--spacing-12);color:var(--on-surface-variant);line-height:1.85}.prose strong{color:var(--on-surface);font-weight:600}.prose ul,.prose ol{padding-left:var(--spacing-16);margin-bottom:var(--spacing-12);color:var(--on-surface-variant)}.prose li{margin-bottom:var(--spacing-4)}.prose blockquote{border-left:3px solid var(--primary);padding-left:var(--spacing-12);margin:var(--spacing-12) 0;color:var(--on-surface-variant);font-style:italic}.prose table{width:100%;border-collapse:collapse;margin:var(--spacing-12) 0;font-size:.9375rem}.prose th,.prose td{padding:var(--spacing-6) var(--spacing-8);text-align:left;border-bottom:1px solid var(--ghost-border)}.prose th{font-family:var(--font-label);font-weight:600;color:var(--on-surface);font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em}.prose img{max-width:100%;border-radius:var(--rounded-md);margin:var(--spacing-12) 0}.prose pre,.prose code{font-family:var(--font-label)}.prose code{background:var(--surface-container);padding:.15em .35em;border-radius:var(--rounded-sm);font-size:.9em}.prose pre{background:var(--surface-container-lowest);border:1px solid var(--ghost-border);border-radius:var(--rounded-md);padding:var(--spacing-12);overflow-x:auto;margin:var(--spacing-12) 0}.prose pre code{background:none;padding:0;border-radius:0;font-size:.875rem;line-height:1.6}.prose .hljs-keyword,.prose .hljs-selector-tag,.prose .hljs-built_in{color:var(--tertiary)}.prose .hljs-string,.prose .hljs-attr{color:var(--secondary)}.prose .hljs-comment,.prose .hljs-quote{color:var(--on-surface-variant);opacity:.6;font-style:italic}.prose .hljs-number,.prose .hljs-literal{color:var(--primary)}.prose .hljs-title,.prose .hljs-section,.prose .hljs-title\.function_{color:var(--primary-dim)}.prose .hljs-type,.prose .hljs-title\.class_{color:#e5c07b}.prose .hljs-meta,.prose .hljs-meta .hljs-keyword{color:var(--tertiary-container)}.prose .hljs-variable,.prose .hljs-template-variable{color:var(--on-surface)}.prose .hljs-attribute{color:var(--secondary)}.prose .hljs-tag{color:var(--on-surface-variant)}.prose .hljs-name{color:var(--tertiary)}.prose .hljs-property{color:var(--primary-dim)}.prose .hljs-selector-class,.prose .hljs-selector-id{color:var(--secondary)}.prose .hljs-punctuation{color:var(--on-surface-variant)}::view-transition-group(*){animation-duration:.25s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(header),::view-transition-new(header){animation:none;mix-blend-mode:normal}::view-transition-old(content){animation:vt-fade-out .2s ease-out both}::view-transition-new(content){animation:vt-fade-in .2s ease-out both}::view-transition-old(*):only-child{animation:vt-shrink-out .25s ease-out both}::view-transition-new(*):only-child{animation:vt-shrink-in .25s ease-out both}html:active-view-transition-type(filter)::view-transition-old(content),html:active-view-transition-type(filter)::view-transition-new(content),html:active-view-transition-type(filter)::view-transition-group(content){animation:none}html:active-view-transition-type(filter)::view-transition-group(*){animation-duration:.4s;animation-timing-function:cubic-bezier(.2,0,0,1)}html:active-view-transition-type(filter)::view-transition-group(root),html:active-view-transition-type(filter)::view-transition-old(root),html:active-view-transition-type(filter)::view-transition-new(root),html:active-view-transition-type(filter)::view-transition-group(header),html:active-view-transition-type(filter)::view-transition-old(header),html:active-view-transition-type(filter)::view-transition-new(header){animation:none}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-shrink-out{to{opacity:0;transform:scale(.94)}}@keyframes vt-shrink-in{0%{opacity:0;transform:scale(.94)}}body:after{content:"";position:fixed;inset:0;z-index:-2;background-color:var(--cosmic-base);background-image:var(--cosmic-gradient);background-repeat:no-repeat;filter:blur(80px);pointer-events:none}body:before{content:"";position:fixed;inset:0;z-index:-1;background-image:var(--cosmic-gradient-2),radial-gradient(var(--dot-grid-color) 1px,transparent 1px);background-size:100% 100%,40px 40px;background-repeat:no-repeat;filter:blur(0px);pointer-events:none}tbw-grid{--tbw-color-bg: transparent;--tbw-color-panel-bg: var(--surface-container);--tbw-color-fg: var(--on-surface);--tbw-color-fg-muted: var(--on-surface-variant);--tbw-color-accent: var(--primary);--tbw-color-accent-fg: var(--on-primary);--tbw-color-shadow: rgba(0, 0, 0, .4);--tbw-color-header-bg: transparent;--tbw-color-header-fg: var(--on-surface-variant);--tbw-color-header-separator: var(--ghost-border);--tbw-header-text-transform: uppercase;--tbw-header-letter-spacing: .06em;--tbw-font-size-header: .75em;--tbw-font-weight-header: 500;--tbw-header-height: 3em;--tbw-color-row-hover: var(--surface-container);--tbw-color-row-alt: transparent;--tbw-color-selection: var(--selection-bg);--tbw-color-active-row-bg: var(--selection-bg);--tbw-row-height: 3.75em;--tbw-color-border: var(--ghost-border);--tbw-color-border-cell: transparent;--tbw-color-border-header: var(--ghost-border);--tbw-border-header: 1px solid var(--ghost-border);--tbw-row-divider: 1px solid var(--outline-variant);--tbw-border-radius: 0;--tbw-row-hover-outline: 0;--tbw-font-family: var(--font-body);--tbw-cell-padding: .5em .75em;--tbw-focus-outline: 0;--tbw-range-border-color: var(--primary);--tbw-range-selection-bg: var(--primary);--tbw-sort-indicator-color: var(--outline);--tbw-sort-indicator-active-color: var(--primary);--tbw-sort-indicator-visibility: hidden;--tbw-filter-btn-visibility: hidden;--tbw-scrollbar-thumb: var(--outline-variant);--tbw-scrollbar-track: transparent;--tbw-filter-panel-bg: var(--surface-container);--tbw-filter-panel-fg: var(--on-surface);--tbw-filter-panel-border: var(--ghost-border);--tbw-filter-accent: var(--primary);--tbw-filter-accent-fg: var(--on-primary);--tbw-filter-hover: var(--surface-container-high);--tbw-filter-muted: var(--on-surface-variant);--tbw-filter-divider: var(--ghost-border);--tbw-filter-input-bg: var(--surface-container-lowest);--tbw-filter-input-border: var(--ghost-border);--tbw-pinned-rows-bg: transparent;--tbw-pinned-rows-border: var(--ghost-border);--tbw-pinned-rows-color: var(--on-surface-variant);--tbw-row-change-color: var(--primary);--tbw-icon-size: 18px;--tbw-icon-size-sm: 16px;--tbw-transition-duration: .2s;--tbw-transition-ease: cubic-bezier(.2, 0, 0, 1);--tbw-resize-handle-color: transparent;--tbw-resize-handle-color-hover: var(--primary);--tbw-resize-handle-border-radius: 4px}.data-grid-header-cell:hover{--tbw-sort-indicator-visibility: visible;--tbw-filter-btn-visibility: visible}.data-grid-header-cell[aria-sort]{--tbw-sort-indicator-visibility: visible}.header-row .cell:after{content:"";position:absolute;top:30%;right:0;width:1px;height:40%;background:var(--ghost-border)}.header-row .cell>span[part~=sort-indicator]{font-size:16px}.header-row .cell>span[part~=sort-indicator]>*{width:1em;height:1em}.header-row .cell .tbw-filter-btn{font-size:16px}.header-row .cell .tbw-filter-btn>*{width:1em;height:1em}.header-row .cell:first-child,.data-grid-row .cell:first-child{padding-left:16px}.header-row cell:last-child,.data-grid-row cell:last-child{padding-right:16px}.tbw-footer>*{padding:0 16px}tbw-grid input[type=checkbox],.tbw-filter-panel input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--outline);border-radius:2px;background:transparent;position:relative;transition:background-color .1s cubic-bezier(.2,0,0,1),border-color .1s cubic-bezier(.2,0,0,1);cursor:pointer;outline:none;vertical-align:middle;flex-shrink:0}tbw-grid input[type=checkbox]:after,.tbw-filter-panel input[type=checkbox]:after{content:"";position:absolute;display:none;left:4px;top:0;width:5px;height:10px;border:solid var(--on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}tbw-grid input[type=checkbox]:checked,.tbw-filter-panel input[type=checkbox]:checked{background-color:var(--primary);border-color:var(--primary)}tbw-grid input[type=checkbox]:checked:after,.tbw-filter-panel input[type=checkbox]:checked:after{display:block}tbw-grid input[type=checkbox]:indeterminate,.tbw-filter-panel input[type=checkbox]:indeterminate{background-color:var(--primary);border-color:var(--primary)}tbw-grid input[type=checkbox]:indeterminate:after,.tbw-filter-panel input[type=checkbox]:indeterminate:after{display:block;left:3px;top:6px;width:8px;height:0;border-width:0 0 2px 0;transform:none}tbw-grid input[type=checkbox]:hover:before,.tbw-filter-panel input[type=checkbox]:hover:before{content:"";position:absolute;inset:-10px;border-radius:50%;background:#8ff5ff14}tbw-grid button,.tbw-filter-panel button{font-weight:500;letter-spacing:.01em;min-height:36px;border-radius:20px;transition:filter .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1)}.tbw-filter-panel{--tbw-color-accent: var(--primary);--tbw-color-accent-fg: var(--on-primary);--tbw-color-border-strong: var(--outline);--tbw-color-panel-bg: var(--surface-container);--tbw-color-row-hover: var(--surface-container-high);--tbw-transition-ease: cubic-bezier(.2, 0, 0, 1);--tbw-filter-item-height: 36px;border-radius:var(--rounded-lg);font-family:var(--font-body);box-shadow:0 1px 3px #0000004d,0 4px 8px 3px #00000026}.tbw-filter-panel .tbw-filter-search-input,.tbw-filter-panel .tbw-filter-range-input,.tbw-filter-panel .tbw-filter-date-input{background:var(--surface-container-lowest);border:none;border-bottom:1px solid var(--outline);border-radius:4px 4px 0 0;height:36px;padding:8px 12px;font-family:inherit;color:var(--on-surface);caret-color:var(--primary);transition:border-color .15s cubic-bezier(.2,0,0,1)}.tbw-filter-panel .tbw-filter-search-input:focus,.tbw-filter-panel .tbw-filter-range-input:focus,.tbw-filter-panel .tbw-filter-date-input:focus{border-bottom:2px solid var(--primary);padding-bottom:7px;box-shadow:none}.tbw-filter-panel .tbw-filter-value-item{border-radius:8px;transition:background .15s cubic-bezier(.2,0,0,1)}.tbw-filter-panel .tbw-filter-value-item:hover{background:var(--surface-container-high)}.tbw-filter-panel .tbw-filter-apply-btn:hover{filter:brightness(1.08);box-shadow:0 1px 3px #00000026}.tbw-filter-panel .tbw-filter-clear-btn{color:var(--primary);border-color:var(--outline)}.tbw-filter-panel .tbw-filter-clear-btn:hover{background:var(--surface-container-high)}.tbw-filter-panel .tbw-filter-range-track,.tbw-filter-panel .tbw-filter-range-fill{height:4px;border-radius:2px}.tbw-filter-panel .tbw-filter-range-thumb::-webkit-slider-thumb{width:20px;height:20px;border:none;box-shadow:0 1px 3px #0003,0 1px 2px #0000001a}.tbw-filter-panel .tbw-filter-range-thumb::-moz-range-thumb{width:20px;height:20px;border:none;box-shadow:0 1px 3px #0003,0 1px 2px #0000001a}
