@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#16243a;background:#eef2f7;font-synthesis:none;--navy:#0c223e;--navy2:#15385f;--orange:#f77702;--line:#dce4ee;--muted:#64748b;--bg:#f7f9fc;--green:#15803d;--red:#b91c1c;--amber:#b45309}*{box-sizing:border-box}body{margin:0;min-width:320px;height:100vh;overflow:hidden}.shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{height:70px;background:#081a31;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #183452}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-family:Manrope;font-size:15px}.brand small{display:block;color:#8ca0ba;font-size:11px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(145deg,var(--orange),#ff9a38);color:#fff;font-weight:800;box-shadow:0 8px 20px #f7770240}.brand-mark.large{width:52px;height:52px;margin:auto}.env-pill{font-size:12px;color:#bfcee0;background:#102944;border:1px solid #294867;padding:8px 12px;border-radius:999px;display:flex;align-items:center;gap:8px}.env-pill span{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80}.workspace{display:grid;grid-template-columns:260px minmax(420px,1fr) 390px;gap:1px;background:#dbe3ed;flex:1;min-height:0;overflow:hidden}.panel{background:var(--bg);min-width:0;min-height:0}.left{padding:18px 12px;overflow-y:auto;overflow-x:hidden}.right{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#fff;border-left:1px solid var(--line)}.center{display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-head{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 6px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#718096;font-weight:700}.tag{font-size:9px;background:#e7edf5;border-radius:99px;padding:3px 7px}.project,.job{width:100%;border:0;background:transparent;display:flex;gap:11px;align-items:center;text-align:left;padding:10px;border-radius:9px;color:#26364b;cursor:pointer}.project:hover,.job:hover{background:#edf2f8}.project.active,.job.active{background:#e5edf8}.project strong,.job strong{display:block;font-size:12px}.project small,.job small{display:block;color:#758399;font-size:10px;margin-top:2px}.project-icon{display:grid;place-items:center;width:31px;height:31px;background:#fff;border:1px solid var(--line);border-radius:8px;font-weight:800;color:var(--navy2);font-size:12px}.section-title{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8390a3;margin:22px 8px 7px}.job{padding:9px 8px}.status-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex:0 0 auto}.status-dot.success{background:#22c55e}.status-dot.review{background:#f59e0b}.status-dot.danger{background:#ef4444}.guardrail{margin:22px 6px 4px;padding:13px;background:#fff8ed;border:1px solid #f6d7a5;border-radius:10px;font-size:11px;color:#7b4f13}.guardrail p{line-height:1.45;margin:6px 0 0}.preview-head{height:83px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);background:#fff}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8b98aa}.preview-head h1{font-family:Manrope;font-size:19px;margin:3px 0 0}.viewport-toggle,.actions{display:flex;gap:7px}.viewport-toggle{border:1px solid var(--line);padding:3px;border-radius:8px;background:#f4f6f9}.viewport-toggle button{border:0;background:transparent;padding:6px 10px;border-radius:5px;font-size:11px;color:#667085}.viewport-toggle button.active{background:#fff;box-shadow:0 1px 4px #2130471c;color:#16243a}.preview-stage{padding:24px;background:#e8edf3;flex:1;min-height:0;display:flex;align-items:flex-start;justify-content:center;overflow:auto}.preview-card{width:100%;max-width:920px;background:#fff;border-radius:14px;padding:30px;border:1px solid #dce4ee;box-shadow:0 12px 35px #27415b14}.preview-stage.mobile .preview-card{max-width:390px}.preview-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);font-weight:700}.preview-card h2{font-family:Manrope;font-size:24px;line-height:1.25;margin:8px 0}.preview-card>p{color:#5f6e82;margin:0 0 22px}.preview-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}.preview-facts div{padding:14px;border-right:1px solid var(--line)}.preview-facts div:last-child{border-right:0}.preview-facts small,.preview-facts strong{display:block}.preview-facts small{font-size:10px;text-transform:uppercase;color:#8793a4;letter-spacing:.08em;margin-bottom:5px}.preview-facts strong{font-size:12px;line-height:1.4}.notice{margin-top:16px;padding:11px 13px;background:#edf7f0;border:1px solid #cce7d3;color:#27633a;border-radius:8px;font-size:11px}.right>.panel-head{padding:15px 16px 8px}.status{padding:4px 7px;border-radius:99px;background:#eef2f6;color:#536175;font-size:9px}.status.success{background:#dcfce7;color:#166534}.status.review{background:#fef3c7;color:#92400e}.status.danger{background:#fee2e2;color:#991b1b}.job-title{padding:5px 16px 0}.job-title h2{font-family:Manrope;font-size:16px;margin:0}.job-title small{font-size:10px;color:#8994a5}.summary{font-size:12px;line-height:1.5;color:#536175;padding:0 16px}.subsection{padding:10px 16px;border-top:1px solid #edf0f4}.subsection h3{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#7a8799;margin:0 0 8px}.subsection code{display:block;background:#f2f5f8;padding:7px;border-radius:5px;margin:5px 0;font-size:10px}.muted{font-size:11px;color:#8995a6}.test{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:7px;font-size:11px;padding:4px 0}.test small{font-size:9px;color:#8793a4}.test-status{width:7px;height:7px;border-radius:50%;background:#94a3b8}.test-status.passed{background:#22c55e}.test-status.failed{background:#ef4444}.test-status.blocked{background:#f59e0b}.risk{font-size:10px;line-height:1.4;color:#7a4c12;background:#fff8ed;border-left:2px solid #f59e0b;padding:7px 9px;margin:5px 0}.actions{padding:14px 16px;border-top:1px solid var(--line)}.actions button{flex:1}.actions button:disabled{opacity:.5;cursor:not-allowed}.chat-section{margin-top:auto;border-top:1px solid var(--line);display:flex;flex-direction:column;min-height:315px}.chat-section .panel-head{padding:13px 16px 8px}.chat-log{padding:0 16px 12px;overflow:auto;flex:1;max-height:280px}.message{font-size:11px;line-height:1.5;padding:10px 11px;border-radius:10px;margin-bottom:8px}.message.assistant{background:#eef4fb;color:#30445d}.message.user{background:#e5edf8;color:#173557;margin-left:25px}.composer{border-top:1px solid var(--line);padding:10px}.composer textarea{width:100%;resize:none;height:54px;border:1px solid var(--line);border-radius:8px;padding:9px;font:inherit;font-size:11px;outline:none}.composer textarea:focus{border-color:#8fb3da}.composer-actions{display:flex;align-items:center;justify-content:space-between;margin-top:7px}.composer-actions span{font-size:8px;color:#96a1b0}.composer-actions button,.primary{border:0;background:var(--orange);color:#fff;padding:8px 13px;border-radius:7px;font-weight:700;font-size:11px}.secondary{border:1px solid #29415f;background:transparent;color:#d9e3ef;padding:7px 11px;border-radius:7px;font-size:11px}.signed-out{min-height:100vh;display:grid;place-items:center;background:#081a31;color:#fff;text-align:center}.signed-out h1{font-family:Manrope}.signed-out p{color:#aebed0;max-width:440px}.signed-out .primary{margin-top:15px}@media(max-width:1100px){.workspace{grid-template-columns:220px 1fr 340px}.preview-facts{grid-template-columns:1fr}.preview-facts div{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:820px){.workspace{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow-y:auto}.left{max-height:180px;flex:0 0 auto}.right,.center{min-height:420px}.env-pill{display:none}}.preview-stage{display:flex;align-items:stretch;justify-content:center;overflow:auto;padding:0;background:#e8edf3;flex:1 1 auto;min-height:0}.preview-frame-wrap{width:100%;height:100%;min-height:0;display:flex;align-items:flex-start;justify-content:center;background:#e8edf3;overflow:auto}.preview-frame-wrap.mobile{padding:18px 0}.preview-frame{width:1440px;height:900px;min-height:0;border:0;background:#fff;display:block;transform-origin:top left;transform:scale(var(--preview-scale,1));box-shadow:0 10px 34px #21304726}.preview-frame-wrap.mobile .preview-frame{width:390px;height:844px;border-radius:14px;box-shadow:0 14px 40px #2130472b}.preview-placeholder{display:grid;place-items:center;gap:10px;margin:auto;text-align:center;padding:40px;color:#5f6e82}.preview-placeholder p{margin:0;font-size:12px;max-width:420px}.preview-placeholder.error strong{color:#991b1b;font-family:Manrope}.preview-placeholder .primary{margin-top:6px}.spinner{width:22px;height:22px;border:2px solid #d3dde9;border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-meta{display:grid;grid-template-columns:repeat(4,1fr);flex:0 0 auto;border-top:1px solid var(--line);background:#fff}.preview-meta div{padding:11px 16px;border-right:1px solid var(--line)}.preview-meta div:last-child{border-right:0}.preview-meta small,.preview-meta strong{display:block}.preview-meta small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8793a4;margin-bottom:4px}.preview-meta strong{font-size:11px;line-height:1.35;color:#26364b;overflow-wrap:anywhere}.build-status{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid var(--line);background:#f8fafc;flex:0 0 auto}.build-status>div{flex:1 1 auto;min-width:0}.build-status strong{display:block;font-size:11px;color:#26364b;font-weight:700}.build-status small{display:block;font-size:9px;color:#8793a4;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.build-status .build-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;flex:0 0 auto}.build-status.busy .build-dot{background:#f59e0b;animation:pulse-dot 1.2s ease-in-out infinite}.build-status.error .build-dot{background:#dc2626}.build-status.error .build-error{color:#b91c1c}.build-status .link-btn{flex:0 0 auto}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.tag.ok{background:#dcfce7;color:#166534}.tag.warn{background:#fef3c7;color:#92400e}.composer-actions button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1100px){.preview-meta{grid-template-columns:1fr 1fr}}.auth-shell{min-height:100vh;display:grid;place-items:center;background:#081a31;padding:24px}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:34px 30px;box-shadow:0 24px 60px #040c1826;text-align:center}.auth-card h1{font-family:Manrope;font-size:20px;margin:16px 0 6px}.auth-hint{font-size:12px;color:#64748b;margin:0 0 20px;line-height:1.5}.auth-card form{text-align:left;display:flex;flex-direction:column;gap:6px}.auth-card label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a8799;font-weight:700;margin-top:10px}.auth-card input{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;font:inherit;font-size:13px;outline:none;background:#fbfcfe}.auth-card input:focus{border-color:#8fb3da;background:#fff}.auth-card button.primary{width:100%;margin-top:18px;padding:11px 13px;font-size:12px}.auth-card button.primary:disabled{opacity:.6;cursor:not-allowed}.auth-link{background:none;border:0;color:var(--navy2);font:inherit;font-size:11px;text-decoration:underline;cursor:pointer;margin-top:16px}.auth-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:10px 12px;font-size:11px;text-align:left;margin-bottom:14px}.auth-notice{background:#dcfce7;border:1px solid #bbf7d0;color:#166534;border-radius:8px;padding:10px 12px;font-size:11px;text-align:left;margin-bottom:14px}.workspace{grid-template-columns:300px minmax(420px,1fr) 430px}.right{background:#fff}.chat-section{display:flex;flex-direction:column;height:100%;min-height:0;border-top:0;overflow:hidden}.chat-head{padding:16px 18px 10px;align-items:center;flex:0 0 auto}.chat-head-actions{display:flex;align-items:center;gap:8px}.link-btn{border:0;background:transparent;color:var(--navy2);font:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;cursor:pointer;padding:3px 6px;border-radius:5px}.link-btn:hover{background:#eef2f8}.chat-thread-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 18px 10px;border-bottom:1px solid #edf0f4;flex:0 0 auto}.chat-thread-title strong{font-size:12px;color:#26364b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread-title span{font-size:10px;color:#96a1b0;flex:0 0 auto}.chat-log{padding:14px 18px;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0;max-height:none;overscroll-behavior:contain}.message{font-size:12px;line-height:1.55;padding:10px 12px;border-radius:11px;margin-bottom:9px;position:relative}.message.user{background:#e5edf8;color:#173557;margin-left:38px}.message.assistant{background:#eef4fb;color:#30445d;margin-right:18px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.message-time{display:block;font-size:9px;color:#8c99ab;margin-top:4px}.message.user .message-time{text-align:right}.message.typing{display:flex;gap:4px;align-items:center;padding:13px 14px}.message.typing .typing-label{font-size:10px;color:#7d8ca3;margin-left:6px}.message.typing .dot{width:6px;height:6px;border-radius:50%;background:#8fa3bd;animation:chat-bounce 1.2s infinite ease-in-out}.message.typing .dot:nth-child(2){animation-delay:.18s}.message.typing .dot:nth-child(3){animation-delay:.36s}@keyframes chat-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.thread-list{border-bottom:1px solid var(--line);background:#fbfcfe;padding:10px 12px;max-height:240px;overflow-y:auto;flex:0 0 auto}.thread-list-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#718096;font-weight:700;padding:0 6px 7px}.thread-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 9px;border-radius:8px;cursor:pointer}.thread-item:hover{background:#eef2f8}.thread-item.active{background:#e5edf8}.thread-item strong{display:block;font-size:11px;color:#26364b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item small{display:block;font-size:9px;color:#8995a6;margin-top:2px}.thread-empty{padding:4px 9px}.composer{border-top:1px solid var(--line);padding:12px 18px 14px;background:#fff;flex:0 0 auto;margin-top:auto}.composer textarea{height:62px;font-size:12px;padding:10px 11px}.composer-actions{margin-top:8px}.composer-actions span{font-size:9px}.composer-actions button,.primary{padding:9px 16px;font-size:12px}@media(max-width:1100px){.workspace{grid-template-columns:240px 1fr 380px}}.deploy-panel{margin:0 6px}.deploy-target{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;margin-bottom:7px;cursor:pointer}.deploy-target:hover{border-color:#b9cde3}.deploy-target.active{border-color:var(--orange);background:#fff8f2}.deploy-target input{margin-top:2px;accent-color:var(--orange)}.deploy-target strong{display:block;font-size:11px;color:#26364b}.deploy-target small{display:block;font-size:9px;color:#8390a3;margin-top:2px;word-break:break-all}.publish-btn{width:100%;border:0;background:var(--orange);color:#fff;padding:10px;border-radius:8px;font-weight:700;font-size:11px;cursor:pointer;margin-top:3px}.publish-btn:hover:not(:disabled){background:#e56902}.publish-btn:disabled{opacity:.55;cursor:not-allowed}.deploy-note{display:block;line-height:1.45;margin:8px 2px 0}.deploy-message{margin:10px 0 0;padding:9px 11px;border-radius:8px;font-size:10px;line-height:1.45}.deploy-message.ok{background:#edf7f0;border:1px solid #cce7d3;color:#27633a}.deploy-message.busy{background:#eef4fb;border:1px solid #cddff5;color:#2b4a70}.deploy-message.error{background:#fdeeee;border:1px solid #f2caca;color:#93262a}.section-title.small{font-size:9px;margin:16px 2px 5px}.trail-row{display:flex;align-items:flex-start;gap:8px;padding:6px 2px;font-size:10px}.trail-row span:nth-child(2){flex:1;min-width:0}.trail-row strong{display:block;font-weight:600;color:#33445b;line-height:1.35}.trail-row small{display:block;color:#8995a6;font-size:9px;margin-top:2px}.trail-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8;flex:0 0 auto;margin-top:4px}.trail-dot.ok{background:#22c55e}.trail-dot.error{background:#ef4444}.link-btn{border:0;background:transparent;color:var(--orange);font-size:9px;font-weight:700;cursor:pointer;padding:2px 4px;flex:0 0 auto}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:not-allowed}.deploy-destinations{margin:8px 0 0;padding:8px 10px;background:#f4f7fb;border:1px solid var(--line);border-radius:8px}.deploy-destination{display:block;font-size:9px;color:#5b6b80;line-height:1.4}.deploy-destination+.deploy-destination{margin-top:4px}.deploy-destination small{display:block;font-size:8px;color:#93a0b2;word-break:break-all}
