.chat[data-v-da820c83]{background:var(--surface);flex-direction:column;min-height:0;display:flex}.chat-head[data-v-da820c83]{border-bottom:1px solid var(--border);padding:8px 10px;padding-top:max(8px, env(safe-area-inset-top));align-items:center;gap:6px;display:flex}.chat-title[data-v-da820c83]{flex:1;min-width:0;line-height:1.2;display:grid}.chat-title strong[data-v-da820c83]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notice[data-v-da820c83]{margin:10px 12px 0}.messages[data-v-da820c83]{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;padding:14px 12px;display:flex;overflow-y:auto}.intro[data-v-da820c83]{text-align:center;gap:10px;margin:auto 0;display:grid}.suggest[data-v-da820c83]{gap:6px;display:grid}.suggest .btn[data-v-da820c83]{white-space:normal;text-align:center;height:auto;padding:6px 10px}.msg[data-v-da820c83]{overflow-wrap:anywhere;border-radius:14px;max-width:92%;padding:8px 12px}.msg.user[data-v-da820c83]{background:var(--accent);color:var(--accent-text);white-space:pre-wrap;border-bottom-right-radius:4px;align-self:flex-end}.msg.assistant[data-v-da820c83]{background:var(--surface-2);border-bottom-left-radius:4px;align-self:flex-start}.md[data-v-da820c83] p,.md[data-v-da820c83] ul,.md[data-v-da820c83] ol{margin:0 0 8px}.md[data-v-da820c83]>:last-child{margin-bottom:0}.md[data-v-da820c83] ul,.md[data-v-da820c83] ol{padding-left:20px}.md[data-v-da820c83] h4{margin:4px 0;font-size:.95rem}.md[data-v-da820c83] code{font-family:var(--mono);background:var(--surface-3);border-radius:4px;padding:1px 4px;font-size:.85em}.note[data-v-da820c83]{background:var(--success-soft);color:var(--success);text-align:center;border-radius:999px;align-self:center;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.typing[data-v-da820c83]{background:var(--surface-2);border-radius:14px;align-self:flex-start;gap:4px;padding:12px 14px;display:flex}.typing span[data-v-da820c83]{background:var(--faint);border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink-da820c83}.typing span[data-v-da820c83]:nth-child(2){animation-delay:.2s}.typing span[data-v-da820c83]:nth-child(3){animation-delay:.4s}@keyframes blink-da820c83{0%,80%,to{opacity:.3}40%{opacity:1}}.composer[data-v-da820c83]{padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--border);align-items:flex-end;gap:8px;display:flex}.composer textarea[data-v-da820c83]{resize:none;min-height:40px;max-height:160px;line-height:1.4}.composer .btn[data-v-da820c83]{height:40px}.history[data-v-da820c83]{flex:1;overflow-y:auto}.history ul[data-v-da820c83]{margin:0;padding:6px;list-style:none}.history li[data-v-da820c83]{border-radius:var(--radius-sm);align-items:center;gap:4px;display:flex}.history li.active[data-v-da820c83],.history li[data-v-da820c83]:hover{background:var(--surface-2)}.conv[data-v-da820c83]{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;gap:1px;padding:8px 10px;display:grid}.conv-title[data-v-da820c83]{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.shell[data-v-52935ed8]{grid-template-rows:var(--header-h) 1fr;grid-template-columns:minmax(0,1fr);grid-template-areas:"top""main";min-height:100dvh;display:grid}.topbar[data-v-52935ed8]{z-index:20;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);grid-area:top;align-items:center;gap:16px;padding:0 16px;display:flex;position:sticky;top:0}.brand[data-v-52935ed8]{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:flex}.topnav[data-v-52935ed8]{gap:2px;display:flex}.navlink[data-v-52935ed8]{border-radius:var(--radius-sm);color:var(--muted);padding:6px 12px;font-weight:550;text-decoration:none}.navlink[data-v-52935ed8]:hover,.navlink.router-link-exact-active[data-v-52935ed8]{color:var(--text);background:var(--surface-2)}.top-actions[data-v-52935ed8]{gap:6px;margin-left:auto;display:flex}.main[data-v-52935ed8]{grid-area:main;min-width:0}.chat-panel[data-v-52935ed8]{z-index:40;position:fixed;inset:0}@media (width>=1100px){.shell.chat-open[data-v-52935ed8]{grid-template-columns:minmax(0, 1fr) var(--chat-w);grid-template-areas:"top top""main chat"}.chat-panel[data-v-52935ed8]{top:var(--header-h);height:calc(100dvh - var(--header-h));z-index:10;border-left:1px solid var(--border);grid-area:chat;position:sticky}}.chat-scrim[data-v-52935ed8]{display:none}@media (width>=720px) and (width<=1099px){.chat-scrim[data-v-52935ed8]{z-index:35;background:#00000059;display:block;position:fixed;inset:0}.chat-panel[data-v-52935ed8]{width:min(440px,90vw);box-shadow:var(--shadow-lg);border-left:1px solid var(--border);left:auto}}.tabbar[data-v-52935ed8]{display:none}@media (width<=719px){.topnav[data-v-52935ed8],.hide-sm[data-v-52935ed8]{display:none}.main[data-v-52935ed8]{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tabbar[data-v-52935ed8]{z-index:30;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab[data-v-52935ed8]{color:var(--muted);justify-items:center;gap:2px;padding:8px 0 6px;font-size:.72rem;font-weight:600;text-decoration:none;display:grid}.tab.router-link-exact-active[data-v-52935ed8]{color:var(--accent)}}:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#efebe3;--surface-3:#e5e0d5;--text:#1d1f23;--muted:#5d636c;--faint:#8a8f97;--border:#ddd7cb;--border-strong:#c7bfaf;--accent:#9a6a12;--accent-strong:#7c5409;--accent-soft:#f5e8cc;--accent-text:#fff;--success:#2c7a4b;--success-soft:#dff0e5;--danger:#b3261e;--danger-soft:#fbe3e1;--info-soft:#e5edf7;--focus:#2f6fd6;--shadow:0 1px 2px #1e190f0f, 0 4px 16px #1e190f0f;--shadow-lg:0 10px 40px #140f052e;--radius:10px;--radius-sm:7px;--gap:16px;--header-h:56px;--chat-w:400px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#121417;--surface:#1a1d22;--surface-2:#22262c;--surface-3:#2b3038;--text:#e9e7e2;--muted:#a0a6af;--faint:#7a808a;--border:#2f343c;--border-strong:#3d434d;--accent:#e3ab43;--accent-strong:#f0c066;--accent-soft:#3a2f1a;--accent-text:#1a1406;--success:#5cbf82;--success-soft:#1d3326;--danger:#f0766b;--danger-soft:#3d1f1d;--info-soft:#1e2a3a;--focus:#7aa7ff;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--shadow-lg:0 10px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.25}h1{font-size:1.45rem}h2{font-size:1.1rem}h3{font-size:.95rem}p{margin:0}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{gap:20px;max-width:1080px;margin:0 auto;padding:20px 16px 48px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:550;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-ghost{background:0 0;border-color:#0000}.btn-sm{min-height:32px;padding:0 10px;font-size:.875rem}.btn-icon{min-width:36px;padding:0 8px}.field{gap:4px;display:grid}.field>span{color:var(--muted);font-size:.85rem;font-weight:550}.input,select.input,textarea.input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--text);font:inherit;padding:8px 10px}textarea.input{resize:vertical}.input:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:#0000}.checkbox{width:22px;height:22px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0}.alert{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:10px 12px;font-size:.9rem}.alert-info{background:var(--info-soft);color:var(--text)}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent-strong)}.badge-success{background:var(--success-soft);color:var(--success)}.progress{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.progress>div{border-radius:inherit;background:var(--accent);height:100%;transition:width .3s}.progress.done>div{background:var(--success)}.empty{text-align:center;color:var(--muted);padding:24px}dialog.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(520px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text);box-shadow:var(--shadow-lg);padding:0}dialog.modal::backdrop{background:#00000073}.modal-body{gap:14px;padding:18px;display:grid}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
