:root{--color-bg: #0b1220;--color-surface: #111827;--color-surface-2: #0f172a;--color-border: #1f2937;--color-text: #e5e7eb;--color-text-muted: #9ca3af;--color-accent: #60a5fa;--color-accent-hover: #3b82f6;--color-success: #34d399;--color-warning: #fbbf24;--color-danger: #f87171;--header-height: 56px;--footer-height: 40px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(1000px circle at 10% -20%,#0f172a 0%,transparent 50%),radial-gradient(900px circle at 90% -10%,#111827 0%,transparent 55%),var(--color-bg);color:var(--color-text)}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}h1{margin:0 0 8px;font-size:2.4rem;font-weight:700;letter-spacing:.3px}button{border-radius:8px;border:1px solid var(--color-border);padding:8px 12px;font-size:.95rem;font-weight:600;font-family:inherit;background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color .2s,background-color .2s,transform .05s}button:hover:not(:disabled){border-color:var(--color-accent-hover);background-color:var(--color-surface-2)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}.top-nav{position:fixed;top:0;left:0;right:0;height:var(--header-height);z-index:100;display:flex;align-items:center;gap:16px;padding:12px 16px;background:#111827e6;color:var(--color-text);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.top-nav__title{font-weight:700;letter-spacing:.5px}.top-nav__controls{display:flex;gap:8px}.top-nav__controls button{padding:6px 10px;border-radius:6px}.top-nav__controls button:disabled{opacity:.6;cursor:not-allowed}.top-nav__right{margin-left:auto;display:flex;align-items:center;gap:12px}.top-nav__auth{display:flex;align-items:center;gap:8px}.top-nav__auth-btn{padding:6px 10px;border-radius:6px}.top-nav__auth-btn--primary{background:var(--color-accent);border-color:transparent;color:#0b1220}.top-nav__auth-btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.top-nav__account{position:relative}.top-nav__account-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:6px;min-width:140px;box-shadow:0 10px 24px #00000059}.top-nav__account-link{display:block;padding:8px 10px;border-radius:6px;color:var(--color-text)}.top-nav__account-link:hover{background:var(--color-surface-2)}.top-nav__account-separator{height:1px;margin:6px 0;background:var(--color-border)}.top-nav__account-menu button{width:100%;text-align:left;padding:8px 10px;background:transparent;border:none;border-radius:6px}.top-nav__account-menu button:hover{background:var(--color-surface-2)}.status-footer{position:fixed;left:0;right:0;bottom:0;height:var(--footer-height);display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#0f172af2;border-top:1px solid var(--color-border);color:var(--color-text-muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;font-size:.85rem}.status-footer__left{display:flex;align-items:center;gap:16px;min-width:0}.status-footer__right{display:flex;align-items:center;gap:6px;white-space:nowrap;margin-left:12px}.status-footer__item{display:flex;align-items:center;gap:6px;white-space:nowrap}.status-footer__label{font-weight:600;color:var(--color-text)}.status-footer__value{font-weight:700;text-transform:uppercase}.status-footer__value--running{color:var(--color-success)}.status-footer__value--stopped{color:var(--color-warning)}.status-footer__value--not_found,.status-footer__value--unknown{color:var(--color-text-muted)}.status-footer__value--error{color:var(--color-danger)}.status-footer__details{max-width:420px;overflow:hidden;text-overflow:ellipsis}.status-footer__message{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw}.terminal-pane{display:flex;flex-direction:column;height:calc(100vh - var(--header-height) - var(--footer-height) - 48px);max-height:calc(100vh - var(--header-height) - var(--footer-height) - 48px);min-height:50vh;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #00000059}.terminal-pane__header{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}.terminal-pane__title{font-weight:700}.terminal-pane__status{color:var(--color-text-muted);font-size:.9rem}.terminal-pane__clear{margin-left:auto}.terminal-pane__output{flex:1;margin:0;padding:12px;background:#0a0f1a;color:#e5e7eb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;overflow:auto;white-space:pre-wrap;outline:none;cursor:text}.terminal-pane__output--canvas{padding:0;overflow:hidden;display:flex;align-items:stretch;justify-content:stretch}.terminal-pane__output--canvas canvas{width:100%;height:100%;display:block;outline:none}.terminal-pane__canvas-wrap{position:relative;width:100%;height:100%}.terminal-pane__canvas-wrap canvas{position:absolute;inset:0;z-index:1}.terminal-pane__text-layer{position:absolute;inset:0;margin:0;padding:0;white-space:pre;overflow:hidden;-webkit-user-select:text;user-select:text;pointer-events:auto;color:transparent;background:transparent;outline:none;caret-color:transparent;z-index:2}.terminal-pane__text-layer::selection{background:#78aaff59;color:transparent}.terminal-pane__cursor{display:inline-block;margin-left:2px;color:var(--color-text);animation:terminal-cursor-blink 1s steps(2,start) infinite}@keyframes terminal-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}#root{min-height:100vh}.app-container{min-height:100vh;padding-top:var(--header-height);padding-bottom:var(--footer-height);display:flex;flex-direction:column}.app-content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:24px 20px;display:flex;flex-direction:column;gap:16px;align-items:stretch;justify-content:flex-start;text-align:left}
