:root{color-scheme:light;--bg:#0b1320;--panel:#131c2e;--accent:#4f9dff;--text:#e8edf5;--muted:#8a96ab}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.container{max-width:760px;margin:0 auto;padding:2rem 1rem;min-height:100vh;display:flex;flex-direction:column}header h1{margin:0;font-size:1.8rem}header p{color:var(--muted);margin-top:.25rem}.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.clear-button{flex-shrink:0;padding:.4rem .8rem;border-radius:8px;border:1px solid #2a3550;background:transparent;color:var(--muted);cursor:pointer;font-size:.8rem}.clear-button:hover{color:var(--text);border-color:var(--accent)}.messages{flex:1 1;margin:1.5rem 0;display:flex;flex-direction:column;gap:.75rem}.message{padding:.75rem 1rem;border-radius:10px;background:var(--panel);white-space:pre-wrap}.message.user{background:var(--accent);color:#fff;align-self:flex-end;max-width:80%}.message.assistant{align-self:flex-start;max-width:100%}.intent{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.hint,.intent{color:var(--muted)}.progress{display:flex;flex-direction:column;gap:.45rem;padding:.85rem 1rem;border-radius:10px;background:var(--panel);align-self:flex-start;max-width:100%}.progress-step{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--muted)}.progress-step.current,.progress-step.done{color:var(--text)}.progress-icon{width:.8rem;text-align:center;flex-shrink:0}.progress-step.done .progress-icon{color:#4fd17a}.progress-step.current .progress-icon{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.error{color:#ff6b6b}.composer{display:flex;gap:.5rem}.composer input{flex:1 1;padding:.75rem 1rem;border-radius:8px;border:1px solid #2a3550;background:var(--panel);color:var(--text)}.composer button{padding:.75rem 1.25rem;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer}.composer button:disabled{opacity:.5;cursor:not-allowed}