:root{--color-beam:#00ffe0;--color-beam-dim:#00ccb3;--color-beam-subtle:#00ffe01a;--color-eclipse:#0f0f0f;--color-penumbra:#161616;--color-umbra:#1e1e1e;--color-surface:#262626;--color-surface-hover:#2e2e2e;--color-border:#2a2a2a;--color-border-light:#333;--color-text:#ffffffde;--color-text-secondary:#ffffff8c;--color-text-muted:#ffffff59;--color-text-heading:#fffffff2;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable;font-size:16px}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-penumbra);min-height:100vh;line-height:1.6}main{flex:1}main.app-main{display:block}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{max-width:1100px;padding:0 var(--space-xl);margin:0 auto}.site-header{background:var(--color-eclipse);z-index:100;border-bottom:1px solid var(--color-border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1100px;height:64px;margin:0 auto;display:flex}.site-logo{align-items:center;gap:var(--space-sm);color:var(--color-text-heading);letter-spacing:-.01em;font-size:1rem;font-weight:600;display:flex}.site-title{color:var(--color-beam);letter-spacing:-.01em;-webkit-user-select:none;user-select:none;font-size:1.05rem;font-weight:400}.logo-icon{color:var(--color-beam)}.site-nav{gap:var(--space-lg);display:flex}.nav-link{color:var(--color-text-secondary);padding:var(--space-xs) 0;transition:color var(--transition);font-size:.875rem;font-weight:500}.nav-link:hover,.nav-link.active{color:var(--color-text-heading)}.nav-link--github{align-items:center;display:inline-flex}.nav-link--github svg{width:20px;height:20px}.hero-cta{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-md);transition:background var(--transition), border-color var(--transition);background:var(--color-beam);color:#000;font-size:.95rem;font-weight:600;display:inline-flex}.hero-cta:hover{background:var(--color-beam-dim);color:#000}.hero-cta--secondary{color:var(--color-text-secondary);border:1px solid var(--color-border-light);background:0 0}.hero-cta--secondary:hover{background:var(--color-surface);border-color:var(--color-text-muted);color:var(--color-text-heading)}.download-btn{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--color-beam);color:#000;border-radius:var(--radius-md);transition:background var(--transition);font-size:.95rem;font-weight:600;display:inline-flex}.download-btn:hover{background:var(--color-beam-dim)}.download-btn svg{flex-shrink:0}.callout{background:var(--color-umbra);border:1px solid var(--color-border);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-sm);margin-bottom:var(--space-xl)}.callout p{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.75}.home-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.home-card{padding:var(--space-xl);background:var(--color-umbra);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition), background var(--transition);display:block}.home-card-title{letter-spacing:-.01em;margin-bottom:var(--space-sm);color:var(--color-text-heading);font-size:1.125rem;font-weight:600}.home-card-subtitle{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-sm);font-size:.8rem;font-weight:500}.home-card-desc{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.back-link{align-items:center;gap:var(--space-xs);color:var(--color-text-secondary);transition:color var(--transition);font-size:.9rem;font-weight:500;display:inline-flex}.back-link:hover{color:var(--color-beam)}.press-kit-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg);font-size:.8rem;font-weight:600}.gallery{padding-top:var(--space-2xl);padding-bottom:var(--space-3xl)}.gallery-grid{gap:var(--space-md);display:grid}.gallery-grid--square{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.gallery-card{background:var(--color-umbra);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition), background var(--transition);flex-direction:column;display:flex;overflow:hidden}.gallery-card:hover{border-color:var(--color-beam);background:var(--color-surface)}.gallery-card-img{background:var(--color-eclipse);position:relative;overflow:hidden}.gallery-grid--square .gallery-card-img{aspect-ratio:1}.gallery-caption{padding:var(--space-xs) var(--space-sm);color:var(--color-text-secondary);border-top:1px solid var(--color-border);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;display:block;overflow:hidden}.site-footer{background:var(--color-eclipse);border-top:1px solid var(--color-border);padding:var(--space-xl)}.footer-inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;display:flex}.footer-note{color:var(--color-text-muted);font-size:.8rem;line-height:1.5}.footer-links{gap:var(--space-lg);display:flex}.footer-link{align-items:center;gap:var(--space-xs);color:var(--color-text-secondary);transition:color var(--transition);font-size:.8rem;display:inline-flex}.footer-link svg{width:14px;height:14px}.footer-link:hover{color:var(--color-beam)}@media (width<=768px){.container{padding:0 var(--space-md)}.home-grid{grid-template-columns:1fr 1fr}.footer-inner{gap:var(--space-md);text-align:center;flex-direction:column}.site-nav{gap:var(--space-md)}}@media (width<=480px){.home-grid{grid-template-columns:1fr}.site-nav{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;font-size:.8rem}}:root{--color-success:#5fd19d;--color-warning:#f0c15a;--color-danger:#ff7b7b;--color-danger-subtle:#d940401a;--color-info:var(--color-beam)}#root{min-height:100vh}body{margin:0}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header-inner{gap:var(--space-lg);max-width:1100px}.app-header-right{align-items:center;gap:var(--space-lg);margin-left:auto;display:flex}.app-site-nav{align-items:center}.app-site-nav .nav-link{align-items:center;gap:var(--space-xs);display:inline-flex}.app-site-nav .nav-link.active{color:var(--color-beam)}.app-header-meta{align-items:center;gap:var(--space-md);color:var(--color-text-secondary);font-size:.8rem;display:flex}.app-status-indicator{border:1px solid var(--color-border-light);background:var(--color-umbra);color:var(--color-text-secondary);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .6rem;display:inline-flex}.app-status-indicator__dot{background:var(--color-text-muted);border-radius:999px;width:.5rem;height:.5rem}.app-status-indicator--connected .app-status-indicator__dot{background:var(--color-success)}.app-status-indicator--connecting .app-status-indicator__dot{background:var(--color-warning);animation:1.2s ease-in-out infinite app-pulse}.app-status-indicator--disconnected .app-status-indicator__dot{background:var(--color-text-muted)}@keyframes app-pulse{0%,to{opacity:.45}50%{opacity:1}}.app-main{flex:1}.app-overlay{z-index:200;padding:var(--space-xl) 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f0f0fd1;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.app-overlay-card{width:min(100%,420px);margin:auto var(--space-lg);padding:var(--space-xl);background:var(--color-umbra);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);align-items:center;gap:var(--space-md);display:flex}.app-dialog-card{flex-direction:column;align-items:stretch;width:min(100%,640px)}.app-dialog-body{gap:var(--space-lg);flex-direction:column;display:flex}.app-dialog-section{background:var(--color-eclipse)}.app-dialog-actions{justify-content:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.app-spinner{border:2px solid var(--color-border-light);border-top-color:var(--color-beam);border-radius:999px;flex-shrink:0;width:1.5rem;height:1.5rem;animation:.9s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.app-overlay-title{color:var(--color-text-heading);font-size:.95rem;font-weight:600}.app-overlay-copy{margin-top:var(--space-xs);color:var(--color-text-secondary);font-size:.85rem}.app-page-header{background:var(--color-eclipse);padding:var(--space-2xl) var(--space-xl) var(--space-xl);border-bottom:1px solid var(--color-border)}.app-page-header .container{flex-direction:column;display:flex}.app-page-header .back-link{width:fit-content;margin-top:-24px}.app-page-title{color:var(--color-text-heading);letter-spacing:-.02em;font-size:2rem;font-weight:700;line-height:1.15}.app-page-copy{max-width:760px;color:var(--color-text-secondary);font-size:1rem;line-height:1.75}.app-page-content{padding-top:var(--space-2xl);padding-bottom:var(--space-3xl)}.app-page-content .container{min-width:0}.app-grid,.app-card-grid,.app-form-grid,.app-stat-grid{gap:var(--space-lg);display:grid}.app-card-grid--two,.app-form-grid--two,.app-stat-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.app-card-grid--sidebar{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.app-card-grid--gallery-header{gap:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.app-panel,.app-form-card,.app-info-card,.app-log-panel,.app-status-card,.app-media-card,.app-hero-card,.app-danger-card{background:var(--color-umbra);border:1px solid var(--color-border);border-radius:var(--radius-md)}.app-panel,.app-form-card,.app-info-card,.app-log-panel,.app-status-card,.app-media-card,.app-hero-card{padding:var(--space-xl)}.app-media-card{background:var(--color-eclipse);overflow:hidden}.app-subpanel{background:var(--color-eclipse);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.app-panel--dense,.app-subpanel--dense,.app-status-card--dense{padding:var(--space-lg)}.app-section-title,.app-panel-title,.app-form-card h2,.app-info-card h2,.app-log-panel h2,.app-danger-card h2{color:var(--color-text-heading);letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.app-section-heading{color:var(--color-text-heading);letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.app-section-copy,.app-muted,.app-kv dt,.app-form-help,.app-empty-state,.app-loading-state,.app-log-empty,.app-panel-copy{color:var(--color-text-secondary)}.app-panel-copy,.app-section-copy,.app-form-help,.app-empty-state,.app-loading-state,.app-log-empty{line-height:1.7}.app-panel-stack,.app-flow,.app-form-stack,.app-action-stack{gap:var(--space-lg);flex-direction:column;display:flex}.app-flow--sm{gap:var(--space-md)}.app-progress-block{gap:var(--space-sm);flex-direction:column;display:flex}.app-progress-block__header{justify-content:space-between}.app-progress-bar{appearance:none;background:#ffffff14;border:none;border-radius:999px;width:100%;height:.7rem;overflow:hidden}.app-progress-bar::-webkit-progress-bar{background:#ffffff14;border-radius:999px}.app-progress-bar::-webkit-progress-value{background:linear-gradient(90deg, var(--color-beam), #6df3d3);border-radius:999px}.app-progress-bar::-moz-progress-bar{background:linear-gradient(90deg, var(--color-beam), #6df3d3);border-radius:999px}.app-result-card{scroll-margin-top:var(--space-xl)}.app-row-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.connect-page-panel-title{margin:0}.connect-discovery-loading,.connect-discovery-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.connect-discovery-loading__row,.connect-discovery-row{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);display:flex}.connect-discovery-loading__row{color:var(--color-text-secondary);justify-content:flex-start}.connect-discovery-row+.connect-discovery-row{border-top:1px solid var(--color-border)}.connect-discovery-row__content{min-width:0}.connect-discovery-row__name{color:var(--color-text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.connect-discovery-row__meta{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.connect-discovery-row__action{flex-shrink:0}.install-page{flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;display:flex}.nav-link--disabled{color:var(--color-text-muted);opacity:.55;cursor:not-allowed;pointer-events:none}.nav-link--pill{color:var(--color-beam);border:1px solid var(--color-beam-subtle);background:var(--color-beam-subtle);padding:var(--space-xs) var(--space-md);transition:background var(--transition), border-color var(--transition), color var(--transition);border-radius:999px}.nav-link--pill:hover,.nav-link--pill.active{color:var(--color-beam);border-color:var(--color-beam-dim);background:#00ffe02e}.install-page__section{width:100%;padding:var(--space-2xl) var(--space-xl);padding-top:var(--space-2xl)}.install-page__column{gap:var(--space-lg);flex-direction:column;width:min(100%,640px);margin:0 auto;display:flex}.install-page__wordmark{display:none}.install-stage{padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-umbra);grid-template-rows:1fr auto;display:grid}.install-stage__content{justify-content:flex-start;align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;min-width:0;display:flex}.install-stage__hero{justify-content:center;align-items:center;width:100%;height:230px;display:flex}.install-stage__hero-image{filter:drop-shadow(0 18px 28px #0000008c);-webkit-user-select:none;user-select:none;pointer-events:none;width:auto;max-width:100%;height:180px;display:block}.install-stage__heading{gap:var(--space-sm);flex-direction:column;display:flex}.install-stage__title{color:var(--color-text-heading);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:600;line-height:1.2}.install-stage__copy{color:var(--color-text-secondary);margin:0;font-size:.9375rem;line-height:1.6}.install-stage__notice{width:100%;max-width:460px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);text-align:center;justify-content:center;align-items:center;font-size:.85rem;line-height:1.5;display:flex}.install-stage__notice--warning{color:var(--color-warning);background:#f0c15a0f;border:1px solid #f0c15a33}.install-stage__notice--danger{color:var(--color-danger);background:#ff7b7b0f;border:1px solid #ff7b7b3d}.install-stage__progress{gap:var(--space-xs);flex-direction:column;width:100%;max-width:460px;display:flex}.install-stage__progress-meta{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-size:.72rem;font-weight:500;display:flex}.install-stage__progress .app-progress-bar{height:3px}.install-stage__device{gap:var(--space-md);width:100%;min-height:230px;padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-eclipse);text-align:left;flex-direction:column;display:flex}.install-stage__device-head{justify-content:space-between;align-items:center;gap:var(--space-md);min-width:0;display:flex}.install-stage__device-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.install-stage__device-name{color:var(--color-text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;line-height:1.2;overflow:hidden}.install-stage__device-serial{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;overflow:hidden}.install-stage__device-badge{border:1px solid var(--color-border-light);height:22px;color:var(--color-text-secondary);letter-spacing:.04em;white-space:nowrap;background:#ffffff0a;border-radius:999px;flex-shrink:0;align-items:center;padding:0 .6rem;font-size:.7rem;font-weight:500;display:inline-flex}.install-stage__packages{padding-top:var(--space-md);border-top:1px solid var(--color-border);grid-template-columns:1fr;gap:0;margin:0;display:grid}.install-stage__package{gap:var(--space-md);padding:var(--space-xs) 0;grid-template-columns:130px minmax(0,1fr);align-items:baseline;display:grid}.install-stage__packages-divider{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);margin-bottom:var(--space-sm);padding-bottom:var(--space-md);color:var(--color-warning);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #f0c15a3d;font-size:.72rem;font-weight:700;display:flex}.install-stage__package dt{color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:600}.install-stage__package--conflict dt{color:var(--color-warning)}.install-stage__package-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;overflow:hidden}.install-stage__package--conflict .install-stage__package-value{align-items:center;gap:var(--space-sm);display:flex}.install-stage__package-conflict-copy{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.install-stage__package-badge{letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;border-radius:999px;flex-shrink:0;align-items:center;height:20px;padding:0 .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.install-stage__package-badge--warning{color:var(--color-warning);background:#f0c15a29;border:1px solid #f0c15a4d}.install-stage__package-value--warning{color:var(--color-warning)}.install-stage__package-value--success{color:var(--color-success)}.install-stage__package-value--default{color:var(--color-text)}.install-stage__footer{align-items:center;gap:var(--space-md);margin-top:var(--space-lg);min-height:calc(44px + var(--space-md) + 32px);flex-direction:column;display:flex}.install-stage__primary-slot{justify-content:center;align-items:center;height:44px;display:flex}.install-stage__links-slot{justify-content:center;align-items:center;min-height:32px;display:flex}.install-stage__primary{min-width:220px;height:44px;padding:0 var(--space-xl);background:var(--color-beam);color:#000;letter-spacing:-.01em;cursor:pointer;transition:background var(--transition), transform var(--transition);border:0;border-radius:999px;justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.install-stage__primary:hover{background:var(--color-beam-dim);color:#000}.install-stage__primary:active{transform:translateY(1px)}.install-stage__primary:disabled,.install-stage__primary:active:disabled{opacity:.5;border:1px solid var(--color-border);cursor:not-allowed}.install-stage__links{justify-content:center;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.install-stage__link-item{align-items:center;display:inline-flex}.install-stage__link{appearance:none;height:32px;padding:0 var(--space-md);border:1px solid var(--color-border);color:var(--color-text-heading);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.install-stage__link:hover{border-color:var(--color-border-light);color:var(--color-text-heading);background:#ffffff08}.install-stage__link:disabled{color:var(--color-text-muted);border-color:var(--color-border);cursor:not-allowed;background:0 0}.install-diagnostics{background:var(--color-umbra);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;overflow:hidden}.install-diagnostics>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);-webkit-user-select:none;user-select:none;transition:background var(--transition);list-style:none;display:flex}.install-diagnostics>summary::-webkit-details-marker{display:none}.install-diagnostics>summary:hover{background:#ffffff05}.install-diagnostics__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.install-diagnostics__title{color:var(--color-text-heading);letter-spacing:-.01em;font-size:.95rem;font-weight:600}.install-diagnostics__subtitle{color:var(--color-text-muted);font-size:.78rem}.install-diagnostics__chevron{width:14px;height:14px;color:var(--color-text-muted);transition:transform var(--transition);flex-shrink:0}.install-diagnostics[open]>summary .install-diagnostics__chevron{transform:rotate(90deg)}.install-diagnostics__body{gap:var(--space-lg);padding:var(--space-lg) var(--space-xl) var(--space-xl);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.install-diagnostics__section{gap:var(--space-sm);flex-direction:column;display:flex}.install-diagnostics__section-title{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:600}.install-diagnostics__kv{gap:var(--space-sm);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.install-diagnostics__kv-row{gap:var(--space-md);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);align-items:baseline;display:grid}.install-diagnostics__kv-row:last-child{border-bottom:0}.install-diagnostics__kv-row dt{color:var(--color-text-muted);margin:0;font-size:.78rem}.install-diagnostics__kv-row dd{color:var(--color-text);word-break:break-word;margin:0;font-size:.85rem}.install-diagnostics__kv-row dd.install-diagnostics__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.install-diagnostics__package{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-eclipse);gap:var(--space-sm);flex-direction:column;display:flex}.install-diagnostics__package-head{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.install-diagnostics__package-name{color:var(--color-text-heading);font-size:.9rem;font-weight:600}.install-diagnostics__package-version{color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.install-diagnostics__dump{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;background:#000;max-height:240px;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.45;overflow:auto}.install-diagnostics__dump-toggle{appearance:none;color:var(--color-text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;align-self:flex-start;margin:0;padding:0;font-size:.75rem;text-decoration:underline}.install-diagnostics__dump-toggle:hover{color:var(--color-beam)}.install-diagnostics__downloads{gap:var(--space-sm);flex-wrap:wrap;display:flex}.install-diagnostics__download{align-items:center;gap:var(--space-xs);height:32px;padding:0 var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:var(--color-eclipse);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);font-size:.78rem;display:inline-flex}.install-diagnostics__download:hover{background:var(--color-surface);border-color:var(--color-text-muted);color:var(--color-text-heading)}.install-diagnostics__log{gap:var(--space-xs);flex-direction:column;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.install-diagnostics__log-entry{gap:var(--space-md);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border);grid-template-columns:90px minmax(0,1fr);font-size:.8rem;display:grid}.install-diagnostics__log-entry:last-child{border-bottom:0}.install-diagnostics__log-phase{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:600}.install-diagnostics__log-message{color:var(--color-text)}.install-diagnostics__log-time{color:var(--color-text-muted);margin-top:2px;font-size:.7rem}.install-diagnostics__empty{color:var(--color-text-muted);margin:0;font-size:.85rem}.install-dialog{width:min(100%,520px);padding:var(--space-xl);align-items:stretch;gap:var(--space-lg);flex-direction:column}.install-dialog__title{color:var(--color-text-heading);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:600}.install-dialog__copy{color:var(--color-text-secondary);margin:0;font-size:.9rem;line-height:1.6}.install-dialog__requirements{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.install-dialog__requirement{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-eclipse)}.install-dialog__requirement--danger{background:#d9404014;border-color:#d9404066}.install-dialog__requirement--warning{background:#f0c15a14;border-color:#f0c15a57}.install-dialog__requirement-title{margin:0 0 var(--space-xs);color:var(--color-text-heading);font-size:.85rem;font-weight:600}.install-dialog__requirement-copy{color:var(--color-text-secondary);white-space:pre-wrap;margin:0;font-size:.82rem;line-height:1.55}.install-dialog__actions{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.install-dialog__button{height:40px;padding:0 var(--space-lg);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:inline-flex}.install-dialog__button--ghost{color:var(--color-text-secondary);border-color:var(--color-border-light)}.install-dialog__button--ghost:hover{background:var(--color-surface);border-color:var(--color-text-muted);color:var(--color-text-heading)}.install-dialog__button--primary{background:var(--color-beam);color:#000}.install-dialog__button--primary:hover{background:var(--color-beam-dim)}.install-dialog__button--secondary{border-color:var(--color-border-light);color:var(--color-text-heading);background:#ffffff0d}.install-dialog__button--secondary:hover{border-color:var(--color-text-muted);background:#ffffff14}.install-info-dialog{text-align:left;width:min(100%,480px)}.install-info-dialog__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.install-info-dialog__close{width:32px;height:32px;margin:calc(var(--space-xs) * -1) calc(var(--space-xs) * -1) 0 0;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;display:inline-flex}.install-info-dialog__close:hover{background:var(--color-surface);color:var(--color-text-heading);border-color:var(--color-border-light)}.install-info-dialog__close:focus-visible{outline:2px solid var(--color-beam);outline-offset:2px}.install-info-dialog__body{gap:var(--space-sm);flex-direction:column;display:flex}.install-info-dialog__links{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.install-info-dialog__link-item{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-eclipse);transition:border-color var(--transition), background var(--transition);flex-direction:column;gap:2px;display:flex}.install-info-dialog__link-item:hover{border-color:var(--color-beam);background:var(--color-surface)}.install-info-dialog__link{color:var(--color-text-heading);font-size:.9rem;font-weight:600;text-decoration:none}.install-info-dialog__link:hover,.install-info-dialog__link:focus-visible{color:var(--color-beam);text-decoration:underline}.install-info-dialog__link-description{color:var(--color-text-secondary);font-size:.8rem;line-height:1.5}.app-list{gap:var(--space-sm);color:var(--color-text-secondary);flex-direction:column;padding-left:1.15rem;font-size:.95rem;line-height:1.7;list-style-position:outside;display:flex}.app-list--plain{margin:0;padding-left:0;list-style:none}.app-list li::marker{color:var(--color-beam)}.app-result-diagnostics-list{gap:var(--space-md)}.app-result-diagnostics-header{justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap;align-items:baseline;display:flex}.app-button-row,.app-toolbar,.app-chip-row,.app-inline-actions{gap:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.app-button-row--between{justify-content:space-between}.app-button-row--flex-end{justify-content:flex-end}.app-button{cursor:pointer;border:0;text-decoration:none}.app-button.back-link{background-color:unset}button.hero-cta,button.download-btn,button.app-button--danger,button.app-button--ghost{appearance:none}.app-button--small{padding:.65rem 1rem;font-size:.85rem}.app-button--wide{justify-content:center;width:100%}.app-button--danger{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xl);color:#ffc0c0;border-radius:var(--radius-md);transition:background var(--transition), border-color var(--transition), color var(--transition);background:#d940401a;border:1px solid #d9404059;font-size:.95rem;font-weight:600;display:inline-flex}.app-button--danger:hover{color:#fff;background:#d9404029;border-color:#d9404099}.app-button--ghost{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);color:var(--color-text-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-light);transition:color var(--transition), background var(--transition), border-color var(--transition);background:0 0;font-weight:500;display:inline-flex}.app-button--ghost:hover{color:var(--color-text-heading);background:var(--color-surface);border-color:var(--color-text-muted)}.app-button[disabled],.app-button:disabled,.app-filter-chip:disabled,.app-form-input:disabled,.app-form-select:disabled,.app-form-textarea:disabled,.app-checkbox:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.app-notice{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font-size:.9rem;line-height:1.65}.app-notice--info{background:var(--color-beam-subtle);color:var(--color-text);border:1px solid #00ffe038}.app-notice--success{color:#dff7ea;background:#5fd19d1a;border:1px solid #5fd19d47}.app-notice--warning{color:var(--color-text);background:#d940400f;border:none;border-left:4px solid #d94040}.app-notice--danger{color:#ffd0d0;background:#d9404014;border:1px solid #d940404d}.app-kv{gap:var(--space-md);display:grid}.app-kv--compact{gap:var(--space-sm)}.app-kv-item{flex-direction:column;gap:.2rem;display:flex}.app-kv dt,.app-form-label,.app-text-label{font-size:.85rem;font-weight:500}.app-kv dd,.app-value,.app-mono,.app-code-link{color:var(--color-text-heading)}.app-mono,.app-code-link{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8rem}.app-code-link{text-underline-offset:2px;text-decoration:underline}.app-code-link:hover{color:var(--color-beam)}.app-code-block{padding:var(--space-md);white-space:pre-wrap;word-break:break-word;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border-light);color:var(--color-text-secondary);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto}.app-form-card{gap:var(--space-lg);flex-direction:column;display:flex}.app-form-field{gap:var(--space-sm);flex-direction:column;display:flex}.app-form-input,.app-form-select,.app-form-textarea,.app-secret-mask{border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:var(--color-surface);width:100%;color:var(--color-text);transition:border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition);padding:.8rem .95rem;font-size:.95rem}.app-form-textarea{resize:vertical;min-height:8rem}.app-form-input::placeholder,.app-form-textarea::placeholder,.app-secret-mask{color:var(--color-text-muted)}.app-form-input:hover,.app-form-select:hover,.app-form-textarea:hover{border-color:#ffffff38}.app-form-input:focus,.app-form-select:focus,.app-form-textarea:focus{border-color:#00ffe073;outline:none;box-shadow:0 0 0 3px #00ffe01f}.app-form-error{color:var(--color-danger);font-size:.9rem}.app-save-status{font-size:.85rem;font-weight:500}.app-save-status--saved{color:var(--color-success)}.app-save-status--error{color:var(--color-danger)}.app-save-status--saving{color:var(--color-beam)}.app-checkbox-row{align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:.95rem;display:flex}.app-form-toggle-row{justify-content:space-between;align-items:center;gap:var(--space-md);color:var(--color-text-secondary);font-size:.95rem;display:flex}.app-form-toggle-copy{flex:1}.app-checkbox{cursor:pointer;appearance:none;border:1px solid var(--color-border-light);background:var(--color-surface);border-radius:6px;flex-shrink:0;place-items:center;width:1.75rem;height:1.75rem;display:inline-grid}.app-checkbox:after{content:"";width:.9rem;height:.9rem;transition:transform var(--transition);background:var(--color-beam);border-radius:3px;transform:scale(0)}.app-checkbox:checked:after{transform:scale(1)}.app-secret-field{align-items:center;gap:var(--space-sm);display:flex}.app-secret-mask{-webkit-user-select:none;user-select:none}.app-inline-icon-button,.app-inline-text-button{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition);background:0 0;border:0}.app-inline-icon-button{justify-content:center;align-items:center;padding:.35rem;display:inline-flex}.app-inline-text-button{font-size:.85rem;font-weight:500}.app-inline-icon-button:hover,.app-inline-text-button:hover{color:var(--color-beam)}.app-empty-state,.app-loading-state{text-align:center;padding:var(--space-3xl) var(--space-xl);background:var(--color-umbra);border:1px solid var(--color-border);border-radius:var(--radius-md)}.app-empty-state__title{color:var(--color-text-heading);margin-bottom:var(--space-sm);font-size:1.05rem;font-weight:600}.app-gallery-toolbar{gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.app-filter-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.app-filter-chip{border:1px solid var(--color-border-light);background:var(--color-umbra);color:var(--color-text-secondary);transition:color var(--transition), background var(--transition), border-color var(--transition);cursor:pointer;border-radius:999px;padding:.55rem .95rem;font-size:.85rem;font-weight:500}.app-filter-chip:hover{color:var(--color-text-heading);background:var(--color-surface);border-color:#ffffff40}.app-filter-chip.active{color:#000;background:var(--color-beam);border-color:var(--color-beam)}.app-count-label{color:var(--color-text-muted);font-size:.85rem}.app-status-badge{top:var(--space-sm);right:var(--space-sm);letter-spacing:.01em;z-index:2;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex;position:absolute}.app-status-badge--warning{color:#000;background:#f0c15aeb}.app-status-badge--info{color:#000;background:#00ffe0e6}.app-status-badge--danger{color:#fff;background:#d94040eb}.app-gallery-link{flex-direction:column;min-width:0;display:flex;position:relative}.app-gallery-link .gallery-card-img{position:relative}.app-gallery-link .gallery-card-img img,.app-gallery-link .gallery-card-img video{object-fit:contain;width:100%;height:100%;padding:var(--space-sm);box-sizing:border-box;position:absolute;inset:0}.app-gallery-placeholder{color:var(--color-text-muted);justify-content:center;align-items:center;font-size:2rem;display:flex;position:absolute;inset:0}.app-gallery-caption-title{color:var(--color-text-heading);font-size:.8rem;font-weight:600;display:block}.app-gallery-caption-meta{color:var(--color-text-secondary);margin-top:.15rem;font-size:.75rem;display:block}.app-media-stack{gap:var(--space-lg);flex-direction:column;display:flex}.app-media-stack img,.app-media-stack video{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-eclipse);width:100%;display:block}.app-detail-layout{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.app-sidebar-stack{gap:var(--space-lg);flex-direction:column;display:flex}.app-download-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.app-download-chip{align-items:center;gap:var(--space-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:var(--color-surface);color:var(--color-text-secondary);transition:color var(--transition), background var(--transition), border-color var(--transition);padding:.55rem .9rem;font-size:.78rem;display:inline-flex}.app-download-chip:hover{color:var(--color-text-heading);background:var(--color-surface-hover);border-color:#ffffff47}.app-danger-card{padding:var(--space-xl);border-radius:var(--radius-md);background:linear-gradient(#262626 0% 70%,#d940400f 100%);border:1px solid #d9404059}.app-danger-title{color:var(--color-danger)}.app-log-panel{gap:var(--space-lg);flex-direction:column;display:flex}.app-log-list{gap:var(--space-md);flex-direction:column;display:flex}.app-log-scroll{max-height:28rem;padding-right:.35rem;overflow:auto}.app-log-entry{padding:var(--space-md) var(--space-lg);background:var(--color-eclipse);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.app-log-entry__time{margin-bottom:var(--space-xs);color:var(--color-text-muted);font-size:.75rem}.app-log-entry__message,.app-tone-default{color:var(--color-text-secondary)}.app-tone-success{color:var(--color-success)}.app-tone-warning{color:var(--color-warning)}.app-tone-danger{color:var(--color-danger)}.app-tone-info{color:var(--color-beam)}.app-toggle-header{justify-content:space-between;align-items:center;gap:var(--space-lg);text-align:left;cursor:pointer;background:0 0;border:0;width:100%;display:flex}.app-text-link{color:var(--color-beam);text-underline-offset:2px;text-decoration:underline}.app-text-link:hover{color:var(--color-beam-dim)}.app-readonly-note{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.app-hero-card.home-card{height:100%}.app-error-shell{min-height:100vh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.app-error-card{width:min(100%,560px)}@media (width<=1100px){.install-page__layout{grid-template-columns:1fr}}@media (width<=900px){.app-card-grid--sidebar,.app-detail-layout{grid-template-columns:1fr}}@media (width<=768px){.app-header-inner{height:auto;min-height:64px;padding-top:var(--space-md);padding-bottom:var(--space-md);align-items:flex-start}.app-header-right{flex-wrap:wrap;justify-content:flex-end}.app-page-header{padding:var(--space-xl) var(--space-md)}.app-page-title{font-size:1.6rem}.app-card-grid--two,.app-form-grid--two,.app-stat-grid--two{grid-template-columns:1fr}.install-page__section{padding:var(--space-xl) var(--space-md)}.install-stage{height:auto;min-height:0;padding:var(--space-xl) var(--space-lg)}.install-stage__title{font-size:1.375rem}.install-stage__primary{width:100%;min-width:0}}@media (width<=560px){.app-header-right{justify-content:space-between;width:100%;margin-left:0}.app-site-nav{gap:var(--space-sm);flex-wrap:wrap}.app-page-title{font-size:1.4rem}.app-button-row--between{flex-direction:column;align-items:stretch}.app-button-row--between>*{justify-content:center;width:100%}}
