:root { color: #d6deeb; background: #0b0f16; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } * { box-sizing: border-box; } html, body, #app { min-width: 320px; min-height: 100vh; margin: 0; } button, select { font: inherit; } button { min-height: 40px; padding: 0 15px; border: 0; border-radius: 6px; background: #227c70; color: #ffffff; font-weight: 750; cursor: pointer; } button:disabled { cursor: wait; opacity: 0.6; } #app { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 10px; padding: 10px; } .runtime-bar { display: flex; align-items: end; justify-content: space-between; gap: 16px; min-height: 54px; padding: 4px 2px 10px; border-bottom: 1px solid #263244; } h1, h2, p { margin: 0; } h1 { color: #f8fafc; font-size: 30px; line-height: 1; letter-spacing: 0; } #model-label { margin-top: 5px; color: #9eb1ca; font-size: 13px; overflow-wrap: anywhere; } .status-stack { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; max-width: 760px; } .status { min-height: 32px; max-width: 280px; padding: 6px 10px; border: 1px solid #344156; border-radius: 6px; background: #141b27; color: #cad7ea; font-size: 13px; overflow-wrap: anywhere; } .terminal-shell { min-height: 0; border: 1px solid #263244; border-radius: 8px; background: #10141c; overflow: hidden; } #terminal { width: 100%; height: calc(100vh - 86px); min-height: 420px; padding: 10px; } .xterm { height: 100%; } .xterm-viewport, .xterm-screen { border-radius: 0; } .model-gate { position: fixed; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(4, 8, 14, 0.64); z-index: 20; } .model-gate.hidden { display: none; } .model-dialog { display: grid; gap: 16px; width: min(560px, 100%); padding: 22px; border: 1px solid #334155; border-radius: 8px; background: #f8fafc; color: #172033; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35); } .eyebrow { margin-bottom: 7px; color: #227c70; font-size: 12px; font-weight: 850; text-transform: uppercase; } .model-dialog h2 { color: #172033; font-size: 24px; line-height: 1.15; } .dialog-copy { margin-top: 8px; color: #526173; line-height: 1.5; } .dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; } #use-test-model { background: #4f5f73; } .dialog-options { display: grid; gap: 10px; color: #526173; } label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; } select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid #b8c5d4; border-radius: 6px; background: #ffffff; color: #152033; } #gate-status { min-height: 22px; color: #526173; overflow-wrap: anywhere; } @media (max-width: 760px) { #app { padding: 8px; } .runtime-bar { align-items: stretch; flex-direction: column; } .status-stack { justify-content: start; } #terminal { height: calc(100vh - 164px); min-height: 360px; padding: 8px; } }