.message[data-v-430ae9aa]{display:flex;width:100%}.message.user[data-v-430ae9aa]{justify-content:flex-end}.message.assistant[data-v-430ae9aa],.message.system[data-v-430ae9aa]{justify-content:flex-start}.bubble[data-v-430ae9aa]{max-width:100%;word-wrap:break-word;overflow-wrap:anywhere}.message.user .bubble[data-v-430ae9aa]{background:#f3f3f3;border-radius:1.2rem;padding:.55rem 1rem;max-width:80%}.message.assistant .bubble[data-v-430ae9aa]{padding:.2rem 0}.thinking[data-v-430ae9aa]{color:var(--muted);font-style:italic}.web-badge[data-v-430ae9aa]{display:inline-block;font-size:.7rem;color:var(--muted);border:1px solid var(--border);padding:.05rem .45rem;border-radius:.6rem;margin-right:.5rem;vertical-align:.05rem}.body[data-v-430ae9aa] p{margin:.4rem 0}.body[data-v-430ae9aa] p:first-child{margin-top:0}.body[data-v-430ae9aa] p:last-child{margin-bottom:0}.body[data-v-430ae9aa] pre{background:#f5f5f5;border:1px solid var(--border);border-radius:.6rem;padding:.7rem .9rem;margin:.5rem 0;overflow-x:auto;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85em;line-height:1.45}.body[data-v-430ae9aa] pre code{background:transparent;padding:0;border:none}.body[data-v-430ae9aa] code{background:#f0f0f0;border-radius:.3rem;padding:.05rem .3rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.body[data-v-430ae9aa] a{color:var(--fg);text-decoration:underline}.composer[data-v-6b5c8a5d]{display:flex;flex-direction:column;gap:.4rem;max-width:42rem;width:100%;margin:0 auto}.composer-row[data-v-6b5c8a5d]{display:flex;gap:.5rem;align-items:center}.composer-row.bottom[data-v-6b5c8a5d]{justify-content:space-between}textarea[data-v-6b5c8a5d]{flex:1;border:1px solid var(--border-input);border-radius:1.2rem;padding:.6rem 1rem;font:inherit;font-size:1rem;resize:none;max-height:12rem;background:var(--bg);color:var(--fg);line-height:1.5}textarea[data-v-6b5c8a5d]:focus{outline:none;border-color:var(--fg)}textarea[data-v-6b5c8a5d]:disabled{color:var(--muted);background:#fafafa}textarea[data-v-6b5c8a5d]::placeholder{color:var(--placeholder)}.web-toggle[data-v-6b5c8a5d]{border:1px solid var(--border-input);background:var(--bg);color:var(--muted);font:inherit;font-size:.8rem;padding:.35rem .8rem;border-radius:1rem;cursor:pointer;transition:all .15s}.web-toggle[data-v-6b5c8a5d]:hover:not(:disabled){border-color:var(--fg);color:var(--fg)}.web-toggle.active[data-v-6b5c8a5d]{background:var(--fg);border-color:var(--fg);color:var(--bg)}.web-toggle[data-v-6b5c8a5d]:disabled{opacity:.4;cursor:not-allowed}.send-btn[data-v-6b5c8a5d]{border:1px solid var(--fg);background:var(--fg);color:var(--bg);font:inherit;font-size:.9rem;padding:.45rem 1.1rem;border-radius:1.2rem;cursor:pointer;transition:opacity .2s}.send-btn[data-v-6b5c8a5d]:hover:not(:disabled){opacity:.85}.send-btn[data-v-6b5c8a5d]:disabled{opacity:.35;cursor:not-allowed}.send-btn.stop[data-v-6b5c8a5d]{background:var(--bg);color:var(--fg)}.messages[data-v-f8d46c09]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-bottom:.5rem}.empty[data-v-f8d46c09]{margin:auto;text-align:center}.empty-title[data-v-f8d46c09]{font-size:2rem}.status-line[data-v-f8d46c09]{color:var(--muted);font-size:.85rem;text-align:center}.status-line.warn[data-v-f8d46c09]{color:var(--danger)}.error[data-v-f8d46c09]{color:var(--danger);font-size:.9rem;text-align:center}.composer-area[data-v-f8d46c09]{padding-top:.7rem;border-top:1px solid var(--border)}.login-container[data-v-77fbe011]{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box[data-v-77fbe011]{text-align:center;width:20rem;padding:2.3rem}.login-box.shake[data-v-77fbe011]{animation:shake-77fbe011 .3s ease}@keyframes shake-77fbe011{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}input[data-v-77fbe011]{width:100%;padding:.6rem;border:1px solid var(--fg);border-radius:3rem;color:var(--fg);background:var(--bg);font:inherit;font-size:1rem;margin-bottom:1rem;text-align:center}input[data-v-77fbe011]:focus{outline:none}button[data-v-77fbe011]{width:100%;padding:.6rem;border:none;border-radius:3rem;color:var(--bg);background:var(--fg);font:inherit;font-size:1rem;cursor:pointer;transition:opacity .2s}button[data-v-77fbe011]:hover:not(:disabled){opacity:.85}button[data-v-77fbe011]:disabled{opacity:.6;cursor:not-allowed}.conv-list[data-v-4734f9ef]{list-style:none;display:flex;flex-direction:column;gap:.2rem}.conv-item[data-v-4734f9ef]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .4rem;border-bottom:1px solid var(--border);cursor:pointer;font-size:.95rem}.conv-item[data-v-4734f9ef]:hover{background:#f7f7f7}.conv-title[data-v-4734f9ef]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-actions[data-v-4734f9ef]{display:flex;gap:.2rem}.icon-btn[data-v-4734f9ef]{background:transparent;border:none;cursor:pointer;font-size:.9rem;color:var(--muted);padding:.3rem .45rem;border-radius:.3rem}.icon-btn[data-v-4734f9ef]:hover{color:var(--fg);background:#e5e5e5}.icon-btn.danger[data-v-4734f9ef]:hover{color:var(--danger)}.empty-row[data-v-4734f9ef]{color:var(--muted);font-style:italic;padding:1rem 0;text-align:center}.memory-hint[data-v-fac2241e]{color:var(--muted);font-size:.9rem}.memory-hint code[data-v-fac2241e]{background:#f0f0f0;padding:.05rem .3rem;border-radius:.3rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}.memory-add[data-v-fac2241e]{display:flex;gap:.5rem}.memory-add input[data-v-fac2241e]{flex:1;border:1px solid var(--border-input);border-radius:1rem;padding:.45rem .9rem;font:inherit;font-size:.95rem;background:var(--bg);color:var(--fg)}.memory-add input[data-v-fac2241e]:focus{outline:none;border-color:var(--fg)}.memory-add button[data-v-fac2241e]{border:1px solid var(--fg);background:var(--fg);color:var(--bg);border-radius:1rem;padding:.45rem .9rem;font:inherit;font-size:.9rem;cursor:pointer}.memory-add button[data-v-fac2241e]:disabled{opacity:.4;cursor:not-allowed}.fact-list[data-v-fac2241e]{list-style:none;display:flex;flex-direction:column;gap:.2rem}.fact-item[data-v-fac2241e]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.95rem;padding:.55rem .4rem;border-bottom:1px solid var(--border)}.fact-text[data-v-fac2241e]{flex:1;word-break:break-word}.fact-empty[data-v-fac2241e]{color:var(--muted);font-style:italic;padding:1rem 0;text-align:center}.icon-btn[data-v-fac2241e]{background:transparent;border:none;cursor:pointer;font-size:.9rem;color:var(--muted);padding:.3rem .45rem;border-radius:.3rem}.icon-btn[data-v-fac2241e]:hover{color:var(--fg);background:#e5e5e5}.icon-btn.danger[data-v-fac2241e]:hover{color:var(--danger)}:root{--fg: #1c1c1c;--bg: #ffffff;--danger: #b91c1c;--border: #e5e5e5;--border-input: #d4d4d4;--muted: #6b6b6b;--placeholder: #9ca3af;font-family:Space Grotesk,sans-serif;font-weight:400;line-height:1.6;color-scheme:light;color:var(--fg);background-color:var(--bg)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%;overflow:hidden;overscroll-behavior:none}body{background-color:var(--bg);color:var(--fg);font-weight:400}h1,h2,h3,h4,h5,h6,b,strong{font-weight:400}.btn{padding:.4rem 1rem;border-radius:9999px;border:1px solid var(--fg);background:var(--bg);color:var(--fg);font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:.9em}.btn.danger{border-color:var(--danger);color:var(--danger)}.page-wrapper{height:100%;display:flex;align-items:flex-start;justify-content:center}.page-container{max-width:35rem;width:100%;padding:3rem 1.8rem}.page-container.chat{height:100%;display:flex;flex-direction:column;padding-bottom:1rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--fg)}.page-title{font-size:1.5rem;font-weight:400}.header-actions{display:flex;gap:.4rem}.header-btn{background:transparent;border:1px solid var(--fg);color:var(--fg);font:inherit;font-size:.85rem;padding:.4rem .7rem;border-radius:1rem;cursor:pointer;transition:all .2s}.header-btn:hover:not(:disabled){opacity:.7}.header-btn.active{background:var(--fg);color:var(--bg)}.header-btn:disabled{opacity:.4;cursor:not-allowed}.content{display:flex;flex-direction:column;gap:1rem}
