
:root[data-site-theme] { --radius:14px; --sidebar:260px; }

.dashboard-inline-link,
.dashboard-external-link:not(.button) {
  color:var(--accent-ink); text-decoration:underline; text-decoration-color:var(--accent-line);
  text-underline-offset:.2em; text-decoration-thickness:1px; overflow-wrap:anywhere; border-radius:3px;
}
:is(.dashboard-inline-link, .dashboard-external-link:not(.button)):hover {
  text-decoration-color:currentColor; background:var(--accent-wash);
}
:is(.dashboard-inline-link, .dashboard-external-link):focus-visible {
  outline:2px solid var(--accent-ink); outline-offset:3px;
}
a.dashboard-external-link > .external-link-icon {
  display:inline-block; width:.85em; height:.85em; margin-inline-start:.3em;
  vertical-align:-.08em; flex-shrink:0; stroke-width:1.8; pointer-events:none;
}
a.dashboard-external-link.button > .external-link-icon { margin-inline-start:0; }


:root[data-site-theme] .sidebar { border-right-width:1px; height:100dvh; }
.brand-row { display:flex; align-items:center; flex-shrink:0; }
:root[data-site-theme] .brand { flex:1; min-width:0; min-height:80px; padding:20px 22px; gap:12px; }
:root[data-site-theme] .brand strong { font-size:27px; letter-spacing:-.9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mobile-nav-close { display:none; }
:root[data-site-theme] .server-picker { background:var(--nav-picker); border-radius:12px; padding:12px; margin:0 16px 8px; flex-shrink:0; }
:root[data-site-theme] .server-picker:hover { border-color:var(--nav-muted); }
.server-picker small { display:block; color:var(--nav-muted); font-size:11px; margin-top:4px; }
:root[data-site-theme] .nav-scroll { display:flex; flex-direction:column; min-height:0; overflow:hidden; padding:0 12px; }
.nav-primary { flex-shrink:0; padding-bottom:12px; border-bottom:1px solid var(--nav-line); }
.nav-modules { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 4px 16px; margin-inline:-4px; scrollbar-width:thin; scrollbar-color:var(--nav-line) transparent; }
.nav-workspace { flex-shrink:0; padding:4px 0 12px; border-top:1px solid var(--nav-line); }
:root[data-site-theme] .nav-workspace .nav-label { padding-top:8px; }
:root[data-site-theme] .nav-link { border:1px solid transparent; border-radius:8px; margin:2px 0; min-height:40px; font-weight:500; }
:root[data-site-theme] .nav-link>.icon { width:18px; height:18px; stroke-width:1.7; }
:root[data-site-theme] .nav-link.active { border-color:transparent; outline:0; box-shadow:none; font-weight:650; }
:root[data-site-theme] .nav-group { margin-top:12px; }
:root[data-site-theme] .nav-group>summary { font-weight:600; min-height:36px; }
:root[data-site-theme] .nav-label { font-weight:600; }
:root[data-site-theme] .sidebar :is(button,a,summary):focus-visible { outline-color:var(--nav-muted); outline-offset:-2px; }
:root[data-site-theme] .nav-link.active:focus-visible { outline:2px solid var(--accent-on); outline-offset:-4px; }


:root[data-site-theme] .topbar { background:var(--paper); padding-inline:36px; }
:root[data-site-theme] .search-trigger { width:270px; background:var(--canvas); border-radius:8px; margin-right:4px; padding-inline:12px; }
.search-trigger kbd { margin-left:auto; font-size:10px; border:1px solid var(--line); border-radius:4px; padding:2px 5px; color:var(--muted); background:var(--paper); }
:root[data-site-theme] .page { max-width:1480px; padding-top:32px; }
:root[data-site-theme] .page-title h1 { font-size:32px; letter-spacing:-.9px; }
:root[data-site-theme] .page-title p { max-width:68ch; margin-top:8px; }
.page-title>div:first-child { min-width:0; overflow-wrap:anywhere; }
.skip-link { position:fixed; top:10px; left:12px; z-index:100; padding:12px 18px; background:var(--paper); color:var(--ink); border:2px solid var(--accent-ink); border-radius:8px; transform:translateY(-160%); }
.skip-link:focus { transform:none; }


:root[data-site-theme] .button { border-width:1px; border-color:var(--edge); border-radius:8px; font-weight:600; }
:root[data-site-theme] .button:hover { border-color:var(--outline); }
:root[data-site-theme] .button.primary { border:1px solid var(--accent-line); box-shadow:none; }
:root[data-site-theme] .button.primary:hover,
:root[data-site-theme] .button.primary:active { transform:none; }
:root[data-site-theme] .button.icon-button { border-color:transparent; }
:root[data-site-theme] .button.danger { border-color:var(--error-line); }
:root[data-site-theme] .module-icon { border:1px solid var(--line); border-radius:10px; box-shadow:none; }


:root[data-site-theme] .home-layout { --home-gap:30px; }
:root[data-site-theme] .home-layout.density-compact { --home-gap:24px; }
:root[data-site-theme] .home-layout h1 { font-family:var(--display); font-weight:700; }
:root[data-site-theme] .home-layout h2 { font-family:inherit; font-size:17px; font-weight:650; letter-spacing:-.2px; }
:root[data-site-theme] .home-layout .page-title { border-bottom:0; padding-bottom:0; }
:root[data-site-theme] .home-layout .section-heading { margin-bottom:14px; }
:root[data-site-theme] .home-layout .quiet-link { font-size:12px; }
:root[data-site-theme] .home-layout .quiet-link:hover { text-decoration:underline; text-underline-offset:4px; }
:root[data-site-theme] .home-layout .home-metrics { background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:0; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
:root[data-site-theme] .home-metrics .metric { padding:20px 22px; border:0; border-inline-start:1px solid var(--line); }
:root[data-site-theme] .home-metrics .metric:first-child { border-inline-start:0; }
:root[data-site-theme] .home-metrics .metric strong { font-family:inherit; font-size:30px; font-weight:650; margin:12px 0 5px; }
:root[data-site-theme] .home-metrics .metric-label { font-size:12px; gap:7px; }
:root[data-site-theme] .home-metrics .metric-label .icon { width:17px; height:17px; padding:0; background:transparent; color:var(--muted); }
:root[data-site-theme] .home-metrics .metric small { font-size:12px; overflow-wrap:anywhere; }
:root[data-site-theme] .home-attention { background:var(--warning-wash); border-color:var(--warning-line); border-radius:10px; }
:root[data-site-theme] .home-attention summary { padding-block:12px; }
:root[data-site-theme] .home-attention summary>.icon:last-child { width:15px; }
:root[data-site-theme] .module-shortcut { border-color:var(--line); border-radius:12px; padding:22px; align-items:center; }
:root[data-site-theme] .module-shortcut:hover { background:var(--paper); border-color:var(--accent-line); }
:root[data-site-theme] .module-shortcut .module-icon { width:40px; height:40px; }
:root[data-site-theme] .module-shortcut strong { font-size:14px; }
:root[data-site-theme] .module-shortcut .shortcut-description { margin:0; line-height:1.55; }
:root[data-site-theme] .module-shortcut .shortcut-state { margin:0; font-size:10px; }
:root[data-site-theme] .density-compact .module-shortcut { padding:16px 18px; }
:root[data-site-theme] .shortcut-list .module-shortcut { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:18px 22px; align-items:center; }
:root[data-site-theme] .density-compact .shortcut-list .module-shortcut { padding:12px 18px; }
:root[data-site-theme] .shortcut-list .module-shortcut:last-child { border-bottom:0; }
:root[data-site-theme] .home-panel { border-color:var(--line); border-radius:12px; padding:22px; }
:root[data-site-theme] .density-compact .home-panel { padding:18px 20px; }
:root[data-site-theme] .density-compact .home-metrics .metric { padding:18px 20px; }
.home-panel .activity-avatar { border:0; border-radius:9px; background:var(--wash); color:var(--muted); }
.home-panel .timeline-copy { line-height:1.65; }
.home-panel .event-action { padding:4px 9px; border:1px solid var(--line); border-radius:6px; background:var(--wash); }


:root[data-site-theme] .module-library h1 { font-size:32px; }
:root[data-site-theme] .catalog-tools { margin-bottom:20px; }
:root[data-site-theme] .catalog-search.input-search { max-width:600px; min-height:46px; border:1px solid var(--edge); border-radius:9px; }
:root[data-site-theme] .catalog-categories { gap:6px; padding-bottom:16px; margin-bottom:14px; }
:root[data-site-theme] .catalog-categories button { border:1px solid transparent; border-radius:8px; background:transparent; min-height:40px; padding:9px 12px; color:var(--muted); }
:root[data-site-theme] .catalog-categories button.active { background:var(--accent-wash); color:var(--accent-ink); border-color:var(--accent-line); box-shadow:none; }
:root[data-site-theme] .catalog-categories button:hover:not(.active) { border-color:var(--line); background:var(--paper); color:var(--ink); }
:root[data-site-theme] .catalog-filters { gap:4px; }
:root[data-site-theme] .catalog-filters button.active { background:var(--wash); border-color:var(--line); color:var(--ink); }
:root[data-site-theme] .catalog-filters button.active .filter-count { background:var(--paper); }
:root[data-site-theme] .catalog-results-heading { margin:16px 0 22px; min-height:36px; justify-content:space-between; gap:12px; }
.catalog-results-count { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.catalog-results-heading>.button { flex-shrink:0; }
:root[data-site-theme] .module-category>.section-heading h2 { font-family:inherit; font-size:18px; font-weight:650; }
:root[data-site-theme] .module-card-grid { gap:16px; }
:root[data-site-theme] .module-card { border:1px solid var(--line); border-radius:12px; padding:18px; height:auto; min-height:180px; }
:root[data-site-theme] .module-card:hover,
:root[data-site-theme] .module-card:focus-within { border-color:var(--edge); }
:root[data-site-theme] .module-card-top { column-gap:12px; row-gap:4px; margin-bottom:16px; }
:root[data-site-theme] .module-card-top .module-icon { width:40px; height:40px; border-radius:10px; }
:root[data-site-theme] .module-card h3 { font-family:inherit; font-size:14px; font-weight:700; line-height:1.5; letter-spacing:normal; margin:0; }
:root[data-site-theme] .module-description { font-size:12px; line-height:1.55; }
.module-state { padding:2px 6px; border-radius:5px; background:var(--wash); font-size:10px; }
.module-state.is-enabled { background:var(--accent-wash); }
.module-state.is-unavailable { background:var(--warning-wash); }
.module-warning { display:flex; align-items:center; gap:6px; margin-bottom:8px; color:var(--warning-ink); font-size:11px; }
.module-warning .icon { width:14px; height:14px; }
:root[data-site-theme] .module-pin.button { border:1px solid transparent; width:34px; min-height:34px; padding:7px; border-radius:7px; color:var(--muted); background:transparent; box-shadow:none; }
:root[data-site-theme] .module-pin.button .icon { width:17px; height:17px; stroke-width:1.7; }
:root[data-site-theme] .module-pin.button:hover { border-color:var(--line); background:var(--wash); color:var(--ink); }
:root[data-site-theme] .module-pin.button.is-pinned { background:var(--accent-wash); color:var(--accent-ink); border-color:var(--accent-line); box-shadow:none; }
:root[data-site-theme] .module-configure.button { background:var(--canvas); border-color:var(--line); min-height:38px; font-size:12px; }
:root[data-site-theme] .module-configure.button:hover { border-color:var(--accent-line); background:var(--accent-wash); }


:root[data-site-theme] .settings-section { border:1px solid var(--line); overflow:visible; }
:root[data-site-theme] .settings-section>header { background:var(--paper); }
:root[data-site-theme] .field-row { border-bottom-color:var(--line); }
:root[data-site-theme] .field-control>input:not([type=checkbox],[type=color]),
:root[data-site-theme] .field-control>select,
:root[data-site-theme] .field-control>textarea { background:var(--canvas); border-color:var(--edge); border-radius:8px; }
:root[data-site-theme] .tab.active,
:root[data-site-theme] .tab[aria-selected=true] { background:var(--accent-wash); color:var(--accent-ink); border-color:var(--accent-line); box-shadow:none; }
:root[data-site-theme] .theme-option { border-radius:12px; padding:12px; }
:root[data-site-theme] .theme-option:has(:checked) { border-color:var(--accent-line); box-shadow:0 0 0 1px var(--accent-line); }
:root[data-site-theme] .theme-preview { border:1px solid var(--line); border-radius:8px; }
:root[data-site-theme] .site-preview { background:var(--canvas); border-radius:0 0 13px 0; }
:root[data-site-theme] .dialog { border:1px solid var(--edge); border-radius:16px; box-shadow:0 24px 80px #00000030; }
:root[data-site-theme] .dialog-head h2 { font-family:inherit; font-size:20px; letter-spacing:-.3px; }
:root[data-site-theme] .dialog-actions { background:var(--canvas); }
:root[data-site-theme] .login-panel { border:1px solid var(--edge); box-shadow:none; }

@media(min-width:1250px) {
  :root[data-site-theme] .module-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:1700px) {
  :root[data-site-theme] .module-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(min-width:721px) and (max-width:1100px) {
  :root[data-site-theme] { --sidebar:236px; }
  :root[data-site-theme] .page { padding-inline:24px; }
  :root[data-site-theme] .topbar { padding-inline:24px; }
  :root[data-site-theme] .search-trigger { width:40px; padding:10px; }
  .search-trigger span,.search-trigger kbd { display:none; }
  :root[data-site-theme] .home-layout .home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  :root[data-site-theme] .home-metrics .metric:nth-child(odd) { border-inline-start:0; }
  :root[data-site-theme] .home-metrics .metric:nth-child(n+3) { border-top:1px solid var(--line); }
}
@media(max-width:720px) {
  body:has(.app-shell.nav-open) { overflow:hidden; }
  :root[data-site-theme] .sidebar { width:min(300px,calc(100vw - 40px)); }
  :root[data-site-theme] .mobile-nav-close { display:inline-flex; color:var(--nav-ink); margin-right:12px; }
  :root[data-site-theme] .mobile-nav-close:hover { background:var(--nav-hover); }
  :root[data-site-theme] .brand { min-height:70px; padding:16px 20px; }
  :root[data-site-theme] .nav-link { min-height:42px; }
  :root[data-site-theme] .topbar { padding-inline:10px; }
  :root[data-site-theme] .search-trigger { width:40px; padding:10px; margin:0; }
  .search-trigger span,.search-trigger kbd { display:none; }
  :root[data-site-theme] .page { padding:24px 16px 100px; }
  :root[data-site-theme] .page-title h1 { font-size:28px; }
  :root[data-site-theme] .home-layout { --home-gap:26px; }
  :root[data-site-theme] .home-layout.density-compact { --home-gap:22px; }
  :root[data-site-theme] .home-layout .home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  :root[data-site-theme] .home-metrics .metric { padding:18px 16px; }
  :root[data-site-theme] .density-compact .home-metrics .metric { padding:14px; }
  :root[data-site-theme] .home-metrics .metric strong { font-size:26px; }
  :root[data-site-theme] .home-metrics .metric:nth-child(odd) { border-inline-start:0; }
  :root[data-site-theme] .home-metrics .metric:nth-child(n+3) { border-top:1px solid var(--line); }
  :root[data-site-theme] .module-shortcut { padding:20px; }
  :root[data-site-theme] .density-compact .module-shortcut { padding:16px; }
  :root[data-site-theme] .module-card { padding:18px; min-height:180px; }
  :root[data-site-theme] .module-card-top { flex-wrap:wrap; gap:8px; }
  :root[data-site-theme] .module-pin.button { min-height:40px; width:40px; }
  :root[data-site-theme] .module-configure.button { min-height:44px; }
  :root[data-site-theme] .home-panel,
  :root[data-site-theme] .density-compact .home-panel { padding:18px; }
  :root[data-site-theme] .site-preview { border-radius:0 0 13px 13px; }
}
@media(max-height:650px) {
  :root[data-site-theme] .brand { min-height:58px; padding-block:10px; }
  :root[data-site-theme] .server-picker { padding-block:8px; margin-bottom:8px; }
  .server-picker small { display:none; }
}
@media(max-width:720px), (max-height:650px) {
  :root[data-site-theme] .nav-scroll { overflow-y:auto; overscroll-behavior:contain; }
  .nav-modules { flex:0 0 auto; overflow:visible; padding-bottom:0; }
  .nav-workspace { flex:0 0 auto; overflow:visible; max-height:none; border-top:0; padding-top:0; }
  .nav-workspace .nav-label { display:none; }
}
