:root{color-scheme:dark;--bg:#111519;--panel:#1b2125;--mint:#b9f9ce;--muted:#98a6a4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 25%,#20302b55,transparent 60%),var(--bg);color:#f0f3ef;font:15px/1.5 system-ui,sans-serif;min-height:100dvh}main{max-width:540px;margin:auto;padding:24px 24px max(20px,env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.brand{font-size:25px;font-weight:900;letter-spacing:-1px;color:inherit;text-decoration:none}.brand span{font-size:16px;letter-spacing:3px;margin-left:2px}.brand small{display:block;font-size:8px;letter-spacing:2.5px;color:var(--muted);font-weight:500}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid #ffffff18;background:#252c30;color:#eff5f0;border-radius:13px;padding:12px 18px;min-height:46px}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.icon{border:0;font-size:26px;padding:0 12px;background:none}.eyebrow{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.eyebrow i{width:6px;height:6px;border-radius:50%;background:#677274}.eyebrow i.online{background:var(--mint);box-shadow:0 0 12px #b9f9ce77}.private{margin-left:auto;font-size:8px;letter-spacing:1.6px}.face{height:245px;position:relative;width:245px;margin:26px auto 12px;display:grid;place-items:center;isolation:isolate}.orb{position:absolute;inset:26px;border:1px solid #94b79e38;border-radius:42%;background:radial-gradient(circle at 38% 25%,#41544a,#202d27 60%,#16201b);box-shadow:inset 0 0 45px #a4edbb10,0 0 80px #b9f9ce0a;animation:breathe 5s ease-in-out infinite}.eyes{display:flex;gap:32px;z-index:1;transform:translateY(-5px)}.eyes b{width:19px;height:39px;background:var(--mint);border-radius:20px;box-shadow:0 0 20px #b9f9ce44;animation:blink 6s infinite}.mouth{position:absolute;top:147px;width:27px;height:13px;border-bottom:3px solid var(--mint);border-radius:50%}.orbit{position:absolute;inset:8px;border:1px dashed #b9f9ce18;border-radius:50%;animation:spin 45s linear infinite}.face[data-state=thinking] .orbit{border-top:2px solid var(--mint);animation-duration:2s}.face[data-state=listening] .orb{box-shadow:0 0 70px #b9f9ce35;animation:breathe .8s infinite}.face[data-state=speaking] .mouth{background:var(--mint);animation:speak .25s infinite alternate}.face[data-state=offline]{filter:grayscale(1);opacity:.5}.face[data-state=approval] .eyes b{background:#f3d697}.intro{text-align:center;min-height:105px}.label{font-size:9px;letter-spacing:2.3px;color:var(--muted)}h1{font-size:30px;line-height:1.2;font-weight:550;letter-spacing:-1px;margin:11px 0}p{color:var(--muted)}.intro p{font-size:13px;margin:10px 0;min-height:20px}.controls{text-align:center;margin:25px 0 18px}.talk{border:0;border-radius:100px;padding:17px 30px;background:var(--mint);color:#14221a;font-weight:600;display:inline-flex;align-items:center;gap:12px;user-select:none;-webkit-user-select:none;touch-action:none;box-shadow:0 5px 30px #b9f9ce12}.talk svg{width:22px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}.talk.recording{background:#ffcbab;transform:scale(1.04)}.hint{font-size:11px;letter-spacing:.3px}.row{display:flex;gap:10px}.row>*{flex:1}.utility{justify-content:center}.utility button{padding:7px;font-size:11px;background:transparent;border:0}.composer{display:flex;gap:10px;background:#20272a;border:1px solid #ffffff0b;border-radius:20px;padding:8px 8px 8px 17px;align-items:center}textarea{width:100%;resize:none;background:none;border:0;color:inherit;outline:none;padding:7px 0;max-height:130px}.composer button{border-radius:14px;font-size:25px;line-height:1;background:#35473c;color:var(--mint);padding:8px 16px}footer{text-align:center;font-size:8px;letter-spacing:2px;color:#6e7c76;margin-top:25px}.card{background:var(--panel);border:1px solid #ffffff12;border-radius:18px;padding:20px;margin:18px 0}.card p{white-space:pre-wrap;overflow-wrap:anywhere}.card h2{margin:6px 0;font-size:18px}.approval{border-color:#f3d69766}.primary{background:var(--mint);color:#13221a;font-weight:600}.messages{max-height:230px;overflow:auto;scrollbar-width:thin}.message{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 16px;background:#1c2521;border-radius:16px;margin:8px 0;font-size:14px}.message.user{background:#ffffff07;color:#aab7b0;margin-left:30px}.message small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}.error{font-size:13px;color:#ffb9a9;overflow-wrap:anywhere}dialog{background:#1b2421;border:1px solid #ffffff22;color:inherit;border-radius:22px;padding:25px;width:min(90%,460px)}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}dialog code,.card code{display:block;overflow-wrap:anywhere;font-size:12px;color:var(--mint)}#close-settings{width:100%;margin-top:15px}input{display:block;width:100%;padding:15px;border-radius:12px;border:1px solid #ffffff22;background:#20272a;color:inherit;margin:8px 0 15px}#login{padding:45px 0}#login h1{font-size:38px}#login form{margin-top:35px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@keyframes breathe{50%{transform:scale(1.04) translateY(-3px)}}@keyframes blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes speak{to{height:6px;transform:scaleX(.7)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}@media(max-height:760px){.face{height:190px;width:190px;margin-top:15px}.orb{inset:15px}.mouth{top:122px}.eyes b{height:32px}.controls{margin-top:12px}header{margin-bottom:20px}}
