:root,:root[data-theme=light]{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;--bg: #f7f7f5;--panel: #ffffff;--panel-soft: #fafafa;--text: #262626;--muted: #737373;--border: #e5e5e5;--accent: #ffdb00;--accent-hover: #d9b500;--success: #62b957;--danger: #f65252;--ease-out: cubic-bezier(.23, 1, .32, 1);--radius-control: 6px;--radius-surface: 8px;--radius-panel: 10px}#web-login-error:empty{display:none}#web-login-error:not(:empty){color:var(--danger);font-size:12px}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:940px;min-height:640px;background:var(--bg);color:var(--text);font-size:13px}button,input{font:inherit}button{color:inherit}svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shell{width:100%;height:100%;display:grid;grid-template-columns:204px minmax(0,1fr);overflow:hidden}aside{height:100%;display:flex;flex-direction:column;padding:24px 16px 16px;background:var(--panel);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px}.brand-mark{width:34px;height:34px;display:block;flex:0 0 auto;object-fit:contain}.brand strong,.brand span{display:block}.brand strong{font-size:15px;letter-spacing:-.02em}.brand span{margin-top:1px;color:var(--muted);font-size:12px}nav{display:grid;gap:3px}.nav-item{width:100%;height:40px;display:flex;align-items:center;gap:11px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;text-align:left;font-size:14px;transition:background-color .14s ease,color .14s ease,transform .1s var(--ease-out)}.nav-item.active{background:var(--accent);color:#262626;font-weight:620}.nav-item:active,.button:active,.icon-button:active,.open-button:active,.setup-tab:active{transform:scale(.97)}.onboarding-shell{width:100%;height:100%;overflow:hidden;background:var(--bg)}.onboarding-main{width:100%;height:100%;max-width:none;display:grid;place-items:center;padding:32px 40px;overflow:auto}.onboarding-page{width:min(100%,680px);display:grid;gap:18px}.onboarding-topbar{display:flex;align-items:center;justify-content:space-between;min-height:34px}.onboarding-brand{display:inline-flex;align-items:center;gap:9px;font-size:14px}.onboarding-brand span{color:var(--muted);font-size:12px}.onboarding-brand img{width:26px;height:26px}.onboarding-exit{padding:4px 0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.onboarding-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;color:var(--muted);font-size:12px}.onboarding-progress i{height:3px;overflow:hidden;border-radius:99px;background:var(--border)}.onboarding-progress b{display:block;height:100%;border-radius:inherit;background:var(--text);transition:width .18s var(--ease-out)}.onboarding-card{padding:26px 0 28px}.onboarding-card h1{max-width:560px;margin:0 0 18px;font-size:27px;letter-spacing:-.03em}.onboarding-content{max-width:560px}.onboarding-content p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.65}.onboarding-license-summary{margin:0 0 20px;padding:16px;border:1px solid var(--border);border-radius:var(--radius)}.onboarding-license-summary-header{display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.onboarding-license-summary-header strong{font-size:14px}.onboarding-license-summary dl{display:grid;grid-template-columns:minmax(0,1fr);margin:14px 0 0}.onboarding-license-summary dl>div{min-width:0}.onboarding-license-summary dt{margin-bottom:5px;color:var(--muted);font-size:11px}.onboarding-license-summary dd{margin:0;font-size:12px}.onboarding-license-summary dd:first-of-type{min-width:0}.onboarding-license-summary code{display:inline-block;max-width:100%;overflow:hidden;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap}.onboarding-license-summary code.revealed{white-space:normal;overflow-wrap:anywhere}.onboarding-license-summary dd:has(code){display:flex;align-items:center;gap:8px}.onboarding-license-device-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px}.onboarding-license-device-actions .icon-button{width:30px;height:30px}.onboarding-license-device-actions .button{min-height:30px;padding:4px 8px;font-size:12px}.onboarding-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.onboarding-content>.button{margin-top:16px}.onboarding-card .button.primary{border-color:var(--text);background:var(--text);color:var(--bg)}.onboarding-card .button.primary:hover{background:var(--text)}.onboarding-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:22px 0 0}.onboarding-links div{min-width:0;padding:10px 0;border-top:1px solid var(--border)}.onboarding-links dt{margin-bottom:5px;color:var(--muted);font-size:12px}.onboarding-links dd{overflow:hidden;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom{margin-top:auto}.web-logout{width:100%;height:36px;display:grid;grid-template-columns:17px minmax(0,1fr);align-items:center;gap:8px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;text-align:left}.web-logout:hover{background:color-mix(in srgb,var(--danger) 9%,transparent);color:var(--danger)}.web-logout svg{width:17px;height:17px}.theme-picker{position:relative}.theme-trigger{width:100%;height:36px;display:grid;grid-template-columns:17px auto minmax(0,1fr) 14px;align-items:center;gap:8px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;text-align:left}.theme-trigger small{overflow:hidden;color:var(--muted);font-size:11px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.theme-trigger>svg:last-child{width:14px;height:14px;transition:transform .14s var(--ease-out)}.theme-trigger.open>svg:last-child{transform:rotate(-90deg)}.theme-menu{position:absolute;right:0;bottom:calc(100% + 5px);left:0;z-index:4;display:grid;gap:2px;padding:5px;border:1px solid var(--border);border-radius:9px;background:var(--panel);box-shadow:0 8px 24px color-mix(in srgb,#000 14%,transparent)}.theme-menu button{height:34px;display:grid;grid-template-columns:17px minmax(0,1fr) 7px;align-items:center;gap:9px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;text-align:left}.theme-menu button.active{background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text);font-weight:620}.theme-menu button i{width:6px;height:6px;border-radius:50%}.theme-menu button.active i{background:var(--accent)}.sidebar-foot{display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--muted);font-size:12px;border-top:1px solid var(--border)}.status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#aeb2ba}.status-dot.good{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 14%,transparent)}main{width:100%;height:100%;min-width:0;max-width:1600px;margin:0 auto;padding:32px 40px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:color-mix(in srgb,var(--muted) 42%,transparent) transparent;scrollbar-width:thin}header{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.header-description{margin:4px 0 0;color:var(--muted);font-size:12px}h1{margin:0;font-size:24px;line-height:1.15;letter-spacing:-.025em}.icon-button,.button,.open-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--panel);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,transform .1s var(--ease-out)}.icon-button,.open-button{width:34px;height:34px;padding:0}.button{min-height:36px;gap:7px;padding:0 14px;font-size:13px;font-weight:620}.button.primary{border-color:var(--accent);background:var(--accent);color:#262626}.button.danger{border-color:color-mix(in srgb,var(--danger) 44%,var(--border));color:var(--danger)}button:disabled{cursor:default;opacity:.42;transform:none}.progress-panel{margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);font-size:12px}.progress-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:24px;background:#0000008f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.progress-dialog{width:min(360px,calc(100vw - 48px));display:grid;justify-items:center;gap:12px;padding:28px 24px 24px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel);box-shadow:0 20px 60px #00000059;text-align:center}.progress-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--muted) 28%,transparent);border-top-color:var(--accent);border-radius:50%;animation:progress-spin .8s linear infinite}.progress-dialog strong{max-width:100%;overflow-wrap:anywhere;font-size:14px}.progress-dialog p{margin:0;color:var(--muted);font-size:12px}@keyframes progress-spin{to{transform:rotate(360deg)}}.summary-bar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.summary-bar>div:first-child{display:flex;align-items:center;gap:12px}.summary-bar strong,.summary-bar span{display:block}.summary-bar strong{font-size:14px}.summary-bar div div span{margin-top:3px;color:var(--muted);font-size:12px}.hero-actions{display:flex;gap:8px}.overview-simple{display:grid;align-content:center;justify-items:center;gap:22px;min-height:calc(100% - 60px);padding-top:8px}.overview-status{display:flex;align-items:baseline;gap:10px;min-height:30px;color:var(--muted);font-size:12px}.overview-status strong{color:var(--text);font-size:15px;font-weight:650}.overview-start-options{width:min(100%,640px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-start-option{min-width:0;min-height:82px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:9px;row-gap:2px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-control);background:transparent;color:var(--text);cursor:pointer;text-align:left;transition:border-color .14s ease,background-color .14s ease}.overview-start-option>span{grid-row:1 / span 2;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--panel-soft);color:var(--muted)}.overview-start-option svg{width:13px;height:13px}.overview-start-option strong{font-size:13px;font-weight:600}.overview-start-option small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.overview-start-option:hover:not(:disabled),.overview-start-option:focus-visible{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:var(--panel-soft);outline:none}.overview-start-option.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.overview-start-option.selected>span{background:var(--accent);color:var(--bg)}.overview-confirm-start{justify-self:center;min-width:132px}.overview-stop{justify-self:center;min-width:132px;margin-top:2px}.overview-required{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:42px;width:min(100%,640px);text-align:center;color:var(--muted);font-size:12px}.overview-required strong{color:var(--text);font-size:13px;font-weight:600}.overview-required span{display:block}.overview-support-groups{width:min(100%,640px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px}.running-services{width:min(100%,640px);min-width:0;display:grid;gap:8px}.overview-support-groups .running-services{width:100%}.overview-support-groups.single{grid-template-columns:1fr}.running-services h2{margin:0;color:var(--muted);font-size:12px;font-weight:600;text-align:left}.running-service-list{display:grid;border:1px solid var(--border);border-radius:var(--radius-surface);overflow:hidden}.running-service-row{min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:7px 10px;border-bottom:1px solid var(--border)}.running-service-row:last-child{border-bottom:0}.running-service-row strong{min-width:0;overflow:hidden;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.running-service-row code{min-width:0;overflow:hidden;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.running-service-row .button{min-height:28px;padding:0 9px;font-size:11px}.dialog-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:24px;background:#00000094;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:modal-scrim-in .18s ease-out both}.start-dialog{width:min(100%,410px);padding:18px;border:1px solid color-mix(in srgb,var(--text) 18%,var(--border));border-radius:8px;background:var(--panel);box-shadow:0 24px 70px #00000061,0 0 0 1px #ffffff08;animation:modal-panel-in .22s cubic-bezier(.22,1,.36,1) both}.runtime-destroy-dialog{width:min(100%,410px)}@keyframes modal-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.start-dialog header{min-height:32px;margin:0 0 14px}.start-dialog h2,.start-dialog p{margin:0}.backup-dialog-file{display:grid;gap:4px;margin-bottom:18px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--panel) 85%,var(--text))}.backup-dialog-file span{color:var(--muted);font-size:11px}.backup-dialog-file strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.start-dialog h2{font-size:16px}.start-dialog p{margin-top:3px;color:var(--muted);font-size:12px}.dialog-close{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:21px;line-height:1}.start-scope-list{display:grid;gap:6px}.start-scope-list button{min-height:55px;display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);cursor:pointer;text-align:left;transition:background-color .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.start-scope-list button:hover,.start-scope-list button:focus-visible{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--panel));box-shadow:0 5px 16px #00000029;outline:none;transform:translateY(-1px)}.start-scope-list button:active{transform:translateY(0) scale(.99)}.start-scope-list strong{font-size:13px}.start-scope-list span{color:var(--muted);font-size:11px}.header-actions{display:flex;align-items:center;gap:8px}.header-actions .icon-button{width:36px;height:36px}.section-title{margin:20px 0 10px}.section-title h2{margin:0;font-size:14px;font-weight:650}.service-grid{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--border);border-radius:8px;background:var(--panel)}.service-card{min-width:0;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:8px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;transition:background-color .14s ease,box-shadow .14s ease}.service-card:last-child{border-bottom:0}.service-commands{display:flex;align-items:center;gap:3px}.service-commands button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.service-commands .service-open{width:auto;min-width:44px;padding:0 10px;border:1px solid var(--border);font-size:12px;font-weight:620}.service-commands .service-action{width:auto;min-width:42px;padding:0 9px;border:1px solid var(--border);font-size:12px;font-weight:620}.service-more{position:relative}.service-more-trigger{font-size:16px;font-weight:700;letter-spacing:1px;line-height:1}.service-more-menu{position:absolute;right:0;bottom:calc(100% + 7px);z-index:3;width:142px;display:grid;gap:2px;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 8px 20px color-mix(in srgb,#000 13%,transparent)}.service-more-menu button{width:100%;height:30px;display:flex;align-items:center;gap:7px;padding:0 8px;border-radius:5px;font-size:11px;text-align:left}.service-more-menu button svg{width:14px;height:14px}.service-commands button svg{width:14px;height:14px}.service-card.disabled{background:var(--panel-soft)}.service-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;background:var(--accent);color:#262626;font-size:12px;font-weight:750}.service-copy{min-width:0}.service-card h3,.service-card p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-card h3{margin:0;font-size:13px}.service-card p{display:inline;margin:2px 0 0;color:var(--muted);font-size:11px}.service-card p span{margin-left:7px;color:var(--muted);font:11px SFMono-Regular,Consolas,monospace}.service-state{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap}.service-state i{width:5px;height:5px;border-radius:50%;background:#aeb2ba}.service-state.running{color:var(--success)}.service-state.running i{background:var(--success)}.open-button svg{width:14px;height:14px}.progress-panel>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px}.progress-panel span{color:var(--muted)}.progress-track{height:3px;overflow:hidden;border-radius:99px;background:var(--border)}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s var(--ease-out)}.progress-track i.indeterminate{width:34%;animation:managed-download-progress 1.1s linear infinite}@keyframes managed-download-progress{0%{transform:translate(-110%)}to{transform:translate(305%)}}@media(prefers-reduced-motion:reduce){.progress-track i.indeterminate{width:100%;animation:none;opacity:.65}}.backup-list{overflow:hidden;margin:12px 0;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.backup-row{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border)}.backup-actions{display:flex;flex:0 0 auto;gap:8px}.backup-row:last-child{border-bottom:0}.backup-row strong,.backup-row span{display:block}.backup-row strong{overflow:hidden;max-width:650px;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.backup-row span{margin-top:4px;color:var(--muted);font-size:11px}.empty-backup{min-height:148px;display:grid;place-content:center;gap:5px;padding:24px;color:var(--muted);text-align:center}.empty-backup strong{color:var(--text);font-size:13px}.empty-backup span{font-size:12px}#setup-form{height:calc(100% - 56px);display:grid;grid-template-rows:38px minmax(0,1fr) 46px;overflow:hidden}#setup-form.environment-mode{grid-template-rows:38px minmax(0,1fr) 46px}.setup-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.setup-tab{padding:9px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:700;transition:color .14s ease,transform .1s var(--ease-out)}.setup-tab.active{border-bottom-color:var(--text);color:var(--text)}.setup-tab:hover{background:transparent}.setup-panels{min-height:0;overflow-y:auto;padding:14px 8px 14px 0;scrollbar-color:color-mix(in srgb,var(--muted) 40%,transparent) transparent;scrollbar-width:thin}.setup-panels::-webkit-scrollbar{width:8px}.setup-panels::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:color-mix(in srgb,var(--muted) 38%,transparent);background-clip:padding-box}.setup-panel{height:100%;display:none;align-content:start;gap:10px}.setup-panel.active{display:grid}.storage-panel{align-content:start;gap:10px}.storage-path{display:block;width:100%;box-sizing:border-box;margin:0;padding:10px 11px;overflow-wrap:anywhere;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px;line-height:1.55}input.storage-path{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.environment-panel{min-height:0;grid-template-rows:minmax(250px,1fr) auto}.raw-config-group{min-height:0;display:grid;grid-template-rows:auto minmax(180px,1fr)}.raw-environment{width:100%;min-height:0;resize:none;padding:13px;border:1px solid var(--border);border-radius:8px;outline:none;background:#16181c;color:#d7dae0;font:12px/1.55 SFMono-Regular,Consolas,monospace;overflow:auto;scrollbar-color:#555b67 #1d2026;scrollbar-width:thin;white-space:pre}.raw-environment:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.config-group{padding:15px 16px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.database-mode-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.redis-mode-choice{grid-template-columns:repeat(3,minmax(0,1fr))}.database-mode-choice button{min-height:58px;display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);color:var(--text);cursor:pointer;text-align:left}.database-mode-choice button.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.database-mode-choice strong,.database-mode-choice span,.managed-database-summary strong,.managed-database-summary span,.database-download-note strong,.database-download-note span{display:block}.database-mode-choice strong{font-size:12px}.database-mode-choice span,.managed-database-summary span,.database-download-note span{color:var(--muted);font-size:11px;line-height:1.5}.managed-database-summary{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:18px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.managed-database-summary strong,.database-download-note strong{margin-bottom:3px;font-size:12px}.managed-database-summary .field{margin:0}.database-download-note{margin-bottom:18px;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:var(--panel-soft)}.managed-service-note{margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.managed-service-note strong,.managed-service-note span{display:block}.managed-service-note strong{margin-bottom:3px;font-size:12px}.managed-service-note span{color:var(--muted);font-size:11px;line-height:1.5}.managed-install-card,.managed-connection-card{margin-bottom:12px;border:1px solid var(--border);border-radius:9px;background:var(--panel-soft)}.managed-install-card{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px}.managed-connection-heading>div{min-width:0}.managed-install-card strong,.managed-connection-heading strong,.managed-connection-heading small{display:block}.managed-install-card strong{margin:0;font-size:13px}.managed-connection-heading strong{margin:5px 0 2px;font-size:13px}.managed-connection-heading small{color:var(--muted);font-size:11px;line-height:1.5}.managed-state{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:650}.managed-state:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.managed-state.running{color:var(--success)}.managed-state.stopped{color:var(--accent-hover)}.managed-connection-heading{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--border)}.managed-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.managed-connection-grid>div{min-width:0;padding:10px 14px;border-bottom:1px solid var(--border)}.managed-connection-grid>div:nth-child(odd):not(.connection-url){border-right:1px solid var(--border)}.managed-connection-grid>div.connection-url,.managed-connection-grid>div:nth-last-child(1){border-bottom:0}.managed-connection-grid .connection-url{grid-column:1 / -1}.managed-connection-grid dt{margin-bottom:4px;color:var(--muted);font-size:10px}.managed-connection-grid dd{min-width:0;display:flex;align-items:center;gap:8px;margin:0}.managed-connection-grid code{min-width:0;overflow:hidden;color:var(--text);font:11px/1.5 SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.copy-connection{width:24px;height:24px;display:grid;flex:0 0 auto;place-items:center;margin-left:auto;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:color .14s ease,transform .14s var(--ease-out)}.copy-connection svg{width:14px;height:14px}.copy-connection:active{transform:scale(.94)}.copy-connection.copied{color:var(--success)}@media(hover:hover)and (pointer:fine){.copy-connection:hover{color:var(--text)}}.backup-switch{display:inline-flex;height:30px;flex:0 0 auto;align-items:center;gap:8px;padding:0 2px 0 0;color:var(--muted);cursor:pointer;font-size:12px}.backup-switch input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.backup-switch>span{position:relative;width:34px;height:20px;border:1px solid var(--border);border-radius:99px;background:var(--panel-soft);transition:background-color .14s ease,border-color .14s ease}.backup-switch>span:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--muted);content:"";transition:transform .16s var(--ease-out),background-color .14s ease}.backup-switch input:checked+span{border-color:var(--accent);background:var(--accent)}.backup-switch input:checked+span:after{transform:translate(14px);background:#fff}.backup-switch input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.backup-switch strong{color:var(--text);font-size:12px;font-weight:600}.setting-toggle-list{display:grid;gap:8px}.setting-toggle{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);cursor:pointer}.setting-toggle>span:first-child,.setting-toggle strong,.setting-toggle small{display:block}.setting-toggle strong{color:var(--text);font-size:13px;font-weight:650}.setting-toggle small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.config-switch{position:relative;width:36px;height:22px;flex:0 0 auto}.config-switch input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.config-switch i{position:absolute;inset:0;border:1px solid var(--border);border-radius:99px;background:var(--panel);transition:background-color .14s ease,border-color .14s ease}.config-switch i:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--muted);content:"";transition:transform .16s var(--ease-out),background-color .14s ease}.config-switch input:checked+i{border-color:var(--accent);background:var(--accent)}.config-switch input:checked+i:after{transform:translate(14px);background:#fff}.config-switch input:focus-visible+i{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.config-note{margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.setup-explainer{border-top:1px solid var(--border);color:var(--muted);font-size:12px}.setup-explainer summary{height:38px;display:flex;align-items:center;cursor:pointer;color:var(--muted);font-weight:500;list-style:none}.setup-explainer summary::-webkit-details-marker{display:none}.setup-explainer summary:before{width:7px;height:7px;margin-right:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;content:"";transform:rotate(-45deg);transition:transform .14s var(--ease-out)}.setup-explainer[open] summary:before{transform:rotate(45deg) translate(-2px,-2px)}.setup-explainer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;padding:0 1px 14px 15px}.setup-explainer-grid div{display:grid;gap:3px}.setup-explainer-grid strong{color:var(--muted);font-size:12px;font-weight:600}.setup-explainer-grid span{color:var(--muted);font-size:11px;line-height:1.55}.toast{position:fixed;top:24px;right:24px;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) 20px;grid-template-rows:auto auto;align-items:start;gap:4px 8px;width:min(440px,calc(100vw - 48px));min-height:38px;padding:10px 8px 10px 12px;border:1px solid color-mix(in srgb,var(--success) 28%,var(--border));border-radius:7px;background:var(--panel);box-shadow:0 10px 26px color-mix(in srgb,#000 16%,transparent);font-size:12px}.toast span{grid-column:1;grid-row:1;color:var(--success);font-weight:650}.toast.danger{border-color:color-mix(in srgb,var(--danger) 38%,var(--border))}.toast.danger span{color:var(--danger)}.toast small{grid-column:1;grid-row:2;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.toast button{grid-column:2;grid-row:1 / span 2;width:20px;height:20px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;font-size:17px;line-height:1}.toast button:hover{background:var(--panel-soft);color:var(--text)}.log-filters{display:flex;gap:5px;margin-bottom:10px}.log-filters button{min-height:30px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--muted);cursor:pointer;font-size:12px}.log-filters button.active{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--panel));color:var(--accent)}.network-layout{display:grid;align-content:start;gap:14px}.network-primary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.network-service-card{min-width:0;align-self:start;display:grid;align-content:start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.network-access-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.network-access-card .network-card-heading{min-width:0}.network-access-card .access-choice{justify-self:end}.network-access-address{grid-column:1 / -1;width:100%}.network-service-card .field{grid-template-rows:15px 34px minmax(15px,auto)}.network-service-card .field small{min-height:15px;overflow:visible;line-height:1.35;text-overflow:clip;white-space:normal}.network-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.network-card-heading h2{margin:0;font-size:14px;letter-spacing:-.01em}.network-card-heading span{color:var(--muted);font-size:11px}.access-choice{display:inline-flex;width:fit-content;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.access-choice button{height:28px;padding:0 9px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;white-space:nowrap}.access-choice button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px color-mix(in srgb,#000 12%,transparent)}.access-choice button:disabled{cursor:not-allowed;opacity:.5}.card-port-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:auto}.network-primary-grid .card-port-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-service-card{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.player-service-card .network-card-heading,.player-service-card .player-port-grid{grid-column:1 / -1}.player-port-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-title{display:flex;justify-content:space-between;margin-bottom:12px}.group-title h2,.group-title span{display:inline}.group-title h2{margin:0 8px 0 0;font-size:13px}.group-title span{color:var(--muted);font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.single{grid-template-columns:minmax(0,1fr)}.form-grid.port-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:10px}.form-grid.compact{row-gap:9px}.secret-list{border-top:1px solid var(--border)}.secret-row{min-width:0;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(260px,1.35fr) auto;align-items:center;gap:24px;min-height:76px;padding:14px 2px;border-bottom:1px solid var(--border)}.secret-row.editing .secret-value,.secret-row.editing .secret-editor{border-color:color-mix(in srgb,var(--accent) 46%,var(--border))}.secret-meta{min-width:0;display:grid;gap:4px}.secret-meta>strong{font-size:12px}.secret-control{min-width:0}.secret-actions{flex:none;display:flex;align-items:center;gap:4px}.secret-action{min-width:56px;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;transition:background-color .14s ease,color .14s ease,transform .1s var(--ease-out)}.secret-action svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.secret-action[aria-pressed=true],.secret-action.primary,.secret-action.copied{border-color:color-mix(in srgb,var(--accent) 22%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.secret-action:active{transform:scale(.97)}.secret-action:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:1px}.secret-value,.secret-editor{width:100%;height:34px;min-width:0;box-sizing:border-box;padding:0 9px;border:1px solid color-mix(in srgb,var(--border) 76%,transparent);border-radius:var(--radius-control);background:var(--panel-soft);color:var(--text);font:12px/32px ui-monospace,SFMono-Regular,Menlo,monospace}.secret-value{display:block;overflow:hidden;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.secret-value.empty{color:var(--muted);font-family:inherit;letter-spacing:0}.secret-editor{outline:none;line-height:normal;transition:border-color .14s ease,box-shadow .14s ease}.secret-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}@media(hover:hover)and (pointer:fine){.secret-action:hover{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}}.field{min-width:0;display:grid;gap:5px;font-size:12px;font-weight:600;grid-template-rows:15px 34px 11px}.field input{width:100%;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:7px;outline:none;background:var(--panel-soft);color:var(--text);transition:border-color .14s ease,box-shadow .14s ease}.field select{width:100%;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:7px;outline:none;background:var(--panel-soft);color:var(--text);font:inherit}.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.field small{min-height:11px;overflow:hidden;color:var(--muted);font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.field small.empty{visibility:hidden}.check-field{min-height:34px;display:flex;align-items:center;gap:7px;align-self:start;margin-top:20px;font-size:12px}.form-actions{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--border)}.form-actions.submit-actions{justify-content:flex-end;padding-top:20px}.form-actions>span{padding-bottom:9px;color:var(--muted);font-size:11px}.text-button{padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:12px;font-weight:620}.about-page{width:min(980px,100%);display:grid;gap:14px;padding-top:2px}.license-page{width:100%}.manager-login-page{min-height:100%;display:grid;place-items:center;padding:28px 0 10vh}.manager-login-card{width:min(520px,100%);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel)}.manager-login-heading{padding:26px 26px 22px}.manager-login-kicker{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.12em}.manager-login-heading h1{margin:0;font-size:22px;letter-spacing:-.02em}.manager-login-form{display:grid;gap:16px;padding:22px 26px 24px;border-top:1px solid var(--border)}.manager-login-form .field{gap:6px;grid-template-rows:auto 34px auto}.manager-login-form .field small{min-height:0;overflow:visible;line-height:1.5;text-overflow:clip;white-space:normal}.manager-login-form .button{width:100%;min-height:40px;justify-self:stretch;margin-top:2px}.license-header h1{display:flex;align-items:center;gap:10px}.license-panel{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel)}.license-status-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px}.license-state{padding:3px 8px;border-radius:99px;background:var(--panel-soft);color:var(--muted);font-size:11px}.license-state.valid{background:color-mix(in srgb,var(--success) 14%,var(--panel));color:var(--success)}.license-header .license-state{flex:0 0 auto}.license-status-main{display:grid;gap:4px}.license-status-main>div{display:flex;align-items:center;gap:10px}.license-status-main strong{color:var(--text);font-weight:620}.license-status-main p{margin:0;color:var(--muted);font-size:12px}.license-group-link{padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;white-space:nowrap}.license-group-link svg{width:14px;height:14px;margin-left:2px;vertical-align:-2px}.license-group-link:hover{color:var(--text);text-decoration:underline}.license-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--border)}.license-facts>div{min-width:0;padding:12px 16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.license-facts>div:nth-child(2n){border-right:0}.license-facts dt,.license-facts dd{margin:0}.license-facts dt{margin-bottom:4px;color:var(--muted);font-size:11px}.license-facts dd{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.license-section{padding:14px 20px;border-top:1px solid var(--border)}.license-device{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.license-device-actions{display:flex;align-items:center;gap:8px}.license-device-actions .icon-button{width:36px;height:36px}.license-device>div{min-width:0}.license-device span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px}.license-device code{display:block;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.license-device code.revealed{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.license-import{display:grid;gap:8px}.license-token-label{color:var(--muted);font-size:11px}.license-token-input{width:100%;min-height:104px;resize:vertical;padding:10px 11px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--panel-soft);color:var(--text);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.license-token-input::placeholder{color:var(--muted);font-family:inherit}.license-token-input:focus{border-color:color-mix(in srgb,var(--accent) 70%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.license-import .button{justify-self:end}.about-card{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.about-card-heading{min-height:48px;display:flex;align-items:center;padding:0 16px}.about-card-heading h2{margin:0;font-size:14px}.about-document-list,.about-image-list{border-top:1px solid var(--border)}.about-image-row{display:flex;align-items:center;gap:20px;padding:13px 16px;border-top:1px solid var(--border)}.about-image-row:first-child{border-top:0}.about-image-summary{min-width:0;display:grid;gap:4px;flex:1}.about-image-row strong{font-size:13px}.about-image-row small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.about-image-details{min-width:106px;flex:0 0 auto}.about-image-details summary{color:var(--muted);cursor:pointer;font-size:11px;list-style:none;text-align:right}.about-image-details summary::-webkit-details-marker{display:none}.about-image-details summary:after{content:"⌄";display:inline-block;margin-left:5px;transition:transform .14s ease}.about-image-details[open] summary{color:var(--text)}.about-image-details[open]{flex-basis:100%;width:100%}.about-image-details[open] summary:after{transform:rotate(180deg)}.about-image-meta{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:12px 0 0;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--panel-soft);color:var(--muted);font-size:11px}.about-image-meta dt,.about-image-meta dd{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.about-image-meta dt{margin-bottom:3px;color:var(--muted);font-family:inherit;font-size:10px}.about-image-meta dd{color:var(--text);font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.about-image-meta dd{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.45}.about-image-empty{min-height:58px;display:flex;align-items:center;padding:10px 16px;color:var(--muted);font-size:12px}.about-page{width:min(1400px,100%);gap:16px}.about-release-card{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,var(--panel) 0%,var(--panel-soft) 180%)}.about-release-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.about-release-facts>div{min-width:0;min-height:92px;display:flex;flex-direction:column;justify-content:center;padding:16px 20px;border-right:1px solid var(--border)}.about-release-facts>div:nth-child(3n){border-right:0}.about-release-facts dt,.about-release-facts dd{min-width:0;margin:0}.about-release-facts dt{margin-bottom:6px;color:var(--muted);font-size:11px}.about-release-facts dd{overflow:hidden;color:var(--text);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.about-image-list{border-top:1px solid var(--border)}.about-changelog-list{max-height:min(560px,65vh);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--border);scrollbar-color:color-mix(in srgb,var(--muted) 42%,transparent) transparent;scrollbar-gutter:stable;scrollbar-width:thin}details.about-changelog-row{display:block;border-top:1px solid var(--border)}details.about-changelog-row:first-child{border-top:0}.about-changelog-row>summary{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px;cursor:pointer;list-style:none}.about-changelog-row>summary::-webkit-details-marker{display:none}.about-changelog-row>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.about-changelog-summary{min-width:0;display:grid;gap:4px}.about-changelog-summary strong{color:var(--text);font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.about-changelog-summary small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.about-changelog-sections{display:grid;gap:10px;margin:0 16px 16px}.about-changelog-section{padding:12px 14px 13px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.about-changelog-section h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--text);font-size:12px;font-weight:700}.about-changelog-section h3:before{width:3px;height:12px;border-radius:999px;background:var(--accent);content:""}.about-changelog-section ol{display:grid;gap:7px;margin:0;padding-left:21px;color:var(--text-secondary);font-size:12px;line-height:1.65}.about-changelog-section li{padding-left:2px}details.about-image-row{display:block;padding:0;border-top:1px solid var(--border)}details.about-image-row:first-child{border-top:0}.about-image-row>summary{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px;cursor:pointer;list-style:none}.about-image-row>summary::-webkit-details-marker{display:none}.about-image-row>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.about-image-summary{min-width:0;display:grid;gap:4px}.about-image-summary strong{font-size:13px}.about-image-summary small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.about-image-disclosure{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.about-image-disclosure:after{content:"⌄";display:inline-block;transition:transform .16s cubic-bezier(.23,1,.32,1)}.about-image-row[open] .about-image-disclosure{color:var(--text)}.about-image-row[open] .about-image-disclosure:after{transform:rotate(180deg)}.about-image-meta{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0 16px 16px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.about-image-meta>div{min-width:0}.about-image-meta dt{margin-bottom:4px;color:var(--muted);font-size:10px}.about-image-meta dd{margin:0;color:var(--text);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.about-document-row{width:100%;min-height:62px;display:flex;align-items:center;gap:12px;padding:10px 16px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;text-align:left;transition:background-color .14s ease,color .14s ease}.about-document-row:first-child{border-top:0}.about-document-row:hover{background:var(--panel-soft)}.about-document-row:active{transform:scale(.995)}.about-document-row>span{min-width:0;display:grid;gap:4px;flex:1}.about-document-row strong{font-size:13px}.about-document-row small,.about-document-row em{overflow:hidden;color:var(--muted);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.about-document-row em{flex:0 0 auto}.about-document-row svg{width:15px;height:15px;flex:0 0 auto;color:var(--muted)}.legal-dialog{width:min(780px,calc(100vw - 72px));max-height:min(680px,calc(100vh - 72px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 18px 54px color-mix(in srgb,#000 20%,transparent)}.legal-dialog>header{min-height:68px;margin:0;padding:14px 16px;border-bottom:1px solid var(--border)}.legal-dialog h2{margin:0;font-size:15px}.legal-dialog header p{margin:4px 0 0;color:var(--muted);font-size:11px}.legal-document-content{min-height:0;margin:0;padding:16px;overflow:auto;background:var(--panel-soft);color:var(--text);font:11px/1.55 SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word;scrollbar-color:color-mix(in srgb,var(--muted) 40%,transparent) transparent;scrollbar-width:thin}@media(max-width:760px){.about-image-row{align-items:flex-start;flex-direction:column;gap:10px}.about-image-details{width:100%}.about-image-details summary{text-align:left}}.diagnostic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.diagnostic-list>div{min-height:82px;padding:12px 13px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.diagnostic-list b,.diagnostic-list span{display:block}.diagnostic-list b{margin-bottom:5px;font-size:12px}.diagnostic-list span{color:var(--muted);font-size:11px;line-height:1.4}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-grid article{min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.metric-grid span,.metric-grid strong,.metric-grid small{display:block}.metric-grid span{color:var(--muted);font-size:12px}.metric-grid strong{margin-top:5px;font-size:21px;letter-spacing:-.025em}.metric-grid small{margin-top:3px;color:var(--muted);font-size:11px}.performance-panel{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.performance-head,.performance-row{display:grid;grid-template-columns:minmax(150px,1.3fr) .55fr 1.1fr 1.2fr .45fr .7fr;align-items:center;gap:14px;padding:0 15px}.performance-head{height:36px;background:var(--panel-soft);color:var(--muted);font-size:11px}.performance-row{min-height:61px;border-top:1px solid var(--border);font-size:12px}.performance-row.disabled{color:var(--muted);background:var(--panel-soft)}.performance-row b{font-size:12px;font-weight:620}.performance-row small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.performance-name{display:flex;align-items:center}.memory-meter{display:grid;grid-template-columns:minmax(50px,1fr) 39px;align-items:center;gap:8px}.memory-meter>span{height:5px;overflow:hidden;border-radius:99px;background:var(--border)}.memory-meter i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.performance-note{margin:10px 2px 0;color:var(--muted);font-size:11px}.runtime-list{column-count:2;column-gap:12px}.runtime-catalog-tabs{display:flex;gap:8px;margin:0 0 16px;border-bottom:1px solid var(--border)}.runtime-catalog-tabs button{padding:9px 12px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font:inherit;font-size:13px;font-weight:700}.runtime-catalog-tabs button:hover{color:var(--text)}.runtime-catalog-tabs button.active{border-bottom-color:var(--text);color:var(--text)}.runtime-catalog-tabs span{margin-left:5px;color:var(--muted);font-size:11px;font-weight:500}.runtime-profile-form{margin:0 0 18px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.runtime-profile-form-header,.runtime-profile-saved-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.runtime-profile-form-header{padding:20px 22px;border-bottom:1px solid var(--border);background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel) 46%)}.eyebrow{display:block;margin-bottom:5px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.runtime-profile-form h2,.runtime-profile-saved h2,.runtime-profile-section h3{margin:0}.runtime-profile-form-header h2,.runtime-profile-saved h2{font-size:17px}.runtime-profile-form-header p,.runtime-profile-section-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.runtime-profile-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.runtime-profile-section{min-width:0;padding:20px 22px 22px}.runtime-profile-section+.runtime-profile-section{border-left:1px solid var(--border)}.runtime-profile-section-heading{display:flex;gap:10px;align-items:flex-start;margin-bottom:17px}.runtime-profile-section h3{font-size:14px}.runtime-profile-step{display:grid;width:22px;height:22px;flex:0 0 auto;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:11px;font-weight:800}.runtime-profile-grid{gap:14px 12px}.runtime-isolation-switch{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:11px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.runtime-isolation-switch input{position:absolute;opacity:0}.runtime-isolation-switch>span{position:relative;width:32px;height:18px;flex:0 0 auto;border-radius:99px;background:var(--border);transition:background .16s ease}.runtime-isolation-switch>span:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--text);content:"";transition:transform .16s cubic-bezier(.23,1,.32,1)}.runtime-isolation-switch input:checked+span{background:var(--accent)}.runtime-isolation-switch input:checked+span:after{transform:translate(14px)}.runtime-isolation-switch strong,.runtime-isolation-switch small{display:block}.runtime-isolation-switch strong{font-size:12px}.runtime-isolation-switch small{margin-top:2px;color:var(--muted);font-size:11px}.runtime-isolation-fields{opacity:.48;transition:opacity .16s ease}.isolation-enabled .runtime-isolation-fields{opacity:1}.runtime-profile-saved{margin-top:4px}.runtime-profile-saved-heading{margin:0 2px 12px}.runtime-profile-actions{justify-content:flex-end}.runtime-profile-saved-heading>span{color:var(--muted);font-size:12px}.runtime-profile-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));column-count:unset;gap:12px}.runtime-profile-list .runtime-project{margin:0}.runtime-profile-list .runtime-empty{grid-column:1 / -1}.runtime-profile-empty{display:grid;gap:5px;min-height:120px;place-content:center;text-align:center}.runtime-profile-empty strong{color:var(--text)}.runtime-profile-empty span{color:var(--muted);font-size:12px}.runtime-profile-card .runtime-profile-title{display:flex;align-items:center;gap:8px}.runtime-profile-mode{padding:2px 7px;border-radius:999px;background:var(--panel-soft);color:var(--muted);font-size:10px;font-weight:700}.runtime-profile-limits{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 14px;color:var(--muted);font-size:11px}.runtime-profile-limits strong{color:var(--text);font-size:12px}.map-runtime-profile-dialog{width:min(100%,600px)}.map-runtime-profile-dialog form{display:grid;gap:16px;margin-top:16px}.map-runtime-profile-dialog .runtime-isolation-switch{margin:2px 0 0}@media(max-width:760px){.runtime-profile-layout{grid-template-columns:minmax(0,1fr)}.runtime-profile-section+.runtime-profile-section{border-top:1px solid var(--border);border-left:0}.runtime-profile-form-header{align-items:flex-start;flex-direction:column}}.runtime-project{display:inline-block;width:100%;margin:0 0 12px;break-inside:avoid;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.runtime-project>header{display:flex;align-items:center;min-height:0;margin-bottom:0;padding:11px 14px 10px;border-bottom:1px solid var(--border)}.runtime-project h2{margin:0;font-size:14px}.runtime-project p{margin:4px 0 0;color:var(--muted);font-size:12px}.runtime-project code{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.runtime-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.runtime-mode-grid.single{grid-template-columns:minmax(0,1fr)}.runtime-mode{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:0;padding:10px 14px 11px}.runtime-mode+.runtime-mode{border-left:1px solid var(--border)}.runtime-mode-head{display:flex;align-items:flex-start}.runtime-mode-info{min-width:0}.runtime-mode>div>strong{font-size:12px}.runtime-destroy{flex:0 0 auto}.runtime-mode>.runtime-destroy{min-height:32px;height:32px;gap:5px;padding:0 10px;font-size:12px;align-self:center}.runtime-destroy:hover{background:color-mix(in srgb,var(--danger) 10%,var(--panel))}.runtime-destroy svg{width:13px;height:13px}.runtime-mode p{overflow:hidden;margin:5px 0 0;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.runtime-mode .runtime-metrics{color:var(--muted);font-variant-numeric:tabular-nums}.runtime-rooms{margin-top:9px}.runtime-rooms>strong{color:var(--text);font-size:11px}.runtime-rooms>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.runtime-room{display:inline-flex;align-items:center;gap:4px;max-width:120px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.runtime-room i{width:5px;height:5px;border-radius:50%;background:var(--muted)}.runtime-room.active{color:var(--text)}.runtime-room.active i{background:var(--success, #45b36b)}.runtime-destroy.room{width:24px;height:24px;padding:1px;border:0;border-radius:4px;color:var(--danger)}.runtime-progress{display:block;overflow:hidden;height:4px;margin-top:13px;border-radius:99px;background:var(--panel-soft)}.runtime-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.runtime-submaps{border-top:1px solid var(--border);background:var(--panel-soft)}.runtime-submaps>summary{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:0 14px;color:var(--text);cursor:pointer;font-size:12px;font-weight:700;list-style:none}.runtime-submaps>summary:hover{background:#ffffff0a}.runtime-submaps>summary::-webkit-details-marker{display:none}.runtime-submaps>summary:before{width:7px;height:7px;margin-right:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);content:"";transform:rotate(-45deg);transition:transform .15s ease-out}.runtime-submaps[open]>summary:before{transform:rotate(45deg)}.runtime-submaps-title{display:inline-flex;align-items:baseline;gap:0}.runtime-submaps-title small{color:var(--muted);font-size:11px;font-weight:500}.runtime-submap-list{display:grid;gap:8px;padding:0 10px 10px}.runtime-submap{overflow:hidden;border:1px solid var(--border);border-left:3px solid var(--border);border-radius:10px;background:var(--panel)}.runtime-submap>header{margin-bottom:0;min-height:0;padding:8px 11px;border-bottom:1px solid var(--border)}.runtime-submap h3{margin:0;color:var(--text);font-size:12px}.runtime-submap p{margin:3px 0 0;color:var(--muted);font-size:11px}.runtime-submap code{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.runtime-submap .runtime-mode{min-height:0;padding:8px 11px}.runtime-empty{padding:48px 20px;border:1px dashed var(--border);border-radius:var(--radius-panel);color:var(--muted);text-align:center}.nav-item,.theme-menu button,.dialog-close,.start-scope-list button,.button,.icon-button,.open-button,.service-commands button,.service-icon,.service-more-menu button,.copy-connection,.access-choice button,.field input,.toast button{border-radius:var(--radius-control)}.theme-trigger,.theme-menu,.progress-panel,.summary-bar,.backup-dialog-file,.service-grid,.service-more-menu,.backup-list,.raw-environment,.database-mode-choice button,.managed-database-summary,.database-download-note,.managed-service-note,.setting-toggle,.access-choice,.about-card,.about-image-meta,.diagnostic-list>div,.runtime-submap,.toast{border-radius:var(--radius-surface)}.start-dialog,.config-group,.network-service-card,.managed-install-card,.managed-connection-card,.about-release-card,.legal-dialog,.metric-grid article,.performance-panel,.runtime-project{border-radius:var(--radius-panel)}@media(hover:hover)and (pointer:fine){.nav-item:hover,.theme-trigger:hover,.theme-menu button:hover{background:var(--panel-soft);color:var(--text)}.button:hover,.icon-button:hover,.open-button:hover,.service-commands button:hover{background:var(--panel-soft)}.button.primary:hover{background:var(--accent-hover)}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--bg: #0d0d0d;--panel: #171717;--panel-soft: #242424;--text: #f5f5f5;--muted: #a3a3a3;--border: #333333;--accent: #ffdb00;--accent-hover: #ffe34d}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d0d0d;--panel: #171717;--panel-soft: #242424;--text: #f5f5f5;--muted: #a3a3a3;--border: #333333;--accent: #ffdb00;--accent-hover: #ffe34d}@media(max-width:1040px){.secret-row{grid-template-columns:minmax(170px,.75fr) minmax(220px,1.25fr);gap:10px 18px}.secret-actions{grid-column:2;justify-self:end}.network-primary-grid,.player-service-card{grid-template-columns:1fr}main{padding-inline:22px}.runtime-mode-grid{grid-template-columns:1fr}.runtime-list{column-count:1}.runtime-mode+.runtime-mode{border-top:1px solid var(--border);border-left:0}}@media(max-width:560px){.secret-row{grid-template-columns:1fr;gap:9px}.secret-actions{grid-column:1;justify-self:start}.runtime-mode{grid-template-columns:1fr;row-gap:8px}.runtime-mode>.runtime-destroy{justify-self:start}}@media(max-width:760px){.network-access-card{grid-template-columns:1fr}.network-access-card .access-choice{justify-self:start}.overview-start-options,.overview-support-groups{grid-template-columns:1fr}.overview-required{align-items:flex-start;flex-direction:column;gap:8px}.running-service-row{grid-template-columns:minmax(0,1fr) auto auto}.running-service-row code{grid-column:1 / -1;grid-row:2}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
