html{color-scheme:dark}.resources-shell{--resource-panel: #1c2127;--resource-panel-raised: #1e252c;--resource-line: #252b32;--resource-line-soft: rgba(52, 60, 70, .58);--resource-text: #f5f7fa;--resource-muted: #9ba5b1;--resource-dim: #7f8996;width:min(1224px,calc(100% - 32px));margin:16px auto 56px}.resource-panel{border:1px solid var(--resource-line);border-radius:8px;background:var(--resource-panel);box-shadow:none}.resources-hero{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:24px;margin-bottom:16px;padding:18px 20px}.resources-hero{border:0;box-shadow:0 1px 2px #00000014}.resource-hero-state{display:flex;align-items:center;min-width:0;gap:14px}.resource-state-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:12px;background:#94a3b81f;color:#94a3b8;font-size:20px;font-weight:800}.resource-status-icon{display:block;flex:0 0 auto;color:#9ca3af}.resource-status-icon.size-hero{width:28px;height:28px}.resource-status-icon.size-summary{width:20px;height:20px}.resource-status-icon.size-row{width:15px;height:15px}.resource-status-icon.size-tiny{width:11px;height:11px}.resource-status-icon.tone-healthy{color:#10b981}.resource-status-icon.tone-warning{color:#f59e0b}.resource-status-icon.tone-critical{color:#ef4444}.resources-hero.tone-healthy .resource-state-icon{background:#10b98124;color:#10b981}.resources-hero.tone-warning .resource-state-icon{background:#f59e0b24;color:#f59e0b}.resources-hero.tone-critical .resource-state-icon{background:#ef444424;color:#ef4444}.resource-hero-state h1{margin:0;color:var(--resource-text);font-size:20px;font-weight:700;letter-spacing:-.015em;line-height:1.2}.resource-state-label{margin-top:3px;color:#10b981;font-size:12px;font-weight:700;line-height:1.3}.tone-warning .resource-state-label{color:#fbbf24}.tone-critical .resource-state-label{color:#f87171}.tone-unknown .resource-state-label{color:#94a3b8}.resource-hero-state p{margin:2px 0 0;color:var(--resource-muted);font-size:11px;line-height:1.35}.resource-refresh-state{display:flex;align-items:center;flex:0 0 auto;gap:8px;color:var(--resource-muted);font-size:11px;font-weight:600}.resource-live-dot{width:8px;height:8px;border-radius:999px;background:#10b981;box-shadow:0 0 0 3px #10b9811a}.resource-live-dot.is-connecting{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.resource-refresh-separator{width:1px;height:14px;margin-inline:5px;background:var(--resource-line)}.resource-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.resource-kpi{min-width:0;min-height:146px;padding:20px}.resource-kpi-label{color:var(--resource-muted);font-size:11px;font-weight:650;line-height:1.2}.resource-kpi-value{margin-top:5px;color:var(--resource-text);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.resource-kpi-subline{min-height:14px;margin-top:2px;color:var(--resource-dim);font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.resource-kpi-subline.tone-healthy,.resource-kpi-subline.tone-blue{color:#78a9c9}.resource-kpi-subline.tone-warning{color:#fbbf24}.resource-kpi-subline.tone-critical{color:#f87171}.resource-kpi-subline.tone-standby{color:#a78bfa}.resource-kpi-visual{display:flex;align-items:end;height:36px;margin-top:12px}.resource-skeleton{overflow:hidden;position:relative}.resource-skeleton:after{position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.035) 45%,transparent 70%);content:"";animation:resource-shimmer 1.6s infinite}@keyframes resource-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.resource-dot-bar{display:flex;align-items:end;width:100%;height:34px;gap:3px}.resource-dot-bar i{flex:1;min-width:3px;height:72%;border-radius:2px 2px 1px 1px;background:#303944}.resource-dot-bar i.active{background:#10b981}.resource-dot-bar i.standby{height:45%;background:#7c6fb3}.resource-dot-bar i.warning{background:#f59e0b}.resource-segments{display:flex;width:100%;gap:2px}.resource-segments i{flex:1;height:20px;border-radius:1px;background:#303944}.resource-segments.tone-healthy i.active,.resource-segments.tone-blue i.active{background:#10b981}.resource-segments.tone-warning i.active{background:#f59e0b}.resource-segments.tone-critical i.active{background:#ef4444}.resource-sparkline{display:block;width:100%;min-width:58px;height:34px;overflow:visible}.resource-sparkline polyline{fill:none;stroke:#1da1f2;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;vector-effect:non-scaling-stroke}.resource-sparkline.tone-warning polyline{stroke:#f59e0b}.resource-sparkline.tone-critical polyline{stroke:#ef4444}.resource-sparkline-empty{display:flex;align-items:center;height:28px;color:#65707c;font-size:8px;white-space:nowrap}.resources-content-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px}.resources-main-column,.resources-side-column{display:grid;min-width:0;gap:16px}.resources-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-section,.resource-side-panel{min-width:0;overflow:hidden}.resource-pressure-panel,.resource-platform-panel{display:flex;flex-direction:column}.resource-side-panel .resource-section-head{min-height:50px;padding-inline:16px}.resource-side-panel .resource-section-head h2{font-size:16px}.resource-section-head{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:12px;padding:0 20px}.resource-section-head>div{display:flex;align-items:center;min-width:0;gap:9px}.resource-section-head h2{margin:0;color:var(--resource-text);font-size:17px;font-weight:700;letter-spacing:-.01em}.resource-count-pill{border-radius:4px;padding:5px 8px;background:#94a3b81a;color:var(--resource-muted);font-size:10px;font-weight:700}.resource-section-note{color:var(--resource-dim);font-size:10.5px;font-weight:600}.resource-table{margin:0 12px 12px;overflow:hidden;border-radius:5px}.resource-table-head,.resource-row{display:grid;align-items:center}.resource-guest-table .resource-table-head,.resource-guest-row{grid-template-columns:minmax(280px,1.8fr) 130px 130px minmax(170px,1fr) minmax(170px,1fr);column-gap:16px}.resource-container-table .resource-table-head,.resource-container-row{grid-template-columns:minmax(280px,1.8fr) 120px 90px 150px 150px 80px 110px;column-gap:12px}.resource-table-head{min-height:38px;padding-inline:12px;background:#22272e;color:#aab3be;font-size:10.5px;font-weight:700}.resource-row{padding-inline:12px;border-bottom:1px solid var(--resource-line-soft);background:transparent;transition:background-color .14s ease}.resource-guest-row{min-height:60px}.resource-container-row{min-height:52px}.resource-row:last-child{border-bottom:0}.resource-row:hover{background:#252c34}.resource-identity{display:flex;align-items:center;min-width:0;gap:12px}.resource-identity>div{min-width:0}.resource-identity strong,.resource-cell,.resource-metric strong,.resource-state span{color:#f1f5f9;font-size:11.5px;font-weight:650}.resource-identity strong,.resource-identity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-identity span,.resource-metric small,.resource-state small{margin-top:2px;color:var(--resource-dim);font-size:10px;font-style:normal;font-weight:550}.resource-guest-badge{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border:1px solid rgba(14,165,233,.22);border-radius:7px;background:#0ea5e91c;color:#38bdf8;font-size:10px;font-weight:800}.resource-guest-badge.type-lxc{border-color:#10b98138;background:#10b9811a;color:#34d399}.resource-container-identity img,.resource-container-glyph{display:grid;flex:0 0 26px;width:26px;height:26px;place-items:center;object-fit:contain;color:#38bdf8;font-size:13px}.resource-state{display:flex;position:relative;align-items:center;flex-wrap:wrap;gap:5px}.resource-standby-dot{width:7px;height:7px;border-radius:999px;background:#8b7cc8}.resource-state small{flex-basis:100%;margin:0 0 0 20px}.resource-state.tone-standby small{margin-left:12px}.resource-metric{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);align-content:center;gap:3px}.resource-metric strong{line-height:1.15}.resource-metric .resource-sparkline{width:100%;min-width:0;height:22px}.resource-metric small{grid-column:1;margin-top:0;line-height:1.2}.resource-container-row .resource-inline-metric{padding-right:0}.resource-container-row .resource-inline-metric .resource-sparkline{min-width:0}.resource-progress{display:block;height:6px;overflow:hidden;border-radius:999px;background:#303943}.resource-progress>span{display:block;height:100%;border-radius:inherit;background:#10b981}.resource-progress.tone-warning>span{background:#f59e0b}.resource-progress.tone-critical>span{background:#ef4444}.resource-progress.tone-info>span,.resource-progress.tone-blue>span{background:#0ea5e9}.resource-network-cell{display:flex;flex-direction:column;gap:3px;color:var(--resource-muted);font-size:10px}.resource-network-cell span:first-child{color:#34d399}.resource-mobile-label{display:none}.resource-empty{padding:26px 16px;color:var(--resource-muted);font-size:11px;text-align:center}.resource-table-toggle{width:100%;border:0;border-top:1px solid var(--resource-line-soft);padding:14px;background:transparent;color:var(--resource-muted);cursor:pointer;font-size:11.5px;font-weight:700;transition:background-color .14s ease,color .14s ease}.resource-table-toggle:hover{background:#2d333b7a;color:#fff}.hidden{display:none!important}.pressure-list,.platform-list{margin:0 12px 12px;overflow:hidden;border:1px solid var(--resource-line-soft);border-radius:5px;background:var(--resource-panel)}.resource-pressure-panel .pressure-list{flex:1}.platform-list{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}.pressure-summary{box-sizing:border-box;display:flex;align-items:center;min-height:60px;gap:12px;padding:10px 14px;border-bottom:1px solid var(--resource-line-soft)}.pressure-summary-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:12px;background:#10b98124;color:#34d399}.pressure-summary.tone-warning .pressure-summary-icon{background:#f59e0b24;color:#fbbf24}.pressure-summary.tone-critical .pressure-summary-icon{background:#ef444424;color:#f87171}.pressure-summary strong{display:block;color:var(--resource-text);font-size:12px;font-weight:700}.pressure-summary p{margin:3px 0 0;color:var(--resource-dim);font-size:10px;line-height:1.35}.pressure-threshold-row{box-sizing:border-box;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;min-height:34px;gap:8px;padding:0 14px;border-bottom:1px solid var(--resource-line-soft)}.pressure-threshold-row:last-child{border-bottom:0}.platform-icon{display:grid;place-items:center;border:1px solid var(--resource-line-soft);border-radius:6px;background:#20272fb8;color:#aeb8c4}.pressure-threshold-row strong{color:#e8edf3;font-size:10.5px;font-weight:700}.pressure-threshold-row>span{min-width:0;overflow:hidden;color:var(--resource-dim);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.pressure-threshold-row em{display:flex;align-items:center;gap:5px;color:#34d399;font-size:9.5px;font-style:normal;font-weight:650}.pressure-threshold-row em.tone-warning{color:#fbbf24}.pressure-threshold-row em.tone-critical{color:#f87171}.pressure-threshold-row em.tone-unknown{color:#94a3b8}.platform-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;min-height:50px;gap:9px;padding:0 12px;border-bottom:1px solid var(--resource-line-soft)}.platform-row:last-child{border-bottom:0}.platform-row:nth-child(odd){border-right:1px solid var(--resource-line-soft)}.platform-row:nth-last-child(-n+2){border-bottom:0}.platform-icon{width:28px;height:28px}.platform-icon img{width:16px;height:16px}.platform-row:nth-child(-n+2) .platform-icon img{filter:grayscale(1) brightness(1.8)}.platform-row:nth-child(n+3) .platform-icon img{filter:invert(75%) sepia(10%) saturate(322%) hue-rotate(172deg) brightness(94%)}.platform-row strong{color:#e8edf3;font-size:10.5px;font-weight:700}.platform-value{display:flex;align-items:flex-end;flex-direction:column;gap:3px;color:var(--resource-muted);font-size:9.5px;font-weight:600;line-height:1.1}.platform-value em{display:flex;align-items:center;gap:3px;color:#34d399;font-size:9px;font-style:normal}.platform-value em.tone-warning{color:#fbbf24}.platform-value em.tone-unknown{color:#94a3b8}@media(max-width:1180px){.resource-guest-table .resource-table-head,.resource-guest-row{grid-template-columns:minmax(210px,1.6fr) 100px 95px minmax(125px,1fr) minmax(125px,1fr);column-gap:8px}.resource-container-table .resource-table-head,.resource-container-row{grid-template-columns:minmax(190px,1.5fr) 90px 80px 105px 105px 60px 80px;column-gap:8px}}@media(max-width:860px){.resource-table-head{display:none}.resource-row,.resource-guest-row,.resource-container-row{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px 12px;padding:14px}.resource-identity{grid-column:1 / -1;padding-bottom:10px;border-bottom:1px solid var(--resource-line-soft)}.resource-mobile-label{display:block;color:var(--resource-dim);font-size:9px;font-weight:700}.resource-metric,.resource-inline-metric{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){.resources-shell{width:min(100% - 24px,1224px);margin-top:12px}.resources-hero{align-items:flex-start;flex-direction:column;padding:16px}.resource-refresh-state{width:100%;padding-top:11px;border-top:1px solid var(--resource-line-soft)}.resource-kpi-grid,.resources-side-column,.platform-list{grid-template-columns:1fr}.platform-row:nth-child(odd){border-right:0}.platform-row:nth-last-child(-n+2){border-bottom:1px solid var(--resource-line-soft)}.platform-row:last-child{border-bottom:0}.resource-kpi-grid{gap:12px}.resource-kpi{min-height:132px}.resource-section-head{align-items:flex-start;flex-direction:column;justify-content:center;gap:5px;padding-block:12px}.resource-section-note{display:none}.resource-table{margin-inline:8px}}body{font-family:Inter,sans-serif;background-color:#111418;color:#fff}:root{--status-panel-outline: #252b32}.site-nav{--site-nav-line-inset: 1.25rem;position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:56rem;min-height:5rem;margin:0 auto;padding:0 1.25rem;font-family:Inter,sans-serif}.site-nav--wide{max-width:1180px}.site-nav--resource{max-width:1224px}.site-nav:after{position:absolute;right:var(--site-nav-line-inset);bottom:0;left:var(--site-nav-line-inset);height:1px;background:var(--status-panel-outline);content:""}.site-nav__brand{display:inline-flex;align-items:center;color:inherit;text-decoration:none;transition:transform .11s ease}.site-nav__brand:active,.site-nav__link:active,.site-nav__action-link:active{transform:scale(.95)}.site-nav__links{position:absolute;left:50%;display:flex;align-items:center;gap:.5rem;transform:translate(-50%);font-size:14.5px;font-weight:500}.site-nav__link,.site-nav__action-link{border-radius:.25rem;padding:.5rem .75rem;color:#d1d5db;line-height:1;text-decoration:none;transition:background-color .14s ease,color .14s ease,transform .11s ease}.site-nav__link:hover,.site-nav__link.is-active{background:#2d333b;color:#fff}.site-nav__action{display:flex}.site-nav__action-link{border:1px solid #2d333b;background:#1c2127;color:#fff;font-size:14.5px;font-weight:500;box-shadow:0 1px 2px #00000014}.site-nav__action-link:hover{background:#2d333b;color:#fff}@media(min-width:1024px){.site-nav--standard{--site-nav-line-inset: 0;padding-inline:0}}@media(min-width:1280px){.site-nav--wide,.site-nav--resource{--site-nav-line-inset: 0;padding-inline:0}}@media(max-width:49.999rem){.site-nav{min-height:7.75rem;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-top:1.25rem}.site-nav__links{position:static;flex-wrap:wrap;margin-top:1rem;transform:none}.site-nav__action{position:absolute;top:1.25rem;right:1.25rem}}.site-wordmark{display:inline-flex;align-items:center;height:31px;color:#f8fafc;font-family:Nunito,Inter,sans-serif;font-size:22px;font-weight:750;letter-spacing:0;line-height:1;text-decoration:none;white-space:nowrap}.status-panel{background-color:#1c2127}#status-groups-panel{border-color:var(--status-panel-outline)}.border-panel{border-color:#2d333b}.hover-panel:hover{background-color:#2d333b}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#111418}::-webkit-scrollbar-thumb{background:#2d333b;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444c56}.status-tick{min-width:2px}.service-row:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.response-chart{height:180px}.collapsible-card>summary{list-style:none;background-color:var(--collapsible-surface);transform-origin:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .16s ease,transform .12s ease}.collapsible-card>summary::-webkit-details-marker{display:none}.collapsible-card{--collapsible-surface: #22272e;--collapsible-panel: #1c2127;--collapsible-motion-ms: .3s;background-color:var(--collapsible-panel);transition:background-color .16s ease}.collapsible-card[open]{background-color:var(--collapsible-panel)}.collapsible-card>summary:hover{background-color:var(--collapsible-surface)}.collapsible-card>summary:active{background-color:var(--collapsible-surface);transform:scale(.985)}.collapsible-content{overflow:hidden}.collapsible-content-inner{clip-path:inset(0 0 0 0)}.status-pill{width:132px;background-color:var(--collapsible-surface, #22272e);transition:background-color .16s ease}.collapsible-card .collapsible-chevron{transform:rotate(-90deg);transform-origin:center;transition:transform var(--collapsible-motion-ms) cubic-bezier(.4,0,.2,1)}.collapsible-card[open]:not([data-animation-target=closed]) .collapsible-chevron,.collapsible-card[data-animation-target=open] .collapsible-chevron{transform:rotate(0)}.collapsible-card[data-animation-target=closed] .collapsible-chevron{transform:rotate(-90deg)}.operation-row,.storage-disk-row{border-top:1px solid #2d333b}.operation-row:first-child,.storage-disk-row:first-child{border-top:0}@media(min-width:768px){.operation-row:nth-child(-n+2),.storage-disk-row:nth-child(-n+2){border-top:0}}.dashboard-shell{--dashboard-panel: #1c2127;--dashboard-panel-quiet: #191f25;--dashboard-row: #20262d;--dashboard-hover: #252c34;--dashboard-line: #343c46;--dashboard-quiet-line: rgba(52, 60, 70, .72);--dashboard-soft-line: rgba(52, 60, 70, .58);--dashboard-text: #f8fafc;--dashboard-muted: #a8b0bb;--dashboard-dim: #929ba7;display:flex;min-height:calc(100vh - 132px);flex-direction:column}.dashboard-hero{margin-bottom:clamp(26px,4vh,42px);padding-top:clamp(4px,1.8vh,18px)}.dashboard-kicker{color:var(--dashboard-muted);font-size:13px;font-weight:650;line-height:1;margin-bottom:12px}.dashboard-title{color:var(--dashboard-text);font-size:50px;font-weight:750;letter-spacing:0;line-height:1}.dashboard-launcher{display:flex;flex:1;flex-direction:column;min-width:0}.dashboard-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px;padding:0 2px}.dashboard-section-head h2{color:var(--dashboard-text);font-size:15px;font-weight:750;letter-spacing:0;line-height:1}.dashboard-section-head div div{color:var(--dashboard-dim);font-size:12px;font-weight:600;line-height:1;margin-top:7px}.dashboard-text-link{color:var(--dashboard-muted);font-size:12px;font-weight:700;line-height:1;padding:8px 9px;text-decoration:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .14s ease,color .14s ease,transform .11s ease}.dashboard-text-link:hover{color:#fff;background-color:var(--dashboard-hover)}.dashboard-text-link:active{transform:scale(.975)}.dashboard-card-grid{display:grid;flex:0 0 auto;grid-auto-flow:dense;grid-auto-rows:minmax(0,1fr);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;height:clamp(500px,calc(100vh - 390px),560px)}.dashboard-card-grid[data-layout=compact]{grid-auto-rows:minmax(176px,auto);grid-template-columns:repeat(3,minmax(0,1fr));height:auto}.dashboard-card-grid[data-layout=compact][data-card-count="1"]{grid-template-columns:minmax(0,420px)}.dashboard-card-grid[data-layout=compact][data-card-count="2"],.dashboard-card-grid[data-layout=compact][data-card-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card-grid[data-layout=bento]{grid-auto-rows:clamp(300px,calc(100vh - 430px),380px);grid-template-columns:repeat(3,minmax(0,1fr));height:auto}.dashboard-service-card{position:relative;display:flex;box-sizing:border-box;min-height:0;min-width:0;flex-direction:column;justify-content:space-between;overflow:hidden;padding:22px;background:var(--dashboard-panel-quiet);border:1px solid var(--dashboard-quiet-line);color:inherit;text-decoration:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .14s ease,border-color .14s ease,transform .11s ease}.dashboard-service-card:hover{background-color:#1e252c;border-color:#46505c}.dashboard-service-card:focus-visible{outline:2px solid rgba(14,165,233,.7);outline-offset:2px}.dashboard-service-card:active{transform:scale(.988)}.dashboard-card-grid[data-layout=compact] .dashboard-service-card{min-height:176px}.dashboard-service-card[data-service-id=immich],.dashboard-service-card[data-service-id=copyparty],.dashboard-service-card[data-service-id=nextcloud],.dashboard-service-card[data-service-id=obsidian-livesync],.dashboard-service-card[data-service-id=pelican],.dashboard-service-card[data-service-id=tennis],.dashboard-service-card[data-service-id=codex-lb],.dashboard-service-card[data-service-id=chatgpt-browser]{background:var(--dashboard-panel);border-color:var(--dashboard-line)}.dashboard-service-card[data-service-id=immich]:hover,.dashboard-service-card[data-service-id=copyparty]:hover,.dashboard-service-card[data-service-id=nextcloud]:hover,.dashboard-service-card[data-service-id=obsidian-livesync]:hover,.dashboard-service-card[data-service-id=pelican]:hover,.dashboard-service-card[data-service-id=tennis]:hover,.dashboard-service-card[data-service-id=codex-lb]:hover,.dashboard-service-card[data-service-id=chatgpt-browser]:hover{background-color:var(--dashboard-hover)}.dashboard-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-card-kind{display:inline-flex;align-items:center;min-width:0;overflow:hidden;color:#8d97a3;font-size:13px;font-weight:700;gap:10px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.dashboard-card-kind-label{overflow:hidden;text-overflow:ellipsis}.dashboard-card-mark{display:grid;width:36px;height:36px;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:10px;background:linear-gradient(180deg,#ffffff16,#ffffff06);box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1px #ffffff09}.dashboard-card-icon{display:block;width:23px;height:23px;object-fit:contain}.dashboard-card-mark-fallback{color:#f7b84f;font-size:15px;font-weight:800}.dashboard-service-card[data-service-id=immich] .dashboard-card-mark,.dashboard-service-card[data-service-id=copyparty] .dashboard-card-mark,.dashboard-service-card[data-service-id=nextcloud] .dashboard-card-mark,.dashboard-service-card[data-service-id=obsidian-livesync] .dashboard-card-mark,.dashboard-service-card[data-service-id=pelican] .dashboard-card-mark,.dashboard-service-card[data-service-id=tennis] .dashboard-card-mark,.dashboard-service-card[data-service-id=codex-lb] .dashboard-card-mark,.dashboard-service-card[data-service-id=chatgpt-browser] .dashboard-card-mark{width:48px;height:48px;border-radius:13px}.dashboard-service-card[data-service-id=immich] .dashboard-card-icon,.dashboard-service-card[data-service-id=copyparty] .dashboard-card-icon,.dashboard-service-card[data-service-id=nextcloud] .dashboard-card-icon,.dashboard-service-card[data-service-id=obsidian-livesync] .dashboard-card-icon,.dashboard-service-card[data-service-id=pelican] .dashboard-card-icon,.dashboard-service-card[data-service-id=tennis] .dashboard-card-icon,.dashboard-service-card[data-service-id=codex-lb] .dashboard-card-icon,.dashboard-service-card[data-service-id=chatgpt-browser] .dashboard-card-icon{width:32px;height:32px}.dashboard-service-card[data-service-id=copyparty] .dashboard-card-icon{width:34px}.dashboard-service-card[data-service-id=status] .dashboard-card-icon{width:18px;height:28px}.dashboard-status-badge{position:absolute;top:22px;right:22px;display:inline-flex;align-items:center;flex-shrink:0;color:var(--dashboard-muted)}.dashboard-status-dot{width:8px;height:8px;border-radius:999px;background-color:currentColor}.dashboard-status-badge.status-online{color:#34d399}.dashboard-status-badge.status-degraded{color:#fbbf24}.dashboard-status-badge.status-outage{color:#f87171}.dashboard-status-badge.status-unknown{color:var(--dashboard-muted)}.dashboard-card-copy{min-width:0}.dashboard-service-card[data-service-id=immich] .dashboard-card-copy,.dashboard-service-card[data-service-id=copyparty] .dashboard-card-copy,.dashboard-service-card[data-service-id=nextcloud] .dashboard-card-copy,.dashboard-service-card[data-service-id=obsidian-livesync] .dashboard-card-copy,.dashboard-service-card[data-service-id=pelican] .dashboard-card-copy,.dashboard-service-card[data-service-id=tennis] .dashboard-card-copy,.dashboard-service-card[data-service-id=codex-lb] .dashboard-card-copy,.dashboard-service-card[data-service-id=chatgpt-browser] .dashboard-card-copy{margin-bottom:clamp(10px,3vh,28px)}.dashboard-service-name{color:var(--dashboard-text);font-size:22px;font-weight:750;letter-spacing:0;line-height:1.05}.dashboard-service-card[data-service-id=immich] .dashboard-service-name,.dashboard-service-card[data-service-id=copyparty] .dashboard-service-name,.dashboard-service-card[data-service-id=nextcloud] .dashboard-service-name,.dashboard-service-card[data-service-id=obsidian-livesync] .dashboard-service-name,.dashboard-service-card[data-service-id=pelican] .dashboard-service-name,.dashboard-service-card[data-service-id=tennis] .dashboard-service-name,.dashboard-service-card[data-service-id=codex-lb] .dashboard-service-name,.dashboard-service-card[data-service-id=chatgpt-browser] .dashboard-service-name{font-size:42px}.dashboard-service-meta{color:var(--dashboard-muted);display:-webkit-box;overflow:hidden;margin-left:2px;margin-top:10px;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;font-weight:500;line-height:1.3}.dashboard-service-card:not([data-service-id=immich]):not([data-service-id=copyparty]):not([data-service-id=nextcloud]):not([data-service-id=obsidian-livesync]):not([data-service-id=pelican]):not([data-service-id=tennis]):not([data-service-id=codex-lb]):not([data-service-id=chatgpt-browser]) .dashboard-service-meta{display:none}.dashboard-service-card:after{position:absolute;right:21px;bottom:18px;color:#66717f;content:"↗";font-size:13px;font-weight:700;line-height:1;opacity:0;transform:translate(-3px,3px);transition:color .14s ease,opacity .14s ease,transform .14s ease}.dashboard-service-card:hover:after{color:#cbd5e1;opacity:1;transform:translate(0)}.dashboard-loading,.dashboard-error-card{grid-column:span 4;min-height:156px;display:grid;place-items:center;padding:24px;background:var(--dashboard-panel);border:1px solid var(--dashboard-line);color:var(--dashboard-muted);font-size:14px;text-align:center}@media(min-width:641px){.dashboard-card-grid[data-layout=bento] .dashboard-service-card{grid-column:span 1;grid-row:span 1}}@media(min-width:641px)and (max-width:899px){.dashboard-card-grid[data-layout=bento]{grid-auto-rows:clamp(240px,calc(100vh - 560px),300px);gap:14px}.dashboard-card-grid[data-layout=bento] .dashboard-service-card{padding:18px}.dashboard-card-grid[data-layout=bento] .dashboard-service-card:is([data-service-id=immich],[data-service-id=copyparty],[data-service-id=nextcloud],[data-service-id=obsidian-livesync],[data-service-id=pelican],[data-service-id=tennis],[data-service-id=codex-lb],[data-service-id=chatgpt-browser]) .dashboard-card-mark{width:44px;height:44px}.dashboard-card-grid[data-layout=bento] .dashboard-service-card:is([data-service-id=immich],[data-service-id=copyparty],[data-service-id=nextcloud],[data-service-id=obsidian-livesync],[data-service-id=pelican],[data-service-id=tennis],[data-service-id=codex-lb],[data-service-id=chatgpt-browser]) .dashboard-card-icon{width:29px;height:29px}.dashboard-card-grid[data-layout=bento] .dashboard-service-card[data-service-id=copyparty] .dashboard-card-icon{width:31px}.dashboard-card-grid[data-layout=bento] .dashboard-service-card:is([data-service-id=immich],[data-service-id=copyparty],[data-service-id=nextcloud],[data-service-id=obsidian-livesync],[data-service-id=pelican],[data-service-id=tennis],[data-service-id=codex-lb],[data-service-id=chatgpt-browser]) .dashboard-card-copy{margin-bottom:clamp(4px,1.5vh,14px)}.dashboard-card-grid[data-layout=bento] .dashboard-service-card:is([data-service-id=immich],[data-service-id=copyparty],[data-service-id=nextcloud],[data-service-id=obsidian-livesync],[data-service-id=pelican],[data-service-id=tennis],[data-service-id=codex-lb],[data-service-id=chatgpt-browser]) .dashboard-service-name{font-size:clamp(29px,4.35vw,36px)}.dashboard-card-grid[data-layout=bento] .dashboard-service-meta{font-size:13px}}@media(max-width:640px){.dashboard-shell{min-height:0}.dashboard-hero{margin-bottom:26px;padding-top:0}.dashboard-title{font-size:34px}.dashboard-section-head{margin-bottom:12px}.dashboard-card-grid{flex:initial;grid-auto-flow:row;grid-auto-rows:auto;grid-template-columns:1fr;gap:10px;height:auto}.dashboard-card-grid[data-layout=compact],.dashboard-card-grid[data-layout=compact][data-card-count="1"],.dashboard-card-grid[data-layout=compact][data-card-count="2"],.dashboard-card-grid[data-layout=compact][data-card-count="4"]{grid-template-columns:1fr}.dashboard-card-grid[data-layout=bento]{grid-auto-rows:auto;grid-template-columns:1fr;height:auto}.dashboard-service-card{min-height:118px;padding:18px;grid-column:1 / -1;grid-row:auto;justify-self:stretch;max-width:100%;width:auto}.dashboard-card-grid[data-layout=bento] .dashboard-service-card,.dashboard-service-card[data-service-id=immich],.dashboard-service-card[data-service-id=copyparty],.dashboard-service-card[data-service-id=nextcloud],.dashboard-service-card[data-service-id=obsidian-livesync],.dashboard-service-card[data-service-id=pelican],.dashboard-service-card[data-service-id=tennis],.dashboard-service-card[data-service-id=codex-lb],.dashboard-service-card[data-service-id=chatgpt-browser]{min-height:202px}.dashboard-service-card[data-service-id=immich] .dashboard-card-mark,.dashboard-service-card[data-service-id=copyparty] .dashboard-card-mark,.dashboard-service-card[data-service-id=nextcloud] .dashboard-card-mark,.dashboard-service-card[data-service-id=obsidian-livesync] .dashboard-card-mark,.dashboard-service-card[data-service-id=pelican] .dashboard-card-mark,.dashboard-service-card[data-service-id=tennis] .dashboard-card-mark,.dashboard-service-card[data-service-id=codex-lb] .dashboard-card-mark,.dashboard-service-card[data-service-id=chatgpt-browser] .dashboard-card-mark{width:44px;height:44px}.dashboard-service-card[data-service-id=immich] .dashboard-service-name,.dashboard-service-card[data-service-id=copyparty] .dashboard-service-name,.dashboard-service-card[data-service-id=nextcloud] .dashboard-service-name,.dashboard-service-card[data-service-id=obsidian-livesync] .dashboard-service-name,.dashboard-service-card[data-service-id=pelican] .dashboard-service-name,.dashboard-service-card[data-service-id=tennis] .dashboard-service-name,.dashboard-service-card[data-service-id=codex-lb] .dashboard-service-name,.dashboard-service-card[data-service-id=chatgpt-browser] .dashboard-service-name{font-size:34px}.dashboard-loading,.dashboard-error-card{grid-column:auto}}
