:root{--bg: #f4f6f8;--panel: #ffffff;--border: #e3e7ee;--text: #111827;--muted: #6b7280;--blue: #3b82f6;--blueSoft: rgba(59,130,246,.14);--inputBg: #ffffff;--inputBorder: #d7dde6;--shadow: 0 10px 30px rgba(16,24,40,.08);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(980px,92vw);margin:0 auto;padding:24px 18px}.card{border:1px solid var(--border);border-radius:18px;background:var(--panel);padding:18px;box-shadow:var(--shadow)}.small{font-size:12px;color:var(--muted)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:860px){.row2{grid-template-columns:1fr}}.err{color:#dc2626;font-size:12px}.ok{color:#16a34a;font-size:12px}.input,select,textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--inputBorder);background:var(--inputBg);color:var(--text);outline:none;font-size:16px}.input:focus,select:focus,textarea:focus{border-color:#3b82f68c;box-shadow:0 0 0 4px #3b82f62e}.btn{padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#f7f8fa;color:var(--text);cursor:pointer;transition:transform .06s ease,box-shadow .12s ease,background .12s ease,filter .12s ease}.btn:hover{background:#eef2f7;box-shadow:0 10px 22px #1018281a}.btn:active{transform:translateY(1px);background:#e6ebf3}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btnPrimary{border:1px solid rgba(59,130,246,.35);background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;box-shadow:0 12px 26px #3b82f638}.btn.btnPrimary:hover{background:linear-gradient(135deg,#73b4ff,#4b8cff);filter:brightness(1.02);box-shadow:0 16px 34px #3b82f647}.btn.btnPrimary:active{background:linear-gradient(135deg,#67abff,#3f7dff);transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 4px #3b82f638}html,body,#root{height:100%;margin:0}.chatBubble{border:1px solid var(--border);border-radius:16px;padding:12px 14px;background:#e1e1e1;color:var(--text);max-width:86%}.chatBubbleUser{border-color:#3b82f647;background:linear-gradient(135deg,#6db4ff,#6db4ff);margin-left:auto}.chatPage{width:100%;background:#f4f5f7;height:100vh;height:100dvh}.chatShell{height:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff}.chatHeader{flex:0 0 auto;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e5e7eb;padding:max(12px,env(safe-area-inset-top)) 0 12px}.chatHeaderInner{width:min(1280px,calc(100vw - 32px));margin:0 auto}.chatBody{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.chatCenter{flex:1 1 auto;min-height:0;width:min(980px,calc(100vw - 32px));margin:0 auto;display:flex;flex-direction:column}:root{--composer-safe-space: 110px}.chatMessages{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;gap:10px;padding-bottom:calc(var(--composer-safe-space) + env(safe-area-inset-bottom))}.chatComposer{flex:0 0 auto;position:sticky;bottom:0;z-index:20;width:100%;margin:0 0 14px;border-radius:16px;border:1px solid rgba(227,231,238,.65);background:#ffffff8c;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 10px 30px #1018281a;padding:10px 12px;display:flex;gap:8px;align-items:flex-end;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.chatComposer textarea{font-family:inherit;font-size:15px;line-height:1.55;font-weight:400;letter-spacing:.01em;color:#111827e0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:transparent;border:none;outline:none;border-radius:14px;min-height:38px;max-height:calc(4.65em + 16px);overflow-y:auto;resize:none;padding:8px 10px}.chatComposer textarea::placeholder{color:#11182773;font-weight:400}.chatComposer .btn{border-radius:14px}@media(max-width:860px){.chatHeaderInner,.chatCenter{width:calc(100vw - 24px)}:root{--composer-safe-space: 130px}}.modalOverlay{position:fixed;inset:0;background:#11182759;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modalCard{width:min(860px,96vw);height:min(620px,88vh);background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 30px 90px #10182840;overflow:hidden;display:flex;flex-direction:column}.modalHeader{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.modalMain{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:220px 1fr}.modalSidebar{border-right:1px solid var(--border);background:#fafbfc;padding:12px;display:flex;flex-direction:column;gap:8px}.menuBtn{width:100%;text-align:left;padding:12px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;gap:10px;align-items:center;color:var(--text)}.menuBtn:hover{background:#1118270a}.menuBtnActive{background:#3b82f61a;border-color:#3b82f659}.menuIcon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#3b82f624;border:1px solid rgba(59,130,246,.22);color:var(--blue);font-weight:900}.modalContent{min-height:0;padding:14px 16px;overflow:auto}.modalActionsRow{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}@media(max-width:720px){.modalCard{height:min(720px,92vh)}.modalMain{grid-template-columns:1fr}.modalSidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;overflow-x:auto}.menuBtn{white-space:nowrap;width:auto}}.authPage{min-height:100vh;display:grid;place-items:center;padding:24px 12px}.authPage .container{width:min(520px,92vw);padding:0}.authPage .btn{padding:10px 12px;border-radius:12px}.authPage .btnPrimary{box-shadow:0 10px 22px #3b82f638;height:44px}.authPage .row2{grid-template-columns:1fr}.md{font-size:14px;line-height:1.5}.md p{margin:0 0 10px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:8px 0 8px 18px;padding:0}.md li{margin:4px 0}.md strong{font-weight:800}.md a{color:var(--blue);text-decoration:underline}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;background:#3b82f61f;padding:2px 6px;border-radius:8px}.md pre{overflow-x:auto;padding:12px;border-radius:14px;background:#1118270f;border:1px solid rgba(0,0,0,.06)}
