/* Artemis Aurora & Glassmorphism Design System */ :root { --bg-primary: #0b0f19; --bg-card: rgba(23, 32, 54, 0.7); --bg-card-border: rgba(255, 255, 255, 0.08); --accent-cyan: #38bdf8; --accent-purple: #a855f7; --accent-green: #10b981; --text-primary: #f8fafc; --text-secondary: #94a3b8; --text-muted: #64748b; --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: var(--font-family); background-color: var(--bg-primary); color: var(--text-primary); min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; } /* Header */ .app-header { height: 64px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--bg-card-border); background: rgba(11, 15, 25, 0.85); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 100; } .logo-group { display: flex; align-items: center; gap: 12px; } .logo-badge { background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple)); color: #fff; font-weight: 800; font-size: 14px; padding: 4px 10px; border-radius: 8px; } .title { font-size: 18px; font-weight: 700; letter-spacing: -0.5px; } .header-actions { display: flex; align-items: center; gap: 16px; } .user-tag { font-size: 14px; color: var(--text-secondary); background: rgba(255, 255, 255, 0.05); padding: 6px 12px; border-radius: 20px; border: 1px solid var(--bg-card-border); } /* Auth Modal */ .modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; z-index: 200; } .auth-card { background: var(--bg-card); border: 1px solid var(--bg-card-border); border-radius: 20px; padding: 36px; width: 100%; max-width: 440px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5); text-align: center; } .auth-card h2 { font-size: 22px; margin-bottom: 8px; } .auth-card p { color: var(--text-secondary); font-size: 14px; margin-bottom: 24px; } .input-group { display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; } .input-field { width: 100%; padding: 12px 16px; background: rgba(0, 0, 0, 0.3); border: 1px solid var(--bg-card-border); border-radius: 10px; color: #fff; font-size: 15px; outline: none; transition: border-color 0.2s; } .input-field:focus { border-color: var(--accent-cyan); } .btn-primary { width: 100%; padding: 12px; background: linear-gradient(135deg, #0284c7, #6366f1); color: #fff; font-size: 15px; font-weight: 600; border: none; border-radius: 10px; cursor: pointer; transition: transform 0.1s, opacity 0.2s; } .btn-primary:hover { opacity: 0.9; } .btn-primary:active { transform: scale(0.98); } /* Dual Pane Layout */ .workspace-container { flex: 1; display: flex; height: calc(100vh - 64px); padding: 16px; gap: 16px; } .pane { flex: 1; background: var(--bg-card); border: 1px solid var(--bg-card-border); border-radius: 16px; display: flex; flex-direction: column; overflow: hidden; } .pane-header { height: 52px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--bg-card-border); background: rgba(0, 0, 0, 0.2); } .pane-title { font-size: 15px; font-weight: 600; display: flex; align-items: center; gap: 8px; } .status-pill { font-size: 12px; padding: 2px 8px; border-radius: 12px; background: rgba(16, 185, 129, 0.15); color: var(--accent-green); font-weight: 500; } /* Left Pane: Device Stream */ .device-viewport { flex: 1; display: flex; align-items: center; justify-content: center; background: #000; position: relative; } .screen-placeholder { display: flex; flex-direction: column; align-items: center; gap: 12px; color: var(--text-muted); } .device-frame { max-height: 90%; max-width: 90%; aspect-ratio: 9/19.5; background: #111; border: 4px solid #334155; border-radius: 28px; overflow: hidden; box-shadow: 0 15px 30px rgba(0,0,0,0.6); position: relative; display: flex; align-items: center; justify-content: center; } .device-frame video, .device-frame img, .device-frame iframe, .device-screen-live { width: 100%; height: 100%; object-fit: contain; background: #000; border: none; } /* Right Pane: Artemis Workspace */ .agent-logs { flex: 1; padding: 16px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; } .log-entry { background: rgba(0, 0, 0, 0.25); border: 1px solid var(--bg-card-border); border-radius: 10px; padding: 12px; font-size: 14px; } .log-entry.thought { border-left: 3px solid var(--accent-cyan); } .log-entry.action { border-left: 3px solid var(--accent-purple); } .log-entry .meta { font-size: 11px; color: var(--text-muted); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; } .chat-input-area { padding: 16px; border-top: 1px solid var(--bg-card-border); background: rgba(0, 0, 0, 0.2); display: flex; gap: 10px; } .chat-input { flex: 1; padding: 12px 16px; background: rgba(0, 0, 0, 0.3); border: 1px solid var(--bg-card-border); border-radius: 10px; color: #fff; font-size: 14px; outline: none; } .hidden { display: none !important; }