:root{color-scheme:light;--bg: #f4f1ea;--panel: rgba(255, 255, 255, .86);--panel-strong: rgba(255, 255, 255, .96);--line: rgba(25, 31, 26, .08);--line-strong: rgba(25, 31, 26, .14);--text: #151b17;--muted: #66726b;--accent: #0f9d74;--accent-strong: #0b7a5a;--shadow: 0 18px 45px rgba(31, 43, 36, .08);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--font-sans: "IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display: "Space Grotesk", "IBM Plex Sans", "PingFang SC", sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;min-height:100%;font-family:var(--font-sans);color:var(--text);background:radial-gradient(circle at top left,rgba(15,157,116,.12),transparent 32%),radial-gradient(circle at bottom right,rgba(55,128,98,.08),transparent 28%),linear-gradient(180deg,#f8f6f2 0%,var(--bg) 100%)}body{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}code,pre{font-family:IBM Plex Mono,Cascadia Code,monospace}.page-shell{padding:16px;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh}.chat-panel{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;border-radius:34px;overflow:hidden}.chat-panel--full{width:min(1400px,100%);margin:0 auto}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--line);background:#f8f8f5d1}.chat-header h2,.config-modal-header h3{margin:6px 0 0;font-family:var(--font-display);font-size:1.8rem;line-height:1.05;letter-spacing:-.05em}.eyebrow{margin:0;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lead,.helper-text,.tip-text{margin:0;color:var(--muted);line-height:1.6;font-size:.95rem}.field-hint{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;line-height:1.5}.field-hint code{background:#0000000d;padding:1px 5px;border-radius:4px;font-size:.72rem}.config-group{border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;background:var(--panel-strong)}.config-group h2{margin:0 0 12px;font-size:.98rem}.group-title-row,.header-actions,.composer-actions,.config-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.field:last-child{margin-bottom:0}.field span,.context-label,.toolbar-field span{font-size:.88rem;font-weight:600}.field input,.field select,.field textarea,.composer-form textarea,.toolbar-field input,.toolbar-field select{border:1px solid var(--line);border-radius:16px;padding:10px 12px;background:#fff;color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.field input:focus,.field select:focus,.composer-form textarea:focus,.toolbar-field input:focus,.toolbar-field select:focus{border-color:#0f9d7499;box-shadow:0 0 0 4px #0f9d741f}.preset-button,.ghost-button,.text-button,.primary-button,.download-link{border:none;border-radius:14px;transition:transform .2s ease,opacity .2s ease,background .2s ease}.preset-button,.ghost-button,.text-button{background:#0f1b170d;color:var(--text)}.preset-button:hover,.ghost-button:hover,.text-button:hover,.primary-button:hover,.download-link:hover,.image-edit-button:hover,.message-action-button:hover{transform:translateY(-1px)}.text-button,.ghost-button{padding:8px 11px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;background:linear-gradient(135deg,var(--accent) 0%,#1f7a5f 100%);color:#fff;font-weight:700}.primary-button[disabled]{cursor:wait;opacity:.68}.status-badge{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-width:70px;padding:8px 12px;border-radius:999px;background:#0f9d741a;color:var(--accent-strong);font-size:.88rem;font-weight:700}.status-badge[data-state=success]{background:#0f9d7424;color:var(--accent-strong)}.status-badge[data-state=error]{background:#b03d3d1f;color:#a63d3d}.status-badge[data-state=loading]{background:#0f9d7429;color:var(--accent-strong)}.status-badge[data-state=loading]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.48) 50%,transparent 85%);transform:translate(-130%);animation:badge-sweep 1.8s ease-in-out infinite}.message-list{padding:18px 22px;overflow:auto;display:flex;flex-direction:column;gap:16px;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.empty-state{margin:clamp(28px,10vh,96px) auto 24px;padding:28px;max-width:540px;border-radius:28px;background:#ffffffd6;border:1px dashed var(--line-strong);text-align:center}.empty-state h3{margin:0 0 10px;font-size:1.3rem;font-family:var(--font-display)}.empty-state p{margin:0;color:var(--muted);line-height:1.7}.message{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}.message.assistant .avatar{background:linear-gradient(135deg,#0f9d74f2,#0a684df2)}.message.user .avatar{background:linear-gradient(135deg,#141c18f2,#3d4b43e6)}.avatar{width:44px;height:44px;border-radius:16px;box-shadow:inset 0 1px #ffffff2e}.message-body{padding:14px;border-radius:24px;background:#ffffffe6;border:1px solid var(--line)}.message.user .message-body{background:#fafaf8f5}.message-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.message-role{font-size:.95rem}.message-time{color:var(--muted);font-size:.82rem}.message-text{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.75}.generation-loading{margin-top:14px;padding:14px;border-radius:24px;border:1px solid rgba(15,157,116,.14);background:radial-gradient(circle at top left,rgba(15,157,116,.1),transparent 36%),linear-gradient(180deg,#f9fcfafa,#f3f8f5f5)}.generation-loading-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.generation-loading-label,.generation-loading-detail{margin:0}.generation-loading-label{font-size:.96rem;font-weight:700}.generation-loading-detail{margin-top:4px;color:var(--muted);font-size:.84rem;line-height:1.6}.generation-progress{overflow:hidden;width:100%;height:8px;margin-top:12px;border-radius:999px;background:#0f172a14}.generation-progress span{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,#0a84ff,#5856d6);transition:width .35s ease}.generation-loading-elapsed{flex:none;padding:7px 10px;border-radius:999px;background:#0f1b170f;color:var(--muted);font-size:.76rem;font-weight:600;white-space:nowrap}.generation-loading-visual{position:relative;margin-top:14px;width:min(100%,360px);aspect-ratio:1 / 1;border-radius:30px;overflow:hidden;border:1px solid rgba(15,27,23,.06);background:radial-gradient(circle at 28% 22%,rgba(15,157,116,.12),transparent 26%),linear-gradient(180deg,#fffffff5,#f1f6f3f0)}.generation-loading-shimmer,.generation-loading-orb,.generation-loading-grid{position:absolute;top:0;right:0;bottom:0;left:0}.generation-loading-shimmer{background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.86) 50%,transparent 82%);transform:translate(-120%);animation:loading-shimmer 2.4s ease-in-out infinite}.generation-loading-orb{inset:auto;width:58%;height:58%;top:22%;left:21%;border-radius:50%;background:radial-gradient(circle,rgba(15,157,116,.22) 0%,rgba(15,157,116,.06) 42%,transparent 74%);filter:blur(18px);animation:loading-orb 3.2s ease-in-out infinite}.generation-loading-grid{top:14%;right:14%;bottom:14%;left:14%;background-image:radial-gradient(circle,rgba(89,98,92,.32) 0 2.4px,transparent 2.6px);background-size:26px 26px;mask-image:radial-gradient(circle at center,#000 0,#000000e6 26%,#0000 74%);-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,1) 0,rgba(0,0,0,.9) 26%,rgba(0,0,0,0) 74%);animation:loading-grid 4.8s ease-in-out infinite}.generation-loading-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.generation-loading-pill{padding:7px 11px;border-radius:999px;background:#0f1b170d;color:var(--muted);font-size:.76rem;font-weight:600;transition:background .2s ease,color .2s ease,transform .2s ease}.generation-loading-pill.is-done,.generation-loading-pill.is-active{color:var(--accent-strong)}.generation-loading-pill.is-done{background:#0f9d741a}.generation-loading-pill.is-active{background:#0f9d7429;transform:translateY(-1px)}.message-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,240px));justify-content:flex-start;gap:10px;margin-top:14px}.image-card{overflow:hidden;border-radius:18px;background:#fff;border:1px solid var(--line);width:100%;max-width:240px}.image-preview-button{position:relative;width:100%;aspect-ratio:1 / 1;padding:0;border:none;display:block;overflow:hidden;background:linear-gradient(180deg,#0f9d740d,#0f1b170a)}.image-card img{width:100%;height:100%;display:block;object-fit:contain;background:linear-gradient(180deg,#0f9d740a,#0f1b1708)}.image-preview-hint{position:absolute;right:10px;bottom:10px;padding:6px 10px;border-radius:999px;background:#151b17b8;color:#fff;font-size:.78rem;font-weight:600;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}.image-preview-button:hover .image-preview-hint,.image-preview-button:focus-visible .image-preview-hint{opacity:1;transform:translateY(0)}.image-preview-button:focus-visible{outline:3px solid rgba(15,157,116,.22);outline-offset:-3px}.image-card-footer{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 10px 12px}.image-label{color:var(--muted);font-size:.82rem}.image-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.download-link{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:8px 12px;background:#0f9d741f;color:var(--accent-strong);font-weight:700;text-decoration:none}.image-edit-button{border:1px solid rgba(15,157,116,.16);border-radius:14px;padding:8px 12px;background:#0f1b170d;color:var(--text);font-size:.82rem;font-weight:700;transition:transform .2s ease,background .2s ease,opacity .2s ease}.image-edit-button.is-active{background:#0f9d7429;color:var(--accent-strong);border-color:#0f9d743d}.revised-prompt-box{border:1px solid var(--line);border-radius:14px;background:#0f1b1708;overflow:hidden}.revised-prompt-box summary{padding:9px 10px;cursor:pointer;font-size:.78rem;font-weight:700;color:var(--accent-strong);-webkit-user-select:none;user-select:none}.revised-prompt-box[open] summary{border-bottom:1px solid var(--line)}.revised-prompt-box pre{margin:0;padding:10px;color:var(--muted);font-size:.78rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}.message-extra{margin-top:12px;color:var(--muted);font-size:.85rem;line-height:1.7}.message-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.message-actions:empty{display:none}.message-action-button{border:1px solid rgba(15,157,116,.16);border-radius:999px;padding:8px 12px;background:#0f9d7414;color:var(--accent-strong);font-size:.82rem;font-weight:700;transition:transform .2s ease,background .2s ease,opacity .2s ease}.message-action-button[disabled]{cursor:wait;opacity:.6}.composer-panel{padding:14px 22px 20px;border-top:1px solid var(--line);background:#f8f8f5d9;box-shadow:0 -8px 18px #1f2b240a}.composer-toolbar{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(4,minmax(110px,1fr));gap:10px;margin-bottom:14px}.toolbar-field{display:flex;flex-direction:column;gap:8px}.toolbar-field--number input{text-align:center}.edit-mode-bar{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:14px;padding:12px;border-radius:20px;border:1px solid rgba(15,157,116,.14);background:radial-gradient(circle at top left,rgba(15,157,116,.1),transparent 34%),linear-gradient(180deg,#fffffff0,#f3f8f5f5)}.edit-mode-preview{width:70px;aspect-ratio:1 / 1;overflow:hidden;border-radius:16px;border:1px solid var(--line);background:#ffffffeb}.edit-mode-preview img{width:100%;height:100%;display:block;object-fit:cover}.edit-mode-preview img:not([src]),.edit-mode-preview img[src=""]{display:none}.edit-mode-title,.edit-mode-text{margin:0}.edit-mode-title{font-size:.94rem;font-weight:700}.edit-mode-text{margin-top:4px;color:var(--muted);font-size:.84rem;line-height:1.6}.prompt-preview{margin-bottom:14px;border:1px solid var(--line);border-radius:18px;background:#ffffffc7;overflow:hidden}.prompt-preview summary{padding:12px 14px;cursor:pointer;font-weight:700;-webkit-user-select:none;user-select:none}.prompt-preview pre{margin:0;padding:0 14px 14px;white-space:pre-wrap;word-break:break-word;color:var(--muted);line-height:1.75}.composer-form textarea{width:100%;min-height:88px;max-height:200px;overflow:auto;resize:vertical}.composer-actions{margin-top:12px}.doc-card{margin-top:12px;border:1px solid var(--line);border-radius:18px;background:#ffffffd6;overflow:hidden}.doc-card summary{padding:12px 14px;font-size:.9rem;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.doc-card[open] summary{border-bottom:1px solid var(--line)}.api-pre{margin:0;padding:14px;overflow:auto;color:var(--muted);font-size:.82rem;line-height:1.7;background:#0f1b1708}.config-modal,.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px}.config-modal{z-index:45}.config-modal-backdrop,.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0e0c8a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.config-modal-dialog{position:relative;z-index:1;width:min(760px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:18px;border-radius:28px;border:1px solid rgba(255,255,255,.14);background:#f9f8f5f7;box-shadow:0 22px 60px #00000038}.config-group--modal+.config-group--modal{margin-top:14px}.lightbox{display:none}.lightbox.is-open{display:grid}.lightbox-dialog{position:relative;z-index:1;width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 48px);padding:18px;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:#121614f0;box-shadow:0 22px 60px #00000059;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}.lightbox-close{justify-self:end;width:42px;height:42px;border:none;border-radius:999px;background:#ffffff1a;color:#fff;font-size:1.5rem;line-height:1}.lightbox-image-wrap{min-height:0;display:grid;place-items:center}.lightbox-image-wrap img{max-width:100%;max-height:calc(100vh - 190px);display:block;object-fit:contain;border-radius:18px}.lightbox-image-wrap img:not([src]),.lightbox-image-wrap img[src=""]{display:none}.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.lightbox-label{color:#ffffffdb;font-size:.92rem}body.is-lightbox-open{overflow:hidden}.chat-panel,.composer-panel,.composer-form,.message-body,.generation-loading,.prompt-preview,.config-modal-dialog{touch-action:manipulation}.is-loading .message-body{position:relative}.is-loading .message-text:after{content:" ···";animation:dots 1.2s infinite}.primary-button.is-loading:before{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.34);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes dots{0%{content:" ·"}33%{content:" ··"}66%{content:" ···"}to{content:" ·"}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes badge-sweep{to{transform:translate(130%)}}@keyframes loading-shimmer{to{transform:translate(120%)}}@keyframes loading-orb{0%,to{transform:scale(.92);opacity:.65}50%{transform:scale(1.06);opacity:1}}@keyframes loading-grid{0%,to{transform:scale(.97) translateY(0);opacity:.72}50%{transform:scale(1.03) translateY(-4px);opacity:1}}@media(max-width:960px){body{min-height:100vh;min-height:100dvh;height:auto;overflow:auto}.page-shell{height:auto;min-height:100vh;min-height:100dvh}.chat-panel{min-height:80vh}.composer-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.page-shell{padding:8px}.chat-panel{border-radius:20px;min-height:100dvh}.chat-header,.message-list,.composer-panel{padding-left:12px;padding-right:12px}.chat-header{align-items:flex-start;flex-direction:column;gap:12px;padding-top:16px;padding-bottom:14px}.chat-header h2{font-size:1.4rem}.header-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.header-actions>*{min-width:0}.header-actions .ghost-button,.header-actions .text-button,.header-actions .status-badge{width:100%;justify-content:center}.message-list{padding-top:14px;padding-bottom:14px;gap:12px}.empty-state{margin-top:20px;padding:18px 16px;border-radius:20px}.empty-state h3{font-size:1.12rem}.message{grid-template-columns:32px minmax(0,1fr);gap:8px}.avatar{width:32px;height:32px;border-radius:10px}.message-body{padding:12px;border-radius:18px}.message-meta{gap:8px;margin-bottom:6px}.message-role,.message-time,.message-text,.message-extra{font-size:.84rem}.message-images{grid-template-columns:1fr;gap:10px}.image-card{max-width:none}.image-card-actions{grid-template-columns:1fr}.generation-loading{padding:12px;border-radius:18px}.generation-loading-top{flex-direction:column;align-items:stretch}.generation-loading-elapsed{align-self:flex-start}.generation-loading-visual{width:100%;border-radius:20px}.composer-panel{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.edit-mode-bar{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:10px;border-radius:16px}.edit-mode-bar .ghost-button{grid-column:1 / -1;width:100%}.edit-mode-preview{width:56px;border-radius:12px}.edit-mode-text{font-size:.8rem}.composer-toolbar{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.toolbar-field--model{grid-column:1 / -1}.toolbar-field span{font-size:.8rem}.toolbar-field input,.toolbar-field select{min-height:42px;padding:9px 10px;font-size:.84rem}.prompt-preview{margin-bottom:12px;border-radius:16px}.prompt-preview summary{padding:10px 12px;font-size:.88rem}.prompt-preview pre{padding:0 12px 12px;font-size:.82rem;line-height:1.65}.composer-form textarea{min-height:110px;max-height:34vh;padding:12px;border-radius:16px;font-size:.95rem;line-height:1.6}.composer-actions{margin-top:10px;display:grid;grid-template-columns:1fr;gap:10px}.tip-text{font-size:.8rem;text-align:left}.primary-button{width:100%;min-height:46px}.config-modal,.lightbox{padding:8px}.config-modal-dialog,.lightbox-dialog{width:min(100vw - 16px,100%);max-height:calc(100dvh - 16px);padding:12px;border-radius:20px}.config-modal-header{align-items:flex-start;flex-direction:column}.config-modal-header .header-actions{width:100%;grid-template-columns:1fr 1fr}.config-group{padding:12px;border-radius:16px}.field input,.field select,.field textarea{min-height:42px}.lightbox-footer{flex-direction:column;align-items:stretch}}@media(max-width:420px){.header-actions,.composer-toolbar{grid-template-columns:1fr}.toolbar-field--model{grid-column:auto}.config-modal-header .header-actions{grid-template-columns:1fr}.chat-header h2{font-size:1.26rem}}:root{--bg: #f5f7fb;--panel: rgba(255, 255, 255, .72);--panel-strong: rgba(255, 255, 255, .9);--line: rgba(58, 73, 108, .12);--line-strong: rgba(58, 73, 108, .18);--text: #111827;--muted: #6b7280;--accent: #0a84ff;--accent-strong: #0756b3;--shadow: 0 28px 80px rgba(62, 83, 125, .14);--radius-xl: 24px;--radius-lg: 18px;--radius-md: 14px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "PingFang SC", sans-serif}html,body{background:radial-gradient(circle at 12% 10%,rgba(122,162,255,.28),transparent 28%),radial-gradient(circle at 86% 18%,rgba(191,90,242,.18),transparent 24%),radial-gradient(circle at 64% 92%,rgba(48,209,88,.12),transparent 26%),linear-gradient(135deg,#fbfcff,#eef3fb 48%,#f7f4ff);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page-shell{padding:0}.app-layout{display:grid;grid-template-columns:330px minmax(0,1fr);height:100vh;height:100dvh;min-height:0;background:transparent}.app-sidebar{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;overflow:hidden;margin:14px 0 14px 14px;padding:14px;border:1px solid rgba(255,255,255,.62);border-radius:28px;background:#ffffff94;-webkit-backdrop-filter:blur(28px) saturate(1.28);backdrop-filter:blur(28px) saturate(1.28);box-shadow:0 22px 60px #3244691f,inset 0 1px #ffffffd1}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 4px 8px}.brand-mark{position:relative;width:38px;height:38px;border-radius:12px;background:radial-gradient(circle at 26% 20%,rgba(255,255,255,.92),transparent 30%),linear-gradient(145deg,#0a84ff,#5856d6 48%,#bf5af2);box-shadow:0 12px 28px #0a84ff38,inset 0 1px #ffffff61}.brand-mark:after{content:"O";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:1.18rem;font-weight:850;letter-spacing:0}.sidebar-brand h1{margin:3px 0 0;font-size:1.05rem;line-height:1.1;letter-spacing:0}.workspace-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#ffffff94;box-shadow:inset 0 1px #ffffffdb}.workspace-tabs button{min-height:34px;border:none;border-radius:12px;background:transparent;color:#6b7280;font-size:.84rem;font-weight:720;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.workspace-tabs button.is-active{background:#fff;color:#111827;box-shadow:0 8px 20px #0f172a1a}.eyebrow{color:#6b7280;letter-spacing:.05em}.sidebar-section{border:1px solid rgba(255,255,255,.62);border-radius:22px;background:#ffffff8f;box-shadow:0 12px 34px #3e537d14,inset 0 1px #ffffffe6}.config-card{padding:10px;min-width:0;overflow:hidden}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.history-actions{display:inline-flex;align-items:center;gap:6px;min-width:0}.history-actions .text-button{padding:7px 9px;white-space:nowrap}.sidebar-section-header h2{margin:0;font-size:.94rem;letter-spacing:0}.field{gap:5px;margin-bottom:8px}.field span,.toolbar-field span{color:#374151;font-size:.78rem;font-weight:650}.field input,.field select,.field textarea,.composer-form textarea,.toolbar-field input,.toolbar-field select{border:1px solid rgba(15,23,42,.1);min-height:36px;border-radius:11px;background:#ffffffeb;box-shadow:inset 0 1px #ffffffd9}.field input:focus,.field select:focus,.composer-form textarea:focus,.toolbar-field input:focus,.toolbar-field select:focus{border-color:#11182747;box-shadow:0 0 0 4px #11182714}.field-hint{color:#7a828f;font-size:.72rem}.sidebar-debug{margin-top:6px;border-top:1px solid rgba(15,23,42,.07);padding-top:8px;min-width:0;overflow:hidden}.api-key-link{display:flex;align-items:center;justify-content:center;min-height:28px;margin:0 0 6px;padding:5px 10px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#1118270f;color:#111827;font-size:.76rem;font-weight:700;text-decoration:none;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.config-save-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:34px;margin:0 0 6px;border:none;border-radius:12px;background:linear-gradient(135deg,#0a84ff,#5856d6);color:#fff;font-size:.82rem;font-weight:750;box-shadow:0 12px 26px #0a84ff3d;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease}.config-save-button:hover{transform:translateY(-1px);box-shadow:0 15px 30px #0a84ff4d}.config-save-button[disabled]{cursor:wait;opacity:.68;transform:none}.api-key-link:hover{background:#1118271a;box-shadow:0 8px 20px #0f172a14;transform:translateY(-1px)}.sidebar-debug>summary{cursor:pointer;color:#4b5563;font-size:.8rem;font-weight:650;-webkit-user-select:none;user-select:none}.doc-card{margin-top:8px;border-radius:14px;background:#f9fafbf2;min-width:0;overflow:hidden}.doc-card summary{padding:9px 11px;font-size:.78rem}.api-pre{max-height:150px;max-width:100%;padding:10px;font-size:.74rem;overflow:auto;white-space:pre-wrap;word-break:break-word}.history-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;padding:10px;overflow:hidden;align-self:stretch}.history-empty{padding:12px;border-radius:14px;color:#7a828f;background:#ffffff8c;font-size:.82rem;line-height:1.6}.history-list{min-height:0;margin:0;padding:0;overflow:auto;list-style:none}.history-item{display:grid;gap:3px;padding:9px 10px;border:none;border-radius:12px;background:transparent;color:#374151;cursor:pointer;text-align:left;transition:background .18s ease,transform .18s ease}.history-item:hover,.history-item:focus-visible,.history-item.is-active{background:#ffffffd9;outline:none;transform:translateY(-1px)}.history-item.is-active .history-title{color:#111827;font-weight:720}.message.is-history-target .message-body,.video-message.is-history-target{animation:history-target-pulse 1.2s ease}@keyframes history-target-pulse{0%,to{box-shadow:none}35%{box-shadow:0 0 0 4px #0a84ff2e,0 18px 50px #0a84ff29}}.history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:560}.history-time{color:#8a919d;font-size:.72rem}.chat-panel{width:100%;height:calc(100% - 28px);margin:14px 14px 14px 12px;border:1px solid rgba(255,255,255,.72);border-radius:32px;background:#ffffffb3;box-shadow:0 24px 80px #32446921,inset 0 1px #ffffffdb;-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2)}.chat-header{min-height:64px;padding:14px 28px;border-bottom:1px solid rgba(58,73,108,.09);background:#ffffff7a;-webkit-backdrop-filter:blur(20px) saturate(1.35);backdrop-filter:blur(20px) saturate(1.35)}.model-heading{display:inline-flex;align-items:center;gap:10px;min-width:0}.model-label{color:#8a919d;font-size:.78rem;font-weight:650}.model-select{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#f7f7f8f0;color:#111827;font-size:.92rem;font-weight:700;box-shadow:inset 0 1px #ffffffe6;outline:none;max-width:min(360px,42vw)}.header-actions{width:auto;display:flex}.theme-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#f7f7f8e6;box-shadow:inset 0 1px #ffffffe6}.theme-toggle button{min-width:48px;min-height:28px;border:none;border-radius:999px;background:transparent;color:#6b7280;font-size:.78rem;font-weight:650;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.theme-toggle button.is-active{background:#fff;color:#111827;box-shadow:0 4px 14px #0f172a1f}.status-badge{min-width:64px;background:#1118270f;color:#374151}.status-badge[data-state=success]{background:#10b9811f;color:#047857}.status-badge[data-state=error]{background:#ef44441f;color:#b91c1c}.status-badge[data-state=loading]{background:#3b82f61f;color:#1d4ed8}.message-list{width:min(900px,100%);margin:0 auto;padding:30px 28px 24px;gap:22px}.empty-state{max-width:620px;margin-top:clamp(50px,12vh,120px);border:none;background:transparent}.empty-state h3{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:0}.empty-state p{color:#6b7280;font-size:1rem}.message{grid-template-columns:34px minmax(0,1fr);gap:12px}.avatar{width:34px;height:34px;border-radius:999px}.message.assistant .avatar{background:linear-gradient(145deg,#111827,#4b5563)}.message.user .avatar{background:linear-gradient(145deg,#f3f4f6,#d1d5db);border:1px solid rgba(15,23,42,.12)}.message-body{border:none;border-radius:18px;background:transparent;padding:3px 0 0}.message.user .message-body{justify-self:end;max-width:min(680px,100%);padding:12px 15px;border-radius:20px;background:#f4f7ffe6}.message-role{color:#111827;font-size:.88rem}.message-time{color:#9ca3af}.message-text{color:#24292f;line-height:1.78}.message-images{grid-template-columns:repeat(auto-fit,minmax(230px,260px));gap:12px}.image-card{max-width:260px;border-color:#0f172a14;border-radius:18px;box-shadow:0 16px 44px #0f172a14}.image-preview-button{background:#f7f7f8}.download-link,.image-edit-button,.message-action-button,.ghost-button,.text-button{border-radius:12px}.text-button,.ghost-button{background:#1118270d;color:#374151}.primary-button{min-width:92px;border-radius:14px;background:#111827;color:#fff;box-shadow:0 10px 28px #1118272e}.composer-panel{width:min(900px,calc(100% - 56px));margin:0 auto 22px;padding:12px;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:#ffffffb8;box-shadow:0 24px 70px #32446929,inset 0 1px #fffffff2;-webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25)}.composer-toolbar{grid-template-columns:minmax(180px,1.4fr) minmax(120px,.8fr) minmax(90px,.5fr);gap:9px;margin-bottom:10px}.toolbar-field{gap:6px}.toolbar-field select,.toolbar-field input{min-height:38px;padding:8px 10px;border-radius:12px;font-size:.86rem}.edit-mode-bar{border-radius:18px;background:#f9fafbf5}.prompt-preview{display:none}.composer-form{position:relative}.composer-form textarea{min-height:82px;max-height:190px;padding:14px 196px 14px 14px;border:none;border-radius:18px;background:#f7f7f8;resize:none;line-height:1.65}.composer-actions{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;justify-content:flex-end;margin:0}.tip-text{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-chip{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid rgba(10,132,255,.14);border-radius:999px;background:#0a84ff1a;color:#0756b3;font-size:.82rem;font-weight:760;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.upload-chip:hover{background:#0a84ff29;box-shadow:0 10px 24px #0a84ff24;transform:translateY(-1px)}.media-upload-card{display:grid;grid-template-rows:minmax(120px,1fr) auto;gap:10px;min-height:176px;padding:10px;border:1px solid rgba(58,73,108,.1);border-radius:20px;background:#f7f9ffc2}.video-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.media-upload-preview,.media-upload-empty{display:grid;place-items:center;overflow:hidden;border-radius:16px;background:radial-gradient(circle at 30% 20%,rgba(10,132,255,.14),transparent 32%),#ffffffb8}.media-upload-preview img{width:100%;height:100%;display:block;object-fit:contain}.media-upload-empty{color:#8a919d;font-size:.9rem;font-weight:700}.generation-loading{border-color:#3b82f61f;background:#f7f7f8}.generation-loading-pill.is-done,.generation-loading-pill.is-active{color:#1d4ed8}.lightbox-dialog{border-radius:24px;background:#111827eb;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.video-workspace{position:relative;min-height:0;overflow:auto;padding:30px 28px 24px}.video-coming-soon{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:24px;background:#e5e7ebad;-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}.video-coming-soon>div{display:grid;gap:8px;width:min(520px,100%);padding:28px;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:#ffffffa3;box-shadow:0 24px 70px #3244692e,inset 0 1px #ffffffe6;text-align:center}.video-coming-soon p,.video-coming-soon strong,.video-coming-soon span{margin:0}.video-coming-soon p{color:#6b7280;font-size:.9rem;font-weight:760}.video-coming-soon strong{color:#111827;font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:0}.video-coming-soon span{color:#4b5563;line-height:1.7}.video-hero,.video-composer,.video-thread{width:min(900px,100%);margin:0 auto}.video-hero{padding:18px 2px 16px}.video-hero h2{margin:4px 0 8px;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:0}.video-hero p:last-child{max-width:620px;margin:0;color:#6b7280;line-height:1.7}.video-composer{display:grid;gap:14px}.video-thread{display:grid;gap:14px;width:100%;margin:0 auto 14px}.video-empty-state{width:min(900px,100%);margin:0 auto 14px;padding:clamp(32px,8vh,86px) 18px;text-align:center}.video-empty-state h3{margin:0 0 8px;color:#111827;font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:0}.video-empty-state p{margin:0;color:#6b7280;line-height:1.7}.video-message{padding:14px;border:1px solid rgba(58,73,108,.08);border-radius:22px;background:#ffffff94}.video-message.user{width:min(680px,100%);justify-self:end;background:#f4f7ffe6}.video-message-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.video-message-meta strong{color:#111827;font-size:.88rem}.video-message-meta span{color:#9ca3af;font-size:.8rem}.video-message-text{margin:0;color:#24292f;line-height:1.75;white-space:pre-wrap;word-break:break-word}.video-loading-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;margin-top:14px;padding:12px;border-radius:18px;background:#f7f7f8e6}.video-loading-strip{height:48px;border-radius:14px;background:linear-gradient(110deg,#1118270f,#0a84ff2e 48%,#1118270f);background-size:220% 100%;animation:loading-shimmer 1.6s ease-in-out infinite}.video-loading-card strong,.video-loading-card p{margin:0}.video-loading-card p{margin-top:4px;color:#6b7280;font-size:.86rem;line-height:1.6}.video-progress{margin-top:10px}.video-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}.video-result-card{overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#ffffffd6;box-shadow:0 16px 44px #0f172a14}.video-result-card video{display:block;width:100%;aspect-ratio:16 / 9;background:#111827;object-fit:contain}.video-result-footer{display:grid;gap:9px;padding:11px}.video-result-footer span{color:#6b7280;font-size:.82rem}.video-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.video-edit-mode-bar{margin-bottom:12px}.video-source-thumb{width:86px;aspect-ratio:16 / 9;overflow:hidden;border-radius:14px;background:#111827}.video-source-thumb video{width:100%;height:100%;display:block;object-fit:cover}.video-params,.video-dialog{border:1px solid rgba(255,255,255,.7);border-radius:26px;background:#ffffffad;box-shadow:0 24px 70px #3244691f,inset 0 1px #fffffff2;-webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25)}.video-params{padding:14px}.video-dialog--merged{display:grid;gap:12px}.video-dialog--merged .video-params{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.video-inline-params{overflow:hidden;border-radius:18px;background:#f7f7f8db}.video-inline-params summary{padding:10px 12px;cursor:pointer;color:#374151;font-size:.84rem;font-weight:760;-webkit-user-select:none;user-select:none}.video-inline-params[open] summary{border-bottom:1px solid rgba(15,23,42,.06)}.video-inline-params .video-params{padding:12px}.video-param-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.video-wide-field{margin-top:10px}.video-dialog{padding:12px}.video-dialog textarea{width:100%;min-height:132px;max-height:360px;padding:14px;border:none;border-radius:18px;background:#f7f7f8;color:var(--text);resize:vertical;line-height:1.7;outline:none}.video-dialog textarea:focus{box-shadow:0 0 0 4px #11182714}.video-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.video-param-preview{flex:1;min-width:0;border-radius:16px;background:#f7f7f8d9}.video-param-preview summary{padding:10px 12px;cursor:pointer;color:#6b7280;font-size:.82rem;font-weight:700;-webkit-user-select:none;user-select:none}.video-param-preview pre{max-height:220px;margin:0;padding:0 12px 12px;overflow:auto;color:#6b7280;font-size:.78rem;line-height:1.6;white-space:pre-wrap}@media(max-width:1024px){.app-layout{grid-template-columns:300px minmax(0,1fr)}.message-list,.composer-panel{width:min(100% - 32px,820px)}}@media(max-width:820px){body{height:auto;overflow:auto}.app-layout{grid-template-columns:1fr;height:auto;min-height:100dvh}.app-sidebar{grid-template-rows:auto auto auto;border-right:none;border-bottom:1px solid rgba(15,23,42,.08)}.history-panel{max-height:220px}.chat-panel{min-height:80dvh}}@media(max-width:640px){.app-sidebar{padding:12px}.chat-header{align-items:center;flex-direction:row;padding:12px 14px}.model-heading{gap:7px}.model-select{min-height:30px;padding:0 9px;font-size:.82rem;max-width:44vw}.message-list{width:100%;padding:22px 14px 18px}.composer-panel{width:calc(100% - 18px);margin-bottom:max(10px,env(safe-area-inset-bottom));border-radius:20px}.composer-toolbar{grid-template-columns:1fr 1fr}.toolbar-field:first-child{grid-column:1 / -1}.composer-form textarea{min-height:108px;padding-right:14px;padding-bottom:62px}.composer-actions{left:10px}.primary-button{width:100%}.video-workspace{padding:22px 10px 16px}.video-param-grid,.video-upload-grid{grid-template-columns:1fr}.video-actions{align-items:stretch;flex-direction:column}}html[data-theme=dark]{color-scheme:dark;--bg: #111113;--panel: rgba(28, 28, 30, .9);--panel-strong: rgba(36, 36, 38, .96);--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .16);--text: #f5f5f7;--muted: #a1a1aa;--accent: #f5f5f7;--accent-strong: #ffffff}html[data-theme=dark] body{color:#f5f5f7;background:radial-gradient(circle at 20% 12%,rgba(80,80,86,.35),transparent 28%),linear-gradient(180deg,#171719,#0f0f10)}html[data-theme=dark] .app-layout{background:#111113f5}html[data-theme=dark] .generation-progress{background:#ffffff1f}html[data-theme=dark] .app-sidebar{border-right-color:#ffffff14;background:#1c1c1ed6;box-shadow:inset -1px 0 #ffffff0a}html[data-theme=dark] .sidebar-section,html[data-theme=dark] .config-card,html[data-theme=dark] .history-empty,html[data-theme=dark] .workspace-tabs{border-color:#ffffff14;background:#242426b8;box-shadow:inset 0 1px #ffffff0a}html[data-theme=dark] .workspace-tabs button{color:#a1a1aa}html[data-theme=dark] .workspace-tabs button.is-active{background:#3a3a3c;color:#fff;box-shadow:0 8px 22px #00000047}html[data-theme=dark] .brand-mark{background:radial-gradient(circle at 26% 20%,rgba(255,255,255,.24),transparent 30%),linear-gradient(145deg,#0a84ff,#5856d6 46%,#bf5af2);box-shadow:0 12px 28px #00000057,0 0 28px #0a84ff33}html[data-theme=dark] .sidebar-brand h1,html[data-theme=dark] .sidebar-section-header h2,html[data-theme=dark] .message-role,html[data-theme=dark] .model-select,html[data-theme=dark] .message-text,html[data-theme=dark] .field span,html[data-theme=dark] .toolbar-field span{color:#f5f5f7}html[data-theme=dark] .eyebrow,html[data-theme=dark] .model-label,html[data-theme=dark] .field-hint,html[data-theme=dark] .history-time,html[data-theme=dark] .message-time,html[data-theme=dark] .empty-state p,html[data-theme=dark] .message-extra{color:#a1a1aa}html[data-theme=dark] .chat-panel{background:#111113}html[data-theme=dark] .chat-header{border-bottom-color:#ffffff14;background:#111113c7}html[data-theme=dark] .model-select,html[data-theme=dark] .theme-toggle,html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .toolbar-field input,html[data-theme=dark] .toolbar-field select{border-color:#ffffff1a;background:#2c2c2ee0;color:#f5f5f7;box-shadow:inset 0 1px #ffffff0a}html[data-theme=dark] .theme-toggle button{color:#a1a1aa}html[data-theme=dark] .theme-toggle button.is-active{background:#3a3a3c;color:#fff;box-shadow:0 4px 18px #00000047}html[data-theme=dark] .text-button,html[data-theme=dark] .ghost-button,html[data-theme=dark] .api-key-link{background:#ffffff14;color:#f5f5f7}html[data-theme=dark] .config-save-button{background:linear-gradient(135deg,#0a84ff,#bf5af2);box-shadow:0 14px 32px #0a84ff42}html[data-theme=dark] .api-key-link{border-color:#ffffff1a}html[data-theme=dark] .api-key-link:hover{background:#ffffff21;box-shadow:0 8px 24px #00000047}html[data-theme=dark] .status-badge{background:#ffffff14;color:#e5e7eb}html[data-theme=dark] .history-item{color:#e5e7eb}html[data-theme=dark] .history-item:hover{background:#ffffff14}html[data-theme=dark] .empty-state{background:transparent}html[data-theme=dark] .message.user .message-body,html[data-theme=dark] .video-message.user,html[data-theme=dark] .generation-loading,html[data-theme=dark] .composer-form textarea,html[data-theme=dark] .video-dialog textarea,html[data-theme=dark] .video-param-preview,html[data-theme=dark] .video-inline-params,html[data-theme=dark] .video-loading-card,html[data-theme=dark] .media-upload-card,html[data-theme=dark] .media-upload-preview,html[data-theme=dark] .media-upload-empty,html[data-theme=dark] .edit-mode-bar,html[data-theme=dark] .doc-card,html[data-theme=dark] .api-pre,html[data-theme=dark] .image-preview-button{background:#242426eb;color:#f5f5f7}html[data-theme=dark] .composer-panel,html[data-theme=dark] .image-card,html[data-theme=dark] .video-message,html[data-theme=dark] .video-result-card,html[data-theme=dark] .video-params,html[data-theme=dark] .video-dialog{border-color:#ffffff1a;background:#1c1c1ee6;box-shadow:0 20px 60px #00000057,inset 0 1px #ffffff0d}html[data-theme=dark] .video-hero p:last-child,html[data-theme=dark] .video-empty-state p,html[data-theme=dark] .video-result-footer span,html[data-theme=dark] .video-loading-card p,html[data-theme=dark] .video-inline-params summary,html[data-theme=dark] .video-param-preview summary,html[data-theme=dark] .video-param-preview pre{color:#a1a1aa}html[data-theme=dark] .video-message-meta strong,html[data-theme=dark] .video-empty-state h3,html[data-theme=dark] .video-message-text{color:#f5f5f7}html[data-theme=dark] .video-coming-soon{background:#111113b8}html[data-theme=dark] .video-coming-soon>div{border-color:#ffffff1a;background:#242426b8;box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff0f}html[data-theme=dark] .video-coming-soon p,html[data-theme=dark] .video-coming-soon span{color:#a1a1aa}html[data-theme=dark] .video-coming-soon strong{color:#f5f5f7}html[data-theme=dark] .message.user .avatar{background:linear-gradient(145deg,#3a3a3c,#636366);border-color:#ffffff1f}html[data-theme=dark] .message.assistant .avatar,html[data-theme=dark] .primary-button{background:linear-gradient(145deg,#f5f5f7,#a1a1aa);color:#111113}html[data-theme=dark] .image-card img{background:#1c1c1ee6}html[data-theme=dark] .download-link,html[data-theme=dark] .message-action-button,html[data-theme=dark] .image-edit-button,html[data-theme=dark] .upload-chip{border-color:#ffffff1a;background:#ffffff14;color:#f5f5f7}
