@keyframes sd-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sd-blurIn{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur()}}@keyframes sd-slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-sd-animate]{animation:var(--sd-animation,sd-fadeIn) var(--sd-duration,.15s) var(--sd-easing,ease) both}html.has-xue-chat{--xue-selected:var(--bg-soft);--xue-accent:var(--accent-clay);--xue-text-offset:2px;height:var(--xue-viewport-height,100dvh);scrollbar-gutter:auto;overflow:hidden}html.has-xue-chat.u-mode-invert{--xue-accent:var(--fg-interactive)}.has-xue-chat body{height:100%;min-height:0;overflow:hidden}.has-xue-chat .page-wrapper{height:100%;min-height:0}.has-xue-chat .page-main{min-height:0;padding-bottom:0}.has-xue-chat astro-island{height:100%;display:block}.xue-chat{height:100%;min-height:0;font:14px/1.5 var(--font-serif);letter-spacing:inherit;flex-direction:column;display:flex}.xue-chat button{appearance:none;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0}.xue-chat a{color:inherit;text-decoration:none}.xue-chat button:disabled{cursor:default}.xue-chat :is(a,button,summary){transition:none}.xue-chat :is(a,button,summary):focus-visible{outline:2px solid var(--fg-interactive);outline-offset:3px}.xue-chat .xue-icon-button{color:var(--fg-muted);border-radius:6px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.xue-theme-moon,.u-mode-invert .xue-theme-sun{display:none}.u-mode-invert .xue-theme-moon{display:block}.xue-chat-workspace{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.xue-chat-header{font:var(--font-size-body)/var(--line-height-body) var(--font-serif)}.xue-chat .header-name-link{color:var(--fg)}.xue-chat .header-control-button{color:var(--fg-muted)}.xue-chat-main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.xue-conversation{flex:1;min-height:0;position:relative;overflow:hidden}.xue-conversation>div{scrollbar-color:var(--border) transparent;scrollbar-width:thin;scrollbar-gutter:auto!important}.xue-conversation-content{max-width:var(--narrow);min-height:100%;padding:18px var(--page-pad-x) 38px;flex-direction:column;gap:26px;width:100%;margin:0 auto;display:flex}.xue-chat-main[data-chat-state=welcome]{justify-content:center;padding-bottom:clamp(40px,18vh,160px)}.xue-chat-main[data-chat-state=welcome] .xue-conversation{flex:0 auto}.xue-chat-main[data-chat-state=welcome] .xue-conversation-content{min-height:0;padding:24px var(--page-pad-x) 28px}.xue-welcome{text-align:center}.xue-welcome-heading{justify-content:center;align-items:center;gap:14px;display:flex}.xue-welcome-icon{color:var(--xue-accent);flex:none;width:34px;height:34px}.xue-welcome h1{color:var(--fg);font:400 clamp(27px, 2.8vw, 36px)/1.25 var(--font-serif);letter-spacing:normal;margin:0}.xue-prompts{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.xue-chat .xue-prompts button{border:1px solid var(--border-soft);color:var(--fg-muted);font:12px/1.5 var(--font-serif);border-radius:9px;min-height:34px;padding:7px 12px}.xue-message{overflow-wrap:anywhere;flex-direction:column;width:100%;min-width:0;display:flex}.xue-message.is-user{align-items:flex-end}.xue-message-content{min-width:0}.xue-message.is-user .xue-message-content{background:var(--bg-soft);max-width:min(90%,640px);padding:calc(10px + var(--xue-text-offset)) 16px calc(10px - var(--xue-text-offset));white-space:pre-wrap;border-radius:12px}.xue-user-text{font:var(--font-size-body)/var(--line-height-body) var(--font-serif);display:block}.xue-message.is-assistant{color:var(--fg-body);font:var(--font-size-body)/var(--line-height-body) var(--font-serif)}.xue-message-response{width:100%;min-width:0}.xue-message-response>:first-child{margin-top:0}.xue-message-response>:last-child{margin-bottom:0}.xue-message-response p{margin:1em 0}.xue-message-response :is(h1,h2,h3,h4){color:var(--fg);font:600 1.1em/1.45 var(--font-serif);margin:1.4em 0 .65em}.xue-message-response :is(ul,ol){margin:.8em 0;padding-left:2em}.xue-message-response li{margin:.4em 0;padding-left:.25em}.xue-message-response li::marker{color:var(--fg-muted)}.xue-message-response blockquote{border-left:2px solid var(--border);color:var(--fg-muted);margin:1em 0;padding:.1em 1em}.xue-message-response a{color:var(--fg);overflow-wrap:anywhere;text-underline-offset:3px;text-decoration:underline}.xue-message-response :not(pre)>code{background:var(--bg-soft);border-radius:4px;padding:.15em .35em;font:.8em/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.xue-message-response pre{max-width:100%;overflow:auto}.xue-message-response [data-streamdown=code-block]{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:10px;margin:18px 0;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;position:relative;overflow:hidden}.xue-message-response [data-streamdown=code-block-header]{background:var(--xue-selected);align-items:center;min-height:36px;padding:5px 12px;display:flex}.xue-message-response [data-streamdown=code-block]>:has(>[data-streamdown=code-block-actions]){position:absolute;top:2px;right:8px}.xue-message-response [data-streamdown=code-block-copy-button]{color:var(--fg-muted);justify-content:center;align-items:center;padding:0;display:inline-flex}.xue-message-response [data-streamdown=code-block-body]{margin:0;padding:14px 16px}.xue-message-response [data-streamdown=code-block-body] pre{margin:0}.xue-message-response table{border-collapse:collapse;max-width:100%;display:block;overflow:auto}.xue-message-response :is(th,td){border:1px solid var(--border);text-align:left;padding:.5em .7em}.xue-message-response button{min-width:32px;min-height:32px}.xue-thinking{color:var(--xue-accent);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.xue-thinking svg{display:block;overflow:visible}.xue-message-actions{align-items:center;gap:4px;margin-top:10px;display:flex}.xue-chat .xue-message-action{color:var(--fg-faint);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.xue-chat .xue-scroll-latest{background:var(--bg-elevated);border:1px solid var(--border);z-index:3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #0001}.xue-compose-area{max-width:var(--narrow);padding:8px var(--page-pad-x) 10px;z-index:4;flex:none;width:100%;margin:0 auto;position:relative}.xue-composer{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:4px;min-height:50px;padding:6px 12px;display:grid;position:relative;box-shadow:0 4px 20px #00000006}.xue-composer:has(textarea:focus){border-color:var(--fg-faint)}.xue-composer textarea{appearance:none;color:var(--fg);font:var(--font-size-body)/1.5 var(--font-serif);min-width:0;min-height:32px;max-height:220px;padding:calc(2px + var(--xue-text-offset)) 8px calc(2px - var(--xue-text-offset));resize:none;background:0 0;border:0;outline:0;grid-area:1/2;width:100%;display:block;overflow-y:auto}.xue-composer textarea:focus-visible{outline:0!important}.xue-composer textarea::placeholder{color:var(--fg-faint);opacity:1}.xue-composer-toolbar{grid-area:1/3;align-items:center;height:32px;display:flex}.xue-chat .xue-send{color:var(--fg);border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.xue-send:disabled{color:var(--fg-faint);opacity:.5}.xue-chat .xue-stop{background:var(--fg);color:var(--bg);border-radius:50%}.xue-composer-footer{color:var(--fg-faint);justify-content:space-between;align-items:center;gap:12px;margin:11px 16px 0;font-size:12px;line-height:18px;display:flex}.xue-composer-footer p{margin:0}.xue-identity{color:var(--fg-faint);white-space:nowrap;flex:none;align-items:center;gap:8px;font-size:12px;line-height:18px;display:inline-flex}.xue-identity svg{color:var(--xue-accent)}.xue-identity strong{color:var(--fg);font-size:13px;font-weight:400;line-height:18px}.xue-starters-menu{grid-area:1/1}.xue-starters-menu summary{color:var(--fg);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;list-style:none;display:flex}.xue-starters-menu summary::-webkit-details-marker{display:none}.xue-starters-popover{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:12px;min-width:220px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 6px 30px #0001}.xue-chat .xue-starters-popover button{text-align:left;border-radius:6px;width:100%;padding:10px 12px;font-size:13px;display:block}.xue-error-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:12px 14px;display:flex}.xue-error-card strong{font-size:13px;font-weight:600;display:block}.xue-error-card p{color:var(--fg-muted);margin:3px 0 0;font-size:12px}.xue-chat .xue-error-card button{border-radius:6px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.xue-chat a:is(:hover,:focus-visible),.xue-chat .header-control-button:is(:hover,:focus-visible){color:var(--fg-interactive)}.xue-message-response a:is(:hover,:focus-visible){text-decoration-thickness:2px}.xue-chat :is(.xue-icon-button,.xue-prompts button,.xue-message-action,.xue-send,.xue-starters-menu summary,.xue-starters-popover button,.xue-error-card button,.xue-scroll-latest,[data-streamdown=code-block-copy-button]):not(:disabled):not(.xue-stop):is(:hover,:focus-visible){background:var(--bg-interactive);color:var(--fg-interactive)}.xue-chat .xue-prompts button:is(:hover,:focus-visible){border-color:var(--fg-interactive)}.xue-chat .xue-stop:is(:hover,:focus-visible){background:var(--fg-interactive);color:var(--bg)}.xue-storage-note{color:var(--fg-muted);text-align:center;margin:8px 0 0;font-size:12px}.xue-chat-main[data-chat-state=welcome] .xue-composer{row-gap:12px;min-height:104px;padding:12px 16px}.xue-chat-main[data-chat-state=welcome] .xue-composer textarea{grid-column:1/-1;padding-left:0;padding-right:0}.xue-chat-main[data-chat-state=welcome] :is(.xue-starters-menu,.xue-composer-toolbar){grid-row:2}.xue-composer-identity{grid-area:2/2;justify-self:end}.xue-composer[data-multiline=true] textarea{grid-column:1/-1}.xue-composer[data-multiline=true] :is(.xue-starters-menu,.xue-composer-toolbar){grid-row:2}.xue-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.xue-chat .xue-skip-link{background:var(--bg-elevated);border:1px solid var(--border);z-index:30;border-radius:8px;padding:8px 16px;position:fixed;top:-80px;left:12px}.xue-skip-link:focus{top:12px}html[data-lang=zh] .xue-welcome h1{letter-spacing:var(--letter-spacing-zh-title)}html.has-xue-chat[data-lang=zh]{--xue-text-offset:1px}@media (width<=600px){.xue-chat .xue-icon-button{width:36px;height:36px}.xue-conversation-content{padding:14px var(--page-pad-x) 24px;gap:24px}.xue-chat-main[data-chat-state=welcome]{padding-bottom:clamp(24px,10vh,80px)}.xue-welcome-heading{flex-direction:column;gap:18px}.xue-welcome h1{font-size:28px}.xue-message.is-user .xue-message-content{max-width:94%}.xue-compose-area{padding-bottom:max(10px, env(safe-area-inset-bottom))}.xue-composer{border-radius:16px;padding:8px}.xue-composer textarea{padding-left:4px;padding-right:4px}.xue-composer-footer{text-align:center;justify-content:center;margin:10px 2px 0;font-size:10px}.xue-identity{display:none}.xue-composer-identity{display:inline-flex}.xue-prompts{gap:6px;margin-top:14px}.xue-chat .xue-prompts button{min-height:36px;padding:8px 10px;font-size:11px}.xue-error-card{align-items:flex-start}}@media (pointer:coarse){.xue-chat .xue-message-action{width:40px;height:40px}.xue-chat .xue-send,.xue-starters-menu summary{width:36px;height:36px}.xue-composer-toolbar{height:36px}.xue-composer{grid-template-columns:36px minmax(0,1fr) 36px}}@media (height<=480px){.xue-chat-main[data-chat-state=welcome]{padding-bottom:0}.xue-chat-main[data-chat-state=welcome] .xue-conversation-content{padding-top:14px;padding-bottom:14px}.xue-welcome-heading{flex-direction:row;gap:10px}.xue-welcome h1{font-size:24px}.xue-welcome-icon{width:28px;height:28px}.xue-prompts{display:none}}@media (prefers-reduced-motion:reduce){.xue-chat *,.xue-chat :before,.xue-chat :after{scroll-behavior:auto!important}.xue-chat [data-sd-animate]{animation:none!important}}
