@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{color:#16231f;font-synthesis:none;--ink:#16231f;--paper:#f2efe7;--panel:#faf8f2;--line:#d7d4ca;--muted:#777b73;--accent:#ee5d2f;--green:#2f9a6b;background:#f2efe7;font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px}button,input,textarea{font:inherit}button{color:inherit}.loading-screen{place-content:center;justify-items:center;gap:18px;min-height:100vh;display:grid}.loading-screen p,.eyebrow,.step-label{letter-spacing:.12em;color:var(--muted);font-family:DM Mono,monospace;font-size:11px}.brand-mark{width:36px;height:36px;color:var(--paper);background:var(--ink);border-radius:4px;place-items:center;font:500 17px DM Mono,monospace;display:grid}.brand{align-items:center;gap:11px;font-size:18px;display:flex}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.auth-intro{color:#f5f1e8;background:var(--ink);flex-direction:column;justify-content:center;padding:clamp(50px,8vw,120px);display:flex;position:relative;overflow:hidden}.auth-intro:after{content:"";border:1px solid #ffffff18;border-radius:50%;width:460px;height:460px;position:absolute;bottom:-180px;right:-180px;box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff04}.auth-intro .eyebrow{color:#96a49d}.auth-intro h1{letter-spacing:-.055em;max-width:790px;margin:24px 0 32px;font-size:clamp(48px,6vw,88px);line-height:1.02}.auth-intro h1 em{color:#d9d1bf;font-family:Georgia,serif;font-weight:400}.auth-copy{color:#b9c0bb;max-width:470px;font-size:17px;line-height:1.7}.auth-signal{letter-spacing:.08em;color:#8fa098;margin-top:70px;font:11px DM Mono,monospace}.auth-signal span{background:#62d399;border-radius:50%;width:7px;height:7px;margin-right:10px;display:inline-block}.auth-panel{background:var(--paper);flex-direction:column;justify-content:space-between;padding:50px clamp(40px,7vw,100px);display:flex}.auth-panel form{max-width:440px;margin:auto 0}.auth-panel h2,.modal h2{letter-spacing:-.035em;margin:12px 0;font-size:30px}.auth-panel form>p:not(.step-label,.form-error),.modal>p:not(.eyebrow){color:var(--muted);line-height:1.6}label{letter-spacing:.08em;color:#4f5752;text-transform:uppercase;margin:28px 0 9px;font:11px DM Mono,monospace;display:block}input,textarea{width:100%;color:var(--ink);background:#fffefb;border:1px solid #c9c7be;border-radius:3px;outline:none;transition:border .15s,box-shadow .15s}input{padding:14px 15px}input:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #16231f12}.button{cursor:pointer;border:0;border-radius:3px;padding:14px 18px;font-weight:600}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:#d94d23}.button:disabled{opacity:.55;cursor:wait}.wide{justify-content:space-between;width:100%;margin-top:25px;display:flex}.form-error,.global-error{color:#b13722;font-size:13px}.app-shell{background:var(--paper);min-height:100vh}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;height:68px;padding:0 30px;display:grid}.topbar .brand-mark{width:30px;height:30px;font-size:14px}.version{color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:2px 5px;font:10px DM Mono,monospace}.server-health{letter-spacing:.1em;font:10px DM Mono,monospace}.health-dot,.status-dot{background:var(--green);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 0 3px #2f9a6b1c}.header-actions{justify-self:end;gap:22px;display:flex}.text-button,.refresh-button{cursor:pointer;color:#59615c;background:0 0;border:0;padding:5px 0;font-size:12px}.text-button:hover{color:var(--ink)}.metrics-strip{border-bottom:1px solid var(--line);background:#ebe8df;grid-template-columns:1fr 1.5fr 1.5fr .8fr;gap:0;padding:0 30px;display:grid}.metrics-strip>div{border-right:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:6px 18px;padding:15px 22px;display:grid}.metrics-strip>div:first-child{padding-left:0}.metrics-strip>div:last-child{border:0}.metrics-strip span,.container-data span{letter-spacing:.1em;color:var(--muted);font:9px DM Mono,monospace}.metrics-strip strong{justify-self:end;font:500 12px DM Mono,monospace}.metrics-strip i{background:#d1cec5;grid-column:1/-1;height:2px}.metrics-strip i b{background:var(--accent);max-width:100%;height:100%;display:block}.metrics-strip .uptime{justify-content:space-between;display:flex}.global-error{background:#fff0eb;border-bottom:1px solid #e8c6bb;margin:0;padding:10px 30px}.workspace{grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr);height:calc(100vh - 125px);display:grid}.chat-panel,.containers-panel{min-height:0}.chat-panel{border-right:1px solid var(--line);grid-template-rows:auto 1fr auto;display:grid}.containers-panel{background:#eeece5;overflow-y:auto}.section-heading{justify-content:space-between;align-items:end;padding:27px 30px 18px;display:flex}.section-heading .eyebrow{margin:0 0 6px}.section-heading h1,.section-heading h2{letter-spacing:-.04em;margin:0;font-size:28px}.section-heading h2{font-size:22px}.section-heading sup{color:var(--muted);vertical-align:super;margin-left:5px;font:10px DM Mono,monospace}.section-heading.compact{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1;background:#eeece5ef;padding-bottom:20px;position:sticky;top:0}.chat-heading-actions{align-items:center;gap:18px;display:flex}.new-conversation-button{border:1px solid var(--line);color:#59615c;cursor:pointer;background:0 0;border-radius:3px;padding:7px 10px;font:10px DM Mono,monospace}.new-conversation-button:hover{color:var(--ink);background:#fff;border-color:#8c908b}.transcript{scroll-behavior:smooth;min-height:0;padding:10px 30px 24px;overflow-y:auto}.empty-chat{text-align:center;max-width:490px;margin:8vh auto 0}.prompt-glyph{width:54px;height:54px;color:var(--accent);background:#ee5d2f10;border:1px solid #ee5d2f30;border-radius:50%;place-items:center;margin:auto;font-size:28px;display:grid}.empty-chat h2{margin:20px 0 8px;font-size:23px}.empty-chat>p{color:var(--muted);font-size:14px;line-height:1.6}.suggestions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;display:flex}.suggestions button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:20px;padding:8px 12px;font-size:11px}.suggestions button:hover{border-color:var(--ink)}.message{max-width:760px;margin:25px 0}.message.user{background:#e7e3d9;border-radius:7px 7px 1px;max-width:75%;margin-left:auto;padding:14px 17px}.message-author{letter-spacing:.11em;color:var(--muted);margin-bottom:8px;font:9px DM Mono,monospace;display:block}.message.assistant .message-author{color:var(--accent)}.message-text{overflow-wrap:anywhere;margin:5px 0;font-size:14px;line-height:1.65}.message-text>:first-child{margin-top:0}.message-text>:last-child{margin-bottom:0}.message-text p{margin:8px 0}.message-text h1,.message-text h2,.message-text h3,.message-text h4{letter-spacing:-.02em;margin:18px 0 7px;line-height:1.25}.message-text h1{font-size:21px}.message-text h2{font-size:18px}.message-text h3,.message-text h4{font-size:15px}.message-text ul,.message-text ol{margin:8px 0;padding-left:22px}.message-text li{margin:3px 0}.message-text blockquote{color:var(--muted);border-left:3px solid #d3a18f;margin:10px 0;padding:2px 0 2px 13px}.message-text code{background:#e9e6dd;border-radius:3px;padding:2px 4px;font:12px DM Mono,monospace}.message-text pre{color:#d8e2dc;background:#111b18;border-radius:4px;max-width:100%;padding:13px 15px;font:11px/1.6 DM Mono,monospace;overflow-x:auto}.message-text pre code{color:inherit;background:0 0;padding:0}.message-text table{border-collapse:collapse;max-width:100%;font-size:12px;display:block;overflow-x:auto}.message-text th,.message-text td{border:1px solid var(--line);text-align:left;padding:6px 9px}.message-text hr{border:0;border-top:1px solid var(--line);margin:15px 0}.message-text a,.container-url{color:#b74321;text-underline-offset:3px;text-decoration-color:#ee5d2f66}.message-text a:hover,.container-url:hover{color:var(--accent);text-decoration-color:currentColor}.tool-event{border:1px solid var(--line);color:#59615c;border-radius:3px;align-items:flex-start;gap:9px;max-width:520px;margin:8px 0;padding:10px 11px;font-size:12px;display:flex}.tool-event small{text-transform:uppercase;color:var(--muted);margin-left:auto;font:8px DM Mono,monospace}.tool-event.complete .tool-icon{color:var(--green)}.tool-event.failed{color:#9f3b25;border-color:#dba99a}.tool-event.approval{background:#fff9f5;border-color:#d7a899;max-width:560px}.tool-icon{margin-top:1px;font:14px/1 DM Mono,monospace}.tool-content{flex:1;min-width:0}.tool-content ul{color:var(--muted);margin:6px 0 0;padding:0;font:9px/1.55 DM Mono,monospace;list-style:none}.tool-content li{overflow-wrap:anywhere}.tool-content li:before{content:"↳ ";color:#a9ada7}.tool-content a{color:#b74321;text-underline-offset:2px}.approval-widget{color:var(--ink);border-top:1px solid #ead5cc;margin-top:10px;padding-top:10px}.approval-widget strong{font-size:12px;display:block}.approval-widget p{color:var(--muted);margin:5px 0 11px;font-size:10px;line-height:1.5}.approval-widget>div{gap:7px;display:flex}.approval-widget button{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:3px;padding:7px 12px;font:500 9px DM Mono,monospace}.approval-widget button:hover{background:#fff;border-color:#8c908b}.approval-widget button.confirm{color:#fff;background:#b74321;border-color:#b74321}.approval-widget button.confirm:hover{background:var(--accent);border-color:var(--accent)}.approval-widget button:disabled{opacity:.5;cursor:wait}.chat-error{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff0eb;padding:10px}.conversation-footer{padding-bottom:7px}.composer{background:#fffefb;border:1px solid #c7c4ba;border-radius:5px;align-items:end;margin:0 30px 8px;padding:8px;display:flex;box-shadow:0 8px 28px #19231f0c}.composer:focus-within{border-color:var(--ink)}.composer textarea{resize:none;box-shadow:none;background:0 0;border:0;padding:8px;line-height:1.45}.send-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:3px;flex:0 0 36px;width:36px;height:36px;font-size:18px}.send-button.stop{background:var(--ink);font-size:10px}.send-button:disabled{cursor:default;background:#bbb8af}.conversation-loader{visibility:hidden;color:#59615c;letter-spacing:.1em;text-transform:uppercase;grid-template-columns:auto 1fr;align-items:center;gap:10px;height:9px;margin:0 30px;font:500 9px DM Mono,monospace;display:grid}.conversation-loader.active{visibility:visible}.conversation-loader i{background:#dedbd2;height:2px;position:relative;overflow:hidden}.conversation-loader i b{inset-block:0;background:var(--accent);width:32%;animation:1.4s ease-in-out infinite conversation-progress;position:absolute;left:0}@keyframes conversation-progress{0%{transform:translate(-105%)}to{transform:translate(315%)}}.refresh-button{font-size:20px}.empty-containers{text-align:center;color:var(--muted);padding:14vh 20px}.empty-containers span{color:#d1cec5;font:42px DM Mono,monospace}.empty-containers p{color:var(--ink);margin-bottom:5px}.empty-containers small{font-size:11px}.container-card{background:var(--panel);border:1px solid var(--line);border-radius:4px;margin:0 18px 14px;padding:18px}.container-title{grid-template-columns:auto 1fr auto;align-items:start;display:grid}.container-title .status-dot{margin-top:7px}.status-dot.exited,.status-dot.created{box-shadow:none;background:#a6aaa5}.container-title h3{margin:0 0 3px;font-size:15px}.container-title p{color:var(--muted);overflow-wrap:anywhere;margin:0;font:10px DM Mono,monospace}.state-label{text-transform:uppercase;border:1px solid var(--line);border-radius:2px;padding:3px 5px;font:8px DM Mono,monospace}.container-data{border-top:1px solid #e1ded5;border-bottom:1px solid #e1ded5;grid-template-columns:1.4fr .6fr .7fr;gap:10px;margin-top:15px;padding:16px 0;display:grid}.container-data div{flex-direction:column;gap:5px;min-width:0;display:flex}.container-data strong{overflow-wrap:anywhere;font:500 10px DM Mono,monospace}.container-url{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;padding:11px 0 0;font:500 10px DM Mono,monospace;display:flex}.container-url span{flex:none;font-size:12px}.container-actions{gap:5px;padding-top:13px;display:flex}.container-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:2px;flex:1;padding:7px 3px;font-size:9px}.container-actions button:hover{background:#fff;border-color:#8c908b}.container-actions button.danger{color:#a9442c}.container-actions button:disabled{opacity:.45;cursor:wait}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101a17b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:5px;width:min(500px,100%);max-height:90vh;padding:38px;position:relative;overflow:auto;box-shadow:0 30px 80px #0004}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:26px;position:absolute;top:13px;right:17px}.logs-modal{width:min(850px,100%)}.logs-modal pre{color:#d8e2dc;white-space:pre-wrap;word-break:break-word;background:#111b18;border-radius:3px;max-height:60vh;padding:20px;font:11px/1.65 DM Mono,monospace;overflow:auto}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-intro{display:none}.auth-panel{min-height:100vh}.workspace{grid-template-columns:1fr;height:auto}.chat-panel{border-right:0;border-bottom:1px solid var(--line);height:calc(100vh - 125px)}.containers-panel{min-height:400px}}@media (width<=620px){.topbar{grid-template-columns:1fr auto;padding:0 16px}.server-health{display:none}.header-actions{gap:10px}.metrics-strip{grid-template-columns:1fr 1fr;padding:0 16px}.metrics-strip>div{border-bottom:1px solid var(--line);padding:12px 10px}.metrics-strip>div:nth-child(2){border-right:0}.workspace{display:block}.chat-panel{height:calc(100vh - 197px);min-height:560px}.section-heading,.transcript{padding-left:18px;padding-right:18px}.chat-panel>.section-heading{gap:12px}.chat-panel .section-heading h1{font-size:24px}.chat-heading-actions{gap:8px}.new-conversation-button{padding:7px 8px;font-size:9px}.composer,.conversation-loader{margin-left:18px;margin-right:18px}.message.user{max-width:88%}.auth-panel{padding:30px 24px}.modal{padding:30px 22px}}@media (prefers-reduced-motion:reduce){.conversation-loader i b{width:100%;animation:none}}
