.gl-progress{position:fixed;inset:0 0 auto;z-index:100000;height:2px;pointer-events:none;opacity:0;transition:opacity .3s ease .15s}.gl-progress.is-loading,.gl-progress.is-done{opacity:1;transition-delay:0s}.gl-progress.is-done{opacity:0;transition:opacity .35s ease .2s}.gl-progress-bar{position:absolute;inset:0 auto 0 0;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--primary-text),color-mix(in srgb,var(--primary-text) 55%,#fff));box-shadow:0 0 10px color-mix(in srgb,var(--primary-text) 55%,transparent)}.is-loading .gl-progress-bar{animation:gl-creep 8s cubic-bezier(.08,.7,.2,1) forwards}.is-done .gl-progress-bar{transform:scaleX(1);transition:transform .2s ease-out}@keyframes gl-creep{0%{transform:scaleX(0)}10%{transform:scaleX(.35)}to{transform:scaleX(.92)}}.gl-boot{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:var(--bg-app)}.gl-boot-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem;animation:gl-fade .4s ease both}.gl-boot-mark{display:grid;grid-template-columns:repeat(3,12px);gap:4px}.gl-boot-mark i{width:12px;height:12px;border-radius:3px;background:var(--accent-orange);animation:gl-wave 1.2s ease-in-out infinite;animation-delay:calc(var(--i) * .11s)}@keyframes gl-wave{0%,70%,to{opacity:.22;transform:scale(.72)}35%{opacity:1;transform:scale(1)}}.gl-boot-track{position:relative;width:120px;height:2px;overflow:hidden;border-radius:2px;background:var(--border)}.gl-boot-track:after{content:"";position:absolute;inset:0;width:40%;border-radius:inherit;background:var(--primary-text);animation:gl-slide 1.1s var(--ease-in-out, ease-in-out) infinite}@keyframes gl-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes gl-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.gl-progress-bar{animation:none!important}.is-loading .gl-progress-bar{transform:scaleX(.6)}.gl-boot-track:after{animation:none}.gl-boot-mark i{animation-duration:2.4s}}.ui-btn{--btn-bg: var(--bg-surface);--btn-fg: var(--text);--btn-border: var(--border-strong);--btn-bg-hover: var(--bg-hover);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:38px;padding:0 .95rem;border:1px solid var(--btn-border);border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-fg);font:600 .85rem/1 var(--font-sans);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,transform var(--dur-fast) ease}.ui-btn .material-icons{font-size:1.05rem}.ui-btn:hover:not(:disabled){background:var(--btn-bg-hover)}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{--btn-bg: var(--primary);--btn-fg: var(--primary-contrast);--btn-border: var(--primary);--btn-bg-hover: var(--primary-dark);box-shadow:0 1px 2px #10182814,inset 0 1px #ffffff1f}.ui-btn--dark{--btn-bg: var(--text-strong);--btn-fg: var(--bg-surface);--btn-border: var(--text-strong);--btn-bg-hover: color-mix(in srgb, var(--text-strong) 85%, var(--bg-surface))}.ui-btn--ghost{--btn-bg: transparent;--btn-border: transparent;box-shadow:none}.ui-btn--danger{--btn-bg: var(--danger);--btn-fg: #fff;--btn-border: var(--danger);--btn-bg-hover: color-mix(in srgb, var(--danger) 88%, #000)}.ui-btn--sm{height:32px;padding:0 .7rem;font-size:.8rem;border-radius:var(--radius-xs)}.ui-btn--lg{height:46px;padding:0 1.3rem;font-size:.925rem;border-radius:var(--radius)}.ui-btn--block{width:100%}.ui-btn--icon{width:38px;padding:0}.ui-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.ui-eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.ui-badge{display:inline-flex;align-items:center;gap:.3rem;height:22px;padding:0 .5rem;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--text-muted);font-size:.7rem;font-weight:600;white-space:nowrap}.ui-badge--brand{border-color:color-mix(in srgb,var(--primary-text) 22%,transparent);background:var(--primary-faint);color:var(--primary-text)}.ui-badge--accent{border-color:var(--accent-orange-border);background:var(--accent-orange-bg);color:var(--accent-orange)}.ui-skeleton{position:relative;display:block;overflow:hidden;height:.85rem;border-radius:var(--radius-xs);background:var(--skeleton)}.ui-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--skeleton-shine),transparent);animation:ui-shimmer 1.4s ease-in-out infinite}.ui-skeleton--circle{border-radius:50%}.ui-skeleton--block{border-radius:var(--radius)}@keyframes ui-shimmer{to{transform:translate(100%)}}.ui-spinner{display:inline-block;flex-shrink:0;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:.85;animation:ui-spin .7s linear infinite}.ui-spinner--lg{width:28px;height:28px;border-width:2.5px}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:2.5rem 1.5rem;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted);font-size:.85rem;text-align:center}.ui-empty>.material-icons{display:grid;place-items:center;width:44px;height:44px;margin-bottom:.4rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);color:var(--text-faint);font-size:1.3rem;box-shadow:var(--shadow-xs)}.ui-empty strong{color:var(--text);font-size:.9rem;font-weight:600}.ui-rise{animation:ui-rise var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes ui-rise{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.ui-skeleton:after,.ui-rise{animation:none}.ui-spinner{animation-duration:1.6s}}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--radius-xs: 6px;--radius-sm: 8px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--topbar-h: 60px;--content-max: none;--page-pad: 1.75rem clamp(1.25rem, .5rem + 1.5vw, 3rem) 3rem;--primary: #0f6b5a;--primary-dark: #0b5546;--primary-text: #0f6b5a;--primary-light: #e6f2ef;--primary-faint: #f2f8f6;--primary-contrast: #ffffff;--bg-app: #eef3f1;--bg-page: #e9efed;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-subtle: #f6f9f8;--bg-muted: #e8eeec;--bg-hover: #edf2f0;--bg-hover-brand: #f2f8f6;--bg-active: #e6f2ef;--text: #111827;--text-strong: #030712;--text-muted: #5b6472;--text-faint: #9099a6;--text-inverse: #ffffff;--border: #dce5e1;--border-subtle: #e6ecea;--border-strong: #c9d5d0;--input-bg: #ffffff;--input-border: #c9d5d0;--input-border-hover: #9fb0a9;--input-focus-ring: rgba(15, 107, 90, .16);--ring: 0 0 0 3px var(--input-focus-ring);--sel-bg: #ffedd5;--sel-text: #c2410c;--sel-border: #fdba74;--sel-count-bg: rgba(234, 88, 12, .14);--sel-shadow: inset 0 0 0 1px var(--sel-border), 0 1px 2px rgba(234, 88, 12, .12);--sel-accent: #ea580c;--sel-tab-bg: #fff7ed;--danger: #d92d20;--danger-bg: #fef3f2;--danger-border: #fecdca;--warning: #c4690a;--warning-bg: #fffaeb;--warning-border: #fedf89;--success: #079455;--success-bg: #ecfdf3;--success-border: #abefc6;--info: #1570ef;--info-bg: #eff8ff;--notify: #e11d2e;--star: #f5a524;--tier-1: #64748b;--tier-2: #2563eb;--tier-3: #7c3aed;--tier-4: #c2410c;--accent-orange: #e97003;--accent-orange-bg: #fff6ed;--accent-orange-contrast: #ffffff;--accent-orange-border: #fddcab;--accent-orange-subtle: rgba(233, 112, 3, .04);--code-text: #0f6b5a;--code-bg: #f2f8f6;--code-border: #dce5e1;--shadow-xs: 0 1px 2px rgba(15, 60, 50, .05);--shadow-sm: 0 1px 2px rgba(15, 60, 50, .06), 0 1px 3px rgba(15, 60, 50, .05);--shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .06), 0 2px 4px -2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 24px -6px rgba(16, 24, 40, .1), 0 4px 8px -4px rgba(16, 24, 40, .05);--shadow-xl: 0 24px 48px -12px rgba(16, 24, 40, .18);--av-tint: 14%;--av-ink: 100%;--skeleton: #e6ecea;--skeleton-shine: rgba(255, 255, 255, .7);--topbar-bg: rgba(255, 255, 255, .88);--topbar-border: #dce5e1;--sidebar-bg: #ffffff;--sidebar-border: #dce5e1;--overlay: rgba(9, 12, 16, .4);--badge-border: #ffffff;--scrollbar-thumb: #d4d8de;--scrollbar-thumb-hover: #a9b0bb;--t: .18s ease}html[data-theme=dark]{--primary: #17876f;--primary-dark: #12705c;--primary-text: #2cc9a5;--primary-light: rgba(44, 201, 165, .13);--primary-faint: rgba(44, 201, 165, .06);--primary-contrast: #ffffff;--bg-app: #0b0d10;--bg-page: #0b0d10;--bg-surface: #131619;--bg-elevated: #191c20;--bg-subtle: #101215;--bg-muted: #1b1e23;--bg-hover: #1f2328;--bg-hover-brand: rgba(44, 201, 165, .09);--bg-active: rgba(44, 201, 165, .14);--text: #e8eaed;--text-strong: #ffffff;--text-muted: #a0a7b1;--text-faint: #6f7681;--text-inverse: #0b0d10;--border: #23272d;--border-subtle: #1c1f24;--border-strong: #353a42;--input-bg: #101215;--input-border: #353a42;--input-border-hover: #4b515b;--input-focus-ring: rgba(44, 201, 165, .22);--danger: #f97066;--danger-bg: rgba(249, 112, 102, .12);--danger-border: rgba(249, 112, 102, .3);--warning: #fdb022;--warning-bg: rgba(253, 176, 34, .1);--warning-border: rgba(253, 176, 34, .3);--success: #47cd89;--success-bg: rgba(71, 205, 137, .1);--success-border: rgba(71, 205, 137, .25);--info: #53b1fd;--info-bg: rgba(83, 177, 253, .1);--tier-1: #a3acb9;--tier-2: #6aa8f7;--tier-3: #b197fc;--tier-4: #f79a4b;--sel-bg: rgba(247, 154, 75, .16);--sel-text: #fdba74;--sel-border: rgba(247, 154, 75, .45);--sel-count-bg: rgba(247, 154, 75, .22);--sel-shadow: inset 0 0 0 1px var(--sel-border);--sel-accent: #f79a4b;--sel-tab-bg: rgba(247, 154, 75, .08);--accent-orange: #f79a4b;--accent-orange-bg: rgba(247, 154, 75, .12);--accent-orange-contrast: #1f1306;--accent-orange-border: rgba(247, 154, 75, .3);--accent-orange-subtle: rgba(247, 154, 75, .06);--code-text: #2cc9a5;--code-bg: rgba(44, 201, 165, .1);--code-border: rgba(44, 201, 165, .2);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .65);--av-tint: 22%;--av-ink: 55%;--skeleton: #1b1e23;--skeleton-shine: rgba(255, 255, 255, .05);--topbar-bg: rgba(16, 18, 21, .82);--topbar-border: #23272d;--sidebar-bg: #101215;--sidebar-border: #23272d;--overlay: rgba(0, 0, 0, .65);--badge-border: #101215;--scrollbar-thumb: #2c3138;--scrollbar-thumb-hover: #424852}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;height:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:.9375rem;font-feature-settings:"cv11","ss01","ss03";font-optical-sizing:auto;color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.5;height:100%;transition:background var(--t),color var(--t)}h1,h2,h3,h4{color:var(--text-strong);letter-spacing:-.015em;line-height:1.25;text-wrap:balance}p{text-wrap:pretty}::selection{background:color-mix(in srgb,var(--primary) 22%,transparent)}:focus-visible{outline:2px solid var(--primary-text);outline-offset:2px;border-radius:var(--radius-xs)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}router-outlet{display:none!important}app-root{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}app-landing{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;padding-right:2.2rem!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239099a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:16px;cursor:pointer}.material-icons{font-family:Material Icons,sans-serif;font-weight:400;font-style:normal;font-size:1rem;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;vertical-align:middle}router-outlet+*{animation:page-enter .2s cubic-bezier(0,0,.2,1) both}@media(prefers-reduced-motion:reduce){router-outlet+*{animation:none}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.app-tooltip{--tip-bg: #111827;--tip-text: #f8fafc;--tip-border: transparent;--tip-offset: 4px;position:fixed;top:0;left:0;z-index:99999;max-width:260px;padding:.4rem .65rem;border:1px solid var(--tip-border);border-radius:8px;background:var(--tip-bg);color:var(--tip-text);box-shadow:0 6px 20px #0f172a2e,0 1px 3px #0f172a1f;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.74rem;font-weight:500;line-height:1.45;letter-spacing:.005em;text-align:left;white-space:pre-line;overflow-wrap:anywhere;pointer-events:none;opacity:0;transition:opacity .14s ease,transform .14s ease}.app-tooltip[data-side=top]{transform:translateY(var(--tip-offset))}.app-tooltip[data-side=bottom]{transform:translateY(calc(var(--tip-offset) * -1))}.app-tooltip[data-side=left]{transform:translate(var(--tip-offset))}.app-tooltip[data-side=right]{transform:translate(calc(var(--tip-offset) * -1))}.app-tooltip.app-tooltip--visible{opacity:1;transform:none}.app-tooltip:after{content:"";position:absolute;width:8px;height:8px;background:var(--tip-bg);border:1px solid var(--tip-border);transform:rotate(45deg)}.app-tooltip[data-side=top]:after{bottom:-5px;left:calc(var(--arrow-x, 50%) - 4px);border-top-color:transparent;border-left-color:transparent}.app-tooltip[data-side=bottom]:after{top:-5px;left:calc(var(--arrow-x, 50%) - 4px);border-bottom-color:transparent;border-right-color:transparent}.app-tooltip[data-side=left]:after{right:-5px;top:calc(var(--arrow-y, 50%) - 4px);border-bottom-color:transparent;border-left-color:transparent}.app-tooltip[data-side=right]:after{left:-5px;top:calc(var(--arrow-y, 50%) - 4px);border-top-color:transparent;border-right-color:transparent}html[data-theme=dark] .app-tooltip{--tip-bg: #22262c;--tip-text: #e7e9ec;--tip-border: #353a42;box-shadow:0 8px 24px #0000008c}@media(prefers-reduced-motion:reduce){html .app-tooltip{transition:opacity .1s linear;transform:none!important}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}::view-transition-old(root){animation:.15s cubic-bezier(.4,0,1,1) both page-exit}::view-transition-new(root){animation:.22s cubic-bezier(0,0,.2,1) both page-enter}app-topbar{view-transition-name:topbar}::view-transition-old(topbar),::view-transition-new(topbar){animation:none}app-settings-feature-shell{view-transition-name:settings-shell}::view-transition-old(settings-shell){animation:.18s cubic-bezier(.4,0,1,1) both page-exit}::view-transition-new(settings-shell){animation:.28s cubic-bezier(.22,1,.36,1) both page-enter}app-sub-service-shell{view-transition-name:ss-shell}::view-transition-old(ss-shell){animation:.18s cubic-bezier(.4,0,1,1) both page-exit}::view-transition-new(ss-shell){animation:.28s cubic-bezier(.22,1,.36,1) both page-enter}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}router-outlet+*{animation:none}}.ss-portal-dropdown{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);z-index:99999;overflow:hidden;display:flex;flex-direction:column;animation:ssPortalIn .12s ease}@keyframes ssPortalIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ss-portal-dropdown .ss-search{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);background:var(--bg-surface);transition:background var(--t)}.ss-portal-dropdown .ss-search:focus-within{background:var(--bg-hover-brand)}.ss-portal-dropdown .ss-search-icon{font-size:.95rem;color:var(--text-muted);flex-shrink:0;font-family:Material Icons}.ss-portal-dropdown .ss-search-input{flex:1;border:none;outline:none;box-shadow:none;font-size:.845rem;color:var(--text);font-family:inherit;background:transparent;padding:0}.ss-portal-dropdown .ss-search-input::placeholder{color:var(--text-faint)}.ss-portal-dropdown .ss-options{flex:1;overflow-y:auto;padding:.3rem}.ss-portal-dropdown .ss-options::-webkit-scrollbar{width:4px}.ss-portal-dropdown .ss-options::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.ss-portal-dropdown .ss-option{display:flex;align-items:flex-start;gap:.5rem;width:100%;padding:.5rem .65rem;border:none;background:none;border-radius:7px;cursor:pointer;text-align:left;font-family:inherit;transition:background var(--t)}.ss-portal-dropdown .ss-option:hover{background:var(--bg-hover-brand)}.ss-portal-dropdown .ss-option.ss-selected{background:var(--bg-active)}.ss-portal-dropdown .ss-opt-text{flex:1;min-width:0}.ss-portal-dropdown .ss-opt-label{display:block;font-size:.845rem;font-weight:500;color:var(--text);white-space:normal;word-break:break-word;line-height:1.35}.ss-portal-dropdown .ss-opt-sub{display:block;font-size:.72rem;color:var(--text-muted);white-space:normal;word-break:break-word;line-height:1.3;margin-top:.1rem}.ss-portal-dropdown .ss-check{font-size:.9rem;color:var(--primary);flex-shrink:0;font-family:Material Icons}.ss-portal-dropdown .ss-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.ss-portal-dropdown .ss-empty{padding:.75rem;text-align:center;font-size:.82rem;color:var(--text-muted);font-style:italic}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}html.theme-switching *,html.theme-switching *:before,html.theme-switching *:after{transition:none!important}html.theme-switching app-topbar,html.theme-switching app-settings-feature-shell,html.theme-switching app-sub-service-shell{view-transition-name:none}html.theme-switching::view-transition-old(root),html.theme-switching::view-transition-new(root){animation:none;mix-blend-mode:normal}html.theme-switching::view-transition-new(root){animation:theme-reveal .52s cubic-bezier(.65,0,.35,1) both}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--theme-x, 100%) var(--theme-y, 0))}to{clip-path:circle(var(--theme-r, 150vmax) at var(--theme-x, 100%) var(--theme-y, 0))}}html[data-theme=dark] .topbar-logo-img,html[data-theme=dark] .brand-logo-img{filter:brightness(0) invert(1)}:where(html[data-theme=dark]) :where(input,textarea,select){background-color:var(--input-bg);color:var(--text);border-color:var(--input-border)}:where(html[data-theme=dark]) :where(input,textarea)::placeholder{color:var(--text-faint)}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
