html{color-scheme:dark}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: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-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=pelican],.dashboard-service-card[data-service-id=tennis]{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=pelican]:hover,.dashboard-service-card[data-service-id=tennis]: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=pelican] .dashboard-card-mark,.dashboard-service-card[data-service-id=tennis] .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=pelican] .dashboard-card-icon,.dashboard-service-card[data-service-id=tennis] .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=pelican] .dashboard-card-copy,.dashboard-service-card[data-service-id=tennis] .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=pelican] .dashboard-service-name,.dashboard-service-card[data-service-id=tennis] .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=pelican]):not([data-service-id=tennis]) .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=pelican],[data-service-id=tennis]) .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=pelican],[data-service-id=tennis]) .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=pelican],[data-service-id=tennis]) .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=pelican],[data-service-id=tennis]) .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=pelican],.dashboard-service-card[data-service-id=tennis]{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=pelican] .dashboard-card-mark,.dashboard-service-card[data-service-id=tennis] .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=pelican] .dashboard-service-name,.dashboard-service-card[data-service-id=tennis] .dashboard-service-name{font-size:34px}.dashboard-loading,.dashboard-error-card{grid-column:auto}}
