@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,select{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{object-fit:contain;width:48px;height:32px;display:block}.loading-screen .brand-mark{width:72px;height:48px}.brand{align-items:center;gap:11px;font-size:18px;display:flex}.auth-shell{background:var(--paper);grid-template-columns:minmax(0,1.62fr) minmax(430px,1fr);min-height:100vh;display:grid}.auth-intro{background:var(--paper);border-right:1px solid var(--line);flex-direction:column;min-width:0;padding:clamp(36px,4.2vw,68px) clamp(42px,6vw,96px) clamp(30px,3.5vw,54px);display:flex;position:relative;overflow:hidden}.auth-cloud-outline{z-index:0;fill:none;width:min(720px,72vw);stroke:var(--ink);stroke-width:1.2px;opacity:.035;pointer-events:none;position:absolute;bottom:-110px;left:-190px}.auth-brand,.auth-story,.auth-benefits{z-index:1;position:relative}.auth-brand{letter-spacing:-.02em;font-size:17px}.auth-brand .brand-mark{width:42px;height:30px}.auth-story{width:min(100%,690px);margin:clamp(34px,5vh,64px) auto 30px}.auth-intro h1{color:#171714;letter-spacing:-.058em;margin:0;font-size:clamp(48px,4.8vw,72px);font-weight:600;line-height:.99}.auth-intro h1 span{color:var(--accent)}.auth-copy{color:#6f6b62;max-width:570px;margin:24px 0 0;font-size:clamp(16px,1.3vw,19px);line-height:1.55}.product-preview{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(100%,570px);margin-top:clamp(28px,4vh,42px);overflow:hidden;box-shadow:0 10px 30px #14140f0a}.preview-message{padding:18px 22px}.preview-message>span{color:#9a958a;letter-spacing:.1em;margin-bottom:8px;font:500 10px DM Mono,monospace;display:block}.preview-message>strong{font-size:14px;font-weight:600}.preview-user{background:#f6f3ec;border-bottom:1px solid #e2ddd3}.preview-halfcloud{padding-top:16px}.preview-halfcloud>span{color:var(--accent)}.preview-halfcloud>strong,.preview-halfcloud li,.preview-url{opacity:0;animation:.35s forwards preview-reveal;transform:translateY(6px)}.preview-halfcloud>strong{animation-delay:.5s;display:block}.preview-halfcloud ul{color:#656159;grid-template-columns:1fr 1fr;gap:7px 20px;margin:15px 0 17px;padding:0;font-size:12px;list-style:none;display:grid}.preview-halfcloud li:before{content:"✓";color:#3f8064;margin-right:8px;font-weight:700}.preview-halfcloud li:first-child{animation-delay:.9s}.preview-halfcloud li:nth-child(2){animation-delay:1.2s}.preview-halfcloud li:nth-child(3){animation-delay:1.5s}.preview-halfcloud li:nth-child(4){animation-delay:1.8s}.preview-url{color:#a94425;border-top:1px solid #ece8df;justify-content:space-between;align-items:center;padding-top:13px;font:500 11px DM Mono,monospace;animation-delay:2.2s;display:flex}.preview-url svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}@keyframes preview-reveal{to{opacity:1;transform:translateY(0)}}.auth-benefits{color:#6f6b62;flex-wrap:wrap;gap:12px 32px;margin-top:auto;font-size:11px;display:flex}.auth-benefits span:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;margin:0 9px 2px 0;display:inline-block}.auth-panel{background:var(--paper);justify-content:center;min-width:0;padding:clamp(34px,4.5vw,72px);display:flex}.auth-panel-inner{flex-direction:column;justify-content:center;width:min(100%,420px);display:flex}.auth-mobile-brand{display:none}.auth-panel form{width:100%}.auth-panel h2{letter-spacing:-.045em;margin:11px 0;font-size:34px}.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:#6f6b62;line-height:1.55}.instance-card{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;margin:25px 0 24px;padding:14px 15px;display:grid}.instance-icon{width:38px;height:38px;color:var(--accent);background:#fce6de;border-radius:9px;place-items:center;display:grid}.instance-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.instance-card div:nth-child(2){min-width:0}.instance-card span:not(.instance-status){color:#9a958a;letter-spacing:.08em;margin-bottom:3px;font:500 9px DM Mono,monospace;display:block}.instance-card strong,.instance-card small{color:#35332e;text-overflow:ellipsis;white-space:nowrap;font:500 11px DM Mono,monospace;display:block;overflow:hidden}.instance-card small{color:#77736b;margin-top:3px;font-size:10px}.instance-status{background:#3f8064;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #3f806418}.auth-panel .access-explanation{margin:0 0 24px;font-size:13px}.auth-panel label{margin-top:0}.auth-panel #access-code{border-color:var(--line);letter-spacing:.08em;text-transform:uppercase;background:#fff;border-radius:11px;height:56px;padding:0 16px;font:500 16px DM Mono,monospace}.auth-panel #access-code:focus{border-color:var(--accent);box-shadow:0 0 0 4px #ee5d2f1a}.auth-panel #access-code.input-error{border-color:#b8462f;box-shadow:0 0 0 3px #b8462f12}.auth-panel .form-error{color:#a53e29;margin:8px 0 -7px;line-height:1.45}.auth-submit{border-radius:11px;align-items:center;min-height:54px;margin-top:20px;transition:background .17s,transform .17s}.auth-submit:not(:disabled):hover{background:#d94e24;transform:translateY(-1px)}.auth-submit svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.login-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.auth-help{border-top:1px solid var(--line);color:#77736b;margin-top:25px;padding-top:21px;font-size:12px;line-height:1.55}.auth-help p{margin:0 0 8px}.auth-help strong{color:#3d3a34}.auth-help code{color:#514d46;white-space:nowrap;background:#ebe7de;border-radius:7px;padding:9px 11px;font:9px DM Mono,monospace;display:block;overflow-x:auto}.auth-trust{color:#9a958a;align-items:center;gap:8px;margin:22px 0 0;font-size:10px;display:flex}.auth-trust svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}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}select{width:100%;color:var(--ink);background:#fffefb;border:1px solid #c9c7be;border-radius:3px;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:38px;height:26px}.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}.active-model{border:1px solid var(--line);color:#59615c;background:#fffefb;border-radius:3px;align-items:center;gap:7px;min-width:0;padding:4px 8px;font:9px DM Mono,monospace;display:flex}.active-model img{object-fit:contain;flex:0 0 17px;width:17px;height:17px}.active-model span{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.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)}.mobile-tabs{display:none}.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}.conversation-debug-actions{align-items:center;gap:6px;display:flex}.token-usage{color:#59615c;cursor:default;outline:none;font:10px DM Mono,monospace;position:relative}.token-usage>span{white-space:nowrap;border-bottom:1px dotted #9b9d96}.token-usage-tooltip{z-index:5;color:#f7f4ec;opacity:0;visibility:hidden;pointer-events:none;background:#16231f;border:1px solid #cbc8be;border-radius:4px;width:210px;padding:13px 14px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 10px);right:0;transform:translateY(4px);box-shadow:0 8px 24px #16231f26}.token-usage:hover .token-usage-tooltip,.token-usage:focus-visible .token-usage-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.token-usage-tooltip:after{content:"";border:6px solid #0000;border-top-color:#16231f;position:absolute;top:100%;right:20px}.token-usage-tooltip strong{color:#fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px;font:500 10px DM Mono,monospace;display:block}.token-usage-tooltip dl{margin:0}.token-usage-tooltip dl div{justify-content:space-between;gap:20px;padding:3px 0;display:flex}.token-usage-tooltip dt{color:#aeb9b3}.token-usage-tooltip dd{color:#fff;margin:0;font-weight:500}.conversation-debug-button{color:#888c85;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;width:25px;height:25px;padding:0;transition:color .15s,border-color .15s,background .15s;display:grid}.conversation-debug-button:hover,.conversation-debug-button:focus-visible{border-color:var(--line);color:var(--ink);background:#fff;outline:none}.conversation-debug-button.copied{color:var(--green)}.conversation-debug-button.failed{color:#b13722}.conversation-debug-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.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}.conversation-navigation{align-items:center;gap:5px;display:flex}.history-menu{position:relative}.history-menu summary{border:1px solid var(--line);color:#59615c;cursor:pointer;border-radius:3px;place-items:center;width:30px;height:30px;list-style:none;display:grid}.history-menu summary::-webkit-details-marker{display:none}.history-menu summary:hover,.history-menu[open] summary{color:var(--ink);background:#fff;border-color:#8c908b}.history-menu summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.history-menu summary svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.history-dropdown{z-index:8;background:#fffefb;border:1px solid #cbc8bf;border-radius:4px;width:min(310px,100vw - 36px);padding:6px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 14px 35px #19231f24}.history-dropdown>strong{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:8px 9px 7px;font:500 9px DM Mono,monospace;display:block}.history-dropdown>p{color:var(--muted);text-align:center;margin:4px;padding:15px 8px;font-size:11px}.history-dropdown>button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 9px;display:grid}.history-dropdown>button:hover,.history-dropdown>button:focus-visible{background:#f2f0e9;outline:none}.history-dropdown>button.active{background:#f8eee8}.history-dropdown>button span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.history-dropdown>button time{color:var(--muted);font:9px DM Mono,monospace}.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}.empty-chat-logo{width:86px;height:auto;margin:auto;display:block}.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{color:#b74321;text-underline-offset:3px;text-decoration-color:#ee5d2f66}.message-text a: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 .approval-target{overflow-wrap:anywhere;color:var(--ink);margin-top:5px;font:500 10px DM Mono,monospace;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}.environment-request-widget{color:var(--ink);background:#f4f8f5;border:1px solid #b8cec2;border-radius:3px;margin-top:12px;padding:15px}.environment-request-widget strong{font-size:13px;display:block}.environment-request-widget code{margin-top:9px;font:500 12px DM Mono,monospace;display:inline-block}.environment-request-widget p{color:var(--muted);margin:8px 0;font-size:10px;line-height:1.55}.environment-request-widget label{margin-top:15px}.environment-request-widget .button{margin-top:8px;padding:9px 18px}.basic-auth-widget input+label{margin-top:12px}.repository-setup-widget{max-width:500px}.repository-setup-widget dl{margin:10px 0;font:10px/1.6 DM Mono,monospace}.repository-setup-widget dl div{grid-template-columns:125px 1fr;gap:10px;display:grid}.repository-setup-widget dt{color:var(--muted)}.repository-setup-widget dd{overflow-wrap:anywhere;margin:0}.repository-setup-widget textarea{resize:vertical;width:100%;margin-top:6px;font:10px/1.45 DM Mono,monospace}.repository-setup-actions{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.repository-setup-actions .button{align-items:center;margin-top:0;text-decoration:none;display:inline-flex}.chat-error{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff0eb;align-items:center;gap:8px;padding:10px;display:flex}.global-notice{color:#3f5148;background:#f4f8f5;border:1px solid #b8cec2;margin:8px 18px;padding:10px 12px;font-size:11px}.global-notice a{color:#b74321}.error-info{width:20px;height:20px;color:inherit;cursor:help;background:0 0;border:1px solid;border-radius:50%;flex:0 0 20px;font:600 11px/18px DM Mono,monospace;position:relative}.error-tooltip{z-index:20;color:#fff8f4;text-align:left;text-transform:none;white-space:normal;overflow-wrap:anywhere;background:#241d1a;border:1px solid #dba99a;border-radius:3px;width:min(440px,100vw - 64px);padding:11px 13px;font:10px/1.6 DM Mono,monospace;display:none;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 24px #19231f33}.error-info:hover .error-tooltip,.error-info:focus-visible .error-tooltip{display:block}.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 6px;padding-left:8px;font:500 9px DM Mono,monospace;display:grid}.conversation-loader span{white-space:nowrap}.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}.app-card{padding:0;overflow:hidden}.app-card-summary{width:100%;color:var(--ink);text-align:left;grid-template-columns:minmax(90px,2fr) minmax(0,3fr) 14px;align-items:center;gap:12px;padding:10px 12px;display:grid;position:relative}.app-card-summary:hover{background:#faf9f5}.app-card-summary:focus-within{z-index:1}.app-card-summary:has(.app-card-toggle:focus-visible){outline:2px solid var(--ink);outline-offset:-2px}.app-card-toggle{cursor:pointer;background:0 0;border:0;width:100%;position:absolute;inset:0}.app-card-summary>strong{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;min-width:0;font-size:13px;position:relative;overflow:hidden}.app-card-summary>svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;color:var(--muted);pointer-events:none;transition:transform .15s;position:relative}.app-card.expanded .app-card-summary>svg{transform:rotate(180deg)}.app-card-domains{z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:3px 8px;min-width:0;font:9px DM Mono,monospace;display:flex;position:relative}.app-card-domains>a{color:#50615a;overflow-wrap:anywhere;text-underline-offset:2px;align-items:center;gap:3px;text-decoration-color:#50615a66;display:inline-flex}.app-card-domains>a:hover{color:var(--accent);text-decoration-color:currentColor}.app-card-domains>a.protected{color:#8b4b34}.app-card-domains>a>svg{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 10px;width:10px;height:10px}.app-card-expanded{border-top:1px solid var(--line);padding:18px}.app-card.multi-service .app-card-expanded{padding-bottom:14px}.app-title h3{font-size:17px}.app-name-block{min-width:0}.app-name-row{align-items:center;gap:7px;min-height:24px;display:flex}.app-name-row h3{overflow-wrap:anywhere;min-width:0}.rename-button{width:25px;height:25px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:0 0 25px;place-items:center;padding:0;display:inline-grid}.rename-button:hover{color:var(--accent)}.rename-button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.rename-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.app-name-input{width:min(100%,260px);height:31px;padding:5px 8px;font-size:15px;font-weight:700}.app-services:not(.single){gap:9px;margin-top:14px;display:grid}.service-card{min-width:0}.app-services:not(.single) .service-card{background:#faf9f5;border:1px solid #d9d6cd;border-radius:3px;padding:13px}.service-title h3{font-size:13px}.single-service-image{color:var(--muted);overflow-wrap:anywhere;margin:12px 0 0;font:10px DM Mono,monospace}.service-actions{padding-top:10px}.service-actions button{padding:7px 10px}.app-services.single .service-actions{justify-content:flex-start}.app-actions{border-top:1px solid #e1ded5;margin-top:13px}.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}.service-endpoint{border:1px solid;border-radius:3px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:12px;padding:10px 11px;text-decoration:none;display:grid}.service-endpoint svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;justify-self:center;width:16px;height:16px}.service-endpoint span{flex-direction:column;gap:3px;min-width:0;display:flex}.service-endpoint small{color:inherit;opacity:.72;letter-spacing:.1em;font:8px DM Mono,monospace}.service-endpoint strong{overflow-wrap:anywhere;font:500 10px DM Mono,monospace}.service-endpoint i{font:12px DM Mono,monospace}.service-endpoint.public{color:#a94325;background:#fff8f3;border-color:#e4c4b8}.service-endpoint.public:hover{color:var(--accent);background:#fff;border-color:#d7a08d}.service-endpoint.private{color:#426055;background:#f1f6f2;border-color:#cbd8d1;grid-template-columns:24px minmax(0,1fr)}.domains-block{border:1px solid #d9d6cd;border-radius:3px;margin-top:12px;overflow:hidden}.domains-heading{background:#f2f0e9;border-bottom:1px solid #ddd9cf;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.domains-heading>span{letter-spacing:.12em;color:var(--muted);font:600 8px DM Mono,monospace}.domain-row{background:#fff;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;display:grid}.domain-row+.domain-row{border-top:1px solid #e5e2da}.domain-state{background:#999;border-radius:50%;width:7px;height:7px}.domain-state.ready{background:var(--green);box-shadow:0 0 0 3px #38786118}.domain-state.pending{background:#d08a2f}.domain-state.error{background:#b4442d}.domain-name{min-width:0}.domain-name>strong{overflow-wrap:anywhere;font:500 10px DM Mono,monospace;display:block}.domain-name small{color:var(--muted);flex-wrap:wrap;gap:4px 7px;margin-top:4px;font:8px DM Mono,monospace;display:flex}.domain-name small b{color:#a94325;font-weight:600}.domain-name small .access-state.public{color:#387861}.domain-name small .access-state.basic_auth{color:#8b4b34}.domain-actions{align-items:center;gap:4px;display:flex}.domain-actions a,.domain-actions button{color:#4d5550;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:4px;font:8px DM Mono,monospace;text-decoration:none}.domain-actions a:hover,.domain-actions button:hover{color:var(--accent)}.domain-actions .danger{color:#a9442c}.domain-actions button:disabled{opacity:.35;cursor:default}.container-actions{justify-content:flex-end;gap:7px;padding-top:13px;display:flex}.container-actions button,.actions-menu summary{border:1px solid var(--line);min-height:31px;color:var(--ink);cursor:pointer;background:0 0;border-radius:2px;font:500 9px DM Mono,monospace}.container-actions button:hover,.actions-menu summary:hover{background:#fff;border-color:#8c908b}.container-actions button:disabled{opacity:.45;cursor:wait}.logs-button{justify-content:center;align-items:center;gap:7px;padding:7px 12px;display:inline-flex}.logs-button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.actions-menu{position:relative}.actions-menu summary{-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:7px 10px 7px 12px;list-style:none;display:flex}.actions-menu summary::-webkit-details-marker{display:none}.actions-menu summary svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px;transition:transform .15s}.actions-menu[open] summary{background:#fff;border-color:#8c908b}.actions-menu[open] summary svg{transform:rotate(180deg)}.actions-menu-list{z-index:3;background:#fffefb;border:1px solid #cbc8bf;border-radius:3px;width:138px;padding:5px;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 12px 28px #19231f1f}.actions-menu-list button{text-align:left;border:0;width:100%;min-height:0;padding:8px 9px;display:block}.actions-menu-list button:hover{background:#f2f0e9;border-color:#0000}.actions-menu-list button.danger{color:#a9442c}.actions-menu-list button.danger:hover{background:#fff0eb}.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}.settings-modal{width:min(620px,100%)}.provider-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;display:grid}.provider-card{border:1px solid var(--line);background:#fffefb;border-radius:4px;min-height:126px;overflow:hidden}.provider-card>button{width:100%;min-height:124px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.provider-card:hover,.provider-card:focus-within{border-color:var(--ink);box-shadow:0 5px 18px #16231f12}.provider-grid strong{font-size:13px}.provider-copy{flex-direction:column;gap:5px;display:flex}.provider-icon-shell{place-items:center;width:52px;height:52px;display:grid}.provider-icon-shell img{object-fit:contain;width:36px;height:36px}.settings-back{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-bottom:20px;padding:0;font:10px DM Mono,monospace}.settings-back:hover{color:var(--ink)}.field-help{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.5;display:block}.test-connection{cursor:pointer;background:0 0;border:1px solid #aaa9a2;border-radius:3px;width:100%;margin-top:16px;padding:11px;font:500 10px DM Mono,monospace}.test-connection:hover{border-color:var(--ink);background:#fff}.test-connection:disabled{opacity:.55;cursor:wait}.custom-model-toggle{text-transform:none;letter-spacing:0;cursor:pointer;align-items:center;gap:9px;margin:14px 0;font:500 11px Manrope,sans-serif;display:flex}.custom-model-toggle input{width:15px;height:15px;accent-color:var(--green);margin:0}.compatibility-note{border-left:3px solid var(--green);background:#e9f3ed;margin-top:20px;padding:13px 15px}.compatibility-note span{color:var(--muted);text-transform:uppercase;font:9px DM Mono,monospace;display:block}.compatibility-note strong{margin-top:4px;font-size:12px;display:block}.compatibility-note p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.5}.provider-summary{border:1px solid var(--line);background:#fffefb;grid-template-columns:50px 1fr;gap:18px 15px;margin:28px 0;padding:22px;display:grid}.provider-summary img{object-fit:contain;grid-row:1/5;width:36px;height:36px}.provider-summary div{justify-content:space-between;gap:20px;display:flex}.provider-summary span{color:var(--muted);text-transform:uppercase;font:9px DM Mono,monospace}.provider-summary strong{text-align:right;overflow-wrap:anywhere;max-width:70%;font-size:12px}.provider-summary .connected{color:var(--green)}.provider-summary .connected i{background:var(--green);border-radius:50%;width:7px;height:7px;display:inline-block}.verification-list{color:var(--green);flex-wrap:wrap;gap:8px 18px;margin:-12px 0 24px;font:9px DM Mono,monospace;display:flex}.settings-actions{justify-content:flex-end;gap:9px;display:flex}.logs-modal,.environment-modal{width:min(1120px,100%)}.environment-editor{margin-top:24px}.environment-list{border:1px solid var(--line);border-radius:3px;margin:24px 0;overflow:hidden}.environment-editor .environment-list{margin:0}.environment-list-heading,.environment-row{grid-template-columns:minmax(170px,.9fr) minmax(260px,1.5fr) 125px 54px;align-items:center;gap:12px;padding:10px 12px;display:grid}.environment-list-heading{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:#e9e6de;font:8px DM Mono,monospace}.environment-row{background:#fff;font-size:11px}.environment-row+.environment-row{border-top:1px solid #e5e2da}.environment-row>input,.environment-value-field input{height:38px;padding:8px 10px;font:10px DM Mono,monospace}.environment-value-field{min-width:0;position:relative}.environment-value-field input{padding-right:52px}.environment-value-field button{color:#59615c;cursor:pointer;background:0 0;border:0;padding:4px;font:8px DM Mono,monospace;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.environment-value-field button:disabled{opacity:.35;cursor:default}.environment-protection{color:var(--muted);letter-spacing:0;text-transform:uppercase;cursor:pointer;align-items:center;gap:7px;margin:0;font:8px DM Mono,monospace;display:flex}.environment-protection input{width:15px;height:15px;accent-color:var(--green);margin:0}.environment-protection:has(input:checked){color:var(--green)}.environment-delete{color:#a9442c;cursor:pointer;background:0 0;border:0;padding:4px;font:8px DM Mono,monospace}.environment-delete:disabled{opacity:.35;cursor:default}.environment-controls{justify-content:space-between;align-items:center;gap:18px;margin-top:10px;display:flex}.environment-add-button{color:#68706b;cursor:pointer;background:0 0;border:0;padding:5px 2px;font:9px DM Mono,monospace}.environment-add-button:hover{color:var(--accent)}.environment-add-button:disabled{opacity:.4;cursor:default}.environment-save-bar{justify-content:flex-end;align-items:center;gap:18px;margin-left:auto;display:flex}.environment-save-bar span{color:var(--muted);font:9px DM Mono,monospace}.environment-save-bar .button{min-width:150px}.environment-save-bar .button:disabled{cursor:default}.environment-save-bar .button.loading:disabled{cursor:wait}.environment-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;margin:24px 0;padding:20px;font-size:12px}.protection-toggle{color:var(--ink);letter-spacing:0;text-transform:none;cursor:pointer;align-items:center;gap:10px;margin:18px 0 0;font:500 12px Manrope,sans-serif;display:flex}.protection-toggle input{width:16px;height:16px;accent-color:var(--green);margin:0}.environment-help{color:var(--muted);margin:8px 0;font-size:11px;line-height:1.5}.protection-explanation{border-left:3px solid var(--green);background:#e9f3ed;flex-direction:column;gap:4px;margin-top:13px;padding:12px;font-size:11px;line-height:1.5;display:flex}.credential-warning{color:#775017;background:#fff4df;border-left:3px solid #d08a2f;padding:10px 12px;font-size:11px}.logs-toolbar{grid-template-columns:minmax(220px,1fr) 110px auto auto;align-items:end;gap:10px;margin:22px 0 10px;display:grid}.logs-toolbar label{margin:0}.logs-toolbar label>span:first-child{margin-bottom:7px;display:block}.logs-search-field{display:block;position:relative}.logs-search-field svg{fill:none;stroke:#737a75;stroke-width:1.8px;stroke-linecap:round;width:15px;height:15px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.logs-search input{height:39px;padding:9px 12px 9px 37px;font:11px DM Mono,monospace}.logs-lines select{width:100%;height:39px;color:var(--ink);background:#fffefb;border:1px solid #c9c7be;border-radius:3px;outline:none;padding:0 10px;font:11px DM Mono,monospace}.logs-lines select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #16231f12}.logs-reverse{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fffefb;border:1px solid #c9c7be;border-radius:3px;align-items:center;gap:9px;height:39px;padding:0 12px;display:flex!important}.logs-reverse>span:last-child{margin:0}.logs-reverse input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:#bbbdb7;border-radius:10px;width:28px;height:16px;padding:2px;transition:background .15s;display:block;margin:0!important}.switch-track i{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;display:block;box-shadow:0 1px 2px #0003}.logs-reverse input:checked+.switch-track{background:var(--green)}.logs-reverse input:checked+.switch-track i{transform:translate(12px)}.logs-reverse:has(input:focus-visible){border-color:var(--ink);box-shadow:0 0 0 3px #16231f12}.logs-refresh{cursor:pointer;background:#fffefb;border:1px solid #c9c7be;border-radius:3px;align-items:center;gap:7px;height:39px;padding:0 12px;font:500 10px DM Mono,monospace;display:flex}.logs-refresh:hover{background:#fff;border-color:#8c908b}.logs-refresh:disabled{opacity:.55;cursor:wait}.logs-refresh svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.logs-refresh.loading svg{animation:.8s linear infinite logs-refresh-spin}@keyframes logs-refresh-spin{to{transform:rotate(360deg)}}.logs-output{background:#111b18;border-radius:3px;min-height:180px;max-height:62vh;overflow:auto}.logs-modal pre{color:#d8e2dc;white-space:pre-wrap;word-break:break-word;margin:0;padding:20px;font:11px/1.65 DM Mono,monospace}.logs-state{color:#9ba8a1;letter-spacing:.08em;text-transform:uppercase;place-items:center;min-height:180px;margin:0;padding:20px;font:10px DM Mono,monospace;display:grid}.logs-state.error{color:#ff9678;text-transform:none;letter-spacing:0}.logs-refresh-error{color:#ffb29c;background:#41241d;margin:0;padding:10px 20px;font:10px DM Mono,monospace}@media (width<=700px){.logs-toolbar{grid-template-columns:minmax(0,1fr) 90px}.logs-search{min-width:0}.logs-reverse{width:max-content}.logs-refresh{justify-self:end}}@media (width<=900px){.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr)}.auth-intro{padding:40px}.auth-story{margin-top:8vh}.auth-intro h1{font-size:clamp(44px,6vw,58px)}.preview-halfcloud ul{grid-template-columns:1fr;gap:5px}.auth-panel{padding:38px}.workspace{grid-template-columns:1fr;height:auto}.chat-panel{border-right:0;border-bottom:1px solid var(--line);height:calc(100dvh - 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}.active-model span{max-width:82px}.mobile-tabs{border-bottom:1px solid var(--line);background:var(--panel);grid-template-columns:repeat(3,1fr);height:47px;display:grid}.mobile-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;font:500 10px DM Mono,monospace;position:relative}.mobile-tabs button+button{border-left:1px solid var(--line)}.mobile-tabs button[aria-selected=true]{color:var(--ink);background:#fffefb}.mobile-tabs button[aria-selected=true]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.mobile-tabs button:focus-visible{z-index:1;outline:2px solid var(--ink);outline-offset:-3px}.metrics-strip{grid-template-columns:1fr;padding:0 16px}.metrics-strip>div{border-right:0;border-bottom:1px solid var(--line);padding:12px 10px}.metrics-strip>div:first-child{padding-left:10px}.workspace{display:block}.metrics-strip,.chat-panel,.containers-panel{display:none}.metrics-strip.mobile-panel-active,.chat-panel.mobile-panel-active{display:grid}.containers-panel.mobile-panel-active{display:block}.chat-panel,.containers-panel{height:calc(100dvh - 115px);min-height:0}.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-shell{flex-direction:column;min-height:100vh;display:flex}.auth-panel{order:1;min-height:100vh;padding:28px 22px 32px}.auth-panel-inner{justify-content:flex-start}.auth-mobile-brand{margin-bottom:clamp(48px,10vh,82px);display:flex}.auth-mobile-brand .brand-mark{width:40px;height:29px}.auth-panel h2{font-size:31px}.auth-intro{border-top:1px solid var(--line);border-right:0;order:2;min-height:auto;padding:54px 22px 38px}.auth-brand{display:none}.auth-story{width:100%;margin:0}.auth-intro h1{font-size:clamp(42px,13vw,56px)}.auth-copy{margin-top:20px;font-size:15px}.product-preview{border-radius:15px;margin-top:30px}.preview-message{padding:16px}.preview-halfcloud ul{grid-template-columns:1fr 1fr;font-size:10px}.preview-halfcloud li:nth-child(3){display:none}.auth-benefits{gap:10px 18px;margin-top:30px}.modal{padding:30px 22px}.provider-grid{grid-template-columns:repeat(2,1fr)}.domain-row{grid-template-columns:8px minmax(0,1fr)}.domain-actions{grid-column:2;justify-content:flex-start}.environment-list-heading{display:none}.environment-row{grid-template-columns:minmax(0,1fr) auto}.environment-value-field{grid-area:2/1/auto/-1}.environment-protection{grid-area:3/1}.environment-delete{grid-area:3/2}.environment-controls{align-items:flex-start}.environment-save-bar{flex-direction:column;align-items:flex-end}}@media (prefers-reduced-motion:reduce){.conversation-loader i b{width:100%;animation:none}.logs-refresh.loading svg{animation:none}.preview-halfcloud>strong,.preview-halfcloud li,.preview-url{opacity:1;animation:none;transform:none}.login-spinner{animation:none}}
