@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg: #0f1114;--surface: #151a20;--surface-2: #1b222a;--surface-3: #212a33;--card: #182029;--card-hover: #202a34;--border: #2b3642;--border-hover: #3c4b5d;--primary: #ff8a3d;--primary-dim: rgba(255, 138, 61, .12);--primary-border: rgba(255, 138, 61, .25);--accent: #4fc3f7;--accent-dim: rgba(79, 195, 247, .12);--accent-border: rgba(79, 195, 247, .26);--success: #34d399;--muted-pill: rgba(148, 163, 184, .14);--text: #f6f7f8;--text-secondary: #bfd0df;--text-muted: #7f93a8;--status-local: #facc15;--status-daemon: #a78bfa;--status-docker: #60a5fa;--status-deploy: #34d399;--sidebar-width: 300px;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow: 0 24px 50px rgba(0, 0, 0, .28)}*{box-sizing:border-box;padding:0;margin:0}body{min-height:100dvh;overflow:hidden;color:var(--text);font-family:var(--font-sans);background:radial-gradient(circle at top left,rgba(255,138,61,.12),transparent 32%),radial-gradient(circle at top right,rgba(79,195,247,.1),transparent 28%),linear-gradient(180deg,#0f1114,#0c0f13);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-container{display:grid;grid-template-columns:var(--sidebar-width) 1fr;width:100vw;height:100dvh}.sidebar{display:flex;flex-direction:column;gap:24px;padding:24px;overflow-y:auto;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 18%),linear-gradient(180deg,var(--surface) 0%,#11161c 100%);border-right:1px solid var(--border);box-shadow:inset -1px 0 #ffffff05}.sidebar-brand{display:flex;align-items:center;gap:14px;padding:8px 6px 4px}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#ff8a3df2,#ff8a3d59),radial-gradient(circle at 30% 30%,rgba(255,255,255,.45),transparent 45%);box-shadow:0 10px 24px #ff8a3d2e;position:relative}.brand-mark:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,255,255,.32);border-radius:8px}.sidebar-title{font-size:1.08rem;font-weight:800;letter-spacing:.04em}.sidebar-subtitle{color:var(--text-muted);font-size:.82rem;margin-top:2px}.lang-toggle{display:grid;grid-template-columns:repeat(2,1fr);padding:4px;border:1px solid var(--border);background:#ffffff05;border-radius:999px}.lang-btn{border:none;background:transparent;color:var(--text-muted);padding:9px 10px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.lang-btn:hover{color:var(--text)}.lang-btn.active{background:var(--primary-dim);color:var(--primary)}.search-shell{position:relative}.search-input{width:100%;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#ffffff08,#ffffff03);color:var(--text);padding:13px 14px;outline:none;transition:border-color .18s ease,background .18s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--primary-border);background:#ffffff0a}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.nav-item:hover{background:#ffffff08;color:var(--text)}.nav-item.active{background:linear-gradient(180deg,#ff8a3d1a,#ff8a3d0a);border-color:var(--primary-border);color:var(--primary)}.nav-slot{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ffffff08;border:1px solid var(--border);font-family:var(--font-mono);font-size:.74rem;color:var(--text-muted)}.nav-item.active .nav-slot{background:var(--primary-dim);border-color:var(--primary-border);color:var(--primary)}.nav-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.nav-label{font-size:.96rem;font-weight:600}.nav-badge{font-size:.72rem;font-family:var(--font-mono);font-weight:700;color:var(--text-muted);padding:4px 7px;border-radius:999px;border:1px solid var(--border);background:#ffffff05}.nav-item.active .nav-badge{color:var(--primary);border-color:var(--primary-border);background:var(--primary-dim)}.sidebar-foot{margin-top:auto}.workspace-card{padding:18px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff08,#ffffff03);box-shadow:var(--shadow)}.workspace-card-label{color:var(--primary);font-size:.72rem;font-family:var(--font-mono);letter-spacing:.12em;font-weight:700;margin-bottom:10px}.workspace-card-path{font-size:1rem;font-weight:700;margin-bottom:10px}.workspace-card-note{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.85rem}.workspace-dot{width:8px;height:8px;border-radius:999px;background:var(--success);box-shadow:0 0 10px #34d39959;flex:0 0 auto}.main-content{min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:28px;padding:clamp(18px,4vw,48px) clamp(18px,4vw,56px)}.page-header{max-width:900px}.page-header h2{font-size:clamp(2rem,4vw,3.25rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:10px}.page-header p{color:var(--text-muted);font-size:1.03rem;line-height:1.6}.stats-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat-card{padding:18px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff09,#ffffff04);box-shadow:0 12px 28px #0000002e}.stat-card-primary{border-color:#ff8a3d47;background:linear-gradient(180deg,#ff8a3d24,#ffffff04)}.stat-card-accent{border-color:#4fc3f73d;background:linear-gradient(180deg,#4fc3f71f,#ffffff04)}.stat-card-muted{border-color:#94a3b82e}.stat-label,.workflow-pipeline-label,.workflow-deps-label,.guide-section-label,.ops-kicker,.analytics-kicker,.section-head h3{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.stat-value{margin-top:8px;font-size:2rem;font-weight:800;letter-spacing:-.04em}.stat-note{margin-top:8px;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px}.project-card,.workflow-card,.guide-card,.ops-ticket,.analytics-panel{border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,#ffffff09,#ffffff05);box-shadow:0 16px 36px #00000038}.project-card{position:relative;padding:18px;overflow:hidden}.project-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--primary);opacity:.9}.project-card.status-local:before{background:var(--status-local)}.project-card.status-daemon:before{background:var(--status-daemon)}.project-card.status-docker:before{background:var(--status-docker)}.project-card.status-deployable:before{background:var(--status-deploy)}.project-topline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start}.project-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-family:var(--font-mono);font-size:.78rem;font-weight:800;letter-spacing:.08em;color:var(--primary);background:#ff8a3d17;border:1px solid var(--primary-border)}.project-head{min-width:0}.project-kicker{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:6px}.project-title,.workflow-title{font-size:1.3rem;line-height:1.15;font-weight:800;letter-spacing:-.03em}.project-subline,.workflow-desc,.guide-description,.ops-group-note{color:var(--text-secondary);font-size:.93rem;line-height:1.6}.project-status-stack{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.status-badge,.health-badge,.workflow-trigger,.nav-badge,.env-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-family:var(--font-mono);font-weight:700;white-space:nowrap}.status-badge{font-size:.7rem;padding:6px 10px;border:1px solid var(--border);background:#ffffff05}.status-badge.local{color:var(--status-local);border-color:#facc1542;background:#facc1514}.status-badge.daemon{color:var(--status-daemon);border-color:#a78bfa42;background:#a78bfa14}.status-badge.docker{color:var(--status-docker);border-color:#60a5fa42;background:#60a5fa14}.status-badge.deployable{color:var(--status-deploy);border-color:#34d39942;background:#34d39914}.health-badge{font-size:.68rem;padding:6px 10px}.health-badge.online{color:var(--success);border:1px solid rgba(52,211,153,.26);background:#34d39914}.health-badge.offline{color:var(--text-muted);border:1px solid var(--border);background:#ffffff05}.project-telemetry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05)}.telemetry-item{padding:12px 12px 10px;border-radius:14px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.telemetry-label{display:block;color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.telemetry-value{color:var(--text);font-size:.88rem;font-weight:600;word-break:break-word}.project-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.stack-chip,.env-pill{font-size:.72rem;padding:5px 9px;border:1px solid var(--border);color:var(--text-secondary);background:#ffffff05}.stack-chip{border-radius:999px}.project-activity{margin-top:18px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#ffffff05,#ffffff03)}.project-activity-head{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.sparkline-wrap{color:var(--accent)}.sparkline-wrap svg{display:block;width:100%;overflow:visible}.project-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05)}.project-footer-copy{color:var(--text-muted);font-size:.82rem}.workflow-card{padding:20px}.workflow-lead{display:flex;flex-direction:column;gap:14px}.workflow-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.workflow-kicker{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:8px}.workflow-trigger{font-size:.7rem;padding:6px 10px;border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--accent)}.workflow-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workflow-meta-item{padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.05);background:#ffffff05}.workflow-meta-item span{display:block;color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}.workflow-meta-item strong{font-size:.95rem}.workflow-pipeline{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05)}.workflow-stage-list{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding-bottom:4px;margin-top:12px;scrollbar-width:none}.workflow-stage-list::-webkit-scrollbar{display:none}.workflow-stage{flex:0 0 auto;min-width:140px;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:16px;border:1px solid rgba(79,195,247,.16);background:linear-gradient(180deg,#4fc3f714,#ffffff05)}.workflow-stage-index{width:fit-content;padding:4px 8px;border-radius:999px;background:#4fc3f71f;color:var(--accent);font-family:var(--font-mono);font-size:.68rem;font-weight:700}.workflow-stage-name{font-size:.9rem;line-height:1.45;font-weight:600}.workflow-deps{margin-top:16px}.workflow-deps-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.workflow-empty{color:var(--text-muted);font-size:.9rem;font-style:italic}.cmd-block{width:100%;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff08,#ffffff03);color:var(--text);font-family:var(--font-mono);font-size:.82rem;line-height:1.55;text-align:left;cursor:pointer;white-space:pre-wrap;word-break:break-word;transition:border-color .18s ease,background .18s ease,transform .18s ease}.cmd-block:hover{border-color:var(--primary-border);background:#ff8a3d0f;transform:translateY(-1px)}.cmd-copy-label{flex:0 0 auto;color:var(--text-muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.command-action{text-decoration:none}.ops-board{display:flex;flex-direction:column;gap:18px}.ops-group{padding:18px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,#ffffff08,#ffffff04);box-shadow:var(--shadow)}.ops-group-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:16px}.ops-group-title{color:var(--text);font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin-top:6px}.ops-group-note{max-width:380px;text-align:right}.ops-ticket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.ops-ticket{padding:16px}.ops-ticket-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:12px}.ops-ticket-code{color:var(--primary);font-size:.72rem;font-family:var(--font-mono);letter-spacing:.14em;font-weight:700;margin-bottom:6px}.ops-ticket-title{font-size:1.03rem;font-weight:800;letter-spacing:-.02em}.ops-ticket-count{flex:0 0 auto;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);padding:5px 8px;border:1px solid var(--border);border-radius:999px}.ops-step-list{display:flex;flex-direction:column;gap:10px}.ops-step{display:grid;grid-template-columns:38px 1fr;align-items:start;gap:12px;padding:11px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.05);background:#ffffff05;color:var(--text);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ops-step:hover{border-color:var(--primary-border);background:#ff8a3d0f;transform:translateY(-1px)}.ops-step-index{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ffffff08;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem;font-weight:700}.ops-step-text{font-family:var(--font-mono);font-size:.79rem;line-height:1.5;word-break:break-word}.guide-card{margin-bottom:12px;overflow:hidden}.guide-header{width:100%;padding:18px 18px 16px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;background:transparent;border:none;color:var(--text);text-align:left;cursor:pointer}.guide-code{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;border:1px solid var(--border);background:#ffffff05;color:var(--primary);font-family:var(--font-mono);font-weight:800;letter-spacing:.08em}.guide-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.guide-title{font-size:1.04rem;font-weight:700}.guide-subtitle{color:var(--text-muted);font-size:.82rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.guide-chevron{color:var(--primary);font-size:1.1rem;line-height:1}.guide-body{display:none;padding:0 18px 18px}.guide-body.open{display:block}.guide-description{margin-bottom:18px}.guide-section-label{margin-bottom:10px}.guide-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.teammate-panel{display:flex;flex-direction:column;gap:14px}.teammate-lead{padding:16px 18px;border-radius:18px;border:1px solid rgba(79,195,247,.18);background:linear-gradient(180deg,#4fc3f714,#ffffff05);color:var(--text-secondary);line-height:1.6}.analytics-panel{padding:22px}.analytics-head{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:22px}.analytics-title{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;margin-top:6px}.analytics-subtitle{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-align:right}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:18px}.analytics-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;align-items:end;min-height:280px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.05);background:#ffffff04}.model-card{display:flex;flex-direction:column;gap:14px;min-height:100%}.model-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.model-name{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.model-count{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem}.model-bar-shell{flex:1;min-height:180px;display:flex;align-items:flex-end;border-radius:16px;padding:10px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#ffffff05,#ffffff03)}.model-bar{width:100%;border-radius:14px 14px 6px 6px;box-shadow:0 12px 22px #00000038}.analytics-summary{padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#ffffff08,#ffffff04)}.analytics-summary-title{font-size:.95rem;font-weight:700;margin-bottom:10px}.analytics-summary p{color:var(--text-secondary);line-height:1.65}.section-head{margin:26px 0 14px}.section-head h3{font-size:.78rem}.empty-state{text-align:center;padding:70px 18px;color:var(--text-muted);border:1px dashed rgba(255,255,255,.08);border-radius:18px;background:#ffffff04}.toast{position:fixed;right:24px;bottom:24px;padding:12px 18px;border-radius:14px;border:1px solid var(--primary-border);background:#11161cf5;color:var(--primary);font-family:var(--font-mono);font-size:.82rem;transform:translateY(110%);opacity:0;transition:transform .22s ease,opacity .22s ease;box-shadow:var(--shadow);z-index:1000}.toast.show{transform:translateY(0);opacity:1}.btn{min-height:44px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;border:1px solid var(--border);background:#ffffff05;color:var(--text-secondary);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.btn:hover{border-color:var(--border-hover);background:#ffffff0a;color:var(--text);transform:translateY(-1px)}.btn.primary{border-color:var(--primary-border);background:var(--primary-dim);color:var(--primary)}.btn.primary:hover{background:#ff8a3d2e}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.animate-in{opacity:0;animation:fadeIn .32s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.mobile-header{display:none;position:sticky;top:0;z-index:100;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:#0f1114fa}.mobile-menu-btn{min-width:72px;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff05;color:var(--text);cursor:pointer}.mobile-brand{font-weight:800;letter-spacing:.08em}.mobile-spacer{width:72px}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000009e}.sidebar-overlay.open{display:block}@media(max-width:980px){.stats-rail,.analytics-grid,.project-telemetry{grid-template-columns:1fr}}@media(max-width:768px){body{overflow:auto}.app-container{grid-template-columns:1fr;height:auto;min-height:100dvh}.mobile-header{display:flex}.sidebar{display:none;position:fixed;top:0;left:0;bottom:0;width:min(88vw,var(--sidebar-width));z-index:300;box-shadow:var(--shadow)}.sidebar.open{display:flex}.main-content{padding:18px 16px 36px}.page-header h2{font-size:1.9rem}.project-topline,.workflow-header,.ops-group-head,.analytics-head{grid-template-columns:1fr;display:grid}.project-status-stack,.ops-group-note,.analytics-subtitle{align-items:flex-start;text-align:left}.project-footer,.workflow-meta{grid-template-columns:1fr;display:grid}.project-footer{gap:12px}.ops-ticket-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
