@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter","Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7ea1d0f9-module__6GV5LG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7ea1d0f9-module__6GV5LG__variable{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
:root{--bg-body:#fff;--bg-surface:#f5f5f7;--bg-glass:#ffffffd9;--text-primary:#1d1d1f;--text-secondary:#86868b;--text-tertiary:#a1a1a6;--accent:#111;--accent-hover:#222;--success:#34c759;--error:#ff3b30;--shadow-soft:0 4px 24px #0000000a;--shadow-hover:0 8px 32px #00000014;--radius-lg:24px;--radius-md:18px;--radius-sm:12px}*{box-sizing:border-box}body{font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;height:100vh;margin:0;padding:0;display:flex;overflow:hidden}.app-shell{height:calc(100vh - 60px);padding-top:60px;display:flex}.chat-shell{flex-direction:column;flex:1;display:flex;position:relative}.sidebar{background:#fff;border-right:1px solid #0000000a;flex-direction:column;width:260px;transition:width .25s,transform .25s;display:flex}.sidebar.closed{width:46px}.sidebar-header{border-bottom:1px solid #0000000a;align-items:center;gap:8px;height:48px;padding:0 10px;display:flex}.sidebar-header-main{align-items:center;gap:8px;margin-left:4px;display:flex}.sidebar-toggle{cursor:pointer;background:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;display:flex;box-shadow:0 2px 8px #0000000f}.sidebar-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600}.sidebar-new-chat{color:#fff;cursor:pointer;background:#111;border:none;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.9rem;line-height:1;display:flex}.sidebar-new-chat:hover{background:#222}.sidebar-content{flex-direction:column;flex:1;gap:6px;padding:10px 8px 12px;display:flex;overflow-y:auto}.sidebar-empty{color:var(--text-tertiary);padding:8px 4px;font-size:.8rem}.sidebar-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;width:100%;padding:6px;transition:background .15s,transform .1s,box-shadow .15s}.sidebar-item:hover{background:#00000008;transform:translateY(-1px)}.sidebar-item.active{background:#f5f5f7;box-shadow:0 4px 14px #0000000a}.sidebar-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.sidebar-item-meta{color:var(--text-tertiary);margin-top:2px;font-size:.7rem}.sidebar-item-row{align-items:center;gap:10px;display:flex}.sidebar-item-avatar{color:#fff;background:#111;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;font-weight:600;display:flex}.sidebar-item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sidebar-item-meta-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.sidebar-item-meta-time{color:var(--text-tertiary);white-space:nowrap;font-size:.7rem}.sidebar-item-badge{color:var(--text-primary);text-transform:uppercase;letter-spacing:.08em;background:#1111110f;border-radius:999px;padding:2px 8px;font-size:.65rem}.splash-screen{background-color:var(--bg-body);z-index:9999;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .6s ease-out,visibility .6s step-end;display:flex;position:fixed;top:0;left:0}.splash-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.heartbeat-loader{justify-content:center;align-items:center;gap:12px;display:flex;position:relative}.heartbeat-dot{background-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:1.4s cubic-bezier(.455,.03,.515,.955) infinite both pulse-dot}.heartbeat-dot:first-child{animation-delay:0s}.heartbeat-dot:nth-child(2){animation-delay:.2s}.heartbeat-dot:nth-child(3){animation-delay:.4s}.splash-status{color:var(--text-tertiary);letter-spacing:.02em;opacity:0;font-size:.85rem;font-weight:500;font-family:var(--font-jetbrains-mono);margin-top:24px;animation:.5s ease-out .5s forwards fadeIn}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.5)}}header{z-index:100;background:#fff;border-bottom:1px solid #00000008;justify-content:space-between;align-items:center;height:60px;padding:0 32px;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:10px;font-size:.95rem;font-weight:600;display:flex}.brand-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.status{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;font-weight:500;display:flex}.status-indicator{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;transition:background .3s}.status-indicator.connected{background:var(--success)}.status-indicator.disconnected{background:var(--error)}#chat-container{scroll-behavior:smooth;flex-direction:column;flex:1;gap:32px;width:100%;max-width:100%;margin:0 auto;padding:100px 32px 140px;transition:padding-right .4s cubic-bezier(.16,1,.3,1);display:flex;overflow-y:auto}#chat-container.sidebar-open{padding-right:480px}.message-group{opacity:0;flex-direction:column;gap:6px;animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInUp;display:flex;transform:translateY(10px)}.message-meta{color:var(--text-tertiary);margin:0 12px;font-size:.75rem;font-weight:500}.message-bubble{border-radius:var(--radius-lg);max-width:85%;box-shadow:var(--shadow-soft);padding:14px 20px;font-size:1rem;line-height:1.6;position:relative}.message-group.user{align-items:flex-end}.message-group.user .message-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.message-group.ai{align-items:flex-start}.message-group.ai .message-bubble{background:var(--bg-surface);color:var(--text-primary);border-bottom-left-radius:4px}.parsed-message{border-left:3px solid #ccc;padding-left:12px}.parsed-message.success{border-left-color:var(--success)}.parsed-message.error{border-left-color:var(--error)}.message-bubble pre{border-radius:var(--radius-sm);font-family:var(--font-jetbrains-mono),monospace;background:#fff;border:1px solid #0000000a;margin:8px 0 0;padding:12px;font-size:.85rem;overflow-x:auto}.message-bubble code{font-family:var(--font-jetbrains-mono),monospace;background:#0000000a;border-radius:4px;padding:2px 5px;font-size:.9em}#input-wrapper{z-index:200;width:90%;max-width:1000px;transition:left .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),max-width .4s cubic-bezier(.16,1,.3,1);position:fixed;bottom:30px;left:50%;transform:translate(-50%)}#input-wrapper.sidebar-open{max-width:600px;left:calc(50% - 225px)}#input-container{background:var(--bg-glass);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-hover);border:1px solid #ffffff80;border-radius:32px;align-items:center;gap:8px;padding:6px;transition:all .3s;display:flex}#input-container:focus-within{background:#fffffff2;transform:translateY(-2px);box-shadow:0 12px 40px #0000001f}#messageInput{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:14px 16px;font-family:inherit;font-size:1rem}#messageInput::placeholder{color:var(--text-tertiary)}.btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:scale(1.05)}.btn-secondary{color:var(--text-secondary);background:0 0}.btn-secondary:hover{color:var(--text-primary);background:#0000000d}.process-log{font-family:var(--font-jetbrains-mono),monospace;color:var(--text-secondary);border-radius:var(--radius-sm);background:#fafafa;border-left:2px solid #e5e5ea;max-width:90%;margin-top:4px;margin-left:10px;padding:10px 14px;font-size:.75rem}.process-line{align-items:center;gap:8px;display:inline-flex}.process-line .process-icon{opacity:.6}.dot-loader{gap:4px;display:inline-flex}.dot-loader .dot{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite dotPulse}.dot-loader .dot:nth-child(2){animation-delay:.2s}.dot-loader .dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.thinking-trigger{cursor:pointer;background:#f0f0f2;border:1px solid #0000;border-radius:20px;flex-direction:column;align-items:flex-start;gap:4px;width:fit-content;max-width:100%;margin-left:10px;padding:12px 20px;transition:all .2s;display:inline-flex}.thinking-trigger:hover{background:#e5e5ea;border-color:#0000001a}.trigger-header{align-items:center;gap:8px;display:flex}.thinking-icon{font-size:.9rem}.thinking-text{color:var(--text-primary);font-size:.85rem;font-weight:500;font-family:var(--font-jetbrains-mono)}.thinking-meta{color:var(--text-tertiary);font-size:.7rem;font-family:var(--font-jetbrains-mono);flex-direction:column;gap:2px;margin-left:2px;display:flex}.thinking-timer{opacity:.9}.thinking-progress{color:var(--text-tertiary);font-size:.7rem}.thinking-note{color:var(--text-tertiary);opacity:.8;white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:.7rem;overflow:hidden}.loader-mini{border:2px solid #0000001a;border-left-color:#111;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.side-panel-overlay{z-index:9990;pointer-events:none;background:0 0;position:fixed;inset:0}.side-panel{z-index:9991;background:#fff;border-left:1px solid #0000000d;flex-direction:column;width:450px;max-width:90vw;height:100vh;animation:.4s cubic-bezier(.16,1,.3,1) slideIn;display:flex;position:fixed;top:0;right:0;box-shadow:-10px 0 40px #0000000a}.side-panel-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;height:50px;padding:0 24px;display:flex}.side-panel-header h3{margin:0;font-size:1rem;font-weight:600}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.5rem}.close-btn:hover{color:var(--text-primary)}.side-panel-content{flex:1;padding:24px;overflow-y:auto}.panel-timestamp{color:var(--text-tertiary);font-size:.75rem;font-family:var(--font-jetbrains-mono);margin-bottom:16px}.thinking-history{flex-direction:column;gap:24px;padding-left:8px;display:flex}.thinking-step{border-left:2px solid #f0f0f2;padding-bottom:24px;padding-left:24px;animation:.3s ease-out fadeIn;position:relative}.thinking-step:last-child{border-left-color:#0000}.thinking-step:before{content:"";background:#fff;border:2px solid #ccc;border-radius:50%;width:8px;height:8px;transition:all .3s;position:absolute;top:0;left:-5px}.step-label{color:var(--text-secondary);text-transform:uppercase;font-size:.7rem;font-weight:600;font-family:var(--font-jetbrains-mono);margin-bottom:6px}.thinking-step.step-plan{border-left-color:#007aff33}.thinking-step.step-plan:before{border-color:#007aff}.thinking-step.step-plan .step-label{color:#007aff}.thinking-step.step-action{border-left-color:#34c75933}.thinking-step.step-action:before{border-color:#34c759}.thinking-step.step-action .step-label{color:#34c759}.thinking-step.step-result{border-left-color:#ff950033}.thinking-step.step-result:before{border-color:#ff9500}.thinking-step.step-result .step-label{color:#ff9500}.thinking-step.step-thinking:before{border-color:#86868b}.step-duration{color:var(--text-tertiary);font-size:.7rem;font-family:var(--font-jetbrains-mono);margin-bottom:4px}.panel-text{font-family:var(--font-jetbrains-mono);white-space:pre-wrap;color:var(--text-primary);background:0 0;border:none;padding:0;font-size:.85rem;line-height:1.6}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.json-viewer{border-radius:var(--radius-sm);background:#fff;border:1px solid #0000000d;margin-top:6px;overflow:hidden}.json-header{cursor:pointer;color:var(--text-secondary);background:#f5f5f7;justify-content:space-between;padding:6px 10px;font-size:.75rem;font-weight:500;display:flex}.json-content{color:var(--text-primary);margin:0;padding:10px;font-size:.75rem;display:none;overflow-x:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.app-shell{padding-top:56px}.sidebar{display:none}.chat-shell{flex:1}header{height:56px;padding:0 20px}#chat-container{padding:80px 16px 120px}#chat-container.sidebar-open{padding-right:16px}#input-wrapper.sidebar-open{left:50%}.message-bubble{max-width:95%;padding:12px 16px;font-size:.95rem}#input-wrapper{width:94%;bottom:20px}.thinking-trigger{margin-left:0;padding:10px 14px}.thinking-note{max-width:200px}}
