.live-dashboard{--dash-glass-bg:#c8a22b0a;--dash-glass-border:#c8a22b1f;--dash-glass-hover:#c8a22b14;--dash-card-bg:#fffdf599;--dash-card-border:#c8a22b26;--dash-accent:#c8a22b;--dash-accent-high:#e0be44;--dash-accent-low:#a07d1a;--dash-text:#2b2200;--dash-text-muted:#706428;--dash-surface:#faf5e4;--dash-surface-alt:#f5edd5;--dash-green:#16a34a;--dash-red:#dc2626;--dash-blue:#2563eb;--dash-amber:#d97706;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}html[data-theme=dark] .live-dashboard{--dash-glass-bg:#e0be440a;--dash-glass-border:#e0be4426;--dash-glass-hover:#e0be4414;--dash-card-bg:#231e0ce6;--dash-card-border:#e0be442e;--dash-accent:#e0be44;--dash-accent-high:#f0d46a;--dash-accent-low:#c8a22b;--dash-text:#f0e8c8;--dash-text-muted:#c4b470;--dash-surface:#1a1708;--dash-surface-alt:#221e0d;--dash-green:#22c55e;--dash-red:#ef4444;--dash-blue:#3b82f6;--dash-amber:#f59e0b}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.dash-title{color:var(--dash-text);letter-spacing:-.02em;align-items:center;gap:.5rem;margin:0;font-size:1.6rem;font-weight:800;display:flex}.dash-title svg{color:var(--dash-accent)}.dash-subtitle{color:var(--dash-text-muted);margin-top:.25rem;font-size:.85rem;font-weight:400;display:block}.dash-meta{align-items:center;gap:.75rem;display:flex}.last-updated{color:var(--dash-text-muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.refresh-btn{border:1px solid var(--dash-card-border);background:var(--dash-card-bg);cursor:pointer;width:34px;height:34px;color:var(--dash-text-muted);backdrop-filter:blur(8px);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.refresh-btn:hover{color:var(--dash-accent);border-color:var(--dash-accent);background:var(--dash-glass-hover);transform:rotate(90deg)}.refresh-btn.spinning svg{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dash-error{color:var(--dash-red);background:#dc262614;border:1px solid #dc262633;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.retry-btn{color:var(--dash-red);cursor:pointer;background:0 0;border:1px solid #dc26264d;border-radius:6px;margin-left:auto;padding:.3rem .75rem;font-size:.8rem;transition:all .15s}.retry-btn:hover{background:#dc26261a}.section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--dash-accent);border-bottom:1px solid var(--dash-glass-border);align-items:center;gap:.4rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:.7rem;font-weight:700;display:flex}.dash-section{margin-bottom:2.5rem}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;display:grid}.stat-card{background:var(--dash-card-bg);border:1px solid var(--dash-card-border);backdrop-filter:blur(12px);border-radius:12px;padding:1.1rem;transition:all .25s;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--dash-accent), var(--dash-accent-high));opacity:0;height:3px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:var(--dash-accent);transform:translateY(-2px);box-shadow:0 8px 24px #c8a22b1a}.stat-card:hover:before{opacity:1}.stat-icon{margin-bottom:.4rem;font-size:1.2rem}.stat-value{color:var(--dash-text);letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1.1}.stat-label{color:var(--dash-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.3rem;font-size:.7rem;font-weight:600}.lang-bar{background:var(--dash-surface-alt);border-radius:6px;height:10px;display:block;overflow:hidden}.lang-segment{float:left;height:100%;transition:width .8s;position:relative}.lang-segment:first-child{border-radius:6px 0 0 6px}.lang-segment:last-child{border-radius:0 6px 6px 0}.lang-legend{flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.75rem;display:flex}.lang-item{color:var(--dash-text-muted);align-items:center;gap:.35rem;font-size:.75rem;font-weight:500;display:flex}.lang-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.lang-pct{color:var(--dash-text);font-weight:700}.dash-two-col{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=700px){.dash-two-col{grid-template-columns:1fr}}.branches-list{flex-direction:column;gap:.75rem;display:flex}.branch-card{background:var(--dash-card-bg);border:1px solid var(--dash-card-border);backdrop-filter:blur(12px);border-radius:10px;padding:1rem;transition:border-color .2s}.branch-card:hover{border-color:var(--dash-accent)}.branch-name-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.branch-name{color:var(--dash-text);font-family:JetBrains Mono,Fira Code,monospace;font-size:.95rem;font-weight:700}.branch-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.15rem .45rem;font-size:.6rem;font-weight:700}.badge-protected{color:var(--dash-green);background:#22c55e1f;border:1px solid #22c55e33}.badge-default{color:var(--dash-accent);background:#c8a22b1f;border:1px solid #c8a22b33}.branch-commit{color:var(--dash-text-muted);font-size:.8rem;line-height:1.4}.branch-commit-sha{color:var(--dash-accent);font-family:JetBrains Mono,Fira Code,monospace;font-size:.7rem;text-decoration:none;transition:color .15s}.branch-commit-sha:hover{color:var(--dash-accent-high);text-decoration:underline}.branch-meta{color:var(--dash-text-muted);align-items:center;gap:.5rem;margin-top:.35rem;font-size:.7rem;display:flex}.branch-link{color:var(--dash-accent);align-items:center;gap:.25rem;margin-top:.5rem;font-size:.7rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.branch-link:hover{color:var(--dash-accent-high)}.commits-timeline{padding-left:1.5rem;position:relative}.commits-timeline:before{content:"";background:linear-gradient(180deg, var(--dash-accent), var(--dash-glass-border));border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:5px}.commit-item{opacity:0;padding:.6rem 0;animation:.3s forwards fadeSlideIn;position:relative}.commit-item:before{content:"";background:var(--dash-accent);border:2px solid var(--dash-surface);z-index:1;border-radius:50%;width:12px;height:12px;position:absolute;top:1rem;left:-1.5rem}.commit-msg{color:var(--dash-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.commit-sha{color:var(--dash-accent);font-family:JetBrains Mono,Fira Code,monospace;font-size:.7rem;text-decoration:none;transition:color .15s}.commit-sha:hover{color:var(--dash-accent-high);text-decoration:underline}.commit-meta{color:var(--dash-text-muted);align-items:center;gap:.5rem;margin-top:.25rem;font-size:.7rem;display:flex}.commit-avatar{border:1px solid var(--dash-card-border);border-radius:50%;width:18px;height:18px}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.pkg-count{color:var(--dash-text-muted);font-size:.65rem;font-weight:400}.pkg-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;display:grid}.pkg-card{background:var(--dash-card-bg);border:1px solid var(--dash-card-border);backdrop-filter:blur(12px);border-radius:12px;flex-direction:column;padding:1.15rem;transition:all .25s;display:flex}.pkg-card:hover{border-color:var(--dash-accent);transform:translateY(-2px);box-shadow:0 8px 24px #c8a22b14}.pkg-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.pkg-name{color:var(--dash-text);word-break:break-all;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;font-weight:700}.pkg-version-badge{background:linear-gradient(135deg, var(--dash-accent-low), var(--dash-accent));color:#fff;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;margin-left:.5rem;padding:.15rem .5rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.7rem;font-weight:700;display:inline-flex}.pkg-desc{color:var(--dash-text-muted);flex:1;margin-bottom:.75rem;font-size:.78rem;line-height:1.4}.pkg-stats-row{color:var(--dash-text-muted);gap:1rem;margin-bottom:.75rem;font-size:.75rem;display:flex}.pkg-stat{align-items:center;gap:.25rem;display:flex}.pkg-stat-value{color:var(--dash-text);font-weight:700}.pkg-date{color:var(--dash-text-muted);margin-bottom:.75rem;font-size:.7rem}.socket-badge{border-radius:6px;align-items:center;gap:.3rem;margin-bottom:.75rem;padding:.2rem .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.socket-badge.score-good{color:var(--dash-green);background:#22c55e1a;border:1px solid #22c55e33}.socket-badge.score-ok{color:var(--dash-amber);background:#d977061a;border:1px solid #d9770633}.socket-badge.score-bad{color:var(--dash-red);background:#dc26261a;border:1px solid #dc262633}.pkg-links{border-top:1px solid var(--dash-glass-border);flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.pkg-link{border:1px solid var(--dash-card-border);color:var(--dash-text-muted);background:0 0;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.65rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.pkg-link:hover{color:var(--dash-accent);border-color:var(--dash-accent);background:var(--dash-glass-hover)}.pkg-link svg{width:12px;height:12px}.pkg-badge-link{border-radius:4px;align-items:center;text-decoration:none;transition:transform .15s;display:inline-flex;overflow:hidden}.pkg-badge-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.pkg-badge-link img{height:20px;display:block}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel{background:linear-gradient(90deg, var(--dash-surface-alt) 25%, var(--dash-surface) 50%, var(--dash-surface-alt) 75%);background-size:200% 100%;border-radius:6px;animation:1.8s infinite shimmer}.skel-num{width:60px;height:28px;margin-bottom:.4rem}.skel-label{width:80px;height:12px}.skel-title{width:120px;height:16px;margin-bottom:.5rem}.skel-text{width:100%;height:14px;margin-bottom:.35rem}.skel-bar{width:100%;height:10px}.skeleton-card{min-height:70px}@media (width<=500px){.stat-cards{grid-template-columns:repeat(2,1fr)}.pkg-grid{grid-template-columns:1fr}.dash-header{flex-direction:column}}
