:root{--bg:#f7f8fc;--surface:#fff;--text:#1a1f36;--muted:#4d5b7c;--brand:#1363df;--border:#d7def0;--bg-gradient:radial-gradient(circle at 20% 10%, #e7eefc 0%, #f7f8fc 45%, #f9f9fb 100%);--row-hover:#f5f8ff;--card-shadow:0 10px 25px #0c162c0d}[data-theme=dark]{--bg:#0f1420;--surface:#171d2b;--text:#e6eaf3;--muted:#9aa6c2;--brand:#5aa0ff;--border:#2a3346;--bg-gradient:radial-gradient(circle at 20% 10%, #172033 0%, #0f1420 45%, #0c0f18 100%);--row-hover:#1e2740;--card-shadow:0 10px 25px #00000059}*{box-sizing:border-box}body{color:var(--text);background:var(--bg-gradient);margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}main{flex-direction:column;gap:1rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}header h1{margin-bottom:.25rem}header p{color:var(--muted);margin-top:0}.app-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.header-actions{flex-shrink:0;gap:.5rem;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.layout{grid-template-columns:1.2fr 1fr;gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:12px;padding:1rem}.grid .card{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.grid .card h3{margin:0 0 .25rem}.metric{margin:0;font-size:1.7rem;font-weight:700}.filters{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}label{color:var(--muted);gap:.35rem;font-size:.9rem;display:grid}input,select{border:1px solid var(--border);background:var(--surface);min-width:200px;color:var(--text);border-radius:8px;padding:.45rem .6rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.45rem;font-size:.92rem}tr{cursor:pointer}tr:hover{background:var(--row-hover)}a{color:var(--brand)}.card-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}button.secondary{border:1px solid var(--border);background:var(--surface);color:var(--brand);cursor:pointer;border-radius:8px;padding:.35rem .7rem;font-size:.85rem}button.secondary:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--brand)}.sort-indicator{font-size:.75rem}.quick-links{flex-wrap:wrap;gap:.75rem;margin:.5rem 0 .75rem;display:flex}.detail-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.detail-title h3,.detail-title .quick-links{margin:0}.addon-list{grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:.25rem 0 .75rem;padding:0;font-size:.9rem;list-style:none;display:grid}.addon-list li{display:contents}.addon-version{color:var(--muted)}.quick-links a{border:1px solid var(--border);border-radius:8px;padding:.25rem .6rem;font-size:.85rem;text-decoration:none}.link-button{cursor:pointer;color:inherit;border:1px dashed var(--border);background:0 0;border-radius:8px;padding:.25rem .6rem;font-size:.85rem}.link-button:hover{border-style:solid}.rancher-editor{flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem;display:flex}.rancher-editor input{border:1px solid var(--border);background:var(--bg);min-width:12rem;color:inherit;border-radius:8px;flex:16rem;padding:.3rem .5rem;font-size:.85rem}.rancher-editor button{cursor:pointer;border:1px solid var(--border);color:inherit;background:0 0;border-radius:8px;padding:.3rem .7rem;font-size:.85rem}.rancher-editor-error{color:#d64545;flex:100%;font-size:.8rem}.detail-list{gap:.5rem;margin:.25rem 0 .75rem;padding:0;list-style:none;display:grid}.detail-list li{border-bottom:1px solid var(--border);padding-bottom:.4rem;font-size:.9rem;font-weight:400}.nodegroup summary{cursor:pointer;font-weight:400}.nodegroup-summary{grid-template-columns:1fr 6rem 7rem;align-items:baseline;gap:.5rem 1rem;list-style:none;display:grid}.nodegroup-summary::-webkit-details-marker{display:none}.ng-name:before{content:"▸";color:var(--muted);margin-right:.4rem;transition:transform .15s;display:inline-block}.nodegroup[open] .ng-name:before{transform:rotate(90deg)}.ng-version,.ng-status{color:var(--muted)}.config-list{color:var(--muted);grid-template-columns:auto 1fr;gap:.15rem .75rem;margin:.4rem 0 0;font-size:.82rem;display:grid}.config-list dt{font-weight:600}.config-list dd{margin:0}.muted{color:var(--muted);font-size:.82rem}.scrape-status{color:var(--muted);flex-wrap:wrap;gap:1.25rem;font-size:.8rem;display:flex}@media (width<=1000px){.layout{grid-template-columns:1fr}}
