:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#e2e8f0;background:#020617}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#020617,#0b1120)}.app-shell{min-height:100dvh;max-width:720px;margin:0 auto;display:grid;grid-template-rows:auto 1fr auto}.app-header{padding:1rem}.app-header h1{margin:0;font-size:1.3rem}.app-header p{margin:.35rem 0 0;color:#94a3b8}.app-main{padding:.75rem;overflow:hidden}.panel{background:#0f172ad9;border:1px solid #1e293b;border-radius:16px;padding:.9rem;height:100%}.chat-panel{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:.75rem;min-height:calc(100dvh - 185px)}.chat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.chat-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.provider-badge-wrap{display:flex;align-items:center;gap:.4rem}.provider-badge{font-size:.75rem;padding:.22rem .5rem;border:1px solid #334155;border-radius:999px;color:#cbd5e1}.status-pill{border-radius:999px;padding:.35rem .65rem;font-size:.8rem;border:1px solid transparent;white-space:nowrap}.status-loading,.status-generating{background:#312e81;border-color:#6366f1}.status-ready{background:#14532d;border-color:#16a34a}.status-error{background:#7f1d1d;border-color:#ef4444}.progress-wrap{display:grid;gap:.4rem}.progress-bar{width:100%;height:8px;border-radius:999px;background:#1e293b;overflow:hidden}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#4f46e5);transition:width .16s ease}.message-list{overflow-y:auto;display:grid;gap:.6rem}.message{border-radius:12px;padding:.65rem}.message p{margin:.35rem 0 0;white-space:pre-wrap}.message-user{background:#1d4ed8}.message-assistant{background:#1e293b}.composer{display:grid;grid-template-columns:1fr auto;gap:.6rem}textarea,select,button,input{border-radius:10px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font:inherit}textarea,input,select{width:100%;padding:.6rem}textarea{resize:vertical}button{padding:.6rem .8rem;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.ghost{background:transparent}.danger{border-color:#ef4444;color:#fecaca}.helper-text{color:#94a3b8;margin:0}.error-text{color:#fca5a5;margin:0}.bottom-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.75rem;border-top:1px solid #1e293b;background:#020617}.bottom-nav-link{text-align:center;color:#94a3b8;text-decoration:none;padding:.5rem;border-radius:8px}.bottom-nav-link.active{color:#fff;background:#1e293b}.card{background:#0b1220;border:1px solid #1e293b;border-radius:12px;padding:.7rem;margin-top:.75rem}.memory-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.memory-list.compact li span{color:#cbd5e1}.memory-list li{display:grid;gap:.15rem}.search-input{margin-bottom:.7rem}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.settings-row select{width:55%;max-width:320px}.settings-row input[type=checkbox]{width:auto}.settings-row:last-child{margin-bottom:0}.settings-field{display:grid;gap:.4rem}.settings-actions{display:flex;gap:.5rem;flex-wrap:wrap}.import-button{display:inline-flex;align-items:center;gap:.35rem}.import-button input{display:none}.diagnostics-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.diagnostics-list li{display:grid;gap:.15rem}@media (min-width: 768px){.panel{padding:1rem}}.privacy-callout p{margin:.4rem 0 0;color:#cbd5e1}.settings-panel{overflow-y:auto;min-height:calc(100dvh - 185px)}.voice-controls{display:inline-flex;align-items:center;gap:.45rem}.voice-elapsed{font-size:.8rem;color:#f8fafc}.voice-wave{display:inline-flex;align-items:flex-end;gap:2px;height:16px}.voice-wave span{width:3px;border-radius:999px;background:#60a5fa;height:4px}.voice-wave.active span{animation:voice-bounce .9s ease-in-out infinite}@keyframes voice-bounce{0%,to{height:4px}50%{height:16px}}.voice-note-strip{display:flex;gap:.5rem;flex-wrap:wrap}.backup-grid{display:grid;gap:.6rem}.probe-results{white-space:pre-wrap;margin:.5rem 0 0;background:#020617;border:1px solid #1e293b;border-radius:10px;padding:.5rem;color:#cbd5e1;font-size:.8rem}hr{border:none;border-top:1px solid #1e293b;margin:.9rem 0}.first-run-panel{min-height:calc(100dvh - 120px);display:grid;gap:.8rem}.context-preview p{white-space:pre-wrap;max-height:120px;overflow:auto}.model-load-cta{display:flex;align-items:center;gap:.75rem;padding:.6rem;background:#1e293b;border-radius:10px;flex-wrap:wrap}.model-load-cta p{flex:1;min-width:0}.image-memory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;margin-top:.5rem}.image-memory-tile{display:grid;gap:.3rem}.image-memory-tile-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid #1e293b;cursor:pointer;transition:opacity .15s}.image-memory-tile-img:hover{opacity:.85}.image-memory-tile-label{font-size:.72rem;color:#94a3b8;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-image-row{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.memory-thumb{width:52px;height:52px;object-fit:cover;border-radius:6px;border:1px solid #1e293b;cursor:pointer;flex-shrink:0}.memory-image-expanded{margin-top:.5rem;display:grid;gap:.4rem}.memory-image-full{width:100%;max-height:320px;object-fit:contain;border-radius:8px;border:1px solid #1e293b;background:#020617}.memory-image{width:100%;max-height:200px;object-fit:contain;border-radius:8px;border:1px solid #1e293b;background:#020617}.pairing-code-card h4{margin:0 0 .5rem}.pairing-steps{margin:0 0 .75rem;padding-left:1.2rem;color:#cbd5e1;font-size:.85rem;line-height:1.7}.pairing-payload-text{font-family:monospace;font-size:.75rem;color:#94a3b8;word-break:break-all}.speak-btn{margin-top:.4rem;font-size:.8rem;padding:.3rem .6rem}.sync-badge{transition:border-color .2s,color .2s}.image-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:.75rem}@media (min-width: 480px){.image-grid{grid-template-columns:repeat(2,1fr)}}
