:root{color-scheme:light;--background:#f7f8fa;--foreground:#1b1f24;--muted:#5d6673;--panel:#ffffff;--border:#d8dee6;--accent:#0f766e;--tab-width:168px;--pane-width:1280px}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}main{min-height:100vh;padding:48px}.shell{display:grid;grid-gap:24px;gap:24px;width:100%;max-width:var(--pane-width)}.panel{max-width:680px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:24px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.account{display:flex;align-items:center;gap:12px;white-space:nowrap}.account-email{color:var(--muted);font-size:14px}h1{font-size:40px;line-height:1.1}h1,h2{margin:0}h2{font-size:18px;line-height:1.3}p{margin:0;color:var(--muted);line-height:1.6}code{border-radius:4px;background:#eef2f6;padding:2px 6px}a{color:var(--accent)}.status-panel{display:grid;grid-gap:16px;gap:16px;max-width:none}.environment-row,.map-status-row,.status-header,.status-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.map-status,.status-pill{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;text-transform:uppercase}.map-status.pending,.status-pill.building,.status-pill.starting{background:#fff7ed;color:#9a3412}.map-status.publishing{background:#eff6ff;color:#1d4ed8}.map-status.ready,.status-pill.ready{background:#16a34a;color:#ffffff}.map-status.failed,.status-pill.failed{background:#fef2f2;color:#b91c1c}.map-status.blocked,.map-status.stale,.status-pill.degraded{background:#fef3c7;color:#92400e}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e5e7eb}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.progress-track.indeterminate span{width:35%;animation:indeterminate-progress 1.2s ease-in-out infinite}@keyframes indeterminate-progress{0%{transform:translateX(-110%)}to{transform:translateX(320%)}}.map-status-row,.status-meta{color:var(--muted);font-size:14px}.status-error{color:#b91c1c}.cron-status{display:grid;grid-gap:4px;gap:4px;border:1px solid var(--border);border-radius:8px;padding:12px;font-size:14px;color:var(--muted)}.cron-status .cron-title{color:var(--foreground);font-size:12px;font-weight:700;text-transform:uppercase}.cron-status code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--foreground)}.source-quality-explanation{display:grid;grid-gap:8px;gap:8px;border-left:3px solid #f59e0b;background:#fffbeb;padding:12px 14px}.source-quality-explanation p{font-size:13px}.source-tree-layout{--source-level-total:#e7f0f7;--source-category-excluded:#fdf0f1;--source-category-degraded-ignorable:#f4f6f8;--source-category-degraded-concernable:#fff7e6;--source-category-quarantined:#f2f0f8;display:grid;grid-gap:20px;gap:20px;min-width:0}.source-category-strip{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.source-category-pill{display:grid;min-width:150px;min-height:58px;flex:0 0 auto;grid-gap:3px;gap:3px;cursor:pointer;border:1px solid var(--border);border-radius:8px;background:#f8fafb;color:var(--foreground);padding:9px 12px;font:inherit;text-align:left;transition:border-color .14s ease,box-shadow .14s ease}.source-category-pill.is-total{border-color:#9cb9d1;background:var(--source-level-total)}.source-category-pill.category-excluded{background:var(--source-category-excluded)}.source-category-pill.category-degraded-ignorable{background:var(--source-category-degraded-ignorable)}.source-category-pill.category-degraded-concernable{background:var(--source-category-degraded-concernable)}.source-category-pill.category-quarantined{background:var(--source-category-quarantined)}.source-category-pill:hover{border-color:var(--accent)}.source-category-pill>span{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.source-category-pill>strong{font-size:20px}.source-category-pill.tone-error>strong,.source-tree-row.tone-error .source-tree-count{color:#b91c1c}.source-category-pill.tone-warn>strong,.source-tree-row.tone-warn .source-tree-count{color:#a16207}.source-equation-term{display:flex;align-items:center;gap:8px;flex:0 0 auto}.source-equation-operator{flex:0 0 auto;color:#637083;font-size:18px;font-weight:700}.source-category-pill:focus-visible,.source-tree-action:focus-visible,.source-tree-info:focus-visible,.source-tree-row:focus-visible,.source-tree-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.source-tree{width:100%;min-width:0;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.source-tree-header,.source-tree-row{display:grid;grid-template-columns:minmax(320px,1fr) 100px 190px 120px 84px;min-width:860px;align-items:center}.source-tree-header{min-height:44px;background:#465463;color:#ffffff;font-size:11px;font-weight:800;text-transform:uppercase}.source-tree-header>span,.source-tree-row>*{padding:10px 14px}.source-tree-row{min-height:56px;border-top:1px solid #e3e7eb;cursor:pointer;transition:background .14s ease}.source-tree-row.level-total{background:var(--source-level-total);font-weight:700}.source-tree-row.level-category.category-excluded{background:var(--source-category-excluded)}.source-tree-row.level-category.category-degraded-ignorable{background:var(--source-category-degraded-ignorable)}.source-tree-row.level-category.category-degraded-concernable{background:var(--source-category-degraded-concernable)}.source-tree-row.level-category.category-quarantined{background:var(--source-category-quarantined)}.source-tree-row.level-detail{background:#ffffff}.source-category-pill.is-current,.source-tree-row.is-highlighted{box-shadow:inset 4px 0 var(--accent)}.source-tree-category{display:flex;align-items:center;gap:9px;min-width:0;padding-left:calc(14px + var(--source-tree-depth) * 28px)}.source-tree-label{min-width:0;overflow-wrap:anywhere}.source-tree-action,.source-tree-info,.source-tree-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;border:0;border-radius:4px;padding:0;background:transparent;color:#637083;cursor:pointer;text-decoration:none}.source-tree-action:hover,.source-tree-info:hover,.source-tree-toggle:hover{background:#e8edf1;color:var(--accent)}.source-tree-info-popup{position:fixed;z-index:50;width:280px;max-width:calc(100vw - 24px);border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--panel);box-shadow:0 8px 24px rgba(27,31,36,.16);color:var(--foreground);font-size:12px;line-height:1.5}.source-tree-leaf{width:28px;flex:0 0 auto}.source-tree-leaf:after{content:"";display:block;width:12px;height:1px;margin-left:8px;background:#d9dee4}.source-tree-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.source-tree-share{display:grid;grid-template-columns:minmax(64px,1fr) 38px;align-items:center;grid-gap:10px;gap:10px;color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.source-share-track{display:block;height:6px;overflow:hidden;border-radius:999px;background:#edf0f2}.source-share-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.source-quality-badge{display:inline-block;max-width:100%;border:1px solid #c6ccd4;border-radius:999px;padding:2px 8px;color:#626d7a;font-size:11px;font-weight:700;white-space:nowrap}.source-quality-badge.tone-error{border-color:#ef4444;background:#fff1f2;color:#b91c1c}.source-quality-badge.tone-warn{border-color:#eab308;background:#fefce8;color:#854d0e}.source-tree-actions{display:flex;justify-content:flex-end;gap:2px}.source-tree-action.is-disabled{cursor:not-allowed;opacity:.3}.source-tree-action.is-disabled:hover{background:transparent;color:#637083}.diagnostics-tree-layout{--source-level-total:#e8eff3}.diagnostics-category-pill{border-color:#cbd3dc;background:#f4f6f8}.diagnostics-category-pill.is-total{border-color:#9fb3c1}.diagnostics-tree-columns,.diagnostics-tree-row{grid-template-columns:minmax(320px,1fr) 100px 190px 120px 84px;min-width:860px}.diagnostics-tree-row.level-category{background:#f4f6f8}.diagnostics-share-track>span{background:#607786}.diagnostics-badge{border-color:#cbd3dc;background:#f4f6f8;color:#52616d}.startup-config{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.startup-config div{display:grid;grid-gap:4px;gap:4px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:12px}.startup-config span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.startup-config strong{overflow-wrap:anywhere;font-size:14px;font-weight:700}.environment-grid,.map-status-grid{display:grid;grid-gap:8px;gap:8px}.environment-row,.map-status-row{min-height:32px;border-top:1px solid var(--border);padding-top:8px}.status-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.map-row-actions button,.status-actions button{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:6px;background:white;color:var(--foreground);font-size:13px;font-weight:600;white-space:nowrap;padding:6px 12px}.map-row-actions button:hover:not(:disabled),.status-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.map-row-actions button:disabled,.status-actions button:disabled{cursor:not-allowed;color:#94a3b8}.map-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.map-row-info{display:flex;flex-direction:column;gap:2px;min-width:0}.map-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;color:var(--foreground)}.map-source{border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;line-height:1.6;text-transform:uppercase}.map-source.api,.map-source.database,.map-source.derived,.map-source.internal{border-color:#d8b4fe;background:#f3e8ff;color:#7e22ce}.map-dependency{border:1px solid #cbd5e1;border-radius:999px}.map-dependency,.map-refresh-impact{padding:1px 7px;font-size:10px;font-weight:700;line-height:1.6}.map-refresh-impact{border:1px solid #c4b5fd;border-radius:999px;background:#f5f3ff;color:#6d28d9}.map-dependency.resolved{border-color:#86efac;background:#dcfce7;color:#166534}.map-dependency.reused{border-color:#cbd5e1;border-style:dashed;background:#f8fafc;color:#475569}.map-dependency.unresolved{border-color:#fdba74;background:#ffedd5;color:#9a3412}.map-dependency.publishing{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.map-origin{font-weight:400;font-size:12px;color:var(--muted)}.map-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.map-meta{min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-meta.expanded{white-space:normal;overflow:visible;text-overflow:clip}.map-dependencies,.map-refresh-impacts{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.map-row-actions{display:flex;align-items:center;gap:12px}.login-panel{display:grid;grid-gap:16px;gap:16px;max-width:420px}.login-button{font:inherit;display:inline-block;justify-self:start;cursor:pointer;border:0;border-radius:6px;background:var(--accent);color:white;font-weight:600;padding:10px 16px;text-decoration:none}@media (max-width:640px){main{padding:24px}h1{font-size:32px}.environment-row,.map-status-row,.status-header,.status-meta{align-items:flex-start;flex-direction:column;gap:8px}.map-status-row,.startup-config{grid-template-columns:1fr}}.tabs-shell{display:grid;grid-gap:0;gap:0}.tabs{display:flex;align-items:flex-end;gap:2px}.tab{width:var(--tab-width);flex:0 0 var(--tab-width);font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;background:#eef2f6;color:var(--muted);padding:8px 12px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab:hover:not(.active){color:var(--accent)}.tab.active{position:relative;z-index:1;background:var(--panel);color:var(--foreground);border-bottom:1px solid var(--panel);margin-bottom:-1px}.tab-indicator{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:#b91c1c;vertical-align:middle}.tab-warning-indicator{background:#ca8a04}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tab-panel[hidden]{display:none}.tab-panel>.panel{border-top-left-radius:0;border-top-right-radius:0}.tabs-shell.top-menu{gap:18px}.tabs-shell.top-menu .tabs{align-items:stretch;gap:0;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:thin}.tabs-shell.top-menu .tab{width:auto;min-width:112px;flex:1 0 auto;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:12px 16px 10px}.tabs-shell.top-menu .tab.active{margin-bottom:0;border-bottom-color:var(--accent);background:transparent;color:var(--accent)}.tabs-shell.top-menu .tab-panel>.panel{border-radius:8px}