:root{--ink-950:#050a08;--ink-900:#0a1210;--ink-850:#0e1a16;--ink-800:#13221c;--ink-700:#1a2e26;--ink-600:#243c32;--ink-500:#355648;--haze-100:#e8f5ef;--haze-200:#c5e0d2;--haze-300:#8fb9a6;--haze-400:#5a8f7a;--haze-500:#3d7a62;--emerald-400:#34d399;--emerald-500:#10b981;--teal-400:#2dd4bf;--amber-400:#fbbf24;--amber-500:#f59e0b;--rose-400:#fb7185;--rose-500:#f43f5e;--sky-400:#38bdf8;--violet-400:#a78bfa;--bg:var(--ink-950);--bg-elevated:var(--ink-900);--bg-panel:var(--ink-850);--bg-panel-hover:var(--ink-800);--bg-input:var(--ink-800);--border:#8fb9a61f;--border-strong:#8fb9a638;--text:var(--haze-100);--text-muted:var(--haze-300);--text-faint:var(--haze-400);--accent:var(--emerald-400);--accent-dim:#34d39926;--focus-ring:#2dd4bf8c;--tone-neutral:var(--haze-400);--tone-info:var(--sky-400);--tone-progress:var(--teal-400);--tone-success:var(--emerald-400);--tone-warning:var(--amber-400);--tone-danger:var(--rose-400);--font-display:"Barlow", "Segoe UI", system-ui, sans-serif;--font-body:"Manrope", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "JetBrains Mono", ui-monospace, monospace;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--nav-width:15.5rem;--header-height:3.25rem;--shadow-panel:0 0 0 1px var(--border), 0 8px 32px #00000059}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #10b98114, transparent 55%), radial-gradient(900px 500px at 100% 0%, #2dd4bf0d, transparent 50%), var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.02em;margin:0 0 var(--space-3);font-weight:600}h1{text-transform:uppercase;letter-spacing:.08em;font-size:1.5rem}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--haze-200);font-size:1.05rem}h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.85rem}p{margin:0 0 var(--space-3);color:var(--text-muted)}code,.mono{font-family:var(--font-mono);font-size:.85em}.app-shell{grid-template-columns:var(--nav-width) 1fr;min-height:100%;display:grid}.app-nav{height:100vh;padding:var(--space-5) var(--space-4);border-right:1px solid var(--border);background:linear-gradient(180deg, var(--ink-900), var(--ink-950));gap:var(--space-6);flex-direction:column;display:flex;position:sticky;top:0}.app-brand{gap:var(--space-1);padding:0 var(--space-2);flex-direction:column;display:flex}.app-brand-mark{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text);font-size:1.1rem;font-weight:700}.app-brand-mark span{color:var(--accent)}.app-brand-sub{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:.7rem}.app-nav-section{gap:var(--space-1);flex-direction:column;display:flex}.app-nav-label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);padding:var(--space-2);font-size:.65rem}.app-nav a.nav-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);border:1px solid #0000;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:flex}.app-nav a.nav-link:hover{background:var(--bg-panel);color:var(--text);text-decoration:none}.app-nav a.nav-link.active{background:var(--accent-dim);color:var(--accent);border-color:#34d39940}.app-nav-footer{padding:var(--space-3);border-top:1px solid var(--border);color:var(--text-faint);margin-top:auto;font-size:.75rem}.app-main{flex-direction:column;min-width:0;display:flex}.app-header{height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-6);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#0a1210b8;display:flex;position:sticky;top:0}.app-header-title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem}.app-content{padding:var(--space-6);flex:1}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.panel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.panel-body{padding:var(--space-5)}.panel-muted{color:var(--text-muted);font-size:.85rem}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=1100px){.grid-3,.grid-2{grid-template-columns:1fr}}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.chip{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .55rem;font-size:.68rem;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem;box-shadow:0 0 8px}.chip-neutral{color:var(--tone-neutral);background:#8fb9a614;border-color:#8fb9a62e}.chip-info{color:var(--tone-info);background:#38bdf81a;border-color:#38bdf838}.chip-progress{color:var(--tone-progress);background:#2dd4bf1a;border-color:#2dd4bf38}.chip-success{color:var(--tone-success);background:#34d3991a;border-color:#34d39938}.chip-warning{color:var(--tone-warning);background:#fbbf241a;border-color:#fbbf2438}.chip-danger{color:var(--tone-danger);background:#fb71851a;border-color:#fb718538}.field{gap:var(--space-1);flex-direction:column;min-width:10rem;display:flex}.field label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:.65rem}.field input,.field select{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;padding:.45rem .65rem}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-panel-hover);color:var(--text);cursor:pointer;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;padding:.45rem .85rem;font-size:.72rem;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{color:var(--accent);background:#10b9812e;border-color:#34d39966}.table-wrap{overflow:auto}table.data-table{border-collapse:collapse;width:100%;font-size:.875rem}table.data-table th{text-align:left;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap;font-size:.65rem}table.data-table td{padding:var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}table.data-table tbody tr{cursor:pointer;transition:background .1s}table.data-table tbody tr:hover{background:#34d3990a}table.data-table .linkish{color:var(--text);font-weight:600}table.data-table .linkish:hover{color:var(--accent)}.kv-grid{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(8rem,12rem) 1fr;font-size:.875rem;display:grid}.kv-key{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding-top:.2rem;font-size:.65rem}.kv-val{color:var(--text);word-break:break-word}.pipeline{padding:var(--space-2) 0;align-items:stretch;gap:0;display:flex;overflow-x:auto}.pipeline-step{min-width:7rem;padding:var(--space-3);border:1px solid var(--border);background:var(--ink-900);flex:1;position:relative}.pipeline-step+.pipeline-step{border-left:none}.pipeline-step:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.pipeline-step:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.pipeline-step.done{background:#10b98114;border-color:#34d39959}.pipeline-step.current{background:#2dd4bf1f;border-color:#2dd4bf8c;box-shadow:inset 0 0 0 1px #2dd4bf33}.pipeline-step.failed{background:#f43f5e1a;border-color:#fb718580}.pipeline-step-label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem}.pipeline-step.done .pipeline-step-label,.pipeline-step.current .pipeline-step-label{color:var(--text)}.chain{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.85rem;display:flex}.chain-sep{color:var(--text-faint)}.chain a{color:var(--haze-200)}.chain a:hover{color:var(--accent)}.chain-current{color:var(--text);font-weight:600}.condition-list{gap:var(--space-3);flex-direction:column;display:flex}.condition-item{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--ink-900)}.condition-msg{margin-top:var(--space-2);color:var(--text-muted);font-size:.85rem}.callout{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--ink-900);color:var(--text-muted);font-size:.875rem}.callout strong{color:var(--text)}.callout-danger{color:var(--haze-200);background:#f43f5e14;border-color:#fb718559}.callout-info{background:#2dd4bf0f;border-color:#2dd4bf40}.state-box{padding:var(--space-8);text-align:center;color:var(--text-muted)}.state-box h2{color:var(--text)}.stat-card{padding:var(--space-4)}.stat-value{font-family:var(--font-display);letter-spacing:.04em;color:var(--text);font-size:1.75rem;font-weight:700}.stat-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-top:var(--space-1);font-size:.65rem}.tag{border-radius:var(--radius-sm);background:var(--ink-700);color:var(--haze-200);font-family:var(--font-mono);padding:.1rem .4rem;font-size:.75rem;display:inline-block}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.page-intro{margin-bottom:var(--space-5);max-width:52rem}.section-gap{margin-top:var(--space-5)}.timeline{padding-left:var(--space-5);flex-direction:column;gap:0;display:flex;position:relative}.timeline:before{content:"";background:var(--border-strong);width:2px;position:absolute;top:.35rem;bottom:.35rem;left:.35rem}.timeline-item{padding:0 0 var(--space-4) var(--space-4);position:relative}.timeline-item:before{content:"";left:calc(-1 * var(--space-5) + .15rem);background:var(--accent);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.4rem;box-shadow:0 0 0 3px #34d39933}.timeline-item.muted-dot:before{background:var(--haze-400);box-shadow:none}.timeline-item.danger-dot:before{background:var(--rose-400);box-shadow:0 0 0 3px #f43f5e33}.action-node{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--ink-900)}.action-node+.action-node{margin-top:var(--space-2)}@media (width<=860px){.app-shell{grid-template-columns:1fr}.app-nav{border-right:none;border-bottom:1px solid var(--border);height:auto;position:relative}}.auth-gate{min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.auth-gate-card{width:min(420px,100%);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);text-align:center}.auth-gate-card .app-brand-mark{margin-bottom:var(--space-4)}.auth-gate-error{color:var(--tone-danger);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2);font-weight:600}.auth-gate-hint{color:var(--haze-400);margin-bottom:var(--space-4);overflow-wrap:anywhere;font-size:.875rem}.auth-gate-retry{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--tone-primary);cursor:pointer;display:inline-block}.app-nav-user{color:var(--haze-300);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.75rem;overflow:hidden}
