:root,:root[data-theme=light]{--bg:#fafaf9;--panel:#e2e2e1;--panel-2:#d0d0cf;--activity-bg:#dbdbda;--border:#cacac9;--border-strong:#a8a8a7;--text:#1c1c1a;--text-soft:#4a4a48;--text-dim:#80807c;--accent:#3d3d3b;--accent-hover:#1c1c1a;--accent-soft:#0000000d;--accent-contrast:#fafaf9;--danger:#9a4a4a;--drop-target:#4a90e2;--user-bg:#d8d8d7;--code-bg:#efefee;--composer-bg:#ececeb;--activity-active:#007acc;--shadow-sm:0 1px 2px #1414140d;--shadow-md:0 4px 16px #14141412}:root[data-theme=dark]{--bg:#0e0e0e;--panel:#202020;--panel-2:#2d2d2d;--activity-bg:#262626;--border:#313131;--border-strong:#4e4e4e;--text:#dcdcdc;--text-soft:#c2c2c2;--text-dim:#999;--accent:#d4d4d0;--accent-hover:#ebebe8;--accent-soft:#ffffff1a;--accent-contrast:#141414;--activity-active:#75beff;--danger:#f14c4c;--drop-target:#4a90e2;--user-bg:#282828;--code-bg:#000;--composer-bg:#1c1c1c;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 16px #0000008c}:root{--font-sans:"Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Noto Serif KR", serif;--font-mono:"Cascadia Mono", "Cascadia Code", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--status-pending:#d97706;--status-approved:#16a34a;--status-rejected:#dc2626;--admin-tag-bg:#1e293b;--warn:#f59e0b;--warn-bg:#f59e0b1f;--warn-bg-soft:#f59e0b26;--warn-border:#f59e0b66;--danger-bg:#ef444414;--danger-border:#ef444466;--danger-hover:color-mix(in srgb, var(--danger) 90%, black);--scrim-soft:#00000059;--scrim-medium:#00000073;--modal-scrim:#00000080;--shadow-lg:0 8px 32px #0000004d;--shadow-card:0 2px 8px #0000001f;--shadow-menu:0 6px 18px #00000038;--btn-hover-wash:color-mix(in srgb, var(--text) 8%, transparent);--btn-hover-wash-accent:color-mix(in srgb, var(--accent) 12%, transparent);--btn-hover-fill:color-mix(in srgb, var(--panel-2), var(--text) 10%);--z-base:0;--z-elevated:1;--z-sticky:2;--z-sidebar:5;--z-source-pane:8;--z-overlay:10;--z-modal-backdrop:90;--z-modal:100;--z-popover:200;--z-toast:1000;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-xl:10px;--radius-pill:999px;--radius-circle:50%;--edge-db:#7c6bd6;--edge-prompt:#d4573c;--edge-api:#c5a13a;--edge-chat:#4d8a6f;--edge-memo:#6b95d4;--edge-coding:#3aa8b8;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.28s;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-out-soft:cubic-bezier(.32, .72, 0, 1);--panel-collapse-duration:.22s;--panel-collapse-ease:ease;--focus-ring-width:2px;--focus-ring-color:var(--accent-soft);--focus-ring:0 0 0 var(--focus-ring-width) var(--focus-ring-color);--focus-ring-wide:0 0 0 3px var(--focus-ring-color)}*{box-sizing:border-box}input::placeholder,textarea::placeholder{opacity:1}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--motion-base), color var(--motion-base);margin:0;padding:0;font-size:15px;font-weight:500;line-height:1.6}.topbar{background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex}.top-right{align-items:center;gap:.75rem;display:flex}.brand{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.35rem;font-weight:400}.brand:before{content:"";background:var(--accent);border-radius:var(--radius-sm);vertical-align:.02em;width:10px;height:10px;margin-right:.55rem;display:inline-block}.tabs{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:.2rem;padding:.2rem;display:flex}.tab{color:var(--text-dim);border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:none;padding:.35rem .9rem;font-family:inherit;font-size:.88rem;font-weight:500;transition:color .15s,background .15s}.tab:hover{color:var(--text)}.tab.active{background:var(--bg);color:var(--text);box-shadow:var(--shadow-sm)}.theme-toggle{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;display:flex}.theme-toggle:hover{background:var(--panel-2)}.main{flex:1;overflow:hidden}.app{flex-direction:column;height:100vh;display:flex}.btn{color:var(--text);cursor:pointer;transition:background var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border:0;border-radius:7px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;font-weight:500}.btn:hover:not(:disabled){background:var(--btn-hover-wash)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--focus-ring-wide);outline:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--accent);background:0 0}.btn-primary:hover:not(:disabled){background:var(--btn-hover-wash-accent);color:var(--accent-hover)}.btn-danger,.btn-outline-danger{color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled),.btn-outline-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-new,.btn.btn-new,.btn-primary.btn-new,.btn-ghost.btn-new{color:var(--accent);background:0 0}.btn-new:hover:not(:disabled),.btn.btn-new:hover:not(:disabled),.btn-primary.btn-new:hover:not(:disabled),.btn-ghost.btn-new:hover:not(:disabled){background:var(--btn-hover-wash-accent);color:var(--accent-hover)}.btn-sm{border-radius:5px;padding:.3rem .7rem;font-size:.8rem}.btn-icon{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-md);opacity:0;transition:opacity var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border:none;padding:.15rem .4rem;font-family:inherit;font-size:.85rem}.conv-item:hover .btn-icon{opacity:1}.btn-icon:hover{background:var(--panel-2);color:var(--text)}.btn-icon:focus-visible{opacity:1;box-shadow:var(--focus-ring);outline:none}.btn-toggle{color:var(--text-dim);cursor:pointer;transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border:0;border-radius:7px;padding:.45rem .8rem;font-family:inherit;font-size:.85rem;font-weight:500}.btn-toggle:hover:not(:disabled){color:var(--text)}.btn-toggle:active:not(:disabled){transform:translateY(1px)}.btn-toggle:focus-visible{box-shadow:var(--focus-ring-wide);outline:none}.btn-toggle.on{background:var(--accent-soft);color:var(--accent)}.btn-toggle:disabled{opacity:.45;cursor:not-allowed}.w-full{width:100%}.input,.field input,.field textarea,.kb-meta-field input,.kb-meta-field textarea,.feedback-textarea,.prompt-textarea,.prompt-name-input{background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:7px;outline:none;padding:.55rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.input:focus,.field input:focus,.field textarea:focus,.kb-meta-field input:focus,.kb-meta-field textarea:focus,.feedback-textarea:focus,.prompt-textarea:focus,.prompt-name-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring-wide)}.textarea,.field textarea,.kb-meta-field textarea,.feedback-textarea,.prompt-textarea{resize:vertical;line-height:1.5}.row{gap:.5rem;display:flex}.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent);border:1px solid color-mix(in srgb, var(--danger) 22%, transparent);border-radius:7px;margin:.5rem 1.5rem;padding:.55rem .85rem;font-size:.88rem}.meta{color:var(--text-dim);font-size:.82rem}.chat-scroll,.sidebar,.side-panel-body,.editor-tab-scroll,.open-tabs-list,.app-main,.account-code-block,.account-table-wrap{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-scroll::-webkit-scrollbar{width:10px;height:10px}.sidebar::-webkit-scrollbar{width:10px;height:10px}.side-panel-body::-webkit-scrollbar{width:10px;height:10px}.editor-tab-scroll::-webkit-scrollbar{width:10px;height:10px}.open-tabs-list::-webkit-scrollbar{width:10px;height:10px}.app-main::-webkit-scrollbar{width:10px;height:10px}.account-code-block::-webkit-scrollbar{width:10px;height:10px}.account-table-wrap::-webkit-scrollbar{width:10px;height:10px}.chat-scroll::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-track{background:0 0}.side-panel-body::-webkit-scrollbar-track{background:0 0}.editor-tab-scroll::-webkit-scrollbar-track{background:0 0}.open-tabs-list::-webkit-scrollbar-track{background:0 0}.app-main::-webkit-scrollbar-track{background:0 0}.account-code-block::-webkit-scrollbar-track{background:0 0}.account-table-wrap::-webkit-scrollbar-track{background:0 0}.chat-scroll::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}.sidebar::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}.side-panel-body::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}.editor-tab-scroll::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}.open-tabs-list::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}.app-main::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}.account-code-block::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}.account-table-wrap::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}.chat-scroll::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.side-panel-body::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.editor-tab-scroll::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.open-tabs-list::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.app-main::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.account-code-block::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.account-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.chat-scroll::-webkit-scrollbar-button{display:none}.sidebar::-webkit-scrollbar-button{display:none}.side-panel-body::-webkit-scrollbar-button{display:none}.editor-tab-scroll::-webkit-scrollbar-button{display:none}.open-tabs-list::-webkit-scrollbar-button{display:none}.app-main::-webkit-scrollbar-button{display:none}.account-code-block::-webkit-scrollbar-button{display:none}.account-table-wrap::-webkit-scrollbar-button{display:none}.chat-scroll::-webkit-scrollbar-corner{background:0 0}.sidebar::-webkit-scrollbar-corner{background:0 0}.side-panel-body::-webkit-scrollbar-corner{background:0 0}.editor-tab-scroll::-webkit-scrollbar-corner{background:0 0}.open-tabs-list::-webkit-scrollbar-corner{background:0 0}.app-main::-webkit-scrollbar-corner{background:0 0}.account-code-block::-webkit-scrollbar-corner{background:0 0}.account-table-wrap::-webkit-scrollbar-corner{background:0 0}:root[data-theme-anim=reveal]::view-transition-old(root){mix-blend-mode:normal;animation:none}:root[data-theme-anim=reveal]::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-theme-anim=reveal]::view-transition-old(root){z-index:var(--z-elevated)}:root[data-theme-anim=reveal]::view-transition-new(root){z-index:var(--z-sticky);animation:theme-clip-in var(--motion-slow) var(--ease-out)}@keyframes theme-clip-in{0%{clip-path:circle(0 at var(--theme-clip-x,50%) var(--theme-clip-y,50%))}to{clip-path:circle(var(--theme-clip-r,150vmax) at var(--theme-clip-x,50%) var(--theme-clip-y,50%))}}:root[data-theme-anim=fade]::view-transition-old(root){animation-duration:.52s;animation-timing-function:var(--ease-out-soft);mix-blend-mode:normal}:root[data-theme-anim=fade]::view-transition-new(root){animation-duration:.52s;animation-timing-function:var(--ease-out-soft);mix-blend-mode:normal}.collapsible{transition:grid-template-rows var(--motion-slow) var(--ease-out);grid-template-rows:0fr;grid-template-columns:minmax(0,1fr);display:grid}.collapsible.is-open{grid-template-rows:1fr}.collapsible-inner{min-width:0;min-height:0;overflow:hidden}.collapsible.is-settled>.collapsible-inner{overflow:visible}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bouncing-dots{flex-shrink:0;align-items:flex-end;gap:3px;display:inline-flex}.bouncing-dot{border-radius:var(--radius-circle);opacity:.4;background:currentColor;width:3px;height:3px;animation:1.15s ease-in-out infinite bouncing-dot-bounce}.bouncing-dot:nth-child(2){animation-delay:.16s}.bouncing-dot:nth-child(3){animation-delay:.32s}@keyframes bouncing-dot-bounce{0%,65%,to{opacity:.4;transform:translateY(0)}32%{opacity:1;transform:translateY(-4px)}}.app-shell{background:var(--bg);grid-template-columns:290px 1fr;height:100vh;transition-property:grid-template-columns;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:64px 1fr}.panel-collapse-anim{transition-duration:var(--panel-collapse-duration);transition-timing-function:var(--panel-collapse-ease)}.app-main{background:var(--bg);height:100%;min-height:0;overflow-y:auto}.app-main>.chat-main,.app-main>.canvas-page{height:100%}@keyframes route-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.app-main>:not(.chat-main):not(.route-fallback):not(.coding-area):not(.chat-split-row):not(.coding-split-row){animation:route-in var(--motion-base) var(--ease-out) both}.chat-layout{grid-template-columns:290px 1fr;height:100%;display:grid;position:relative}.chat-layout.sidebar-collapsed{grid-template-columns:52px 1fr}.drop-overlay{z-index:300;background:color-mix(in srgb, var(--accent) 10%, #00000040);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drop-overlay-card{background:var(--bg);border:2px dashed var(--accent);text-align:center;box-shadow:var(--shadow-md);border-radius:14px;max-width:420px;padding:2rem 2.5rem}.drop-overlay-icon{color:var(--accent);margin-bottom:.5rem;font-size:2rem}.drop-overlay-title{font-family:var(--font-serif);color:var(--text);margin-bottom:.3rem;font-size:1.1rem;font-weight:500}.drop-overlay-sub{color:var(--text-dim);font-size:.85rem}.chat-main{background:var(--bg);flex-direction:column;width:100%;height:100%;transition:padding-right .22s;display:flex;position:relative;overflow:hidden}.chat-scroll{overflow-anchor:none;overscroll-behavior-y:none;flex-direction:column;flex:1;align-items:center;gap:1.5rem;padding:2rem 1.5rem 6rem;display:flex;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 0% calc(100% - 64px),#0000 100%);mask-image:linear-gradient(#000 0% calc(100% - 64px),#0000 100%)}.scroll-bottom-anchor{flex:0 0 0;justify-content:center;height:0;display:flex;position:relative}.scroll-bottom-btn{background:var(--panel);width:30px;height:30px;color:var(--text);border-radius:var(--radius-circle);cursor:pointer;box-shadow:var(--shadow-md);z-index:var(--z-sidebar);transition:background var(--motion-fast);border:0;justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:flex;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.scroll-bottom-btn:hover{background:var(--panel-2)}.chat-empty{text-align:center;color:var(--text-dim);max-width:480px;margin:auto}.chat-empty h3{font-family:var(--font-serif);color:var(--text);margin:0 0 .5rem;font-size:1.6rem;font-weight:400}.chat-main.is-empty{justify-content:center;align-items:center;padding-bottom:8rem}.chat-main.is-empty .chat-scroll{display:none}.chat-main.is-empty .composer{padding:0}.chat-center-top{text-align:center;color:var(--text);width:100%;max-width:min(96vw,1100px);padding:0 1rem 1.25rem}.greeting{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--text);white-space:nowrap;min-height:1.3em;margin:0 0 .5rem;font-size:2.1rem;font-weight:400}.greeting-caret{color:var(--text-dim);margin-left:2px;font-weight:300;animation:1s step-end infinite greeting-caret-blink;display:inline-block}@keyframes greeting-caret-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.greeting-caret{opacity:.6;animation:none}}.greeting-sub{color:var(--text-dim);margin:0;font-size:.9rem}.chat-main.is-empty .chat-center-top{animation:greeting-enter .32s var(--ease-out) both}@keyframes greeting-enter{0%{opacity:0}to{opacity:1}}.chat-center-top.is-leaving{pointer-events:none;animation:greeting-leave .24s var(--ease-out) both;position:absolute}@keyframes greeting-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.chat-main.is-empty .attach-bar{display:none}.app-main .attach-bar{border-bottom:1px solid var(--border)}.tabs-action-btn{border-radius:var(--radius-lg);width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex;position:relative}.tabs-action-btn:hover{background:var(--panel-2);color:var(--text)}.tabs-action-btn.is-active{color:var(--accent)}.tabs-action-btn.is-active:after{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:6px;right:6px}.tabs-action-btn.pulse{color:var(--accent);animation:.7s ease-out 3 rs-toggle-pulse}@keyframes rs-toggle-pulse{0%{box-shadow:0 0 0 0 var(--accent-soft)}60%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.tabs-action-btn-badge{background:var(--accent);min-width:17px;height:17px;color:var(--accent-contrast,#fff);pointer-events:none;border:1px solid var(--panel);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px;box-shadow:0 1px 2px #00000040}.right-sidebar{background:var(--panel);z-index:11;flex-direction:column;width:340px;height:100%;transition-property:transform,width;display:flex;position:absolute;top:0;right:0;transform:translate(100%)}.right-sidebar.open{transform:translate(0)}.right-sidebar.is-artifact{width:min(680px,48vw)}.chat-main.right-open{padding-right:340px}.chat-main.right-open.artifact-mode{padding-right:min(680px,48vw)}.right-sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.7rem .9rem;display:flex}.right-sidebar-title{font-family:var(--font-serif);color:var(--text);font-weight:500}.right-sidebar-close{border-radius:var(--radius-lg);width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.right-sidebar-close:hover{background:var(--panel-2);color:var(--text);border-color:var(--border-strong)}.right-sidebar-body{flex-direction:column;flex:1;gap:1rem;padding:.6rem .9rem 1rem;display:flex;overflow-y:auto}.right-sidebar-body.rs-resource-body{gap:0;padding:0;overflow:hidden}.right-sidebar-empty{color:var(--text-dim);margin:1rem 0;font-size:.85rem}.acv{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.acv-header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.acv-back{border-radius:var(--radius-lg);width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex;transform:scaleX(-1)}.acv-back:hover{background:var(--panel-2);color:var(--text);border-color:var(--border-strong)}.acv-titlegroup{flex:auto;align-items:center;gap:.4rem;min-width:0;display:flex}.acv-name{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:.85rem;font-weight:600;overflow:hidden}.acv-badge{letter-spacing:.04em;border-radius:var(--radius-md);background:var(--panel-2);color:var(--text-dim);border:1px solid var(--border);flex:none;padding:.1rem .34rem;font-size:.6rem;font-weight:700}.acv-size{color:var(--text-dim);flex:none;font-size:.7rem}.acv-live{color:var(--accent);flex:none;align-items:center;font-size:.7rem;font-weight:600;display:inline-flex}.acv-live-dots{white-space:nowrap;width:.9em;display:inline-block;overflow:hidden}.acv-live-dots:after{content:"…";animation:1.3s steps(4,end) infinite acv-dots}@keyframes acv-dots{0%{clip-path:inset(0 100% 0 0)}90%{clip-path:inset(0)}to{clip-path:inset(0)}}.acv-actions{flex:none;align-items:center;gap:.3rem;display:flex}.acv-btn{border-radius:var(--radius-lg);color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;padding:.26rem .45rem;font-family:inherit;font-size:.72rem;text-decoration:none;transition:background .12s;display:inline-flex}.acv-btn:hover:not(:disabled){background:var(--btn-hover-fill)}.acv-btn:disabled{opacity:.5;cursor:not-allowed}.acv-btn.is-running{color:var(--accent)}.acv-close{color:var(--text-dim);padding:.26rem .32rem}.acv-body{flex-direction:column;flex:auto;min-height:0;display:flex}.acv-code-scroll{background:var(--code-bg);flex:auto;min-height:0;overflow:auto}.acv-code-inner{align-items:stretch;width:max-content;min-width:100%;min-height:100%;display:flex}.acv-code-gutter,.acv-code{font-family:var(--font-mono);margin:0;font-size:.8rem;line-height:1.6}.acv-code-gutter{text-align:right;color:var(--text-dim);background:var(--code-bg);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;z-index:var(--z-elevated);flex:none;padding:.9rem .7rem;position:sticky;left:0}.acv-code{white-space:pre;tab-size:4;color:var(--text);flex:auto}.acv-code.hljs{background:0 0;padding:.9rem 1.1rem}.acv-code code{font:inherit;background:0 0;padding:0}.acv-code-empty{color:var(--text-dim);padding:1.2rem;font-size:.85rem}.acv-runarea{border-top:1px solid var(--border);flex:none;max-height:52%;overflow:auto}.rs-section{flex-direction:column;gap:.4rem;display:flex}.rs-section-head{cursor:pointer;text-align:left;border-radius:var(--radius-lg);width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:.45rem;padding:.25rem .1rem;display:flex}.rs-section-head:hover{background:var(--panel-2)}.rs-section-caret{width:14px;height:14px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.rs-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-size:.78rem;font-weight:600}.rs-section-count{color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);text-align:center;min-width:1.6rem;padding:.05rem .45rem;font-size:.72rem}.rs-section-empty{color:var(--text-dim);margin:.2rem 0 0 1.4rem;font-size:.8rem}.rs-row{flex-direction:column;gap:.4rem;margin:0;padding:.1rem 0 .4rem;list-style:none;display:flex}.rs-card{border-radius:var(--radius-xl);background:var(--bg);border:1px solid var(--border-strong);box-sizing:border-box;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;display:flex;box-shadow:0 1px #00000026}.rs-card-icon{border:1px solid var(--border);background:var(--panel);width:36px;height:44px;color:var(--text-dim);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.rs-card-ext{letter-spacing:.04em;color:var(--accent);font-size:.6rem;font-weight:600;position:absolute;bottom:2px}.rs-card-thumb{border-radius:var(--radius-lg);border:1px solid var(--border);flex-shrink:0;width:44px;height:44px;display:block;overflow:hidden}.rs-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.rs-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.rs-card-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:500;overflow:hidden}.rs-card-meta{color:var(--text-dim);align-items:center;gap:.25rem;margin-top:.1rem;font-size:.7rem;display:inline-flex}.rs-card-action{border:1px solid var(--border);border-radius:var(--radius-lg);width:26px;height:26px;color:var(--text-dim);background:0 0;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.rs-card-action:hover{background:var(--panel-2);color:var(--accent)}button.rs-card-action.rs-card-remove{cursor:pointer;font:inherit;padding:0}button.rs-card-action.rs-card-remove:hover{background:var(--panel-2);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.rs-att-failed{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.rs-att-pending{opacity:.75}.bubble-files{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.bubble-file-chip{background:var(--panel);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.3rem .55rem;font-family:inherit;font-size:.8rem;transition:background .12s,border-color .12s;display:inline-flex}.bubble-file-chip:hover{background:var(--panel-2);border-color:var(--accent)}.bubble-file-chip.pending{color:var(--text-dim);border-style:dashed}.bubble-file-name{font-weight:500}.bubble-file-status{color:var(--text-dim);font-size:.72rem}.source-pane{background:var(--panel);border-left:1px solid var(--border);z-index:14;width:420px;height:100%;animation:source-pane-fade var(--motion-base) ease-out;flex-direction:column;display:flex;position:absolute;top:0;right:0}@keyframes source-pane-fade{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.source-pane-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem .9rem;display:flex}.source-pane-title{flex:1;align-items:center;gap:.45rem;min-width:0;display:flex}.source-pane-kind{letter-spacing:.04em;border-radius:var(--radius-pill);background:var(--bg);border:1px solid var(--border);color:var(--text-dim);flex-shrink:0;padding:.05rem .45rem;font-size:.7rem;font-weight:600}.source-pane-kind.kind-web{color:var(--accent);border-color:var(--accent-soft)}.source-pane-kind.kind-attachment{color:var(--text)}.source-pane-num{color:var(--accent);flex-shrink:0;font-size:.85rem;font-weight:600}.source-pane-label{font-family:var(--font-serif);color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.92rem;font-weight:500;overflow:hidden}.source-pane-close{border-radius:var(--radius-lg);width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.source-pane-close:hover{background:var(--panel-2);color:var(--text);border-color:var(--border-strong)}.source-pane-link{border-bottom:1px solid var(--border);background:var(--bg);padding:.5rem .9rem;font-size:.78rem}.source-pane-link a{color:var(--accent);word-break:break-all;text-decoration:none}.source-pane-link a:hover{text-decoration:underline}.source-pane-body{font-family:var(--font-serif,inherit);color:var(--text);flex:1;padding:.9rem 1rem 1.1rem;font-size:.92rem;line-height:1.65;overflow-y:auto}.source-pane-text{white-space:pre-wrap;word-break:break-word;margin:0}.chat-main:has(.source-pane){padding-right:420px}.chat-main.right-open:has(.source-pane){padding-right:420px}.chat-split-row{align-items:stretch;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.chat-pane-host{flex-direction:column;flex:1 1 0;min-width:0;display:flex;position:relative;overflow:hidden}.chat-pane-divider{background:var(--border);flex:0 0 1px;align-self:stretch}.coding-split-row{align-items:stretch;width:100%;display:flex;position:relative;overflow:hidden}.coding-pane-host{flex-direction:column;flex:1 1 0;min-width:0;display:flex;position:relative;overflow:hidden}.coding-pane-host>.coding-session-page{flex:1;min-height:0}.coding-pane-divider{background:var(--border);flex:0 0 1px;align-self:stretch}.split-close-btn{z-index:50;border-radius:var(--radius-pill);background:var(--panel-2);color:var(--text);border:1px solid var(--border);cursor:pointer;padding:3px 14px;font-size:.78rem;line-height:1.6;transition:background .12s,border-color .12s;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.split-close-btn:hover{background:var(--panel-3,var(--panel-2));border-color:var(--accent)}.split-drop-layer{z-index:320;pointer-events:none;position:absolute;inset:34px 0 0}.split-drop-zone{pointer-events:auto;border:2px dashed #0000;justify-content:center;align-items:center;width:50%;transition:background .12s,border-color .12s;display:flex;position:absolute;top:0;bottom:0}.split-drop-zone--left{left:0}.split-drop-zone--right{right:0}.split-drop-zone.is-inert{pointer-events:none}.split-drop-zone.is-over{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:var(--accent)}.split-drop-hint{opacity:0;background:var(--panel-2);color:var(--text);pointer-events:none;border-radius:8px;padding:.4rem .85rem;font-size:.85rem;transition:opacity .12s}.split-drop-zone.is-over .split-drop-hint{opacity:1}.right-sidebar.is-memory.open{width:min(680px,48vw)}.rs-memory-section{border-top:1px solid var(--border);margin-top:.4rem;padding-top:.4rem}.rs-memory-btns{border-left:1px dashed var(--border);flex-direction:column;gap:.15rem;margin-left:.6rem;padding:.2rem .4rem .1rem .45rem;display:flex}.memory-editor{flex-direction:column;height:100%;min-height:0;display:flex}.memory-meta{color:var(--text-dim);border-bottom:1px solid var(--border);flex:none;padding:.4rem .75rem;font-size:.75rem}.memory-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-lg);margin:.5rem .75rem 0;padding:.5rem .65rem;font-size:.75rem}.memory-toolbar{flex:none;gap:.5rem;padding:.5rem .75rem 0;display:flex}.memory-tool-btn{border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;padding:.35rem .75rem;font-size:.75rem}.memory-tool-btn:hover:not(:disabled){border-color:var(--accent);background:var(--panel-2)}.memory-tool-btn.is-primary{border-color:var(--accent);color:var(--accent)}.memory-tool-btn.is-primary:hover:not(:disabled){background:var(--btn-hover-wash-accent);background:var(--accent-hover);border-color:var(--accent-hover)}.memory-tool-btn:disabled{opacity:.6;cursor:not-allowed}.memory-body{flex:auto;min-height:0;padding:.6rem .75rem;overflow-y:auto}.memory-md{color:var(--text);font-size:.9rem}.memory-entry{position:relative}.memory-entry+.memory-entry{border-top:1px solid var(--border);margin-top:1.1em;padding-top:.9em}.memory-entry .md>:first-child{margin-top:0}.memory-entry:after{content:"";clear:both;display:block}.memory-entry-jump{float:right;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:.3rem;margin-left:.5rem;padding:.15rem .5rem;font-size:.72rem;line-height:1.4;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.memory-entry-jump:hover{color:var(--text);background:var(--btn-hover-fill);border-color:var(--border-strong)}.memory-live-ghost{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--edge-coding) 4%, var(--bg));margin:0 0 .75rem;padding:.2rem .1rem;animation:1.6s ease-in-out infinite ghost-cell-pulse;position:relative}.memory-live-ghost .codecell-ghost-body{white-space:pre-wrap;word-break:break-word;padding:.5rem .6rem}.memory-live-ghost-tag{color:var(--edge-coding);padding:0 .6rem .4rem;font-size:.7rem;display:block}.memory-textarea{resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg);width:100%;min-height:16rem;color:var(--text);font-family:var(--font-mono);box-sizing:border-box;padding:.6rem .75rem;font-size:.8rem;line-height:1.5}.memory-textarea:focus{border-color:var(--accent);outline:none}.memory-edit-actions{justify-content:flex-end;gap:.5rem;margin-top:.6rem;display:flex}.guideline-templates{flex-direction:column;height:100%;min-height:0;display:flex}.guideline-templates-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.guideline-templates-title{color:var(--text);flex:auto;font-size:.85rem;font-weight:600}.guideline-templates-body{flex-direction:column;flex:auto;gap:.6rem;min-height:0;padding:.6rem .75rem;display:flex;overflow-y:auto}.guideline-templates-empty{color:var(--text-dim);font-size:.85rem}.guideline-template-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-2);padding:.6rem .75rem}.guideline-template-head{align-items:flex-start;gap:.5rem;display:flex}.guideline-template-titlegroup{flex-direction:column;flex:auto;min-width:0;display:flex}.guideline-template-title{color:var(--text);font-size:.85rem;font-weight:600}.guideline-template-author{color:var(--text-dim);font-size:.7rem}.guideline-template-use{border:1px solid var(--accent);border-radius:var(--radius-lg);color:var(--accent);cursor:pointer;background:0 0;flex:none;padding:.3rem .75rem;font-size:.75rem}.guideline-template-use:hover{background:var(--btn-hover-wash-accent);color:var(--accent-hover)}.guideline-template-desc{color:var(--text-dim);margin:.5rem 0 0;font-size:.75rem;line-height:1.5}.guideline-template-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-top:.5rem;padding:0;font-size:.75rem;display:inline-flex}.guideline-template-toggle:hover{color:var(--text)}.guideline-template-caret{transition:transform .12s;display:inline-flex}.guideline-template-caret.is-open{transform:rotate(90deg)}.guideline-template-preview{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);max-height:14rem;color:var(--text-dim);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:.5rem 0 0;padding:.5rem .65rem;font-size:.7rem;line-height:1.5;overflow:auto}.composer-selfcheck-btn.active{color:var(--accent);background:var(--accent-soft)}.sidebar-header{justify-content:space-between;align-items:center;gap:.5rem;min-height:32px;padding:0 .15rem .35rem;display:flex}.sidebar-title{font-family:var(--font-serif);color:var(--text);letter-spacing:-.01em;font-size:.95rem}.sidebar-toggle{color:var(--text-soft);border-radius:var(--radius-md);cursor:pointer;width:30px;height:30px;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.95rem;display:flex}.sidebar-toggle svg{display:block}.sidebar-toggle:hover{background:var(--panel-2);color:var(--text);border-color:var(--border)}.sidebar-actions.rail{flex-direction:column;align-items:center;gap:.3rem}.rail-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-soft);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:1rem;display:flex}.rail-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.rail-btn:disabled{opacity:.4;cursor:not-allowed}.sidebar.collapsed{padding:1rem .35rem}.sidebar.collapsed .conv-list,.sidebar.collapsed .drop-zone-root{display:none}.sidebar.collapsed .sidebar-header{justify-content:center}.conv-item[draggable=true]{cursor:grab}.conv-item.dragging{opacity:.4}.folder-group{transition:background var(--motion-fast), box-shadow var(--motion-fast);border-radius:8px}.folder-group.drop-over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.drop-zone-root{border:1px dashed var(--border-strong);color:var(--text-dim);background:var(--bg);box-sizing:border-box;width:100%;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);border-radius:8px;justify-content:center;align-items:center;gap:.4rem;margin:.2rem .1rem .5rem;padding:.55rem .65rem;font-size:.82rem;display:inline-flex}.drop-zone-root.drop-over{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);border-style:solid}.sidebar{background:var(--panel);flex-direction:column;gap:.5rem;padding:1rem .75rem;display:flex;overflow-y:auto}.conv-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.conv-item{transition:background var(--motion-fast)}.conv-item:hover{background:var(--panel-2)}.conv-item:hover .conv-actions{opacity:1;pointer-events:auto}.conv-item.active{background:color-mix(in srgb, var(--edge-coding) 15%, transparent)}.conv-title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;font-weight:500;line-height:1.25;overflow:hidden}.conv-title-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--panel-2) 0%, var(--panel-3,color-mix(in srgb, var(--panel-2) 70%, var(--text-dim) 30%)) 50%, var(--panel-2) 100%);background-size:200% 100%;min-width:60px;height:.85em;animation:1.4s ease-in-out infinite conv-title-shimmer;display:block}@keyframes conv-title-shimmer{0%{opacity:.85;background-position:100% 0}50%{opacity:1;background-position:0 0}to{opacity:.85;background-position:-100% 0}}.conv-empty{color:var(--text-dim);text-align:center;padding:1rem .5rem;font-size:.85rem}.conv-actions{opacity:0;pointer-events:none;transition:opacity var(--motion-fast);display:flex;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.conv-actions .btn-icon{opacity:1}.conv-menu-trigger{padding:.2rem;line-height:0}.conv-item:has(.conv-actions button[aria-expanded=true]) .conv-actions{opacity:1;pointer-events:auto}.sidebar-actions{border-bottom:1px solid var(--border);z-index:20;background:var(--panel);flex-direction:column;gap:.1rem;padding:.3rem 0 .4rem;display:flex;position:sticky;top:0}.sidebar-actions.rail{gap:.25rem;margin-bottom:.35rem;padding-bottom:.4rem}.new-chat-row{position:relative}.new-chat-row .app-nav-item{width:100%;padding-right:2rem}.secret-icon-btn{pointer-events:none;padding:.2rem;line-height:0;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.new-chat-row:hover .secret-icon-btn,.secret-icon-btn.active,.secret-icon-btn:focus-visible{opacity:1;pointer-events:auto}.sidebar-actions .app-nav-item:disabled{opacity:.45;cursor:not-allowed}.sidebar-actions .app-nav-item:disabled:hover{color:var(--text-soft);background:0 0}.folder-group{margin:.05rem 0}.folder-header{border-radius:var(--radius-lg);color:var(--text-soft);align-items:center;gap:.35rem;padding:.35rem .3rem;font-size:.85rem;font-weight:600;display:flex;position:relative}.folder-header:hover{background:var(--panel-2)}.folder-header:hover .folder-actions{opacity:1;pointer-events:auto}.folder-toggle{cursor:pointer;color:var(--text-dim);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:14px;padding:0;font-family:inherit;display:inline-flex}.folder-toggle svg{transition:transform var(--motion-base) var(--ease-out)}.folder-toggle.is-open svg{transform:rotate(90deg)}.folder-name{cursor:default;flex:1;align-items:center;gap:.4rem;min-width:0;display:inline-flex}.folder-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-count,.section-count{color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;min-width:22px;height:17px;transition:opacity var(--motion-fast);flex-shrink:0;margin-left:auto;padding:0 .45rem;font-size:.7rem;font-weight:400;line-height:15px}.folder-header:hover .folder-count{opacity:0}.folder-header:has(.folder-actions button[aria-expanded=true]) .folder-count{opacity:0}.folder-actions{opacity:0;pointer-events:none;transition:opacity var(--motion-fast);display:flex;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.folder-act{opacity:1}.folder-menu-trigger{padding:.2rem;line-height:0}.folder-header:has(.folder-actions button[aria-expanded=true]) .folder-actions{opacity:1;pointer-events:auto}.folder-children{border-left:1px dashed var(--border);flex-direction:column;gap:.05rem;margin:.05rem 0 .1rem .65rem;padding:0 0 0 .85rem;list-style:none;display:flex}.folder-empty{text-align:left;padding:.3rem .4rem;font-size:.78rem}.folder-divider{color:var(--text-dim);letter-spacing:.06em;padding:.6rem .4rem .2rem;font-size:.72rem}.kb-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.kb-item,.api-keys-row,.conv-item{min-height:26px;color:var(--text-soft);cursor:pointer;border:1px solid #0000;border-radius:5px;align-items:center;gap:.35rem;min-width:0;padding:.1rem .45rem;font-size:.85rem;line-height:1.25;display:flex;position:relative}.kb-item:hover{background:var(--panel-2)}.kb-item:hover .kb-actions{opacity:1;pointer-events:auto}.kb-name{flex:1;align-items:center;gap:.4rem;min-width:0;display:inline-flex}.kb-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-name-inline{align-items:center;gap:.35rem;display:inline-flex}.kb-item.linked-here{color:var(--text)}.kb-item.linked-here.kb-kind-kb{background:#7c6bd626}.kb-item.linked-here.kb-kind-kb .kb-name{color:var(--edge-db)}.kb-item.linked-here.kb-kind-prompt{background:#d4573c26}.kb-item.linked-here.kb-kind-prompt .kb-name{color:var(--edge-prompt)}.api-keys-row.linked-here{color:var(--text);background:#c5a13a26}.api-keys-row.linked-here .api-keys-row-name{color:var(--edge-api)}.kb-item.active.kb-kind-kb{background:#7c6bd626}.kb-item.active.kb-kind-prompt{background:#d4573c26}.api-keys-row.active{background:#c5a13a26}.linked-dot{border-radius:var(--radius-circle);background:var(--accent);width:6px;height:6px;transition:opacity var(--motion-fast);flex-shrink:0;margin-left:.15rem}.kb-kind-kb .linked-dot{background:var(--edge-db)}.kb-kind-prompt .linked-dot{background:var(--edge-prompt)}.kb-kind-api .linked-dot{background:var(--edge-api)}.kb-stats{color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);text-align:center;font-variant-numeric:tabular-nums;min-width:22px;height:17px;transition:opacity var(--motion-fast);flex-shrink:0;margin-left:auto;padding:0 .45rem;font-size:.7rem;font-weight:400;line-height:15px}.kb-item:hover .kb-stats,.kb-item:hover .linked-dot{opacity:0}.kb-item:has(.kb-actions button[aria-expanded=true]) .kb-stats{opacity:0}.kb-item:has(.kb-actions button[aria-expanded=true]) .linked-dot{opacity:0}.kb-actions{opacity:0;pointer-events:none;transition:opacity var(--motion-fast);display:flex;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.kb-act{opacity:1}.kb-menu-trigger{padding:.2rem;line-height:0}.kb-item:has(.kb-actions button[aria-expanded=true]) .kb-actions{opacity:1;pointer-events:auto}.move-menu{z-index:var(--z-popover);background:var(--panel);border-radius:var(--radius-xl);min-width:170px;max-width:240px;box-shadow:var(--shadow-md);border:0;flex-direction:column;gap:2px;padding:.3rem;display:flex;position:absolute;top:100%;right:.35rem}.move-menu-title{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;padding:.25rem .5rem;font-size:.72rem}.move-menu-empty{color:var(--text-dim);text-align:center;padding:.5rem;font-size:.78rem}.move-menu-item{color:var(--text);border-radius:var(--radius-lg);text-align:left;cursor:pointer;width:100%;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;align-items:center;gap:.5rem;padding:.45rem .6rem;font-family:inherit;font-size:.78rem;font-weight:500;display:inline-flex}.move-menu-item:hover:not(:disabled){background:var(--panel-2)}.move-menu-item:disabled{color:var(--text-dim);cursor:default}.move-menu-remove{color:var(--danger);margin-top:.15rem}.move-menu-remove:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.app-sidebar{background:var(--panel);flex-direction:column;gap:.75rem;min-width:0;padding:.9rem .65rem;display:flex;overflow:hidden}.app-sidebar.collapsed{padding:.9rem .4rem}.app-sidebar-header{justify-content:space-between;align-items:center;gap:.4rem;min-height:32px;padding:0 .25rem;display:flex}.app-sidebar.collapsed .app-sidebar-header{justify-content:center}.app-sidebar-brand{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;animation:sidebar-content-in var(--motion-fast) var(--ease-out) both;align-items:center;margin:0;font-size:1.05rem;font-weight:400;display:flex;overflow:hidden}.app-sidebar-brand-btn{font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;text-align:left;border-radius:var(--radius-md);transition:color var(--motion-fast), opacity var(--motion-fast);background:0 0;border:0;margin:0;padding:0}.app-sidebar-brand-btn:hover{color:var(--accent)}.app-sidebar-brand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-sidebar-toggle{color:var(--text-soft);border-radius:var(--radius-md);cursor:pointer;width:30px;height:30px;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.app-sidebar-toggle:hover{background:var(--panel-2);color:var(--text);border-color:var(--border)}.app-sidebar-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-sidebar-toggle svg{display:block}.app-sidebar-nav{flex-direction:column;gap:.1rem;display:flex}.app-nav-item{color:var(--text);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:1px solid #0000;align-items:center;gap:.6rem;padding:.42rem .55rem;font-family:inherit;font-size:.88rem;font-weight:500;display:flex}.app-nav-item:hover{background:var(--panel-2);color:var(--text)}.app-nav-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-nav-item.active{background:var(--bg);color:var(--text);box-shadow:var(--shadow-sm)}.app-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;font-size:.95rem;display:inline-flex}@keyframes sidebar-content-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.app-nav-label{text-overflow:ellipsis;white-space:nowrap;animation:sidebar-content-in var(--motion-fast) var(--ease-out) both;overflow:hidden}.app-sidebar.collapsed .app-nav-item{justify-content:center;padding:.5rem 0}.api-keys-section{border-bottom:1px solid var(--border);margin-bottom:.15rem;padding-bottom:.15rem}.api-keys-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.api-keys-meta{color:var(--text-dim);padding:.2rem .45rem;font-size:.75rem}.api-keys-meta.error{color:var(--danger)}.api-keys-row{text-align:left;background:0 0;width:100%;font-family:inherit}.api-keys-row:hover{background:var(--panel-2);color:var(--text)}.api-keys-row-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.api-keys-row-meta{color:var(--text-dim);flex-shrink:0;align-items:center;gap:.4rem;font-size:.7rem;display:inline-flex}.api-keys-row-counts{font-family:var(--font-mono)}.api-keys-row-mem{color:var(--text-soft);align-items:center;gap:2px;display:inline-flex}.api-keys-row-wrap{align-items:center;display:flex;position:relative}.api-keys-actions{opacity:0;pointer-events:none;transition:opacity var(--motion-fast);display:flex;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.api-keys-row-wrap:hover .api-keys-actions{opacity:1;pointer-events:auto}.api-keys-row-wrap:has(.api-keys-actions button[aria-expanded=true]) .api-keys-actions{opacity:1;pointer-events:auto}.api-keys-row-wrap:hover .api-keys-row-meta,.api-keys-row-wrap:hover .linked-dot{opacity:0}.api-keys-row-wrap:has(.api-keys-actions button[aria-expanded=true]) .api-keys-row-meta{opacity:0}.api-keys-row-wrap:has(.api-keys-actions button[aria-expanded=true]) .linked-dot{opacity:0}.app-sidebar-extra{border-top:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;margin:0 -.25rem;padding:.25rem .25rem 0;overflow:hidden auto}.app-sidebar-extra::-webkit-scrollbar{display:none}.app-sidebar.collapsed .app-sidebar-extra{border-top:none;padding-top:.35rem}.chat-sidebar-portal{flex-direction:column;gap:.2rem;display:flex}.sidebar-section-title{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;padding:.15rem .3rem;font-size:.72rem;font-weight:500}.recent-header{justify-content:space-between;align-items:center;padding-right:.15rem;display:flex}.recent-header .view-mode-toggle{opacity:.65;flex:none}.recent-header .view-mode-toggle:hover{opacity:1}.date-group-name{text-transform:none}.sidebar-section{flex-direction:column;display:flex}.sidebar-section-toggle{width:100%;font:inherit;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-align:left;border-radius:var(--radius-lg);transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:0;align-items:center;gap:.35rem;padding:.15rem .3rem;font-size:.72rem;font-weight:500;display:flex}.sidebar-section-toggle:hover{color:var(--text-soft);background:var(--panel-2)}.section-toggle-caret{width:12px;color:var(--text-dim);transition:transform var(--motion-base) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.section-toggle-caret.is-open{transform:rotate(90deg)}.section-toggle-icon{color:var(--text-dim);align-items:center;display:inline-flex}.section-toggle-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.app-sidebar-bottom{border-top:1px solid var(--border);flex-direction:column;gap:.45rem;margin-top:auto;padding-top:.6rem;display:flex}.app-profile{align-items:center;gap:.55rem;min-width:0;padding:.3rem .2rem;display:flex}.app-profile-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--motion-fast);background:0 0;border:0;border-radius:7px;padding:.3rem .35rem}.app-profile-row{align-items:stretch;gap:.35rem;display:flex;position:relative}.app-profile-row .app-profile-btn{flex:1;width:auto;min-width:0}.app-sidebar.collapsed .app-profile-row{flex-direction:column;align-items:center;gap:.3rem}.app-profile-menu{z-index:30;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-md,0 8px 24px #0000002e);flex-direction:column;gap:.05rem;min-width:220px;padding:.3rem;display:flex;position:absolute;bottom:calc(100% + .4rem);left:0;right:0}.app-profile-menu.collapsed{margin-left:.4rem;bottom:0;left:100%;right:auto}.app-profile-menu-header{color:var(--text-dim);border-bottom:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.2rem;padding:.45rem .6rem .5rem;font-size:.78rem;overflow:hidden}.app-profile-menu-item{color:var(--text);font:inherit;border-radius:var(--radius-lg);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.55rem;width:100%;padding:.45rem .55rem;font-size:.85rem;transition:background .1s,color .1s;display:flex}.app-profile-menu-item:hover{background:var(--panel-2)}.app-profile-menu-item.active{background:var(--panel-2);color:var(--text)}.app-profile-menu-item.danger{color:var(--danger)}.app-profile-menu-item.danger:hover{background:var(--panel-2)}.app-profile-menu-icon{width:18px;color:var(--text-soft);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-profile-menu-item.danger .app-profile-menu-icon{color:inherit}.app-profile-menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.app-profile-menu-divider{background:var(--border);height:1px;margin:.25rem .1rem}.app-profile-btn:hover{background:var(--hover,#7f7f7f14)}.app-profile-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-profile-btn.active{background:var(--hover,#7f7f7f1f)}.app-sidebar.collapsed .app-profile-btn{justify-content:center}.app-profile-avatar{border-radius:var(--radius-circle);background:var(--accent);width:30px;height:30px;color:var(--accent-contrast);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.app-profile-meta{min-width:0;animation:sidebar-content-in var(--motion-fast) var(--ease-out) both;flex:1}.app-profile-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.app-profile-sub{color:var(--text-dim);font-size:.72rem}.app-sidebar-actions{gap:.35rem;padding:0 .1rem;display:flex}.app-sidebar.collapsed .app-sidebar-actions{flex-direction:column;align-items:center}.app-icon-btn{color:var(--text);border-radius:var(--radius-md);cursor:pointer;height:30px;transition:background var(--motion-fast);background:0 0;border:0;flex:1;justify-content:center;align-items:center;font-family:inherit;font-size:.95rem;display:flex}.app-sidebar.collapsed .app-icon-btn{flex:none;width:32px}.app-icon-btn:hover{background:var(--btn-hover-fill)}.app-icon-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-icon-btn.active{background:var(--accent-soft);color:var(--accent)}.search-modal{flex-direction:column;max-width:560px;max-height:min(560px,100vh - 4rem);padding:0;display:flex;overflow:hidden}.search-input-row{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex}.search-input-icon{color:var(--text-dim);font-size:1rem}.search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1rem}.search-input::placeholder{color:var(--text-dim)}.search-input-hint{color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);padding:.1rem .4rem;font-size:.7rem}.search-empty{color:var(--text-dim);text-align:center;padding:2rem 1rem;font-size:.88rem}.search-results{flex:1;min-height:0;margin:0;padding:.35rem;list-style:none;overflow-y:auto}.search-result{cursor:pointer;border-radius:7px;padding:.55rem .75rem;transition:background .1s}.search-result.active,.search-result:hover{background:var(--panel-2)}.search-result-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.15rem;font-size:.92rem;font-weight:500;overflow:hidden}.search-result-meta{color:var(--text-dim);font-size:.75rem}.search-footer{border-top:1px solid var(--border);color:var(--text-dim);background:var(--panel);gap:1rem;padding:.55rem 1rem;font-size:.72rem;display:flex}.load-older-banner{justify-content:center;padding:.75rem 0 .4rem;display:flex}.load-older-btn{padding:6px 14px;font-size:12px}.bubble{white-space:normal;word-wrap:break-word;width:100%;max-width:760px;animation:bubble-in var(--motion-fast) var(--ease-out) both;background:0 0;border:none;padding:0}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bubble.user{justify-content:flex-end;display:flex}.bubble.user .bubble-content{background:var(--user-bg);max-width:100%;color:var(--text);border-radius:14px 14px 4px;padding:.75rem 1.1rem}.user-wrap{flex-direction:column;align-items:flex-end;gap:.3rem;max-width:85%;display:flex}.user-wrap:has(>.edit-box){width:85%}.user-wrap .branch-nav{align-self:flex-end}.user-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex}.bubble.user:hover .user-actions{opacity:1}.user-actions .btn-icon{opacity:1;border-radius:var(--radius-lg);background:0 0;border:0;padding:.2rem .45rem;font-size:.85rem}.user-actions .btn-icon:hover:not(:disabled){background:var(--panel-2)}.user-actions .btn-icon:disabled{opacity:.4;cursor:not-allowed}.edit-box-user{width:100%}.bubble.assistant .bubble-content{color:var(--text);line-height:var(--chat-message-line-height,1.7);padding:0;position:relative}.bubble-role{display:none}.bubble-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.bubble-header-left{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.msg-time{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.75rem}.bubble-content{line-height:var(--chat-message-line-height,1.65);font-size:var(--chat-message-size,1rem);font-family:var(--chat-message-font,var(--font-sans))}.bubble-placeholder-text{color:var(--text-soft);opacity:.85;align-items:center;gap:7px;font-size:.92rem;font-style:italic;display:inline-flex}.bubble-placeholder-label{animation:.6s cubic-bezier(.22,.61,.36,1) both bubble-placeholder-fade;display:inline-block}@keyframes bubble-placeholder-fade{0%{opacity:0;filter:blur(3px);transform:translateY(3px)}60%{opacity:.82;filter:blur(.6px);transform:translateY(1px)}to{opacity:1;filter:blur();transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bubble-placeholder-label{animation:none}}.bubble-images{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;margin-bottom:.35rem;display:flex}.bubble-image{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg);cursor:zoom-in;max-width:220px;max-height:220px;font:inherit;transition:border-color var(--motion-fast);padding:0;display:block;overflow:hidden}.bubble-image:hover{border-color:var(--border-strong)}.bubble-image:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bubble-image img{object-fit:contain;max-width:220px;max-height:220px;display:block}.image-viewer-backdrop{z-index:var(--z-toast,200);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:image-viewer-in var(--motion-fast) ease-out;background:#000000c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes image-viewer-in{0%{opacity:0}to{opacity:1}}.image-viewer-img{object-fit:contain;border-radius:var(--radius-md);cursor:default;max-width:92vw;max-height:84vh;box-shadow:0 12px 48px #0000008c}.image-viewer-close{border-radius:var(--radius-circle);color:#fff;cursor:pointer;width:38px;height:38px;transition:background var(--motion-fast);background:#ffffff1f;border:0;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:1rem;right:1.25rem}.image-viewer-close:hover{background:#ffffff38}.image-viewer-nav{border-radius:var(--radius-circle);color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--motion-fast);background:#ffffff1f;border:0;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:50%;transform:translateY(-50%)}.image-viewer-nav:hover{background:#ffffff38}.image-viewer-nav--prev{left:1.25rem}.image-viewer-nav--next{right:1.25rem}.image-viewer-nav--next svg{transform:scaleX(-1)}.image-viewer-footer{border-radius:var(--radius-pill);color:#fff;background:#0000008c;align-items:center;gap:.7rem;padding:.4rem .85rem;font-size:.8rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.image-viewer-name{text-overflow:ellipsis;white-space:nowrap;color:#fffc;max-width:40vw;overflow:hidden}.image-viewer-counter{font-variant-numeric:tabular-nums;color:#fffc}@media (prefers-reduced-motion:reduce){.image-viewer-backdrop{animation:none}}.bubble-attachments{margin-bottom:.35rem}.bubble-attachments>.composer-images{justify-content:flex-end;padding:0}.branch-nav{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-dim);align-items:center;gap:.2rem;width:-moz-fit-content;width:fit-content;margin-bottom:.5rem;padding:.15rem .35rem;font-size:.78rem;display:inline-flex}.branch-nav .btn-icon{opacity:1;padding:0 .25rem;font-size:1rem;line-height:1}.branch-nav .btn-icon:hover{background:0 0}.branch-nav .btn-icon:disabled{opacity:.3;cursor:default}.branch-counter{font-variant-numeric:tabular-nums;color:var(--text-soft);padding:0 .25rem;font-weight:500}.bubble.assistant .branch-nav{background:0 0;border:0;margin:.6rem 0 0;padding:0}.assistant-actions{opacity:0;flex-wrap:wrap;gap:.3rem;margin-top:.6rem;transition:opacity .15s;display:flex}.bubble.assistant:hover .assistant-actions,.bubble.assistant:focus-within .assistant-actions{opacity:1}.assistant-actions .action-btn{opacity:1;color:var(--text-soft);background:0 0;border:0;border-radius:7px;align-items:center;gap:.3rem;padding:.28rem .55rem;font-size:.8rem;line-height:1;transition:background .15s,color .15s;display:inline-flex}.assistant-actions .action-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.assistant-actions .action-btn:disabled{opacity:.4;cursor:not-allowed}.assistant-actions .action-btn.on{background:var(--accent-soft);color:var(--accent)}.action-ico{align-items:center;line-height:1;display:inline-flex}.action-label{font-size:.78rem;font-weight:500}.feedback-box{background:var(--panel);border-radius:var(--radius-xl);border:0;margin-top:.6rem;padding:.65rem .8rem}.feedback-title{color:var(--text);align-items:center;gap:.4rem;margin-bottom:.45rem;font-size:.85rem;font-weight:600;display:inline-flex}.feedback-textarea{width:100%;min-height:4.5em}.feedback-actions{justify-content:flex-end;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.feedback-actions .meta{margin-right:auto;font-size:.72rem}.feedback-saved{background:var(--accent-soft);border:1px solid var(--border);color:var(--text-soft);border-radius:8px;align-items:flex-start;gap:.45rem;margin-top:.5rem;padding:.4rem .7rem;font-size:.82rem;display:flex}.feedback-saved-kind{flex-shrink:0;align-items:center;line-height:1.5;display:inline-flex}.feedback-saved-reason{white-space:pre-wrap;word-break:break-word;line-height:1.5}.aborted-notice{color:var(--text-soft);background:0 0;border:0;align-items:center;gap:.45rem;width:-moz-fit-content;width:fit-content;margin-top:.65rem;padding:.4rem 0;font-size:.82rem;display:inline-flex}.aborted-dot{border-radius:var(--radius-circle);background:var(--danger);flex-shrink:0;width:6px;height:6px}.edit-box{margin:.25rem 0}.edit-composer-inner{max-height:70vh}.edit-textarea{box-sizing:border-box;width:100%;color:var(--text);resize:none;background:0 0;border:none;outline:none;flex-shrink:0;min-height:4.5em;padding:.25rem 0;font-family:inherit;font-size:.95rem;line-height:1.5}.edit-textarea:disabled{color:var(--text-dim)}.edit-spacer{flex:1}.think-block{margin-bottom:.75rem;font-size:.85rem}.think-summary{width:100%;color:var(--text-dim);font-weight:500;font-size:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:.4rem;padding:.25rem 0;display:flex}.think-summary:hover{color:var(--text-soft)}.think-summary-text{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.think-caret{width:1em;color:var(--text-dim);justify-content:center;align-items:center;transition:transform .18s;display:inline-flex}.think-caret.open{transform:rotate(180deg)}.think-label{color:var(--text);font-weight:600}.think-topic{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;max-width:40ch;font-weight:400;overflow:hidden}.think-duration{color:var(--text-dim);font-size:.78rem;font-weight:400}.think-content-wrap{border-left:2px solid var(--border-strong);transition:grid-template-rows .24s var(--ease-out,ease), margin-top .24s var(--ease-out,ease), border-left-color .2s ease;grid-template-rows:0fr;margin-top:0;margin-left:.6rem;padding-left:1.1rem;display:grid;position:relative}.think-content-wrap.is-open{grid-template-rows:1fr;margin-top:.25rem}.think-content-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.think-content-wrap{transition:border-left-color .2s}}.think-content{color:var(--text-soft);transition:max-height .24s var(--ease-out,ease);font-size:.85rem;line-height:1.55}@media (prefers-reduced-motion:reduce){.think-content{transition:none}}.think-para{padding-block:.15rem;position:relative}.think-para+.think-para{margin-top:.55rem}.think-para-marker{width:1.35rem;height:1.35rem;color:var(--text-dim);background:var(--bg);border-radius:var(--radius-circle);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.25rem;left:-1.78rem}.think-para-body{min-width:0}.think-para-body>:first-child{margin-top:0}.think-para-body>:last-child{margin-bottom:0}.think-content--clipped{max-height:200px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,#0000 100%);mask-image:linear-gradient(#000 60%,#0000 100%)}.think-content--live{scrollbar-width:none;-ms-overflow-style:none;max-height:200px;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 22%);mask-image:linear-gradient(#0000 0%,#000 22%)}.think-content--live::-webkit-scrollbar{display:none}.think-toggle-more{border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-soft);cursor:pointer;background:0 0;align-items:center;margin-top:.4rem;padding:.18rem .55rem;font-size:.78rem;transition:background-color .15s,color .15s;display:inline-flex}.think-toggle-more:hover{background:var(--panel-2);color:var(--text)}.think-block.thinking-live .think-summary{color:var(--accent);font-weight:600}.think-block.thinking-live .think-caret{color:var(--accent)}.think-block.thinking-live .think-content-wrap{border-left-color:var(--accent)}.token-budget{border-left:1px solid var(--border);min-width:190px;color:var(--text-dim);flex-direction:column;justify-content:center;gap:.25rem;padding:.5rem 1rem;font-size:.72rem;display:flex}.token-budget .tb-row{grid-template-columns:28px 1fr auto;align-items:center;gap:.45rem;display:grid}.token-budget .tb-label{color:var(--text-dim);font-weight:500}.token-budget .tb-bar{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);height:6px;overflow:hidden}.token-budget .tb-fill{background:var(--accent);height:100%;transition:width .25s,background .2s}.token-budget .tb-fill.warn{background:#c48a3a}.token-budget .tb-fill.danger{background:var(--danger)}.token-budget .tb-count{font-variant-numeric:tabular-nums;color:var(--text-soft)}.token-budget .tb-ctx{text-align:right;color:var(--text-dim);font-size:.68rem}.prompt-open-btn{border:none;border-left:1px solid var(--border);color:var(--text-soft);cursor:pointer;white-space:nowrap;background:0 0;align-self:stretch;padding:0 .9rem;font-family:inherit;font-size:.82rem;transition:background .15s,color .15s}.prompt-open-btn:hover{background:var(--panel-2);color:var(--text)}.prompt-modal{max-width:640px;max-height:calc(100vh - 4rem);overflow-y:auto}.prompt-modal h3{margin-bottom:.3rem}.prompt-modal .meta{margin-bottom:1rem}.prompt-textarea{width:100%;min-height:4em}.prompt-textarea:disabled{opacity:.5;cursor:not-allowed}.prompt-name-input{width:100%;margin-bottom:.45rem;font-weight:600}.prompt-editor{flex-direction:column;flex:1;gap:.4rem;width:100%;min-width:0;margin:.3rem 0;padding:.2rem 0;display:flex}.prompt-editor .prompt-name-input{margin-bottom:0}.prompt-list{flex-direction:column;gap:.35rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.prompt-row{border-radius:8px;align-items:center;gap:.55rem;padding:.5rem .65rem;transition:background .1s;display:flex}.prompt-row:hover{background:var(--panel-2)}.prompt-row.editing{background:0 0;align-items:stretch;padding:.3rem 0}.prompt-row.linked{background:color-mix(in srgb, var(--edge-prompt) 8%, transparent)}.prompt-row.linked:hover{background:color-mix(in srgb, var(--edge-prompt) 14%, transparent)}.prompt-link-hint{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-lg);margin:.5rem 0;padding:.5rem .7rem;font-size:.82rem}.prompt-link-toggle{cursor:pointer;align-items:center;display:flex}.prompt-link-toggle input[type=checkbox]:disabled{cursor:not-allowed}.prompt-row-main{flex:1;min-width:0}.prompt-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.prompt-row-preview{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.prompt-row-meta{color:var(--text-dim);margin-top:.15rem;font-size:.72rem}.prompt-row-actions{flex-shrink:0;gap:.3rem;display:flex}.prompt-row-actions .btn{padding:.25rem .55rem;font-size:.8rem}.artifact{border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-sm);margin:.75em 0;overflow:hidden}.artifact-header{background:var(--panel-2);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.8rem;display:flex}.artifact-badge{font-family:var(--font-mono);color:var(--text-soft);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);letter-spacing:.04em;padding:.1rem .45rem;font-size:.72rem;font-weight:600}.artifact-tabs{background:var(--bg);border:1px solid var(--border);border-radius:7px;grid-template-columns:1fr 1fr;gap:0;margin-left:.25rem;padding:.15rem;display:grid;position:relative}.artifact-tabs-indicator{background:var(--panel-2);width:calc(50% - .15rem);box-shadow:var(--shadow-sm);transition:transform var(--motion-base) var(--ease-out);z-index:0;pointer-events:none;border-radius:5px;position:absolute;top:.15rem;bottom:.15rem;left:.15rem}.artifact-tabs[data-view=preview] .artifact-tabs-indicator{transform:translate(0)}.artifact-tabs[data-view=code] .artifact-tabs-indicator{transform:translate(100%)}.artifact-tab{z-index:var(--z-elevated);color:var(--text-dim);cursor:pointer;transition:color var(--motion-fast) var(--ease-out);background:0 0;border:none;border-radius:5px;padding:.25rem .7rem;font-family:inherit;font-size:.78rem;font-weight:500;position:relative}.artifact-tab:hover,.artifact-tab.on{color:var(--text)}.artifact-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.artifact-actions{gap:.25rem;margin-left:auto;display:flex}.artifact-btn{color:var(--text-soft);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;padding:.25rem .55rem;font-family:inherit;font-size:.76rem;font-weight:500;line-height:1}.artifact-btn:hover{background:var(--btn-hover-fill);color:var(--text)}.artifact-body{background:var(--bg);min-height:200px;display:flex}.artifact-iframe{width:100%;min-height:380px;max-height:560px;animation:viz-reveal .54s var(--ease-out-soft) both;transform-origin:top;background:#fff;border:none;display:block}@media (prefers-reduced-motion:reduce){.artifact-iframe{animation:none}}.artifact-generating{background:linear-gradient(120deg, var(--panel) 0%, var(--panel-2) 50%, var(--panel) 100%);width:100%;min-height:380px;max-height:560px;color:var(--text-dim);background-size:200% 100%;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:1.5rem;animation:2.4s linear infinite artifact-shimmer;display:flex}.artifact-fs-body .artifact-generating{flex:1;max-height:none}.artifact-generating-spinner{gap:6px;display:inline-flex}.artifact-generating-spinner span{border-radius:var(--radius-circle);background:var(--accent,currentColor);opacity:.35;width:8px;height:8px;animation:1.05s ease-in-out infinite artifact-bounce}.artifact-generating-spinner span:nth-child(2){animation-delay:.15s}.artifact-generating-spinner span:nth-child(3){animation-delay:.3s}.artifact-generating-label{color:var(--text);font-size:.92rem;font-weight:500}.artifact-generating-dots:after{content:"…";text-align:left;width:1em;animation:1.4s steps(4,end) infinite artifact-ellipsis;display:inline-block}.artifact-generating-hint{color:var(--text-dim);opacity:.85;font-size:.78rem}@keyframes artifact-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes artifact-bounce{0%,80%,to{opacity:.35;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes artifact-ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@media (prefers-reduced-motion:reduce){.artifact-generating{animation:none}.artifact-generating-spinner span{opacity:.7;animation:none}.artifact-generating-dots:after{content:"…";animation:none}}.artifact-code{background:var(--code-bg);width:100%;max-height:560px;font-family:var(--font-mono);white-space:pre;margin:0;padding:.9em 1em;font-size:.88em;line-height:1.5;overflow:auto}.artifact-code code.hljs{background:0 0;padding:0}.modal.artifact-fs-modal{flex-direction:column;width:100%;max-width:1200px;height:100%;max-height:calc(100vh - 3rem);padding:0;display:flex;overflow:hidden}.artifact-fs-body{background:var(--bg);flex:1;display:flex;overflow:hidden}.artifact-fs-body .artifact-iframe,.artifact-fs-body .artifact-code{flex:1;max-height:none}.branch-tree-overlay{z-index:var(--z-modal-backdrop);background:var(--scrim-medium);justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.branch-tree-panel{background:var(--bg);border:1px solid var(--border-strong);width:min(1100px,96vw);height:min(720px,92vh);box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;display:flex;position:relative;overflow:hidden}.branch-tree-header{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:.75rem;padding:.65rem .9rem;display:flex}.branch-tree-header h3{font-family:var(--font-serif);margin:0;font-size:1.05rem;font-weight:500}.branch-tree-hint{color:var(--text-soft);flex:1;font-size:.78rem}.branch-tree-close{border:1px solid var(--border);border-radius:var(--radius-lg);width:28px;height:28px;color:var(--text-dim);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.branch-tree-close:hover{background:var(--panel-2);color:var(--text)}.branch-tree-canvas{background:var(--panel);flex:1;min-height:0}.branch-tree-empty{height:100%;color:var(--text-soft);justify-content:center;align-items:center;font-size:.9rem;display:flex}.branch-tree-node{border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--bg);width:100%;height:100%;color:var(--text);cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), transform 80ms;flex-direction:column;gap:.25rem;padding:.55rem .7rem;font-size:.82rem;line-height:1.35;display:flex;box-shadow:0 2px 6px #0000001f}.branch-tree-node:hover{border-color:var(--accent);box-shadow:0 4px 14px #00000038, 0 0 0 1px var(--accent);transform:translateY(-1px)}.branch-tree-node.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg));box-shadow:0 0 0 2px var(--accent-soft,color-mix(in srgb, var(--accent) 35%, transparent))}.branch-tree-node-tag{color:var(--text-dim);letter-spacing:.04em;font-size:.7rem;font-weight:700}.branch-tree-node.active .branch-tree-node-tag{color:var(--accent)}.branch-tree-node-text{-webkit-line-clamp:6;word-break:break-word;white-space:pre-wrap;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.branch-tree-node.answer{background:var(--panel);border-style:dashed;padding:.45rem .6rem;font-size:.78rem}.branch-tree-node.answer .branch-tree-node-tag{color:var(--text-soft)}.branch-tree-node.answer .branch-tree-node-text{-webkit-line-clamp:4;color:var(--text-soft);font-style:italic}.branch-tree-node.answer:hover .branch-tree-node-text{color:var(--text)}.branch-tree-node.answer.active{background:color-mix(in srgb, var(--accent) 10%, var(--panel));border-style:solid}.branch-tree-node.answer.active .branch-tree-node-text{color:var(--text);font-style:normal}.react-flow__edge.branch-tree-edge .react-flow__edge-path{stroke:var(--border-strong);stroke-width:1.5px}.react-flow__edge.branch-tree-edge.active .react-flow__edge-path{stroke:var(--accent);stroke-width:2.2px}.clarify-card{border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--accent) 6%, var(--panel));flex-direction:column;gap:.7rem;margin-top:.4rem;padding:.85rem 1rem;display:flex}.clarify-intro{color:var(--text-soft);font-size:.95rem;line-height:1.4}.clarify-web-search-chip{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--radius-pill);align-self:flex-start;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;font-weight:600;line-height:1.2;display:inline-flex}.clarify-web-search-chip svg{flex-shrink:0}.clarify-progress{align-items:center;gap:.6rem;display:flex}.clarify-progress-track{background:color-mix(in srgb, var(--border) 70%, transparent);border-radius:var(--radius-sm);flex:1;height:4px;overflow:hidden}.clarify-progress-fill{background:var(--accent);border-radius:var(--radius-sm);height:100%;transition:width .22s}.clarify-progress-label{color:var(--text-soft);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8rem}.clarify-questions{flex-direction:column;gap:.6rem;display:flex}.clarify-question{background:0 0;flex-direction:column;gap:.55rem;padding:.4rem 0;display:flex}.clarify-q-text{color:var(--text);align-items:baseline;gap:.3rem;font-size:.95rem;font-weight:600;display:flex}.clarify-q-body{flex:1}.clarify-q-num{color:var(--accent)}.clarify-q-check{color:var(--accent);font-size:.95rem;font-weight:700;line-height:1}.clarify-options{flex-wrap:wrap;gap:.4rem;display:flex}.bubble-clarify-answers-wrap{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.clarify-answers-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);opacity:.85;font-size:.75rem;font-weight:600}.bubble-clarify-answers{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.clarify-qa-list{flex-direction:column;align-items:stretch;gap:.7rem;display:flex}.clarify-qa-pair{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.clarify-qa-question{color:var(--text-soft);text-align:right;word-break:keep-all;max-width:min(420px,100%);font-size:.85rem;line-height:1.35}.clarify-answer-chip{color:var(--accent);border:1px solid var(--accent);cursor:pointer;transition:background var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .95rem .5rem .8rem;font-size:.92rem;font-weight:500;line-height:1.2;display:inline-flex}.clarify-answer-chip:hover{background:var(--btn-hover-wash-accent);color:var(--accent-hover)}.clarify-answer-chip:before{content:"✓";opacity:.7;font-size:.85em;font-weight:700}.clarify-option{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease, transform 80ms ease;border-radius:8px;padding:.5rem .95rem;font-size:.92rem}.clarify-option:active:not(:disabled){transform:scale(.97)}.clarify-option:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, var(--panel));border-color:var(--accent)}.clarify-option:disabled{opacity:.5;cursor:not-allowed}.clarify-option.selected{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.clarify-option-free{font-style:italic}.clarify-footer{justify-content:flex-end;display:flex}.clarify-free-input{margin-top:.3rem}.clarify-card-loading{color:var(--text-dim);font-size:.9rem}.clarify-loading-row{align-items:center;gap:.5rem;display:flex}.clarify-spinner{border-radius:var(--radius-circle);border:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-top-color:var(--accent);width:12px;height:12px;animation:.9s linear infinite clarify-spin}@keyframes clarify-spin{to{transform:rotate(360deg)}}.selection-toolbar{z-index:var(--z-toast);border-radius:var(--radius-xl);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-md);white-space:nowrap;-webkit-user-select:none;user-select:none;animation:sel-tool-in var(--motion-fast) ease-out;align-items:center;gap:.15rem;padding:.22rem;display:inline-flex;position:fixed}@keyframes sel-tool-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.sel-tool-btn{color:var(--text-soft);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;border-radius:7px;align-items:center;gap:.32rem;padding:.32rem .55rem;font-family:inherit;font-size:.78rem;font-weight:500;line-height:1;display:inline-flex}.sel-tool-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.sel-tool-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sel-tool-btn:disabled{opacity:.4;cursor:not-allowed}.sel-tool-ico{color:var(--text-dim);align-items:center;line-height:1;display:inline-flex}.sel-tool-btn:hover:not(:disabled) .sel-tool-ico{color:var(--text)}.sel-tool-label{text-overflow:ellipsis;max-width:18ch;overflow:hidden}.sel-tool-btn+.sel-tool-btn{position:relative}.sel-tool-btn+.sel-tool-btn:before{content:"";background:var(--border);width:1px;position:absolute;top:18%;bottom:18%;left:-.075rem}.sandbox-drop{margin-bottom:.75rem;font-size:.85rem}.sandbox-timeline{margin:.3rem 0 .4rem .4rem;padding-left:2rem;position:relative}.sandbox-timeline:before{content:"";background:var(--border);width:1.5px;position:absolute;top:.6rem;bottom:.6rem;left:.85rem}.sandbox-row{position:relative}.sandbox-row+.sandbox-row{margin-top:.1rem}.sandbox-row-head{width:100%;color:var(--text);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:flex-start;gap:.55rem;padding:.3rem 0;font-family:inherit;display:flex}.sandbox-row-head:hover .sandbox-row-title{color:var(--text)}.sandbox-row-icon{border-radius:var(--radius-circle);background:var(--bg);width:1.5rem;height:1.5rem;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;margin-left:-1.85rem;display:inline-flex}.sandbox-row.is-errored .sandbox-row-icon{color:var(--danger)}.sandbox-row-text{flex-direction:column;flex:1;min-width:0;padding-top:.1rem;line-height:1.3;display:flex}.sandbox-row-title{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:500;overflow:hidden}.sandbox-row.is-open .sandbox-row-title{color:var(--text)}.sandbox-row-label{color:var(--text-dim);margin-top:1px;font-size:.72rem}.sandbox-row-label.is-live{font-style:italic}.sandbox-row-label.is-error{color:var(--danger)}.sandbox-row-body{border-left:1.5px solid var(--border);margin:.25rem 0 .4rem;padding-left:.75rem}.sandbox-row-code-wrap{position:relative}.sandbox-row-copy{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);width:1.6rem;height:1.6rem;color:var(--text-dim);cursor:pointer;opacity:0;justify-content:center;align-items:center;transition:opacity .12s,color .12s;display:inline-flex;position:absolute;top:.3rem;right:.3rem}.sandbox-row-code-wrap:hover .sandbox-row-copy,.sandbox-row-copy:focus-visible{opacity:1}.sandbox-row-copy:hover{color:var(--text)}.sandbox-row-copy:disabled{cursor:not-allowed;opacity:.3}.sandbox-row-code,.sandbox-row-output{font-family:var(--font-mono);color:var(--text);background:var(--panel);border-radius:var(--radius-lg);white-space:pre;margin:0;padding:.5rem .7rem;font-size:.78rem;line-height:1.5;overflow-x:auto}.sandbox-row-output{color:var(--text-soft);white-space:pre-wrap;word-break:break-word;background:var(--panel-2);margin-top:.35rem}.sandbox-row-figures{flex-direction:column;gap:.5rem;margin-top:.45rem;display:flex}.sandbox-row-figure{border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;max-width:100%;height:auto}.sandbox-sep{color:var(--text-dim);align-items:center;gap:.6rem;margin:1.4rem 0 1rem;display:flex}.sandbox-sep-line{background:var(--border);flex:1;height:1px}.sandbox-sep-label{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;max-width:60%;font-size:.78rem;display:inline-flex;overflow:hidden}.sandbox-sep-label>svg{color:var(--text-dim);flex-shrink:0}.sandbox-sep-num{color:var(--text-soft);font-weight:600}.sandbox-sep-title{color:var(--text-soft);text-overflow:ellipsis;overflow:hidden}.sandbox-sep-status{color:var(--text-dim)}.sandbox-sep.is-live .sandbox-sep-status{font-style:italic}.sandbox-sep.is-errored .sandbox-sep-line{background:#d9707066}.sandbox-sep.is-errored .sandbox-sep-num,.sandbox-sep.is-errored .sandbox-sep-title,.sandbox-sep.is-errored .sandbox-sep-status,.sandbox-sep.is-errored .sandbox-sep-label>svg{color:var(--danger)}.attach-bar{border-bottom:1px solid var(--border);background:var(--panel);max-height:160px;padding:.5rem 1.5rem;overflow-y:auto}.attach-row{align-items:center;gap:.75rem;display:flex}.attach-list{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.attach-item{border-radius:var(--radius-xl);background:var(--panel);border:1px solid var(--border-strong);align-items:center;gap:.55rem;max-width:320px;padding:.45rem .6rem .45rem .55rem;font-size:.85rem;display:flex;box-shadow:0 1px #00000026}.attach-item .btn-icon{opacity:1}.attach-item.failed{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.attach-item.failed .attach-name{color:var(--danger)}.attach-item.pending{opacity:.7}.attach-name{align-items:center;gap:.35rem;min-width:0;max-width:220px;font-weight:500;display:inline-flex}.attach-name>svg{flex-shrink:0}.attach-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attach-status-dots{color:var(--text-dim);font-size:.9rem;line-height:1}.attach-err{color:var(--danger);white-space:normal;max-width:100%;margin-top:.15rem;font-size:.72rem}.attach-item.uploading{opacity:.95}.attach-empty{color:var(--text-dim);margin:.5rem 0 0;font-size:.85rem}.attach-dropzone{border:1.5px dashed var(--border-strong,var(--border));border-radius:var(--radius-xl);color:var(--text-dim);background:0 0;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.75rem;font-size:.9rem;transition:background .15s,border-color .15s,color .15s;display:flex}.attach-dropzone.empty{text-align:center;justify-content:center;align-items:center;gap:.6rem;min-height:180px;padding:1.25rem}.attach-dropzone-hint{pointer-events:none;justify-content:center;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.attach-dropzone.empty .attach-dropzone-hint{flex-direction:column;gap:.45rem;font-size:.95rem}.attach-dropzone-text{line-height:1.4}.attach-dropzone-limit{opacity:.75;font-size:.78rem;line-height:1.3}.attach-dropzone .attach-list,.attach-dropzone .attach-item{color:var(--text)}.attach-bar.is-drag-over .attach-dropzone{border-color:var(--accent);color:var(--text);background:color-mix(in srgb, var(--accent) 10%, transparent)}.attach-progress{color:var(--text-dim);align-items:center;gap:.4rem;font-size:.72rem;display:flex}.attach-progress .ap-bar{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);width:90px;height:6px;overflow:hidden}.attach-progress .ap-fill{background:#ffffffeb;height:100%;transition:width .2s ease-out}.attach-progress .ap-fill.indeterminate{background:#ffffffeb;transition:none;animation:1.4s ease-in-out infinite ap-pulse;width:100%!important}.attach-progress .ap-count{font-variant-numeric:tabular-nums;color:var(--text-soft);text-align:right;min-width:3ch}@keyframes ap-pulse{0%,to{opacity:.5}50%{opacity:.95}}.composer-refresh-warning{width:100%;max-width:760px;color:var(--text-dim);text-align:center;letter-spacing:.01em;margin:0 auto;padding:.4rem 0 0;font-size:.78rem}.composer-disclaimer{width:100%;max-width:760px;color:var(--text-dim);text-align:center;letter-spacing:.01em;margin:0 auto;padding:.35rem 0 .75rem;font-size:.78rem}.chat-main.is-empty .composer-disclaimer{position:absolute;bottom:0;left:0;right:0}.composer{background:0 0;align-items:flex-end;gap:.5rem;width:100%;max-width:760px;margin:0 auto;padding:1rem 0 1.5rem;display:flex;position:relative}.composer-inner{background:var(--composer-bg);box-shadow:var(--shadow-sm);border-radius:24px;flex-direction:column;flex:1;gap:.5rem;max-height:60vh;padding:.85rem .6rem .85rem 1.1rem;transition:box-shadow .15s;display:flex;overflow-y:auto}.composer-inner:focus-within{box-shadow:var(--focus-ring-wide), var(--shadow-sm)}.composer-bottom-row{align-items:center;gap:.5rem;display:flex}.btn.composer-send-btn{border-radius:var(--radius-circle);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.composer-send-btn svg{flex-shrink:0;width:20px;height:20px}.composer-plus-wrap{flex-shrink:0;position:relative}.composer-plus-btn{border-radius:var(--radius-circle);width:34px;height:34px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.3rem;line-height:1;transition:color .15s,background .15s;display:inline-flex}.composer-plus-btn:hover:not(:disabled){color:var(--text);background:var(--panel-2)}.composer-plus-btn:disabled{opacity:.45;cursor:not-allowed}.composer-menu{background:var(--panel);border-radius:var(--radius-xl);min-width:200px;max-width:280px;box-shadow:var(--shadow-md);z-index:var(--z-popover);border:0;flex-direction:column;gap:2px;padding:.3rem;display:flex;position:absolute;bottom:calc(100% + .4rem);left:0}.composer-menu--portaled{position:fixed;inset:auto}.composer-menu-item{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:.55rem;width:100%;padding:.4rem .45rem;font-family:inherit;display:flex}.composer-menu-item:hover{background:var(--panel-2)}.composer-menu-item.on{color:var(--accent)}.composer-menu-icon{flex-shrink:0}.composer-menu-check{color:var(--accent);margin-left:auto;font-weight:600}.composer-menu-item-text{flex:1;min-width:0}.composer-menu-item-title{font-size:.8rem;font-weight:500}.composer-menu-item-subtitle{color:var(--text-dim);white-space:normal;margin-top:1px;font-size:.68rem}.retry-wrap{display:inline-flex;position:relative}.retry-caret{color:var(--text-dim);align-items:center;margin-left:.15rem;display:inline-flex}.retry-menu{background:var(--panel);border-radius:var(--radius-xl);min-width:160px;box-shadow:var(--shadow-md);z-index:20;border:0;flex-direction:column;gap:2px;padding:.3rem;display:flex;position:absolute;top:calc(100% + .3rem);left:0}.retry-menu.retry-menu-right{left:auto;right:0}.retry-menu.retry-menu--portal{position:fixed}.bubble.assistant:has(.retry-menu){z-index:var(--z-sidebar);position:relative}.retry-menu-item{color:var(--text);text-align:left;border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:none;padding:.45rem .6rem;font-family:inherit;font-size:.78rem;font-weight:500}.retry-menu-item:hover{background:var(--panel-2)}.composer-model-name{min-width:0;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;margin-left:auto;font-size:.78rem;display:inline-flex;overflow:hidden}.composer-model-wrap{align-items:center;min-width:0;margin-left:auto;display:inline-flex;position:relative}.composer-model-btn{color:var(--text-dim);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;min-width:0;max-width:26rem;padding:.3rem .55rem;font-family:inherit;font-size:.78rem;transition:color .12s,background .12s;display:inline-flex}.composer-model-btn:hover:not(:disabled),.composer-model-btn[aria-expanded=true]{color:var(--text);background:var(--panel-2)}.composer-model-btn:disabled{cursor:default;opacity:.7}.composer-model-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:32ch;overflow:hidden}.composer-model-caret{opacity:.7;flex-shrink:0}.composer-model-menu{background:var(--panel);border-radius:var(--radius-xl);min-width:220px;max-width:320px;box-shadow:var(--shadow-md);z-index:var(--z-popover);border:0;padding:.3rem;position:fixed}.composer-model-menu-row{text-align:left;color:var(--text);background:0 0;border:none;border-radius:7px;align-items:center;gap:.55rem;width:100%;padding:.4rem .45rem;font-family:inherit;display:flex}.composer-model-menu-row--interactive{cursor:pointer}.composer-model-menu-row--interactive:hover{background:var(--panel-2)}.composer-model-menu-row--interactive.is-locked{cursor:not-allowed;opacity:.55}.composer-model-menu-row--interactive.is-locked:hover{background:0 0}.composer-model-menu-row-text{flex:1;min-width:0}.composer-model-menu-row-title{font-size:.8rem;font-weight:500}.composer-model-menu-row-subtitle{color:var(--text-dim);white-space:normal;margin-top:1px;font-size:.68rem}.composer-model-menu-pill{border-radius:var(--radius-pill);color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border-strong);flex-shrink:0;padding:.18rem .55rem;font-size:.7rem;font-weight:500}.composer-model-menu-pill.on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft)}.composer-thinking-switch{border-radius:var(--radius-pill);background:var(--panel-2);border:1px solid var(--border-strong);flex-shrink:0;width:36px;height:20px;transition:background .15s,border-color .15s;position:relative}.composer-thinking-switch.on{background:var(--accent);border-color:var(--accent)}.composer-thinking-switch-thumb{border-radius:var(--radius-circle);background:#fff;width:16px;height:16px;transition:transform .15s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #0003}.composer-thinking-switch.on .composer-thinking-switch-thumb{transform:translate(16px)}.composer .btn{border-radius:9px;padding:.55rem 1rem}.composer-images{flex-wrap:wrap;gap:.4rem;padding:.15rem 0;display:flex}.composer-image-chip{border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:var(--bg);width:96px;height:96px;transition:border-color var(--motion-fast);flex:none;position:relative;overflow:hidden;box-shadow:0 1px #00000026}.composer-image-chip:hover{border-color:var(--accent)}.composer-image-chip img{object-fit:cover;width:100%;height:100%;display:block}.composer-image-remove{border-radius:var(--radius-circle);border:1px solid var(--border-strong);background:var(--bg);width:18px;height:18px;color:var(--text-dim);cursor:pointer;opacity:0;transition:opacity var(--motion-fast), background var(--motion-fast), color var(--motion-fast);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:4px;right:4px}.composer-image-chip:hover .composer-image-remove,.composer-image-remove:focus-visible{opacity:1}.composer-image-remove:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.composer-image-remove:disabled{opacity:.4;cursor:not-allowed}.composer-file-chip{border-radius:var(--radius-xl);background:var(--panel);border:1px solid var(--border-strong);width:96px;height:96px;transition:background var(--motion-fast), border-color var(--motion-fast);flex:none;position:relative;box-shadow:0 1px #00000026}.composer-file-chip:hover{background:var(--panel-2);border-color:var(--accent)}.composer-file-chip.is-disabled{cursor:not-allowed;opacity:.6}.composer-file-chip.rs-att-pending{opacity:.75}.composer-file-chip.rs-att-failed{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.composer-file-chip-link{box-sizing:border-box;width:100%;height:100%;color:var(--text);flex-direction:column;justify-content:space-between;gap:.4rem;padding:.5rem .55rem;text-decoration:none;display:flex}.composer-file-name{color:var(--text);-webkit-line-clamp:2;line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:.78rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.composer-file-ext{letter-spacing:.05em;border-radius:var(--radius-md);border:1px solid var(--border);color:var(--text-dim);text-transform:uppercase;align-self:flex-start;padding:.1rem .45rem;font-size:.62rem;font-weight:700}.composer-file-chip:hover .composer-file-ext{color:var(--accent);border-color:var(--accent-soft)}.composer-file-remove{border-radius:var(--radius-circle);border:1px solid var(--border-strong);background:var(--bg);width:18px;height:18px;color:var(--text-dim);cursor:pointer;opacity:0;transition:opacity var(--motion-fast), background var(--motion-fast), color var(--motion-fast);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:4px;right:4px}.composer-file-chip:hover .composer-file-remove,.composer-file-remove:focus-visible{opacity:1}.composer-file-remove:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.composer-file-remove:disabled{opacity:.4;cursor:not-allowed}.composer-text-block{box-sizing:border-box;resize:none;width:100%;color:var(--text);field-sizing:content;background:0 0;border:none;outline:none;flex-shrink:0;min-height:1.5em;max-height:240px;padding:.25rem 0;font-family:inherit;font-size:.95rem;line-height:1.5;display:block;overflow:hidden}.composer-text-block.is-only{min-height:4.5em}.composer-text-block:disabled{color:var(--text-dim)}.composer-text-block::placeholder{color:var(--text-soft);opacity:1}.composer-text-block.is-stub{display:none}.composer-code-block{border-color:var(--border-strong);flex-shrink:0;margin:0}.composer-code-block:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.composer-code-block .composer-code-header{background:var(--panel);gap:.45rem}.composer-code-lang{border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);border-radius:5px;align-items:center;gap:.35rem;padding:.22rem .4rem;font-family:inherit;font-size:.8rem;line-height:1.2;display:inline-flex}.composer-code-lang:hover:not(:disabled){border-color:var(--border-strong)}.composer-code-lang:disabled{opacity:.5;cursor:not-allowed}.composer-code-lang-label{white-space:nowrap}.composer-code-spacer{flex:1}.composer-code-remove{width:24px;height:24px;color:var(--text-dim);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.composer-code-remove:hover:not(:disabled){background:var(--panel-2);border-color:var(--border);color:var(--text)}.composer-code-remove:disabled{opacity:.4;cursor:not-allowed}.composer-code-editor{position:relative}.composer-code-pre,.composer-code-textarea{box-sizing:border-box;font-family:var(--font-mono);tab-size:2;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;background:0 0;border:0;margin:0;padding:.7em 1em;font-size:.88em;line-height:1.5}.composer-code-pre{pointer-events:none;min-height:96px;position:relative;overflow:hidden}.composer-code-block .composer-code-pre.hljs{background:0 0;padding:.7em 1em}.composer-code-block .composer-code-pre code{color:inherit;font:inherit;background:0 0;padding:0;display:block}.composer-code-block .composer-code-pre code.hljs{background:0 0;padding:0}.composer-code-textarea{color:#0000;width:100%;height:100%;caret-color:var(--text);resize:none;outline:none;position:absolute;inset:0;overflow:hidden}.composer-code-textarea:disabled{caret-color:#0000}.composer-code-textarea::placeholder{color:var(--text-dim)}.composer-code-textarea::selection{background:var(--accent-soft);color:#0000}.composer-md-wrap{box-sizing:border-box;flex-shrink:0;width:100%;display:block;position:relative}.composer-md-wrap.is-stub{display:none}.composer-md-overlay{color:var(--text);font-family:inherit;font-size:.95rem;font-weight:inherit;font-style:inherit;font-variant:inherit;font-stretch:inherit;letter-spacing:inherit;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;margin:0;padding:.25rem 0;line-height:1.5;position:absolute;inset:0;overflow:hidden}.composer-md-overlay code{font:inherit;color:inherit;white-space:inherit;word-wrap:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.composer-md-wrap>.composer-text-block{color:#0000;-webkit-text-fill-color:transparent;caret-color:var(--text);font-weight:inherit;font-style:inherit;font-variant:inherit;font-stretch:inherit;letter-spacing:inherit;position:relative;background:0 0!important}.composer-md-wrap>.composer-text-block::selection{background:var(--accent-soft);color:#0000;-webkit-text-fill-color:transparent}.composer-md-wrap>.composer-text-block::placeholder{color:var(--text-soft);-webkit-text-fill-color:var(--text-soft);opacity:1}.composer-md-wrap.is-composing>.composer-text-block{color:var(--text);-webkit-text-fill-color:var(--text)}.composer-md-wrap.is-composing>.composer-md-overlay code{opacity:0}.composer-md-wrap.is-composing>.composer-text-block::selection{background:var(--accent-soft);color:var(--text);-webkit-text-fill-color:var(--text)}.composer-md-overlay .md-marker{color:var(--text-soft);opacity:.55}.composer-md-overlay .md-heading{text-shadow:0 0 .6px}.composer-md-overlay .md-heading-1,.composer-md-overlay .md-heading-2{color:var(--accent)}.composer-md-overlay .md-heading-3{color:var(--text)}.composer-md-overlay .md-heading-4,.composer-md-overlay .md-heading-5,.composer-md-overlay .md-heading-6{color:var(--text-soft)}.composer-md-overlay .md-bold{text-shadow:0 0 .5px}.composer-md-overlay .md-italic{color:var(--text-soft)}.composer-md-overlay .md-strike{text-decoration:line-through;-webkit-text-decoration-color:var(--text-dim);text-decoration-color:var(--text-dim)}.composer-md-overlay .md-code{background:var(--code-bg);border-radius:3px}.composer-md-overlay .md-quote-marker{color:var(--accent);opacity:.85}.composer-md-overlay .md-quote{color:var(--text-soft)}.composer-md-overlay .md-list-marker{color:var(--accent);opacity:.85}.composer-md-overlay .md-link-text{color:var(--accent);text-decoration:underline}.composer-md-overlay .md-link-url{color:var(--text-dim)}.composer-md-overlay .md-hr{color:var(--text-dim);text-shadow:0 0 .5px}.composer-md-overlay .md-fence-lang{color:var(--accent);opacity:.7}.composer-md-overlay .md-fence-body{color:var(--text-soft)}.progress-card{background:0 0;border:none;margin-bottom:.75rem;padding:0;font-size:.88rem}.pc-summary-toggle{width:100%;color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:.4rem;margin:0 0 .55rem;padding:.2rem 0;font-size:.85rem;font-weight:500;line-height:1.4;display:flex}.pc-summary-toggle:hover{color:var(--text)}.pc-summary-toggle-text{flex:auto;min-width:0}.pc-skip-row{justify-content:flex-end;margin:.5rem 0 0;display:flex}.pc-skip-link{appearance:none;font:inherit;color:var(--accent,var(--text-soft));cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.95rem;font-weight:500;text-decoration:none}.pc-skip-link:hover:not(:disabled){text-decoration:underline}.pc-skip-link:focus-visible{outline:2px solid var(--accent,currentColor);outline-offset:2px;border-radius:var(--radius-sm)}.pc-skip-link:disabled{opacity:.55;cursor:progress}.pc-cards{flex-direction:column;gap:.55rem;display:flex}.pc-card{border-radius:var(--radius-xl);animation:viz-reveal .54s var(--ease-out-soft,var(--ease-out,ease)) both;transform-origin:top;background:0 0;border:none;overflow:hidden}@media (prefers-reduced-motion:reduce){.pc-card{animation:none}}.pc-card-head{color:var(--text);align-items:center;gap:.6rem;min-width:0;padding:.55rem .4rem .5rem;font-size:.88rem;font-weight:500;display:flex}.pc-card-icon{width:16px;height:16px;color:var(--text-soft);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pc-card-icon .pc-icon-svg{width:14px;height:14px;display:block}.pc-card-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pc-card-busy{color:var(--accent);flex-shrink:0}.pc-card-count{color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem;font-weight:400}.pc-card-tag{border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent);flex-shrink:0;margin-left:.4rem;padding:1px 6px;font-size:.7rem;font-weight:500}.pc-card-body{background:color-mix(in srgb, var(--panel) 70%, var(--bg));border:1px solid var(--border);border-radius:var(--radius-xl);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;max-height:16rem;padding:.25rem 0;display:flex;overflow-y:auto}.pc-card-body::-webkit-scrollbar{width:7px}.pc-card-body::-webkit-scrollbar-track{background:0 0}.pc-card-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-md);background-clip:padding-box;border:2px solid #0000}.pc-card-body::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.pc-result{color:var(--text);min-width:0;transition:background var(--motion-fast) ease;animation:viz-reveal .54s var(--ease-out-soft,var(--ease-out,ease)) both;transform-origin:top;align-items:center;gap:.6rem;padding:.5rem .85rem;font-size:.84rem;text-decoration:none;display:flex}@media (prefers-reduced-motion:reduce){.pc-result{animation:none}}.pc-result:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.pc-result.failed{opacity:.5}.pc-result.pending{opacity:.7}.pc-result.departing{pointer-events:none;border-radius:8px;animation:2s forwards pc-row-depart}.pc-result.depart-failed{background:color-mix(in srgb, var(--danger) 8%, transparent)}.pc-result.depart-failed .pc-result-title{color:var(--text-soft);text-decoration:line-through}.pc-result.depart-low-relevance{background:color-mix(in srgb, var(--danger) 7%, transparent)}.pc-result.depart-low-relevance .pc-result-title{color:var(--text-soft)}.pc-result.depart-uncited{background:color-mix(in srgb, var(--danger) 6%, transparent)}.pc-result.depart-uncited .pc-result-title{color:var(--text-soft)}.pc-result-reason{border-radius:var(--radius-lg);letter-spacing:.005em;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:22ch;padding:1px 6px;font-size:.7rem;font-weight:500;overflow:hidden}.pc-result.depart-failed .pc-result-reason{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent)}.pc-result.depart-low-relevance .pc-result-reason{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);font-variant-numeric:tabular-nums;max-width:28ch}.pc-result.depart-uncited .pc-result-reason{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent)}@keyframes pc-row-depart{0%,70%{opacity:1;max-height:60px;margin-top:0;margin-bottom:0;padding-top:.5rem;padding-bottom:.5rem}to{opacity:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden}}.pc-card.departing{animation:2s forwards pc-card-depart;overflow:hidden}@keyframes pc-card-depart{0%,70%{opacity:1;max-height:400px}to{opacity:0;max-height:0;margin-bottom:0}}@media (prefers-reduced-motion:reduce){.pc-result.departing,.pc-card.departing{animation-duration:.45s}}.pc-favicon{object-fit:cover;background:var(--panel);border-radius:3px;flex-shrink:0;width:16px;height:16px}.pc-favicon-fallback{color:var(--text-dim);justify-content:center;align-items:center;display:inline-flex}.pc-favicon-fallback .pc-icon-svg{width:12px;height:12px}.pc-result-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;overflow:hidden}.pc-result-domain{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:16ch;margin-left:auto;font-size:.78rem;overflow:hidden}.pc-result-engine{border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent);flex-shrink:0;padding:1px 6px;font-size:.7rem;font-weight:500}.pc-cite{font-variant-numeric:tabular-nums;min-width:1.6rem;color:var(--accent);flex-shrink:0;font-size:.78rem;font-weight:600}.pc-card-empty{color:var(--text-dim);background:color-mix(in srgb, var(--panel) 70%, var(--bg));border:1px solid var(--border);border-radius:var(--radius-xl);padding:.55rem .85rem;font-size:.8rem}.pc-card-err{color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent);border-radius:8px;margin:.25rem 0 0;padding:.5rem .85rem;font-size:.78rem}.pc-note{color:var(--text-soft);margin:.4rem 0 0;font-size:.78rem}.ws-chip{color:var(--text-soft);white-space:nowrap;letter-spacing:.005em;align-items:center;gap:.35rem;font-size:.72rem;font-weight:500;display:inline-flex}.ws-chip-warn{color:#b27c3c}.ws-chip-info{color:var(--text-soft)}.pps{color:var(--text-soft);opacity:.85;align-items:center;gap:7px;margin:.5rem 0 .15rem;font-size:.9rem;font-style:italic;display:inline-flex}.pps-top{margin:0 0 .25rem}.pps-label{animation:.6s cubic-bezier(.22,.61,.36,1) both bubble-placeholder-fade;display:inline-block}@media (prefers-reduced-motion:reduce){.pps-label{animation:none}}.ws-chip-iter{font-variant-numeric:tabular-nums}.md-word{animation:.3s cubic-bezier(.4,0,.4,1) both md-word-fade}@keyframes md-word-fade{0%{opacity:0;filter:blur(5px)}25%{opacity:.25;filter:blur(3.5px)}55%{opacity:.5;filter:blur(1.8px)}82%{opacity:.75;filter:blur(.5px)}to{opacity:1;filter:blur()}}@media (prefers-reduced-motion:reduce){.md-word{animation:none}}:root[data-stream-anim=off] .md-word{animation:none}.md p{margin:0 0 .75em}.md p:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4{font-family:var(--font-serif);color:var(--text);margin:1.4em 0 .5em;font-weight:500;line-height:1.3}.md h1{font-size:1.5rem}.md h2{font-size:1.3rem}.md h3{font-size:1.15rem}.md h4{font-size:1rem}.md ul,.md ol{margin:.25em 0 .75em;padding-left:1.5em}.md li{margin:.2em 0}.md li>p{margin:0}.md a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.md a:hover{color:var(--accent-hover)}.md blockquote{border-left:3px solid var(--accent);background:var(--panel);color:var(--text-soft);border-radius:0 8px 8px 0;margin:.75em 0;padding:.55em .95em}.md blockquote>:first-child{margin-top:0}.md blockquote>:last-child{margin-bottom:0}.md blockquote strong{color:var(--text)}.md hr{border:none;border-top:1px solid var(--border);margin:1.25em 0}.md code{font-family:var(--font-mono);background:var(--code-bg);border-radius:var(--radius-md);border:1px solid var(--border);padding:.15em .4em;font-size:.88em}.md pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;margin:.75em 0;padding:.9em 1em;font-size:.88em;line-height:1.5;overflow-x:auto}.md pre code{font-size:inherit;color:inherit;background:0 0;border:none;padding:0}.md table{border-collapse:collapse;width:100%;margin:.75em 0;font-size:.92em}.md th,.md td{border:1px solid var(--border);text-align:left;padding:.45em .7em}.md th{background:var(--panel);font-weight:600}.md img{border-radius:var(--radius-lg);max-width:100%}.md .katex{font-size:1.05em}.md .katex-display{padding:.25em 0;overflow:auto hidden}.codeblock{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;margin:.75em 0;overflow:hidden}.codeblock-header{background:var(--panel-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.3rem .55rem .3rem .7rem;display:flex}.codeblock-badge{font-family:var(--font-mono);color:var(--text-soft);letter-spacing:.04em;font-size:.7rem;font-weight:600}.codeblock-actions{align-items:center;gap:.25rem;display:inline-flex}.codeblock-copy{color:var(--text-dim);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;align-items:center;gap:.3rem;padding:.2rem .5rem;font-family:inherit;font-size:.74rem;font-weight:500;line-height:1;display:inline-flex}.codeblock-copy:hover{background:var(--bg);border-color:var(--border);color:var(--text)}.codeblock-copy:disabled{opacity:.55;cursor:not-allowed}.codeblock-copy.codeblock-run{color:var(--accent)}.codeblock-copy.codeblock-run:hover:not(:disabled){background:var(--btn-hover-wash-accent);color:var(--accent-hover)}.codeblock-copy.codeblock-fix{border-color:var(--border);color:var(--text)}.codeblock-copy.codeblock-fix:hover{background:var(--panel-2);border-color:var(--border-strong)}.coderun{background:var(--panel);font-family:var(--font-mono);margin:.5rem 0 .85rem;font-size:.86rem;line-height:1.55;position:relative;overflow:hidden}.coderun:has(+.feedback-box){border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.coderun+.feedback-box{border-top:0;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.coderun.is-running:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);pointer-events:none;height:2px;z-index:var(--z-elevated);background-repeat:no-repeat;background-size:40% 100%;animation:1.2s linear infinite coderun-sweep;position:absolute;bottom:0;left:0;right:0}@keyframes coderun-sweep{0%{background-position:-40% 0}to{background-position:140% 0}}.coderun-titlebar{background:0 0;align-items:center;gap:.6rem;min-height:30px;padding:0 .7rem 0 .85rem;display:flex}.coderun-tabs{align-self:stretch;align-items:stretch;gap:.05rem;display:inline-flex}.coderun-tab{letter-spacing:0;color:var(--text-dim);cursor:pointer;transition:color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:6px 10px 5px;font-family:inherit;font-size:.78rem;font-weight:500;display:inline-flex}.coderun-tab:hover:not(.is-active){color:var(--text);border-bottom-color:var(--border-strong)}.coderun-tab.is-active{color:var(--text);border-bottom-color:var(--accent)}.coderun-tab.coderun-tab--err.is-active{color:#f87171;border-bottom-color:#ef4444}.coderun-tab-count{background:var(--bg);min-width:18px;height:16px;color:var(--text-dim);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:.66rem;font-weight:600;display:inline-flex}.coderun-tab.is-active .coderun-tab-count{background:var(--accent);color:var(--accent-contrast)}.coderun-meta{font-family:var(--font-mono);grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;padding:.65rem .95rem .7rem;font-size:.78rem;line-height:1.5;display:grid}.coderun-meta dt{color:var(--text-dim);font-weight:600}.coderun-meta dd{color:var(--text);word-break:break-all;margin:0}.coderun-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:var(--radius-circle);flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite coderun-spin;display:inline-block}.coderun-spinner--inverse{border-color:#ffffff40;border-top-color:var(--accent-contrast)}@keyframes coderun-spin{to{transform:rotate(360deg)}}.codeblock-copy.codeblock-run.is-running{animation:1.4s ease-in-out infinite codeblock-run-pulse;cursor:progress!important}@keyframes codeblock-run-pulse{0%,to{opacity:1}50%{opacity:.72}}.rs-tree-action.is-running{animation:1.4s ease-in-out infinite codeblock-run-pulse;cursor:progress!important}.coderun-status{font-family:var(--font-mono);color:var(--text);align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.coderun.is-ok .coderun-status{color:#4ade80}.coderun.is-err .coderun-status{color:#f87171}.coderun.is-warn .coderun-status{color:#fbbf24}.coderun-icon{align-items:center;line-height:1;display:inline-flex}.coderun-duration{color:var(--text-dim);font-size:.76rem;font-family:var(--font-mono)}.coderun-spacer{flex:1}.coderun-close{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;padding:3px 5px;display:inline-flex}.coderun-close:hover{color:var(--text);background:var(--bg)}.coderun-body{white-space:pre-wrap;word-break:break-word;max-height:520px;font-family:var(--font-mono);color:var(--text);padding:.6rem .9rem;font-size:.86rem;line-height:1.4;overflow-y:auto}.coderun-body:empty{display:none}.coderun-stdout{color:var(--text)}.coderun-stderr{color:#fca5a5}.coderun-hint{color:var(--text-dim);font-style:italic}.coderun-footer{color:var(--text-dim);font-family:var(--font-mono);border-top:1px dashed var(--border);padding:.45rem .95rem .55rem;font-size:.76rem}.coderun-images{border-top:1px solid var(--border);background:var(--panel-2);flex-direction:column;gap:.6rem;padding:.7rem .95rem;display:flex}.coderun-img-link{display:block}.coderun-img{background:#fff;border-radius:3px;max-width:100%;display:block}.codeblock .codeblock-body{background:0 0;border:none;border-radius:0;margin:0;padding:.9em 1em;font-size:.88em;line-height:1.5;overflow-x:auto}.codeblock .codeblock-body code{font-size:inherit;color:inherit;background:0 0;border:none;padding:0}.codeblock .codeblock-body code.hljs,.md pre code.hljs{background:0 0;padding:0}:root[data-theme=light] .hljs{color:#26241f}:root[data-theme=light] .hljs-keyword,:root[data-theme=light] .hljs-selector-tag,:root[data-theme=light] .hljs-literal{color:#6e3a2c}:root[data-theme=light] .hljs-string,:root[data-theme=light] .hljs-attr{color:#55603f}:root[data-theme=light] .hljs-number,:root[data-theme=light] .hljs-variable{color:#6e4e2a}:root[data-theme=light] .hljs-comment{color:#9a968d;font-style:italic}:root[data-theme=light] .hljs-title,:root[data-theme=light] .hljs-section,:root[data-theme=light] .hljs-name{color:#3e556e}.citation-mark{display:inline;position:relative}.citation-mark-num{color:var(--accent);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;border-radius:3px;padding:0 .08em;font-family:inherit;font-size:.78em;font-weight:600;line-height:1}.citation-mark-num:focus{outline:2px solid var(--accent-soft);outline-offset:1px}.citation-mark:hover .citation-mark-num,.citation-mark:focus-within .citation-mark-num{background:var(--accent-soft);color:var(--accent-hover)}.citation-tip{z-index:50;background:var(--panel);width:max-content;max-width:360px;color:var(--text);border:1px solid var(--border-strong);text-align:left;white-space:normal;border-radius:8px;padding:.6rem .75rem;font-size:.82rem;line-height:1.45;display:none;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000059}.citation-tip:before{content:"";height:12px;position:absolute;bottom:-12px;left:0;right:0}.citation-mark:hover .citation-tip,.citation-mark:focus-within .citation-tip{display:block}.citation-tip-head{border-bottom:1px solid var(--border);align-items:center;gap:.4rem;margin-bottom:.35rem;padding-bottom:.3rem;display:flex}.citation-tip-kind{letter-spacing:.04em;border-radius:var(--radius-pill);background:var(--bg);border:1px solid var(--border);color:var(--text-dim);flex-shrink:0;padding:.05rem .4rem;font-size:.7rem;font-weight:600}.citation-tip-kind.kind-web{color:var(--accent);border-color:var(--accent-soft)}.citation-tip-kind.kind-attachment{color:var(--text)}.citation-tip-label{color:var(--text);word-break:break-word;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden}.citation-tip-snippet{color:var(--text-dim);white-space:pre-wrap;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.citation-tip-link{color:var(--accent);margin-top:.4rem;font-size:.76rem;text-decoration:none;display:inline-block}.citation-tip-link:hover{text-decoration:underline}.md-image-fig{max-width:min(360px,100%);margin:.6rem 0;display:block}.md-image-link{border-radius:var(--radius-lg);border:1px solid var(--border);transition:border-color var(--motion-fast,.12s ease);line-height:0;display:block;overflow:hidden}.md-image-link:hover{border-color:var(--accent,#6aa8ff)}.md-image-thumb{object-fit:cover;background:var(--panel);width:100%;height:auto;max-height:360px;display:block}.md-image-caption{color:var(--text-dim);margin-top:.3rem;font-size:.78rem;line-height:1.4;display:block}.source-pane-images{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.source-pane-image{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);flex:none;width:96px;height:96px;overflow:hidden}.source-pane-image img{object-fit:cover;width:100%;height:100%;display:block}.source-pane-image:hover{border-color:var(--accent,#6aa8ff)}.cell-list{flex-direction:column;gap:.25rem;padding-bottom:45vh;padding-left:2rem;display:flex}.cell-list-empty{text-align:center;color:var(--text-dim);flex-direction:column;align-items:stretch;gap:.35rem;padding:.6rem 0;display:flex}.cell-inserter{justify-content:center;align-items:center;height:20px;margin:-4px 0;display:flex;position:relative}.cell-inserter-line{background:var(--border);opacity:0;pointer-events:none;height:1px;transition:opacity .18s;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.cell-inserter:hover .cell-inserter-line{opacity:1;background:var(--accent)}.cell-inserter-actions{background:var(--bg);opacity:0;align-items:center;gap:.35rem;padding:0 .35rem;transition:opacity .18s;display:inline-flex;position:relative}.cell-inserter:hover .cell-inserter-actions{opacity:1}.cell-inserter-btn{background:var(--panel-2);border-radius:var(--radius-md);color:var(--text-soft);font:inherit;cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);border:1px solid #0000;align-items:center;gap:.2rem;padding:.08rem .45rem;font-size:.72rem;line-height:1.35;display:inline-flex}.cell-inserter-btn:hover{background:var(--panel);color:var(--text)}.cell-inserter-plus{color:var(--accent);font-weight:600}.cell-inserter:focus-within .cell-inserter-actions,.cell-inserter:focus-within .cell-inserter-line{opacity:1}.coding-session-page--2col{flex:1;align-items:stretch;gap:0;min-height:0;display:flex}.coding-area{background:var(--bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.coding-area>.open-tabs-bar{z-index:9;position:sticky;top:0}.coding-session-title{font-family:var(--font-serif);color:var(--text);cursor:text;transition:color var(--motion-fast), background var(--motion-fast);animation:coding-title-input-in .18s var(--ease-out) both;transform-origin:0;border-radius:3px;outline:none;margin:0 0 .2rem;padding:0;font-size:1.25rem;font-weight:500;display:inline-block}.coding-session-title:hover{color:var(--accent)}.coding-session-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.coding-session-title-input{font-family:var(--font-serif);font-size:1.35rem;font-weight:500;line-height:inherit;color:var(--text);border:0;border-bottom:1px solid var(--border);box-sizing:border-box;width:100%;max-width:36rem;transition:border-color var(--motion-fast);animation:coding-title-input-in .18s var(--ease-out) both;transform-origin:0;background:0 0;outline:none;margin:0 0 .25rem;padding:0 2px}.coding-session-title-input:focus{border-bottom-color:var(--accent)}@keyframes coding-title-input-in{0%{opacity:0;transform:translateY(-2px)scaleX(.985)}to{opacity:1;transform:translateY(0)scaleX(1)}}.coding-session-title-row{align-items:center;gap:.35rem;max-width:100%;padding:.1rem 0;display:inline-flex;position:relative}.coding-session-switcher-trigger{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-md);transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:0;align-items:center;padding:4px 5px;display:inline-flex}.coding-session-switcher-trigger:hover{color:var(--text);background:var(--panel-2)}.coding-session-run-all-btn,.coding-session-ipynb-btn,.coding-session-kernel-btn,.coding-session-clear-outputs-btn,.coding-session-shortcuts-btn{border-radius:var(--radius-pill);cursor:pointer;transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:6px 10px;font-family:inherit;font-size:.82rem;font-weight:500;display:inline-flex}.coding-session-run-all-btn:hover:not(:disabled),.coding-session-ipynb-btn:hover:not(:disabled),.coding-session-kernel-btn:hover:not(:disabled),.coding-session-clear-outputs-btn:hover:not(:disabled),.coding-session-shortcuts-btn:hover:not(:disabled){color:var(--text);background:var(--panel-2)}.keyboard-shortcuts-modal{max-width:640px}.keyboard-shortcuts-intro,.keyboard-shortcuts-footer{color:var(--text-dim);margin:0 0 .75rem;font-size:.85rem;line-height:1.5}.keyboard-shortcuts-footer{margin:1rem 0 0}.keyboard-shortcuts-section{margin-top:1.1rem}.keyboard-shortcuts-section h4{color:var(--text);text-transform:none;letter-spacing:0;margin:0 0 .45rem;font-size:.85rem;font-weight:600}.keyboard-shortcuts-section ul{grid-template-columns:minmax(150px,max-content) 1fr;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:grid}.keyboard-shortcuts-section li{display:contents}.keyboard-shortcuts-keys{flex-wrap:wrap;align-items:center;gap:2px;font-size:.78rem;display:inline-flex}.keyboard-shortcuts-sep{color:var(--text-dim);margin:0 2px}.keyboard-shortcuts-keys kbd{font-family:var(--font-mono);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2);color:var(--text);white-space:nowrap;border-bottom-width:2px;padding:1px 6px;font-size:.75rem}.keyboard-shortcuts-desc{color:var(--text-dim);align-self:center;font-size:.85rem}.coding-session-run-all-btn{color:var(--text);margin-left:.5rem}.coding-session-run-all-btn:disabled{opacity:.45;cursor:not-allowed}.coding-session-run-all-btn svg{color:inherit}.coding-session-ipynb-btn{color:var(--text-dim);text-decoration:none}.coding-session-kernel-btn{color:var(--text-dim)}.coding-session-kernel-btn:disabled{opacity:.55;cursor:progress}.coding-session-clear-outputs-btn{color:var(--text-dim)}.coding-session-clear-outputs-btn:disabled{opacity:.45;cursor:not-allowed}.coding-session-shortcuts-btn{color:var(--text-dim)}.coding-session-toolbar-sep{background:var(--border);vertical-align:middle;width:1px;height:16px;margin:0 .4rem;display:inline-block}.coding-side-portal{animation:coding-side-fade-in var(--motion-base) ease both;flex-direction:column;height:100%;min-height:0;display:flex}@keyframes coding-side-fade-in{0%{opacity:0}to{opacity:1}}.coding-side-portal .coding-vars-section,.coding-side-portal .coding-side-sandbox-slot,.coding-side-portal .coding-side-drive-section,.coding-side-portal .coding-side-github-section{margin-top:.4rem}.coding-side-portal .coding-side-drive-section{position:relative}.coding-side-portal .coding-side-drive-section:before{content:"";border-top:1px solid var(--border);position:absolute;top:-.22rem;left:.3rem;right:.3rem}.coding-side-portal .coding-vars-section>.sidebar-section-toggle,.coding-side-portal .coding-sandbox-section>.sidebar-section-toggle,.coding-side-portal .coding-side-drive-section>.sidebar-section-toggle,.coding-side-portal .coding-side-github-section>.sidebar-section-toggle{border-radius:var(--radius-md);box-sizing:border-box;min-height:32px;margin-bottom:0;padding:.35rem .4rem}.coding-side-portal .coding-vars-section>.sidebar-section-toggle:hover,.coding-side-portal .coding-sandbox-section>.sidebar-section-toggle:hover,.coding-side-portal .coding-side-drive-section>.sidebar-section-toggle:hover,.coding-side-portal .coding-side-github-section>.sidebar-section-toggle:hover{background:var(--panel-2);color:var(--text-soft)}.coding-session-page--2col .coding-session-rightcol{flex-direction:column;flex:1;align-self:stretch;min-width:0;display:flex}.coding-session-page--2col .coding-session-rightcol>.open-tabs-bar{z-index:9;flex-shrink:0;position:sticky;top:0}.coding-session-page--2col .coding-session-rightcol-inner{flex:1;align-items:stretch;min-height:0;display:flex;position:relative;overflow:hidden}.coding-session-page--2col .coding-session-main{flex:1;min-width:0;min-height:0;padding:0 .85rem;overflow-y:auto}.coding-session-page--2col.is-chat-open .coding-session-main{padding-right:var(--coding-chat-width,360px)}.coding-session-page--2col .coding-session-main>.canvas-header{z-index:var(--z-sidebar);background:var(--bg);margin-bottom:0;padding-top:.4rem;padding-bottom:.4rem;position:sticky;top:0}.coding-session-page--2col .coding-session-main>.canvas-header h2{margin-bottom:0}.coding-session-page--2col .coding-session-chat-slot{width:var(--coding-chat-width,360px);z-index:var(--z-sidebar);will-change:transform;transition-property:transform;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.coding-session-page--2col .coding-session-chat-slot.is-open{transform:translate(0)}.coding-session-page--2col .coding-session-chat-slot.is-resizing{transition:none}.coding-session-notebook{margin-top:1.25rem}.coding-ai-target-composer-chip{background:var(--bg);border:1px solid color-mix(in srgb, var(--edge-coding) 35%, var(--border));border-radius:var(--radius-pill);align-items:center;gap:1px;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0;padding:1px 3px 1px 8px;font-size:.74rem;display:inline-flex}.coding-ai-target-composer-chip-tab{color:var(--text-soft);font-family:var(--font-mono);align-items:center;gap:5px;padding:1px 4px;display:inline-flex}.coding-ai-target-composer-chip-tab>svg{color:var(--edge-coding)}.coding-ai-target-composer-chip-close{border-radius:var(--radius-pill);width:18px;height:18px;color:var(--text-dim);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.coding-ai-target-composer-chip-close:hover{background:var(--panel-2);color:var(--text)}.coding-side-section{border-bottom:1px solid var(--border);padding:.65rem .15rem .75rem}.coding-side-section:last-child{border-bottom:0}.coding-side-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.3rem;font-size:.66rem;font-weight:600;display:block}.coding-side-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.coding-side-row{color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding:.2rem 0;font-size:.82rem;overflow:hidden}.coding-side-empty{color:var(--text-dim);font-size:.78rem;font-style:italic}.coding-side-drive{flex-direction:column;gap:.35rem;padding-top:.2rem;display:flex}.coding-side-muted{color:var(--text-dim);white-space:normal;text-overflow:clip;padding:.15rem 0;font-size:.78rem;line-height:1.35;overflow:visible}.coding-side-error{color:var(--danger);white-space:normal;padding:.15rem 0;font-size:.78rem;line-height:1.35}.coding-side-warn{color:var(--warn,#b46d1a);white-space:normal;padding:.15rem 0;font-size:.78rem;line-height:1.35}.coding-side-notice{color:var(--text-dim);white-space:normal;padding:.15rem 0;font-size:.78rem;line-height:1.35}.coding-side-btn{text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;padding:.32rem .5rem;font-family:inherit;font-size:.82rem;transition:background .12s}.coding-side-btn:hover:not(:disabled){background:var(--panel-2)}.coding-side-btn:disabled{opacity:.45;cursor:not-allowed;background:var(--panel-2,transparent)}.resizable-handle{cursor:ew-resize;width:6px;transition:background var(--motion-fast);background:0 0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;display:flex;position:relative}.coding-session-page--2col .resizable-handle--right{top:0;bottom:0;right:var(--coding-chat-width,360px);z-index:6;align-self:auto;position:absolute}.resizable-handle:hover{background:var(--accent-soft)}.resizable-handle-grip{background:var(--border);width:2px;height:28px;transition:background var(--motion-fast);border-radius:1px;display:block}.resizable-handle:hover .resizable-handle-grip{background:var(--accent);height:48px}.codecell{background:var(--bg);box-shadow:none;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), opacity var(--motion-fast);border:0;border-radius:14px;position:relative;overflow:hidden}.codecell.codecell--ai-target{box-shadow:inset 0 0 0 2px var(--edge-coding), 0 0 0 1px color-mix(in srgb, var(--edge-coding) 35%, transparent)}.codecell--ghost{background:color-mix(in srgb, var(--edge-coding) 4%, var(--bg));border:0;animation:1.6s ease-in-out infinite ghost-cell-pulse}@keyframes ghost-cell-pulse{0%,to{box-shadow:0 0 #3aa8b800}50%{box-shadow:0 0 0 3px #3aa8b81f}}.codecell-ghost-body{font-family:var(--font-mono);white-space:pre-wrap;word-wrap:break-word;color:var(--text);background:0 0;min-height:60px;margin:0;padding:.7rem .9rem;font-size:.86rem;line-height:1.5}.codecell-ghost-caret{vertical-align:text-bottom;background:var(--edge-coding);width:.5ch;height:1em;margin-left:1px;animation:1s steps(2,jump-none) infinite ghost-cell-caret;display:inline-block}@keyframes ghost-cell-caret{0%,49%{opacity:1}50%,to{opacity:0}}.codecell.codecell--being-edited{background:color-mix(in srgb, var(--edge-coding) 4%, var(--bg));animation:1.6s ease-in-out infinite ghost-cell-pulse}.codecell.codecell--being-edited .hltxa,.codecell.codecell--being-edited .codecell-ai-cta{display:none}.codecell-live-edit-overlay{font-family:var(--font-mono);white-space:pre-wrap;word-wrap:break-word;color:var(--text);pointer-events:none;background:0 0;min-height:60px;margin:0;padding:.7rem .9rem;font-size:.86rem;line-height:1.5}.codecell-header{background:0 0;border-bottom:0;align-items:center;gap:.55rem;min-height:26px;padding:.25rem .55rem .25rem .7rem;display:flex}.codecell--markdown:not(.codecell--bare),.codecell--markdown:not(.codecell--bare) .codecell-textarea--markdown,.codecell--markdown:not(.codecell--bare) .codecell-textarea--markdown:focus{background:var(--panel)}.codecell-header--slim{opacity:1;background:0 0;border-bottom:0;gap:.35rem;min-height:0;padding:0;position:absolute;top:6px;left:auto;right:8px}.codecell:has(.codecell-overflow-trigger[aria-expanded=true]) .codecell-header--slim{opacity:1}.codecell:has(.codecell-overflow-trigger[aria-expanded=true]) .codecell-bare-actions{opacity:1}.codecell-header--slim .codecell-save-hint{background:var(--panel);border-radius:var(--radius-pill);border:1px solid var(--border);padding:2px 7px}.codecell-header--slim .codecell-actions{background:0 0;border:0;gap:1px;padding:0}.codecell-header--slim .branch-nav{background:0 0;border:0;margin:0;padding:0;font-size:.72rem}.codecell-editor-wrap{position:relative}.codecell-ai-cta{font-family:var(--font-mono);letter-spacing:normal;color:var(--text-dim);cursor:pointer;z-index:var(--z-sticky);text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:0;width:auto;margin:0;padding:0;font-size:.86rem;font-style:normal;font-weight:400;line-height:1.5;position:absolute;top:.9rem;left:.9rem}.codecell-ai-cta u{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text-dim) 70%, transparent 30%);text-decoration-color:color-mix(in srgb, var(--text-dim) 70%, transparent 30%);text-underline-offset:2px;transition:color .15s,text-decoration-color .15s}.codecell-ai-cta:hover{color:var(--text-soft)}.codecell-ai-cta:hover u{color:var(--edge-coding);-webkit-text-decoration-color:var(--edge-coding);text-decoration-color:var(--edge-coding)}.codecell-ai-cta:focus-visible{outline:1px dashed var(--edge-coding);outline-offset:3px;border-radius:var(--radius-sm)}.codecell-language-tag{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em;pointer-events:none;opacity:.7;-webkit-user-select:none;user-select:none;font-size:.66rem;position:absolute;bottom:6px;right:8px}.codecell--code{border-left:0}.codecell-badge{font-family:var(--font-mono);color:var(--text-soft);letter-spacing:.06em;font-size:.68rem;font-weight:600}.codecell-save-hint{color:var(--text-dim);font-size:.7rem;font-family:var(--font-sans)}.codecell-save-hint.is-ok{color:var(--status-approved)}.codecell-mode-btn{color:var(--text-soft);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;padding:.15rem .5rem;font-family:inherit;font-size:.72rem;line-height:1}.codecell-mode-btn:hover{background:var(--bg);color:var(--text)}.codecell-actions{align-items:center;gap:.2rem;margin-left:auto;display:inline-flex}.codecell-action{color:var(--text-dim);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.25rem .35rem;line-height:0;display:inline-flex}.codecell-action:hover:not(:disabled){background:var(--bg);color:var(--text)}.codecell-action:focus-visible{box-shadow:var(--focus-ring);outline:none}.codecell-action:disabled{opacity:.35;cursor:not-allowed}.codecell-action--primary{color:var(--accent)}.codecell-action--primary:hover:not(:disabled){background:var(--btn-hover-wash-accent);color:var(--accent-hover)}.codecell-action--danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.codecell-textarea{background:var(--code-bg);width:100%;color:var(--text);font-family:var(--font-mono);resize:none;box-sizing:border-box;border:0;outline:0;padding:.7rem .9rem;font-size:.86rem;line-height:1.5;display:block}.codecell-textarea:focus{background:var(--code-bg)}.codecell-textarea--markdown,.codecell-textarea--markdown:focus{background:var(--bg)}.codecell-preview{background:var(--bg);cursor:text;min-height:2rem;padding:.75rem .95rem}.codecell-preview:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-soft);outline:none}.codecell-preview .meta{color:var(--text-dim);margin:0;font-style:italic}.codecell-result-area{border-top:1px solid var(--border);background:var(--panel);padding:.5rem .5rem .25rem;scroll-margin-top:120px}.codecell-result-area>.coderun{margin:0}.codecell-exec{font-family:var(--font-mono);color:var(--text-dim);-webkit-user-select:none;user-select:none;text-align:right;pointer-events:none;width:1.5rem;font-size:.72rem;line-height:1;position:absolute;top:.45rem;left:-1.85rem}.codecell-exec.is-running{color:var(--accent);justify-content:flex-end;align-items:center;height:.72rem;display:inline-flex}.cell-list-row{position:relative}.coding-cell-list-empty{text-align:center;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:280px;padding:3rem 1rem;display:flex}.coding-cell-list-empty-title{color:var(--text);margin-top:.4rem;font-size:1rem;font-weight:500}.coding-cell-list-empty-hint{font-size:.85rem}.coding-cell-list-empty-shortcuts{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;margin-top:.6rem;font-size:.74rem;display:flex}.coding-cell-list-empty-shortcuts kbd{background:var(--panel-2);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text);border-radius:3px;padding:1px 5px;font-size:.7rem;line-height:1.3;display:inline-block}.coding-cell-list-empty .cell-inserter-line{display:none}.coding-cell-list-empty .cell-inserter-actions{opacity:1}.coding-outline{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.coding-outline>li{margin:0}.coding-outline-item{text-align:left;cursor:pointer;width:100%;color:var(--text);border-radius:var(--radius-md);transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;align-items:center;gap:.3rem;padding:.2rem .4rem;font-family:inherit;font-size:.78rem;display:flex}.coding-outline-item:hover{background:var(--panel-2);color:var(--accent)}.coding-outline-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.coding-outline-item--h1{font-weight:600}.coding-outline-item--h2{color:var(--text-soft);padding-left:1.1rem}.coding-outline-item--h3{color:var(--text-dim);padding-left:1.8rem;font-size:.72rem}.coding-outline-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:block;overflow:hidden}.coding-file-tree{border-bottom:1px solid var(--border);transition:border-color var(--motion-fast), background var(--motion-fast);margin-bottom:.65rem;padding:.55rem .15rem .65rem}.coding-file-tree--dragover{border-bottom-color:var(--accent);background:var(--accent-soft)}.coding-file-tree-header{align-items:center;gap:.45rem;margin-bottom:.4rem;display:flex}.coding-file-tree-title{color:var(--text);align-items:center;gap:.35rem;margin:0;font-size:.82rem;font-weight:600;display:inline-flex}.coding-file-tree-title svg{color:var(--text-soft)}.coding-file-tree-upload-btn{color:var(--text-soft);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;margin-left:auto;padding:.15rem .5rem;font-family:inherit;font-size:.72rem;line-height:1.4}.coding-file-tree-upload-btn:hover{background:var(--bg);color:var(--text)}.coding-file-tree-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md);cursor:pointer;margin:0 0 .4rem;padding:.3rem .45rem;font-size:.76rem}.coding-file-tree-empty{border:1px dashed var(--border);border-radius:var(--radius-md);text-align:center;color:var(--text-dim);transition:border-color var(--motion-fast), color var(--motion-fast);padding:.75rem .55rem;font-size:.78rem}.coding-file-tree-empty.is-dragover{border-color:var(--accent);color:var(--text)}.coding-file-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.coding-file-row{border-bottom:1px solid var(--border);flex-direction:column;gap:.15rem;padding:.4rem .2rem;display:flex}.coding-file-row:last-child{border-bottom:0}.coding-file-row--uploading{opacity:.75}.coding-file-name{color:var(--text);align-items:center;gap:.35rem;min-width:0;font-size:.82rem;display:inline-flex}.coding-file-name-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.coding-file-name svg{color:var(--text-dim);flex:none}.coding-file-row-footer{justify-content:space-between;align-items:center;gap:.3rem;display:flex}.coding-file-meta{color:var(--text-dim);font-size:.7rem}.coding-file-actions{gap:.15rem;display:inline-flex}.coding-file-action{color:var(--text-dim);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.2rem .3rem;line-height:0;text-decoration:none;display:inline-flex}.coding-file-action:hover{background:var(--bg);border-color:var(--border);color:var(--text)}.coding-file-action:focus-visible{box-shadow:var(--focus-ring);outline:none}.coding-file-action--danger:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.coding-back-btn{align-items:center;gap:.3rem;display:inline-flex}.session-chat-panel{border:0;border-left:1px solid var(--border);background:var(--bg);border-radius:0;flex-direction:column;flex-shrink:0;width:340px;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}@keyframes session-chat-panel-content-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.session-chat-panel .chat-thread-tabs,.session-chat-panel .session-chat-panel-list,.session-chat-panel .session-chat-panel-composer-wrap{animation:session-chat-panel-content-in var(--motion-base) var(--ease-out) both}.session-chat-target-chip{color:var(--text);background:color-mix(in srgb, var(--edge-coding) 18%, var(--panel) 82%);border:1px solid color-mix(in srgb, var(--edge-coding) 35%, var(--border) 65%);border-radius:var(--radius-pill);align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;margin:0 .5rem .4rem;padding:3px 4px 3px 10px;font-size:.72rem;display:inline-flex}.session-chat-target-chip-label{font-variant-numeric:tabular-nums}.session-chat-target-chip-close{width:18px;height:18px;color:var(--text-dim);cursor:pointer;border-radius:var(--radius-circle);background:0 0;border:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.session-chat-target-chip-close:hover{background:var(--panel-2);color:var(--text)}.chat-thread-tabs{background:var(--panel);align-items:stretch;min-height:30px;display:flex}.chat-thread-tabs-scroll{scrollbar-width:thin;flex:1;display:flex;overflow:auto hidden}.chat-thread-tabs-scroll::-webkit-scrollbar{height:4px}.chat-thread-tabs-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}.chat-thread-tab{color:var(--text-dim);border-right:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;align-items:center;gap:.3rem;min-width:0;max-width:200px;padding:.3rem .45rem .3rem .6rem;font-size:.78rem;display:inline-flex;position:relative}.chat-thread-tab:hover{background:var(--bg);color:var(--text)}.chat-thread-tab.is-active{color:var(--text);background:var(--bg)}.chat-thread-tab.is-active:after{content:"";background:var(--edge-coding);height:2px;position:absolute;top:0;left:0;right:0}.chat-thread-tab-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chat-thread-tab-input{border:1px solid var(--accent);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:3px;outline:none;flex:1;padding:1px 4px}.chat-thread-tab-close{color:var(--text-soft);cursor:pointer;opacity:0;transition:opacity var(--motion-fast), background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:2px;line-height:0;display:inline-flex}.chat-thread-tab:hover .chat-thread-tab-close,.chat-thread-tab.is-active .chat-thread-tab-close{opacity:1}.chat-thread-tab-close:hover{background:var(--panel-2);color:var(--text)}.chat-thread-tabs-add,.chat-thread-tabs-collapse{color:var(--text-dim);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0 .55rem;display:inline-flex}.chat-thread-tabs-add:hover:not(:disabled),.chat-thread-tabs-collapse:hover{background:var(--bg);color:var(--text)}.chat-thread-tabs-add:disabled{opacity:.35;cursor:not-allowed}.session-chat-panel-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:.6rem .7rem;display:flex;overflow-y:auto}.workspace-tree{border-top:1px solid var(--border);transition:background var(--motion-fast);flex-direction:column;flex:1 1 0;min-height:96px;margin-top:.4rem;padding:.5rem .4rem .8rem;display:flex;position:relative}.workspace-tree--dragover{background:color-mix(in srgb, var(--edge-coding) 8%, transparent);outline:1px dashed var(--edge-coding);outline-offset:-2px}.workspace-tree-empty.is-dragover{color:var(--edge-coding)}.workspace-tree-row--uploading{opacity:.7}.workspace-tree-header{flex-wrap:nowrap;align-items:center;gap:.2rem;margin-bottom:.4rem;padding:0 .3rem;display:flex;overflow:hidden}.workspace-tree-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;align-items:center;gap:.35rem;min-width:0;margin:0;font-size:.78rem;font-weight:600;display:inline-flex;overflow:hidden}.workspace-tree-action{border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-soft);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.workspace-tree-action:hover{background:var(--bg);color:var(--text)}.workspace-tree .coding-side-error,.workspace-tree .coding-side-warn,.workspace-tree .coding-side-notice,.workspace-tree-error,.workspace-tree-warn,.workspace-tree-notice{border-radius:var(--radius-md);margin:0 .3rem .4rem;padding:.35rem .55rem;font-size:.72rem}.workspace-tree .coding-side-error,.workspace-tree-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);cursor:pointer}.workspace-tree .coding-side-warn,.workspace-tree-warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn)}.workspace-tree .coding-side-notice,.workspace-tree-notice{background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);word-break:break-all}.workspace-tree-empty{color:var(--text-dim);margin:.3rem .5rem;font-size:.74rem}.workspace-tree-list{flex-direction:column;flex:1;gap:1px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.workspace-tree-row{color:var(--text-soft);border-radius:var(--radius-sm);align-items:center;gap:.3rem;padding:.18rem .4rem;font-size:.78rem;display:flex}.workspace-tree-row:hover{background:var(--panel-2);color:var(--text)}.workspace-tree-row.is-dragging{opacity:.45;outline:1px dashed var(--border)}.workspace-tree-row.is-drop-target{background:var(--accent-soft);color:var(--text);outline:1px solid var(--accent);outline-offset:-1px}.workspace-tree-toggle{width:14px;height:14px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.workspace-tree-toggle--leaf{cursor:default}.workspace-tree-name{min-width:0;color:inherit;cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;flex:1;align-items:center;gap:.5rem;padding:0;display:inline-flex;overflow:hidden}.workspace-tree-name-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.workspace-tree-meta{color:var(--text-dim);font-size:.68rem;font-family:var(--font-mono);flex-shrink:0}.workspace-tree-input{background:var(--bg);min-width:0;color:var(--text);border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:.78rem;font:inherit;outline:none;flex:1;padding:.1rem .3rem}.workspace-tree-menu{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-menu);z-index:var(--z-popover);flex-direction:column;gap:1px;padding:3px;display:flex;position:fixed}.workspace-tree-menu-item{color:var(--text);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;padding:5px 9px;font-size:.76rem;display:inline-flex}.workspace-tree-menu-item:hover{background:var(--accent-soft)}.workspace-tree-menu-item--danger{color:var(--danger)}.workspace-tree-menu-item--danger:hover{background:var(--danger-bg)}.workspace-tree-menu-divider{background:var(--border);height:1px;margin:2px 4px}.workspace-editor-scrim{background:var(--modal-scrim);z-index:var(--z-modal);justify-content:center;align-items:center;padding:4vh 4vw;display:flex;position:fixed;inset:0}.workspace-editor-modal{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(900px,100%);max-height:92vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.workspace-editor-header{border-bottom:1px solid var(--border);background:var(--panel-2);align-items:center;gap:.6rem;padding:.6rem .9rem;display:flex}.workspace-editor-path{font-family:var(--font-mono);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:50%;font-size:.82rem;overflow:hidden}.workspace-editor-dirty{color:var(--warn);font-size:.72rem}.workspace-editor-spacer{flex:1}.workspace-editor-size{font-family:var(--font-mono);font-size:.72rem}.workspace-editor-close{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:4px 6px}.workspace-editor-close:hover{background:var(--bg);color:var(--text)}.workspace-editor-body{background:var(--bg);flex:1;min-height:0;padding:.6rem .7rem .9rem;overflow:auto}.workspace-editor-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md);margin:.4rem 0;padding:.4rem .6rem;font-size:.78rem}.workspace-editor-readonly-hint{color:var(--text-dim);text-align:center;margin:1.2rem 0;font-size:.85rem}.workspace-editor-readonly-hint code{margin:0 .2rem}.workspace-editor-image-wrap{background:var(--bg);border-radius:var(--radius-md);justify-content:center;align-items:center;min-height:200px;padding:1rem;display:flex}.workspace-editor-image{object-fit:contain;max-width:100%;max-height:70vh;box-shadow:var(--shadow-sm);background:0 0}.cell-selection-toolbar{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow-menu);z-index:var(--z-toast);align-items:center;gap:2px;padding:3px 5px;font-size:.74rem;display:inline-flex;position:fixed}.cell-sel-btn{color:var(--text);font:inherit;cursor:pointer;border-radius:var(--radius-pill);transition:background var(--motion-fast);background:0 0;border:0;align-items:center;gap:.25rem;padding:4px 9px;display:inline-flex}.cell-sel-btn:hover{background:var(--accent-soft)}.cell-sel-ico{color:var(--text-soft);align-items:center;display:inline-flex}.cell-sel-label{line-height:1}.cell-fix-modal{flex-direction:column;gap:.6rem;display:flex}.cell-fix-modal-preview{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-md);max-height:180px;padding:.5rem .7rem;overflow:auto}.cell-fix-modal-preview pre{font-family:var(--font-mono);color:var(--text-soft);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.78rem}.cell-fix-modal-textarea{resize:vertical;background:var(--panel-2);width:100%;min-height:70px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;padding:.5rem .7rem;font-size:.85rem}.cell-fix-modal-textarea:focus{border-color:var(--edge-coding);box-shadow:0 0 0 2px #3aa8b840}.inquiry-modal-help{margin:0 0 .6rem}.inquiry-modal-textarea{resize:vertical;background:var(--panel-2);width:100%;min-height:120px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;padding:.55rem .75rem;font-size:.88rem;line-height:1.5}.inquiry-modal-textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.inquiry-modal-meta{justify-content:space-between;align-items:center;margin-top:.35rem;font-size:.72rem;display:flex}.inquiry-modal-count.is-low{color:var(--warn)}.inquiry-modal-done{padding:.5rem 0}.inquiry-modal-done-time{margin-top:.35rem}.admin-inquiries-section{margin-top:1.6rem}.admin-inquiries-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.admin-inquiries-refresh{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast);padding:4px 10px;font-size:.74rem}.admin-inquiries-refresh:hover:not(:disabled){background:var(--accent-soft)}.admin-inquiries-refresh:disabled{opacity:.5;cursor:not-allowed}.admin-inquiries-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.admin-inquiries-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:.6rem .85rem}.admin-inquiries-row-meta{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.admin-inquiries-row-time{color:var(--text-dim);font-size:.72rem;font-family:var(--font-mono)}.admin-inquiries-row-delete{color:var(--text-soft);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--motion-fast), border-color var(--motion-fast);background:0 0;padding:3px 9px;font-size:.7rem}.admin-inquiries-row-delete:hover{color:var(--text);border-color:var(--border-strong)}.admin-inquiries-row-content{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.86rem}.codecell--bare{box-shadow:none;background:0 0;border:0;border-radius:0;padding:.35rem 0 .6rem;position:relative}.codecell-bare-actions{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-pill);opacity:1;z-index:var(--z-elevated);align-items:center;gap:2px;padding:2px;display:inline-flex;position:absolute;top:.25rem;right:.2rem}.codecell-bare-action{color:var(--text-soft);border-radius:var(--radius-pill);cursor:pointer;width:22px;height:22px;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.codecell-bare-action:hover{background:var(--panel-2);color:var(--text)}.codecell-bare-content{outline:none;min-height:1.2em;padding:.1rem .25rem}.codecell-bare-content:hover{background:var(--accent-soft);border-radius:14px}.coding-sandbox-section{margin-top:.1rem}.coding-sandbox-section-body{flex-direction:column;gap:.4rem;padding:.25rem .15rem .5rem;display:flex}.coding-sandbox-section-body .coding-side-muted,.coding-sandbox-section-status{color:var(--text-dim);background:var(--panel-2);border-radius:var(--radius-md);padding:.35rem .5rem;font-size:.74rem}.coding-sandbox-section-body .coding-side-error,.coding-sandbox-section-status.is-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border)}.coding-sandbox-section-search{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);font-size:.75rem;font-family:var(--font-sans);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;padding:5px 9px}.coding-sandbox-section-search:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.coding-sandbox-section-search::placeholder{color:var(--text-dim)}.coding-sandbox-section-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.coding-vars-section .coding-sandbox-section-body{max-height:clamp(120px,100vh - 660px,220px);overflow-y:auto}.coding-vars-section .coding-sandbox-section-list{max-height:none;overflow-y:visible}.coding-side-sandbox-slot .coding-sandbox-section-list{max-height:clamp(100px,100vh - 660px,220px)}.coding-sandbox-section-item{font-family:var(--font-mono);color:var(--text-soft);font-size:.74rem}.coding-sandbox-section-item-row{border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:.5rem;padding:3px 7px;display:flex}.coding-sandbox-section-item-row:hover,.coding-sandbox-section-item-row[aria-expanded=true]{background:var(--accent-soft);color:var(--text)}.coding-sandbox-section-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.coding-sandbox-section-item-version{color:var(--text-dim);text-overflow:ellipsis;flex-shrink:0;max-width:7rem;font-size:.66rem;overflow:hidden}.coding-sandbox-section-item.is-expanded .coding-sandbox-section-item-version{color:var(--text-soft)}.coding-sandbox-section-item-detail{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);margin:.15rem .15rem .35rem;padding:.4rem .65rem .55rem;font-size:.7rem}.coding-sandbox-section-meta{grid-template-columns:max-content 1fr;gap:.2rem .55rem;margin:0;display:grid}.coding-sandbox-section-meta dt{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.66rem}.coding-sandbox-section-meta dd{color:var(--text);word-break:break-word;white-space:pre-wrap;margin:0}.coding-sandbox-section-meta dd a{color:var(--accent);text-decoration:none}.coding-sandbox-section-meta dd a:hover{text-decoration:underline}.coding-vars-group{margin-top:.08rem}.coding-vars-group:first-child{margin-top:0}.coding-vars-group-label{cursor:pointer;text-align:left;text-transform:uppercase;letter-spacing:.02em;width:100%;color:var(--text-soft);transition:color var(--motion-fast);background:0 0;border:0;align-items:center;gap:.3rem;padding:.22rem .65rem;font-family:inherit;font-size:.75rem;font-weight:600;display:flex}.coding-vars-group-label:hover{color:var(--text)}.coding-vars-group-count{font-family:var(--font-mono);opacity:.65;margin-left:auto;font-size:.72rem}.coding-vars-badge{text-overflow:ellipsis;white-space:nowrap;max-width:8.5rem;font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;font-size:.64rem;overflow:hidden}.coding-sandbox-section-item.is-expanded .coding-vars-badge{color:var(--text-soft)}.coding-vars-row--static{cursor:default}.coding-vars-preview{font-family:var(--font-mono);color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:9rem;margin:0;font-size:.66rem;line-height:1.5;overflow:auto}.codecell-overflow{display:inline-flex;position:relative}.codecell-overflow-menu{background:var(--panel);border-radius:var(--radius-xl);min-width:160px;box-shadow:var(--shadow-md);z-index:var(--z-popover);border:0;flex-direction:column;gap:2px;padding:.3rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}.codecell-overflow-menu--portal{z-index:var(--z-popover);position:fixed;top:auto;right:auto}.codecell-overflow-item{color:var(--text);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:background var(--motion-fast);background:0 0;border:0;align-items:center;gap:.5rem;padding:.45rem .6rem;font-family:inherit;font-size:.78rem;font-weight:500;display:inline-flex}.codecell-overflow-item:hover:not(:disabled){background:var(--panel-2)}.codecell-overflow-item:disabled{opacity:.45;cursor:not-allowed}.codecell-overflow-item--danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.codecell-overflow-divider{background:var(--border);height:1px;margin:3px 4px}.session-chat-panel-empty{color:var(--text-dim);margin:.5rem 0;font-size:.84rem;line-height:1.45}.session-chat-panel-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md);align-items:center;gap:.4rem;padding:.4rem .55rem;font-size:.78rem;display:flex}.session-chat-panel-error-close{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:.1rem;line-height:0}.session-chat-panel-streaming .session-chat-bubble{box-shadow:0 0 0 1px var(--accent-soft), 0 0 12px -4px var(--accent);animation:1.4s ease-in-out infinite session-chat-stream-pulse}@keyframes session-chat-stream-pulse{0%,to{box-shadow:0 0 0 1px var(--accent-soft), 0 0 8px -4px var(--accent)}50%{box-shadow:0 0 0 1px var(--accent), 0 0 18px -2px var(--accent)}}.session-chat-panel-composer{border-top:1px solid var(--border);background:var(--panel);padding:.5rem .6rem .55rem}.session-chat-panel-composer-wrap{padding:.4rem .4rem 1rem}.session-chat-panel-textarea{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);resize:none;box-sizing:border-box;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;padding:.45rem .55rem;font-family:inherit;font-size:.85rem;line-height:1.45}.session-chat-panel-textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.session-chat-panel-composer-row{align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.session-chat-panel-composer-row .meta{color:var(--text-dim);margin:0;font-size:.72rem}.session-chat-panel-composer-row .btn{margin-left:auto}.session-chat-bubble{background:0 0;border:0;flex-direction:column;gap:.2rem;max-width:100%;padding:.4rem .1rem;display:flex}.session-chat-bubble--user{background:var(--accent-soft);border-radius:var(--radius-md);border:0;align-self:flex-end;max-width:85%;padding:.4rem .55rem}.session-chat-bubble-header{align-items:center;gap:.3rem;display:flex}.session-chat-bubble-role{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-size:.7rem;font-weight:600}.session-chat-bubble-delete,.session-chat-bubble-action{color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity var(--motion-fast), background var(--motion-fast), color var(--motion-fast);background:0 0;border:1px solid #0000;padding:.15rem .25rem;line-height:0}.session-chat-bubble-action{margin-left:auto}.session-chat-bubble-action+.session-chat-bubble-delete{margin-left:0}.session-chat-bubble-delete{margin-left:auto}.session-chat-bubble:hover .session-chat-bubble-delete,.session-chat-bubble:hover .session-chat-bubble-action{opacity:1}.session-chat-bubble-action:hover{background:var(--bg);color:var(--text)}.session-chat-bubble-delete:hover{background:var(--danger-bg);color:var(--danger)}.session-chat-bubble-body{color:var(--text);word-break:break-word;overflow-wrap:anywhere;font-size:.85rem;line-height:1.5}.session-chat-bubble-target-badge{background:color-mix(in srgb, var(--edge-coding) 12%, transparent);border:1px solid color-mix(in srgb, var(--edge-coding) 35%, transparent);border-radius:var(--radius-pill);color:var(--text-soft);font-family:var(--font-mono);align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;margin:0 0 5px;padding:2px 9px;font-size:.7rem;display:inline-flex}.session-chat-bubble-target-badge>svg{color:var(--edge-coding)}.session-chat-bubble-text{white-space:pre-wrap;font-family:inherit;font-size:inherit;line-height:inherit;background:0 0;margin:0}.hltxa{width:100%;display:block;position:relative}.hltxa-bg{background:var(--code-bg);color:var(--text);font-family:var(--font-mono);letter-spacing:normal;tab-size:4;border-radius:inherit;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;pointer-events:none;border:0;margin:0;padding:.9rem;font-size:.86rem;line-height:1.5;position:absolute;inset:0;overflow:auto}.hltxa-bg code{font:inherit;color:inherit;white-space:inherit;word-wrap:inherit;tab-size:inherit;-moz-tab-size:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.hltxa-input{color:#0000;width:100%;caret-color:var(--text);-webkit-text-fill-color:transparent;font-family:var(--font-mono);letter-spacing:normal;tab-size:4;resize:none;white-space:pre-wrap;word-wrap:break-word;box-sizing:border-box;border:0;outline:0;margin:0;padding:.9rem;font-size:.86rem;line-height:1.5;display:block;position:relative;overflow:auto;background:0 0!important}.hltxa-input::selection{background:var(--accent-soft);color:#0000;-webkit-text-fill-color:transparent}.hltxa--composing .hltxa-input{color:var(--text);-webkit-text-fill-color:var(--text)}.hltxa--composing .hltxa-bg code{opacity:0}.hltxa--composing .hltxa-input::selection{background:var(--accent-soft);color:var(--text);-webkit-text-fill-color:var(--text)}.hltxa--markdown .hltxa-bg{background:var(--panel)}.hltxa-diag{color:#0000;font-family:var(--font-mono);letter-spacing:normal;tab-size:4;border-radius:inherit;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;pointer-events:none;background:0 0;border:0;margin:0;padding:.9rem;font-size:.86rem;line-height:1.5;position:absolute;inset:0;overflow:hidden}.hltxa-diag code{font:inherit;color:inherit;white-space:inherit;word-wrap:inherit;tab-size:inherit;-moz-tab-size:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.hltxa-diag-marker{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:2px;text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:#ef4444}.hltxa--composing .hltxa-diag{opacity:0}.codecell-missing-imports{color:var(--text-dim);border-top:1px solid var(--border);background:0 0;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.78rem;display:flex}.codecell-missing-imports>span:first-child{color:#ef4444}.codecell-missing-imports code{font-family:var(--font-mono);color:var(--text);background:0 0;padding:0;font-size:.78rem}.codecell-fix-draft{border-top:1px solid var(--border);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);margin:0}.coding-list-page{max-width:1400px;margin:0 auto;padding:1.5rem 1.75rem}.coding-list-page>h2{margin-top:0}.coding-list-page .canvas-header h2{font-size:1.6rem}.coding-list-page .canvas-header .meta{max-width:780px;font-size:.9rem}.coding-list-toolbar{align-items:center;gap:1rem;padding:.6rem 0 1rem;display:flex}.coding-list-search-wrap{flex:1;align-items:center;display:flex;position:relative}.coding-list-search-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:.55rem}.coding-list-search{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);flex:1;padding:.55rem .85rem .55rem 2.05rem;font-size:.9rem}.coding-list-search:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:1px}.coding-list-stats{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:.82rem}.coding-list-rows{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.coding-list-row{cursor:pointer;border-bottom:1px solid var(--border);transition:background var(--motion-fast);align-items:center;gap:1rem;min-width:0;padding:1.05rem 1.25rem;display:flex}.coding-list-row:last-child{border-bottom:0}.coding-list-row:hover{background:var(--panel-2)}.coding-list-row:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.coding-list-row-main{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.coding-list-row-title{color:var(--text);align-items:center;gap:.45rem;min-width:0;font-size:1.05rem;font-weight:600;display:flex}.coding-list-row-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.coding-list-row-title-input{min-width:6rem;max-width:28rem;font:inherit;color:var(--text);border:0;border-bottom:1px solid var(--border);box-sizing:border-box;transition:border-color var(--motion-fast);background:0 0;outline:none;flex:1;margin:0;padding:0 2px;font-size:1.05rem;font-weight:600}.coding-list-row-title-input:focus{border-bottom-color:var(--accent)}.coding-list-row-desc{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.4;overflow:hidden}.coding-list-row-badges{flex-shrink:0;align-items:center;gap:.3rem;display:inline-flex}.coding-list-row-time{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;text-align:right;flex-shrink:0;min-width:6rem;font-size:.8rem}.coding-list-row-actions{opacity:0;transition:opacity var(--motion-fast);flex-shrink:0}.coding-list-row:hover .coding-list-row-actions,.coding-list-row:focus-within .coding-list-row-actions{opacity:1}.coding-list-row:has(.coding-list-row-actions button[aria-expanded=true]) .coding-list-row-actions{opacity:1}.coding-list-row-menu-trigger{border-radius:var(--radius-md);color:var(--text-dim);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:.2rem;line-height:0;display:inline-flex}.coding-list-row-menu-trigger:hover{background:var(--bg);color:var(--text)}.coding-list-card-badge{background:var(--panel-2);border-radius:var(--radius-pill);color:var(--text-dim);font-size:.78rem;font-family:var(--font-mono);align-items:center;gap:.3rem;padding:.22rem .55rem;display:inline-flex}.coding-list-row:hover .coding-list-card-badge{background:var(--bg)}.coding-list-empty{text-align:center;min-height:320px;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.coding-list-empty-icon{color:var(--accent);opacity:.6}.coding-list-empty-title{color:var(--text);font-size:1.1rem;font-weight:500}.coding-list-empty-bullets{text-align:left;margin:0;padding-left:1.2rem;font-size:.85rem;line-height:1.7;list-style:outside}.right-panel-shell{background:var(--bg);border-left:1px solid var(--border);flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.right-panel-title-bar{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;min-height:34px;padding:0 .4rem 0 .75rem;display:flex}.right-panel-title{color:var(--text);letter-spacing:.02em;align-items:center;gap:.4rem;min-width:0;font-size:.75rem;font-weight:600;display:inline-flex}.right-panel-title>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.right-panel-title-close{width:26px;height:26px;color:var(--text-dim);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.right-panel-title-close:hover{background:var(--panel-2);color:var(--text)}.right-panel-view-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.right-panel-view-body>*{flex:auto;min-height:0}.right-panel-view-pane.is-active{flex:1;min-height:0;display:flex}.right-panel-view-pane.is-inactive{display:none}.resource-panel{flex-direction:column;min-width:0;height:100%;display:flex}.resource-panel.is-stale{opacity:.78}.resource-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.55rem .75rem;display:flex}.resource-panel-header h2{letter-spacing:.04em;color:var(--text);text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600}.resource-panel-close{border-radius:var(--radius-md);width:22px;height:22px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.resource-panel-close:hover{background:var(--panel-2);color:var(--text)}.resource-panel-body{flex-direction:column;flex:auto;gap:.6rem;min-height:0;padding:.6rem .6rem .4rem;display:flex;overflow-y:auto}.resource-panel-loading{color:var(--text-dim);text-align:center;margin:.4rem 0;font-size:.78rem}.resource-panel-footer{border-top:1px solid var(--border);color:var(--text-dim);flex-shrink:0;justify-content:space-between;padding:.4rem .75rem;font-size:.68rem;display:flex}.resource-panel-lastat{font-variant-numeric:tabular-nums}.rp-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.4rem;padding:.5rem .6rem .55rem;display:flex}.rp-card-empty{align-items:stretch}.rp-card-head{justify-content:space-between;align-items:baseline;display:flex}.rp-card-head h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:.72rem;font-weight:600}.rp-card-pct{color:var(--text);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.rp-card-name{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;margin-top:-.2rem;font-size:.72rem;overflow:hidden}.rp-card-body{align-items:center;gap:.6rem;display:flex}.rp-stats{flex-direction:column;flex:auto;gap:.18rem;min-width:0;margin:0;display:flex}.rp-stats>div{justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.72rem;display:flex}.rp-stats dt{color:var(--text-dim);margin:0;font-weight:500}.rp-stats dd{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.rp-card-subbars{flex-direction:column;gap:.28rem;margin-top:.1rem;display:flex}.rp-card-subbar{color:var(--text-dim);grid-template-columns:38px 1fr 38px;align-items:center;gap:.4rem;font-size:.66rem;display:grid}.rp-card-subbar-val{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-soft)}.rp-bar{background:var(--border);opacity:.95;border-radius:3px;height:6px;overflow:hidden}.rp-bar-fill{border-radius:3px;height:100%;transition:width .5s,background .5s}.rp-gauge{-webkit-user-select:none;user-select:none;flex:none;position:relative}.rp-gauge-lg{width:96px;height:56px}.rp-gauge-sm{width:64px;height:38px}.rp-gauge svg{width:100%;height:100%;display:block;overflow:visible}.rp-gauge-track{stroke:var(--border);stroke-width:9px;stroke-linecap:round;opacity:.6}.rp-gauge-fill{stroke-width:9px;stroke-linecap:round;transition:stroke-dasharray .5s,stroke .5s}.rp-gauge-pct{text-align:center;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.05rem;font-weight:600;line-height:1;position:absolute;top:50%;left:0;right:0;transform:translateY(-10%)}.rp-gauge-sm .rp-gauge-pct{font-size:.78rem}.rp-gauge-pct span{color:var(--text-dim);margin-left:1px;font-size:.6rem;font-weight:500}.rp-gauge-sm .rp-gauge-pct span{font-size:.5rem}:root,:root[data-theme=light]{--viz-surface:var(--panel);--viz-surface-2:var(--bg);--viz-border:var(--border);--viz-border-strong:var(--border-strong);--viz-track:#0000000f;--viz-note-bg:#f59e0b1a;--viz-note-border:#f59e0b59;--viz-purple:#7c63d6;--viz-purple-bg:#7c63d61f;--viz-blue:#4f7ed1;--viz-blue-bg:#4f7ed121;--viz-green:#4d8a6f;--viz-green-bg:#4d8a6f24;--viz-orange:#d97441;--viz-orange-bg:#d9744121;--viz-teal:#3a9aa6;--viz-teal-bg:#3a9aa621;--viz-gold:#c5a13a;--viz-gold-bg:#c5a13a21;--viz-red:#c25f5f;--viz-red-bg:#c25f5f21;--viz-gray:#6b6b66;--viz-gray-bg:#6b6b661f;--viz-scale-seq-1:#f4f8fd;--viz-scale-seq-2:#dde9f7;--viz-scale-seq-3:#c3d7ee;--viz-scale-seq-4:#a4c1e1;--viz-scale-seq-5:#82a8d1;--viz-scale-seq-6:#5f8cbe;--viz-scale-seq-7:#4571a4;--viz-scale-seq-8:#305684;--viz-scale-seq-9:#1e3a5f;--viz-scale-div-neg-1:#f7d8d2;--viz-scale-div-neg-2:#e8a59a;--viz-scale-div-neg-3:#d3705f;--viz-scale-div-neg-4:#a83b2a;--viz-scale-div-mid:#d8dadf;--viz-scale-div-pos-1:#d8e9d4;--viz-scale-div-pos-2:#a3cd9a;--viz-scale-div-pos-3:#5fa666;--viz-scale-div-pos-4:#2a7a3d;--viz-axis:var(--text-soft);--viz-grid:#00000012;--viz-tick:var(--text-dim);--viz-tooltip-bg:var(--panel);--viz-tooltip-border:var(--border-strong);--viz-tooltip-text:var(--text);--viz-legend-marker-size:.65rem}:root[data-theme=dark]{--viz-surface:var(--panel);--viz-surface-2:var(--bg);--viz-track:#ffffff12;--viz-note-bg:#f59e0b1f;--viz-note-border:#f59e0b4d;--viz-purple:#a695ec;--viz-purple-bg:#7c63d638;--viz-blue:#7ea7e6;--viz-blue-bg:#7ea7e633;--viz-green:#76c19d;--viz-green-bg:#76c19d33;--viz-orange:#ee9c6e;--viz-orange-bg:#ee9c6e33;--viz-teal:#6cc6d2;--viz-teal-bg:#6cc6d233;--viz-gold:#e0c46b;--viz-gold-bg:#e0c46b33;--viz-red:#e88c8c;--viz-red-bg:#e88c8c33;--viz-gray:#a8a8a3;--viz-gray-bg:#a8a8a32e;--viz-scale-seq-1:#1c2a3d;--viz-scale-seq-2:#25405e;--viz-scale-seq-3:#2d5680;--viz-scale-seq-4:#386da1;--viz-scale-seq-5:#4d86bb;--viz-scale-seq-6:#6ea0cd;--viz-scale-seq-7:#93b9dc;--viz-scale-seq-8:#b8d2ea;--viz-scale-seq-9:#dcebf7;--viz-scale-div-neg-1:#4a201c;--viz-scale-div-neg-2:#7a342c;--viz-scale-div-neg-3:#b05448;--viz-scale-div-neg-4:#e88c7c;--viz-scale-div-mid:#4a4d54;--viz-scale-div-pos-1:#1f3a26;--viz-scale-div-pos-2:#345f3d;--viz-scale-div-pos-3:#5a9269;--viz-scale-div-pos-4:#92c79f;--viz-axis:var(--text-soft);--viz-grid:#ffffff12;--viz-tick:var(--text-dim);--viz-tooltip-bg:var(--panel);--viz-tooltip-border:var(--border-strong);--viz-tooltip-text:var(--text)}.viz{color:var(--text);margin:.9em 0;font-size:.92rem}.viz-error{border:1px dashed var(--danger-border,var(--border-strong));background:var(--danger-bg,var(--panel-2));font-family:var(--font-mono);color:var(--text-soft);white-space:pre-wrap;border-radius:8px;padding:.7em .9em;font-size:.78rem}.viz-error-title{font-family:var(--font-sans);color:var(--danger);margin-bottom:.35em;font-size:.85rem;font-weight:600;display:block}.viz-pending{background:var(--panel);border:1px solid var(--border);color:var(--text-dim);border-radius:8px;align-items:center;gap:.55rem;padding:.7em .9em;font-size:.85rem;display:flex}.viz-pending-dot{border-radius:var(--radius-circle);background:var(--text-dim);width:.5em;height:.5em;animation:1.2s ease-in-out infinite viz-pulse}@keyframes viz-pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes viz-mount{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.viz-compare-card,.viz-bars-group,.viz-sequence-lane,.viz-sequence-row{animation:viz-mount .72s var(--ease-out-soft) both}@keyframes viz-reveal{0%{opacity:0;transform:translateY(6px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.viz-mermaid>svg{transform-origin:top}.viz-mermaid[data-streaming="0"]>svg{animation:viz-reveal .54s var(--ease-out-soft) both}@media (prefers-reduced-motion:reduce){.viz-compare-card,.viz-bars-group,.viz-sequence-lane,.viz-sequence-row,.viz-mermaid[data-streaming="0"]>svg{animation:none}}.viz-title{color:var(--text);margin:0 0 .25em;font-size:.95rem;font-weight:600;line-height:1.35}.viz-subtitle{color:var(--text-dim);margin:0 0 .85em;font-size:.78rem}.viz-compare{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;display:grid}.viz-compare:has(>:only-child){grid-template-columns:minmax(260px,480px)}.viz-compare:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(220px,1fr))}.viz-compare:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(260px,1fr))}@media (max-width:540px){:is(.viz-compare,.viz-compare:has(>:only-child),.viz-compare:has(>:nth-child(2):last-child),.viz-compare:has(>:nth-child(4):last-child)){grid-template-columns:1fr}}.viz-compare-card{background:var(--viz-surface);border:1px solid var(--viz-border);transition:border-color var(--motion-base) var(--ease-out-soft), transform var(--motion-base) var(--ease-out-soft), box-shadow var(--motion-base) var(--ease-out-soft);will-change:transform;border-radius:12px;flex-direction:column;gap:.6em;padding:.85em .95em .95em;display:flex;position:relative}.viz-compare-card:hover{border-color:var(--viz-card-color,var(--border-strong));box-shadow:0 6px 20px color-mix(in srgb, var(--viz-card-color,var(--accent)) 22%, transparent), var(--shadow-card);transform:translateY(-2px)}.viz-compare-card.is-highlight{border-color:var(--viz-card-color,var(--accent));box-shadow:0 0 0 1px var(--viz-card-color,var(--accent)) inset}.viz-compare-card.is-highlight:hover{box-shadow:0 0 0 1px var(--viz-card-color,var(--accent)) inset, 0 6px 20px color-mix(in srgb, var(--viz-card-color,var(--accent)) 28%, transparent), var(--shadow-card)}.viz-compare-card.is-featured{grid-column:span 2}@media (max-width:600px){.viz-compare-card.is-featured{grid-column:span 1}}@media (prefers-reduced-motion:reduce){.viz-compare-card{transition:none}.viz-compare-card:hover{transform:none}}.viz-compare-tag{letter-spacing:.02em;border-radius:var(--radius-pill);background:var(--viz-tag-bg,var(--viz-gray-bg));color:var(--viz-tag-fg,var(--viz-gray));white-space:nowrap;align-self:flex-start;padding:.18em .55em;font-size:.72rem;font-weight:600}.viz-compare-heading{flex-direction:column;gap:.15em;display:flex}.viz-compare-title{color:var(--text);word-break:keep-all;overflow-wrap:anywhere;font-size:1.05rem;font-weight:600;line-height:1.3}.viz-compare-sub{color:var(--text-dim);word-break:keep-all;overflow-wrap:anywhere;font-size:.78rem;line-height:1.5}.viz-compare-features{flex-direction:column;gap:.45em;margin:.15em 0 0;padding:0;list-style:none;display:flex}.viz-compare-feat{color:var(--text-soft);word-break:keep-all;overflow-wrap:anywhere;grid-template-columns:1.25em 1fr;align-items:start;gap:.55em;font-size:.86rem;line-height:1.55;display:grid}.viz-compare-feat-icon{color:var(--viz-card-color,var(--text-dim));text-align:center;justify-content:center;align-items:center;min-width:1.1em;margin-top:.15em;font-size:.95em;line-height:1.4;display:inline-flex}.viz-compare-feat-icon svg{display:block}.viz-compare-feat-text strong,.viz-compare-feat-text .viz-num{font-variant-numeric:tabular-nums;font-weight:600}.viz-compare-feat-text strong{color:var(--text)}.viz-compare-feat-text .viz-num{color:color-mix(in srgb, var(--viz-card-color,var(--text)) 88%, var(--text) 12%)}.viz-compare-card-meta{color:var(--text-dim);border-top:1px dashed var(--viz-border);word-break:keep-all;overflow-wrap:anywhere;flex-wrap:wrap;gap:.2em .75em;padding-top:.5em;font-size:.72rem;display:flex}.viz-compare-card-meta span{align-items:center;gap:.32em;display:inline-flex}.viz-compare-card-meta svg{opacity:.7;flex-shrink:0}.viz-compare-foot{border-top:1px solid var(--viz-border);color:var(--text-dim);word-break:keep-all;overflow-wrap:anywhere;margin-top:auto;padding-top:.55em;font-size:.78rem}.viz-compare-card.is-interactive{cursor:pointer}.viz-compare-card.is-interactive:focus-visible{outline:2px solid var(--viz-card-color,var(--accent));outline-offset:2px}.viz-compare-expand-hint{width:1.1em;height:1.1em;color:var(--text-dim);opacity:.45;transition:opacity var(--motion-base) var(--ease-out-soft), color var(--motion-base) var(--ease-out-soft);pointer-events:none;position:absolute;top:.55em;right:.65em}.viz-compare-card.is-interactive:hover .viz-compare-expand-hint{opacity:1;color:var(--viz-card-color,var(--text))}.viz-compare-modal-backdrop{z-index:80;background:color-mix(in srgb, var(--bg) 65%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:viz-mount .24s var(--ease-out-soft) both;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.viz-compare-modal{background:var(--viz-surface);border:1px solid var(--viz-card-color,var(--border-strong));width:min(680px,100%);max-height:min(85vh,720px);box-shadow:0 0 0 1px var(--viz-card-color,var(--accent)) inset, 0 24px 48px #00000059;border-radius:14px;flex-direction:column;gap:.8em;padding:1.1em 1.3em 1.2em;display:flex;position:relative;overflow:hidden}.viz-compare-modal-header{border-bottom:1px solid var(--viz-border);grid-template-columns:1fr auto;align-items:start;gap:.6em;padding-bottom:.6em;display:grid}.viz-compare-modal-header .viz-compare-tag{grid-area:1/1;align-self:start;margin-bottom:.25em}.viz-compare-modal-heading{grid-area:2/1}.viz-compare-modal-title{color:var(--text);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.viz-compare-modal-sub{color:var(--text-dim);word-break:keep-all;overflow-wrap:anywhere;margin:.2em 0 0;font-size:.85rem;line-height:1.5}.viz-compare-modal-close{appearance:none;cursor:pointer;color:var(--text-dim);transition:background var(--motion-base) var(--ease-out-soft), color var(--motion-base) var(--ease-out-soft);background:0 0;border:1px solid #0000;border-radius:8px;grid-area:1/2/span 2;justify-content:center;align-self:start;align-items:center;padding:.3em;display:inline-flex}.viz-compare-modal-close:hover{background:var(--viz-track);color:var(--text)}.viz-compare-modal-close:focus-visible{outline:2px solid var(--viz-card-color,var(--accent));outline-offset:2px}.viz-compare-modal-meta{color:var(--text-dim);flex-wrap:wrap;gap:.2em .85em;font-size:.78rem;display:flex}.viz-compare-modal-meta span{align-items:center;gap:.32em;display:inline-flex}.viz-compare-modal-meta svg{opacity:.7;flex-shrink:0}.viz-compare-modal-body{color:var(--text);word-break:keep-all;overflow-wrap:anywhere;flex:auto;padding-right:.3em;font-size:.9rem;line-height:1.7;overflow-y:auto}.viz-compare-detail-p{margin:0 0 .85em}.viz-compare-detail-p:last-child{margin-bottom:0}.viz-compare-modal-footer{border-top:1px dashed var(--viz-border);color:var(--text-dim);padding-top:.5em;font-size:.78rem}@media (prefers-reduced-motion:reduce){.viz-compare-modal-backdrop{animation:none}}.viz-skeleton-card{background:var(--viz-surface);border:1px solid var(--viz-border);min-height:168px;animation:viz-mount .72s var(--ease-out-soft) both;border-radius:12px;flex-direction:column;gap:.55em;padding:.85em .95em .95em;display:flex}.viz-skeleton-bar{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--viz-track) 0%, color-mix(in srgb, var(--viz-track) 55%, var(--text-dim) 18%) 50%, var(--viz-track) 100%);background-size:200% 100%;height:.85em;animation:1.6s linear infinite viz-skeleton-shimmer;display:block}.viz-skeleton-tag{border-radius:var(--radius-pill);width:4.2em;height:1.05em}.viz-skeleton-title{width:62%;height:1.15em;margin-top:.05em}.viz-skeleton-sub{width:38%;height:.7em;margin-bottom:.15em}.viz-skeleton-line{width:92%}.viz-skeleton-line-short{width:64%}@keyframes viz-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.viz-skeleton-card{animation:none}.viz-skeleton-bar{opacity:.55;animation:none}}.viz-meta{color:var(--text-dim);word-break:keep-all;overflow-wrap:anywhere;flex-wrap:wrap;gap:.25em .95em;margin:-.35em 0 .7em;font-size:.75rem;display:flex}.viz-meta-item{align-items:center;gap:.35em;display:inline-flex}.viz-meta svg{opacity:.75;flex-shrink:0}.viz-num{font-variant-numeric:tabular-nums;font-weight:600}.viz-bars-groups{flex-direction:column;gap:.95em;display:flex}.viz-bars-group-label{color:var(--text);margin:0 0 .35em;font-size:.85rem;font-weight:600}.viz-bars-rows{flex-direction:column;gap:.32em;display:flex}.viz-bars-row{grid-template-columns:minmax(70px,110px) 1fr;align-items:center;gap:.7em;display:grid}.viz-bars-row-label{color:var(--viz-bar-color,var(--text-soft));text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;overflow:hidden}.viz-bars-track{background:var(--viz-track);border-radius:var(--radius-lg);height:1.55em;position:relative;overflow:hidden}.viz-bars-fill{width:var(--viz-bar-width,0%);background:var(--viz-bar-bg,var(--viz-gray-bg));border-radius:var(--radius-lg);transition:width var(--motion-slow) var(--ease-out-soft);position:absolute;inset:0 auto 0 0}.viz-bars-value{color:var(--text);font-variant-numeric:tabular-nums;pointer-events:none;align-items:center;gap:.4em;font-size:.78rem;font-weight:500;display:flex;position:absolute;top:0;bottom:0;right:.55em}.viz-bars-delta{border-radius:var(--radius-md);background:var(--viz-green-bg);color:var(--viz-green);white-space:nowrap;padding:.08em .42em;font-size:.7rem;font-weight:600}.viz-bars-delta.is-negative{background:var(--viz-red-bg);color:var(--viz-red)}.viz-sequence{--viz-seq-gap-y:.55rem;--viz-seq-row-h:4.2rem;--viz-seq-step-w:11.5rem;background:var(--viz-surface);border:1px solid var(--viz-border);border-radius:12px;padding:.95em .8em 1.1em;overflow-x:auto}.viz-sequence-canvas{gap:var(--viz-seq-gap-y);min-width:max-content;margin:0 auto;display:grid;position:relative}.viz-sequence-lanes{border-bottom:1px dashed var(--viz-border);align-items:end;gap:0;padding-bottom:.65em;display:grid}.viz-sequence-lane{text-align:center;background:var(--viz-lane-bg,var(--viz-gray-bg));color:var(--viz-lane-fg,var(--viz-gray));border:1px solid var(--viz-lane-fg,var(--viz-gray));border-radius:8px;justify-self:center;min-width:7em;padding:.45em .9em;font-size:.82rem;font-weight:600}.viz-sequence-rows{gap:var(--viz-seq-gap-y);flex-direction:column;padding-top:.5em;display:flex;position:relative}.viz-sequence-lifelines{pointer-events:none;gap:0;display:grid;position:absolute;inset:0}.viz-sequence-lifeline{border-left:1px dashed var(--viz-border-strong);justify-self:center;width:0;height:100%}.viz-sequence-row{z-index:var(--z-elevated);min-height:var(--viz-seq-row-h);padding:.45em 0;position:relative}.viz-sequence-msg{flex-direction:column;align-items:stretch;gap:.25em;min-width:0;display:flex}.viz-sequence-msg-label{color:var(--viz-step-fg,var(--text));text-align:center;word-break:keep-all;overflow-wrap:anywhere;font-size:.82rem;font-weight:600;line-height:1.3}.viz-sequence-msg-note{color:var(--text-soft);text-align:center;word-break:keep-all;overflow-wrap:anywhere;font-size:.74rem;line-height:1.35}.viz-sequence-arrow{background:var(--viz-step-fg,var(--text-dim));pointer-events:none;border-radius:1px;width:100%;height:2px;position:relative}.viz-sequence-arrow:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.viz-sequence-arrow.dir-right:after{border-left:7px solid var(--viz-step-fg,var(--text-dim));right:-1px}.viz-sequence-arrow.dir-left:after{border-right:7px solid var(--viz-step-fg,var(--text-dim));left:-1px}.viz-sequence-self{align-items:center;gap:.55em;display:inline-flex}.viz-sequence-self-loop{border:2px solid var(--viz-step-fg,var(--text-dim));border-left:none;border-radius:0 999px 999px 0/0 50% 50% 0;flex-shrink:0;width:1.1em;height:1.7em;position:relative}.viz-sequence-self-loop:after{content:"";border-top:6px solid var(--viz-step-fg,var(--text-dim));border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;bottom:-5px;left:-3px}.viz-sequence-self-msg{flex-direction:column;gap:.15em;min-width:0;max-width:14rem;display:flex}.viz-sequence-self-msg .viz-sequence-msg-label,.viz-sequence-self-msg .viz-sequence-msg-note{text-align:left}.viz-sequence-note{background:var(--viz-note-bg);border:1px solid var(--viz-note-border);color:var(--text);text-align:center;border-radius:8px;max-width:26em;margin:0 auto;padding:.4em .85em;font-size:.78rem}.viz-mermaid{background:var(--viz-surface);border:1px solid var(--viz-border);text-align:center;border-radius:12px;padding:.9em .7em;overflow-x:auto}.viz-mermaid>svg{max-width:100%;height:auto}.viz-bars-stack-track{border-radius:var(--radius-md);background:var(--viz-track);width:100%;height:1.6em;display:flex;position:relative;overflow:hidden}.viz-bars-stack-seg{color:#fff;white-space:nowrap;justify-content:center;align-items:center;min-width:0;height:100%;font-size:.72rem;font-weight:600;transition:width .25s;display:flex;overflow:hidden}.viz-bars-stack-label{text-shadow:0 1px 1px #00000059;padding:0 .4em}.viz-bars-group.is-stacked .viz-bars-group-label{margin-bottom:.25em}.viz-bars-vcols{align-items:flex-end;gap:.6em;padding-bottom:.1em;display:flex;overflow-x:auto}.viz-bars-vcol{flex-direction:column;flex:4em;align-items:center;gap:.35em;min-width:3.4em;display:flex}.viz-bars-vcol-top{min-height:1.25em;color:var(--text);font-variant-numeric:tabular-nums;align-items:baseline;gap:.3em;font-size:.78rem;font-weight:600;display:flex}.viz-bars-vtrack{width:100%;max-width:3.6em;height:var(--viz-vcol-h,9rem);background:var(--viz-track);border-radius:var(--radius-md);align-items:flex-end;display:flex;position:relative;overflow:hidden}.viz-bars-vfill{border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--viz-gray-bg);width:100%;min-height:2px;transition:height var(--motion-slow) var(--ease-out-soft)}.viz-bars-vcol-label{max-width:7em;color:var(--text-soft);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.viz-bars-vstack-track{width:100%;max-width:4.2em;height:var(--viz-vcol-h,9rem);background:var(--viz-track);border-radius:var(--radius-md);flex-direction:column-reverse;display:flex;overflow:hidden}.viz-bars-vstack-seg{color:#fff;white-space:nowrap;min-height:2px;transition:height var(--motion-slow) var(--ease-out-soft);justify-content:center;align-items:center;font-size:.72rem;font-weight:600;display:flex;overflow:hidden}.viz-line-wrap{background:var(--viz-surface);border:1px solid var(--viz-border);border-radius:12px;flex-direction:column;gap:.4em;padding:.6em .6em .4em;display:flex;position:relative;overflow-x:auto}.viz-line-svg{width:100%;height:auto;font-family:var(--font-sans);display:block}.viz-line-axis{stroke:var(--viz-axis);stroke-width:1px;fill:none}.viz-line-grid{stroke:var(--viz-grid);stroke-width:1px;fill:none;shape-rendering:crispedges}.viz-line-tick{stroke:var(--viz-axis);stroke-width:1px;fill:none}.viz-line-axis-label{fill:var(--viz-tick);font-size:.72rem}.viz-line-axis-title{fill:var(--text);font-size:.78rem;font-weight:600}.viz-line-legend{color:var(--text-soft);flex-wrap:wrap;gap:.4em .9em;padding:.15em .25em .1em;font-size:.78rem;display:flex}.viz-line-legend-item{white-space:nowrap;align-items:center;gap:.4em;display:inline-flex}.viz-line-legend-swatch{width:var(--viz-legend-marker-size);height:var(--viz-legend-marker-size);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--text-soft) 40%, transparent);display:inline-block}.viz-pie-legend{color:var(--text-soft);grid-template-columns:1fr;gap:.25em .85em;max-height:11rem;margin:.4em 0 0;padding:0;font-size:.78rem;list-style:none;display:grid;overflow-y:auto}.viz-pie-legend:has(>:nth-child(7)){grid-template-columns:1fr 1fr}.viz-pie-legend:has(>:nth-child(13)){grid-template-columns:1fr 1fr 1fr}.viz-pie-legend-item{grid-template-columns:var(--viz-legend-marker-size) 1fr auto;word-break:keep-all;overflow-wrap:anywhere;align-items:center;gap:.4em;display:grid}.viz-pie-legend-swatch{width:var(--viz-legend-marker-size);height:var(--viz-legend-marker-size);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--text-soft) 40%, transparent);display:inline-block}.viz-pie-legend-label{text-overflow:ellipsis;overflow:hidden}.viz-pie-legend-pct{color:var(--text-dim);font-variant-numeric:tabular-nums}.modal-backdrop{z-index:var(--z-modal);background:var(--scrim-soft);transition:opacity var(--motion-fast) var(--ease-out);opacity:1;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}@starting-style{.modal-backdrop{opacity:0}}.modal{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-md);transform-origin:50%;width:100%;max-width:480px;transition:opacity var(--motion-base) var(--ease-out), transform var(--motion-base) var(--ease-out);opacity:1;border-radius:12px;padding:1.5rem;transform:scale(1)translateY(0)}@starting-style{.modal{opacity:0;transform:scale(.96)translateY(4px)}}.modal-wide{max-width:640px;max-height:80vh;overflow:auto}.modal h3{font-family:var(--font-serif);margin:0 0 .75rem;font-size:1.25rem;font-weight:500}.modal-title-icon{align-items:center;gap:.5rem;display:inline-flex}.modal p{color:var(--text-soft);margin:0 0 1rem}.modal-actions{flex-wrap:wrap;gap:.5rem;display:flex}.modal-note{margin-top:1rem;font-size:.78rem}.field-stack,.kb-meta-form{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.field,.kb-meta-field{flex-direction:column;gap:.2rem;display:flex}.field textarea,.kb-meta-field textarea{min-height:3.6em}.field-actions,.kb-meta-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.section-title,.kb-section-title{color:var(--text-soft);align-items:center;gap:.4rem;margin:.75rem 0 .25rem;font-size:.85rem;font-weight:600;display:flex}.kb-conv-link{border:1px solid var(--border);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);border-radius:8px;align-items:center;gap:.55rem;margin-bottom:.8rem;padding:.55rem .75rem;font-size:.88rem;display:flex}.kb-conv-link:hover{background:var(--panel-2)}.kb-conv-link input[type=checkbox]{flex-shrink:0}.kb-conv-link.on{border-color:var(--edge-db);background:#7c6bd614}.kb-conv-link.on strong{color:var(--edge-db)}.kb-link-list{flex-direction:column;gap:.35rem;max-height:40vh;margin:.75rem 0;padding:0;list-style:none;display:flex;overflow:auto}.kb-link-item label{border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.kb-link-item label:hover{background:var(--panel-2)}.kb-link-item input[type=checkbox]{margin:0}.kb-link-item .meta{margin-left:auto;font-size:.72rem}.auth-shell .auth-sidebar{-webkit-user-select:none;user-select:none}.auth-nav-locked{opacity:.55;cursor:not-allowed}.auth-nav-locked:hover{color:var(--text-soft);background:0 0}.auth-profile-guest{border-radius:var(--radius-xl);background:var(--panel-2);border:1px dashed var(--border-strong);color:var(--text-soft);align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.auth-profile-guest .app-profile-avatar{background:var(--bg);color:var(--text-dim);border:1px solid var(--border-strong)}.auth-guest-main{flex-direction:column;justify-content:center;align-items:stretch;height:100%;display:flex;position:relative}.auth-hero{flex:1;justify-content:center;align-items:center;min-height:0;padding:2.5rem 1.25rem 1rem;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);width:100%;max-width:440px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:saturate(1.05);backdrop-filter:saturate(1.05);border-radius:18px;padding:1.75rem 1.75rem 1.5rem;animation:.32s ease-out both auth-card-in}@keyframes auth-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-card-header{margin-bottom:1.25rem}.auth-card-title{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--text);margin:0 0 .25rem;font-size:1.35rem;font-weight:500}.auth-card-sub{color:var(--text-soft);margin:0;font-size:.86rem;line-height:1.45}.auth-tabs{background:var(--panel-2);border-radius:var(--radius-xl);grid-template-columns:1fr 1fr;margin-bottom:1.25rem;padding:4px;display:grid;position:relative}.auth-tab{z-index:var(--z-elevated);font:inherit;color:var(--text-soft);cursor:pointer;transition:color var(--motion-base);background:0 0;border:0;border-radius:7px;padding:.55rem 0;font-size:.88rem;font-weight:500;position:relative}.auth-tab.active{color:var(--text)}.auth-tabs-indicator{background:var(--bg);border:1px solid var(--border);width:calc(50% - 4px);box-shadow:var(--shadow-sm);border-radius:7px;transition:transform .22s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px}.auth-tabs-indicator.left{transform:translate(4px)}.auth-tabs-indicator.right{transform:translate(calc(100% + 4px))}.auth-form{gap:.85rem;display:grid}.auth-field{gap:.35rem;display:grid}.auth-field-label{color:var(--text-soft);letter-spacing:.01em;font-size:.78rem;font-weight:500}.auth-field-hint{color:var(--text-dim);margin-left:.25rem;font-weight:400}.auth-input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:100%;color:var(--text);font:inherit;padding:.65rem .8rem;font-size:.92rem;transition:border-color .15s,box-shadow .15s,background .15s}.auth-input::placeholder{color:var(--text-dim)}.auth-input:hover:not(:focus){border-color:var(--text-dim)}.auth-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring-wide);outline:none}.auth-alert{border:1px solid #0000;border-radius:9px;padding:.55rem .75rem;font-size:.82rem;line-height:1.45}.auth-alert-error{background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger)}.auth-alert-info{background:var(--panel-2);border-color:var(--border-strong);color:var(--text-soft)}.auth-submit{border-radius:var(--radius-xl);color:var(--accent);font:inherit;letter-spacing:.01em;cursor:pointer;background:0 0;border:0;margin-top:.15rem;padding:.7rem 1rem;font-size:.92rem;font-weight:500;transition:background .15s,transform .1s}.auth-submit:hover:not(:disabled){background:var(--btn-hover-wash-accent);color:var(--accent-hover)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-footnote{text-align:center;color:var(--text-soft);margin:1.1rem 0 0;font-size:.84rem}.auth-link{font:inherit;color:var(--text);cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);background:0 0;border:0;padding:0;font-weight:500;transition:color .15s,text-decoration-color .15s}.auth-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.auth-composer-locked{color:var(--text-dim);letter-spacing:.01em;justify-content:center;align-items:center;gap:.45rem;padding:.85rem 1rem 1.25rem;font-size:.8rem;display:flex}.auth-lock-icon{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-lg);width:22px;height:22px;color:var(--text-soft);justify-content:center;align-items:center;display:inline-flex}@media (max-width:640px){.auth-card{border-radius:14px;padding:1.35rem 1.25rem 1.1rem}.auth-hero{padding:1.5rem 1rem .5rem}}.auth-maintenance-card{text-align:center;gap:.85rem;display:grid}.auth-maintenance-card .auth-card-header{margin-bottom:.25rem}.auth-maintenance-icon{background:var(--panel-2);border:1px solid var(--border-strong);width:52px;height:52px;color:var(--text-soft);border-radius:14px;justify-content:center;align-items:center;margin:.25rem auto .4rem;display:inline-flex}.auth-maintenance-card .auth-alert-info{text-align:center}.auth-maintenance-footnote{margin-top:.35rem}.account-info-block{flex:1;min-width:0}.account-name-row{color:var(--text);font-size:16px;font-weight:600}.account-email{color:var(--text-soft);font-size:13px}.account-meta-row{color:var(--text-dim);margin-top:4px;font-size:12px}.account-newkey-title{color:var(--text);margin-bottom:6px;font-weight:600}.account-newkey-hint{color:var(--text-soft);margin-bottom:8px;font-size:12px}.account-newkey-actions{gap:8px;margin-top:8px;display:flex}.account-keys-section{margin-top:16px}.account-curl-section{margin-top:32px}.account-modal-title{color:var(--text);margin-top:0}.account-modal-desc{color:var(--text-dim);margin-top:0;font-size:12px}.account-modal-footer{text-align:right;margin-top:12px}.admin-title{align-items:center;gap:.5rem;margin-top:0;display:inline-flex}.admin-title-icon{flex-shrink:0}.admin-error-banner{color:#dc2626;margin-bottom:10px}.admin-section{margin-bottom:28px}.admin-empty{color:#888}.admin-table{border-collapse:collapse;width:100%;margin-top:10px}.admin-table-head{text-align:left;border-bottom:1px solid var(--border,#ddd)}.admin-table-row{border-bottom:1px solid var(--border,#eee)}.admin-cell-actions{gap:6px;display:flex}.convs-panel-state{color:var(--text-dim);font-size:13px}.convs-panel-error{color:var(--danger);font-size:13px}.convs-panel-empty{color:var(--text-dim);padding:6px 0;font-size:13px}.convs-panel-table{border-collapse:collapse;width:100%;color:var(--text)}.convs-panel-head{text-align:left;border-bottom:1px solid var(--border)}.convs-panel-th{color:var(--text);white-space:nowrap;padding:6px 8px;font-size:12px;font-weight:600}.convs-panel-row{border-bottom:1px solid var(--border)}.convs-panel-row-clickable{cursor:pointer}.convs-panel-row-clickable:hover{background:var(--panel-2)}.convs-panel-td{color:var(--text);padding:6px 8px;font-size:13px}.convs-panel-td-id{color:var(--text);white-space:nowrap;font-size:13px;font-family:var(--font-mono);padding:6px 8px}.convs-panel-td-num{color:var(--text);white-space:nowrap;text-align:right;padding:6px 8px;font-size:13px}.convs-panel-td-date{color:var(--text);white-space:nowrap;padding:6px 8px;font-size:13px}.convs-panel-td-actions{color:var(--text);text-align:right;padding:6px 8px;font-size:13px}.convs-panel-footnote{color:var(--text-dim);margin-top:6px;font-size:12px}.convs-panel-delete{border-radius:var(--radius-md);border:1px solid var(--danger);color:var(--danger);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;padding:3px 10px;font-size:12px}.convs-panel-delete:hover{background:var(--danger);color:#fff}.canvas-page{flex-direction:column;width:100%;height:100%;padding:2rem 1.25rem 0;display:flex}.canvas-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.canvas-header h2{font-family:var(--font-serif);align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.35rem;font-weight:500;display:inline-flex}.canvas-header-icon{flex-shrink:0}.canvas-header-info{flex:1;min-width:0}.canvas-header .meta{max-width:640px;margin:0}.canvas-empty{margin:.5rem 0}.canvas-empty-overlay{z-index:4;pointer-events:none;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.canvas-empty-card{background:var(--panel);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);pointer-events:auto;width:min(480px,100%);max-width:480px;animation:canvas-empty-in var(--motion-base) var(--ease-out);flex-direction:column;gap:.55rem;padding:1rem 1.2rem;display:flex;position:relative}@keyframes canvas-empty-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.canvas-empty-close{width:22px;height:22px;color:var(--text-dim);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:inline-flex;position:absolute;top:.35rem;right:.45rem}.canvas-empty-close:hover{background:var(--panel-2);color:var(--text)}.canvas-empty-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.canvas-empty-title{font-family:var(--font-serif);color:var(--text);margin:0;font-size:1rem;font-weight:500}.canvas-empty-desc{color:var(--text-soft);margin:0;font-size:.85rem;line-height:1.55}.canvas-empty-actions{flex-wrap:wrap;gap:.4rem;margin-top:.1rem;display:flex}.canvas-help-line{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:inline-flex}.canvas-help-toggle{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0 .15rem;font-family:inherit;font-size:.78rem;text-decoration:underline}.canvas-help-toggle:hover{color:var(--accent-hover)}.canvas-help-toggle:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.canvas-help-details{max-width:640px;margin:.4rem 0 0;padding-left:1.1rem;list-style:outside}.canvas-help-details li{margin:.15rem 0}.canvas-create-wrap{position:relative}.canvas-create-caret{opacity:.75;margin-left:.15rem;font-size:.7rem;display:inline-block}.canvas-create-menu{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);min-width:160px;box-shadow:var(--shadow-md);z-index:var(--z-popover,200);animation:canvas-create-menu-in var(--motion-fast) var(--ease-out);flex-direction:column;padding:.25rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}@keyframes canvas-create-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.canvas-create-menu-item{color:var(--text);text-align:left;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;padding:.45rem .7rem;font-family:inherit;font-size:.85rem}.canvas-create-menu-item:hover{background:var(--panel-2)}.canvas-create-menu-item:focus-visible{background:var(--panel-2);box-shadow:var(--focus-ring);outline:none}.canvas-refresh-btn{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.canvas-page .btn,.canvas-page .btn-primary,.canvas-page .btn:hover:not(:disabled),.canvas-page .btn-primary:hover:not(:disabled){border-color:#0000}.canvas-loading{height:100%;color:var(--text-soft);justify-content:center;align-items:center;display:flex}.canvas-flow{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg);flex:1;min-height:0;margin-top:.5rem;position:relative;overflow:hidden}.canvas-node{border:1px solid var(--node-accent,var(--border-strong));border-radius:var(--radius-xl);background:var(--panel);cursor:pointer;min-width:200px;max-width:280px;padding:0;font-size:.85rem;transition:box-shadow .15s,transform .1s;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000002e,0 0 0 1px #0000000a,inset 0 1px #ffffff0a}.canvas-node:hover{box-shadow:0 6px 18px #00000047, 0 0 0 1px var(--node-accent), 0 0 14px -2px var(--node-accent)}.canvas-node.expanded{max-width:340px}.canvas-node-db{--node-accent:var(--edge-db);--node-accent-deep:#5d4eb0}.canvas-node-prompt{--node-accent:var(--edge-prompt);--node-accent-deep:#a8412c}.canvas-node-chat{--node-accent:var(--edge-chat);--node-accent-deep:#366552}.canvas-node-api{--node-accent:var(--edge-api);--node-accent-deep:#94782a}.canvas-node-memo{--node-accent:var(--edge-memo);--node-accent-deep:#4a72ad}.canvas-node-coding{--node-accent:var(--edge-coding);--node-accent-deep:#1f7480}.canvas-node-memo{min-height:100px}.canvas-node-memo-body{background:var(--bg);padding:0}.canvas-node-memo-edit{box-sizing:border-box;width:100%;min-height:90px;max-height:280px;color:var(--text);font:inherit;resize:vertical;cursor:text;background:0 0;border:none;outline:none;padding:.5rem .65rem;font-size:.82rem;line-height:1.4;display:block}.canvas-node-memo-edit::placeholder{color:var(--text-dim);font-style:italic}.canvas-header-actions{flex-wrap:wrap;gap:.4rem;display:flex}.canvas-node-title{color:#fff;background:linear-gradient(180deg, var(--node-accent) 0%, var(--node-accent-deep) 100%);text-shadow:0 1px 1px #00000040;border-bottom:1px solid #00000040;align-items:center;gap:.4rem;min-width:0;padding:.4rem 1.6rem .4rem .65rem;font-size:.85rem;font-weight:600;display:flex}.canvas-node-title>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-node-del{border-radius:var(--radius-circle);color:#ffffffe6;cursor:pointer;opacity:0;width:18px;height:18px;z-index:var(--z-sticky);background:#00000047;border:none;justify-content:center;align-items:center;padding:0;font-size:.7rem;line-height:1;transition:opacity .15s,background .15s;display:flex;position:absolute;top:6px;right:6px}.canvas-node:hover .canvas-node-del{opacity:1}.canvas-node-del:hover{color:#fff;background:#d4573c}.canvas-node-meta{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;padding:.4rem .65rem;font-size:.72rem;overflow:hidden}.canvas-node-body{border-top:1px solid var(--border);cursor:default;background:var(--bg);max-height:240px;padding:.45rem .65rem .55rem;overflow:auto}.canvas-node-loading,.canvas-node-empty{color:var(--text-dim);font-size:.72rem;font-style:italic}.canvas-node-files{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.canvas-node-files li{color:var(--text-soft);align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.canvas-node-files li>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-node-prompt-content{color:var(--text-soft);white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;font-size:.72rem}.canvas-node-folder{border:1px dashed var(--border-strong);width:100%;height:100%;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;background:#968c6e0d;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff05}:root[data-theme=dark] .canvas-node-folder{background:#c8be9608}.canvas-node-folder.is-drop-target{border-style:solid;border-color:var(--drop-target);background:color-mix(in srgb, var(--drop-target) 10%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--drop-target) 35%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--drop-target) 25%, transparent)}:root[data-theme=dark] .canvas-node-folder.is-drop-target{background:color-mix(in srgb, var(--drop-target) 14%, transparent)}.canvas-node-folder.is-drop-out-source{background:#d4573c1a;border-style:solid;border-color:#d4573c;box-shadow:0 0 0 2px #d4573c59,inset 0 0 0 1px #d4573c40}:root[data-theme=dark] .canvas-node-folder.is-drop-out-source{background:#d4573c24}.canvas-node-folder-label{color:var(--text-soft);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:.35rem;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex;position:absolute;top:8px;left:12px}.canvas-node-folder-files{color:var(--text-soft);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.25rem;margin-left:.4rem;padding:1px 6px;font-size:.7rem;display:inline-flex}.canvas-node-folder-files:hover{background:var(--panel-2);color:var(--text)}.canvas-node-chat .canvas-node-title>span{flex:auto;min-width:0}.canvas-node-chat .canvas-node-title .canvas-node-folder-files{color:#ffffffe6;background:#00000038;flex-shrink:0;margin-left:auto;margin-right:.4rem}.canvas-node-chat .canvas-node-title .canvas-node-folder-files:hover{color:#fff;background:#0006}.canvas-node-folder-pins{border-top:1px solid var(--border);border-bottom:1px solid var(--border);pointer-events:none;background:#00000014;position:absolute;top:32px;left:0;right:0}.canvas-node-folder-pins .bp-pin-row{height:24px}.canvas-node-folder-toggle{color:var(--text-soft);cursor:pointer;transition:background var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:none;border-radius:3px;margin-right:.1rem;padding:2px 4px;font-size:.65rem;line-height:1}.canvas-node-folder-toggle:hover{background:var(--panel-2);color:var(--text)}.canvas-node-folder-summary{color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:.25rem;margin-left:.4rem;padding:1px 6px;font-size:.7rem;display:inline-flex}.canvas-node-folder.is-collapsed{box-shadow:none;background:0 0}:root[data-theme=dark] .canvas-node-folder.is-collapsed{background:0 0}.canvas-node-folder.is-virtual{border-style:dashed;border-color:var(--border);box-shadow:none;background:0 0}.canvas-node-folder.is-virtual .canvas-node-folder-label{color:var(--text-dim);font-style:italic}.bp-edge-badge circle{fill:var(--bg);stroke-width:1.6px}.bp-edge-badge text{fill:var(--text);font-family:Segoe UI,system-ui,sans-serif;font-size:10px;font-weight:600}.react-flow__handle{border-radius:var(--radius-circle);background:var(--node-accent,var(--text-dim));border:2px solid var(--bg);width:12px;height:12px;box-shadow:0 0 0 1px var(--node-accent,var(--border-strong));transition:transform var(--motion-fast) ease, box-shadow .15s ease;cursor:grab}.react-flow__handle:active,.react-flow__handle.connectingfrom,.react-flow__handle.connectingto{cursor:grabbing}.react-flow__handle:before{content:"";border-radius:var(--radius-circle);position:absolute;inset:-10px}.react-flow__handle:hover{box-shadow:0 0 0 1px var(--node-accent,var(--accent)), 0 0 10px var(--node-accent,var(--accent));transform:scale(1.35)}.react-flow__handle.connectingfrom,.react-flow__handle.connectingto{box-shadow:0 0 0 1px #fff, 0 0 12px var(--node-accent);transform:scale(1.4)}.react-flow__edge-path{stroke:var(--text-soft);stroke-width:2.2px;filter:drop-shadow(0 1px 1px #00000040)}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent);stroke-width:3px;filter:drop-shadow(0 0 4px var(--accent))}.bp-node .canvas-node-title{box-sizing:border-box;height:30px;padding-top:0;padding-bottom:0}.bp-subtitle{box-sizing:border-box;height:22px;font-size:.7rem;font-family:var(--font-mono);color:#ffffffd9;background:var(--node-accent-deep);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #00000040;align-items:center;padding:0 .65rem;display:flex;overflow:hidden}.bp-pins{background:linear-gradient(#ffffff05,#0000000f);flex-direction:column;display:flex}.bp-pin-row{box-sizing:border-box;height:26px;color:var(--text);align-items:center;gap:.45rem;padding:0 .7rem;font-size:.78rem;display:flex;position:relative}.bp-pin-row+.bp-pin-row{border-top:1px solid #0000000f}:root[data-theme=dark] .bp-pin-row+.bp-pin-row{border-top-color:#ffffff0a}.bp-pin-row-in .bp-pin-label{flex:1}.bp-pin-meta{color:var(--text-dim);font-size:.7rem;font-family:var(--font-mono)}.bp-pin-row-out{color:var(--text-soft);justify-content:flex-end;font-style:italic}.bp-pin-row-empty{opacity:.45}.canvas-node .bp-handle.bp-handle-empty{opacity:.35;background:var(--text-dim);box-shadow:0 0 0 1px var(--border-strong)}.bp-settings{background:var(--panel-2);color:var(--text-soft);border-top:1px solid #0003;flex-direction:column;gap:5px;padding:7px 10px;font-size:.74rem;display:flex;box-shadow:inset 0 1px #0000001a}.bp-setting-row{cursor:pointer;align-items:center;gap:6px;display:flex}.bp-setting-label-fill{flex:1}.bp-settings input[type=checkbox]{cursor:pointer;margin:0}.bp-settings input[type=number]{border:1px solid var(--border-strong);background:var(--bg);width:48px;color:var(--text);text-align:center;cursor:text;border-radius:3px;padding:1px 4px;font-size:.75rem}.bp-settings input[type=number]:disabled{opacity:.4;cursor:not-allowed}.canvas-node .bp-handle.bp-handle-db{background:var(--edge-db);box-shadow:0 0 0 1px var(--edge-db)}.canvas-node .bp-handle.bp-handle-prompt{background:var(--edge-prompt);box-shadow:0 0 0 1px var(--edge-prompt)}.canvas-node .bp-handle.bp-handle-api{background:var(--edge-api);box-shadow:0 0 0 1px var(--edge-api)}.canvas-node .bp-handle.bp-handle-db:hover{box-shadow:0 0 0 1px var(--edge-db), 0 0 10px var(--edge-db)}.canvas-node .bp-handle.bp-handle-prompt:hover{box-shadow:0 0 0 1px var(--edge-prompt), 0 0 10px var(--edge-prompt)}.canvas-node .bp-handle.bp-handle-api:hover{box-shadow:0 0 0 1px var(--edge-api), 0 0 10px var(--edge-api)}.bp-edge-cp-knob{fill:#fff;stroke:var(--text-dim);stroke-width:1.4px;transition:stroke var(--motion-fast) ease, filter .15s ease, fill var(--motion-fast) ease}.bp-edge-cp:hover .bp-edge-cp-knob{fill:var(--accent);stroke:var(--text);filter:drop-shadow(0 0 5px #fff9)}:root[data-theme=light] .bp-edge-cp:hover .bp-edge-cp-knob{fill:var(--accent);filter:drop-shadow(0 0 5px #00000059)}.bp-hint{border-radius:var(--radius-md);border-left:2px solid var(--edge-api);color:var(--text-soft);background:#c5a13a1f;margin:0 0 6px;padding:4px 6px;font-size:11px}.bp-hint code{font-family:var(--font-mono);background:#0000002e;border-radius:3px;padding:0 4px}.react-flow__controls{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none}.react-flow__controls-button{background:var(--panel);color:var(--text);border-bottom:none;width:28px;height:28px}.react-flow__controls-button:hover{background:var(--panel-2)}.react-flow__controls-button svg{fill:var(--text);max-width:14px;max-height:14px}.react-flow__minimap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.react-flow__minimap-mask{fill:#00000040}:root[data-theme=dark] .react-flow__minimap-mask{fill:#ffffff1f}.react-flow__minimap-node{fill:var(--text-dim);stroke:var(--border)}.react-flow__background{background-color:var(--bg)}.react-flow__background-pattern{color:var(--text-dim);opacity:.35}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;max-width:640px;margin:2.5rem auto;padding:2rem}.panel h2{font-family:var(--font-serif);color:var(--text);margin:0 0 1.25rem;font-size:1.5rem;font-weight:400}.panel .input{flex:1}.msg-list{margin:1.25rem 0 0;padding:0;list-style:none}.msg-item{border-bottom:1px solid var(--border);align-items:stretch;gap:.5rem;display:flex}.msg-item:last-child{border-bottom:none}.msg-row{align-items:flex-start;gap:.75rem;display:flex}.msg-row-btn{text-align:left;cursor:pointer;color:var(--text);font-family:inherit;font-size:inherit;border-radius:var(--radius-md);transition:background var(--motion-fast);background:0 0;border:none;flex-direction:column;flex:1;align-items:stretch;gap:.2rem;padding:.85rem .5rem;display:flex}.msg-row-btn:hover{background:var(--panel-2)}.msg-body{white-space:pre-wrap;word-break:break-word;flex:1;font-weight:500}.msg-meta{color:var(--text-dim);font-size:.75rem}.msg-delete{cursor:pointer;border-radius:var(--radius-md);color:var(--text-dim);opacity:0;background:0 0;border:none;flex:none;align-self:center;padding:.2rem .55rem;font-family:inherit;font-size:.8rem;transition:opacity .15s,background .15s,color .15s}.msg-item:hover .msg-delete,.msg-delete:focus-visible{opacity:1}.msg-delete:hover{background:var(--panel-2);color:var(--danger)}.app-shell{background:var(--bg);grid-template:"activity panel main"1fr/48px 272px 1fr;height:100vh;display:grid}.app-shell.panel-collapsed,.app-shell.no-panel{grid-template-columns:48px 0 1fr}.activity-bar{grid-area:activity}.side-panel{grid-area:panel}.app-main{grid-area:main;min-width:0}.activity-bar{background:var(--activity-bg);z-index:20;border-right:0;flex-direction:column;align-items:stretch;gap:.15rem;padding:.35rem 0;display:flex;position:relative}.ab-brand{width:48px;height:40px;color:var(--text);font-family:var(--font-serif);cursor:pointer;letter-spacing:-.02em;transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:0;justify-content:center;align-items:center;font-size:1.05rem;font-weight:500;display:flex;position:relative}.ab-brand:hover{color:var(--accent)}.ab-brand:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-soft);outline:none}.ab-brand.active{color:var(--text);background:var(--accent-soft)}.ab-brand.active:before{content:"";border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);background:var(--activity-active);width:3px;position:absolute;top:6px;bottom:6px;left:0}.ab-nav{flex-direction:column;align-items:stretch;gap:0;margin-top:.25rem;display:flex}.ab-bottom{flex-direction:column;align-items:stretch;gap:0;margin-top:auto;padding-bottom:.2rem;display:flex;position:relative}.ab-llm-status{border-radius:var(--radius-circle);background:var(--text-dim);width:8px;height:8px;transition:background var(--motion-fast), box-shadow var(--motion-fast);cursor:help;align-self:center;margin:.25rem 0 .45rem}.ab-llm-status-up{background:#4ea668}.ab-llm-status-down{background:var(--danger);box-shadow:0 0 6px #dc505073}.ab-llm-status-unknown,.ab-llm-status-checking{background:#b3a04a}.ab-item{width:48px;height:44px;color:var(--text-soft);cursor:pointer;transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:relative}.ab-item:hover{color:var(--text)}.ab-item:focus-visible{color:var(--text);box-shadow:inset 2px 0 0 var(--accent-soft);outline:none}.ab-item.active{color:var(--text);background:var(--accent-soft)}.ab-item.active:before{content:"";border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);background:var(--activity-active);border-radius:0 2px 2px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.ab-avatar{border-radius:var(--radius-circle);background:var(--accent);width:26px;height:26px;color:var(--accent-contrast,#fff);letter-spacing:0;object-fit:cover;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.ab-profile-menu{z-index:var(--z-popover);background:var(--panel);border-radius:var(--radius-xl);min-width:220px;box-shadow:var(--shadow-md);animation:vscode-menu-in var(--motion-fast) ease-out;border:0;flex-direction:column;gap:2px;padding:.3rem;display:flex;position:absolute;bottom:.2rem;left:calc(100% + 6px)}@keyframes vscode-menu-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.ab-profile-menu-header{color:var(--text-dim);text-transform:lowercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;padding:.4rem .55rem .2rem;font-size:.7rem;overflow:hidden}.ab-profile-menu-item{color:var(--text);text-align:left;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;align-items:center;gap:.5rem;padding:.45rem .6rem;font-family:inherit;font-size:.78rem;font-weight:500;display:flex}.ab-profile-menu-item:hover,.ab-profile-menu-item.active{background:var(--panel-2)}.ab-profile-menu-item.danger{color:var(--danger)}.ab-profile-menu-item.danger:hover{background:var(--danger-bg);color:var(--danger)}.ab-profile-menu-icon{width:18px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ab-profile-menu-item:hover .ab-profile-menu-icon,.ab-profile-menu-item.danger{color:inherit}.ab-profile-menu-divider{background:var(--border);height:1px;margin:3px 4px}.ab-item.locked{cursor:not-allowed;color:var(--text-dim);opacity:.55;position:relative}.ab-item.locked:hover{color:var(--text-dim)}.ab-lock-overlay{background:var(--panel);width:12px;height:12px;color:var(--text-dim);border:1px solid var(--border);pointer-events:none;border-radius:3px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:5px;right:6px}.ab-lock-overlay svg{width:9px;height:9px}.auth-shell .activity-bar{z-index:var(--z-sidebar)}.side-panel{background:var(--panel);min-width:0;transition:opacity var(--motion-base) ease;flex-direction:column;display:flex;overflow:hidden}.app-shell.panel-collapsed .side-panel,.app-shell.no-panel .side-panel{opacity:0;pointer-events:none;border-right:none}.side-panel-header{border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:.5rem;min-height:32px;padding:.55rem .85rem .45rem;display:flex}.side-panel-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:.72rem;font-weight:600}.side-panel-actions{align-items:center;gap:.2rem;display:inline-flex}.side-panel-action{width:22px;height:22px;color:var(--text-dim);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.side-panel-action:hover{background:var(--panel-2);color:var(--text)}.side-panel-body{flex:1;min-height:0;padding:.25rem .6rem .6rem;overflow:hidden}.open-tabs-bar{background:var(--panel);z-index:9;flex-shrink:0;align-items:stretch;min-height:34px;display:flex;position:relative}.open-tabs-list{flex:1;align-items:stretch;min-width:0;display:flex;overflow:auto hidden}.open-tabs-actions{border-left:1px solid var(--border);flex-shrink:0;align-items:center;gap:.25rem;padding:0 .4rem;display:flex}.open-tab{border:0;border-right:1px solid var(--border);height:34px;color:var(--text-soft);cursor:pointer;background:0 0;flex-shrink:0;align-items:center;gap:.4rem;min-width:0;max-width:220px;padding:0 .5rem 0 .75rem;font-family:inherit;font-size:.81rem;display:inline-flex;position:relative}.open-tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:italic;overflow:hidden}.open-tab.pinned .open-tab-label{font-style:normal}.open-tab.active{background:var(--bg);color:var(--text)}.open-tab.active:after{content:"";background:var(--accent);height:2px;position:absolute;top:0;left:0;right:0}.open-tab:hover{color:var(--text)}.open-tab.locked-other-pane{opacity:.4;cursor:not-allowed}.open-tab.locked-other-pane:hover{color:var(--text-dim)}.open-tab-icon{color:var(--text-dim);flex-shrink:0;align-items:center;display:inline-flex}.open-tab-close{width:20px;height:20px;color:var(--text-soft);border-radius:var(--radius-sm);cursor:pointer;opacity:0;background:0 0;border:0;justify-content:center;align-items:center;margin-left:.2rem;transition:opacity .1s,background .1s;display:inline-flex}.open-tab:hover .open-tab-close,.open-tab.active .open-tab-close{opacity:.85}.open-tab-close:hover{background:var(--panel-2);color:var(--text);opacity:1}.open-tab.pinned .open-tab-close:before{content:"●";font-size:.5rem}.open-tab.pinned:hover .open-tab-close:before{content:"×";font-size:.95rem}.open-tab.dragging{opacity:.4}.open-tab.drag-over:before{content:"";background:var(--accent);width:2px;position:absolute;top:4px;bottom:4px}.open-tab.drag-over-before:before{left:-1px}.open-tab.drag-over-after:before{right:-1px}.chat-main.is-empty .open-tabs-bar{position:absolute;top:0;left:0;right:0}.open-tab.tab-chat .open-tab-icon{color:var(--edge-chat)}.open-tab.tab-db .open-tab-icon{color:var(--edge-db)}.open-tab.tab-prompt .open-tab-icon{color:var(--edge-prompt)}.open-tab.tab-api .open-tab-icon{color:var(--edge-api)}.open-tab.tab-coding .open-tab-icon{color:var(--edge-coding)}.open-tab.tab-chat.active:after{background:var(--edge-chat)}.open-tab.tab-db.active:after{background:var(--edge-db)}.open-tab.tab-prompt.active:after{background:var(--edge-prompt)}.open-tab.tab-api.active:after{background:var(--edge-api)}.open-tab.tab-coding.active:after{background:var(--edge-coding)}.editor-tab-scroll{flex:1;width:100%;min-height:0;overflow:auto}.editor-panel{flex-direction:column;gap:.75rem;width:100%;max-width:1100px;margin:0 auto;padding:1.25rem 1.5rem 4rem;display:flex}.editor-modal .editor-panel{gap:.6rem;max-width:none;margin:0;padding:0}.editor-panel-title{color:var(--text);align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.1rem;font-weight:500;display:flex}.chat-main.tab-mode-db,.chat-main.tab-mode-prompt{justify-content:flex-start;align-items:stretch;padding-bottom:0}.editor-panel .field textarea,.editor-panel .kb-meta-field textarea{resize:vertical;min-height:8em}.editor-panel .field-actions,.editor-panel .kb-meta-actions{justify-content:flex-end;margin-top:.25rem}.editor-panel .attach-bar{background:0 0;border-bottom:0;flex-direction:column;max-height:none;padding:0;display:flex;overflow:visible}.editor-panel .attach-dropzone.empty{min-height:240px}.editor-panel .attach-dropzone.with-files{min-height:200px}.editor-panel .btn-toggle,.editor-panel .field>.meta,.editor-panel .kb-meta-field>.meta,.editor-panel .section-title,.editor-panel .kb-section-title{color:var(--text)}.editor-panel .attach-list{flex-flow:column;gap:.35rem}.editor-panel .attach-item{width:100%;max-width:none}.editor-panel .attach-item .attach-name{flex:none;min-width:0;max-width:38%;overflow:hidden}.editor-panel .attach-item .attach-progress{flex:1;min-width:0}.editor-panel .attach-item .attach-progress .ap-bar{flex:1;width:auto}.editor-panel .attach-item .meta:not(.attach-err){margin-left:auto}.rs-tree{flex-direction:column;gap:.05rem;display:flex}.rs-tree-row{border-radius:var(--radius-md);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.35rem;width:100%;min-width:0;padding:.25rem .45rem;font-size:.82rem;display:flex}.rs-tree-row:hover{background:var(--panel-2)}.rs-tree-row.is-folder{color:var(--text);font-weight:500}.rs-tree-row.is-leaf{color:var(--text-soft)}.rs-tree-row.is-leaf:hover{color:var(--text)}.rs-tree-caret{width:14px;height:14px;color:var(--text-dim);transition:transform var(--motion-base) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.rs-tree-row[aria-expanded=true] .rs-tree-caret{transform:rotate(90deg)}.rs-tree-icon{width:16px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.rs-tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rs-tree-meta{color:var(--text-dim);flex-shrink:0;margin-left:.3rem;font-size:.7rem}.rs-tree-row .rs-tree-actions{align-items:center;gap:.15rem;display:none}.rs-tree-row:hover .rs-tree-actions{display:inline-flex}.rs-tree-action{width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.rs-tree-action:hover{background:var(--panel-2);color:var(--text)}.rs-tree-action.danger:hover{color:var(--danger)}.rs-tree-children{border-left:1px dashed var(--border);flex-direction:column;gap:.05rem;margin-left:.6rem;padding-left:.25rem;display:flex}.rs-tree-empty{color:var(--text-dim);padding:.25rem .45rem .25rem 1.6rem;font-size:.78rem}.cmd-result{cursor:pointer;color:var(--text);border-radius:5px;align-items:center;gap:.6rem;padding:.45rem .7rem;display:flex}.cmd-result.active{background:var(--bg)}.cmd-result:hover{background:var(--panel-2)}.cmd-result-icon{width:20px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cmd-result-body{flex-direction:column;flex:1;min-width:0;display:flex}.cmd-result-title{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:500;overflow:hidden}.cmd-result-hint{color:var(--text-dim);margin-top:.05rem;font-size:.72rem}.cmd-mode-badge{text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-soft);letter-spacing:.06em;border-radius:3px;align-items:center;margin-right:.4rem;padding:.05rem .35rem;font-size:.68rem;display:inline-flex}.dmenu{background:var(--panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);z-index:var(--z-popover);scrollbar-width:thin;scrollbar-color:var(--panel-2) transparent;border:0;flex-direction:column;gap:2px;max-height:calc(100vh - 24px);padding:.3rem;display:flex;position:fixed;overflow:hidden auto}.dmenu::-webkit-scrollbar{width:6px}.dmenu::-webkit-scrollbar-track{background:0 0}.dmenu::-webkit-scrollbar-thumb{background:var(--panel-2);border-radius:3px}.dmenu::-webkit-scrollbar-thumb:hover{background:var(--border)}.dmenu-item{color:var(--text);border-radius:var(--radius-lg);cursor:pointer;text-align:left;white-space:nowrap;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;align-items:center;gap:.5rem;padding:.45rem .6rem;font-family:inherit;font-size:.78rem;font-weight:500;display:inline-flex}.dmenu-item:hover:not(:disabled){background:var(--panel-2)}.dmenu-item:focus-visible{background:var(--panel-2);outline:none}.dmenu-item:disabled{opacity:.45;cursor:not-allowed}.dmenu-item--danger{color:var(--danger)}.dmenu-item--danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.dmenu-icon{color:inherit;flex-shrink:0;align-items:center;display:inline-flex}.dmenu-label{flex:1;min-width:0}.dmenu-divider{background:var(--border);height:1px;margin:3px 4px}.chat-main.secret-active{--accent:#64748b;--accent-hover:#7c8aa0;--accent-soft:#64748b29;--accent-contrast:#f8fafc;--bg:color-mix(in srgb, var(--bg) 92%, #64748b);--panel:color-mix(in srgb, var(--panel) 90%, #64748b);--panel-2:color-mix(in srgb, var(--panel-2) 90%, #64748b);--composer-bg:color-mix(in srgb, var(--composer-bg) 90%, #64748b);--border:color-mix(in srgb, var(--border) 84%, #64748b);--border-strong:color-mix(in srgb, var(--border-strong) 84%, #64748b)}.secret-banner{color:var(--text-soft);background:color-mix(in srgb, var(--panel) 86%, #64748b);border-bottom:1px solid var(--border);box-shadow:inset 3px 0 0 var(--accent);flex:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem 1rem;font-size:.82rem;display:flex}.secret-banner-label{color:var(--text);align-items:center;gap:.45rem;font-weight:500;display:inline-flex}.secret-banner-label svg{color:var(--accent)}.secret-banner-actions{align-items:center;gap:.4rem;display:inline-flex}.secret-banner-btn{color:var(--text-soft);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:.3rem;padding:.28rem .6rem;font-size:.78rem;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.secret-banner-btn:hover:not(:disabled){color:var(--text);background:var(--panel-2);border-color:var(--border-strong)}.secret-banner-btn:disabled{opacity:.45;cursor:default}.secret-empty{text-align:center;pointer-events:none;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:1.5rem;display:flex;position:absolute;inset:0}.secret-empty svg{color:var(--accent);opacity:.7}.secret-empty p{max-width:30rem;margin:0;font-size:.92rem;line-height:1.6}.secret-nav-item .app-nav-icon svg,.secret-rail-btn svg{color:#64748b}.secret-nav-item.active,.secret-rail-btn.active{color:#f8fafc;background:#64748b}.secret-nav-item.active .app-nav-label,.secret-nav-item.active .app-nav-icon svg,.secret-rail-btn.active svg{color:#f8fafc}.chat-main.secret-active .composer-inner{border:1px solid #64748b9e}.chat-main.secret-active .composer-inner:focus-within{border-color:#64748b}.chat-main.secret-active .composer-plus-btn{color:#f1f5f9}.chat-main.secret-active .composer-plus-btn:hover:not(:disabled){color:#fff;background:#64748b52}.secret-error{justify-content:center;align-items:center;gap:.5rem;display:flex}.secret-error-close{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;align-items:center;display:inline-flex}.secret-error-close:hover{opacity:1}
