:root{--bg:#0f1c17;--bg-elevated:#16251f;--bg-panel:#1a2c25;--bg-accent:#16251f;--surface:#1a2c25;--surface-2:#21362d;--ink:#e8f0eb;--text:#e8f0eb;--muted:#9bb0a4;--accent:#c4a35a;--accent-ink:#1a1508;--accent-dim:#c4a35a29;--line:#e8f0eb1f;--border:#e8f0eb2e;--danger:#c45c5c;--bad:#c45c5c;--warn:#c4a35a;--good:#3ecf8e;--info:#6cb6ff;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body:"Segoe UI", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-body);background:radial-gradient(1200px 600px at 10% -10%, #c4a35a2e, transparent 55%), radial-gradient(900px 500px at 100% 0%, #3c785a38, transparent 50%), var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}a{color:var(--accent)}.pulse-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.pulse-nav{background:linear-gradient(180deg, var(--bg-elevated), var(--bg-panel));border-right:1px solid var(--line);flex-direction:column;gap:1rem;padding:1.25rem 1rem;display:flex}.pulse-nav-brand{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.25rem .5rem 1rem;display:flex}.pulse-nav-mark{background:var(--accent);width:2.5rem;height:2.5rem;color:var(--accent-ink);font-family:var(--font-display);letter-spacing:.04em;border-radius:.4rem;place-items:center;font-weight:700;display:grid}.pulse-nav-title{font-family:var(--font-display);font-size:1.15rem}.pulse-nav-sub{color:var(--muted);font-size:.75rem}.pulse-nav-list{flex-direction:column;flex:1;gap:.2rem;display:flex;overflow:auto}.pulse-nav-item{text-align:left;width:100%;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:.4rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.pulse-nav-item:hover,.pulse-nav-item.is-active{background:#c4a35a29}.pulse-nav-tag{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.pulse-nav-auth{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.pulse-nav-user{color:var(--muted);flex-direction:column;gap:.15rem;font-size:.85rem;display:flex}.pulse-nav-user strong{color:var(--ink)}.pulse-main{padding:1.5rem;overflow:auto}.pulse-btn{background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:0;border-radius:.4rem;padding:.55rem .9rem;font-weight:600}.pulse-btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.auth-banner{border:1px solid var(--line);border-radius:.45rem;margin-bottom:1rem;padding:.75rem 1rem}.auth-banner.error{background:#c45c5c26;border-color:#c45c5c80}.auth-banner.warn{background:#c4a35a1f;border-color:#c4a35a73}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem}.module-placeholder{max-width:40rem}.module-placeholder h1{font-family:var(--font-display)}.module-watching{color:var(--muted)}.section-list{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.section-row{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;font:inherit;background:#16251f8c;border-radius:.5rem;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.section-row.static{cursor:default}.section-row:hover{border-color:#c4a35a59}.pane-shell{max-width:960px;margin:0;padding:0}@media (width<=900px){.pulse-shell{grid-template-columns:1fr}.pulse-nav{border-right:0;border-bottom:1px solid var(--line)}.pulse-nav-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:12rem;display:grid}}.shell{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}h1{letter-spacing:-.03em;margin:4px 0 6px;font-size:28px}.lede{color:var(--muted);max-width:640px;margin:0;line-height:1.5}.controls{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.field input,.field select,.field textarea,.search{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;min-width:160px;padding:8px 10px}.field textarea{resize:vertical;width:100%;min-height:96px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.field-span{grid-column:1/-1}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.banner.warn{color:var(--accent);border-color:#c4a35a73}.search{width:100%}.btn{background:var(--accent);color:#1a1208;cursor:pointer;border:0;border-radius:8px;padding:9px 14px;font-weight:700}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0;font-weight:600}.btn-ghost.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.grid{gap:12px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.card h2{margin:0 0 12px;font-size:15px}.metric-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.metric-value{margin-top:4px;font-family:IBM Plex Mono,monospace;font-size:28px;font-weight:700}.metric-hint{color:var(--muted);margin-top:4px;font-size:12px}.row{border-bottom:1px solid #24425ab3;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.row:last-child{border-bottom:0;padding-bottom:0}.badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge.connected,.badge.ready{color:var(--good);background:#3ecf8e29}.badge.watching,.badge.partial{background:var(--accent-dim);color:var(--accent)}.badge.not_connected,.badge.unavailable{color:#f0a0a0;background:#d96b6b1f}.muted{color:var(--muted);font-size:13px;line-height:1.45}.stars{gap:3px;margin:8px 0;display:flex}.star{border:1.5px solid var(--border);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:0 0;width:16px;height:16px}.star.filled{background:var(--accent);border-color:var(--accent)}.banner{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:10px;margin-bottom:16px;padding:10px 12px}.banner.error{border-color:var(--bad);color:#f3c1c1}.acq{border-top:1px solid var(--border);padding:10px 0}.acq summary{cursor:pointer;font-weight:600}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 6px}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.dir-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dir-card{background:var(--bg-accent);border:1px solid var(--border);border-radius:12px;min-height:118px;padding:12px}.dir-card h3{margin:0 0 6px;font-size:14px}.spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=960px){.grid-4,.grid-3,.dir-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.grid-4,.grid-3,.grid-2,.dir-grid,.form-grid{grid-template-columns:1fr}}.dfs-workspace{max-width:1100px}.dfs-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.dfs-stack{flex-direction:column;gap:16px;display:flex}.dfs-empty{background:linear-gradient(135deg, #c4a35a14, transparent 55%), var(--surface)}.dfs-job-link{width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0}.dfs-job-table{flex-direction:column;gap:8px;display:flex}.dfs-job-row{border:1px solid var(--border);background:#0f1c1759;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.dfs-job-row.is-selected{background:var(--accent-dim);border-color:#c4a35a8c}.dfs-job-main{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:flex-start;gap:12px;padding:0;display:flex}.dfs-job-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.dfs-subhead{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px;font-size:14px}.dfs-serp-list{flex-direction:column;gap:10px;display:flex}.dfs-serp-item{border:1px solid var(--border);background:#16251f8c;border-radius:12px;grid-template-columns:48px 1fr;gap:12px;padding:12px;display:grid}.dfs-serp-item.is-brand{background:#3ecf8e14;border-color:#3ecf8e59}.dfs-serp-rank{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:700}.dfs-serp-title{font-weight:650;line-height:1.35}.dfs-drawer{z-index:40;background:#060c0ab8;place-items:end;padding:0;display:grid;position:fixed;inset:0}.dfs-drawer-panel{background:radial-gradient(600px 280px at 100% 0%, #c4a35a1f, transparent 55%), var(--bg-elevated);border-left:1px solid var(--border);width:min(720px,100%);height:100%;padding:20px;overflow:auto}.dfs-flat-list{border:1px solid var(--border);border-radius:10px;max-height:220px;margin-bottom:12px;overflow:auto}.dfs-flat-row{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;grid-template-columns:minmax(140px,.45fr) 1fr;gap:10px;padding:8px 10px;display:grid}.dfs-flat-row:hover{background:#c4a35a1a}.dfs-flat-row code{color:var(--accent);word-break:break-all;font-size:12px}.dfs-flat-row span{color:var(--muted);word-break:break-word;font-size:12px}.dfs-raw-pre{border:1px solid var(--border);color:#d7e6dd;background:#0b1511;border-radius:10px;max-height:45vh;margin:0;padding:12px;font-size:11px;line-height:1.45;overflow:auto}
