.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;overscroll-behavior-x:none;touch-action:pan-y;width:100%;height:100%;min-height:100%;overflow-x:hidden}:root{--bg-start:#070b17;--bg-end:#0f172a;--surface:#9c9b97;--surface-border:#00000059;--text-primary:#111;--text-secondary:#0009;--primary-btn:#b02a1f;--primary-btn-text:#fff;--primary-btn-border:#8f1f17;--secondary-btn-bg:#d6c7b5;--secondary-btn-border:#00000059;--input-bg:#d6c7b5;--input-border:#00000059;--bubble-user:#8e8c87;--bubble-assistant:#d6c7b5}body{color:var(--text-primary);background-color:#000;background-image:radial-gradient(circle at 20% 30%,#ffffff2e 1px,#0000 1.6px),radial-gradient(circle at 70% 80%,#ffffff1f 1px,#0000 1.8px),radial-gradient(circle at 40% 60%,#ffffff1a 1.2px,#0000 2px);background-position:0 0,40px 60px,120px 20px;background-repeat:repeat;background-size:220px 220px,320px 320px,420px 420px;margin:0;font-family:Inter,Avenir Next,Segoe UI,SF Pro Text,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}.app{touch-action:pan-y;background:0 0;flex-direction:column;gap:.5rem;max-width:960px;height:100dvh;min-height:100dvh;margin:0 auto;padding:.75rem .6rem;transition:margin-left .22s,width .22s;display:flex;overflow:hidden}.appHeader{text-align:center;padding:.1rem calc(max(12px, env(safe-area-inset-right)) + 44px + .6rem) .16rem calc(max(12px, env(safe-area-inset-left)) + 44px + .6rem);z-index:200;color:var(--fg,#f5f5f5);background:#000000e0;flex-shrink:0;justify-items:center;gap:.12rem;min-height:70px;margin:0;display:grid;position:sticky;top:0}.appHeader.compact{border-bottom:1px solid color-mix(in srgb, var(--surface-border) 45%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:10px;justify-content:center;align-items:center;gap:.1rem;padding-top:.2rem;padding-bottom:.32rem;display:flex}.appHeader.compact .headerBrand{gap:0}.appHeader.compact .headerRobotHead{width:64px;height:64px;left:-76px}.appHeader.compact .headerBrandName{font-size:1.45rem}.headerBrandText{text-align:center;flex-direction:column;align-items:center;gap:.1rem;display:flex}.appHeader.compact .appSubtitle{opacity:.58;margin:0;font-size:.72rem}.appHeader .statusLine{color:#f2f4ffcc}.header{flex-shrink:0}.brandLogo{object-fit:contain;width:min(72vw,300px);height:auto;margin:0 auto;display:block}.appTitle{letter-spacing:.03em;margin:0;font-family:Avenir Next,Segoe UI,SF Pro Display,Trebuchet MS,system-ui,sans-serif;font-size:clamp(1.5rem,4.5vw,2.1rem);font-weight:800}.appSubtitle{color:var(--fg,#f5f5f5);margin:0;font-size:clamp(.74rem,2.1vw,.86rem);line-height:1.2}.appMeta{flex-wrap:wrap;gap:.4rem 1rem;display:flex}.paletteBtn{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:1000;border:1px solid var(--surface-border);background:var(--secondary-btn-bg);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;display:flex;position:fixed}.modeToggleBtn{top:max(12px, env(safe-area-inset-top));right:calc(max(12px, env(safe-area-inset-right)) + 44px + 8px);z-index:1000;border:1px solid var(--surface-border);min-width:44px;height:44px;font:inherit;letter-spacing:.03em;cursor:pointer;touch-action:manipulation;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;padding:0 .6rem;font-size:.78rem;font-weight:700;display:flex;position:fixed}.modeToggleBtn.modeOffline{color:#fff;background:#b4281eb8;border-color:#b4281e8c}.modeToggleBtn.modeOnline{color:#fff;background:#168c3cbf;border-color:#168c3c8c}.app[data-theme=neon]{--surface:#0a1212eb;--surface-border:#ffffff1f;--text-primary:#f5f6ff;--text-secondary:#f5f6ffb8;--primary-btn:#e11d6a;--primary-btn-border:#b91355;--secondary-btn-bg:#005a69bf;--secondary-btn-border:#ffffff24;--input-bg:#005a6959;--input-border:#ffffff24;--bubble-user:#e11d6a59;--bubble-assistant:#f0785c4d}.app[data-theme=neon] .bubble{color:#f5f6ff}.app[data-theme=funkygb]{--surface:#121216eb;--surface-border:#ffffff1f;--text-primary:#f5f6ff;--text-secondary:#f5f6ffb8;--primary-btn:#22a7ff;--primary-btn-text:#101018;--primary-btn-border:#1483c9;--secondary-btn-bg:#5a00788c;--secondary-btn-border:#ffffff24;--input-bg:#121216bf;--input-border:#ffffff24;--bubble-user:#ff003c4d;--bubble-assistant:#9600c842}.app[data-theme=funkygb] .bubble{color:#f5f6ff}.app[data-theme=smoky]{--bg:#0f0f1b;--panel:#565a75;--accent:#c6b7be;--fg:#fafbf6;--surface:#565a75;--surface-border:#c6b7be;--text-primary:#fafbf6;--text-secondary:#fafbf6bf;--primary-btn:#c6b7be;--primary-btn-text:#101018;--primary-btn-border:#565a75;--secondary-btn-bg:#565a75;--secondary-btn-border:#c6b7be;--input-bg:#565a75;--input-border:#c6b7be;--bubble-user:#565a75;--bubble-assistant:#c6b7be}.app[data-theme=smoky] .bubble{color:#0b0f10}.app[data-theme=harbor]{--bg:#081622;--panel:#1a2f43;--accent:#8fb6d8;--fg:#eef6ff;--surface:#1a2f43;--surface-border:#4f7392;--text-primary:#eef6ff;--text-secondary:#eef6ffbf;--primary-btn:#4da3ff;--primary-btn-text:#101018;--primary-btn-border:#2f7edb;--secondary-btn-bg:#22435f;--secondary-btn-border:#5a88ad;--input-bg:#16344b;--input-border:#5a88ad;--bubble-user:#2c5070;--bubble-assistant:#3c6a91}.app[data-theme=harbor] .bubble{color:#f2f8ff}.app[data-theme=retrogrid]{--bg:#000;--panel:#6e6a73;--accent:#7b4a74;--fg:#bfc5b2;--surface:#4b3f5e;--surface-2:#6f6a66;--surface-border:#6b7378;--text-primary:#e8eadf;--text-secondary:#e8eadfbf;--primary-btn:#4a6ea8;--primary-btn-text:#fff;--primary-btn-border:#3a5688;--secondary-btn-bg:#5a4e6e;--secondary-btn-border:#6b7378;--input-bg:#3d3354;--input-border:#6b7378;--bubble-user:#7b4a74;--bubble-assistant:#6f6a66;--border:#6b7378}.app[data-theme=retrogrid] .bubble{color:#fafaf5}.panel{background:var(--surface);border:1px solid var(--surface-border);border-radius:10px;padding:.9rem;box-shadow:0 8px 24px #02061752}.panelHeader{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;margin:-.9rem -.9rem .75rem;padding:.75rem .9rem;display:flex}.panelHeader h2{color:var(--text-primary);margin:0;font-size:1.1rem}.app>section[aria-label=Main\ chat]{flex-direction:column;flex:1;min-height:0;display:flex}.app>section.panel:not(.chatPanel){z-index:2100;background:color-mix(in srgb, var(--panel,#1a2230) 90%, var(--bg,#0b1020));max-height:min(70vh,520px);color:var(--fg,#f5f5f5);border:1px solid color-mix(in srgb, var(--surface-border,#c6b7be) 80%, transparent);border-top:1px solid color-mix(in srgb, var(--surface-border,#c6b7be) 80%, transparent);padding:.9rem 1rem calc(1rem + env(safe-area-inset-bottom) + .4rem);border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -10px 26px #02061773}.label{margin:0 0 .5rem;font-weight:600}.input,.textarea,.button{font:inherit}.input,.textarea{border:1px solid #d1d5db;border-radius:8px;width:100%;min-height:70px;padding:12px;font-size:16px}.hint{color:var(--text-secondary);margin:.6rem 0 0}.statusLine{color:var(--text-secondary);margin:0;font-size:.86rem}.appMeta .mobileDiagnosticLine{display:block}.button{border:1px solid var(--primary-btn-border);background:var(--primary-btn);color:var(--primary-btn-text);cursor:pointer;border-radius:8px;padding:.5rem .8rem}.button:not(:disabled):hover{filter:brightness(1.05)}.button:disabled{opacity:.5;cursor:not-allowed}.button:focus-visible,.startAIButton:focus-visible,.sidebarMenuItem:focus-visible,.modelRowMain:focus-visible,.hamburgerBtn:focus-visible,.paletteBtn:focus-visible,.sidebarCloseBtn:focus-visible,.itemMenuTrigger:focus-visible{outline-offset:2px;outline:2px solid #f8fafc;box-shadow:0 0 0 4px #3b82f68c}.button.secondary{background:var(--secondary-btn-bg);border-color:var(--secondary-btn-border);color:var(--text-primary)}.progressWrap{align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.progressBar{width:100%}.statusText,.readyText,.errorText{margin:.5rem 0 0}.readyText{color:#34d399}.errorText{color:#f87171}.aiStatus{opacity:.8;color:var(--fg,#f5f5f5);align-items:center;gap:6px;font-size:13px;display:flex}.aiDot{background:#34d399;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #34d39999}.chatPanel{overscroll-behavior-x:none;touch-action:pan-y;flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow-x:hidden}.chatMessagesContainer{overscroll-behavior-x:none;touch-action:pan-y;flex-direction:column;flex:1;min-height:0;display:flex;overflow-x:hidden}.chatMessagesContainer>.hint{color:color-mix(in srgb, var(--text-secondary) 88%, var(--text-primary) 12%);margin-top:auto;margin-bottom:.5rem;padding:0 .45rem;font-size:1rem;line-height:1.4}.rowActions{gap:.35rem;display:flex}.iconBtn{touch-action:manipulation;justify-content:center;align-items:center;width:44px;min-width:44px;min-height:44px;padding:.3rem;font-size:1rem;line-height:1;display:inline-flex}.inputTopActions{justify-content:flex-end;gap:.5rem;padding:0 .75rem .5rem;display:flex}.inputActionCol{flex-direction:column;gap:7px;display:flex}.inputActionRow{gap:8px;display:flex}.inputActionRow>button{flex:1;min-height:44px}.inputActionCol .sendBtn{border-color:color-mix(in srgb, var(--primary-btn-border) 78%, transparent);width:100%;min-height:44px;box-shadow:0 2px 8px color-mix(in srgb, var(--primary-btn) 22%, transparent);font-weight:650}.inputActionRow .button{border-color:color-mix(in srgb, var(--surface-border) 60%, transparent)}.messageList{overscroll-behavior-x:none;touch-action:pan-y;scrollbar-width:auto;scrollbar-color:#fff6 transparent;flex-direction:column;flex:1;gap:.5rem;min-height:0;max-height:none;margin:0;padding:.5rem .4rem;display:flex;overflow:hidden auto}.messageList .hint{color:color-mix(in srgb, var(--text-secondary) 88%, var(--text-primary) 12%);margin:auto 0 .45rem;font-size:1rem;line-height:1.4}.messageListShell{overscroll-behavior-x:none;touch-action:pan-y;flex:1;min-height:0;display:flex;position:relative;overflow-x:clip}.scrollBottomBtn{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));touch-action:manipulation;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 14px #00000059}.scrollBottomBtn:hover{background:#000000b3}.chatPanel{scrollbar-width:auto;scrollbar-color:#fff6 transparent}.messageList::-webkit-scrollbar{width:8px;height:8px}.chatPanel::-webkit-scrollbar{width:8px;height:8px}.messageList::-webkit-scrollbar-track{background:0 0}.chatPanel::-webkit-scrollbar-track{background:0 0}.messageList::-webkit-scrollbar-thumb{background:#fff6;border-radius:999px}.chatPanel::-webkit-scrollbar-thumb{background:#fff6;border-radius:999px}.messageList::-webkit-scrollbar-thumb:hover{background:#ffffff8c}.chatPanel::-webkit-scrollbar-thumb:hover{background:#ffffff8c}.bubble{color:#111;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;border:1.5px solid #00000094;border-radius:14px;width:fit-content;max-width:min(80%,640px);padding:.7rem .85rem;line-height:1.5;display:inline-block;position:relative;box-shadow:0 2px 6px #0003}.bubble .markdownContent{white-space:normal;margin-top:.3rem}.bubble .markdownContent p{margin:0 0 .55rem}.bubble .markdownContent p:last-child,.bubble .markdownContent ul:last-child,.bubble .markdownContent ol:last-child,.bubble .markdownContent pre:last-child{margin-bottom:0}.bubble .markdownContent ul,.bubble .markdownContent ol{margin:0 0 .55rem;padding-left:1.2rem}.bubble .markdownContent li+li{margin-top:.2rem}.bubble .markdownContent :not(pre)>code{background:#00000024;border-radius:4px;padding:.12rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.92em}.bubble .markdownContent pre{white-space:pre;background:#00000026;border-radius:8px;margin:0 0 .55rem;padding:.6rem .7rem;overflow-x:auto}.bubble .markdownContent pre code{background:0 0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9em}.bubble.copyable{padding-bottom:1.85rem}.copyBtn{min-width:44px;min-height:44px;color:inherit;cursor:pointer;opacity:.35;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#0000000f;border:1px solid #0000001a;border-radius:5px;padding:.28rem .6rem;font-family:inherit;font-size:.72rem;line-height:1.2;transition:opacity .15s;position:absolute;bottom:.2rem;right:.5rem}.copyBtn:hover,.copyBtn:focus-visible,.copyBtn.copied{opacity:1}.copyBtn:active{transform:scale(.9)}@media (hover:hover){.copyBtn{opacity:0}.bubble.copyable:hover .copyBtn{opacity:.45}}.userBubble{background:var(--bubble-user);min-width:5.25rem;margin-left:auto;margin-right:8px}.userBubble:after{content:"";background:var(--bubble-user);border-top:1.5px solid #00000094;border-right:1.5px solid #00000094;width:8px;height:8px;position:absolute;bottom:11px;right:-5px;transform:rotate(45deg)}.assistantBubble{background:var(--bubble-assistant);margin-left:8px;margin-right:auto}.assistantBubble:after{content:"";background:var(--bubble-assistant);border-bottom:1.5px solid #00000094;border-left:1.5px solid #00000094;width:8px;height:8px;position:absolute;bottom:11px;left:-5px;transform:rotate(45deg)}.localMessage{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1.5px solid color-mix(in srgb, var(--surface-border) 65%, transparent);color:var(--text-primary);margin-left:auto;margin-right:auto;font-size:.9em;font-style:italic;box-shadow:0 1px 3px #0000001f}.localMessage:after{display:none}.thinkingBubble{opacity:.75;font-style:italic}.thinkingDots{margin-left:2px;display:inline-flex}.thinkingDots>span{animation:1.1s step-end infinite thinkingDotPulse;display:inline-block}.thinkingDots>span:nth-child(2){animation-delay:.2s}.thinkingDots>span:nth-child(3){animation-delay:.4s}@keyframes thinkingDotPulse{0%,20%{opacity:.25}40%,to{opacity:1}}.modelStatusRow{border-top:1px solid color-mix(in srgb, var(--surface-border) 48%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);flex-shrink:0;align-items:center;gap:.45rem;min-height:44px;padding:0 .55rem;display:flex}.modelStatusRowBtn{cursor:pointer;width:100%;min-width:0;min-height:44px;color:inherit;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:1;align-items:center;gap:.45rem;margin:0;padding:0;display:flex}.modelStatusRowBtn:active{opacity:.65}.modelStatusDot{background:var(--text-secondary);opacity:.62;border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background .3s,opacity .3s}.modelStatusDot.ready{opacity:1;background:#34d399}.modelStatusDot.loading{opacity:1;background:#f87171}.modelStatusName{color:color-mix(in srgb, var(--text-primary) 70%, var(--text-secondary));letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-width:65%;font-size:.76rem;font-weight:600;overflow:hidden}.modelStatusLabel{color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 18%, transparent);border-radius:4px;padding:.04rem .28rem;font-weight:700;display:inline-block}.modelStatusText{color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-size:.72rem}.modelStatusChevron{opacity:.4;color:inherit;flex-shrink:0;margin-left:.2rem;font-size:.82rem;line-height:1}.inputArea{flex-direction:column;display:flex}.inputRow{background:var(--surface);padding:.28rem .15rem max(6px, env(safe-area-inset-bottom));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--surface-border) 24%, transparent);flex-shrink:0;grid-template-columns:1fr auto;align-items:end;gap:.45rem;display:grid;position:sticky;bottom:0}.chatInput{min-height:58px;padding:10px;font-size:16px}.input,.textarea{background:var(--input-bg);color:var(--text-primary);border-color:var(--input-border)}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb, var(--text-primary) 55%, transparent)}.input:focus,.textarea:focus{outline-offset:1px;outline:2px solid #3b82f680}.inputActions{justify-content:flex-end;min-width:96px;display:flex}.sendBtn{min-width:72px;min-height:44px;padding:.35rem .6rem}@media (width<=600px){.modelPanel{padding:.6rem}.modelPanel .label{margin:0 0 .25rem;font-size:.9rem}.modelPanel>p{margin:.2rem 0}.modelPanel .button{padding:.35rem .6rem}.modelPanel .progressWrap{gap:.35rem;margin-top:.35rem}.modelPanel .progressBar{height:8px}.modelPanel .statusText{margin:.3rem 0 0;font-size:.86rem}.appMeta .mobileDiagnosticLine{display:none}}@media (width<=400px){.compactModelLeft .personaSelect{min-width:0}}.hamburgerBtn{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));z-index:1001;border:1px solid var(--surface-border);background:var(--secondary-btn-bg);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:fixed}.hamburgerBtn:hover{opacity:.9}.hamburgerBtn:active{transform:scale(.95)}@media (width>=1024px){.hamburgerBtn{left:max(12px,50vw - 480px)}.paletteBtn{right:max(12px,50vw - 480px)}.modeToggleBtn{right:calc(max(12px,50vw - 480px) + 52px)}}.sidebarOverlay{z-index:2000;background:#0009;animation:.25s ease-out fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebarDrawer{background:var(--surface);border-right:1px solid var(--surface-border);z-index:2001;border-radius:0 16px 16px 0;flex-direction:column;width:min(236px,72vw);animation:.2s ease-out drawerFadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 24px #00000073}@media (width>=900px){:root{--desktop-sidebar-width:220px}.sidebarOverlay{display:none}.sidebarDrawer{width:var(--desktop-sidebar-width);left:max(0px, calc((100vw - 960px) / 2 - var(--desktop-sidebar-width)))}.app.sidebarRailOpen{width:auto;max-width:960px;margin-left:auto}.app.sidebarRailOpen .hamburgerBtn{opacity:0;pointer-events:none}}.chatPickerBackdrop{z-index:2150;background:0 0;border:none;margin:0;padding:0;position:fixed;inset:0}.chatPickerPopover{left:50%;bottom:calc(108px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--surface-border) 70%, transparent);background:color-mix(in srgb, var(--surface) 96%, black 4%);z-index:2151;border-radius:12px;width:min(86vw,360px);max-height:min(42vh,300px);position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 30px #00000059}.chatPickerTitle{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid color-mix(in srgb, var(--surface-border) 55%, transparent);margin:0;padding:.62rem .72rem;font-size:.74rem}.chatPickerList{flex-direction:column;max-height:min(34vh,240px);display:flex;overflow-y:auto}.chatPickerItem{color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;padding:.58rem .72rem;font-size:.9rem;line-height:1.3}.chatPickerItem:hover{background:#0000001a}.chatPickerItem.active{background:#00000024;font-weight:600}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.sidebarHeader{border-bottom:1px solid color-mix(in srgb, var(--surface-border) 60%, transparent);flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.sidebarHeader h2{color:var(--text-primary);letter-spacing:.01em;margin:0;font-size:1.1rem;font-weight:700}.sidebarCloseBtn{cursor:pointer;color:var(--text-primary);touch-action:manipulation;background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex}.sidebarCloseBtn:hover{background:#0000001a}.sidebarCloseBtn:active{transform:scale(.95)}.sidebarContent{min-height:0;color:var(--text-primary);flex:1;padding:.82rem .9rem 1rem;overflow-y:auto}.sidebarSection{margin-bottom:1.35rem}.chatActionsGroup{border-bottom:1px solid color-mix(in srgb, var(--surface-border) 55%, transparent);margin-bottom:.75rem;padding-bottom:.7rem}.defaultChatsSection,.projectGroup{border:1px solid color-mix(in srgb, var(--surface-border) 45%, transparent);background:#00000006;border-radius:8px;margin-top:.55rem;padding:.42rem .45rem}.projectGroup{margin-bottom:.45rem}.projectHeader{text-align:left;width:100%;min-height:44px;font:inherit;letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:6px;margin:0 0 .28rem;padding:.3rem .45rem;font-size:.78rem;display:block}.projectHeader:hover{background:#00000014}.projectHeader.activeProject{color:var(--text-primary);background:#0000001f;font-weight:600}.sidebarSectionTitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.065em;margin:0 0 .5rem .1rem;font-size:.72rem;font-weight:600}.sidebarMenuItem{width:100%;min-height:44px;color:var(--text-primary);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:7px;padding:.62rem .72rem;font-size:.92rem;line-height:1.32;transition:background .2s;display:block}.sidebarSection .sidebarMenuItem+.sidebarMenuItem{margin-top:.12rem}.sidebarMenuItem:hover{background:#0000001a}.sidebarMenuItem:active{transform:scale(.98)}.sidebarMenuItem.active{border-left:2px solid var(--primary-btn,#4da3ff);background:#00000026;font-weight:600}.sidebarMenuItem.newChatBtn{background:var(--primary-btn);color:var(--primary-btn-text,#fff);margin-bottom:.4rem;padding:.7rem .75rem;font-size:.95rem;font-weight:600}.sidebarMenuItem.newChatBtn:hover{background:var(--primary-btn);opacity:.9}.sidebarMenuItem:disabled{opacity:.4;cursor:not-allowed}.sidebarMenuItem:disabled:hover{background:0 0;transform:none}.modelListCompact{flex-direction:column;gap:.34rem;display:flex}.modelRowCompact{border:1px solid color-mix(in srgb, var(--surface-border) 45%, transparent);background:#0000000a;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:.36rem;padding:.2rem;display:grid}.modelRowCompact.active{border-color:color-mix(in srgb, var(--primary-btn) 45%, var(--surface-border));background:#00000014}.modelRowMain{color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:6px;min-width:0;min-height:44px;padding:.34rem .38rem}.modelRowMain:hover{background:#00000014}.modelRowMain:disabled{opacity:.6;cursor:not-allowed}.modelRowTitle{white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;line-height:1.25;display:block;overflow:hidden}.modelRowTag{letter-spacing:.02em;color:var(--text-secondary);margin-top:.1rem;font-size:.66rem;display:inline-block}.modelLoadBtn{border:1px solid color-mix(in srgb, var(--primary-btn-border) 70%, transparent);background:var(--primary-btn);min-width:62px;height:44px;min-height:44px;color:var(--primary-btn-text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:7px;padding:0 .58rem;font-size:.78rem;font-weight:600}.modelLoadBtn.armed{filter:brightness(.94)}.modelLoadBtn:disabled{opacity:.55;cursor:not-allowed}.modelLoadProgress{border:1px solid color-mix(in srgb, var(--surface-border) 55%, transparent);background:#0000000f;border-radius:8px;margin-top:.6rem;padding:.48rem .56rem}.modelLoadProgressTop{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.modelLoadProgressText{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.modelLoadProgressPct{color:var(--text-primary);font-size:.74rem;font-weight:600}.modelLoadProgressBar{width:100%;height:9px;margin-top:.42rem}.chatItemWrapper{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.2rem;margin-bottom:.06rem;display:grid;position:relative}.sidebarMenuItem.chatItem{min-width:0;padding-right:.58rem}.chatItemText{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.itemMenuTrigger{border:1px solid color-mix(in srgb, var(--surface-border) 55%, transparent);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1.05rem;line-height:1;transition:background .2s,color .2s;display:flex}@media (width<=899px){.projectHeader,.sidebarMenuItem{align-items:center;display:flex}.modelRowMain{flex-direction:column;justify-content:center;display:flex}.modelLoadBtn{min-width:68px;padding:0 .7rem}}.itemMenuTrigger:hover{color:var(--text-primary);background:#00000026}.itemMenuTrigger:active{transform:scale(.9)}.itemMenu{background:color-mix(in srgb, var(--surface) 94%, #000 6%);border:1px solid color-mix(in srgb, var(--surface-border) 65%, transparent);z-index:3;border-radius:8px;min-width:118px;padding:.24rem;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 7px 16px #00000040}.itemMenuAction{width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .5rem;font-size:.82rem}.itemMenuAction:hover{background:#0000001a}.itemMenuAction:disabled{opacity:.5;cursor:not-allowed}.itemMenuAction.danger:hover:not(:disabled){color:#cb2d2d;background:#ff00001f}.itemMenuAction+.itemMenuAction{margin-top:.1rem}.chatItemWrapper:has(.itemMenu){z-index:10}.chatItemWrapper input{width:100%}.chatItemWrapper.renameEditing .sidebarMenuItem.chatItem:disabled{opacity:1}.chatItemWrapper.renameEditing{grid-template-columns:minmax(0,1fr)}.chatItemWrapper.renameEditing .itemMenuTrigger,.chatItemWrapper.renameEditing .itemMenu{display:none}.chatItemWrapper.renameEditing .chatItemText{text-overflow:clip;white-space:normal;align-items:center;gap:.3rem;display:flex;overflow:visible}.chatItemWrapper.renameEditing input{min-width:0;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 86%, #fff 14%);caret-color:var(--text-primary);border:1px solid color-mix(in srgb, var(--surface-border) 65%, transparent);border-radius:6px;flex:1;padding:.26rem .4rem}.chatItemWrapper.renameEditing input:focus{outline:2px solid color-mix(in srgb, var(--primary-btn) 55%, #fff 45%);outline-offset:1px}.chatItemWrapper.renameEditing input::placeholder{color:color-mix(in srgb, var(--text-secondary) 80%, var(--text-primary) 20%)}@media (hover:none){.itemMenuTrigger{opacity:.8}}.confirmOverlay{z-index:2200;background:#00000061;position:fixed;inset:0}.confirmDialog{z-index:2201;background:var(--surface);width:min(92vw,420px);color:var(--text-primary);border:1px solid var(--border-color);border-radius:14px;padding:1rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 32px #0000003d}.confirmDialogTitle{margin:0;font-size:1rem}.confirmDialogMessage{color:var(--text-secondary);margin:.55rem 0 0;line-height:1.4}.confirmDialogActions{justify-content:flex-end;gap:.55rem;margin-top:.9rem;display:flex}@media (prefers-reduced-motion:reduce){.splashScreen,.splashContent,.splashLogoContainer,.splashSpinner,.thinkingDot,.sidebarDrawer,.sidebarOverlay,.antennaGroup,.eyeL,.eyeR,.eyePupilL,.eyePupilR,.mouthSeg,.laserBeamL,.laserBeamR,.eyeGlintL,.eyeGlintR,.eyeGlintRingL,.eyeGlintRingR,.iSpark,.overheatTint,.steamPuff,.robotShudder,.sparkle,.mascotPropSvg,.robomascot--flyoff .splashLogoSvg,.robomascot--flyoff .headerRobotHead,[class*=robomascot--returning-] .splashLogoSvg,[class*=robomascot--returning-] .headerRobotHead{animation:none!important}.button,.sidebarMenuItem,.chatRenameBtn,.chatDeleteBtn,.copyBtn,.confirmOverlay,.confirmDialog{transition:none!important}.thinkingDots>span{opacity:1;animation:none!important}}.splashScreen{z-index:9999;background-color:#000;background-image:radial-gradient(circle at 20% 30%,#ffffff1f 1px,#0000 1.6px),radial-gradient(circle at 70% 80%,#ffffff14 1px,#0000 1.8px),radial-gradient(circle at 40% 60%,#ffffff12 1.2px,#0000 2px);background-position:0 0,40px 60px,120px 20px;background-repeat:repeat;background-size:220px 220px,320px 320px,420px 420px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;justify-content:center;align-items:center;animation:.3s ease-out splashFadeIn;display:flex;position:fixed;inset:0}@keyframes splashFadeIn{0%{opacity:0}to{opacity:1}}.splashContent{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:500px;padding:1.7rem 1.4rem;animation:.6s ease-out splashSlideUp;display:flex}@keyframes splashSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.splashLogoContainer{margin-bottom:1.35rem;position:relative}.headerBrand{justify-content:center;align-items:center;gap:0;display:flex;position:relative}.headerRobotHead{flex-shrink:0;width:56px;height:56px;position:absolute;left:-68px;overflow:visible}.headerBrandName{letter-spacing:.03em;background:linear-gradient(135deg,#f5f6ff 0%,#c6b7be 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.55rem;font-weight:800;line-height:1}.splashLogoSvg{filter:drop-shadow(0 4px 16px #ffe03338);width:min(62vw,150px);height:min(62vw,150px);display:block;overflow:visible}.splashTitle{letter-spacing:.03em;background:linear-gradient(135deg,#f5f6ff 0%,#c6b7be 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:clamp(2rem,8vw,3rem);font-weight:800}.splashTagline{color:#f5f6ffbd;margin:0 0 1.55rem;font-size:clamp(.9rem,3vw,1.1rem);font-weight:400}.splashTitle,.splashTagline,.splashLogoContainer,.startAIButton,.startGemmaButton,.headerBrand,.headerBrandName,.headerBrandText,.appSubtitle{-webkit-user-select:none;user-select:none}.splashBootLog{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:108px;display:flex}.bootMessage{color:#f5f6ffe6;min-height:1.5em;font-family:SF Mono,Consolas,Monaco,monospace;font-size:clamp(.85rem,2.5vw,.95rem)}.bootDots{text-align:left;width:1.5em;display:inline-block}.splashProgressContainer{align-items:center;gap:.75rem;width:100%;max-width:320px;display:flex;position:relative}.splashProgressBar{background:#565a7580;border-radius:999px;flex:1;height:8px;overflow:hidden;box-shadow:inset 0 1px 3px #0000004d}.splashProgressFill{background:linear-gradient(90deg,#c6b7be 0%,#9c9b97 100%);border-radius:999px;height:100%;transition:width .3s ease-out;box-shadow:0 0 10px #c6b7be99}.splashProgressText{color:#f5f6ffcc;text-align:right;min-width:3rem;font-size:.85rem;font-weight:600}.splashHint{color:#f5f6ffb8;margin:.5rem 0 0;font-size:.8rem;line-height:1.5}.splashHint small{color:#f5f6ff9e;font-size:.75rem}@media (height<=700px){.splashLogoSvg{width:min(44vw,110px);height:min(44vw,110px)}.splashTitle{font-size:clamp(1.5rem,6vw,2.2rem)}.splashTagline{margin-bottom:2rem}.splashBootLog{min-height:80px}}.startAIButton{color:#fff;cursor:pointer;background:linear-gradient(#4da3ff,#2f7edb);border:1px solid #ffffff24;border-radius:12px;margin-top:18px;padding:13px 30px;font-size:17px;font-weight:600;transition:transform .12s,box-shadow .12s;box-shadow:0 4px 12px #4da3ff3d}.startAIButton:hover{transform:translateY(-1px);box-shadow:0 6px 16px #4da3ff4d}.startAIButton:active{transform:translateY(1px);box-shadow:0 4px 12px #4da3ff40}.splashActionButtons{flex-direction:column;gap:9px;width:100%;max-width:320px;margin-top:14px;display:flex}.splashActionButtons .startAIButton:first-child{box-shadow:none;background:#ffffff0f;border-color:#ffffff2e}.splashActionButtons .startAIButton:first-child:hover{box-shadow:none}.splashActionButtons .startAIButton{width:100%;margin-top:0}.startGemmaButton{color:#fff;cursor:pointer;background:linear-gradient(#2d6dc4,#1a4a8f);border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:320px;margin-top:9px;padding:13px 30px;font-size:17px;font-weight:600;transition:transform .12s,box-shadow .12s;box-shadow:0 4px 12px #1d4a8f52}.startGemmaButton:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1d4a8f66}.startGemmaButton:active{transform:translateY(1px);box-shadow:0 2px 8px #1d4a8f4d}.startGemmaButton:focus-visible{outline-offset:2px;outline:2px solid #f8fafc;box-shadow:0 0 0 4px #3b82f68c}.splashInfoOverlay{z-index:3000;background:#0000009e;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.splashInfoPanel{color:#eef3ff;text-align:left;background:#1f2b3f;border:1px solid #ffffff24;border-radius:14px;width:min(100%,520px);max-height:min(86vh,700px);padding:18px 16px;overflow-y:auto;box-shadow:0 18px 40px #00000073}.splashInfoPanel h2{margin:0 0 10px;font-size:1.1rem}.splashInfoPanel p{margin:0 0 10px;font-size:.9rem;line-height:1.45}.splashInfoCloseButton{color:#fff;cursor:pointer;background:linear-gradient(#4da3ff,#2f7edb);border:none;border-radius:10px;margin-top:8px;padding:10px 16px;font-size:.95rem;font-weight:600}.splashInfoCloseButton:focus-visible{outline-offset:2px;outline:2px solid #f8fafc;box-shadow:0 0 0 4px #3b82f68c}.splashStatus{color:#f5f6ffd6;margin-top:10px;font-size:14px;line-height:1.5}.pdfControlsRow{border-top:1px solid color-mix(in srgb, var(--surface-border) 48%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);flex-shrink:0;align-items:center;gap:.35rem;padding:.28rem .55rem;display:flex}.docIndexBtn{white-space:nowrap;border-radius:6px;min-height:28px;padding:.2rem .55rem;font-size:.72rem}.docIndexClearBtn{cursor:pointer;color:var(--text-primary);opacity:.55;background:0 0;border:none;padding:0 .15rem;font-size:.72rem;line-height:1}.docIndexClearBtn:hover{opacity:1}.docIndexError{color:#f87171;white-space:nowrap;font-size:.72rem}.docIndexChip{color:color-mix(in srgb, var(--text-primary) 65%, var(--text-secondary));white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:.68rem}.docIndexChipHeader{white-space:nowrap;align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.docIndexChipToggle{background:color-mix(in srgb, var(--chat-bg,#1a2332) 80%, var(--text-primary));color:var(--text-primary);cursor:pointer;white-space:nowrap;border:1px solid #ffffff26;border-radius:14px;align-items:center;gap:.3rem;max-width:14rem;padding:.2rem .55rem;font-size:.72rem;transition:border-color .15s,background .15s;display:inline-flex;overflow:hidden}.docIndexChipToggle:hover{border-color:#ffffff4d}.docIndexChipToggle.active{background:color-mix(in srgb, var(--chat-bg,#1a2332) 70%, #34d39940);border-color:#34d39980}.docIndexActiveLabel{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:.62rem;font-weight:600}.docIndexChipToggle.active .docIndexActiveLabel{color:#34d399e6;opacity:1}.docIndexChipClear{cursor:pointer;color:var(--text-primary);opacity:.4;background:0 0;border:none;margin-left:.1rem;padding:0 .15rem;font-size:.65rem;line-height:1}.docIndexChipClear:hover{opacity:1}.antennaGroup{transform-box:fill-box;transform-origin:50% 100%;animation:9s ease-in-out 3s infinite antennaWobble}@keyframes antennaWobble{0%,70%,to{transform:rotate(0)}74%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}86%{transform:rotate(2deg)}92%{transform:rotate(-.5deg)}}.eyeL,.eyeR{transform-box:fill-box;transform-origin:50%}@keyframes eyeBlink{0%,88%,to{transform:scaleY(1)}94%{transform:scaleY(.08)}}.eyeL{animation:7s ease-in-out infinite eyeBlink}.eyeR{animation:7s ease-in-out 60ms infinite eyeBlink}.eyePupilL,.eyePupilR{transform-box:fill-box;transform-origin:50%}@keyframes pupilWanderL{0%,to{transform:translate(0)}25%{transform:translate(1.6px)}50%{transform:translate(.4px,1.1px)}75%{transform:translate(-1.5px,.5px)}}@keyframes pupilWanderR{0%,to{transform:translate(0)}25%{transform:translate(1.4px,.5px)}50%{transform:translateY(1.1px)}75%{transform:translate(-1.6px)}}.eyePupilL{animation:9s ease-in-out infinite pupilWanderL}.eyePupilR{animation:9s ease-in-out 2.2s infinite pupilWanderR}.mouthSeg{transform-box:fill-box;transform-origin:bottom}@keyframes mouthTalk{0%,to{transform:scaleY(1)}50%{transform:scaleY(2.4)}}.robotTalking .mouthSeg{animation:.26s ease-in-out infinite mouthTalk}.robotTalking .mouthSeg2{animation-delay:90ms}.robotTalking .mouthSeg3{animation-delay:.18s}.splashLogoContainer.robomascot--loading{transition:transform .65s cubic-bezier(.4,0,.2,1)}.laserBeamL,.laserBeamR{stroke:#ffe033;stroke-width:2px;stroke-linecap:round;filter:drop-shadow(0 0 5px #ffe033e6);animation:.75s ease-in-out infinite laserPulse}.laserBeamR{animation-delay:.12s}@keyframes laserPulse{0%,to{opacity:.1}50%{opacity:.9}}.eyeGlintL,.eyeGlintR{transform-box:fill-box;transform-origin:50%;animation:2.1s ease-in-out infinite eyeGlint}.eyeGlintR{animation-delay:.55s}@keyframes eyeGlint{0%,60%,to{opacity:0;transform:scale(.4)}35%{opacity:.95;transform:scale(1.3)}}.eyeGlintRingL,.eyeGlintRingR{stroke:#ffe033;transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite eyeGlintRing}.eyeGlintRingR{animation-delay:.18s}@keyframes eyeGlintRing{0%,to{opacity:0;transform:scale(.8)}40%{opacity:.65;transform:scale(1.2)}}.iSpark{stroke:#ffe033;stroke-width:1.5px;stroke-linecap:round;animation:.55s ease-out infinite impactCrackle}.iSpark2{animation-delay:.14s}.iSpark3{animation-delay:.28s}.iSpark4{animation-delay:.42s}@keyframes impactCrackle{0%{opacity:.95}55%{opacity:.3}to{opacity:0}}.splashProgressSparks{pointer-events:none;height:18px;position:absolute;top:-5px;left:0;right:52px}.sparkle{background:#ffe033;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 4px #ffe033}.sparkle:first-child{animation:1.4s ease-out infinite sparkleFloat;left:15%}.sparkle:nth-child(2){animation:1.4s ease-out .35s infinite sparkleFloat;left:40%}.sparkle:nth-child(3){animation:1.4s ease-out .7s infinite sparkleFloat;left:65%}.sparkle:nth-child(4){animation:1.4s ease-out 1.05s infinite sparkleFloat;left:85%}@keyframes sparkleFloat{0%{opacity:0;transform:translateY(4px)scale(.4)}20%{opacity:1}to{opacity:0;transform:translateY(-14px)scale(0)}}.overheatTint{animation:.38s ease-in-out infinite overheatFlicker}@keyframes overheatFlicker{0%,to{opacity:.06}50%{opacity:.2}}.steamPuff{transform-box:fill-box;transform-origin:50%;animation:1.5s ease-out infinite steamRise}.steamPuff2{animation-delay:.38s}.steamPuff3{animation-delay:.19s}.steamPuff4{animation-delay:.57s}@keyframes steamRise{0%{opacity:.65;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-16px)scale(1.8)}}.robotShudder{animation:.11s ease-in-out infinite robotShake}@keyframes robotShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.robotShudder .laserBeamL,.robotShudder .laserBeamR{stroke:#f50;filter:drop-shadow(0 0 6px #ff5500f2)}.robotShudder .eyeGlintRingL,.robotShudder .eyeGlintRingR{stroke:#f60}.robotShudder .iSpark{stroke:#f80}.robomascot--flyoff .splashLogoSvg,.robomascot--flyoff .headerRobotHead{animation:1.6s ease-in forwards robotFlyOff}[class*=robomascot--returning-] .splashLogoSvg,[class*=robomascot--returning-] .headerRobotHead{animation:2.8s cubic-bezier(.22,1,.36,1) forwards robotReturn}@keyframes robotFlyOff{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}30%{opacity:.9;transform:translate(16px,-28px)rotate(12deg)scale(.95)}to{opacity:0;transform:translate(260px,-90px)rotate(38deg)scale(.3)}}@keyframes robotReturn{0%{opacity:0;transform:translate(-240px,-70px)rotate(-28deg)scale(.3)}30%{opacity:.7}75%{opacity:1;transform:translate(8px,7px)rotate(3deg)scale(1.06)}88%{transform:translate(-4px,-2px)rotate(-1.5deg)scale(1.02)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}.mascotPropSvg{pointer-events:none;width:30px;height:auto;animation:2.8s cubic-bezier(.22,1,.36,1) forwards propArrive;position:absolute;bottom:0;right:-36px}.headerBrand .mascotPropSvg{width:20px;bottom:-4px;right:-24px}@keyframes propArrive{0%{opacity:0;transform:translate(-240px,-70px)rotate(-28deg)scale(.3)}30%{opacity:.8}75%{opacity:1;transform:translate(0)rotate(5deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes heartFloat{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-72px)scale(.65)}}.tapHeart{pointer-events:none;z-index:9999;-webkit-user-select:none;user-select:none;font-size:1.1rem;line-height:1;animation:.85s ease-out forwards heartFloat;position:fixed}
