:root[data-theme=dark]{--page-bg:#212121;--page-fg:#ececee;--chat-bg:#212121;--sidebar-bg:#171717;--muted:#b4b4b4;--input-bg:#2f2f2f;--input-border:#ffffff1f;--dropdown-bg:#323232;--user-bubble-bg:#323232;--user-bubble-fg:#f4f4f5;--user-bubble-border:#ffffff0f}:root[data-theme=light]{--page-bg:#e2e8f0;--page-fg:#0f172a;--chat-bg:#f8fafc;--sidebar-bg:#fff;--muted:#64748b;--input-bg:#fff;--input-border:#0f172a1a;--dropdown-bg:#fff;--user-bubble-bg:#e8eaef;--user-bubble-fg:#0f172a;--user-bubble-border:#0f172a14}html{height:100%}#root{min-height:100dvh;flex-direction:column;min-height:-webkit-fill-available;display:flex}.auth-page{--auth-bg:#0f0f12;--auth-card:#1c1c20d9;--auth-border:#ffffff14;--auth-muted:#9ca3af;--auth-accent:#6366f1;--auth-accent-hover:#818cf8;--auth-accent-glow:#6366f159;--auth-input-bg:#0f0f12a6;--auth-radius:16px;--auth-radius-sm:10px;--auth-pad-inline:clamp(1rem, 4vw, 1.5rem);--auth-pad-block:clamp(1rem, 5vw, 1.5rem);box-sizing:border-box;z-index:1;width:100%;min-height:100dvh;min-height:-webkit-fill-available;padding:max(var(--auth-pad-block), env(safe-area-inset-top,0px)) max(var(--auth-pad-inline), env(safe-area-inset-right,0px)) max(var(--auth-pad-block), env(safe-area-inset-bottom,0px)) max(var(--auth-pad-inline), env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;background:var(--auth-bg);background-image:radial-gradient(120% 80% at 50% -30%,#6366f138,#0000 55%),radial-gradient(80% 50% at 100%,#3b82f614,#0000 50%),radial-gradient(60% 40% at 0 80%,#8b5cf60f,#0000 45%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden auto}.auth-card{box-sizing:border-box;border-radius:clamp(12px, 3vw, var(--auth-radius));background:var(--auth-card);border:1px solid var(--auth-border);width:100%;max-width:min(400px,100%);box-shadow:0 0 0 1px #ffffff0a inset, 0 24px 48px -12px #00000073, 0 0 80px -20px var(--auth-accent-glow);-webkit-backdrop-filter:blur(12px);padding:clamp(1.5rem,5vw,2.25rem) clamp(1.25rem,4vw,2rem) clamp(1.35rem,4vw,2rem)}.auth-brand{letter-spacing:-.02em;color:#f4f4f5;justify-content:center;align-items:center;gap:.5rem;margin-bottom:clamp(1.25rem,4vw,1.75rem);font-size:clamp(1rem,2.5vw,1.125rem);font-weight:600;display:flex}.auth-brand i{color:var(--auth-accent);font-size:clamp(1.2rem,3vw,1.35rem)}.auth-title{letter-spacing:-.03em;color:#fafafa;text-align:center;text-wrap:balance;margin:0 0 .35rem;font-size:clamp(1.25rem,4vw + .25rem,1.5rem);font-weight:600;line-height:1.2}.auth-subtitle{color:var(--auth-muted);text-align:center;text-wrap:balance;margin:0 0 clamp(1.25rem,4vw,1.75rem);padding:0 .125rem;font-size:clamp(.875rem,2vw + .35rem,.9375rem);line-height:1.55}.auth-form{flex-direction:column;gap:clamp(.875rem,2.5vw,1.125rem);display:flex}.auth-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.auth-field label{color:#d4d4d8;letter-spacing:.01em;font-size:clamp(.75rem,1.8vw,.8125rem);font-weight:500}.auth-input-wrap{align-items:center;min-width:0;display:flex;position:relative}.auth-input-wrap i{color:var(--auth-muted);pointer-events:none;font-size:clamp(.85rem,2vw,.9rem);position:absolute;left:clamp(.75rem,2.5vw,.875rem)}.auth-input-wrap input{box-sizing:border-box;color:#fafafa;background:var(--auth-input-bg);border:1px solid var(--auth-border);border-radius:var(--auth-radius-sm);outline:none;width:100%;min-width:0;padding:.75rem .875rem .75rem clamp(2.4rem,8vw,2.65rem);font-size:1rem;transition:border-color .15s,box-shadow .15s}.auth-input-wrap input::placeholder{color:#6b7280}.auth-input-wrap input:hover{border-color:#ffffff1f}.auth-input-wrap input:focus{box-shadow:0 0 0 3px var(--auth-accent-glow);border-color:#6366f18c}.auth-submit{letter-spacing:.02em;color:#fff;background:linear-gradient(165deg, var(--auth-accent-hover) 0%, var(--auth-accent) 100%);border-radius:var(--auth-radius-sm);cursor:pointer;width:100%;min-height:44px;box-shadow:0 4px 14px -2px var(--auth-accent-glow);touch-action:manipulation;border:none;margin-top:.25rem;padding:.75rem 1rem;font-size:clamp(.9375rem,2.2vw,1rem);font-weight:600;transition:transform .12s,box-shadow .15s,filter .15s}.auth-submit:hover{filter:brightness(1.06);box-shadow:0 8px 24px -4px var(--auth-accent-glow)}.auth-submit:active{transform:scale(.98)}.auth-switch{text-align:center;color:var(--auth-muted);margin:clamp(1rem,3vw,1.25rem) 0 0;padding:0 .25rem;font-size:clamp(.8125rem,2vw,.875rem);line-height:1.55}.auth-switch .linkButton{margin-left:.15rem;cursor:pointer;font:inherit;color:#a5b4fc;touch-action:manipulation;vertical-align:baseline;background:0 0;border:none;border-bottom:1px solid #0000;margin-inline:-.15rem;padding:.45rem .35rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.auth-switch .linkButton:hover{color:#c7d2fe;border-bottom-color:#c7d2fe80}@media (width<=768px){.auth-card{max-width:min(420px,100%)}}@media (height<=520px){.auth-page{padding-block:max(.75rem, env(safe-area-inset-top,0px)) max(.75rem, env(safe-area-inset-bottom,0px));align-items:flex-start}.auth-card{-webkit-overflow-scrolling:touch;max-height:min(100dvh - 1.5rem,100vh - 1.5rem);overflow-y:auto}.auth-brand{margin-bottom:.75rem}.auth-subtitle{margin-bottom:1rem}.auth-form{gap:.75rem}}@media (width<=360px){.auth-card{border-radius:12px;padding:1.25rem 1rem 1.15rem}.auth-title{font-size:1.2rem}}@media (pointer:coarse){.auth-input-wrap input{min-height:48px;padding-top:.85rem;padding-bottom:.85rem}.auth-submit{min-height:48px}}@media (prefers-reduced-motion:reduce){.auth-submit,.auth-input-wrap input{transition:none}.auth-submit:active{transform:none}}body{min-height:100dvh;background-color:var(--page-bg,#212121);min-height:-webkit-fill-available;margin:0;padding:0}*{color:var(--page-fg,#ececee);font-family:Roboto,Open Sans,Helvetica Neue,sans-serif}.app{background-color:var(--page-bg,#212121);min-height:100dvh;flex:1;min-height:-webkit-fill-available;display:flex;position:relative}.sidebar-backdrop{display:none}@media (width<=1024px){.sidebar-backdrop{z-index:1999;cursor:pointer;background:#00000073;border:0;border-radius:0;margin:0;padding:0;display:block;position:fixed;inset:0}}.sidebar{background-color:var(--sidebar-bg,#171717);color:var(--muted,#b4b4b4);flex-direction:column;justify-content:space-between;width:350px;height:100vh;display:flex}.logo{border-radius:15px;width:30px;height:25px}.sidebar>button{cursor:pointer;background-color:#0000;border:.5px solid #ffffff80;border-radius:5px;justify-content:space-between;align-items:center;margin:10px;padding:10px;display:flex}.sidebar>button span{font-size:20px}.sidebar>button:hover{background-color:#b4b4b41a}.history{height:100%;margin:10px;padding:10px}.history li{cursor:pointer;border:10px solid #0000;margin-bottom:.4rem;padding:2px 5px;font-size:13px;list-style-type:none;position:relative}.history li:hover{background-color:#b4b4b41a;border-radius:10px}.sign{text-align:center;border-top:.25px solid #ffffff80;margin:10px;padding:10px;font-size:14px}.new-chat{font-size:small}.fa-trash{opacity:0;position:absolute;right:0}.history li:hover .fa-trash{opacity:1;color:#fff}.fa-trash:hover{color:red!important}.highlighted{background-color:#b4b4b420;border-radius:8px}@media (width<=1024px){.sidebar{z-index:2000;width:min(88vw,320px);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000059}.sidebar.sidebar--open{transform:translate(0)}}.chatWindow{background-color:var(--chat-bg,#212121);text-align:center;flex-direction:column;align-items:center;width:100%;height:100vh;padding-left:20px;padding-right:20px;display:flex}.chatBody{flex:1;justify-content:center;width:100%;min-height:0;display:flex}.navbar{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;display:flex}.navbar-left{align-items:center;gap:.5rem;margin:1rem 0 1rem 1rem;display:flex}.navbar-left .title{margin:0}.nav-menu-btn{color:#ececee;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.25rem;display:none}.nav-menu-btn:hover{background-color:#ffffff14}@media (width<=1024px){.nav-menu-btn{display:flex}}.userIconDiv{margin:1rem 2rem}.userIcon{cursor:pointer;background-color:#339cff;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;display:flex}.chatInput{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:100%;display:flex}.inputBox{justify-content:space-between;align-items:center;width:100%;max-width:800px;display:flex;position:relative}.inputBox input{box-sizing:border-box;width:100%;min-height:44px;color:var(--page-fg,#ececee);background-color:var(--input-bg,#2f2f2f);border:1px solid var(--input-border,#ffffff1f);border-radius:20px;margin-left:10px;padding:10px 52px 10px 14px;font-size:.9rem}.inputBox input:focus{outline:none}#submit{cursor:pointer;justify-content:center;align-items:center;width:35px;height:35px;font-size:20px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}#submit i:hover{color:#fff}.info{color:var(--muted,#b4b4b4);padding:.5rem;font-size:.8rem}.dropDown{cursor:pointer;background-color:var(--dropdown-bg,#323232);text-align:left;z-index:1000;border:1px solid var(--input-border,#0003);border-radius:7px;width:120px;padding:.3rem .5rem;position:absolute;top:4rem;right:4rem;box-shadow:0 2px 8px #0000001a}.dropDownItems{margin:.3rem 0;padding:.5rem .2rem;font-size:.9rem}.dropDownItems:hover{background-color:#b4b4b41a;border-radius:7px}.title{color:var(--page-fg,#ececee);text-align:center;text-transform:none;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0;font-size:1.25rem;font-weight:500;text-decoration:none;overflow:hidden}.chatContainer{flex-direction:column;width:100%;max-width:800px;height:100%;min-height:0;display:flex}.chats{scrollbar-width:none;flex:1;width:100%;min-height:0;padding:1rem 1.25rem;overflow-y:auto}.chats::-webkit-scrollbar{display:none}.hljs{border-radius:15px!important}pre{white-space:pre-wrap}.userDiv{justify-content:flex-end;font-size:.9rem;display:flex}.gptDiv{text-align:left;font-size:1rem}.gptDiv table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.9rem}.gptDiv th,.gptDiv td{border:1px solid #444;padding:.4rem .6rem}.gptDiv th{background:#2a2a2a}.streamingPlain{white-space:pre-wrap;word-break:break-word}.userMessage{background-color:var(--user-bubble-bg,#323232);color:var(--user-bubble-fg,inherit);border:1px solid var(--user-bubble-border,transparent);border-radius:14px;width:fit-content;max-width:500px;margin-left:min(15rem,20vw);padding:10px 20px}
