@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;700;800&display=swap";:root{color:#1a1e2e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 100% 0,#16a34a3d 0,#0000 42%),radial-gradient(circle at 0 100%,#2563eb2e 0,#0000 39%),radial-gradient(circle at 55% 45%,#7c3aed17 0,#0000 38%),linear-gradient(170deg,#f3fff9 0%,#eaf1ff 50%,#f6f2ff 100%);font-family:Outfit,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}.shell{width:min(1120px,100%);margin:0 auto;padding:28px 16px 52px;animation:.35s ease-out fadeUp}.heading{margin-bottom:22px}.app-shell{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.header-meta{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.tag{letter-spacing:.08em;text-transform:uppercase;color:#0f766e;margin:0;font-size:12px;font-weight:700}.heading h1{margin:6px 0;font-size:clamp(30px,4vw,48px)}.subtitle{color:#3f4761;margin:0}.saved-job-link{color:#1d4ed8;background:#eff6ff;border:1px solid #9ec5ff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;text-decoration:none}.main-nav{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.route-rail{background:#ffffffbd;border:1px solid #d5ddef;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;padding:10px;display:grid}.rail-node{border:1px dashed #d4d9e9;border-radius:12px;grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:10px;display:grid}.rail-node.active{background:#f0fdfa;border-style:solid;border-color:#0f766e}.rail-index{color:#1e293b;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:inline-flex}.rail-node.active .rail-index{color:#fff;background:#0f766e}.rail-title{margin:0;font-size:13px;font-weight:700}.rail-description{color:#4b5563;margin:2px 0 0;font-size:12px}.nav-pill{color:#334155;background:#ffffffb8;border:1px solid #c8d6f2;border-radius:999px;padding:9px 14px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s}.nav-pill.active{color:#f0fffc;background:linear-gradient(135deg,#0f766e,#155e75);border-color:#0f766e}.nav-pill:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f766e2e}.page{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd1;border:1px solid #d3dbef;border-radius:20px;padding:20px;box-shadow:0 18px 32px #12244a1c}.page-header{margin-bottom:18px}.page-header.compact h1{font-size:clamp(28px,3.6vw,38px)}.timeline-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;padding:0;display:grid}.timeline-card{background:#f9fbff;border:1px solid #d6dff3;border-radius:14px;padding:14px}.timeline-step{color:#0369a1;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.timeline-card h2{margin:8px 0;font-size:22px}.timeline-card p{color:#3d4866;margin:0}.ops-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.ops-card{background:linear-gradient(#fff,#f8fbff);border:1px solid #d6dff3;border-radius:12px;padding:12px}.ops-card h3{margin:0 0 6px;font-size:15px}.ops-card p{color:#42506f;margin:0;font-size:13px}.panel{background:linear-gradient(#f9fbff 0%,#f5f8ff 100%);border:1px solid #d3ddf4;border-radius:14px;padding:14px}.create-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:14px;display:grid}.preview-column{gap:12px;display:grid}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.page-actions .action-btn,.page-actions .ghost-btn{min-height:44px;padding-inline:16px}.quick-start-card{margin-bottom:16px}.quick-list{color:#334155;gap:8px;margin:0;padding-left:18px;font-size:14px;display:grid}.inline-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.stack{gap:10px;display:grid}.muted-note{color:#4b5563;margin:0;font-size:13px}label{gap:6px;font-size:14px;font-weight:700;display:grid}input,select,button{font:inherit}input,select{background:#fff;border:1px solid #c4d0e8;border-radius:10px;width:100%;padding:10px 12px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #38bdf82e}button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e,#155e75);border:none;border-radius:10px;padding:11px 14px;font-weight:700;transition:transform .2s,box-shadow .2s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #0f766e33}button:disabled{opacity:.65;cursor:wait}.action-btn,.ghost-btn{border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;transition:transform .2s;display:inline-flex}.action-btn{color:#fff;background:linear-gradient(135deg,#0f766e,#155e75);border:1px solid #155e75}.ghost-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd}.action-btn:hover,.ghost-btn:hover{transform:translateY(-1px)}.ghost-btn:hover{box-shadow:0 8px 18px #1d4ed824}.result-box{background:#f8faff;border:1px solid #d3ddf4;border-radius:12px;margin-top:12px;padding:12px}.empty-state{background:#f8fbff;border:1px dashed #c4d2ee;border-radius:12px;margin-top:12px;padding:10px 12px}.preview-box{background:#fff;border:1px solid #d7dff4;border-radius:12px;margin-top:12px;padding:12px}.preview-box h3{margin:0 0 10px;font-size:14px}.preview-box pre{white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:0;padding:10px;font-size:12px;line-height:1.45}.status-timeline{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.status-headline{background:#fff;border:1px solid #d7dff4;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;display:flex}.status-headline p{color:#334155;margin:0;font-size:13px}.timeline-pill{color:#475569;border:1px dashed #c9d4ea;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.timeline-pill.active{color:#065f46;background:#ecfdf5;border-style:solid;border-color:#0f766e}.result-box h3{margin:0 0 10px;font-size:14px}.details-grid{gap:10px;margin:0;display:grid}.details-grid div{gap:4px;display:grid}.details-grid dt{text-transform:uppercase;letter-spacing:.05em;color:#374665;font-size:12px;font-weight:700}.details-grid dd{color:#0f172a;background:#fff;border:1px solid #d2def4;border-radius:8px;margin:0;padding:8px;font-size:13px}.status-badge{letter-spacing:.04em;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-waiting,.status-active{color:#1e3a8a;background:#dbeafe}.status-completed{color:#065f46;background:#d1fae5}.status-failed{color:#991b1b;background:#fee2e2}.hint{color:#334155;margin:10px 0 0;font-size:13px}.live-hint{align-items:center;gap:8px;display:inline-flex}.live-dot{background:#16a34a;border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse;box-shadow:0 0 #16a34a80}.summary-strip{background:#fff;border:1px solid #d7dff4;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;padding:10px;display:grid}.summary-strip p{color:#6b7280;margin:0;font-size:12px}.summary-strip strong{color:#0f172a;font-size:14px}.outcome-banner{border:1px solid #0000;border-radius:10px;margin-bottom:10px;padding:10px 12px}.outcome-banner p{margin:0}.outcome-completed{color:#166534;background:#ecfdf3;border-color:#86efac}.outcome-failed{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.outcome-waiting,.outcome-active{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd}.details-grid .multiline{white-space:pre-wrap;word-break:break-word;max-height:320px;line-height:1.45;overflow:auto}.error{color:#b91c1c;margin-top:10px;font-weight:600}@media (width<=860px){.app-shell{flex-direction:column}.header-meta{align-items:flex-start}.route-rail,.timeline-grid,.ops-grid,.create-layout,.summary-strip{grid-template-columns:1fr}.page{padding:16px}.page-actions{flex-direction:column}.page-actions .action-btn,.page-actions .ghost-btn{width:100%}}@keyframes pulse{0%{box-shadow:0 0 #16a34a73}70%{box-shadow:0 0 0 10px #16a34a00}to{box-shadow:0 0 #16a34a00}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
