:root{--font-main:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Outfit", var(--font-main);--color-bg-app:#f6f8f7;--color-bg-surface:#fff;--color-bg-elevated:#f0f4f2;--color-bg-subtle:#e8efea;--color-text-main:#0b131f;--color-text-body:#1e293b;--color-text-muted:#475569;--color-text-light:#64748b;--color-brand-primary:#0f766e;--color-brand-hover:#0d625c;--color-brand-active:#094742;--color-brand-light:#ccfbf1;--color-brand-text:#fff;--color-accent:#b45309;--color-accent-light:#fef3c7;--color-success-bg:#ecfdf5;--color-success-text:#065f46;--color-success-border:#059669;--color-warning-bg:#fffbeb;--color-warning-text:#92400e;--color-warning-border:#d97706;--color-danger-bg:#fef2f2;--color-danger-text:#991b1b;--color-danger-border:#dc2626;--color-info-bg:#eff6ff;--color-info-text:#1e40af;--color-info-border:#3b82f6;--color-border:#cbd5e1;--color-border-subtle:#e2e8f0;--color-border-bold:#94a3b8;--color-focus:#0f766e;--shadow-sm:0 1px 3px #0f172a14;--shadow-md:0 4px 8px -1px #0f172a14, 0 2px 4px -2px #0f172a0f;--shadow-lg:0 10px 20px -3px #0f172a1a, 0 4px 6px -4px #0f172a0d;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:9999px;--base-font-size:18px;--line-height-body:1.6}[data-theme=dark]{--color-bg-app:#0b111a;--color-bg-surface:#141e2d;--color-bg-elevated:#1b283c;--color-bg-subtle:#24354f;--color-text-main:#fff;--color-text-body:#e2e8f0;--color-text-muted:#94a3b8;--color-text-light:#cbd5e1;--color-brand-primary:#14b8a6;--color-brand-hover:#2dd4bf;--color-brand-active:#5eead4;--color-brand-light:#134e48;--color-brand-text:#042f2e;--color-accent:#f59e0b;--color-accent-light:#78350f;--color-success-bg:#064e3b;--color-success-text:#a7f3d0;--color-success-border:#10b981;--color-warning-bg:#78350f;--color-warning-text:#fde68a;--color-warning-border:#f59e0b;--color-danger-bg:#7f1d1d;--color-danger-text:#fecaca;--color-danger-border:#ef4444;--color-info-bg:#1e3a8a;--color-info-text:#bfdbfe;--color-info-border:#60a5fa;--color-border:#334155;--color-border-subtle:#1e293b;--color-border-bold:#475569;--color-focus:#2dd4bf;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 8px #00000080;--shadow-lg:0 10px 20px #0009}[data-text-scale=large]{--base-font-size:21px}[data-text-scale=xlarge]{--base-font-size:24px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--base-font-size);font-family:var(--font-main);background-color:var(--color-bg-app);color:var(--color-text-body);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}body{background-color:var(--color-bg-app);flex-direction:column;min-height:100vh;transition:background-color .2s,color .2s;display:flex}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-container{width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.skip-link{background:var(--color-brand-primary);color:#fff;z-index:1000;border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-weight:700;transition:top .2s;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text-main);font-weight:700;line-height:1.25}button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}button:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}input,textarea{color:var(--color-text-main);background:var(--color-bg-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:.85rem 1.25rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px #0f766e33}.header-wrapper{background:var(--color-bg-surface);border-bottom:2px solid var(--color-border-subtle);box-shadow:var(--shadow-sm);padding:1.25rem 0}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:0 1.25rem;display:flex}.brand-section{align-items:center;gap:1rem;display:flex}.logo-badge{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 4px 10px #0f766e40}.brand-title{letter-spacing:-.02em;color:var(--color-text-main);font-size:1.75rem}.brand-tagline{color:var(--color-text-muted);margin-top:.15rem;font-size:.95rem;font-weight:500}.header-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.status-pill{border-radius:var(--radius-pill);letter-spacing:.01em;border:1.5px solid;align-items:center;gap:.5rem;padding:.45rem .95rem;font-size:.875rem;font-weight:700;display:inline-flex}.status-pill.online{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.status-pill.offline{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.status-pill.checking{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.status-dot{background:currentColor;border-radius:50%;width:10px;height:10px}.pulse-dot{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%{opacity:.8;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(.9)}}.accessibility-btn{border:2px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-body);border-radius:var(--radius-md);min-height:44px;padding:.5rem .85rem;font-size:.9rem}.accessibility-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-border-bold)}.dashboard-grid{grid-template-columns:1fr;gap:1.75rem;margin-top:1.5rem;display:grid}@media (width>=900px){.dashboard-grid{grid-template-columns:1.8fr 1.2fr;align-items:start}}.app-card{background:var(--color-bg-surface);border:2px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.75rem;transition:border-color .2s,box-shadow .2s}.app-card:hover{border-color:var(--color-border)}.quick-actions-section{margin-bottom:2rem}.section-heading-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-heading{color:var(--color-text-main);align-items:center;gap:.5rem;font-size:1.25rem;display:flex}.quick-actions-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.quick-actions-grid{grid-template-columns:repeat(3,1fr)}}.action-card{background:var(--color-bg-surface);border:2.5px solid var(--color-border);border-radius:var(--radius-md);text-align:left;min-height:140px;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:flex-start;gap:.6rem;padding:1.25rem 1rem;transition:all .15s ease-in-out;display:flex;position:relative}.action-card:hover:not(:disabled){border-color:var(--color-brand-primary);background:var(--color-bg-elevated);box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-card:active:not(:disabled){transform:translateY(0)}.action-card-header{align-items:center;gap:.6rem;display:flex}.action-icon-circle{border-radius:var(--radius-sm);background:var(--color-brand-light);width:44px;height:44px;color:var(--color-brand-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.action-card-title{color:var(--color-text-main);font-size:1.15rem;font-weight:700;line-height:1.2}.action-card-desc{color:var(--color-text-muted);margin-top:.15rem;font-size:.925rem;line-height:1.4}.action-card-prompt-hint{color:var(--color-brand-primary);align-items:center;gap:.35rem;margin-top:auto;font-size:.825rem;font-weight:600;display:flex}.assistant-panel{flex-direction:column;gap:1.25rem;display:flex}.assistant-welcome{text-align:center;padding:1rem 0 .5rem}.assistant-welcome h2{color:var(--color-text-main);margin-bottom:.35rem;font-size:2rem}.assistant-welcome p{color:var(--color-text-muted);font-size:1.1rem}.conversation-container{border:2px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);flex-direction:column;gap:1.25rem;min-height:240px;max-height:440px;padding:1rem .5rem;display:flex;overflow-y:auto}.message-row{gap:.85rem;width:100%;display:flex}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:.95rem;font-weight:700;display:flex}.message-avatar.assistant{background:var(--color-brand-primary);color:#fff}.message-avatar.user{background:var(--color-border-bold);color:var(--color-text-main)}.message-bubble{border-radius:var(--radius-md);max-width:82%;box-shadow:var(--shadow-sm);padding:1rem 1.25rem;font-size:1.05rem;line-height:1.5;position:relative}.message-bubble.user{background:var(--color-brand-primary);color:#fff;border-bottom-right-radius:4px}.message-bubble.assistant{background:var(--color-bg-surface);color:var(--color-text-main);border:2px solid var(--color-border-subtle);border-bottom-left-radius:4px}.message-bubble.error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.message-text{white-space:pre-wrap;word-break:break-word}.message-meta{border-top:1px solid #00000014;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;padding-top:.4rem;font-size:.825rem;display:flex}.message-bubble.user .message-meta{color:#ffffffd9;border-top-color:#fff3}.message-bubble.assistant .message-meta{color:var(--color-text-light)}.capability-badge{background:var(--color-brand-light);color:var(--color-brand-primary);border-radius:var(--radius-pill);border:1px solid #0f766e33;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.thinking-bubble{background:var(--color-bg-surface);border:2px solid var(--color-brand-primary);border-radius:var(--radius-md);color:var(--color-brand-primary);align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:1rem;font-weight:600;display:flex}.dots-loader{gap:5px;display:flex}.dots-loader span{background-color:var(--color-brand-primary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.dots-loader span:first-child{animation-delay:-.32s}.dots-loader span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-form{flex-direction:column;gap:.85rem;display:flex}.input-row{align-items:center;gap:.75rem;display:flex}.chat-input{border-radius:var(--radius-md);min-height:58px;font-size:1.15rem}.btn-send{background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);min-width:100px;min-height:58px;padding:0 1.5rem;font-size:1.15rem;font-weight:700}.btn-send:hover:not(:disabled){background:var(--color-brand-hover)}.btn-send:active:not(:disabled){background:var(--color-brand-active)}.btn-mic{border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-bg-surface);width:58px;height:58px;color:var(--color-text-main);flex-shrink:0}.btn-mic:hover:not(:disabled){background:var(--color-bg-elevated);border-color:var(--color-brand-primary)}.btn-mic.listening{color:#fff;background:#dc2626;border-color:#b91c1c;animation:1.5s infinite pulse-red}@keyframes pulse-red{0%{box-shadow:0 0 #dc262680}70%{box-shadow:0 0 0 12px #dc262600}to{box-shadow:0 0 #dc262600}}.prompt-chips-wrapper{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.prompt-chip{background:var(--color-bg-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-body);padding:.45rem .95rem;font-size:.9rem;font-weight:500}.prompt-chip:hover{background:var(--color-bg-elevated);border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.status-cards-column{flex-direction:column;gap:1.25rem;display:flex}.status-card{background:var(--color-bg-surface);border:2px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:.65rem;padding:1.25rem;display:flex}.status-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.status-card-title-group{align-items:center;gap:.6rem;display:flex}.status-card-icon{border-radius:var(--radius-sm);background:var(--color-bg-elevated);width:36px;height:36px;color:var(--color-brand-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.status-card-title{color:var(--color-text-main);font-size:1.1rem;font-weight:700}.status-card-badge{border-radius:var(--radius-pill);letter-spacing:.02em;border:1px solid;padding:.2rem .65rem;font-size:.775rem;font-weight:700}.status-card-badge.ready,.status-card-badge.connected,.status-card-badge.action_completed,.status-card-badge.locked,.status-card-badge.loaded{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.status-card-badge.checking{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.status-card-badge.error{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.status-card-title-text{flex-direction:column;gap:.15rem;display:flex}.status-card-proto-label{color:var(--color-text-muted);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);letter-spacing:.02em;width:fit-content;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.status-card-body{color:var(--color-text-body);font-size:.95rem;line-height:1.45}.status-card-disclaimer{color:var(--color-accent);background:var(--color-accent-light);border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;display:flex}.safety-area-footer{flex-direction:column;gap:.75rem;margin-top:2rem;display:flex}.global-prototype-disclosure{color:var(--color-text-muted);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);text-align:center;justify-content:center;align-items:center;gap:.55rem;padding:.65rem 1.15rem;font-size:.875rem;font-weight:500;display:flex}.global-prototype-disclosure .global-prototype-icon{color:var(--color-brand-primary);flex-shrink:0}.safety-banner{border-radius:var(--radius-md);color:#92400e;background:#fffbeb;border:2px solid #f59e0b;align-items:flex-start;gap:.85rem;margin-top:0;padding:.95rem 1.25rem;font-size:.925rem;display:flex}[data-theme=dark] .safety-banner{color:#fde68a;background:#2c200b;border-color:#b45309}.safety-banner-title{color:#78350f;margin-bottom:.2rem;font-size:1rem;font-weight:700}[data-theme=dark] .safety-banner-title{color:#fcd34d}.voice-readout-toggle{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.voice-readout-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-brand-primary);cursor:pointer}
