:root{--bg: #0A0B0D;--bg-elev: #0F1114;--surface: #131519;--surface-2: #1A1D22;--surface-3: #22262D;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .15);--text: #F4F6F8;--text-body: #B4BCC7;--text-muted: #7E8794;--text-faint: #565E68;--blue-400: #6FB0FF;--blue-500: #4D9DFF;--blue-600: #2F7FE6;--blue-glow: rgba(77, 157, 255, .28);--c-blue: #4D9DFF;--c-purple: #A98BFF;--c-cyan: #4FD6DE;--c-green: #5FD08A;--c-orange: #F5A45C;--ok: #4ECB71;--warn: #F5B45C;--crit: #FF6B6B;--r-pill: 999px;--r-card: 16px;--r-input: 12px;--r-btn: 10px;--font-sans: -apple-system, "SF Pro Display", "SF Pro Text", "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Menlo", monospace;--step--1: .82rem;--step-0: .95rem;--step-1: 1.15rem;--step-2: 1.5rem;--step-3: 2.1rem;--step-4: 3.2rem;--step-5: 4.4rem;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(77,157,255,.1),transparent 60%),radial-gradient(900px 500px at -10% 10%,rgba(77,157,255,.05),transparent 55%),var(--bg);color:var(--text-body);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--blue-400);text-decoration:none}a:hover{color:var(--blue-500)}.wrap{max-width:1080px;margin:0 auto;padding:64px 28px 96px}.eyebrow{font-size:var(--step--1);letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--c-cyan);margin:0 0 18px}h1{font-size:clamp(2.6rem,6vw,var(--step-5));line-height:1.02;letter-spacing:-.03em;font-weight:800;color:var(--text);margin:0 0 20px;text-wrap:balance}h1 .hl{color:var(--blue-500)}.lede{font-size:var(--step-1);color:var(--text-muted);max-width:60ch;margin:0}h2{font-size:var(--step-2);font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0 0 4px}.note{color:var(--text-muted);font-size:var(--step--1);margin:6px 0 0}.cluster{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn{font-family:inherit;font-size:var(--step-0);font-weight:600;border-radius:var(--r-btn);padding:11px 20px;cursor:pointer;border:1px solid transparent;transition:transform .08s ease,background .15s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue-500);color:#06121f;box-shadow:0 6px 24px -8px var(--blue-glow)}.btn-primary:hover{background:var(--blue-400)}.btn-ghost{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--surface-3)}.btn-quiet{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-quiet:hover{color:var(--text);border-color:var(--border-strong)}.btn-danger{background:transparent;color:var(--crit);border-color:#ff6b6b66}.btn-danger:hover{background:#ff6b6b1a}.btn:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.field{display:flex;flex-direction:column;gap:8px;max-width:460px}.field label{font-size:var(--step--1);color:var(--text-muted);font-weight:500}.input,.select{font-family:inherit;font-size:var(--step-0);color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-input);padding:12px 15px;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--text-faint)}.input:focus,.select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-glow)}.search{position:relative;max-width:560px}.search .input{padding-left:42px}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.pill{display:inline-flex;align-items:center;gap:7px;font-size:var(--step--1);font-weight:600;padding:6px 13px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-body);border:1px solid var(--border)}.pill.tag{color:var(--blue-400)}.gpill{display:inline-flex;align-items:center;gap:8px;font-size:var(--step--1);font-weight:600;padding:8px 16px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--gc) 12%,transparent);color:var(--gc);border:1px solid color-mix(in srgb,var(--gc) 55%,transparent);box-shadow:0 0 18px -4px color-mix(in srgb,var(--gc) 45%,transparent)}.dot{width:8px;height:8px;border-radius:50%;background:currentColor}.status{display:inline-flex;align-items:center;gap:8px;font-size:var(--step--1);font-weight:600}.status .led{width:9px;height:9px;border-radius:50%;position:relative}.st-queued{color:var(--text-muted)}.st-queued .led{background:var(--text-muted)}.st-running{color:var(--blue-400)}.st-running .led{background:var(--blue-500);box-shadow:0 0 0 0 var(--blue-glow);animation:pulse 1.6s infinite}.st-done{color:var(--ok)}.st-done .led{background:var(--ok)}.st-error{color:var(--crit)}.st-error .led{background:var(--crit)}.st-blocked{color:var(--warn)}.st-blocked .led{background:var(--warn)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--blue-glow)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion: reduce){.st-running .led{animation:none}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:22px;display:flex;flex-direction:column;gap:14px;transition:border-color .15s ease,transform .12s ease}.card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.card .ctype{display:flex;align-items:center;justify-content:space-between;gap:12px}.card h3{margin:0;font-size:var(--step-1);font-weight:700;color:var(--blue-500);letter-spacing:-.01em}.card p{margin:0;color:var(--text-body);font-size:var(--step--1);line-height:1.55}.card .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--border);margin-top:2px}.card .meta{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.8rem}.agent{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted)}.agent b{color:var(--text);font-weight:600}.run-meta{display:flex;flex-direction:column;gap:6px}.run-times{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--surface)}.lrow{display:grid;grid-template-columns:1fr auto auto auto;gap:18px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.lrow:last-child{border-bottom:none}.lrow:hover{background:var(--bg-elev)}.lrow .title{color:var(--text);font-weight:600;font-size:var(--step-0)}.lrow .sub{color:var(--text-muted);font-size:.8rem}.due{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.mono{font-family:var(--font-mono)}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}.stack{display:flex;flex-direction:column;gap:16px}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:36px 34px;box-shadow:0 24px 70px -30px #000000b3,0 0 60px -20px var(--blue-glow)}.auth-head{margin-bottom:26px}.auth-head h1{font-size:var(--step-3);line-height:1.05;margin:10px 0 0}.auth-head .lede{font-size:var(--step-0);margin-top:10px}.auth-card .field{max-width:none}.otp-input{font-family:var(--font-mono);font-size:var(--step-2);letter-spacing:.4em;text-align:center;padding:14px 15px}.otp-input::placeholder{letter-spacing:.4em}.secret-row{display:flex;gap:8px;align-items:stretch}.secret-value{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.08em;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-input);padding:12px 14px;overflow-wrap:anywhere;display:flex;align-items:center}.btn-copy{flex:0 0 auto;white-space:nowrap}.qr-frame{align-self:center;background:#f4f6f8;border-radius:14px;padding:14px;line-height:0;box-shadow:0 0 0 1px var(--border)}.qr-frame canvas{display:block;border-radius:4px}.steps{margin:0;padding:0;list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:6px}.steps li{counter-increment:step;position:relative;padding-left:30px;color:var(--text-body);font-size:var(--step--1);line-height:1.5}.steps li:before{content:counter(step);position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--blue-400);font-size:.72rem;font-weight:700;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center}.link-btn{background:none;border:none;padding:0;font:inherit;font-size:var(--step--1);color:var(--blue-400);cursor:pointer}.link-btn:hover{color:var(--blue-500)}.link-btn:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px;border-radius:4px}.notice{display:flex;align-items:flex-start;gap:8px;font-size:var(--step--1);line-height:1.5}.notice .led{margin-top:6px;flex:0 0 auto}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1080px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:12px;height:12px;border-radius:50%;background:var(--blue-500);box-shadow:0 0 16px -2px var(--blue-glow)}.brand-name{font-weight:800;letter-spacing:-.01em;color:var(--text)}.brand-sub{font-size:var(--step--1);color:var(--text-faint);letter-spacing:.02em}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.empty{margin-top:20px;padding:34px 24px;border:1px dashed var(--border-strong);border-radius:var(--r-card);background:var(--bg-elev);display:flex;justify-content:center}.composer{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:22px;display:flex;flex-direction:column;gap:16px}.composer-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.composer-prompt{resize:vertical;min-height:76px;line-height:1.5;font-family:inherit}.composer-types{display:flex;flex-wrap:wrap;gap:10px}.tpick{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:var(--step--1);font-weight:600;padding:8px 16px;border-radius:var(--r-pill);cursor:pointer;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.tpick:hover{color:var(--text);border-color:var(--border-strong)}.tpick .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.55}.tpick[aria-pressed=true]{background:color-mix(in srgb,var(--gc) 12%,transparent);color:var(--gc);border-color:color-mix(in srgb,var(--gc) 55%,transparent);box-shadow:0 0 18px -4px color-mix(in srgb,var(--gc) 45%,transparent)}.tpick[aria-pressed=true] .dot{opacity:1}.tpick:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.composer-row{display:flex;flex-wrap:wrap;gap:16px}.composer-row>.field{flex:1;min-width:200px}.subtle-panel{border:1px solid var(--border);border-radius:var(--r-input);background:var(--bg-elev);padding:16px;display:flex;flex-direction:column;gap:14px}.panel-label{font-size:var(--step--1);color:var(--text-muted);font-weight:600}.panel-label .req{color:var(--c-orange)}.cron-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}.cron-out{font-family:var(--font-mono);font-size:.8rem;color:var(--c-cyan)}.hint{color:var(--text-faint);font-size:.8rem}.task-card{cursor:pointer}.task-card:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;animation:fade-in .15s ease}.drawer{width:min(560px,100%);height:100%;overflow-y:auto;background:var(--bg-elev);border-left:1px solid var(--border-strong);box-shadow:-30px 0 80px -30px #000c;animation:slide-in .2s ease}@keyframes fade-in{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(24px);opacity:.4}}@media (prefers-reduced-motion: reduce){.drawer-backdrop,.drawer{animation:none}}.drawer-head{position:sticky;top:0;background:color-mix(in srgb,var(--bg-elev) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-body{padding:22px;display:flex;flex-direction:column;gap:22px}.drawer-title{margin:0;font-size:var(--step-2);color:var(--text)}.meta-line{font-size:.78rem;color:var(--text-muted);margin-top:-12px}.drawer-section{display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:1px solid var(--border)}.drawer-kicker{margin:0;font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.drawer-text{margin:0;color:var(--text-body);font-size:var(--step-0);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.result-block{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-input);padding:14px 16px;color:var(--text-body);font-family:var(--font-mono);font-size:.82rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto}.result-error{color:var(--crit);border-color:#ff6b6b59;background:#ff6b6b0f}.thread{display:flex;flex-direction:column;gap:12px}.msg{border:1px solid var(--border);border-radius:var(--r-input);padding:12px 14px;background:var(--surface)}.msg-role{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-weight:700;margin-bottom:6px}.msg-content{color:var(--text-body);font-size:var(--step--1);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.msg-user{border-left:2px solid var(--blue-500)}.msg-assistant{border-left:2px solid var(--c-green)}
