:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#eef0f3;--border:#dde1e6;--text:#1c2027;--muted:#646d7a;--accent:#c4470a;--accent-text:#fff;--danger:#b42323;--success:#1e6b30;--warning:#b45309;--warn:#8a5a00;--info:#1864ab;--log-bg:#12151a;--log-text:#d8dee6;--code-key:#1864ab;--code-string:#2b7a3d;--code-number:#b4490a;--code-literal:#862e9c;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}:root[data-theme=dark]{--bg:#111317;--surface:#1a1d23;--surface-2:#232730;--border:#2e333d;--text:#e4e7ec;--muted:#9099a6;--accent:#ff7a33;--accent-text:#15100c;--danger:#ff6b6b;--success:#51cf66;--warning:#fab005;--warn:#fcc419;--info:#74c0fc;--log-bg:#0b0d10;--code-key:#74c0fc;--code-string:#8ce99a;--code-number:#ffa94d;--code-literal:#d0a4f5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111317;--surface:#1a1d23;--surface-2:#232730;--border:#2e333d;--text:#e4e7ec;--muted:#9099a6;--accent:#ff7a33;--accent-text:#15100c;--danger:#ff6b6b;--success:#51cf66;--warning:#fab005;--warn:#fcc419;--info:#74c0fc;--log-bg:#0b0d10;--code-key:#74c0fc;--code-string:#8ce99a;--code-number:#ffa94d;--code-literal:#d0a4f5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:inherit}code{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}h1,h2{margin:0 0 .4em}h1{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:1.6rem;display:flex}h2{font-size:1.1rem}hr{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.muted{color:var(--muted)}.small{font-size:.85rem}.spacer,.grow{flex:1}.center{text-align:center;margin:1.5rem 0}.topbar{z-index:5;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.7rem 1.25rem;display:flex;position:sticky;top:0}.brand{font-weight:700}.topbar nav{gap:.25rem;display:flex}.topbar nav a{border-radius:var(--radius);color:var(--muted);padding:.35rem .75rem;text-decoration:none}.topbar nav a.active{background:var(--surface-2);color:var(--text)}.docker-status{border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem;font-size:.8rem}.docker-status:before{content:"●";margin-right:.35rem}.docker-status.on:before{color:var(--success)}.docker-status.off:before{color:var(--danger)}.page{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 3rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.back{color:var(--muted);margin-bottom:1rem;text-decoration:none;display:inline-block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem}.two-col{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:1rem;display:grid}@media (width<=900px){.two-col{grid-template-columns:minmax(0,1fr)}}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;padding:.45rem .9rem;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(.96)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0}.btn.small{padding:.25rem .6rem;font-size:.85rem}.btn-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;min-width:0;padding:.45rem .6rem}input[type=checkbox]{width:auto;margin:0}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}input[aria-invalid=true]{border-color:var(--danger)}input:disabled,select:disabled{opacity:.6}.alert{border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid;margin:.75rem 0;padding:.6rem .8rem}.alert.error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent)}.alert.success{color:var(--success);border-color:color-mix(in srgb, var(--success) 40%, transparent);background:color-mix(in srgb, var(--success) 8%, transparent)}.alert.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent)}.alert.info{border-color:color-mix(in srgb, var(--info) 40%, transparent);background:color-mix(in srgb, var(--info) 8%, transparent)}.badge{text-transform:capitalize;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.badge.state-running{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.badge.state-restarting,.badge.state-paused{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.badge.state-asleep{background:color-mix(in srgb, var(--info) 14%, transparent);color:var(--info)}.badge.state-dead{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.badge.health-healthy{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.badge.health-unhealthy,.badge.crash-loop{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.badge.crash-loop{text-transform:none}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;margin:1rem;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--muted);padding:3rem 1rem}.app-icon{object-fit:contain;background:var(--surface-2);border-radius:10px;flex-shrink:0}.app-icon.placeholder{place-items:center;font-size:1.4rem;display:grid}.server-list{gap:.75rem;margin-top:1rem;display:grid}.server-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.server-main{flex:1;align-items:center;gap:.9rem;min-width:0;text-decoration:none;display:flex}.server-name{font-size:1.05rem;font-weight:600}.server-side{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filters{flex-wrap:wrap;gap:.5rem;margin:1rem 0 .5rem;display:flex}.filters .search{flex:260px}.filters select{flex:0 220px;width:auto}.app-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.75rem;display:grid}.app-card{flex-direction:column;gap:.6rem;text-decoration:none;transition:border-color .15s;display:flex}.app-card:hover{border-color:var(--accent)}.app-card-head{align-items:center;gap:.75rem;display:flex}.app-name{font-weight:600}.app-overview{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.88rem;display:-webkit-box;overflow:hidden}.app-meta{justify-content:space-between;gap:.5rem;margin-top:auto;display:flex}.app-hero{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.link-row{flex-wrap:wrap;gap:.9rem;margin-top:.35rem;font-size:.85rem;display:flex}.overview p{white-space:pre-line;overflow-wrap:anywhere;margin:0 0 .75em}.config-form{flex-direction:column;gap:1rem;display:flex}.config-section{border:1px solid var(--border);border-radius:var(--radius);min-width:0;margin:0;padding:.75rem .9rem .9rem}.config-section legend{padding:0 .35rem;font-weight:600}.field-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:.9rem;display:grid}.field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.field-label{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;display:flex}.field-target{color:var(--muted);font-weight:400}.field-help{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;font-size:.78rem}.field-disabled .field-help,.field-disabled .field-target{opacity:.6}.required{color:var(--danger)}.input-row{gap:.35rem;display:flex}.hostname-add{flex-wrap:wrap;margin-top:.6rem}.hostname-add input{flex:14rem}.hostname-add select{width:auto}.form-footer{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.form-error{color:var(--danger);font-size:.85rem}.warn-text{color:var(--warn)}.deploy-progress{margin-bottom:1rem}.steps{margin:0 0 .6rem;padding-left:1.2rem;font-size:.9rem}.pull-summary{color:var(--muted);justify-content:space-between;margin-bottom:.25rem;font-size:.85rem;display:flex}progress{width:100%;height:8px;accent-color:var(--accent)}.warnings{color:var(--warn);margin:.6rem 0;padding:0;font-size:.85rem;list-style:none}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.stat-value{font-variant-numeric:tabular-nums;font-weight:600}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1rem;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .9rem}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.system-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.system-nav .tabs{border-bottom:none;flex:auto;min-width:0;margin-bottom:0}.system-find{flex:0 16rem;margin-bottom:.4rem;position:relative}.system-find input{width:100%}.system-find-results{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.4rem .6rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;box-shadow:0 6px 18px #0000001f}.system-find-results li{padding:.2rem 0}.system-find-results li.active{background:var(--surface-2);margin:0 -.6rem;padding:.2rem .6rem}.found-flash{border-radius:var(--radius);animation:1.6s ease-out found-flash}@keyframes found-flash{0%,30%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent)}to{box-shadow:0 0 0 3px #0000}}@media (prefers-reduced-motion:reduce){.found-flash{animation:none}}.tab-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:.45rem;height:.45rem;margin-left:.35rem;display:inline-block}@media (width<=640px){.system-find{flex-basis:100%}}.settings-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.log-viewer{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.log-toolbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.4rem .7rem;font-size:.85rem;display:flex}.dot{border-radius:50%;width:8px;height:8px}.dot.on{background:var(--success)}.dot.off{background:var(--muted)}.log-box{background:var(--log-bg);height:60vh;min-height:300px;color:var(--log-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:.75rem;font:.8rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.modal-backdrop{z-index:10;background:#00000080;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{flex-direction:column;gap:.75rem;width:min(420px,100%);display:flex}.extra-list{flex-direction:column;gap:.75rem;margin-bottom:.75rem;display:flex;container-type:inline-size}.extra-row{border-bottom:1px dashed var(--border);grid-template-columns:6.5rem minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) 7rem auto;align-items:end;gap:.5rem;padding-bottom:.75rem;display:grid}@container (width<=640px){.extra-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.extra-empty{display:none}}.extra-remove{justify-self:start}.field-grid.wide{grid-template-columns:minmax(0,1fr)}.checkbox-field .field-label{font-weight:600}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:400;text-decoration:underline}.no-margin{margin:0 0 .6rem}.resource-summary{flex-wrap:wrap;gap:.35rem 1.1rem;margin-top:.35rem;display:flex}.resource{font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;display:inline-flex}.resource-label{letter-spacing:.04em;color:var(--muted);font-size:.7rem;font-weight:600}.meter{background:var(--surface-2);vertical-align:middle;border-radius:3px;width:64px;height:6px;display:inline-block;position:relative;overflow:hidden}.stat .meter{width:100%;margin-top:.4rem;display:block}.meter-fill{border-radius:3px;transition:width .4s;position:absolute;inset:0 auto 0 0}.meter-fill.low{background:var(--success)}.meter-fill.mid{background:var(--warn)}.meter-fill.high{background:var(--danger)}.stat-detail{margin-top:.25rem}.resource-value{white-space:nowrap}@media (width<=640px){.server-card{flex-direction:column;align-items:stretch}.server-main{align-items:flex-start}.server-main>div{min-width:0}.server-side{justify-content:space-between}}.update-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 1rem;display:flex}.server-name .badge{vertical-align:2px;text-transform:none;margin-left:.35rem}.badge.update-available{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.badge.update-current{color:var(--muted);background:0 0;font-weight:500}.badge.update-error{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.update-inline{color:var(--muted);align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.update-inline .spinner{border-width:2px;width:12px;height:12px;margin:0}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--border);border-radius:999px;flex-shrink:0;width:30px;height:17px;transition:background .15s;position:relative}.switch-track:after{content:"";background:var(--surface);border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch-track{background:var(--success)}.switch input:checked+.switch-track:after{transform:translate(13px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.5}.update-progress{margin-bottom:1rem}.update-items{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.update-item{grid-template-columns:1.2rem auto minmax(0,1fr);align-items:baseline;gap:.5rem;display:grid}.update-item.done .update-icon{color:var(--success)}.update-item.failed .update-icon,.update-item.failed .update-message{color:var(--danger)}.update-name{font-weight:600}.update-message{overflow-wrap:anywhere}.update-warning{color:var(--warn);grid-column:2/-1}.section-title{color:var(--muted);margin:0 0 .5rem;font-size:.95rem}.downloads{margin-bottom:1.5rem}.downloads .server-list{margin-top:0}.job-card{border-style:dashed}.job-status{max-width:520px;margin-top:.45rem}.job-bar{background:var(--surface-2);border-radius:3px;height:6px;position:relative;overflow:hidden}.job-bar span{background:var(--accent);border-radius:3px;transition:width .6s;position:absolute;inset:0 auto 0 0}.job-bar.indeterminate span{width:30%;animation:1.2s ease-in-out infinite job-slide}@keyframes job-slide{0%{left:-30%}to{left:100%}}.job-text{color:var(--muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:.3rem}.job-status.done .job-text{color:var(--success)}.job-status.failed .job-text{color:var(--danger)}.job-percent{color:var(--text);font-weight:600}@media (prefers-reduced-motion:reduce){.job-bar.indeterminate span{opacity:.4;width:100%;animation:none}}:root{--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--chart-grid:#e1e0d9;--chart-axis:#898781;--status-ok:#0ca30c;--status-warning:#fab219;--status-critical:#d03b3b}:root[data-theme=dark]{--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--chart-grid:#2c2c2a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--chart-grid:#2c2c2a}}.viz{margin:0;position:relative}.chart-plot{position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--chart-grid);stroke-width:1px}.chart .axis-label{fill:var(--chart-axis);font-variant-numeric:tabular-nums;font-size:11px}.chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .area{opacity:.1;stroke:none}.chart .crosshair{stroke:var(--chart-axis);stroke-width:1px}.chart .dot{stroke:var(--surface);stroke-width:2px}.chart .hit{fill:#0000;cursor:crosshair}.chart-empty{border:1px dashed var(--border);border-radius:var(--radius);place-items:center;display:grid}.legend{color:var(--muted);flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:.4rem;display:inline-flex}.legend-line.dashed{-webkit-mask:repeating-linear-gradient(90deg,#000 0 4px,#0000 4px 7px);mask:repeating-linear-gradient(90deg,#000 0 4px,#0000 4px 7px)}.legend-line{border-radius:1px;flex-shrink:0;width:14px;height:2px;display:inline-block}.legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.tooltip{z-index:3;background:var(--surface);border:1px solid var(--border);pointer-events:none;border-radius:6px;min-width:150px;padding:.45rem .6rem;font-size:.8rem;position:absolute;box-shadow:0 4px 14px #0000001f}.tooltip-time{color:var(--muted);margin-bottom:.25rem}.tooltip-row{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:.45rem;display:flex}.stacked{position:relative}.stacked-track{gap:2px;min-width:120px;height:14px;display:flex}.stacked-seg{cursor:default;min-width:2px;height:100%;transition:filter .15s;display:block}.stacked-seg:last-child{border-radius:0 4px 4px 0}.stacked-seg.hovered,.stacked-seg:focus-visible{filter:brightness(1.15);outline:none}.stacked-tooltip{top:20px;left:0}.host-page .page-header{flex-wrap:wrap;align-items:baseline}.host-meter{background:var(--surface-2);border-radius:3px;min-width:60px;height:6px;margin-top:.4rem;position:relative;overflow:hidden}.host-meter-fill{border-radius:3px;transition:width .4s;position:absolute;inset:0 auto 0 0}.host-meter-fill.ok{background:var(--series-1)}.host-meter-fill.warning{background:var(--status-warning)}.host-meter-fill.critical{background:var(--status-critical)}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.chart-wide{grid-column:1/-1}@media (width<=800px){.chart-grid{grid-template-columns:minmax(0,1fr)}}.chart-sub{margin:-.3rem 0 .75rem}.table-toggle{margin-bottom:1rem;font-size:.85rem;display:inline-block}.table-card{max-height:360px;margin-bottom:1rem;overflow:auto}.data-table{border-collapse:collapse;width:100%;margin-bottom:.75rem;font-size:.88rem}.data-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:.4rem .5rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.5rem}.data-table tr:last-child td{border-bottom:none}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .strong{font-weight:600}.meter-cell{min-width:110px}.meter-cell .host-meter{margin:0 0 .2rem}.storage{margin-top:1.5rem}.storage .page-header h2{margin:0}.storage-table .bar-col{width:38%}.storage-server{align-items:center;gap:.6rem;display:flex}.storage-server a{font-weight:600;text-decoration:none}.folder-row>td{background:var(--surface-2);padding:.25rem .75rem}.folder-table{border-collapse:collapse;width:100%;font-size:.82rem}.folder-table td{vertical-align:top;overflow-wrap:anywhere;padding:.3rem .4rem}.folder-table .badge{text-transform:none;margin-left:.4rem}@media (width<=700px){.storage-table .bar-col,.storage-table th:nth-child(4),.storage-table td:nth-child(4),.storage-table th:nth-child(5),.storage-table td:nth-child(5){display:none}.storage-table .folder-row td{display:table-cell}}.table-scroll{max-width:100%;overflow-x:auto}.data-table td{overflow-wrap:anywhere}.version-link{color:var(--muted);border-radius:6px;padding:.2rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;text-decoration:none;position:relative}.version-link:hover,.version-link.active{background:var(--surface-2);color:var(--text)}.update-dot{background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:0;right:-2px}.update-banner{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.55rem 1.25rem;font-size:.9rem;display:flex}.update-banner>span{flex:1}.facts{grid-template-columns:max-content minmax(0,1fr);gap:.45rem 1.25rem;margin:0 0 1rem;display:grid}.facts dt{color:var(--muted);font-size:.85rem}.facts dd{overflow-wrap:anywhere;margin:0}.system-page .card{margin-bottom:1rem}.system-progress{margin-top:1rem}.system-progress .alert{align-items:center;gap:.5rem;display:flex}.system-progress .spinner{border-width:2px;flex-shrink:0;width:14px;height:14px;margin:0}.file-browser,.file-editor{padding:.9rem}.file-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.crumbs{flex-wrap:wrap;align-items:center;gap:.15rem;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;display:flex}.crumbs .link-button{color:var(--text);border-radius:4px;padding:.1rem .2rem;font-size:.88rem;text-decoration:none}.crumbs .link-button:hover{background:var(--surface-2)}.file-filter{width:180px;padding:.3rem .5rem;font-size:.85rem}.file-list{border:1px solid var(--border);border-radius:var(--radius);transition:opacity .15s;overflow:hidden}.file-list.loading{opacity:.55}.file-row{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:1.6rem minmax(0,1fr) 6rem 6rem;align-items:center;gap:.5rem;padding:.4rem .7rem;font-size:.9rem;display:grid}.file-row:last-child{border-bottom:none}.file-row:hover,.file-row:focus-visible{background:var(--surface-2);outline:none}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-name .badge{text-transform:none;margin-left:.4rem}.file-size,.file-time{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=600px){.file-row{grid-template-columns:1.6rem minmax(0,1fr) 5rem}.file-time{display:none}}.empty-folder{margin:0;padding:.75rem}.file-source{margin:.5rem 0 0}.search-results{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin-bottom:.75rem;padding:.6rem .75rem}.search-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.search-head strong{overflow-wrap:anywhere;flex:1;font-size:.9rem}.search-head input{width:180px;padding:.25rem .5rem;font-size:.85rem}.match-list{max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.match-list li{justify-content:space-between;gap:1rem;padding:.2rem 0;display:flex}.match-list .link-button{text-align:left;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.editor-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.editor-path{overflow-wrap:anywhere;font-size:.88rem}.editor-head .badge{text-transform:none}.editor-body{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:60vh;min-height:320px;display:flex;position:relative;overflow:hidden}.editor-gutter{text-align:right;color:var(--muted);background:var(--surface-2);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:.6rem .5rem .6rem .6rem;overflow:hidden}.editor-gutter,.editor-area,.editor-mirror{font-variant-ligatures:none;tab-size:4;font:.82rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.editor-pane{flex:1;min-width:0;position:relative}.editor-area{resize:none;white-space:pre;background:0 0;border:none;border-radius:0;width:100%;height:100%;padding:.6rem .75rem;position:absolute;inset:0;overflow:auto}.editor-area.wrap{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:hidden}.editor-area.colored{color:#0000;caret-color:var(--text)}.editor-area.colored::selection{color:#0000;background:color-mix(in srgb, var(--info) 30%, transparent)}.editor-colors{color:var(--text);pointer-events:none}.tok-key{color:var(--code-key)}.tok-string{color:var(--code-string)}.tok-number{color:var(--code-number)}.tok-literal{color:var(--code-literal)}.tok-comment,.tok-punct{color:var(--muted)}.tok-section{color:var(--accent)}.editor-mirror{visibility:hidden;pointer-events:none;white-space:pre-wrap;overflow-wrap:anywhere;position:absolute;top:0;left:0}.editor-gutter>div{overflow:hidden}.editor-gutter>.bad-line{color:var(--surface);background:var(--danger);border-radius:2px}.editor-valid{color:var(--success)}.editor-wrap{margin-right:.25rem}.editor-area:focus{outline:none}.editor-body:focus-within{border-color:var(--accent)}.editor-foot{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:.4rem;display:flex}.alert.small{font-size:.85rem}.ssh-key-list{margin:0 0 .75rem;padding:0;list-style:none}.ssh-key-list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.field-label .link-button{margin-left:auto;font-size:.78rem;font-weight:400}.create-network{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.8rem;margin-top:.9rem;padding:.85rem;display:flex}.create-network p{margin:0}.segmented{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.5rem;display:grid}.segmented button{text-align:left;font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;flex-direction:column;gap:.15rem;padding:.55rem .75rem;font-weight:600;display:flex}.segmented button span{color:var(--muted);font-size:.8rem;font-weight:400}.segmented button.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.location-picker{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.location-picker .field{flex:0 320px}.location-detail{overflow-wrap:anywhere;flex:260px;margin:0 0 .45rem}.file-row:disabled{cursor:not-allowed;color:var(--muted)}.file-row:disabled:hover{background:0 0}.file-row .badge,.match-list .badge{text-transform:none}.match-list .link-button:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.unifi .segmented{margin:.25rem 0}.fingerprint{overflow-wrap:anywhere;word-break:break-all;margin:.4rem 0;font-size:.78rem;display:block}.facts .fingerprint{margin:0}.cert-prompt{white-space:normal}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.ip-check{margin-bottom:.2rem;font-size:.8rem;display:block}.ip-check.good{color:var(--success)}.ip-check.bad{color:var(--danger);font-weight:600}.ip-check.warn{color:var(--warn)}.proxy-page .card{margin-bottom:1rem}.key-box{align-items:flex-start;gap:.5rem;margin:.4rem 0 .6rem;display:flex}.key-box code{border:1px solid var(--border);background:var(--surface-2);overflow-wrap:anywhere;word-break:break-all;border-radius:6px;flex:1;min-width:0;padding:.45rem .6rem;font-size:.78rem}.agent-command{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.5rem;margin:.75rem 0;padding:.75rem;display:flex}.agent-command-box{align-items:flex-start;gap:.5rem;display:flex}.agent-command-box pre{border:1px solid var(--border);background:var(--surface-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;flex:1;min-width:0;margin:0;padding:.5rem .6rem;font-size:.78rem}.import-key{flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.75rem;display:flex}.import-key textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:.5rem;font:.78rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.radio{align-items:center;gap:.45rem;font-size:.9rem;display:flex}.radio input{width:auto}.embedded-forwarding{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:.75rem}.embedded-forwarding .settings-actions h2{margin:0}.server-info{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:.7rem .9rem}.server-info ul{margin:.4rem 0 .6rem;padding:0;font-size:.88rem;list-style:none}.server-info li:before{width:1.2rem;display:inline-block}.server-info li.ok:before{content:"✓";color:var(--success)}.server-info li.bad:before{content:"✕";color:var(--danger)}.op-output{background:var(--log-bg);max-height:320px;color:var(--log-text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:.5rem 0 0;padding:.6rem .75rem;font:.78rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.route-line{color:var(--muted);margin:.5rem 0 0}.route-line code{color:var(--text)}.relay-list{margin:.75rem 0 0;padding-left:1.2rem;font-size:.9rem}.import-image{flex-direction:column;gap:.6rem;margin:.5rem 0 1rem;display:flex}.import-image .input-row input{flex:1}.from-image{white-space:normal;flex-direction:column;gap:.6rem;display:flex}.radio.disabled{color:var(--muted)}.upstream-status{margin-top:.8rem}.upstream-status ul{margin-top:0}.port-settings{margin-bottom:1rem}.port-input{width:7rem}.shift-ports{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.proxy-firewall .server-info{margin-bottom:.7rem}.linode .server-info,.linode .facts{margin-bottom:.8rem}.firewall-select{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.firewall-select select{flex:16rem;min-width:0}.adopt-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin:.8rem 0;padding:.8rem .9rem}.adopt-diff{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.6rem;margin:.7rem 0;display:grid}.adopt-diff pre{max-height:24rem;overflow-x:auto}.port-channels{flex-direction:column;gap:.3rem;margin:.8rem 0;display:flex}.col-toggle{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.col-toggle input,.port-settings td input[type=checkbox]{width:auto}@media (width<=600px){.port-settings .port-input{width:5.5rem}}.sync-badge{cursor:default;border-radius:999px;width:max-content;margin-top:.2rem;padding:0 .4rem;font-size:.72rem;line-height:1.5;display:block}.sync-synced{color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent)}.sync-pending,.sync-removing{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, transparent)}.sync-conflict{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.sync-summary{flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin-bottom:.6rem;font-size:.85rem;display:flex}.sync-line:before{width:1.1rem;display:inline-block}.sync-line.ok:before{content:"✓";color:var(--success)}.sync-line.bad:before{content:"!";color:var(--warning);font-weight:700}.deleted-storage{margin-top:1.5rem}.deleted-server+.deleted-server{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.9rem}.deleted-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.deleted-total{align-items:center;gap:.75rem;display:flex}.folder-actions{white-space:nowrap;text-align:right}.folder-actions .btn+.btn{margin-left:.4rem}.hostname-input{align-items:center;gap:.25rem;min-width:18rem;display:flex}.hostname-input input{flex:6rem;min-width:5rem}.hostnames-table td{vertical-align:top}.hostnames-table select{max-width:16rem}@media (width<=720px){.hostnames-table thead{display:none}.hostnames-table,.hostnames-table tbody,.hostnames-table tr,.hostnames-table td{width:100%;display:block}.hostnames-table tr{border-bottom:1px solid var(--border);padding:.5rem 2.5rem .5rem 0;position:relative}.hostnames-table td{border:0;padding:.2rem 0}.hostnames-table td:last-child{width:auto;position:absolute;top:.5rem;right:0}.hostname-input{min-width:0}.hostnames-table select{max-width:100%}}.connections{margin-top:1.75rem}.connections .section-title+p{margin-top:0}.hostnames-table .address-input{width:100%;min-width:11rem;margin-top:.3rem;display:block}.hostnames-table .port-input{width:6.5rem}.backup-plan{flex-direction:column;gap:.9rem;display:flex}.backup-plan h2{margin-bottom:0}.backup-folders{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.backup-folders li{border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem .3rem .3rem .7rem;display:flex}.folder-picker{flex-direction:column;gap:.5rem;display:flex}.folder-picker .file-list{max-height:320px;overflow-y:auto}.folder-picker .file-row{grid-template-columns:1.6rem minmax(0,1fr)}.backup-list{margin-bottom:.75rem}.backup-item{border-bottom:1px solid var(--border)}.backup-item:last-child{border-bottom:none}.backup-row{grid-template-columns:minmax(0,1fr) 5.5rem 5.5rem auto;align-items:center;gap:.5rem;padding:.35rem .7rem;display:grid}.restore-confirm{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.6rem;margin:0 .7rem .6rem;padding:.7rem .8rem;display:flex}.restore-confirm .radio input{flex-shrink:0}.backup-row .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.backup-row .btn-row{flex-wrap:nowrap}@media (width<=600px){.backup-row{grid-template-columns:minmax(0,1fr) auto}.backup-row .btn-row{grid-column:1/-1}}.backup-plan .radio input{flex-shrink:0}.ca-cert textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:.5rem;font:.78rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sign-in-button{justify-content:center}.user-menu{align-items:baseline;gap:.5rem;font-size:.85rem;display:inline-flex}.sign-in-form{flex-direction:column;gap:.6rem;display:flex}.sign-in-or{text-align:center;color:var(--muted);font-size:.8rem}.modal>.link-button{align-self:center}.sign-in-settings,.api-keys{flex-direction:column;gap:.75rem;display:flex}.sign-in-settings h3,.api-keys h3{margin:.75rem 0 0;font-size:1rem}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.inline-form .field{flex:12rem;max-width:18rem}.data-table td.actions{text-align:right;white-space:nowrap}.new-key{flex-direction:column;gap:.5rem;display:flex}.new-key code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.inline-form>.form-error{align-self:center}.data-table td.actions .btn+.btn{margin-left:.35rem}.secret-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.group-grant{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.group-grant select,.group-grant input{flex:180px;width:auto;min-width:0}.inline-input{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-input input[type=number]{width:5.5rem}.notify-general{margin-top:1rem}.notify-events{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:.75rem 1.25rem;display:grid}.notify-events .field-label{margin:.25rem 0}.notify-servers{margin-top:.5rem}.sev-dot{vertical-align:middle;border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-right:.35rem;display:inline-block}.sev-info{background:var(--accent);opacity:.6}.sev-warning{background:var(--warn)}.sev-error{background:var(--danger)}.notify-ok{color:var(--success)}.notify-history{margin-top:1.25rem}.notify-history h3{margin:0 0 .5rem;font-size:.95rem}.notify-history-list{flex-direction:column;gap:.45rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.console-command{color:#7dd3fc;font-weight:600}.console-reply{color:#d1fae5}.console-error{color:#fca5a5}.console-input{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.5rem;padding:.5rem .7rem;display:flex}.console-form{align-items:center;gap:.5rem;display:flex}.console-form input{flex:1;min-width:0;font:.85rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.console-prompt{color:var(--muted);font:600 .9rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.quick-commands{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--border);background:var(--bg,transparent);color:inherit;cursor:pointer;border-radius:999px;padding:.15rem .6rem;font:.78rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chip:hover{border-color:var(--accent)}.console-settings{border-top:1px dashed var(--border);padding-top:.75rem}.preset-select{width:auto}.task-list{flex-direction:column;gap:.75rem;display:flex}.task-card{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.4rem;padding:.7rem .9rem;display:flex}.task-card.disabled{opacity:.65}.task-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.task-steps{margin:0;padding-left:1.4rem}.task-times{flex-wrap:wrap;gap:1.25rem;display:flex}.run-ok{color:var(--success);font-weight:600}.run-failed,.run-missed{color:var(--danger);font-weight:600}.run-skipped{color:var(--muted);font-weight:600}.run-history ul{margin:.35rem 0 0;padding-left:1.1rem}.run-history ol{margin:.15rem 0 .35rem;padding-left:1.3rem}.step-editor{flex-direction:column;gap:.45rem;margin:0 0 .5rem;padding-left:1.4rem;display:flex}.step-editor li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.step-editor select{width:auto}.step-editor .grow{flex:1;min-width:12rem}.step-buttons{gap:.2rem;margin-left:auto;display:inline-flex}.weekday-picker{flex-wrap:wrap;gap:.9rem;display:flex}.badge.next-task{font-weight:500}.time-settings h3{margin:1.1rem 0 .4rem;font-size:.95rem}.upcoming-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.upcoming-time{font-variant-numeric:tabular-nums;min-width:9rem;display:inline-block}.update-policy{margin-top:1rem}.update-policy h2{font-size:1.05rem}.update-policy .config-form,.system-updates .config-form{gap:.6rem;margin:.5rem 0}.system-updates h3{margin:1rem 0 .35rem;font-size:.95rem}.system-updates h3:first-child{margin-top:0}.radio input[type=time]{width:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.badge.game-online,.badge.game-starting,.badge.game-not_responding,.badge.game-unknown{background:var(--surface-2);color:inherit;align-items:center;gap:.35rem;display:inline-flex}.game-dot{background:var(--muted);border-radius:50%;width:.5rem;height:.5rem}.game-online .game-dot{background:var(--success)}.game-starting .game-dot{background:var(--warn)}.game-not_responding .game-dot{background:var(--danger)}.game-status{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.game-status-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.game-status-main{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.players-now strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.player-names{flex-wrap:wrap;gap:.35rem;display:flex}.chip.static{cursor:default}.chip.static:hover{border-color:var(--border)}.sparkline{align-items:center;gap:.6rem;display:flex}.sparkline svg{cursor:crosshair;overflow:visible}.sparkline svg:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.spark-base,.spark-crosshair{stroke:var(--border);stroke-width:1px}.spark-line{fill:none;stroke:var(--muted);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.spark-area{fill:var(--muted);opacity:.1}.spark-now{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.spark-hover{fill:var(--muted);stroke:var(--surface);stroke-width:2px}.sparkline-readout{font-variant-numeric:tabular-nums;min-width:7.5rem}.query-settings{border-top:1px dashed var(--border);padding-top:.6rem}.config-bar{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.config-bar .field-label{margin-right:.25rem}.chip.suggested{cursor:default;border-style:dashed;gap:.5rem;display:inline-flex}.chip.suggested .link-button{font-size:.78rem}.pin-button.pinned{color:var(--accent)}.view-toggle{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.view-toggle button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:.25rem .7rem;font-size:.82rem}.view-toggle button+button{border-left:1px solid var(--border)}.view-toggle button.active{background:var(--accent);color:var(--accent-text)}.settings-form{flex-direction:column;gap:1rem;padding:.25rem 0;display:flex}.settings-form-bar{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.settings-form-bar input[type=search]{max-width:22rem}.settings-form-bar .btn{margin-left:auto}.settings-add{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;gap:.5rem .75rem;margin:.75rem 0;padding:.75rem;display:grid}.settings-add .field{margin:0}.settings-add-buttons{gap:.5rem;display:flex}.settings-add .form-error,.settings-add-help{grid-column:1/-1;margin:0}.settings-add-here{margin-top:.4rem}.settings-group h3{color:var(--muted);margin:0 0 .5rem;font-size:.9rem;font-weight:600}.settings-grid{grid-template-columns:minmax(12rem,1fr) minmax(14rem,1.4fr);gap:.15rem 1rem;display:grid}.setting-row{display:contents}.setting-row>*{border-radius:4px;padding:.3rem .4rem}.setting-row.changed>*{background:color-mix(in srgb, var(--accent) 9%, transparent)}.setting-label{flex-direction:column;justify-content:center;min-width:0;display:flex}.setting-label code{overflow-wrap:anywhere}.setting-input{flex-direction:column;justify-content:center;gap:.15rem;min-width:0;display:flex}.setting-input .inline-input input:not([type=checkbox]){flex:1;min-width:0}.setting-input input.invalid{border-color:var(--danger)}.setting-was{overflow-wrap:anywhere}.config-file-list{flex-direction:column;gap:.4rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.config-file-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}@media (width<=640px){.settings-grid{grid-template-columns:minmax(0,1fr)}}.activity{flex-direction:column;gap:.75rem;display:flex}.activity-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.activity-filters input[type=search]{flex:1;min-width:14rem;max-width:26rem}.activity-filters select{width:auto}.activity-filters .spacer{flex:1}.activity-table .activity-row{cursor:pointer}.activity-table .activity-row:hover td,.activity-table .activity-row.open td{background:var(--surface-2)}.activity-table .activity-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.activity-table .nowrap{white-space:nowrap}.activity-details td{background:var(--surface-2)}.activity-details .facts{margin:0}.badge.audit-ok{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.badge.audit-denied{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.badge.audit-error{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.activity-settings h3,.my-sign-ins h3{margin:.75rem 0 .4rem;font-size:.95rem}.activity-settings .inline-input input[type=number]{width:5rem}.my-sign-ins ul{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.server-activity h2{font-size:1.05rem}.chart-range{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0 .5rem;display:flex}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.chart-head h2{margin:0}.server-history h2 .link-button{font:inherit;color:inherit;text-decoration:none}.history-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:1rem 1.5rem;margin-top:.75rem;display:grid}.history-chart h3{margin:0;font-size:.95rem}.chart-head select{width:auto}.indent{margin-left:1.6rem}select.indent{width:auto;max-width:100%}.app-hero.compact{margin-bottom:.75rem}.app-hero.compact h2{margin:0}ul.copies{margin:.25rem 0 .75rem;padding-left:1.2rem}ul.transfer-warnings{color:var(--warn);margin:0 0 .75rem;padding:0;font-size:.875rem;list-style:none}ul.transfer-warnings li{margin-bottom:.35rem}input.tiny-number{width:4.5rem;margin:0 .35rem;display:inline-block}.retention-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.35rem 1rem;margin:.25rem 0 .35rem 1.6rem;display:grid}.retention-grid input{width:4.5rem}.at-fields{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.at-fields input[type=time]{width:auto}.backup-more{margin:.75rem 0}.backup-more summary{cursor:pointer;color:var(--muted);margin-bottom:.5rem;font-size:.875rem}.badge.verify-ok{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success);text-transform:none}.badge.verify-failed{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger);text-transform:none}h3.backup-copies-title{margin-top:1.25rem;font-size:1rem}.backup-targets h3{margin:1.25rem 0 .35rem;font-size:1rem}ul.target-list{margin:0 0 .75rem;padding:0;list-style:none}ul.target-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}ul.target-list .btn-row{margin-left:auto}.key-notice code.key{word-break:break-all;-webkit-user-select:all;user-select:all;margin:.5rem 0;padding:.5rem;font-size:.95rem;display:block}.target-form{margin-top:.75rem}.two-factor-setup .qr{background:#fff;border-radius:6px;width:220px;height:220px;margin:.75rem 0}.two-factor-setup .qr svg{width:100%;height:100%;display:block}code.secret{-webkit-user-select:all;user-select:all;word-break:break-all}.recovery-codes ol.codes{columns:2;margin:.75rem 0;font-size:.95rem}.two-factor-card{margin:1rem 0}.require-2fa{margin-top:.75rem}.require-2fa select{width:auto}.stack-list{gap:.75rem;margin-bottom:.75rem;display:grid}.stack-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.stack-head .btn-row{margin-left:auto}.stack-toggle{color:var(--text);font-size:1.05rem;text-decoration:none}.stack-name{font-weight:600}.stack-partial{color:var(--warn)}ul.stack-services{margin:.75rem 0 0;padding:0;list-style:none}ul.stack-services li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.4rem 0;display:flex}textarea.code-input{font-family:var(--mono,ui-monospace, monospace);font-size:.85rem;line-height:1.4}.stack-editor .upload{width:fit-content}.change-create,.change-update{color:var(--accent);font-weight:600}.change-remove{color:var(--danger);font-weight:600}.badge.host-badge{text-transform:none;background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);margin-left:.4rem}.badge.host-badge.down{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.docker-hosts .row-actions{white-space:nowrap;text-align:right}.docker-hosts .host-ok{color:var(--success)}.docker-hosts .host-down{color:var(--danger)}.host-form{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.host-form h3{margin-top:0}.host-check>div+div,.host-check details,.host-check .btn-row{margin-top:.4rem}.host-check pre.setup-script,.setup-log pre{background:var(--code-bg,#111);color:#e6e6e6;white-space:pre-wrap;border-radius:6px;max-height:18rem;padding:.6rem;font-size:.75rem;overflow:auto}.setup-log{margin:.6rem 0}.disk-cleanup .section-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.disk-cleanup .cleanup-settings{margin:.6rem 0}.disk-cleanup .cleanup-group{margin-top:.8rem}.disk-cleanup .cleanup-items{max-height:14rem;margin:.3rem 0 0 1.4rem;padding:0;list-style:none;overflow:auto}.skip-link{z-index:50;background:var(--surface);color:var(--text);border-radius:var(--radius);border:1px solid var(--border);padding:.5rem .8rem;position:absolute;top:.5rem;left:-999px}.skip-link:focus{left:.5rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-button{border-radius:var(--radius);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding:.3rem .45rem;font-size:1.1rem;line-height:1}.icon-button:hover{color:var(--text);background:var(--surface-2)}.list-toolbar,.bulk-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.list-search{flex:12rem;min-width:10rem}.list-toolbar select{flex:0 auto;align-self:stretch;width:auto;max-width:14rem}.bulk-bar{border:1px dashed var(--border);border-radius:var(--radius);padding:.4rem .6rem}.bulk-bar .radio{margin-right:.5rem}.server-pick{flex-direction:column;align-self:flex-start;align-items:center;gap:.25rem;display:flex}.server-card{flex-wrap:wrap}.server-card .server-main{flex:18rem}.server-card.selected{border-color:var(--accent)}.star{color:var(--muted)}.star.on{color:var(--warn)}.tag-chips{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.3rem;display:flex}.tag-chip{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;text-decoration:none}.tag-chip:hover{border-color:var(--accent)}.tag-editor{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.3rem;display:flex}.tag-editor input{min-width:14rem}.connect-list{margin:.4rem 0;padding:0;list-style:none}.connect-list li{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.15rem 0;display:flex}.section-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.toasts{z-index:40;flex-direction:column;gap:.5rem;max-width:min(26rem,100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem}.toast{background:var(--surface);color:var(--text);border:1px solid var(--border);border-left:4px solid var(--info);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .8rem;display:flex;box-shadow:0 4px 16px #0000002e}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.palette-backdrop{place-items:start center;padding-top:12vh}.palette{width:min(36rem,100vw - 2rem);padding:.6rem}.palette input{width:100%;font-size:1.05rem}.palette-results{max-height:50vh;margin:.4rem 0 0;padding:0;list-style:none;overflow:auto}.palette-results li{border-radius:var(--radius);cursor:pointer;justify-content:space-between;gap:1rem;padding:.45rem .6rem;display:flex}.palette-results li.active{background:var(--surface-2)}.shortcuts kbd,kbd{border:1px solid var(--border);background:var(--surface-2);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:.1rem .4rem;font-family:ui-monospace,monospace;font-size:.85em}@media (width<=640px){.topbar{gap:.5rem;padding:.5rem .75rem}.topbar nav{scrollbar-width:none;order:10;width:100%;overflow-x:auto}.page{padding-left:.75rem;padding-right:.75rem}.server-card{flex-direction:column;align-items:stretch}.server-pick{flex-direction:row;align-self:stretch}.server-card .server-main{flex:none}.app-hero{align-items:flex-start}.app-hero>.grow{flex:1 1 0;min-width:0}.app-hero>.btn-row{flex:100%}.server-side{justify-content:flex-start}.tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs button{white-space:nowrap}.console-input{z-index:2;position:sticky;bottom:0}.list-toolbar select{flex:45%;max-width:none}}@media (pointer:coarse){.btn,.icon-button,.tabs button,.topbar nav a,select,input[type=search]{min-height:44px}input[type=checkbox]{width:1.25rem;height:1.25rem}}.row-toggle{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}pre .muted{color:#9aa3af}.status-page{max-width:760px;margin:0 auto;padding:2rem 1rem 3rem}.status-page h1{margin-top:0}.status-list{gap:.8rem;display:grid}.status-card h2{margin:0;font-size:1.15rem}.status-head{align-items:center;gap:.8rem;display:flex}.status-icon{object-fit:cover;background:var(--surface-2);border-radius:10px;flex:none;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.status-pill{white-space:nowrap;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.2rem .65rem;font-size:.85rem;font-weight:600}.status-pill.online,.status-pill.running{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.status-pill.starting{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.status-pill.offline{color:var(--danger)}.status-pill.asleep{background:color-mix(in srgb, var(--info) 14%, transparent);color:var(--info)}.status-wake{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.6rem;display:flex}.status-facts{flex-wrap:wrap;gap:.4rem 1rem;margin-top:.6rem;display:flex}.status-connect{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.status-card>.small{margin-top:.35rem}.status-updated{margin-top:1rem}.status-entry-options,.status-badge-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.status-entry-options .spacer{flex:1}.status-password{max-width:26rem}.status-password.compact{max-width:none;margin-top:.8rem}.status-site-cloudflare{margin:.5rem 0}.status-tls{max-width:46rem;margin-top:.75rem}.host-picker{width:auto;max-width:16rem}.wg-host-form{border:1px solid var(--border);border-radius:6px;margin:.5rem 0 .75rem;padding:.75rem}.game-profiles .game-profile-yaml{max-height:480px}.game-profiles textarea.code-input{width:100%}.card.idle-settings{margin-top:1rem}.players section{margin-top:1.25rem}.players h3{margin:0 0 .4rem;font-size:1rem}.players .add-player,.mods section{margin-top:1.25rem}.mods h3{margin:0 0 .4rem;font-size:1rem}.mods .badge{text-transform:none;margin-left:.4rem}.mods tr.mod-off td:first-child>div:first-child{opacity:.6}.mods .mod-update{color:var(--accent)}.mods .mod-plan,.mods .mod-progress{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem}.mods .mod-plan ul{margin:0 0 .5rem;padding-left:1.2rem}.mods .mod-search{gap:.5rem;display:flex}.mods .mod-search input{flex:1}.discord-settings h3{margin:1.25rem 0 .4rem;font-size:1rem}.discord-settings details ol{margin:.4rem 0 .75rem;padding-left:1.3rem}.discord-settings .checkbox{margin:.35rem 0;display:block}.discord-state.discord-connected strong{color:var(--success)}.discord-state.discord-error strong{color:var(--danger)}.discord-rule{border:1px solid var(--border);border-radius:8px;margin-bottom:.6rem;padding:.6rem .8rem}.discord-rule-head{justify-content:space-between;align-items:center;display:flex}.discord-checks{flex-wrap:wrap;gap:.25rem 1rem;margin-top:.4rem;display:flex}.discord-checks .checkbox{align-items:center;gap:.3rem;margin:0;display:inline-flex}.discord-settings .add-role{max-width:20rem}.discord-guild{border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;padding:.75rem 1rem}.discord-guild h4{margin:.9rem 0 .4rem;font-size:.95rem}.discord-guild-error{color:var(--danger)}.profile-preview,.profile-link{border:1px solid var(--border);border-radius:8px;margin:.75rem 0;padding:.75rem 1rem}.profile-preview h3{margin:0 0 .3rem;font-size:1rem}.profile-diff{max-height:24rem;overflow:auto}.profile-diff .diff-add{background:color-mix(in srgb, var(--success) 18%, transparent)}.profile-diff .diff-del{background:color-mix(in srgb, var(--danger) 18%, transparent)}.profile-indexes{margin-top:1rem}.profile-indexes summary{cursor:pointer;font-weight:600}.profile-index h4{margin:1rem 0 .4rem;font-size:.95rem}.game-profiles td .badge{margin-left:.3rem}.restore-tests h3{margin:1.25rem 0 .4rem;font-size:1rem}.restore-test-result{border-bottom:1px solid var(--border);padding:.5rem 0}.restore-test-result:last-child{border-bottom:none}.restore-test-progress{border:1px solid var(--border);border-radius:8px;margin-top:.6rem;padding:.75rem 1rem}.restore-test-row{flex-wrap:wrap;align-items:baseline;gap:.3rem .75rem;display:flex}.restore-tests .badge{text-transform:none}.restore-tests .btn-row select{width:auto;max-width:100%}.adopt-card .adopt-head{align-items:flex-start;gap:.75rem;display:flex}.adopt-card+.adopt-card{margin-top:.75rem}.adopt-card .adopt-title{overflow-wrap:anywhere;flex:1;min-width:0}.adopt-card .badge.plain{text-transform:none}.adopt-card>p{overflow-wrap:anywhere;margin-top:.5rem}.adopt-card .adopt-title .badge{margin-left:.35rem}.adopt-card .adopt-mounts{overflow-wrap:anywhere;flex-wrap:wrap;gap:.25rem .75rem;margin-top:.25rem;display:flex}.adopt-plan{gap:.5rem;margin-top:.75rem;display:grid}.adopt-plan ul{margin:.35rem 0 .35rem 1.1rem;padding:0}.lan-network-setup{white-space:normal;gap:.6rem;padding:.25rem 0 .5rem;display:grid}.modal.wide{width:min(640px,100%);max-height:calc(100vh - 2rem);overflow-y:auto}.launch-options .launch-option{gap:.3rem;padding:.5rem 0;display:grid}.launch-options .launch-option+.launch-option{border-top:1px solid var(--border)}.launch-options code{overflow-wrap:anywhere}.multi-select{position:relative}.multi-field{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;gap:.3rem;min-height:2.4rem;padding:.25rem .4rem;display:flex}.multi-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)}.multi-field input{min-width:6rem;box-shadow:none;background:0 0;border:none;outline:none;flex:8rem;padding:.25rem}.multi-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.2rem;max-width:100%;padding:.1rem .25rem .1rem .5rem;font-size:.85rem;display:inline-flex}.multi-chip.fixed{color:var(--muted);border-style:dashed;padding-right:.5rem}.multi-chip button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .25rem;line-height:1}.multi-chip-remove{font-size:1rem!important}.multi-chip button:hover{color:var(--text)}.multi-chip-action{text-decoration:underline;font-size:.75rem!important}.multi-empty{color:var(--muted);padding-left:.25rem;font-size:.85rem}.multi-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);position:absolute;top:calc(100% + .2rem);left:0;right:0;box-shadow:0 6px 18px #0000001f}.multi-menu-bar{border-bottom:1px solid var(--border);gap:.75rem;padding:.35rem .6rem;display:flex}.multi-menu ul{max-height:16rem;margin:0;padding:.25rem 0;list-style:none;overflow-y:auto}.multi-menu li{cursor:pointer;padding:.3rem .6rem}.multi-menu li.active{background:var(--surface-2)}.multi-menu li.fixed{cursor:default;color:var(--muted)}.multi-menu li.multi-none{cursor:default}.multi-check{width:1.1rem;color:var(--accent);display:inline-block}.multi-select.disabled .multi-field{opacity:.6;cursor:default}
