.launcher{--launcher-text:var(--color-text);--launcher-muted:var(--color-text-secondary);--launcher-bar:#ffffff99;--launcher-chip:#ffffffb8;--launcher-chip-hover:#ffffff;--launcher-chip-border:#0f6cbd24;--launcher-focus:var(--color-brand);--launcher-background:radial-gradient(1100px 560px at 12% -8%,#cde1f7 0%,transparent 62%),radial-gradient(900px 520px at 100% 0%,#e2e0f7 0%,transparent 58%),linear-gradient(180deg,#edf3fa,#f3f5f9 560px,#f5f5f5);--navy:var(--color-brand-pressed);--teal:var(--color-brand);--teal-dark:var(--color-brand-hover);--ink:var(--color-text);--muted:var(--color-text-secondary);--border:var(--color-border-subtle);--canvas:var(--color-canvas);--danger:var(--color-danger);--shadow:var(--shadow-surface);position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;color:var(--launcher-text);background:var(--launcher-background)}@media (prefers-color-scheme:dark){.launcher:not([data-theme=light]){color-scheme:dark;--color-brand:#4a9ae6;--color-brand-hover:#79b5f0;--color-brand-pressed:#2f86d8;--color-brand-subtle:#12304f;--color-brand-border:#23507d;--color-canvas:#0d1626;--color-surface:#152033;--color-surface-secondary:#19253a;--color-surface-hover:#1f2d45;--color-surface-selected:#163a5f;--color-text:#edf2f8;--color-text-secondary:#a8b4c6;--color-text-disabled:#7d899b;--color-text-on-brand:#06121f;--color-border:#3b4a62;--color-border-subtle:#27354b;--color-border-strong:#66758c;--color-success:#74c977;--color-success-subtle:#12301a;--color-success-border:#2c5e30;--color-warning:#f2bf62;--color-warning-subtle:#37290f;--color-warning-border:#6a4f1c;--color-danger:#f28b94;--color-danger-subtle:#3a171c;--color-danger-border:#6f2c34;--shadow-surface:0 1px 2px #00000052;--shadow-overlay:0 12px 32px #0000008a;--launcher-text:#f3f6fb;--launcher-muted:#b5c1d3;--launcher-bar:#0b1424b3;--launcher-chip:#ffffff12;--launcher-chip-hover:#ffffff24;--launcher-chip-border:#ffffff24;--launcher-focus:#e8f1fc;--launcher-background:radial-gradient(1000px 600px at 15% -10%,#1f62a866 0%,transparent 60%),radial-gradient(900px 600px at 95% 0%,#5b3fa04d 0%,transparent 58%),linear-gradient(160deg,#0b1b31,#0e1729 55%,#15122a)}}.launcher[data-theme=dark]{color-scheme:dark;--color-brand:#4a9ae6;--color-brand-hover:#79b5f0;--color-brand-pressed:#2f86d8;--color-brand-subtle:#12304f;--color-brand-border:#23507d;--color-canvas:#0d1626;--color-surface:#152033;--color-surface-secondary:#19253a;--color-surface-hover:#1f2d45;--color-surface-selected:#163a5f;--color-text:#edf2f8;--color-text-secondary:#a8b4c6;--color-text-disabled:#7d899b;--color-text-on-brand:#06121f;--color-border:#3b4a62;--color-border-subtle:#27354b;--color-border-strong:#66758c;--color-success:#74c977;--color-success-subtle:#12301a;--color-success-border:#2c5e30;--color-warning:#f2bf62;--color-warning-subtle:#37290f;--color-warning-border:#6a4f1c;--color-danger:#f28b94;--color-danger-subtle:#3a171c;--color-danger-border:#6f2c34;--shadow-surface:0 1px 2px #00000052;--shadow-overlay:0 12px 32px #0000008a;--launcher-text:#f3f6fb;--launcher-muted:#b5c1d3;--launcher-bar:#0b1424b3;--launcher-chip:#ffffff12;--launcher-chip-hover:#ffffff24;--launcher-chip-border:#ffffff24;--launcher-focus:#e8f1fc;--launcher-background:radial-gradient(1000px 600px at 15% -10%,#1f62a866 0%,transparent 60%),radial-gradient(900px 600px at 95% 0%,#5b3fa04d 0%,transparent 58%),linear-gradient(160deg,#0b1b31,#0e1729 55%,#15122a)}.launcher-state{display:grid;place-items:center}.launcher-state>.panel{width:min(600px,calc(100% - 32px))}.launcher-bar{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:var(--space-4);min-height:64px;padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--launcher-chip-border);background:var(--launcher-bar);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}.launcher-bar,.launcher-brand{display:flex;align-items:center}.launcher-brand{gap:var(--space-3);min-width:0}.launcher-brand,.launcher-brand:hover{color:var(--launcher-text)}.launcher-brand .brand-lockup{--brand-lockup-muted:var(--launcher-muted)}.launcher-brand .brand-mark{box-shadow:0 2px 6px #18384029,0 0 0 1px #18384017}.launcher-actions{display:flex;align-items:center;gap:var(--space-2);min-width:0}.launcher-avatar,.launcher-icon-button{position:relative;display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;padding:0;border-radius:50%}.launcher-icon-button{border:1px solid var(--launcher-chip-border);background:var(--launcher-chip);color:var(--launcher-text)}.launcher-icon-button:hover{background:var(--launcher-chip-hover);color:var(--launcher-text)}.launcher-badge{position:absolute;top:-5px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#c50f1f;color:#ffffff;font-size:11px;line-height:20px;font-weight:700;text-align:center}.launcher-user{position:relative}.launcher-avatar{border:2px solid var(--launcher-chip-border);background:var(--color-brand);color:var(--color-text-on-brand);font-size:var(--font-caption);font-weight:700;letter-spacing:.3px}.launcher-user-menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:60;width:288px;padding:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-overlay)}.launcher-user-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)}.launcher-user-head .launcher-avatar{width:36px;height:36px;border-color:transparent}.launcher-user-head>div{display:grid;min-width:0}.launcher-user-head small,.launcher-user-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launcher-user-head strong{font-size:var(--font-body);font-weight:600}.launcher-user-head small,.launcher-user-roles{color:var(--color-text-secondary);font-size:var(--font-caption);line-height:var(--line-caption)}.launcher-user-roles{margin:0 var(--space-2) var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.launcher-menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2);border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text);font-size:var(--font-body);text-align:left}.launcher-menu-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.launcher-menu-item svg{color:var(--color-text-secondary)}.launcher-main{flex:1 1;width:100%;max-width:1160px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-12)}.launcher-hero{text-align:center}.launcher-hero-avatar{display:flex;justify-content:center;margin:16px 0 12px}.launcher-date{color:var(--launcher-muted);font-size:var(--font-body)}.launcher-date:first-letter{text-transform:uppercase}.launcher-hero h1{margin-top:var(--space-1);font-size:var(--font-title);line-height:var(--line-title);font-weight:600;letter-spacing:0}.launcher-lead{margin-top:var(--space-2);color:var(--launcher-muted)}.launcher-notice{max-width:760px;margin:var(--space-6) auto 0}.launcher-app-group{margin-top:var(--space-8);text-align:center}.launcher-app-group+.launcher-app-group{padding-top:var(--space-6);border-top:1px solid var(--launcher-chip-border)}.launcher-app-group h2{font-size:var(--font-heading);font-weight:600}.launcher-app-group>p{margin-top:var(--space-1);color:var(--launcher-muted);font-size:var(--font-caption)}.launcher-app-group .launcher-tiles{margin-top:var(--space-4)}.launcher-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6) var(--space-5);max-width:920px;margin:var(--space-10) auto 0;padding:0;list-style:none}.launcher-tiles>li{width:132px}.launcher-tile{--tile-color:var(--color-brand);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);border-radius:16px;text-align:center}.launcher-tile,.launcher-tile:hover{color:var(--launcher-text)}.launcher-tile-icon{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:22px;color:#ffffff;background:linear-gradient(150deg,color-mix(in srgb,var(--tile-color) 76%,#ffffff) 0,var(--tile-color) 50%,color-mix(in srgb,var(--tile-color) 78%,#000000) 100%);box-shadow:0 12px 24px -12px color-mix(in srgb,var(--tile-color) 85%,transparent),0 2px 4px #0000001f,inset 0 1px 0 #ffffff47;transition:transform .15s,box-shadow .15s}.launcher-tile-icon svg{filter:drop-shadow(0 1px 1px #00000033);stroke-width:1.8}.launcher-tile:hover .launcher-tile-icon{transform:translateY(-3px);box-shadow:0 18px 28px -12px color-mix(in srgb,var(--tile-color) 90%,transparent),0 4px 8px #00000026,inset 0 1px 0 #ffffff47}.launcher-tile:active .launcher-tile-icon{transform:translateY(0) scale(.97)}.launcher-tile:focus-visible{outline:none}.launcher-tile:focus-visible .launcher-tile-icon{outline:3px solid var(--launcher-focus);outline-offset:4px}.launcher-tile-name{max-width:100%;font-size:var(--font-body);line-height:var(--line-body);font-weight:600;text-wrap:balance}.launcher-tile.is-placeholder .launcher-tile-icon{background:var(--launcher-chip);box-shadow:inset 0 0 0 1px var(--launcher-chip-border);animation:launcher-pulse 1.4s ease-in-out infinite}@keyframes launcher-pulse{50%{opacity:.55}}.launcher-empty{margin:var(--space-10) auto 0;color:var(--launcher-muted);text-align:center}.launcher-tile-badge{position:absolute;top:-6px;right:-6px;min-width:24px;padding:2px 7px;border:2px solid var(--launcher-bg,#ffffff);border-radius:999px;background:#dc2626;color:#ffffff;font-size:12px;font-weight:700;line-height:18px;text-align:center}.launcher-page{max-width:1160px;margin:0 auto}.launcher-back{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;color:var(--launcher-muted);font-weight:600}.launcher-back:hover{color:var(--launcher-text)}.launcher-page-title{font-size:var(--font-title);line-height:var(--line-title);font-weight:600;letter-spacing:0}.launcher-customize{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);margin:0 0 var(--space-5);padding:var(--space-4);border:1px solid var(--launcher-chip-border);border-radius:12px;background:var(--launcher-chip)}.launcher-customize legend{padding:0 var(--space-1);font-weight:600}.launcher-customize-item{display:flex;align-items:flex-start;gap:var(--space-2);min-height:44px;cursor:pointer}.launcher-customize-item input{margin-top:3px}.launcher-customize-item span{display:flex;flex-direction:column}.launcher-customize-item small{color:var(--launcher-muted)}.launcher-section{margin-top:var(--space-12)}.launcher-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-4);margin-bottom:var(--space-4)}.launcher-section-head p{color:var(--launcher-muted);font-size:var(--font-caption);line-height:var(--line-caption)}.launcher-section-title{font-size:var(--font-heading);line-height:var(--line-heading);font-weight:600;letter-spacing:0}.launcher-section>.launcher-section-title{margin-bottom:var(--space-4)}.launcher-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:0;padding:0;list-style:none}.launcher-tool{display:flex;align-items:center;gap:var(--space-3);height:100%;min-height:56px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border:1px solid var(--launcher-chip-border);border-radius:10px;background:var(--launcher-chip);color:var(--launcher-text);font-weight:600;transition:background .15s,border-color .15s}.launcher-tool:hover{border-color:var(--color-brand-border);background:var(--launcher-chip-hover);color:var(--launcher-text)}.launcher-tool-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:var(--radius-surface);background:var(--color-brand-subtle);color:var(--color-brand-hover)}.launcher-tool-label{flex:1 1;min-width:0}.launcher-count{flex-shrink:0;min-width:24px;padding:2px var(--space-2);border-radius:var(--radius-control);background:var(--color-brand-subtle);color:var(--color-brand-hover);font-size:var(--font-caption);line-height:var(--line-caption);text-align:center}.launcher-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));grid-gap:var(--space-4);gap:var(--space-4);margin:0 0 var(--space-5);padding:0;list-style:none}.launcher-metric{display:flex;flex-direction:column;gap:var(--space-1);height:100%;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-surface);transition:border-color .15s,box-shadow .15s}.launcher-metric:hover{border-color:var(--color-brand-border);color:var(--color-text);box-shadow:var(--shadow-overlay)}.launcher-metric.is-attention{border-color:var(--color-warning-border)}.launcher-metric-top{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.launcher-metric-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-control);background:var(--color-brand-subtle);color:var(--color-brand-hover)}.launcher-metric.is-attention .launcher-metric-icon{background:var(--color-warning-subtle);color:var(--color-warning)}.launcher-metric-module{flex:1 1;min-width:0;color:var(--color-text-secondary);font-size:var(--font-caption);line-height:var(--line-caption);overflow-wrap:anywhere}.launcher-metric-arrow{flex-shrink:0;color:var(--color-text-secondary)}.launcher-metric:hover .launcher-metric-arrow{color:var(--color-brand)}.launcher-metric-label{font-weight:600}.launcher-metric-value{font-size:var(--font-title);line-height:var(--line-title);font-weight:600}.launcher-metric-open{margin:var(--space-2) 0;color:var(--color-brand);font-weight:600}.launcher-metric-note{color:var(--color-text-secondary);font-size:var(--font-caption);line-height:var(--line-caption)}.launcher-panel+.launcher-panel{margin-top:var(--space-5)}.launcher-panel>.panel{margin-bottom:0}.launcher-panel-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-2);color:var(--color-brand);font-weight:600}.launcher-footer{display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-6) var(--space-4) var(--space-8);color:var(--launcher-muted);font-size:var(--font-caption);line-height:var(--line-caption);text-align:center}.launcher-hero-brand{display:none}@media (max-width:800px){.launcher-bar{padding:var(--space-2) var(--space-4)}.launcher-main{padding:var(--space-8) var(--space-4) var(--space-10)}}@media (max-width:600px){.launcher-bar{min-height:60px}.launcher-actions{flex-wrap:wrap;justify-content:flex-end}.launcher-actions>.language-switcher{flex-shrink:0}.launcher-brand .brand-lockup-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.launcher-hero-brand{display:block;margin-bottom:var(--space-1);color:var(--launcher-text);font-size:var(--font-body);line-height:var(--line-body);font-weight:700}.launcher-actions>.launcher-user>.launcher-avatar,.launcher-icon-button{width:44px;height:44px}.launcher-user-menu{position:fixed;top:64px;left:var(--space-4);right:var(--space-4);width:auto}.launcher-hero h1{font-size:24px;line-height:32px}.launcher-tiles{gap:var(--space-5) var(--space-2);margin-top:var(--space-8)}.launcher-tiles>li{width:calc((100% - 3 * var(--space-2)) / 4)}.launcher-tile{padding-inline:0}.launcher-tile-icon{width:64px;height:64px;border-radius:17px}.launcher-tile-icon svg{width:30px;height:30px}.launcher-tile-name{font-size:var(--font-caption);line-height:var(--line-caption);-webkit-hyphens:auto;hyphens:auto}.launcher-section{margin-top:var(--space-10)}.launcher-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.launcher-tool{padding-right:var(--space-2);font-size:13px;line-height:18px}.launcher-tool-icon{width:34px;height:34px}.launcher-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.launcher-metrics>li:last-child:nth-child(odd){grid-column:1/-1}.launcher-metric{padding:var(--space-3) var(--space-4)}.launcher-metric-value{font-size:24px;line-height:32px}}@media (max-width:359px){.launcher-metrics{grid-template-columns:minmax(0,1fr)}.launcher-tiles>li{width:calc((100% - 2 * var(--space-2)) / 3)}}