@font-face{font-family:Senvoku;src:url('/font.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--surface:#ebe7df;--shade:#c2baac;--glint:#fffdf8;--ink:#232725;--secondary:#555b57;--muted:#82867f;--accent:#3d5a80;--danger:#9d4b3c;--selected:color-mix(in srgb,var(--accent) 14%,var(--surface));--raised:2px 2px 5px var(--shade),-2px -2px 5px var(--glint);--inset:inset 2px 2px 5px var(--shade),inset -2px -2px 5px var(--glint);--gap:16px;--small:8px;--radius:8px;--panel:16px;--touch:44px;--body:14px;--line:24px}
*{box-sizing:border-box}::selection{background:var(--selected)}body [hidden]{display:none}html,body{margin:0;height:100%;background:var(--surface);color:var(--ink);font-family:Senvoku,system-ui,sans-serif;font-size:var(--body);line-height:var(--line)}main{max-width:880px;height:100dvh;margin:auto;padding:env(safe-area-inset-top) var(--gap) env(safe-area-inset-bottom);display:flex;flex-direction:column;gap:var(--small)}header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--small);flex-shrink:0}.brand{display:flex;gap:var(--small);align-items:center}.brand strong{font-weight:500;font-size:16px}.brand span{color:var(--secondary);font-size:12px}button,input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:0;border-radius:var(--radius)}button,select{min-height:var(--touch);padding:0 12px;box-shadow:var(--raised)}button{cursor:pointer;white-space:nowrap}button:active{box-shadow:var(--inset)}button:disabled,select:disabled{opacity:.5;cursor:default}input{min-height:var(--touch);padding:var(--small) 12px;box-shadow:var(--inset);width:100%;font-size:16px}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--secondary);outline-offset:4px}label{display:block;margin:var(--small) 0;color:var(--secondary)}.login{width:100%;max-width:416px;margin:auto;padding:24px;border-radius:var(--panel);box-shadow:var(--raised)}h1{font-size:20px;font-weight:500;line-height:32px;margin:0}.login p{color:var(--secondary)}.login button{margin-top:var(--gap);margin-right:var(--small)}.hint{font-size:12px;line-height:16px;color:var(--muted)}.workspace{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--small)}.selectors{display:grid;grid-template-columns:1fr;gap:var(--small);padding:4px}select{width:100%;text-overflow:ellipsis;min-width:0}.status-row{padding:var(--small) 4px 0;display:flex;justify-content:space-between;gap:var(--small);font-size:12px;color:var(--secondary);min-height:32px}.messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--gap) 4px;scrollbar-width:thin}.message{margin:0 0 24px;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{background:var(--selected);margin-left:32px;padding:12px;border-radius:var(--radius);box-shadow:var(--raised)}.message .meta{display:block;font-size:12px;color:var(--muted);margin-bottom:var(--small)}.message.assistant{padding-right:var(--small)}.message .steps{font-size:12px;color:var(--secondary);margin-top:var(--small)}.empty{color:var(--muted);text-align:center;margin:48px var(--gap)}.composer{flex-shrink:0;border-radius:var(--radius);box-shadow:var(--inset);padding:12px;display:flex;flex-direction:column;gap:var(--small)}textarea{width:100%;resize:none;background:transparent;min-height:72px;max-height:24dvh;padding:0;font-size:16px;box-shadow:none}.composer-actions{display:flex;align-items:center;gap:var(--small)}.composer-actions .hint{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#send{color:var(--accent)}#stop{color:var(--danger)}.delivery{margin:0 4px;min-height:16px}#notice{margin:0;padding:0 4px var(--small);color:var(--danger);font-size:12px;line-height:20px}#notice:empty{padding:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(min-width:640px){.selectors{grid-template-columns:1fr 1fr}.workspace{padding:var(--gap);box-shadow:var(--raised);border-radius:var(--panel);margin-bottom:var(--gap)}.message.user{margin-left:20%}}@media(max-width:360px){main{padding-left:var(--small);padding-right:var(--small)}.brand span{display:none}.login{padding:var(--gap)}}
