:root{color-scheme:light;--canvas: #fafafa;--canvas-deep: #f3f3f3;--surface: #ffffff;--surface-raised: #ffffff;--surface-subtle: #f5f5f5;--surface-hover: #efefef;--surface-strong: #e9e9e9;--ink: #2f2e2b;--ink-strong: #1f1e1b;--muted: #73716b;--faint: #a09d94;--border: #dedede;--border-soft: #e9e9e9;--brand: #2f626b;--brand-hover: #264f57;--brand-soft: #e1ebeb;--brand-signal: #b9d66d;--focus-ring: #4f7e85;--activity: #3e7077;--activity-soft: #eaf0ef;--voice-active: #146eb4;--voice-active-soft: #dcecff;--success: #39765a;--danger: #a8473a;--warning: #9a6a32;--file-pdf: #b8554d;--file-word: #5273a8;--file-sheet: #4c7f62;--file-presentation: #b96f45;--file-markdown: #746793;--file-text: #77736b;--shadow-soft: 0 1px 2px rgba(44, 40, 32, .04), 0 12px 34px rgba(44, 40, 32, .07);--shadow-overlay: 0 24px 70px rgba(44, 40, 32, .18);--radius-sm: 9px;--radius: 14px;--radius-lg: 20px;--radius-xl: 26px;--sidebar-width: 280px;--sidebar-rail-width: 46px;--content-width: 760px;--composer-height: 150px;--ease-out: cubic-bezier(.23, 1, .32, 1);--transition: .15s var(--ease-out);--font-chat: ui-serif, Georgia, "Songti SC", STSong, serif;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--canvas: #262624;--canvas-deep: #222220;--surface: #353533;--surface-raised: #3d3d3b;--surface-subtle: #30302e;--surface-hover: #484844;--surface-strong: #454541;--ink: #d4d2ca;--ink-strong: #f0eee7;--muted: #b0aea6;--faint: #85837d;--border: #57554f;--border-soft: #474641;--brand: #83b5bb;--brand-hover: #9bc5ca;--brand-soft: #2c4549;--brand-signal: #c7dc78;--focus-ring: #86b7bd;--activity: #83b5bb;--activity-soft: #303f40;--voice-active: #82b9e9;--voice-active-soft: #263d52;--success: #78aa8a;--danger: #db8172;--warning: #d4a56d;--file-pdf: #e08a7e;--file-word: #8eb0df;--file-sheet: #80b996;--file-presentation: #e0a075;--file-markdown: #aca0d0;--file-text: #aaa79e;--shadow-soft: 0 1px 2px rgba(0, 0, 0, .22), 0 12px 34px rgba(0, 0, 0, .24);--shadow-overlay: 0 24px 70px rgba(0, 0, 0, .48)}}*{box-sizing:border-box}html,body,#app,.app-view{width:100%;height:100%}html{background:var(--canvas)}body{margin:0;min-width:320px;overflow:hidden;background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased}html.login-route,html.login-route body{background:#0f110e}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}::selection{background:var(--brand-soft);color:var(--ink-strong)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid color-mix(in srgb,var(--focus-ring) 82%,white);outline-offset:2px}.sr-only,.sr-only[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only{display:none!important}.eyebrow{margin:0;color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.14em}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.button{min-height:39px;padding:9px 16px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:13px;font-weight:650;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition),transform .16s var(--ease-out)}.button:hover:not(:disabled){background:var(--surface-hover)}.button:disabled{opacity:.48;cursor:default}.button.primary{background:var(--ink-strong);border-color:var(--ink-strong);color:#fff}.button.primary:hover:not(:disabled){background:#393732}.button.brand{background:var(--brand);border-color:var(--brand);color:#fff}.button.brand:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.button.ghost{background:transparent}.button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.button.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 88%,var(--ink-strong));border-color:color-mix(in srgb,var(--danger) 88%,var(--ink-strong))}.button.wide{width:100%}.icon-button{width:36px;height:36px;border-radius:10px;display:inline-grid;place-items:center;flex:none;background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),opacity var(--transition),transform .16s var(--ease-out)}.icon-button:hover{color:var(--ink-strong);background:var(--surface-hover)}.chat-app{height:100dvh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;background:var(--canvas);transition:grid-template-columns .24s cubic-bezier(.32,.72,0,1)}.chat-app.sidebar-collapsed{grid-template-columns:var(--sidebar-rail-width) minmax(0,1fr)}.conversation-navigation{display:contents}@media(min-width:1180px){.chat-app.orders-visible{grid-template-columns:var(--sidebar-width) minmax(0,1fr) 320px}.chat-app.sidebar-collapsed.orders-visible{grid-template-columns:var(--sidebar-rail-width) minmax(0,1fr) 320px}}.chat-app.sidebar-motion-disabled,.chat-app.sidebar-motion-disabled .chat-sidebar,.chat-app.sidebar-motion-disabled .sidebar-rail{transition:none!important}.chat-main{min-width:0;min-height:0;height:100%;grid-column:2;grid-row:1;display:flex;flex-direction:column;position:relative}.chat-header{min-height:calc(58px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) 8px calc(18px + env(safe-area-inset-left));display:flex;align-items:center;gap:10px;position:relative;z-index:12;background:color-mix(in srgb,var(--canvas) 88%,transparent);border-bottom:1px solid transparent;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}.menu-button{display:none}.chat-title{min-width:0;max-width:min(460px,calc(100% - 46px));flex:0 1 auto;display:flex;flex-direction:column;gap:2px}.chat-title-primary{min-width:0;width:100%;display:flex;align-items:center}.chat-title strong{min-width:0;display:block;overflow:hidden;color:var(--ink-strong);font-family:inherit;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.chat-title>.chat-subtitle{color:var(--faint);font-size:10px;letter-spacing:.02em}.header-actions{margin-left:auto;display:flex;align-items:center;gap:3px}.header-menu{position:relative}.header-menu.open>.icon-button{color:var(--ink-strong);background:var(--surface-hover)}.header-menu-popover{--popover-offset-y: -4px;width:226px;padding:6px;position:absolute;top:calc(100% - 4px);right:calc(18px + env(safe-area-inset-right));z-index:40;border:1px solid var(--border-soft);border-radius:14px;background:color-mix(in srgb,var(--surface-raised) 96%,transparent);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);transform-origin:top right}.header-menu-popover>button,.header-menu-popover>a{width:100%;min-height:38px;padding:8px 9px;border-radius:9px;display:flex;align-items:center;gap:10px;background:transparent;color:var(--muted);font-size:12.5px;text-align:left;cursor:pointer}.header-menu-popover>button:hover:not(:disabled),.header-menu-popover>a:hover{background:var(--surface-hover);color:var(--ink-strong)}.header-menu-popover>button:disabled{opacity:.45;cursor:default}.header-menu-popover>button>span,.header-menu-popover>a>span{flex:1}.header-menu-popover small{color:var(--muted);font-size:10px}.header-menu-popover .danger{color:var(--danger)}.header-menu-separator{height:1px;margin:5px 7px;background:var(--border-soft)}.popover-enter-active,.popover-leave-active{transition:opacity .15s var(--ease-out),transform .15s var(--ease-out)}.popover-leave-active{pointer-events:none}.popover-enter-from,.popover-leave-to{opacity:0;transform:translateY(var(--popover-offset-y)) scale(.97)}.chat-sidebar{--sidebar-surface: color-mix(in srgb, var(--canvas) 78%, var(--canvas-deep));width:100%;min-width:0;height:100%;padding:calc(12px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));grid-column:1;grid-row:1;display:flex;flex-direction:column;overflow:clip;background:var(--sidebar-surface);border-right:1px solid var(--border-soft);z-index:30;opacity:1;visibility:visible;transform:translate(0);transition:opacity .16s var(--ease-out),transform .24s cubic-bezier(.32,.72,0,1),visibility 0s linear 0s}.chat-app.sidebar-collapsed .chat-sidebar{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-10px);transition:opacity .14s var(--ease-out),transform .22s cubic-bezier(.32,.72,0,1),visibility 0s linear .22s}.sidebar-brand{height:42px;padding:0 7px 0 9px;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center}.sidebar-brand .brand-lockup{grid-column:1;justify-self:center;gap:8px;font-size:21px;font-weight:500}.sidebar-collapse-button,.sidebar-brand>.mobile-only{grid-column:2;grid-row:1;justify-self:end}.sidebar-collapse-button{opacity:.72}.sidebar-brand:hover .sidebar-collapse-button,.sidebar-collapse-button:hover,.sidebar-collapse-button:focus-visible{opacity:1}.sidebar-rail{width:var(--sidebar-rail-width);height:100%;padding:calc(8px + env(safe-area-inset-top)) 6px calc(12px + env(safe-area-inset-bottom));grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:center;gap:0;background:var(--canvas);border-right:1px solid var(--border-soft);z-index:31;opacity:1;transform:translate(0)}.sidebar-rail-enter-active,.sidebar-rail-leave-active{transition:opacity .16s var(--ease-out),transform .22s cubic-bezier(.32,.72,0,1)}.sidebar-rail-leave-active{pointer-events:none}.sidebar-rail-enter-from,.sidebar-rail-leave-to{opacity:0;transform:translate(-7px)}.sidebar-rail-button{width:34px;height:34px;position:relative;border-radius:9px;color:var(--ink)}.sidebar-rail>.sidebar-rail-button:first-child{background:var(--surface-strong)}.sidebar-rail-button:after{content:attr(data-tooltip);padding:7px 9px;position:absolute;left:calc(100% + 3px);top:50%;z-index:45;border-radius:7px;background:#292824;color:#fff;box-shadow:0 6px 18px #1f1e1b38;font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transform:translate(3px,-50%);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.sidebar-rail-button:focus-visible:after{opacity:1;visibility:visible;transform:translateY(-50%)}.sidebar-rail-new-chat{margin-top:14px;border-radius:99px;color:#fff}.sidebar-rail-new-chat svg{width:22px;height:22px;padding:4px;border-radius:99px;background:var(--brand)}.sidebar-rail-new-chat:hover{background:transparent;color:#fff}.sidebar-rail-new-chat:hover svg{background:var(--brand-hover)}.brand-lockup{display:inline-flex;align-items:center;gap:9px;color:var(--ink-strong);font-family:ui-serif,Georgia,Songti SC,serif;font-size:18px;font-weight:650}.brand-lockup.large{font-size:21px}.brand-symbol{width:25px;height:28px;display:inline-grid;place-items:center;flex:none}.sidebar-brand .brand-symbol{-webkit-user-select:none;user-select:none;touch-action:manipulation}.brand-symbol picture,.brand-symbol img{width:100%;height:100%;display:block}.brand-symbol img{object-fit:contain}.new-chat-button{width:100%;height:44px;margin:7px 0 18px;padding:0 7px;display:flex;align-items:center;justify-content:flex-start;gap:10px;border-radius:10px;background:transparent;color:var(--ink);font-size:13px;font-weight:590;cursor:pointer;transition:background-color var(--transition),color var(--transition),transform .16s var(--ease-out)}.new-chat-button:hover{background:var(--surface-hover)}.new-chat-icon{width:28px;height:28px;border-radius:99px;display:grid;place-items:center;flex:none;background:var(--surface-strong);color:var(--ink);transition:background-color var(--transition),color var(--transition)}.new-chat-button:hover .new-chat-icon{background:color-mix(in srgb,var(--surface-strong) 86%,var(--ink))}.thread-list{min-height:0;flex:1;overflow:auto;padding:0 2px 12px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar-section-label{margin:0 10px 9px;color:var(--faint);font-size:12px;font-weight:500;letter-spacing:0}.thread-row{width:100%;min-height:58px;margin:2px 0;padding:9px 10px;display:flex;align-items:flex-start;gap:9px;border-radius:11px;background:transparent;color:var(--muted);text-align:left;cursor:pointer;position:relative;transition:transform .16s var(--ease-out)}.thread-row:hover{background:color-mix(in srgb,var(--surface-hover) 75%,transparent)}.thread-row.active{background:var(--surface-hover);color:var(--ink)}.thread-row.active:before{content:"";position:absolute;left:2px;top:16px;width:2px;height:25px;border-radius:99px;background:var(--brand)}.thread-row>svg{margin-top:2px;flex:none}.thread-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.thread-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:12.5px;font-weight:560}.thread-meta{display:flex;justify-content:space-between;gap:8px;color:var(--faint);font-size:10px}.thread-meta .draft{color:var(--warning)}.sidebar-footer{min-height:57px;padding:10px 9px 3px;border-top:1px solid var(--border-soft);display:flex;align-items:center;gap:10px}.environment-avatar{width:30px;height:30px;border-radius:99px;display:grid;place-items:center;flex:none;background:var(--ink-strong);color:var(--canvas);font-size:12px;font-weight:700}.environment-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.environment-copy strong{color:var(--ink);font-size:12.5px;font-weight:560}.environment-copy small{color:var(--faint);font-size:10px}.sidebar-backdrop{display:none}.conversation-surface{min-height:0;flex:1;position:relative;display:flex;flex-direction:column}.message-stage{min-height:0;flex:1;position:relative}.message-scroller{width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:12px calc(var(--composer-height) + 12px);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.message-column{--message-gap: 29px;width:min(calc(100% - 36px),var(--content-width));min-height:100%;margin:0 auto;padding:34px 0 calc(var(--composer-height) + 20px);display:flex;flex-direction:column;gap:var(--message-gap)}.message-history,.response-stage{width:100%;min-width:0;display:flex;flex-direction:column;gap:var(--message-gap)}.message-loading{padding-top:22vh;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px;text-align:center}.message-load-error{min-height:100%;padding:8vh 20px calc(var(--composer-height) + 70px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.message-load-error>span{width:38px;height:38px;margin-bottom:14px;border-radius:12px;display:grid;place-items:center;background:#fff0ea;color:var(--danger)}.message-load-error strong{color:var(--ink-strong);font-size:15px}.message-load-error p{max-width:420px;margin:8px 0 15px;color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.message-load-error .button{min-height:36px;padding:7px 13px;font-size:12px}.jump-to-latest{width:34px;height:34px;position:absolute;left:50%;bottom:calc(var(--composer-height) + 2px);z-index:8;border:1px solid var(--border);border-radius:99px;display:grid;place-items:center;background:var(--surface-raised);color:var(--muted);box-shadow:var(--shadow-soft);cursor:pointer;transform:translate(-50%);transition:background-color var(--transition),border-color var(--transition),color var(--transition),transform .16s var(--ease-out)}.jump-to-latest:hover{color:var(--ink)}.jump-to-interrupt{width:auto;max-width:calc(100% - 32px);height:36px;padding:0 12px;border-radius:8px;display:flex;gap:6px;align-items:center;color:var(--brand);font-size:13px;font-weight:600;white-space:nowrap}.welcome-state{min-height:100%;padding:9vh 20px calc(var(--composer-height) + 70px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.welcome-heading{display:flex;align-items:center;justify-content:center;gap:17px}.welcome-mascot{--xiaofeng-mascot-size: 76px;height:auto;display:block;flex:none;filter:drop-shadow(0 12px 18px rgba(31,30,27,.16))}.welcome-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.welcome-state h1{margin:0;color:#3a3935;font-family:ui-serif,Georgia,Songti SC,serif;font-size:clamp(30px,3vw,40px);font-weight:450;line-height:1.15;letter-spacing:-.025em}.conversation-surface.conversation-empty{padding:24px 0 calc(24px + 6vh);display:grid;grid-auto-rows:max-content;align-content:safe center;gap:28px;overflow-y:auto}.conversation-empty .message-stage{min-height:0;flex:none}.conversation-empty .message-scroller{height:auto;overflow:visible}.conversation-empty .welcome-state{min-height:0;padding:0 20px}.conversation-empty .composer-zone{--composer-frame-width: 680px;width:100%;min-width:0;position:static;padding-bottom:0;background:transparent}.user-turn{max-width:78%;margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:7px;position:relative}.user-turn:focus,.assistant-turn:focus{outline:none}.user-bubble{padding:11px 15px;border-radius:17px;background:var(--surface-strong);color:var(--ink-strong);font-size:14.5px;line-height:1.55;overflow-wrap:anywhere}.user-copy{position:absolute;right:-31px;bottom:4px;opacity:0}.user-turn:hover .user-copy{opacity:1}.sent-files{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.sent-file{width:min(292px,72vw);min-height:62px;padding:9px 10px;border:1px solid var(--border);border-radius:13px;display:inline-flex;align-items:center;gap:9px;background:var(--surface);color:var(--muted);text-align:left;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition),transform .16s var(--ease-out)}.sent-file:hover:not(:disabled){border-color:color-mix(in srgb,var(--file-color) 38%,var(--border));background:var(--surface-raised);box-shadow:var(--shadow-soft)}.sent-file:disabled{cursor:wait;opacity:.72}.file-format-badge{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--file-color) 13%,white);color:var(--file-color);font-size:9px;font-weight:800;letter-spacing:-.01em}.file-identity{min-width:0;flex:1;display:flex;align-items:center;gap:9px}.file-identity-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.file-identity-content strong{overflow:hidden;color:var(--ink-strong);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.file-identity-content small{overflow:hidden;color:var(--faint);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.file-download-icon{flex:none;color:var(--muted);transition:color var(--transition)}.sent-file:hover:not(:disabled) .file-download-icon,.sent-file:focus-visible .file-download-icon{color:var(--file-color)}.file-kind-pdf{--file-color: var(--file-pdf)}.file-kind-word{--file-color: var(--file-word)}.file-kind-spreadsheet,.file-kind-csv{--file-color: var(--file-sheet)}.file-kind-presentation{--file-color: var(--file-presentation)}.file-kind-markdown{--file-color: var(--file-markdown)}.file-kind-text,.file-kind-unknown{--file-color: var(--file-text)}.spin{animation:file-spin .8s linear infinite}@keyframes file-spin{to{transform:rotate(360deg)}}.sent-images{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.sent-image-preview{padding:0;border:1px solid var(--border-soft);border-radius:14px;display:block;overflow:hidden;background:var(--surface);cursor:zoom-in}.sent-image-preview img{max-width:280px;max-height:260px;display:block;object-fit:cover}.voice-message{min-width:150px;padding:9px 12px;border-radius:17px;display:flex;align-items:center;gap:9px;background:var(--ink-strong);color:#fff;cursor:pointer;transition:transform .16s var(--ease-out)}.voice-wave{height:16px;flex:1;display:flex;align-items:center;gap:2px}.voice-wave i{width:2px;height:7px;border-radius:2px;background:currentColor;opacity:.65}.voice-wave i:nth-child(2),.voice-wave i:nth-child(6){height:12px}.voice-wave i:nth-child(4){height:15px}.assistant-turn{width:100%;position:relative;color:var(--ink)}.assistant-flow{display:flex;flex-direction:column;gap:9px}.event-card{border:1px solid var(--border-soft);border-radius:11px;background:color-mix(in srgb,var(--surface) 68%,transparent);overflow:clip}.event-card summary{min-height:36px;padding:8px 10px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;cursor:pointer;list-style:none}.event-card summary::-webkit-details-marker{display:none}.event-chevron{transition:transform var(--transition)}.event-card[open] .event-chevron{transform:rotate(90deg)}.event-meta{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.event-card pre{max-height:240px;margin:0;padding:11px 13px;overflow:auto;border-top:1px solid var(--border-soft);background:color-mix(in srgb,var(--canvas) 60%,transparent);color:var(--muted);font:10.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.event-card.thinking{border:0;border-radius:0;background:transparent}.event-card.thinking summary{min-height:28px;padding:3px 2px;color:var(--muted);font-size:11.5px}.thinking-time{color:var(--muted);font:10.5px ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.event-card.thinking pre{margin:4px 0 2px 7px;padding:5px 12px;border:0;border-left:2px solid var(--border);background:transparent;color:var(--muted);font-family:inherit;font-size:12px;line-height:1.65}.event-card.tool summary>span:not(.event-meta){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.tool-action-lane{width:100%;max-width:100%;min-width:0;display:flex;align-items:center}.tool-action-lane.expanded{width:100%;max-width:100%;display:block}.event-card.tool-friendly{--tool-state-color: var(--activity);width:100%;max-width:100%;min-height:0;padding:0;position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;border-color:color-mix(in srgb,var(--border-soft) 72%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface-raised) 58%,var(--surface-subtle));box-shadow:none;opacity:1;transform:translateY(0) scale(1);transition:width .24s cubic-bezier(.32,.72,0,1),max-width .24s cubic-bezier(.32,.72,0,1),border-radius .22s var(--ease-out),background-color .22s var(--ease-out),border-color .22s var(--ease-out),opacity .18s var(--ease-out),transform .18s var(--ease-out)}.event-card.tool-friendly:after{content:"";width:48%;position:absolute;inset:0 auto 0 0;z-index:0;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 0%,color-mix(in srgb,var(--activity) 7%,transparent) 38%,color-mix(in srgb,var(--activity) 13%,transparent) 52%,transparent 100%);transform:translate(-125%)}.event-card.tool-friendly.pending:not(.expanded):after{opacity:.78;animation:tool-surface-flow 1.45s linear infinite}.event-card.tool-friendly.expanded{--tool-interrupt-gutter: 20px;width:100%;max-width:100%;border-color:var(--border);border-radius:18px;background:var(--surface-raised)}.tool-friendly-summary{width:100%;max-width:100%;min-width:0;min-height:40px;padding:7px 16px 7px 11px;position:relative;display:inline-flex;align-items:center;gap:10px;overflow:hidden;transition:min-height .22s cubic-bezier(.32,.72,0,1),padding .22s cubic-bezier(.32,.72,0,1),gap .22s cubic-bezier(.32,.72,0,1)}.event-card.tool-friendly.expanded .tool-friendly-summary{width:100%;min-height:52px;padding:10px var(--tool-interrupt-gutter);gap:10px}.event-card.tool-friendly.pending{--tool-state-color: var(--activity);border-color:color-mix(in srgb,var(--activity) 12%,var(--border-soft))}.event-card.tool-friendly.done{--tool-state-color: var(--success)}.event-card.tool-friendly.error{--tool-state-color: var(--danger)}.tool-interrupt-region{min-width:0;display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .24s cubic-bezier(.32,.72,0,1)}.event-card.tool-friendly.expanded .tool-interrupt-region{grid-template-rows:1fr}.tool-interrupt-content{min-width:0;min-height:0;overflow:hidden;transform-origin:top left}.tool-interrupt-divider{height:1px;margin:0 var(--tool-interrupt-gutter);background:var(--border-soft)}.event-card.tool-friendly.expanded .tool-interrupt-content .decision-card{border:0;border-radius:0;background:transparent;box-shadow:none;opacity:1;transform:none}.tool-interrupt-enter-active{transition:opacity .19s var(--ease-out),transform .22s cubic-bezier(.32,.72,0,1)}.tool-interrupt-leave-active{pointer-events:none;transition:opacity .13s var(--ease-out),transform .18s var(--ease-out)}.tool-interrupt-enter-from,.tool-interrupt-leave-to{opacity:0;transform:translateY(-5px)}.tool-state-icon{width:26px;height:26px;position:relative;z-index:1;border:0;border-radius:99px;display:grid;place-items:center;flex:none;color:var(--tool-state-color)}.tool-state-icon.pending{background:var(--activity-soft)}.tool-state-icon.done{background:color-mix(in srgb,var(--success) 9%,transparent)}.tool-state-icon.error{background:color-mix(in srgb,var(--danger) 8%,transparent)}.tool-progress-spinner{animation:spin .72s linear infinite}.tool-friendly-copy{min-width:0;position:relative;z-index:1;display:flex;flex:1;flex-direction:column;justify-content:center;gap:0}.tool-friendly-copy.has-process{gap:1px}.tool-friendly-action{flex:none;color:var(--ink-strong);font-size:12.5px;font-weight:640;line-height:1.35;white-space:nowrap;letter-spacing:.004em}.tool-friendly-description-stage{width:100%;min-width:0;max-width:100%;position:relative;display:grid;overflow:hidden}.tool-friendly-process,.tool-friendly-process-scroll{min-width:0;max-width:100%;grid-area:1 / 1;display:block;color:var(--muted);font-size:11px;font-weight:450;line-height:1.35;letter-spacing:.008em;white-space:nowrap}.tool-friendly-process-static{overflow:hidden;text-overflow:ellipsis;transition:opacity .1s ease}.tool-friendly-process-scroll{width:max-content;max-width:none;pointer-events:none;opacity:0;transform:translate(0);transition:opacity .1s ease}.tool-result-icon.animated{animation:tool-result-appear .18s var(--ease-out) both}.tool-result-icon.animated svg>*{stroke-dasharray:24;stroke-dashoffset:24;animation:tool-result-stroke .21s var(--ease-out) 25ms forwards}.tool-result-icon.animated.error svg>*:nth-child(2){animation-delay:55ms}.tool-state-enter-active,.tool-state-leave-active,.tool-copy-enter-active,.tool-copy-leave-active{transition:opacity .14s var(--ease-out),transform .14s var(--ease-out)}.tool-state-enter-from,.tool-state-leave-to{opacity:0;transform:scale(.92)}.tool-copy-enter-from,.tool-copy-leave-to{opacity:0;transform:translateY(2px)}@starting-style{.event-card.tool-friendly{opacity:0;transform:translateY(3px) scale(.985)}}@starting-style{.event-card.tool-friendly.expanded .tool-interrupt-content .decision-card{opacity:1;transform:none}}@keyframes tool-result-appear{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes tool-result-stroke{to{stroke-dashoffset:0}}@keyframes tool-surface-flow{to{transform:translate(335%)}}@keyframes tool-description-reveal{to{transform:translate(calc(-1 * var(--tool-description-shift)))}}.event-meta.error{color:var(--danger)}.assistant-answer-wrap{position:relative}.assistant-answer{min-height:24px;font-family:var(--font-chat);font-size:16px;font-weight:400;line-height:1.75;letter-spacing:.002em}.message-action{width:28px;height:28px;border-radius:8px;display:inline-grid;place-items:center;background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),opacity var(--transition),transform .16s var(--ease-out)}.assistant-answer-footer{min-height:32px;margin-top:8px;display:flex;align-items:center;justify-content:flex-end}.assistant-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:2px}.assistant-actions .message-action{opacity:1}.user-turn:focus .user-copy,.user-copy:focus-visible{opacity:1}.message-action:hover{color:var(--ink);background:var(--surface-hover)}.assistant-waiting{min-height:34px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}.assistant-companion{width:29px;height:29px;flex:none;border-radius:11px 11px 11px 6px;display:flex;align-items:center;justify-content:center;gap:5px;background:var(--brand-soft);animation:assistant-companion-sway 1.4s cubic-bezier(.45,0,.55,1) infinite}.assistant-companion i{width:3px;height:5px;border-radius:3px;background:var(--brand);animation:assistant-companion-blink 1.8s ease-in-out infinite}@keyframes assistant-companion-sway{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-3px) rotate(6deg)}}@keyframes assistant-companion-blink{0%,30%,40%,to{transform:scaleY(1)}35%{transform:scaleY(.2)}}.empty-answer{margin:0;color:var(--muted);font-size:12px}.stopped-answer{min-height:26px;margin:0;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.assistant-error{width:fit-content;max-width:min(100%,560px);margin:0;padding:10px 12px;border:1px solid #ecd5cc;border-radius:12px;display:flex;align-items:flex-start;gap:8px;background:#fff8f5;color:var(--ink);font-size:13px;line-height:1.5}.assistant-error svg{margin-top:1px;flex:none;color:var(--danger)}.assistant-error span{min-width:0;overflow-wrap:anywhere}.markdown-body{overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 .8em}.markdown-body ul,.markdown-body ol{margin:.5em 0 .9em;padding-left:1.55em}.markdown-body li{margin:.25em 0}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:1.25em 0 .45em;color:var(--ink-strong);line-height:1.3}.markdown-body h1{font-size:1.35em}.markdown-body h2{font-size:1.2em}.markdown-body h3{font-size:1.08em}.markdown-body img{display:block;max-width:100%;height:auto;margin:.9em 0;border-radius:12px;object-fit:contain}.markdown-body code{padding:.14em .38em;border-radius:5px;background:var(--surface-hover);font:.88em ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-body pre{max-width:100%;padding:13px;overflow:auto;border:1px solid var(--border-soft);border-radius:11px;background:var(--canvas-deep)}.markdown-body pre code{padding:0;background:transparent}.markdown-body a{color:var(--brand-hover);text-decoration:underline;text-underline-offset:2px}.markdown-body blockquote{margin:.9em 0;padding-left:12px;border-left:3px solid var(--border);color:var(--muted)}.markdown-body table{width:100%;max-width:100%;display:block;overflow-x:auto;border-collapse:collapse;font-size:.9em;-webkit-overflow-scrolling:touch}.markdown-body th,.markdown-body td{min-width:92px;padding:7px 9px;border:1px solid var(--border);text-align:left}.markdown-code{margin:.9em 0;border:1px solid var(--border-soft);border-radius:12px;overflow:hidden;background:var(--canvas-deep)}.markdown-code-header{min-height:34px;padding:0 9px 0 12px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-code-header button{padding:5px 7px;border-radius:7px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.markdown-code-header button:hover{background:var(--surface-hover);color:var(--ink)}.markdown-code pre{margin:0;border:0;border-radius:0}.composer-zone{--composer-frame-width: 780px;position:absolute;left:0;right:0;bottom:0;z-index:10;padding:0 max(22px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:linear-gradient(to bottom,transparent,var(--canvas) 24%,var(--canvas) 100%);pointer-events:none}.composer-zone.drag-active .composer-shell{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--brand-soft),var(--shadow-soft)}.composer-shell{width:min(100%,var(--composer-frame-width));min-height:120px;margin:0 auto;padding:15px 14px 10px;position:relative;z-index:1;border:1px solid var(--border);border-radius:27px;background:var(--surface-raised);box-shadow:0 1px 2px #2c28200a,0 15px 40px #2c282014;pointer-events:auto;transition:background-color var(--transition),border-color var(--transition)}.composer-shell:focus-within{border-color:color-mix(in srgb,var(--border) 88%,var(--ink));box-shadow:0 2px 4px #2c282009,0 18px 46px #2c28201a}.composer-shell.loading{cursor:progress}.composer-shell.unavailable{background:color-mix(in srgb,var(--surface-raised) 82%,var(--canvas));cursor:not-allowed}.composer-shell textarea{width:100%;max-height:180px;min-height:41px;padding:2px 6px;border:0;resize:none;outline:none;background:transparent;color:var(--ink-strong);font-size:16px;line-height:1.5}.composer-shell.loading textarea:disabled{cursor:progress}.composer-shell.unavailable textarea:disabled{cursor:not-allowed}.composer-shell textarea::placeholder{color:var(--faint);user-select:none;-webkit-user-select:none}.composer-toolbar{margin-top:9px;display:flex;align-items:center;justify-content:space-between}.composer-left,.composer-right{display:flex;align-items:center;gap:3px}.composer-left{position:static}.composer-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),opacity var(--transition),transform .16s var(--ease-out)}.composer-icon:hover:not(:disabled){color:var(--ink);background:var(--surface-hover)}.composer-icon:disabled{opacity:.45;cursor:default}.voice-mode-button{position:relative;background:var(--surface-strong);color:var(--ink)}.voice-mode-button:before{content:attr(data-tooltip);padding:7px 10px;position:absolute;right:-2px;bottom:calc(100% + 10px);z-index:30;border-radius:8px;background:#292824;color:#fff;box-shadow:0 6px 18px #1f1e1b38;font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.voice-mode-button[data-tooltip].tooltip-visible:not(:disabled):before,.voice-mode-button[data-tooltip]:focus-visible:before{opacity:1;visibility:visible;transform:translateY(0)}.voice-mode-button.voice-active{background:color-mix(in srgb,var(--danger) 12%,var(--surface-raised));color:var(--danger)}.voice-mode-button.voice-active:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,var(--surface-raised));color:var(--danger)}.voice-stop-icon{width:12px;height:12px;border-radius:2px;background:currentColor}.send-button{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--brand);color:#fff;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition),transform .16s var(--ease-out)}.send-button:hover:not(:disabled){background:var(--brand-hover)}.send-button:disabled{background:var(--surface-strong);color:var(--faint);cursor:default}.send-button.stop{border:1px solid var(--border);border-radius:11px;background:var(--surface-raised);color:var(--ink-strong)}.send-button.stop:hover:not(:disabled){background:var(--surface-hover);color:var(--ink-strong);transform:none}.attachment-menu{--popover-offset-y: 4px;width:248px;padding:6px;position:absolute;left:14px;bottom:calc(100% + 10px);z-index:20;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow-overlay);transform-origin:bottom left}.attachment-menu>button{width:100%;padding:8px;border-radius:10px;display:flex;align-items:center;gap:10px;background:transparent;text-align:left;cursor:pointer}.attachment-menu>button:hover{background:var(--surface-hover)}.attachment-menu-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--surface-hover);color:var(--muted)}.attachment-menu>button>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.attachment-menu strong{color:var(--ink-strong);font-size:12.5px;font-weight:620}.attachment-menu small{color:var(--faint);font-size:10px;white-space:nowrap}.composer-hint{width:min(100%,780px);margin:7px auto 0;color:var(--muted);font-size:11px;line-height:1.35;text-align:center;pointer-events:auto;user-select:none;-webkit-user-select:none}.composer-hint.decision-pending{color:var(--ink);font-weight:560}.attachment-strip{width:100%;margin:0 0 10px;padding:1px 2px;display:flex;gap:7px;overflow-x:auto;pointer-events:auto}.image-preview{width:66px;height:66px;border-radius:12px;position:relative;flex:none;overflow:hidden;border:1px solid var(--border);background:var(--surface)}.image-preview-open{width:100%;height:100%;padding:0;display:block;background:transparent;cursor:zoom-in}.image-preview-open img{width:100%;height:100%;display:block;object-fit:cover}.image-preview-remove{width:19px;height:19px;border-radius:99px;position:absolute;top:3px;right:3px;display:grid;place-items:center;background:var(--ink-strong);color:#fff;cursor:pointer}.file-preview{width:min(260px,76vw);min-width:220px;min-height:62px;padding:9px 8px 9px 9px;border:1px solid var(--border);border-radius:13px;display:flex;align-items:center;gap:7px;flex:none;background:var(--surface)}.file-preview button{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;flex:none;background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),transform .16s var(--ease-out)}.file-preview button:hover{background:var(--surface-hover);color:var(--ink-strong)}.file-preview-status{flex:none;color:var(--file-color)}.file-preview.uploading .file-identity{opacity:.72}.file-preview.error{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.file-preview.error .file-identity-content small{color:var(--danger)}.voice-waveform{height:20px;padding:2px 6px;display:flex;align-items:center;gap:3px;color:var(--voice-active)}.voice-waveform.is-empty{height:41px}.voice-waveform i{width:3px;height:10px;border-radius:3px;background:currentColor;transform-origin:center}.voice-waveform i:nth-child(2),.voice-waveform i:nth-child(6){height:16px}.voice-waveform i:nth-child(3),.voice-waveform i:nth-child(5){height:12px}.voice-waveform i:nth-child(4){height:20px}.voice-waveform.is-listening i{animation:voice-listening-wave 1s ease-in-out infinite}@keyframes voice-listening-wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.login-page{min-height:100dvh;padding:30px clamp(84px,7vw,104px) 7px;position:relative;display:grid;grid-template-columns:minmax(400px,448px) minmax(360px,1fr);justify-content:center;align-items:start;gap:clamp(48px,7vw,100px);overflow:auto;background:linear-gradient(180deg,#161914,#0f110e);color:#f1eee7}.login-brand{position:absolute;top:30px;left:clamp(44px,4.7vw,68px);z-index:2;gap:7px;color:#f0eee7;font-size:24px}.login-brand-logo{width:25px;height:28px;display:block;flex:none}.login-panel{min-width:0;padding-top:138px;position:relative;z-index:1}.login-stack{width:min(100%,448px)}.login-heading{margin-bottom:32px;text-align:center}.login-heading h1{margin:0;color:#f3f0e8;font-family:ui-serif,Georgia,Songti SC,serif;font-size:50px;font-weight:420;line-height:1.08;letter-spacing:-.025em}.login-heading h1 span{display:block;white-space:nowrap}.login-subtitle{margin:30px 0 0;color:#9a9d93;font-family:var(--font-chat);font-size:16px;line-height:1.5}.login-card{width:100%;padding:28px 28px 29px;border:1px solid rgba(255,255,255,.13);border-radius:32px;background:#1c1f1ab8;box-shadow:0 24px 60px #00000059;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card form{display:flex;flex-direction:column;gap:14px}.login-card label{display:flex;flex-direction:column;color:#8b8e85;font-size:11px;font-weight:650}.phone-field,.code-field{height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;display:flex;align-items:center;background:#ffffff0f}.phone-field:focus-within,.code-field:focus-within{border-color:#ffffff59;box-shadow:0 0 0 3px #06ffa91f}.phone-field b{padding-right:11px;border-right:1px solid rgba(255,255,255,.14);color:#e8e6df;font-size:13px;font-weight:600}.phone-field:has(input[aria-invalid=true]),.code-field:has(input[aria-invalid=true]){border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 12%,transparent)}.phone-field input,.code-field input{min-width:0;flex:1;height:100%;padding:0 10px;border:0;outline:none;background:transparent;font-size:15px}.phone-field input::placeholder,.code-field input::placeholder{color:#6f7268;opacity:1}.code-field button{padding:7px 3px 7px 11px;border-radius:7px;background:transparent;color:#8de9b9;font-size:11px;font-weight:650;cursor:pointer}.code-field button:hover:not(:disabled){background:#06ffa914}.code-field button:focus-visible{outline:none;background:#06ffa91f;box-shadow:inset 0 0 0 1px #06ffa94d}.code-field button:disabled{opacity:.55;cursor:default}.login-submit{height:40px;margin-top:2px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;background:#f3f0e8;color:#171a15;font-size:14px;font-weight:650;cursor:pointer;transition:background-color .14s ease,transform .16s var(--ease-out)}.login-submit:hover:not(:disabled){background:#fff}.login-submit:disabled{opacity:.35;cursor:default}.login-submit[aria-busy=true]{opacity:1}.form-message{margin:-4px 0;font-size:11px;line-height:1.4}.form-message.error{color:var(--danger)}.form-message.success{color:var(--success)}.login-legal{margin:10px 0 0;color:#6f7268;font-size:12px;line-height:1.5;text-align:center}.tool-page{height:100dvh;overflow-y:auto;padding:26px 24px 60px;background:var(--canvas)}.tool-header{width:min(100%,760px);margin:0 auto 22px;display:flex;align-items:center;gap:10px}.tool-header h1{margin:2px 0 0;font-family:ui-serif,Georgia,Songti SC,serif;font-size:25px;font-weight:500}.tool-card{width:min(100%,760px);margin:auto;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-soft)}.tool-card-title{display:flex;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border-soft)}.tool-card-title>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.tool-card-title h2{margin:0 0 4px;font-size:15px}.tool-card-title p{margin:0;color:var(--muted);font-size:11px}.tool-form{margin-top:20px;display:grid;gap:14px}.tool-form>label,.advanced-fields label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:650}.tool-form input:not([type=checkbox]),.tool-form textarea,.tool-form select{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:10px;outline:none;background:var(--surface-raised);font-size:13px;resize:vertical}.tool-form input:focus,.tool-form textarea:focus,.tool-form select:focus{border-color:#bbb6aa}.tool-form input[aria-invalid=true],.tool-form textarea[aria-invalid=true],.tool-form select[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 12%,transparent)}.check-row{display:flex!important;grid-template-columns:none;align-items:center;grid-auto-flow:column;justify-content:start;gap:8px!important}.tool-form details{padding:12px;border:1px solid var(--border-soft);border-radius:11px}.tool-form summary{color:var(--muted);font-size:11px;cursor:pointer}.advanced-fields{margin-top:13px;display:grid;gap:12px}.tool-form .button{justify-self:end}.tool-result{margin:18px 0 0;padding:14px;max-height:300px;overflow:auto;border-radius:11px;background:#282724;color:#e8e4da;font:11px/1.55 ui-monospace,Menlo,monospace;white-space:pre-wrap}.toast-region{position:fixed;left:0;right:0;bottom:calc(var(--composer-height) + 4px);z-index:100;display:flex;flex-direction:column;align-items:center;gap:8px;padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right));pointer-events:none}.toast-message{max-width:min(100%,420px);padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);color:var(--ink-strong);box-shadow:var(--shadow-soft);font-size:13px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}@media(min-width:821px){#app:has(.chat-app) .toast-region{left:var(--sidebar-width);transition:left .24s cubic-bezier(.32,.72,0,1),right .24s cubic-bezier(.32,.72,0,1)}#app:has(.chat-app.sidebar-collapsed) .toast-region{left:var(--sidebar-rail-width)}#app:has(.chat-app.sidebar-motion-disabled) .toast-region{transition:none}}@media(min-width:1180px){#app:has(.chat-app.orders-visible) .toast-region{right:320px}}.toast-enter-active,.toast-leave-active{transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.order-charge-receipt{width:min(430px,calc(100vw - 32px));position:relative;overflow:hidden;pointer-events:auto;border:1px solid var(--border-soft);border-radius:15px;background:color-mix(in srgb,var(--surface-raised) 96%,transparent);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.order-charge-receipt[data-expanded=true]{border-color:color-mix(in srgb,var(--brand) 24%,var(--border-soft));box-shadow:0 18px 52px #2c282026}.order-charge-summary{width:100%;min-height:72px;padding:11px 38px 11px 12px;display:grid;grid-template-columns:31px minmax(0,1fr) auto 16px;align-items:center;gap:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background-color .15s ease,transform .15s var(--ease-out)}.order-charge-icon{width:31px;height:31px;border-radius:99px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.order-charge-copy{min-width:0;display:grid;gap:4px}.order-charge-copy strong{overflow:hidden;color:var(--ink-strong);font-size:12.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.order-charge-copy small{overflow:hidden;color:var(--faint);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.order-charge-receipt[data-expanded=true] .order-charge-copy small{white-space:normal;line-height:1.45}.order-charge-summary>b{color:var(--ink-strong);font-size:16px;font-weight:680;font-variant-numeric:tabular-nums;white-space:nowrap}.order-charge-chevron{color:var(--faint);transition:transform .16s var(--ease-out)}.order-charge-chevron.expanded{transform:rotate(180deg)}.order-charge-close{width:28px;height:28px;position:absolute;top:6px;right:6px;z-index:2;border-radius:8px;display:grid;place-items:center;background:transparent;color:var(--faint);cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .15s var(--ease-out)}.order-charge-detail{margin:0 12px 12px 52px;padding-top:10px;border-top:1px solid var(--border-soft)}.order-charge-detail-state{min-height:54px;display:flex;align-items:center;color:var(--muted);font-size:11px;line-height:1.55}.order-charge-detail-state[data-tone=muted]{color:var(--faint)}.order-charge-breakdown{margin:0}.order-charge-breakdown>div{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:12px}.order-charge-breakdown>div+div{border-top:1px solid var(--border-soft)}.order-charge-breakdown dt{color:var(--faint);font-size:10.5px}.order-charge-breakdown dd{margin:0;color:var(--ink);font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}.order-charge-reference{min-width:0;margin-top:6px;padding-top:9px;border-top:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--faint);font-size:9.5px}.order-charge-reference code{min-width:0;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.order-charge-progress{height:2px;position:absolute;right:0;bottom:0;left:0;background:var(--brand);transform:scaleX(0);transform-origin:left center;animation:order-charge-progress 7.2s linear;transition:opacity .12s ease}.order-charge-receipt[data-retained=true] .order-charge-progress{opacity:0;animation-play-state:paused}@keyframes order-charge-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.order-charge-receipt-enter-active{transition:opacity .21s var(--ease-out),transform .21s var(--ease-out)}.order-charge-receipt-leave-active{transition:opacity .15s var(--ease-out),transform .15s var(--ease-out);pointer-events:none}.order-charge-receipt-enter-from,.order-charge-receipt-leave-to{opacity:0;transform:translateY(10px) scale(.98)}.order-charge-detail-enter-active{transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.order-charge-detail-leave-active{transition:opacity .12s var(--ease-out),transform .12s var(--ease-out)}.order-charge-detail-enter-from,.order-charge-detail-leave-to{opacity:0;transform:translateY(-5px)}@media(hover:hover)and (pointer:fine){.order-charge-summary:hover{background:color-mix(in srgb,var(--surface-hover) 54%,transparent)}.order-charge-close:hover{background:var(--surface-hover);color:var(--ink)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;padding:20px;display:grid;place-items:center;overflow-y:auto;opacity:1;background:#1f1e1b40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity .2s var(--ease-out)}.modal-card{width:min(100%,390px);max-height:calc(100dvh - 40px);padding:22px;border:1px solid var(--border);border-radius:19px;position:relative;display:flex;flex-direction:column;background:var(--surface-raised);box-shadow:var(--shadow-overlay);transform-origin:center;transition:transform .2s var(--ease-out)}.modal-card h2{margin:0 0 9px;color:var(--ink-strong);font-family:ui-serif,Georgia,Songti SC,serif;font-size:21px;font-weight:520}.modal-card>p{margin:0;color:var(--muted);font-size:13px;line-height:1.65;overflow-wrap:anywhere}.modal-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:8px}.modal-close{position:absolute;top:12px;right:12px}.modal-icon{width:43px;height:43px;margin-bottom:16px;border-radius:13px;display:grid;place-items:center}.modal-icon.warning{background:#fff0e4;color:var(--warning)}.modal-card>p[tabindex]{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.modal-card>p[tabindex]:focus-visible{outline:2px solid color-mix(in srgb,var(--focus-ring) 82%,var(--canvas));outline-offset:3px}.admission-items{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:9px}.admission-item{padding:10px 12px;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.admission-item-state{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--warning) 13%,var(--surface));color:var(--warning);font-size:11px;white-space:nowrap}.admission-item-state.satisfied{background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}.admission-item-body{min-width:0;display:grid;gap:2px}.admission-item-body strong{color:var(--ink-strong);font-size:13px;font-weight:560}.admission-item-body small{color:var(--muted);font-size:12px}.modal-leave-active .modal-card{pointer-events:none}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-card,.modal-leave-to .modal-card{transform:translateY(8px) scale(.97)}.image-lightbox-backdrop{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#121211c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.image-lightbox{width:min(100%,1200px);height:min(100%,900px);position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:10px}.image-lightbox img{max-width:100%;max-height:100%;min-height:0;border-radius:10px;display:block;object-fit:contain;box-shadow:0 18px 60px #00000047}.image-lightbox-close{position:absolute;top:0;right:0;z-index:1;background:#141413a8;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.image-lightbox-close:hover{background:#141413d1;color:#fff}.image-lightbox-caption{max-width:min(100%,680px);margin:0;overflow:hidden;color:#ffffffc7;font-size:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media(prefers-color-scheme:dark){button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-color:color-mix(in srgb,var(--focus-ring) 82%,var(--canvas))}.button.primary,.button.brand,.button.danger{color:var(--canvas)}.button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--ink-strong) 88%,var(--canvas))}.welcome-state h1{color:var(--ink-strong)}.message-load-error>span{background:color-mix(in srgb,var(--danger) 14%,var(--surface))}.user-bubble{background:var(--surface-strong)}.file-format-badge{background:color-mix(in srgb,var(--file-color) 20%,var(--surface-raised))}.voice-message,.image-preview-remove{color:var(--canvas)}.event-card pre{background:color-mix(in srgb,var(--canvas) 75%,transparent);color:var(--muted)}.assistant-error{border-color:color-mix(in srgb,var(--danger) 34%,var(--border));background:color-mix(in srgb,var(--danger) 9%,var(--surface))}.markdown-body pre,.markdown-code{background:var(--canvas-deep)}.markdown-body a{color:var(--brand-hover)}.composer-shell{border-color:var(--border);box-shadow:var(--shadow-soft)}.composer-shell:focus-within{border-color:color-mix(in srgb,var(--border) 65%,var(--ink));box-shadow:0 2px 4px #00000029,0 18px 46px #00000047}.composer-shell textarea::placeholder{color:var(--muted)}.tool-form input:focus,.tool-form textarea:focus,.tool-form select:focus{border-color:color-mix(in srgb,var(--border) 65%,var(--ink))}.tool-result{background:#1e1e1c;color:#e8e4da}.modal-icon.warning{background:color-mix(in srgb,var(--warning) 14%,var(--surface))}}@media(max-width:1080px){.login-page{padding:0;display:block}.login-panel{min-height:100dvh;padding:160px 32px 48px;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center}.login-heading h1{font-size:clamp(42px,6vw,50px)}.login-brand{top:24px;left:34px}}@media(max-width:820px){.chat-app,.chat-app.sidebar-collapsed{display:flex;transition:none}.chat-main{flex:1}.mobile-only{display:inline-grid!important}.sidebar-collapse-button,.sidebar-rail{display:none!important}.menu-button{display:inline-grid}.chat-sidebar,.chat-app.sidebar-collapsed .chat-sidebar{width:var(--sidebar-width);position:fixed;inset:0 auto 0 0;overflow:visible;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-102%);box-shadow:20px 0 60px #2c282024;transition:transform .24s cubic-bezier(.2,.7,.3,1)}.chat-sidebar.open,.chat-app.sidebar-collapsed .chat-sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#1f1e1b38;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .2s var(--ease-out),visibility 0s linear .2s}.sidebar-backdrop.visible{opacity:1;visibility:visible;transition-delay:0s,0s}.composer-left>.composer-icon{border:1px solid var(--border-soft);border-radius:99px}.voice-mode-button{border-radius:99px}.desktop-action{display:none}.message-column{padding-top:25px}.welcome-state{padding-bottom:calc(var(--composer-height) + 40px)}.conversation-empty .welcome-state{padding-bottom:0}.tool-page{padding-inline:14px}.phone-field,.code-field,.login-submit{height:44px}.code-field button{min-height:42px;padding-block:0;display:flex;align-items:center}}@media(max-width:560px){.chat-header{min-height:calc(54px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) max(9px,env(safe-area-inset-right)) 7px max(9px,env(safe-area-inset-left))}.chat-title>.chat-subtitle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.header-actions{gap:0}.chat-header .icon-button{width:35px;height:35px}.header-menu-popover{top:calc(100% - 3px);right:max(9px,env(safe-area-inset-right))}.message-column{--message-gap: 25px;width:calc(100% - 28px);padding-bottom:calc(var(--composer-height) + 22px)}.user-turn{max-width:88%}.user-copy{right:auto;left:-31px}.sent-images img{max-width:230px}.assistant-answer{font-size:16px;line-height:1.72}.event-card.tool-friendly.expanded{--tool-interrupt-gutter: 16px}.composer-zone{padding-right:max(8px,env(safe-area-inset-right));padding-left:max(8px,env(safe-area-inset-left))}.composer-shell{min-height:112px;padding:14px 12px 9px;border-radius:24px}.composer-hint{margin-top:5px}.attachment-menu{left:12px}.attachment-strip{padding-inline:2px}.welcome-state{padding:6vh 18px calc(var(--composer-height) + 42px)}.welcome-state h1{font-size:29px}.conversation-surface.conversation-empty{padding-bottom:calc(24px + 12vh);gap:31px}.conversation-empty .welcome-state{padding:0 18px}.welcome-heading{gap:11px}.welcome-mascot{--xiaofeng-mascot-size: 58px}.login-panel{padding:calc(clamp(128px,17vh,148px) + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));align-items:start}.login-stack{width:min(100%,448px)}.login-brand{top:calc(22px + env(safe-area-inset-top));left:50%;font-size:22px;white-space:nowrap;transform:translate(-50%)}.login-brand-logo{width:24px;height:27px}.login-heading{margin-bottom:28px}.login-heading h1{width:auto;margin-left:0;font-size:clamp(34px,9.75vw,38px);line-height:1.16}.login-heading h1 span{white-space:nowrap}.login-subtitle{margin-top:16px;font-size:14px;line-height:1.55}.login-card{padding:24px;border-radius:26px}.login-card form{gap:12px}.phone-field,.code-field,.login-submit{height:46px}.code-field button{min-height:44px;padding:0 2px 0 12px;display:flex;align-items:center}.login-legal{margin-top:12px}.modal-backdrop{padding:14px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));align-items:end}.modal-card{border-radius:20px 20px 16px 16px;transform-origin:bottom center}.toast-region{bottom:calc(var(--composer-height) + 8px)}.order-charge-receipt{width:100%}.order-charge-summary{min-height:70px;padding:10px 36px 10px 10px;grid-template-columns:31px minmax(0,1fr) auto;gap:8px}.order-charge-chevron{display:none}.order-charge-copy small{max-width:100%}.order-charge-summary>b{font-size:15px}.order-charge-detail{margin:0 10px 10px;padding:10px 42px 0}}@media(min-width:568px)and (max-width:1080px)and (max-height:560px){.login-brand{top:calc(16px + env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));font-size:20px}.login-brand-logo{width:22px;height:25px}.login-panel{min-height:100dvh;padding:calc(58px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));place-items:center}.login-stack{width:min(100%,760px);display:grid;grid-template-columns:minmax(180px,.75fr) minmax(280px,1fr);align-items:center;gap:clamp(24px,5vw,48px)}.login-heading{margin:0;text-align:left}.login-heading h1{font-size:clamp(32px,4.6vw,40px);line-height:1.12}.login-subtitle{margin-top:14px;font-size:14px}.login-card{padding:18px 20px 19px;border-radius:24px}.login-card form{gap:10px}.phone-field,.code-field,.login-submit{height:44px}.phone-field input,.code-field input{font-size:16px}.code-field button{min-height:42px;padding-block:0;display:flex;align-items:center}.login-legal{margin-top:8px}.login-legal br{display:none}}@media(max-width:767px){input,textarea,select{font-size:16px!important}}@media(hover:none),(pointer:coarse){.user-copy{right:auto;left:-31px}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.tool-friendly:hover .tool-friendly-description-stage.is-overflowing .tool-friendly-process-static{opacity:0}.tool-friendly:hover .tool-friendly-description-stage.is-overflowing .tool-friendly-process-scroll{opacity:1;animation:tool-description-reveal var(--tool-description-duration) linear .32s forwards}.event-card.tool-friendly.pending:hover:after{animation-play-state:paused}}@media(hover:hover)and (pointer:fine){.sidebar-rail-button:hover:after{opacity:1;visibility:visible;transform:translateY(-50%)}.jump-to-latest:hover{transform:translate(-50%) translateY(-1px)}.sent-file:hover:not(:disabled),.send-button:hover:not(:disabled){transform:translateY(-1px)}.send-button.stop:hover:not(:disabled){transform:none}}@media(prefers-reduced-motion:no-preference){:where(.button,.icon-button,.new-chat-button,.thread-row,.sidebar-search-trigger,.sidebar-footer,.sent-file,.voice-message,.message-action,.composer-icon,.send-button,.file-preview button,.login-submit):active:not(:disabled):not(:focus-visible){transform:scale(.97)}.order-charge-summary:active:not(:focus-visible),.order-charge-close:active:not(:focus-visible){transform:scale(.97)}.jump-to-latest:active:not(:focus-visible){transform:translate(-50%) scale(.97)}.send-button.stop:active:not(:disabled):not(:focus-visible){transform:scale(.97)}}@media(max-height:480px){.conversation-surface.conversation-empty{padding-block:12px;gap:18px}.welcome-mascot{--xiaofeng-mascot-size: 46px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.spin,.assistant-companion,.assistant-companion i,.order-charge-progress,.voice-waveform i{animation:none!important}.order-charge-receipt-enter-active,.order-charge-receipt-leave-active,.order-charge-detail-enter-active,.order-charge-detail-leave-active{transition:opacity .15s ease}.order-charge-receipt-enter-from,.order-charge-receipt-leave-to,.order-charge-detail-enter-from,.order-charge-detail-leave-to{transform:none}.order-charge-chevron{transition:none}.tool-result-icon.animated,.tool-result-icon.animated svg>*{animation:none!important}.tool-friendly-process-scroll,.tool-progress-spinner{animation:none!important}.event-card.tool-friendly.pending:not(.expanded):after{animation:none!important;opacity:.34;transform:none}.event-card.tool-friendly{transform:none;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}.tool-friendly-summary,.tool-interrupt-region{transition:none}.tool-state-enter-active,.tool-state-leave-active,.tool-copy-enter-active,.tool-copy-leave-active{transition:opacity .2s ease}.tool-state-enter-from,.tool-state-leave-to,.tool-copy-enter-from,.tool-copy-leave-to{transform:none}.tool-interrupt-enter-active,.tool-interrupt-leave-active{transition:opacity .2s ease}.tool-interrupt-enter-from,.tool-interrupt-leave-to{transform:none}.tool-result-icon.animated{opacity:1;transform:none}.tool-result-icon.animated svg>*{stroke-dashoffset:0}.popover-enter-active,.popover-leave-active{transition:opacity .2s ease}.popover-enter-from,.popover-leave-to{opacity:0;transform:none}.toast-enter-active,.toast-leave-active{transition:opacity .2s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:none}.sidebar-rail-button:after,.voice-mode-button:before{transform:none;transition:opacity .2s ease,visibility 0s linear .2s}.sidebar-rail-button:hover:after,.sidebar-rail-button:focus-visible:after,.voice-mode-button[data-tooltip].tooltip-visible:not(:disabled):before,.voice-mode-button[data-tooltip]:focus-visible:before{transform:none;transition-delay:0s,0s}#app:has(.chat-app) .toast-region,.event-chevron,.chat-app,.chat-sidebar,.sidebar-rail{transition:none}.environment-menu-chevron{transition:none!important}.sidebar-backdrop{transition:opacity .2s ease,visibility 0s linear .2s}.sidebar-backdrop.visible{transition-delay:0s,0s}.modal-backdrop{transition:opacity .2s ease}.modal-card{transition:none}.modal-enter-from .modal-card,.modal-leave-to .modal-card{transform:none}.jump-to-latest:hover{transform:translate(-50%)}.sent-file:hover:not(:disabled),.send-button:hover:not(:disabled){transform:none}.button,.icon-button,.chat-title,.new-chat-button,.new-chat-icon,.jump-to-latest,.sent-file,.message-action,.composer-shell,.composer-icon,.send-button,.file-preview button,.login-submit,.sidebar-search-trigger,.sidebar-search-field,.sidebar-footer{transition-duration:.2s!important;transition-timing-function:ease!important}}
