:root{color-scheme:light;--bg:#f8f7fc;--ink:#242131;--muted:#868090;--accent:#7154d8;--line:#eae6f0;--bubble:#ece7fa}*{box-sizing:border-box}html,body{margin:0;height:100%;overscroll-behavior:none}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,textarea{font:inherit}button{touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,textarea:focus-visible{outline:3px solid #baa9ee;outline-offset:3px}#app{height:100dvh;max-width:920px;margin:auto;display:flex;flex-direction:column}header{height:72px;flex-shrink:0;display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line);background:#f8f7fcf2}.icon-button{border:0;background:none;color:var(--ink);padding:9px;min-width:42px;min-height:42px;border-radius:13px}.icon-button:hover{background:#ece8f4}.icon-button svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.heading{flex:1;display:flex;flex-direction:column;gap:4px}.heading strong{font-size:18px;letter-spacing:-.4px}.heading span{font-size:12px;color:var(--muted)}.heading span.online{color:#5c8170}main{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth;padding:22px 22px 12px;scrollbar-width:thin}.brand{width:62px;height:62px;background:linear-gradient(145deg,#9477ec,#6046bc);box-shadow:0 9px 25px #7052c72a;color:white;border-radius:22px;display:grid;place-items:center;font-size:32px;font-weight:650;margin:0 auto 24px}#welcome{max-width:420px;margin:10vh auto 0;text-align:center}h1{font-size:29px;letter-spacing:-1.1px;font-weight:650;line-height:1.2;margin:0 0 15px}#welcome p,.pair-card p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 28px}.suggestions{display:grid;gap:10px}.suggestions button{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);background:#fff9;padding:16px 18px;border-radius:16px;color:#575062;font-size:14px}.suggestions span{color:#9a8eb5;font-size:18px}.message{margin:0 0 22px;display:flex;flex-direction:column;align-items:flex-start}.message.user{align-items:flex-end}.content{max-width:94%;font-size:16px;line-height:1.65;overflow-wrap:anywhere}.user .content{max-width:88%;padding:11px 16px;background:var(--bubble);border-radius:20px 20px 5px 20px}.assistant .content{padding:0 2px}.content p{margin:0 0 12px;white-space:pre-wrap}.content p:last-child{margin-bottom:0}.content pre{overflow-x:auto;max-width:100%;padding:14px;border:1px solid var(--line);border-radius:13px;background:#efedf4;white-space:pre;font-size:13px;line-height:1.55}.content code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em;background:#efedf4;padding:2px 5px;border-radius:4px}.content pre code{background:none;padding:0;font-size:inherit}.content a{color:var(--accent);text-decoration:underline}.message-meta{display:flex;gap:10px;align-items:center;margin-top:7px;color:var(--muted);font-size:12px;min-height:24px}.small-button{background:none;border:0;color:var(--muted);padding:4px;font-size:12px;border-radius:6px}.small-button:hover{color:var(--accent);background:#ede8fa}.typing{display:flex;gap:5px;padding:12px 2px}.typing i{width:5px;height:5px;border-radius:50%;background:#a99abb;animation:pulse 1.2s infinite}.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}@keyframes pulse{0%,80%,100%{opacity:.35}40%{opacity:1}}footer{flex-shrink:0;padding:8px 16px max(10px,env(safe-area-inset-bottom));background:var(--bg)}#composer{display:flex;align-items:flex-end;gap:10px;max-width:850px;margin:auto;background:white;border:1px solid #e4dfed;border-radius:23px;padding:9px 9px 9px 17px;box-shadow:0 5px 20px #2b174608}textarea{resize:none;flex:1;min-height:35px;max-height:150px;line-height:1.5;font-size:17px;padding:5px 0;border:0;outline:none!important;background:transparent;color:var(--ink)}textarea::placeholder{color:#a09aa9}#send-button{height:38px;width:38px;flex-shrink:0;border:0;border-radius:50%;background:var(--accent);color:white;display:grid;place-items:center}#send-button:disabled{background:#e7e2ee;color:#b5acbf;cursor:default}#send-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#stop-icon{fill:currentColor!important;stroke:none!important}.footnote{font-size:10px;color:#a49baa;text-align:center;margin:9px 0 1px}.notice{font-size:12px;line-height:1.5;padding:8px 20px;color:#8c7ca0;background:#f0ecf7}.notice.error{color:#a44858;background:#f9ebef}.hidden{display:none!important}.overlay{position:fixed;inset:0;background:var(--bg);display:grid;place-items:center;z-index:10;padding:30px}.pair-card{text-align:center;max-width:360px}.pair-card h1{font-size:26px}.pair-card .device-label{font-size:12px;padding:12px 15px;background:#eeebf4;border-radius:12px;margin:20px 0}.device-label strong{font-family:monospace;color:#625376}.primary{border:0;padding:14px 20px;border-radius:15px;background:var(--accent);color:white;font-size:14px}.muted{font-size:13px!important}.scrim{position:fixed;inset:0;background:#1e12284d;z-index:19}aside{position:fixed;left:0;top:0;bottom:0;width:min(86vw,340px);padding:20px;background:var(--bg);z-index:20;display:flex;flex-direction:column;box-shadow:15px 0 60px #261c3c22}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head h2{font-size:23px;letter-spacing:-.7px}.drawer-head button{font-size:26px}.new-chat{border:1px solid #dfd7ee;background:#eeE8fb;color:#655280;border-radius:14px;padding:13px;text-align:left;margin:5px 0 20px}#chat-list{overflow-y:auto;flex:1}.chat-item{width:100%;display:block;text-align:left;border:0;border-radius:12px;background:transparent;padding:13px 11px;margin:0 0 5px;color:#4d445b}.chat-item.active{background:#e9e2f5}.chat-item strong{display:block;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item small{display:block;font-size:10px;color:#a096ab;margin-top:6px}.drawer-foot{font-size:10px;color:#aaa0b4;padding-top:15px;border-top:1px solid var(--line)}#toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:#342a45;color:white;border-radius:14px;padding:10px 18px;font-size:13px;z-index:30;white-space:nowrap}@media(min-width:700px){main{padding:32px 48px}header{padding-left:35px;padding-right:35px}.content{font-size:17px;max-width:88%}footer{padding-left:35px;padding-right:35px}}@media(max-height:600px){#welcome{margin-top:24px}.brand{margin-bottom:16px}#welcome h1{font-size:25px}.suggestions{gap:6px}.suggestions button{padding:11px 15px}}
