:root{--design-color-gray-1: #fbfaf8;--design-color-gray-2: #f5f3ef;--design-color-gray-3: #ebe8e2;--design-color-gray-4: #dcd8d0;--design-color-gray-5: #c5c0b7;--design-color-gray-6: #a29b90;--design-color-gray-7: #7f786f;--design-color-gray-8: #5d5852;--design-color-gray-9: #282622;--design-color-emerald-1: #edf9f3;--design-color-emerald-2: #d4f1e2;--design-color-emerald-3: #afe3c8;--design-color-emerald-4: #7fcfac;--design-color-emerald-5: #4db38b;--design-color-emerald-6: #258968;--design-color-emerald-7: #176e54;--design-color-emerald-8: #125642;--design-color-emerald-9: #0c382d;--design-accent-1: var(--design-color-emerald-1);--design-accent-2: var(--design-color-emerald-2);--design-accent-3: var(--design-color-emerald-3);--design-accent-4: var(--design-color-emerald-4);--design-accent-5: var(--design-color-emerald-5);--design-accent-6: var(--design-color-emerald-6);--design-accent-7: var(--design-color-emerald-7);--design-accent-8: var(--design-color-emerald-8);--design-accent-9: var(--design-color-emerald-9);--design-bg: var(--design-color-gray-1);--design-surface: #ffffff;--design-surface-raised: var(--design-color-gray-2);--design-border: var(--design-color-gray-4);--design-border-strong: var(--design-color-gray-5);--design-text-primary: var(--design-color-gray-9);--design-text-secondary: var(--design-color-gray-8);--design-text-muted: var(--design-color-gray-7);--design-accent: var(--design-accent-6);--design-accent-foreground: #ffffff;--design-danger: #b42318;--design-danger-subtle: #fef3f2;--design-warning: #b54708;--design-warning-subtle: #fffaeb;--design-success: var(--design-accent-7);--design-success-subtle: var(--design-accent-1);--design-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--design-font-data: var(--design-font-sans);--design-text-13: .8125rem;--design-text-14: .875rem;--design-text-16: 1rem;--design-text-20: 1.25rem;--design-text-24: 1.5rem;--design-text-32: 2rem;--design-space-1: .25rem;--design-space-2: .5rem;--design-space-3: .75rem;--design-space-4: 1rem;--design-space-5: 1.25rem;--design-space-6: 1.5rem;--design-space-8: 2rem;--design-space-10: 2.5rem;--design-space-12: 3rem;--design-radius-sm: .375rem;--design-radius-md: .625rem;--design-radius-lg: .875rem;--design-shadow-sm: 0 1px 2px rgb(40 38 34 / .06), 0 1px 1px rgb(40 38 34 / .04);--design-shadow-md: 0 10px 24px -12px rgb(40 38 34 / .2), 0 4px 8px -4px rgb(40 38 34 / .08);--design-ease-out: cubic-bezier(.23, 1, .32, 1);--design-ease-in-out: cubic-bezier(.77, 0, .175, 1);--design-duration-fast: .15s;--design-duration-base: .2s;--design-duration-slow: .3s}.design-data{font-family:var(--design-font-data);font-variant-numeric:tabular-nums}.design-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--design-space-2);border:1px solid transparent;border-radius:var(--design-radius-sm);font-family:var(--design-font-sans);font-weight:600;cursor:pointer;transition:transform .16s var(--design-ease-out),background-color .15s ease,border-color .15s ease,color .15s ease}.design-button:active{transform:scale(.97)}.design-button:disabled{cursor:not-allowed;opacity:.5}.design-button:disabled:active{transform:none}.design-button--md{padding:.625rem .875rem;font-size:var(--design-text-14)}.design-button--sm{padding:.375rem .625rem;font-size:var(--design-text-13)}.design-button--primary{color:var(--design-accent-foreground);background:var(--design-accent-6)}.design-button--secondary{color:var(--design-text-primary);background:var(--design-surface);border-color:var(--design-border)}.design-button--ghost{color:var(--design-text-secondary);background:transparent}.design-button--danger{color:#fff;background:var(--design-danger)}@media (hover: hover) and (pointer: fine){.design-button--primary:hover:not(:disabled){background:var(--design-accent-7)}.design-button--secondary:hover:not(:disabled){background:var(--design-surface-raised)}.design-button--ghost:hover:not(:disabled){background:var(--design-surface-raised);color:var(--design-text-primary)}.design-button--danger:hover:not(:disabled){filter:brightness(.92)}}.design-avatar{display:inline-grid;place-items:center;overflow:hidden;flex:none;border-radius:var(--design-radius-sm);background:var(--design-accent-1);color:var(--design-accent-7)}.design-avatar img{width:100%;height:100%;object-fit:contain}.design-status-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:.25rem .625rem;font-size:var(--design-text-13);font-weight:500;transition:background-color .2s ease,color .2s ease}.design-status-chip i{width:6px;height:6px;border-radius:50%;background:currentColor;transition:background-color .2s ease}.design-status-chip--accent{color:var(--design-accent-7);background:var(--design-accent-1)}.design-status-chip--neutral{color:var(--design-text-muted);background:var(--design-surface-raised)}.design-status-chip--warning{color:var(--design-warning);background:var(--design-warning-subtle)}.design-status-chip--danger{color:var(--design-danger);background:var(--design-danger-subtle)}.design-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#28262273;opacity:1;transition:opacity var(--design-duration-base) var(--design-ease-out)}.design-dialog-backdrop[data-starting-style],.design-dialog-backdrop[data-ending-style]{opacity:0}.design-dialog{position:fixed;z-index:50;top:50%;left:50%;width:min(calc(100vw - 2.5rem),26rem);transform:translate(-50%,-50%) scale(1);border-radius:var(--design-radius-lg);padding:var(--design-space-6);background:var(--design-surface);box-shadow:var(--design-shadow-md);opacity:1;transition:opacity var(--design-duration-base) var(--design-ease-out),transform var(--design-duration-base) var(--design-ease-out)}.design-dialog[data-starting-style],.design-dialog[data-ending-style]{opacity:0;transform:translate(-50%,-50%) scale(.96)}.design-dialog-title{margin:0;font-size:var(--design-text-16);font-weight:600;color:var(--design-text-primary)}.design-dialog-description{margin:var(--design-space-2) 0 0;font-size:var(--design-text-14);line-height:1.6;color:var(--design-text-secondary)}.design-dialog-actions{display:flex;justify-content:flex-end;gap:var(--design-space-3);margin-top:var(--design-space-6)}@media (max-width: 480px){.design-dialog-actions{flex-direction:column-reverse}.design-dialog-actions>*{width:100%}}@media (prefers-reduced-motion: reduce){.design-button,.design-button:active{transition:none;transform:none}.design-dialog{transition:opacity var(--design-duration-base) ease}.design-dialog[data-starting-style],.design-dialog[data-ending-style]{transform:translate(-50%,-50%)}}:root{color:var(--design-text-primary);background:var(--design-bg);font-family:var(--design-font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,textarea{font:inherit}.portal{min-height:100vh;display:flex;flex-direction:column}.masthead,.intro,.agent-tabs,.panels,.activity,.empty-state,footer{width:min(60rem,100% - var(--design-space-8));margin-inline:auto}.masthead{display:flex;justify-content:space-between;align-items:center;padding:var(--design-space-4) 0}.brand{display:inline-flex;align-items:center;gap:var(--design-space-3);font-weight:600;font-size:var(--design-text-14)}.masthead-note{color:var(--design-text-muted);font-size:var(--design-text-13)}.intro{padding:var(--design-space-6) 0 var(--design-space-4)}.intro h1{margin:0;font-size:var(--design-text-24);font-weight:600;letter-spacing:-.01em}.intro p{margin:var(--design-space-1) 0 0;color:var(--design-text-muted);font-size:var(--design-text-14)}.agent-tabs{display:flex;gap:var(--design-space-1);overflow-x:auto;border-bottom:1px solid var(--design-border)}.agent-tab{position:relative;display:inline-flex;align-items:center;gap:var(--design-space-2);flex:none;border:0;padding:var(--design-space-3) var(--design-space-3);background:transparent;color:var(--design-text-muted);font-size:var(--design-text-14);font-weight:500;cursor:pointer;transition:color .15s ease}.agent-tab.active{color:var(--design-text-primary)}@media (hover: hover) and (pointer: fine){.agent-tab:hover{color:var(--design-text-primary)}}.agent-tab-indicator{position:absolute;left:var(--design-space-2);right:var(--design-space-2);bottom:-1px;height:2px;border-radius:1px;background:var(--design-accent-6)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--design-color-gray-5);transition:background-color .2s ease}.status-dot.running{background:var(--design-accent-5)}.status-dot.error{background:var(--design-danger)}.status-dot.provisioning{background:var(--design-warning)}.panels{display:grid;grid-template-columns:1fr;gap:var(--design-space-4);padding-top:var(--design-space-4)}@media (min-width: 680px){.panels{grid-template-columns:minmax(15rem,2fr) 3fr}}.panel{border:1px solid var(--design-border);border-radius:var(--design-radius-md);background:var(--design-surface);padding:var(--design-space-5)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:var(--design-space-3)}.panel h2{margin:0;font-size:var(--design-text-16);font-weight:600}.panel-note{margin:var(--design-space-3) 0 var(--design-space-5);color:var(--design-text-secondary);font-size:var(--design-text-14);line-height:1.6}.agent-panel{display:flex;flex-direction:column;align-items:flex-start}.agent-panel .design-button{margin-top:auto}.chat-panel{display:flex;flex-direction:column;min-height:20rem}.messages{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--design-space-2);overflow-y:auto;max-height:24rem;padding:var(--design-space-4) 0}.chat-hint{margin:auto 0 0;color:var(--design-text-muted);font-size:var(--design-text-14)}.message{width:fit-content;max-width:85%;margin:0;border-radius:var(--design-radius-md);border-bottom-left-radius:var(--design-radius-sm);padding:var(--design-space-2) var(--design-space-3);background:var(--design-surface-raised);color:var(--design-text-primary);font-size:var(--design-text-14);line-height:1.5;overflow-wrap:anywhere}.message.client{align-self:flex-end;border-radius:var(--design-radius-md);border-bottom-right-radius:var(--design-radius-sm);background:var(--design-accent-6);color:var(--design-accent-foreground)}.message.failed{background:var(--design-danger-subtle);color:var(--design-danger)}.message.typing{display:inline-flex;gap:4px;padding-block:.75rem}.message.typing i{width:5px;height:5px;border-radius:50%;background:var(--design-text-muted);animation:typing-pulse 1s ease-in-out infinite}.message.typing i:nth-child(2){animation-delay:.15s}.message.typing i:nth-child(3){animation-delay:.3s}@keyframes typing-pulse{0%,60%,to{opacity:.35}30%{opacity:1}}.chat-form{display:grid;grid-template-columns:1fr auto;gap:var(--design-space-2);align-items:end;border-top:1px solid var(--design-border);padding-top:var(--design-space-3)}.chat-form textarea{width:100%;resize:none;border:1px solid var(--design-border);border-radius:var(--design-radius-sm);padding:var(--design-space-2) var(--design-space-3);background:var(--design-surface);color:var(--design-text-primary);font-size:var(--design-text-14)}.chat-form textarea:focus-visible{outline:2px solid var(--design-accent-5);outline-offset:1px}.chat-form textarea:disabled{background:var(--design-surface-raised);cursor:not-allowed}.activity{padding:var(--design-space-8) 0 var(--design-space-4)}.activity h2{margin:0 0 var(--design-space-3);font-size:var(--design-text-16);font-weight:600}.activity-list{border-top:1px solid var(--design-border)}.activity-list article{display:flex;justify-content:space-between;align-items:baseline;gap:var(--design-space-3);padding:var(--design-space-3) 0;border-bottom:1px solid var(--design-border)}.activity-list b{font-size:var(--design-text-14);font-weight:600}.activity-list article p{margin:2px 0 0;color:var(--design-text-muted);font-size:var(--design-text-13)}.activity-list time{flex:none;color:var(--design-text-muted);font-size:var(--design-text-13)}.activity-empty{padding:var(--design-space-3) 0;color:var(--design-text-muted);font-size:var(--design-text-14)}.empty-state{margin-top:var(--design-space-6);border:1px dashed var(--design-border-strong);border-radius:var(--design-radius-md);padding:var(--design-space-10) var(--design-space-5);text-align:center}.empty-state h2{margin:0;font-size:var(--design-text-16);font-weight:600}.empty-state p{margin:var(--design-space-2) 0 0;color:var(--design-text-muted);font-size:var(--design-text-14)}footer{margin-top:auto;border-top:1px solid var(--design-border);padding:var(--design-space-4) 0 var(--design-space-6);color:var(--design-text-muted);font-size:var(--design-text-13)}.loading,.error-page{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:var(--design-space-8);text-align:center;color:var(--design-text-secondary);font-size:var(--design-text-14)}.loading-mark{width:20px;height:20px;margin-bottom:var(--design-space-3);border:2px solid var(--design-border);border-top-color:var(--design-accent-6);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-page h1{margin:var(--design-space-4) 0 var(--design-space-2);font-size:var(--design-text-20);font-weight:600;color:var(--design-text-primary)}.error-page p{margin:0;max-width:26rem;line-height:1.6;color:var(--design-text-muted)}.error-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--design-surface-raised);color:var(--design-text-muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media (prefers-reduced-motion: reduce){.loading-mark{animation:none;border-top-color:var(--design-border)}.message.typing i{animation-duration:2s}}
