@charset "UTF-8";@font-face{font-family:Inter;src:url(/assets/fonts/Inter-Subset.woff2) format("woff2");font-weight:100 900;font-display:optional;font-style:normal}@font-face{font-family:Manrope;src:url(/assets/fonts/Manrope-Subset.woff2) format("woff2");font-weight:100 900;font-display:optional;font-style:normal}html:has(body.drawer-open){overflow:hidden}body.drawer-open{touch-action:none}:root{--page-width: min(100rem, 90vw);--page-width-inner: min(100rem, 90vw);--page-width-small: min(100rem, 90vw);--page-width-reading: min(75rem, 90vw);--page-width-xs: min(30rem, 90vw);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Manrope", var(--font-sans);--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-md: 1.0625rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.5rem;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 20px;--radius-lg: 32px;--radius-pill: 9999px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.175, .885, .32, 1.275);--motion-fast: .12s;--motion-base: .2s;--motion-slow: .36s;--motion-enter: .56s;--motion-stagger: 45ms;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-standard: cubic-bezier(.4, 0, .2, 1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-12: 6rem;--gap-display: 2rem;--gap-component: 1rem;--gap-element: .5rem;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--radius-xl: 48px;--gap-h2-text: var(--space-6);--gap-h2-cards: var(--space-6);--gap-text-cards: var(--space-6);--gap-cards-text: var(--space-6);--gap-text-h2: var(--space-12);--gap-cards-h2: var(--space-12)}@media(max-width:768px){:root{--page-width-inner: var(--page-width);--page-width-small: var(--page-width);--page-width-reading: var(--page-width)}}:root,[data-theme=light]{--primary-solid-base: #a94e00;--primary-solid-strong: #8d3d00;--primary-solid-bright: #c16f03;--primary-solid-on-primary-strong: #fff;--primary-solid-on-primary-base: #ffe8dc;--primary-solid-on-primary-subtle: color-mix( in srgb, var(--primary-solid-on-primary-base) 70%, transparent );--primary-state-hover: color-mix(in srgb, var(--primary-solid-base) 14%, transparent);--primary-state-selected: color-mix(in srgb, var(--primary-solid-base) 28%, transparent);--primary-state-hover-transparent: color-mix(in srgb, var(--primary-solid-base) 7%, transparent);--primary-state-selected-transparent: color-mix( in srgb, var(--primary-solid-base) 22%, transparent );--secondary-solid-base: #7c3aed;--secondary-solid-strong: #6d28d9;--secondary-solid-bright: #8b5cf6;--secondary-solid-on-secondary-strong: #fff;--surface-solid-grounded: #f4f5f7;--surface-solid-shallow: #e9ebef;--surface-solid-peaked: #fff;--surface-solid-on-surface-strong: #14161b;--surface-solid-on-surface-base: #464b57;--surface-solid-on-surface-subtle: #5b6170;--surface-solid-on-surface-muted: var(--surface-solid-on-surface-subtle);--surface-outline-base: #b6bac4;--surface-effects-opacity-50: color-mix(in srgb, #fff 50%, transparent);--scrim-modal: color-mix(in srgb, #14161b 46%, transparent);--error-solid-base: #cc1f19;--error-solid-inverted: #a61915;--error-solid-bright: #e94f49;--error-solid-on-error: #fff;--error-outline-base: color-mix(in srgb, #e94f49 50%, transparent);--warning-solid-base: #f2b705;--warning-solid-inverted: #7a5a00;--warning-solid-on-warning: #14161b;--warning-on-surface: #866303;--warning-outline-base: color-mix(in srgb, #f2b705 50%, transparent);--success-solid-base: #067944;--success-solid-inverted: #05633a;--success-solid-bright: #019954;--success-solid-on-success: #fff;--success-outline-base: color-mix(in srgb, #019954 50%, transparent);--gradient-brand-text: linear-gradient( 135deg, var(--surface-solid-on-surface-strong) 0%, var(--primary-solid-base) 100% );--gradient-sheen: linear-gradient(transparent, transparent);--gradient-tint-primary: linear-gradient( color-mix(in srgb, var(--primary-solid-base) 7%, var(--surface-solid-peaked)), color-mix(in srgb, var(--primary-solid-base) 7%, var(--surface-solid-peaked)) );--gradient-tint-danger: linear-gradient( color-mix(in srgb, var(--error-solid-base) 7%, var(--surface-solid-peaked)), color-mix(in srgb, var(--error-solid-base) 7%, var(--surface-solid-peaked)) );--gradient-tint-success: linear-gradient( color-mix(in srgb, var(--success-solid-base) 7%, var(--surface-solid-peaked)), color-mix(in srgb, var(--success-solid-base) 7%, var(--surface-solid-peaked)) );--gradient-tint-warm: linear-gradient( color-mix(in srgb, var(--warning-solid-base) 9%, var(--surface-solid-grounded)), color-mix(in srgb, var(--warning-solid-base) 9%, var(--surface-solid-grounded)) );--gradient-tint-cool: linear-gradient( color-mix(in srgb, var(--secondary-solid-base) 6%, var(--surface-solid-grounded)), color-mix(in srgb, var(--secondary-solid-base) 6%, var(--surface-solid-grounded)) );--grad-hero-wash: linear-gradient( 180deg, color-mix(in srgb, var(--primary-solid-bright) 8%, transparent), transparent 45% ), var(--surface-solid-grounded);--grad-status-glow: linear-gradient( 180deg, color-mix(in srgb, var(--primary-solid-bright) 7%, transparent), transparent 55% );--grad-accent-edge: linear-gradient( 180deg, color-mix(in srgb, var(--secondary-solid-bright) 7%, transparent), transparent 55% );--grad-header-band: linear-gradient(var(--surface-solid-peaked), var(--surface-solid-peaked));--grad-scrim-bottom: linear-gradient( 180deg, transparent 0%, transparent 40%, color-mix(in srgb, var(--surface-solid-grounded) 70%, transparent) 75%, var(--surface-solid-grounded) 100% );--grad-shimmer: linear-gradient( 90deg, transparent 0%, var( --grad-shimmer-tint, color-mix(in srgb, var(--surface-solid-on-surface-strong) 12%, transparent) ) 50%, transparent 100% );--shadow-light: #fff;--shadow-dark: #d3d6dc;--shadow-glow: color-mix(in srgb, var(--primary-solid-bright) 30%, transparent);--shadow-raised: inset 0 1px 0 color-mix(in srgb, #fff 80%, transparent), 0 1px 2px color-mix(in srgb, #14161b 6%, transparent), 0 10px 24px -12px color-mix(in srgb, #14161b 22%, transparent);--shadow-raised-sm: inset 0 1px 0 color-mix(in srgb, #fff 70%, transparent), 0 1px 2px color-mix(in srgb, #14161b 8%, transparent);--shadow-pressed: inset 0 1px 3px color-mix(in srgb, #14161b 14%, transparent);--shadow-pressed-sm: inset 0 1px 2px color-mix(in srgb, #14161b 10%, transparent);--Neu-Base: var(--surface-solid-grounded);--bg-surface: var(--surface-solid-shallow);--bg-elevated: var(--surface-solid-peaked);--Neu-Text-Main: var(--surface-solid-on-surface-strong);--Neu-Text-Secondary: var(--surface-solid-on-surface-base);--Neu-Text-Muted: var(--surface-solid-on-surface-subtle);--accent-primary: var(--primary-solid-base);--accent-primary-subtle: color-mix(in srgb, var(--primary-solid-base), transparent 10%);--accent-secondary: var(--secondary-solid-base);--accent-danger: var(--error-solid-base);--accent-success: var(--success-solid-base);--accent-warning: var(--warning-solid-base);--border-subtle: var(--surface-outline-base);--highlight-subtle: var(--surface-effects-opacity-50)}[data-theme=dark]{--primary-solid-base: #e68c2c;--primary-solid-strong: #c46d01;--primary-solid-bright: #ff9d35;--primary-solid-on-primary-strong: #16181c;--primary-solid-on-primary-base: #402811;--primary-solid-on-primary-subtle: color-mix( in srgb, var(--primary-solid-on-primary-base) 70%, transparent );--primary-state-hover: color-mix(in srgb, #e68c2c 16%, transparent);--primary-state-selected: color-mix(in srgb, #e68c2c 32%, transparent);--primary-state-hover-transparent: color-mix(in srgb, #e68c2c 6%, transparent);--primary-state-selected-transparent: color-mix(in srgb, #e68c2c 25%, transparent);--secondary-solid-base: #c4a5f0;--secondary-solid-strong: #8839ef;--secondary-solid-bright: #cba6f7;--secondary-solid-on-secondary-strong: #fff;--surface-solid-grounded: #16181c;--surface-solid-shallow: #23262c;--surface-solid-peaked: #282b32;--surface-solid-on-surface-strong: #e8e6e1;--surface-solid-on-surface-base: #a1a4ac;--surface-solid-on-surface-subtle: #919296;--surface-solid-on-surface-muted: var(--surface-solid-on-surface-subtle);--surface-outline-base: #737478;--surface-effects-opacity-50: color-mix(in srgb, #cba6f7 5%, transparent);--scrim-modal: color-mix(in srgb, #08080b 66%, transparent);--error-solid-base: #ef8fa4;--error-solid-inverted: #7a1f30;--error-solid-bright: #f38ba8;--error-solid-on-error: #fff;--error-outline-base: color-mix(in srgb, #f38ba8 50%, transparent);--warning-solid-base: #e8cf94;--warning-solid-inverted: #7a5500;--warning-solid-on-warning: #1e1e2e;--warning-on-surface: #f9e2af;--warning-outline-base: color-mix(in srgb, #f9e2af 50%, transparent);--success-solid-base: #8fd18a;--success-solid-inverted: #3d6620;--success-solid-bright: #a6e3a1;--success-solid-on-success: #1e1e2e;--success-outline-base: color-mix(in srgb, #a6e3a1 50%, transparent);--gradient-brand-text: linear-gradient( 135deg, var(--surface-solid-on-surface-strong) 0%, var(--primary-solid-base) 100% );--gradient-sheen: linear-gradient(135deg, color-mix(in srgb, #fff 10%, transparent), transparent);--gradient-tint-primary: linear-gradient( 135deg, var(--surface-solid-shallow) 0%, color-mix(in srgb, var(--primary-solid-base) 8%, transparent) 100% );--gradient-tint-danger: linear-gradient( 135deg, var(--surface-solid-shallow) 0%, color-mix(in srgb, var(--error-solid-base) 8%, transparent) 100% );--gradient-tint-success: linear-gradient( 135deg, var(--surface-solid-shallow) 0%, color-mix(in srgb, var(--success-solid-base) 8%, transparent) 100% );--gradient-tint-warm: linear-gradient( 135deg, var(--surface-solid-grounded) 0%, color-mix(in srgb, var(--warning-solid-base) 6%, transparent) 100% );--gradient-tint-cool: linear-gradient( 135deg, var(--surface-solid-grounded) 0%, color-mix(in srgb, var(--primary-solid-base) 6%, transparent) 100% );--grad-hero-wash: radial-gradient( circle at var(--grad-glow-pos, 80% 20%), color-mix(in srgb, var(--primary-solid-base) 22%, transparent), transparent 50% ), radial-gradient( circle at var(--grad-edge-pos, 12% 80%), color-mix(in srgb, var(--secondary-solid-base) 18%, transparent), transparent 55% ), var(--surface-solid-grounded);--grad-status-glow: radial-gradient( circle at var(--grad-glow-pos, 50% 25%), color-mix(in srgb, var(--primary-solid-base) 14%, transparent), transparent 55% );--grad-accent-edge: radial-gradient( circle at var(--grad-edge-pos, 80% 70%), color-mix(in srgb, var(--secondary-solid-base) 12%, transparent), transparent 55% );--grad-header-band: linear-gradient( 135deg, var(--surface-solid-peaked) 0%, var(--surface-solid-grounded) 100% );--grad-scrim-bottom: linear-gradient( 180deg, transparent 0%, transparent 40%, color-mix(in srgb, var(--surface-solid-grounded) 70%, transparent) 75%, var(--surface-solid-grounded) 100% );--grad-shimmer: linear-gradient( 90deg, transparent 0%, var( --grad-shimmer-tint, color-mix(in srgb, var(--surface-solid-on-surface-strong) 8%, transparent) ) 50%, transparent 100% );--shadow-light: color-mix(in srgb, #fff 10%, transparent);--shadow-dark: color-mix(in srgb, #000 45%, transparent);--shadow-glow: color-mix(in srgb, #ff9d35 12%, transparent);--shadow-raised: inset 0 1px 0 color-mix(in srgb, #fff 9%, transparent), 0 1px 2px color-mix(in srgb, #000 42%, transparent), 0 10px 24px -12px color-mix(in srgb, #000 72%, transparent);--shadow-raised-sm: inset 0 1px 0 color-mix(in srgb, #fff 7%, transparent), 0 1px 2px color-mix(in srgb, #000 42%, transparent);--shadow-pressed: inset 0 2px 4px color-mix(in srgb, #000 52%, transparent);--shadow-pressed-sm: inset 0 1px 3px color-mix(in srgb, #000 46%, transparent);--Neu-Base: var(--surface-solid-grounded);--bg-surface: var(--surface-solid-shallow);--bg-elevated: var(--surface-solid-peaked);--Neu-Text-Main: var(--surface-solid-on-surface-strong);--Neu-Text-Secondary: var(--surface-solid-on-surface-base);--Neu-Text-Muted: var(--surface-solid-on-surface-subtle);--accent-primary: var(--primary-solid-base);--accent-primary-subtle: color-mix(in srgb, var(--primary-solid-base), transparent 10%);--accent-secondary: var(--secondary-solid-base);--accent-danger: var(--error-solid-base);--accent-success: var(--success-solid-base);--accent-warning: var(--warning-solid-base);--border-subtle: var(--surface-outline-base);--highlight-subtle: var(--surface-effects-opacity-50)}html{width:100%;height:100%;font-size:95%;box-sizing:border-box;scroll-behavior:smooth;overflow-x:hidden}html *,html *:before,html *:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;font-family:inherit}body{width:100%;margin:0;font-family:var(--font-sans);font-size:1rem;color:var(--Neu-Text-Main);background:var(--Neu-Base);display:block;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}body .firebase-emulator-warning{display:none}body app-root{width:100%;min-height:100dvh;display:grid;grid-template:minmax(10px,1fr)/minmax(10px,1fr)}body *::-webkit-scrollbar{width:.375rem;height:.375rem}body *::-webkit-scrollbar-thumb{background:var(--Neu-Text-Muted);border-radius:var(--radius-xs)}body *::-webkit-scrollbar-track{background:transparent}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:800;color:var(--Neu-Text-Main);margin-block-end:var(--space-3);letter-spacing:-.02em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}a{color:var(--accent-primary);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}.sr-only{position:absolute;width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}app-markdown-renderer .prose-toc{max-width:var(--page-width-small);margin-inline:auto;padding:var(--space-5);margin-block-end:var(--space-8);display:grid;gap:var(--space-3)}app-markdown-renderer .prose-toc .toc-title{font-size:.85rem;font-weight:800;text-transform:uppercase;color:var(--Neu-Text-Muted);letter-spacing:.05em}app-markdown-renderer .prose-toc .toc-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}app-markdown-renderer .prose-toc .toc-link{font-size:.95rem;font-weight:600;color:var(--Neu-Text-Secondary);text-decoration:none;transition:color .2s;display:flex;align-items:center}@media(max-width:768px){app-markdown-renderer .prose-toc .toc-link{min-height:44px}}app-markdown-renderer .prose-toc .toc-link:hover{color:var(--accent-primary)}app-markdown-renderer .prose{font-family:var(--font-sans);font-size:1.05rem;color:var(--Neu-Text-Main);line-height:1.8;max-width:var(--page-width-small);margin-inline:auto}app-markdown-renderer .prose h1,app-markdown-renderer .prose h2,app-markdown-renderer .prose h3,app-markdown-renderer .prose h4{font-family:var(--font-display);color:var(--Neu-Text-Main);font-weight:800;line-height:1.2;letter-spacing:-.02em}app-markdown-renderer .prose h1{font-size:2.75rem;margin-block:var(--gap-cards-h2) var(--gap-h2-text)}app-markdown-renderer .prose h2{position:relative;font-size:1.85rem;margin-block:var(--gap-cards-h2) var(--gap-h2-text);padding-block-end:.5rem}app-markdown-renderer .prose h2:after{content:"";position:absolute;inset-block-end:0;inset-inline-start:0;inline-size:4rem;block-size:.25rem;background:var(--accent-primary);border-radius:var(--radius-pill);box-shadow:0 .125rem .25rem var(--shadow-glow)}app-markdown-renderer .prose h3{font-size:1.4rem;color:var(--Neu-Text-Main);margin-block:var(--space-6) var(--gap-h2-text);display:flex;align-items:center;gap:.75rem}app-markdown-renderer .prose h3:before{content:"";inline-size:.5rem;block-size:.5rem;background:var(--accent-primary);border-radius:50%}app-markdown-renderer .prose h4{font-size:1.15rem;margin-block:var(--space-5) var(--gap-h2-text);text-transform:uppercase;letter-spacing:.05em;color:var(--Neu-Text-Secondary)}app-markdown-renderer .prose h1:first-child,app-markdown-renderer .prose h2:first-child,app-markdown-renderer .prose h3:first-child,app-markdown-renderer .prose h4:first-child{margin-block-start:0}app-markdown-renderer .prose p{margin-block:var(--space-4);color:var(--Neu-Text-Secondary)}app-markdown-renderer .prose a{color:var(--accent-primary);font-weight:600;text-decoration:none;background-image:linear-gradient(var(--accent-primary),var(--accent-primary));background-position:0% 100%;background-repeat:no-repeat;background-size:0% .125rem;transition:background-size .3s ease}app-markdown-renderer .prose a:hover{background-size:100% .125rem}app-markdown-renderer .prose ul,app-markdown-renderer .prose ol{padding-inline-start:1.5rem;margin-block:1.5rem;color:var(--Neu-Text-Secondary)}app-markdown-renderer .prose li{margin-block:.75rem;padding-inline-start:.5rem}app-markdown-renderer .prose li::marker{font-weight:700;color:var(--accent-primary)}app-markdown-renderer .prose .callout{position:relative;padding:1.75rem 2rem;background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-raised-sm);display:flex;align-items:flex-start;gap:1.5rem;margin-block:2.5rem;border-inline-start:.375rem solid var(--accent-primary);font-style:normal;overflow:hidden}app-markdown-renderer .prose .callout:before{content:"";position:absolute;inset:0;background:var(--gradient-sheen);pointer-events:none}app-markdown-renderer .prose .callout__icon-container{position:relative;width:3.5rem;height:3.5rem;color:var(--Neu-Text-Main);background:var(--bg-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised-sm);display:grid;flex-shrink:0;place-items:center;margin-block-start:-.25rem;z-index:2}app-markdown-renderer .prose .callout__icon{font-size:1.75rem;line-height:1}app-markdown-renderer .prose .callout__content{position:relative;font-size:1.05rem;color:var(--Neu-Text-Secondary);flex:1;line-height:1.6;z-index:2}app-markdown-renderer .prose .callout__content p:first-child{margin-block-start:0}app-markdown-renderer .prose .callout__content p:last-child{margin-block-end:0}app-markdown-renderer .prose .callout__content strong{color:var(--Neu-Text-Main);font-weight:800}app-markdown-renderer .prose .callout--important{border-inline-start-color:var(--accent-danger);background:var(--gradient-tint-danger)}app-markdown-renderer .prose .callout--important .callout__icon-container{color:var(--accent-danger);box-shadow:.25rem .25rem .625rem color-mix(in srgb,var(--accent-danger) 15%,transparent),-.25rem -.25rem .625rem var(--shadow-light)}app-markdown-renderer .prose .callout--important .callout__content{color:var(--Neu-Text-Main);font-weight:500}app-markdown-renderer .prose .callout--note{border-inline-start-color:var(--accent-primary);background:var(--gradient-tint-primary)}app-markdown-renderer .prose .callout--note .callout__icon-container{color:var(--accent-primary);box-shadow:.25rem .25rem .625rem color-mix(in srgb,var(--accent-primary) 15%,transparent),-.25rem -.25rem .625rem var(--shadow-light)}app-markdown-renderer .prose .callout--tip{border-inline-start-color:var(--accent-success);background:var(--gradient-tint-success)}app-markdown-renderer .prose .callout--tip .callout__icon-container{color:var(--accent-success);box-shadow:.25rem .25rem .625rem color-mix(in srgb,var(--accent-success) 15%,transparent),-.25rem -.25rem .625rem var(--shadow-light)}app-markdown-renderer .prose .callout--default{border-inline-start:.375rem solid var(--Neu-Text-Muted);background:var(--bg-surface);box-shadow:var(--shadow-pressed);font-style:italic}app-markdown-renderer .prose .callout--default .callout__icon-container{box-shadow:var(--shadow-pressed)}app-markdown-renderer .prose blockquote:not(.callout){margin-block:2rem;padding-inline:1.5rem;border-inline-start:.25rem solid var(--accent-primary);color:var(--Neu-Text-Muted);font-style:italic}app-markdown-renderer .prose code{padding:.2rem var(--space-2);font-family:var(--font-mono);font-size:.9rem;color:var(--accent-primary);background:var(--bg-surface);border-radius:var(--radius-xs);font-weight:600;word-break:break-all}app-markdown-renderer .prose .codeblock{margin-block:2rem;background:var(--bg-surface);border:1px solid var(--Neu-Text-Muted);border-radius:var(--radius-md);overflow:hidden}app-markdown-renderer .prose .codeblock__top{padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);border-block-end:1px solid var(--border-subtle)}app-markdown-renderer .prose .codeblock__name{font-family:var(--font-mono);font-size:.6875rem;color:var(--Neu-Text-Secondary);letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-markdown-renderer .prose pre{position:relative;padding:1.5rem;background:var(--bg-surface);border:1px solid var(--Neu-Text-Muted);border-radius:var(--radius-md);overflow-x:auto;margin-block:2rem}app-markdown-renderer .prose pre code{padding:0;font-family:var(--font-mono);font-size:.9rem;color:var(--Neu-Text-Main);background:none;box-shadow:none;line-height:1.6}app-markdown-renderer .prose .codeblock>pre{margin-block:0;border:0;border-radius:0}app-markdown-renderer .prose code:not(pre code){box-shadow:var(--shadow-raised-sm)}app-markdown-renderer .prose .code-copy-btn{margin-inline-start:auto;padding:.2rem .6rem;font-size:.7rem;color:var(--Neu-Text-Secondary);background:transparent;border:0;border-radius:var(--radius-sm);display:inline-flex;flex:none;justify-content:center;align-items:center;min-height:44px;min-width:44px;font-weight:700;cursor:pointer;transition:color .15s ease}app-markdown-renderer .prose .code-copy-btn:hover,app-markdown-renderer .prose .code-copy-btn:focus-visible{color:var(--accent-primary);outline:none}app-markdown-renderer .prose .table-wrapper{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-block:2.5rem;padding:.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-pressed)}app-markdown-renderer .prose table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}app-markdown-renderer .prose table th{padding:1rem 1.5rem;font-size:.75rem;color:var(--Neu-Text-Main);background:var(--bg-surface);font-weight:700;text-align:left;border-block-end:.125rem solid var(--accent-primary);text-transform:uppercase;letter-spacing:.05em}app-markdown-renderer .prose table td{padding:1rem 1.5rem;border-block-end:.0625rem solid var(--border-subtle);color:var(--Neu-Text-Secondary);background:transparent;transition:background .2s}app-markdown-renderer .prose table tr:last-child td{border-block-end:none}app-markdown-renderer .prose table tr:hover td{background:color-mix(in srgb,var(--accent-primary) 3%,transparent)}app-markdown-renderer .prose img{max-width:100%;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-raised);margin-block:2rem}app-markdown-renderer .prose hr{background:var(--border-subtle);border:none;border-radius:var(--radius-pill);block-size:.25rem;margin-block:4rem;opacity:.5}:root{--bottom-nav-height: 3.5rem;--bottom-nav-clearance: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px));--z-base: 0;--z-raised: 10;--z-nav: 1000;--z-overlay: 1100;--z-modal: 1200;--z-toast: 1300}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{border-radius:var(--radius-xs);box-shadow:0 0 0 4px var(--surface-solid-grounded);outline:2px solid var(--primary-solid-base);outline-offset:2px}html:has(dialog:modal){overflow:hidden}.shell-body--console>*:not(nav,router-outlet){width:100%;max-width:100%;min-width:0;margin-inline:0;box-sizing:border-box;padding:var(--space-5) var(--space-6) var(--space-8);align-self:start;align-content:start}@media(width<=768px){.shell-body--console>*:not(nav,router-outlet){padding:var(--space-4) var(--space-4) calc(var(--space-6) + var(--bottom-nav-clearance))}}@keyframes enter-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes enter-fade{0%{opacity:0}to{opacity:1}}@keyframes draw-path{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes settle-in{0%{opacity:0;filter:blur(6px);transform:translateY(6px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.neu-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-raised);padding:var(--space-5);border-radius:var(--radius-lg);transition:all .2s}.neu-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-raised);font-family:var(--font-sans);font-size:1rem;color:var(--accent-primary);border-radius:var(--radius-sm);box-shadow:none;display:inline-grid;justify-content:center;align-items:center;gap:var(--space-2);appearance:none;padding-block:var(--space-3);padding-inline:var(--space-6);font-weight:700;cursor:pointer;transition:all .2s;grid-auto-flow:column}.neu-btn:hover{color:var(--Neu-Text-Main);transform:translateY(-2px)}.neu-btn:active{transform:translateY(0)}.neu-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.neu-btn.primary,.neu-btn.btn-primary{background-color:var(--accent-primary);color:var(--primary-solid-on-primary-strong)}.neu-btn.primary:hover,.neu-btn.btn-primary:hover{background-color:color-mix(in srgb,var(--accent-primary),var(--shadow-light) 10%);color:var(--primary-solid-on-primary-strong)}.neu-btn.lg{padding-block:var(--space-4);padding-inline:var(--space-8);font-size:1.125rem;border-radius:var(--radius-md)}.neu-btn.small{padding-block:var(--space-2);padding-inline:var(--space-4);font-size:.875rem;border-radius:var(--radius-sm)}.neu-btn.tiny{padding-block:var(--space-1);padding-inline:var(--space-3);font-size:.75rem;border-radius:calc(var(--radius-sm) * .75);box-shadow:unset}.neu-btn.pill{border-radius:var(--radius-pill)}.neu-btn.danger{color:var(--error-solid-on-error);background:var(--error-solid-base)}.neu-btn.danger:hover{color:var(--error-solid-on-error);background:var(--error-solid-inverted)}.neu-icon-btn{width:3rem;height:3rem;color:var(--Neu-Text-Secondary);border-radius:50%;display:grid;cursor:pointer;transition:all .2s;place-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-raised)}.neu-icon-btn:hover{color:var(--accent-primary);transform:translateY(-2px)}.neu-icon-btn{box-shadow:none}.neu-icon-btn:hover{box-shadow:var(--shadow-raised-sm)}.neu-icon-btn fa-icon{font-size:1.1rem}.neu-icon-btn:active{box-shadow:var(--shadow-pressed);transform:translateY(0)}.neu-icon-btn.small{width:2.5rem;height:2.5rem;color:var(--Neu-Text-Secondary);border-radius:50%;display:grid;cursor:pointer;transition:all .2s;place-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-raised)}.neu-icon-btn.small:hover{color:var(--accent-primary);transform:translateY(-2px)}.neu-icon-btn.small{box-shadow:none}.neu-icon-btn.small fa-icon{font-size:.9rem}.neu-icon-btn.tiny{width:2rem;height:2rem;color:var(--Neu-Text-Secondary);border-radius:50%;display:grid;cursor:pointer;transition:all .2s;place-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-raised)}.neu-icon-btn.tiny:hover{color:var(--accent-primary);transform:translateY(-2px)}.neu-icon-btn.tiny{font-size:.8rem;box-shadow:unset}.neu-input{width:100%;font-family:var(--font-sans);font-size:1rem;color:var(--Neu-Text-Main);border:none;border-radius:var(--radius-md);padding-block:var(--space-3);padding-inline:var(--space-5);outline:none;transition:all .2s;background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-pressed)}.neu-input::placeholder{color:var(--Neu-Text-Muted)}.neu-input:focus{box-shadow:var(--shadow-pressed),0 0 0 2px color-mix(in srgb,var(--primary-solid-base) 30%,transparent)}.neu-input--error{box-shadow:var(--shadow-pressed),0 0 0 2px color-mix(in srgb,var(--error-solid-base) 30%,transparent)}.neu-input.small{padding-block:var(--space-3);padding-inline:var(--space-4);font-size:.9rem}.neu-input.pill{border-radius:var(--radius-pill)}.neu-select{width:100%;font-family:var(--font-sans);font-size:1rem;color:var(--Neu-Text-Main);border:none;border-radius:var(--radius-md);padding-block:var(--space-3);padding-inline:var(--space-5);outline:none;background-color:var(--bg-surface);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0aec0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;transition:all .2s;background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-pressed)}.neu-select:focus{box-shadow:var(--shadow-pressed),0 0 0 2px color-mix(in srgb,var(--primary-solid-base) 30%,transparent)}.neu-toggle{background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-pressed);position:relative;cursor:pointer;border-radius:var(--radius-md);inline-size:2.75rem;block-size:1.5rem;transition:all .2s;background-color:var(--bg-surface)}.neu-toggle:before{content:"";position:absolute;inset:-10px -8px;cursor:pointer}.neu-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.neu-toggle__handle{position:absolute;background:var(--Neu-Text-Secondary);border-radius:50%;box-shadow:2px 2px 5px var(--surface-outline-base);inset-block-start:.125rem;inset-inline-start:.125rem;inline-size:1.25rem;block-size:1.25rem;transition:all .2s}.neu-toggle--on .neu-toggle__handle{inset-inline-start:1.375rem;background:var(--accent-primary)}.status-badge{background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-raised);font-size:.85rem;border-radius:var(--radius-pill);display:inline-grid;align-items:center;gap:.375rem;grid-template-columns:auto auto;padding-block:.375rem;padding-inline:.75rem;font-weight:700}.status-badge--success{color:var(--accent-success)}.status-badge--error{color:var(--accent-danger)}.text-accent{color:var(--accent-primary)}.text-danger{color:var(--accent-danger)}.text-muted{color:var(--Neu-Text-Muted)}.text-sm{font-size:.875rem}.w-full{width:100%}.neu-sunken{background:var(--surface-solid-shallow);border:1px solid var(--surface-outline-base);border-radius:var(--radius-md);box-shadow:var(--shadow-pressed)}.chip{padding:0 .85rem;min-block-size:2.25rem;font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--surface-solid-on-surface-base);background:var(--surface-solid-shallow);border:1px solid var(--surface-outline-base);border-radius:var(--radius-pill);box-shadow:none;appearance:none;display:inline-flex;align-items:center;cursor:pointer;transition:color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard)}.chip:hover{color:var(--primary-solid-base);border-color:var(--primary-solid-base)}.chip:active{transform:translateY(1px)}.chip--active{color:var(--primary-solid-on-primary-strong);background:var(--primary-solid-base);border-color:var(--primary-solid-base);box-shadow:none}.full-width{grid-column:1/-1}.text-success{color:var(--accent-success)}.text-warning{color:var(--accent-warning)}.page-header{display:grid;gap:var(--space-2)}.page-header h1{margin:0;font-size:1.75rem}.page-header p{margin:0;font-size:.95rem;color:var(--Neu-Text-Muted)}.neu-badge{background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-raised);font-size:.85rem;color:var(--Neu-Text-Secondary);border-radius:var(--radius-pill);display:inline-flex;align-items:center;padding-block:.375rem;padding-inline:.75rem;font-weight:700}.neu-badge.small{font-size:.75rem;padding-block:.2rem;padding-inline:.5rem}dialog.sheet{position:fixed;inset-block:0;inset-inline:auto 0;margin:0;padding:0;inline-size:min(32rem,100%);max-inline-size:none;block-size:100vh;block-size:100dvh;max-block-size:none;color:inherit;background:var(--surface-solid-peaked);border:none;border-inline-start:1px solid var(--surface-outline-base);box-shadow:-1.5rem 0 3rem color-mix(in srgb,var(--surface-solid-on-surface-strong) 12%,transparent);display:grid;grid-template-rows:auto minmax(10px,1fr) auto;overflow:hidden;transform:translate(100%);transition-property:transform,display,overlay;transition-duration:var(--motion-slow);transition-timing-function:var(--ease-out);transition-behavior:allow-discrete}dialog.sheet[open]{transform:translate(0)}dialog.sheet::backdrop{background:transparent;transition:display var(--motion-slow) allow-discrete,overlay var(--motion-slow) allow-discrete,background-color var(--motion-slow) var(--ease-standard)}dialog.sheet[open]::backdrop{background:var(--scrim-modal)}@media(max-width:768px){dialog.sheet{inline-size:100%;border-inline-start:none}}.sheet__header{padding:var(--space-4) var(--space-5);border-block-end:1px solid color-mix(in srgb,var(--surface-solid-on-surface-strong) 8%,transparent);display:grid;grid-template-columns:minmax(10px,1fr) auto;align-items:center;gap:var(--space-4)}.sheet__title-group{display:grid;gap:.2rem}.sheet__eyebrow{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.18em;color:var(--primary-solid-base)}.sheet__title{margin:0;font-family:var(--font-display);font-size:1.3rem;font-weight:800;letter-spacing:-.015em;color:var(--surface-solid-on-surface-strong);line-height:1.1}.sheet__close{inline-size:2.75rem;block-size:2.75rem;font-size:.95rem;color:var(--surface-solid-on-surface-base);background:var(--surface-solid-shallow);border:1px solid var(--surface-outline-base);border-radius:var(--radius-sm);cursor:pointer;display:inline-grid;place-items:center;transition:color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.sheet__close:hover{color:var(--surface-solid-on-surface-strong);background:var(--surface-solid-peaked)}.sheet__close:active{transform:translateY(1px)}.sheet__body{padding:var(--space-5);display:grid;gap:var(--space-5);overflow-y:auto;overscroll-behavior:contain}@media(prefers-reduced-motion:no-preference){.sheet__body>*{animation:enter-rise var(--motion-enter) var(--ease-out) both;animation-delay:calc(min(var(--i, 0),12) * var(--motion-stagger))}}.sheet__body>*{animation-delay:calc(var(--motion-slow) * .5 + min(var(--i, 0),12) * var(--motion-stagger))}.sheet__field{display:grid;gap:var(--space-2)}.sheet__section{padding:var(--space-4);background:var(--surface-solid-shallow);border:1px solid var(--surface-outline-base);border-radius:var(--radius-sm);display:grid;gap:var(--space-3)}.sheet__shareable-url{margin-block-start:var(--space-2)}.sheet__label{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--surface-solid-on-surface-subtle)}.sheet__label-row{display:flex;align-items:baseline;gap:var(--space-2)}.sheet__optional{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--surface-solid-on-surface-subtle)}.sheet__error{font-size:.8rem;color:var(--error-solid-base)}.sheet__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sheet__checkers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:var(--space-2)}.sheet__footer{padding:var(--space-3) var(--space-5);background:var(--surface-solid-shallow);border-block-start:1px solid color-mix(in srgb,var(--surface-solid-on-surface-strong) 8%,transparent);display:flex;justify-content:flex-end;gap:var(--space-3)}dialog.confirm-dialog{position:fixed;inset:0;margin:auto;padding:var(--space-5);inline-size:min(28rem,100% - 2rem);max-inline-size:none;block-size:fit-content;max-block-size:none;color:inherit;background:var(--surface-solid-peaked);border:1px solid var(--surface-outline-base);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);display:grid;gap:var(--space-4);opacity:0;transform:translateY(6px) scale(.98);transition-property:opacity,transform,display,overlay;transition-duration:var(--motion-base);transition-timing-function:var(--ease-standard);transition-behavior:allow-discrete}dialog.confirm-dialog[open]{opacity:1;transform:translateY(0) scale(1)}dialog.confirm-dialog::backdrop{background:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:display var(--motion-base) allow-discrete,overlay var(--motion-base) allow-discrete,background-color var(--motion-base) var(--ease-standard)}dialog.confirm-dialog[open]::backdrop{background:var(--scrim-modal)}.confirm-dialog__header{display:flex;align-items:center;gap:var(--space-3)}.confirm-dialog__header h2{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:var(--surface-solid-on-surface-strong)}.confirm-dialog p{margin:0;font-size:.875rem;color:var(--surface-solid-on-surface-subtle);line-height:1.5}.confirm-dialog p strong{color:var(--surface-solid-on-surface-strong)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-block-start:var(--space-2)}dialog.sheet:not([open]),dialog.confirm-dialog:not([open]){display:none}@starting-style{dialog.sheet[open]{transform:translate(100%)}dialog.sheet[open]::backdrop{background:transparent}dialog.confirm-dialog[open]{opacity:0;transform:translateY(6px) scale(.98)}dialog.confirm-dialog[open]::backdrop{background:transparent}}@media(prefers-reduced-motion:reduce){dialog.sheet,dialog.confirm-dialog{transform:none}}
