:root{--color-primary: #1f3a4d;--color-accent: #f4623a;--color-background: #f8fafc;--bg: var(--color-background);--panel: #fff;--ink: #1e2d3d;--header: var(--color-primary);--muted: #6a8a9a;--muted2: #8aa0b0;--border: #e2e8ef;--accent: var(--color-accent);--sidebar-w: 260px}html.dark{--bg: #1b1d21;--panel: #26292e;--ink: #e6e9ee;--header: color-mix(in srgb, var(--color-primary) 75%, #000);--muted: #9aa7b2;--muted2: #7d8a96;--border: #3a3f46}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh;height:100dvh}.center-message{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--muted);font-size:15px;padding:20px;text-align:center}.chat-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:10px;padding:24px;text-align:center;background:var(--bg)}.chat-gate img{height:52px;margin-bottom:6px}.chat-gate h2{color:var(--header);font-size:21px}html.dark .chat-gate h2{color:var(--ink)}.chat-gate p{color:var(--muted);font-size:14.5px;max-width:380px;line-height:1.5}.chat-gate-btn{margin-top:10px;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px #f4623a4d}.chat-gate-btn:hover{filter:brightness(1.06)}header.appbar{background:linear-gradient(180deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 85%,#000));color:#fff;height:52px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 16px;padding-top:env(safe-area-inset-top);box-sizing:content-box;box-shadow:0 1px #ffffff0f inset,0 2px 8px #0e2a3c40;position:relative;z-index:40}header.appbar img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}header.appbar .brand{font-size:15.5px;font-weight:700;letter-spacing:.015em}header.appbar .afd{font-size:13px;color:#fff9;margin-left:6px}header.appbar .grow{flex:1}header.appbar .me{font-size:13px;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}header.appbar .logout{background:none;border:none;cursor:pointer;color:#ffffffbf;padding:6px;display:flex;border-radius:8px;flex-shrink:0}header.appbar .logout:hover{color:#fff;background:#ffffff1f}header.appbar .logout svg{width:18px;height:18px}@media (max-width:560px){header.appbar .afd,header.appbar .me{display:none}}.body{flex:1;display:flex;overflow:hidden;position:relative}.sidebar{width:var(--sidebar-w);background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s ease,transform .2s ease;overflow:hidden}.sidebar.collapsed{width:0;border-right:none}.sidebar .top{padding:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:var(--sidebar-w)}.side-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--header)}html.dark .side-label{color:var(--muted)}.btn-new{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:#fff;border:none;border-radius:7px;padding:6px 11px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;box-shadow:0 1px 3px #f4623a40;transition:filter .12s,box-shadow .12s}.btn-new:hover{filter:brightness(1.06);box-shadow:0 2px 6px #f4623a52}.btn-new:disabled{opacity:.5}.btn-new svg{width:13px;height:13px}.side-search{padding:10px 12px;min-width:var(--sidebar-w);border-bottom:1px solid var(--border)}.side-search input{width:100%;border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12.5px;color:var(--ink);font-family:inherit;background:var(--bg)}.side-search input:focus{border-color:var(--accent);outline:none}.side-bar{min-width:var(--sidebar-w);padding:7px 14px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted2);background:var(--bg);border-bottom:1px solid var(--border)}.sessions{flex:1;overflow-y:auto;padding:8px;min-width:var(--sidebar-w)}.sess{padding:10px 12px;border-radius:8px;margin-bottom:2px;display:flex;align-items:center;gap:10px;transition:background .12s,box-shadow .12s}.sess:hover{background:#f0f5f9}html.dark .sess:hover{background:#2f333a}.sess.active{background:color-mix(in srgb,var(--accent) 10%,var(--panel));box-shadow:inset 3px 0 0 var(--accent)}.sess.active .ti{color:var(--accent);font-weight:600}.sess-body{flex:1;min-width:0;cursor:pointer}.sess .ti{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sess .sub{font-size:11px;color:var(--muted2);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap}.sess .ti mark{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border-radius:2px}.sess-del{opacity:.6;flex-shrink:0;background:none;border:none;cursor:pointer;color:#abc;padding:2px 4px;border-radius:4px;transition:all .12s}.sess:hover .sess-del{opacity:1}.sess-del:hover{color:#e05555;background:#fee}html.dark .sess-del:hover{color:#ff8a8a;background:#4a2a2a}.sess-del svg{width:13px;height:13px;display:block}.sess-ren:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.sess-edit{width:100%;border:1px solid var(--accent);border-radius:6px;padding:3px 7px;font-size:13px;font-family:inherit;background:var(--panel);color:var(--ink);outline:none}.sess-empty{padding:24px 14px;text-align:center;color:var(--muted2);font-size:13px}.sess-empty .sp{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:4px}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.main-toggle{position:absolute;top:12px;left:14px;z-index:10;background:none;border:none;cursor:pointer;padding:6px;color:var(--header);display:flex}html.dark .main-toggle{color:var(--muted)}.main-toggle svg{width:20px;height:20px}.scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.pad{padding:16px 24px;max-width:1160px;width:100%;margin:0 auto}.chat-pad{display:flex;flex-direction:column;flex:1}.home{margin:auto;width:100%;display:flex;justify-content:center;padding:32px 16px}.home-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:40px 34px;max-width:460px;width:100%;text-align:center;box-shadow:0 10px 34px #1e496217}.home-ic{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.home-ic svg{width:28px;height:28px}.home-card h1{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:8px}.home-card p{color:var(--muted);font-size:14px;line-height:1.55;white-space:pre-wrap}.msgs{display:flex;flex-direction:column;gap:10px;padding-top:30px}.qa-msg{max-width:88%;padding:10px 14px;border-radius:14px;font-size:14.5px;line-height:1.55}.qa-msg.q{align-self:flex-end;background:var(--header);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}.qa-msg.a{align-self:flex-start;background:var(--panel);border:1px solid var(--border);border-bottom-left-radius:4px}.qa-msg.a p{margin:4px 0}.qa-msg.a p:first-child{margin-top:0}.qa-msg.a p:last-child{margin-bottom:0}.qa-msg.a ul,.qa-msg.a ol{margin:4px 0 4px 18px;padding:0}.qa-msg.a li{margin:2px 0;padding-left:2px}.qa-msg.a ol li::marker{color:var(--accent);font-weight:700}.qa-msg.a h1,.qa-msg.a h2,.qa-msg.a h3{font-size:14px;color:var(--header);margin:10px 0 4px}html.dark .qa-msg.a h1,html.dark .qa-msg.a h2,html.dark .qa-msg.a h3{color:var(--ink)}.qa-msg.a code{background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:12.5px}.qa-msg.a pre{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:10px 12px;overflow-x:auto;margin:6px 0}.qa-msg.a pre code{background:none;border:none;padding:0;font-size:12.5px}.qa-msg.a blockquote{margin:8px 0;padding:8px 12px;background:var(--bg);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}.qa-msg.a table{border-collapse:collapse;margin:8px 0;font-size:13px}.qa-msg.a th,.qa-msg.a td{border:1px solid var(--border);padding:6px 9px;text-align:left;vertical-align:top}.qa-msg.a th{background:var(--header);font-weight:700;color:#fff;border-color:var(--header)}.sources{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.src{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:3px 10px 3px 6px;text-decoration:none;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.src:hover{color:var(--accent);border-color:var(--accent)}.src img{width:15px;height:15px;border-radius:3px;flex-shrink:0}.gen{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13.5px;padding:6px 0}.gen .sp{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.composer{flex-shrink:0;background:transparent;padding:6px 16px calc(14px + env(safe-area-inset-bottom))}.composer-meta{max-width:1112px;margin:0 auto 8px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:4px 10px;color:var(--ink);max-width:260px}.chip .ic{width:12px;height:12px;color:var(--muted);flex-shrink:0}.chip button{background:none;border:none;cursor:pointer;color:var(--muted2);display:flex;padding:0}.chip button:hover{color:#e05555}.chip button svg{width:12px;height:12px}.chip .sp{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.composer .err{color:#c0442e;font-size:12.5px}.qa-form{display:flex;gap:6px;align-items:flex-end;max-width:1112px;margin:0 auto;width:100%;background:var(--panel);border:1px solid var(--border);border-radius:22px;padding:6px 8px;box-shadow:0 6px 24px #1e49621a,0 1px 3px #1e49620f}.qa-form:focus-within{border-color:var(--accent)}html.dark .qa-form{box-shadow:0 6px 24px #00000059}.qa-form textarea{flex:1;border:none;border-radius:0;padding:9px 6px;font-size:14px;font-family:inherit;background:transparent;color:var(--ink);resize:none;min-height:38px;line-height:1.4}.qa-form textarea:focus{outline:none;box-shadow:none}.qa-form .clip{background:transparent;border:none;color:var(--muted);border-radius:50%;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qa-form .clip:hover{color:var(--accent);background:var(--bg)}.qa-form .clip:disabled{opacity:.5;cursor:default}.qa-form .clip svg{width:17px;height:17px}.qa-form select.model{border:1px solid var(--border);border-radius:12px;padding:0 8px;height:38px;font-size:12.5px;background:var(--bg);color:var(--ink);font-family:inherit;flex-shrink:0;cursor:pointer;max-width:190px}.qa-send{background:var(--accent);border:none;color:#fff;border-radius:50%;padding:0;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;font-family:inherit}.qa-send:hover{filter:brightness(1.06)}.qa-send:disabled{opacity:.5;cursor:default}.qa-send svg{width:16px;height:16px}button.act{font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--ink);padding:9px 13px;border-radius:9px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 2px #1e49620f;transition:border-color .12s,box-shadow .12s,background .12s}button.act:hover{border-color:var(--muted2);box-shadow:0 2px 5px #1e49621a}button.act:active{transform:scale(.98)}button.danger{color:#c0442e;border-color:#e7c4bd}button.danger:hover{border-color:#c0442e}.ic{width:15px;height:15px;flex-shrink:0}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;max-width:440px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 12px 40px #0003}.modal h3{font-size:15px;font-weight:700;color:var(--header);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}html.dark .modal h3{color:var(--ink)}.modal .close-x{background:none;border:none;cursor:pointer;color:var(--muted2);padding:2px;display:flex}.modal .close-x:hover{color:var(--ink)}.modal .close-x svg{width:18px;height:18px}.modal .modal-text{font-size:14px;color:var(--ink);line-height:1.5;margin-bottom:16px}.modal .modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}header.appbar .share-btn{display:flex;align-items:center;gap:6px;background:#ffffff1f;border:none;cursor:pointer;color:#ffffffe6;padding:6px 12px;border-radius:8px;font-size:13px;font-family:inherit;flex-shrink:0}header.appbar .share-btn:hover{color:#fff;background:#fff3}header.appbar .share-btn svg{width:15px;height:15px}.share-tag{display:inline-flex;align-items:center;gap:4px;color:var(--accent)}.share-tag svg{width:11px;height:11px}.qa-msg .sender{font-size:11px;font-weight:700;opacity:.75;margin-bottom:3px}.share-hint{font-size:13px;color:var(--muted);margin-bottom:12px;line-height:1.45}.share-search{position:relative;margin-bottom:10px}.share-search .ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted2);pointer-events:none}.share-search input{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 12px 9px 34px;font-size:14px;background:var(--bg);color:var(--ink);font-family:inherit}.share-search input:focus{border-color:var(--accent);outline:none}.share-results{border:1px solid var(--border);border-radius:9px;margin-bottom:12px;overflow:hidden}.share-results:empty{display:none}.share-hit{display:flex;flex-direction:column;padding:8px 11px;cursor:pointer;border-bottom:1px solid var(--border)}.share-hit:last-child{border-bottom:none}.share-hit:hover{background:var(--bg)}.share-hit .nm{font-size:13.5px;font-weight:600}.share-hit .em{font-size:11.5px;color:var(--muted2)}.share-row{display:flex;align-items:center;gap:9px;padding:7px 0}.share-row .who{flex:1;min-width:0}.share-row .who .nm{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-row .who .em{font-size:11.5px;color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-role{border:1px solid var(--border);border-radius:7px;padding:4px 6px;font-size:12px;background:var(--bg);color:var(--ink);font-family:inherit;flex-shrink:0;cursor:pointer}.share-row .rm{background:none;border:none;cursor:pointer;color:#abc;padding:3px;border-radius:5px;flex-shrink:0;display:flex}.share-row .rm:hover{color:#e05555;background:#fee}html.dark .share-row .rm:hover{background:#4a2a2a}.share-row .rm svg{width:14px;height:14px}.share-empty{color:var(--muted2);font-size:13px;padding:6px 0}.share-status{font-size:12px;color:var(--muted);min-height:16px;margin-top:6px}.share-status.err{color:#c0442e}mark{background:#ffe3c9;color:inherit;border-radius:3px;padding:0 1px}html.dark mark{background:#7a4320;color:#fff}button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:none}input:focus,textarea:focus{box-shadow:0 0 0 3px #f4623a21}.scroll::-webkit-scrollbar,.sessions::-webkit-scrollbar,.modal::-webkit-scrollbar{width:9px}.scroll::-webkit-scrollbar-thumb,.sessions::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb{background:#c3cfd9;border-radius:5px;border:2px solid var(--bg)}html.dark .scroll::-webkit-scrollbar-thumb,html.dark .sessions::-webkit-scrollbar-thumb{background:#454c55;border-color:var(--bg)}::selection{background:#ffd9c4;color:#1e2d3d}html.dark ::selection{background:#7a4320;color:#fff}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:20;display:none}@media (max-width:760px){.sidebar{position:absolute;inset:0 auto 0 0;z-index:30;box-shadow:2px 0 16px #0000002e;transform:translate(-100%);width:var(--sidebar-w)}.sidebar.collapsed{width:var(--sidebar-w);transform:translate(-100%)}.sidebar.open{transform:none}.scrim.show{display:block}.pad{padding:12px}.composer{padding:4px 10px calc(10px + env(safe-area-inset-bottom))}.qa-form{flex-wrap:wrap;border-radius:18px}.qa-form textarea{flex:1 1 100%;font-size:16px;min-height:40px}.qa-form .clip{order:1}.qa-form select.model{order:2;flex:1;max-width:none}.qa-send{order:3;margin-left:auto}}.toggle{background:none;border:none;cursor:pointer;padding:4px;color:var(--header);flex-shrink:0;display:flex}.load-wrap{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:14px}.spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}
