:root{--canvas-primary: #4dbcba;--canvas-primary-hover: #399f9d;--canvas-primary-rgb: 77 188 186;--canvas-accent: #1b1f2a;--app-logo-ink: #231815;--ui-bg: #f5f5f5;--ui-surface: #ffffff;--ui-surface-muted: #f9fafb;--ui-surface-hover: color-mix(in srgb, var(--ui-surface-muted) 72%, var(--canvas-primary) 28%);--ui-border: #e0e0e0;--ui-border-strong: #d0d0d0;--ui-text: #1e1a16;--ui-text-muted: #6b7280;--ui-text-subtle: #9ca3af;--ui-shadow: 0 6px 20px rgba(0, 0, 0, .08);--ui-shadow-strong: 0 8px 24px rgba(0, 0, 0, .15);--ui-overlay: rgba(15, 23, 42, .55);--ui-overlay-strong: rgba(0, 0, 0, .6);--ui-error-bg: #fef2f2;--ui-error-border: #fecaca;--ui-error-text: #dc2626;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--ui-text);background-color:var(--ui-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--ui-bg: #0f172a;--ui-surface: #1f2937;--ui-surface-muted: #111827;--ui-surface-hover: color-mix(in srgb, var(--ui-surface-muted) 72%, var(--canvas-primary) 28%);--ui-border: #374151;--ui-border-strong: #4b5563;--ui-text: #f9fafb;--ui-text-muted: #cbd5f5;--ui-text-subtle: #9ca3af;--ui-shadow: 0 6px 20px rgba(0, 0, 0, .35);--ui-shadow-strong: 0 8px 24px rgba(0, 0, 0, .45);--ui-overlay: rgba(2, 6, 23, .7);--ui-overlay-strong: rgba(2, 6, 23, .8);--ui-error-bg: rgba(220, 38, 38, .12);--ui-error-border: rgba(220, 38, 38, .4);--ui-error-text: #fca5a5;--app-logo-ink: var(--ui-text);color-scheme:dark}html,body,#root{height:100%;width:100%}a{font-weight:500;color:var(--canvas-primary);text-decoration:inherit}a:hover{color:var(--canvas-primary-hover)}body{margin:0;min-width:320px;color:var(--ui-text);background-color:var(--ui-bg)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--ui-surface);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--canvas-primary)}@media(prefers-color-scheme:light){:root:not([data-theme]){color:var(--ui-text);background-color:var(--ui-bg)}a:hover{color:var(--canvas-primary-hover)}button{background-color:var(--ui-surface-muted)}}@media(prefers-color-scheme:dark){:root:not([data-theme]){--ui-bg: #0f172a;--ui-surface: #1f2937;--ui-surface-muted: #111827;--ui-surface-hover: #283548;--ui-border: #374151;--ui-border-strong: #4b5563;--ui-text: #f9fafb;--ui-text-muted: #cbd5f5;--ui-text-subtle: #9ca3af;--ui-shadow: 0 6px 20px rgba(0, 0, 0, .35);--ui-shadow-strong: 0 8px 24px rgba(0, 0, 0, .45);--ui-overlay: rgba(2, 6, 23, .7);--ui-overlay-strong: rgba(2, 6, 23, .8);--ui-error-bg: rgba(220, 38, 38, .12);--ui-error-border: rgba(220, 38, 38, .4);--ui-error-text: #fca5a5;--app-logo-ink: var(--ui-text);color-scheme:dark}}.canvas-wrapper{width:100%;height:100%;position:relative}.canvas-wrapper .excalidraw{--vb-excal-btn-bg: var(--ui-surface-muted);--vb-excal-btn-bg-muted: color-mix(in srgb, var(--ui-surface-muted) 84%, var(--ui-border) 16%);--vb-excal-btn-hover-bg: color-mix(in srgb, var(--ui-surface-muted) 72%, var(--canvas-primary) 28%);--vb-excal-btn-active-bg: rgb(var(--canvas-primary-rgb) / .8);--vb-excal-btn-active-hover-bg: var(--canvas-primary-hover);--vb-excal-btn-text: var(--ui-text);--vb-excal-btn-text-muted: var(--ui-text-muted);--vb-excal-btn-active-text: #ffffff;--vb-excal-btn-border: var(--ui-border);--vb-excal-btn-border-strong: rgb(var(--canvas-primary-rgb) / .2);--vb-excal-btn-shadow: 0 0 0 2px rgb(var(--canvas-primary-rgb) / .16);--color-slider-track: var(--canvas-primary);--button-bg: rgb(var(--canvas-primary-rgb) / .12)}.canvas-wrapper .excalidraw .ToolIcon,.canvas-wrapper .excalidraw .dropdown-menu-button,.canvas-wrapper .excalidraw .sidebar button{background:var(--vb-excal-btn-border-strong)}.canvas-wrapper .excalidraw .zoom-button,.canvas-wrapper .excalidraw .undo-redo-buttons button{background-color:var(--vb-excal-btn-bg)!important}.canvas-wrapper .excalidraw .zoom-button:hover,.canvas-wrapper .excalidraw .undo-redo-buttons button:hover{background-color:var(--vb-excal-btn-hover-bg)!important}.canvas-wrapper .excalidraw .ToolIcon:hover,.canvas-wrapper .excalidraw .dropdown-menu-button:hover,.canvas-wrapper .excalidraw .sidebar button:hover,.canvas-wrapper .excalidraw [role=menuitem]:hover{background:var(--vb-excal-btn-hover-bg)}.canvas-wrapper .excalidraw .ToolIcon .ToolIcon__icon{background-color:var(--vb-excal-btn-bg)}.canvas-wrapper .excalidraw .ToolIcon:hover .ToolIcon__icon{background-color:var(--vb-excal-btn-hover-bg)}.canvas-wrapper .excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon,.canvas-wrapper .excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon{background-color:var(--vb-excal-btn-active-bg)}.canvas-wrapper .excalidraw .ToolIcon .ToolIcon_type_radio:focus-visible+.ToolIcon__icon,.canvas-wrapper .excalidraw .ToolIcon .ToolIcon_type_checkbox:focus-visible+.ToolIcon__icon{box-shadow:var(--vb-excal-btn-shadow);outline:none}.canvas-wrapper .excalidraw .buttonList label.active,.canvas-wrapper .excalidraw .buttonList label.active:hover,.canvas-wrapper .excalidraw .buttonList button.active,.canvas-wrapper .excalidraw .buttonList button.active:hover,.canvas-wrapper .excalidraw .buttonList .zIndexButton.active,.canvas-wrapper .excalidraw .buttonList .zIndexButton.active:hover,.canvas-wrapper .excalidraw .buttonList label:hover,.canvas-wrapper .excalidraw .buttonList button:hover,.canvas-wrapper .excalidraw .buttonList .zIndexButton:hover{background-color:var(--vb-excal-btn-active-bg);border-color:var(--canvas-primary)}.canvas-wrapper .excalidraw .zoom-actions .ToolIcon:hover .ToolIcon__icon,.canvas-wrapper .excalidraw .undo-redo-buttons .ToolIcon:hover .ToolIcon__icon{background-color:var(--vb-excal-btn-hover-bg)!important;color:var(--canvas-primary-hover);border-color:var(--vb-excal-btn-border-strong)!important}.canvas-wrapper .excalidraw .dropdown-menu-item:hover{background:var(--vb-excal-btn-hover-bg)!important}.excalidraw .Modal .Island{padding:1rem!important}.excalidraw .Dialog__action-button--danger{background-color:var(--canvas-primary)!important;border-color:var(--canvas-primary)!important}.excalidraw .Dialog__action-button--danger:hover{background-color:var(--canvas-primary-hover)!important;border-color:var(--canvas-primary-hover)!important}[data-theme=dark] .canvas-wrapper .excalidraw{--vb-excal-btn-bg: color-mix(in srgb, var(--ui-surface) 60%, var(--ui-surface-muted) 40%);--vb-excal-btn-bg-muted: color-mix(in srgb, var(--ui-surface-muted) 88%, var(--ui-border) 12%);--vb-excal-btn-hover-bg: color-mix(in srgb, var(--ui-surface) 44%, var(--canvas-primary) 56%);--vb-excal-btn-active-bg: var(--canvas-primary);--vb-excal-btn-active-hover-bg: var(--canvas-primary-hover);--vb-excal-btn-text: var(--ui-text);--vb-excal-btn-text-muted: var(--ui-text-muted);--vb-excal-btn-active-text: #ffffff;--vb-excal-btn-border: var(--ui-border);--vb-excal-btn-border-strong: rgb(var(--canvas-primary-rgb) / .5);--vb-excal-btn-shadow: 0 0 0 2px rgb(var(--canvas-primary-rgb) / .22);--color-slider-track: var(--canvas-primary);--button-bg: rgb(var(--canvas-primary-rgb) / .2)}.canvas-wrapper .sidebar-trigger.default-sidebar-trigger,.canvas-wrapper button[data-testid=search-menu-button],.canvas-wrapper .App-toolbar__extra-tools-dropdown [data-testid=toolbar-embeddable],.App-toolbar__extra-tools-dropdown [data-testid=toolbar-embeddable]{display:none!important}.canvas-wrapper .App-toolbar__extra-tools-dropdown div[style][style*=font-size][style*=font-weight]:not([class]),.App-toolbar__extra-tools-dropdown div[style][style*=font-size][style*=font-weight]:not([class]){display:none!important}.canvas-wrapper .dropdown-menu button[title*=GitHub],.canvas-wrapper .dropdown-menu button[aria-label*=GitHub],.canvas-wrapper .dropdown-menu a[title*=GitHub],.canvas-wrapper .dropdown-menu a[aria-label*=GitHub],.canvas-wrapper .dropdown-menu button[title*=Github],.canvas-wrapper .dropdown-menu button[aria-label*=Github],.canvas-wrapper .dropdown-menu a[title*=Github],.canvas-wrapper .dropdown-menu a[aria-label*=Github],.canvas-wrapper .dropdown-menu button[title*=Follow],.canvas-wrapper .dropdown-menu button[aria-label*=Follow],.canvas-wrapper .dropdown-menu a[title*=Follow],.canvas-wrapper .dropdown-menu a[aria-label*=Follow],.canvas-wrapper .dropdown-menu button[title*="Follow us"],.canvas-wrapper .dropdown-menu button[aria-label*="Follow us"],.canvas-wrapper .dropdown-menu a[title*="Follow us"],.canvas-wrapper .dropdown-menu a[aria-label*="Follow us"],.canvas-wrapper .dropdown-menu button[title*="Excalidraw links"],.canvas-wrapper .dropdown-menu button[aria-label*="Excalidraw links"],.canvas-wrapper .dropdown-menu a[title*="Excalidraw links"],.canvas-wrapper .dropdown-menu a[aria-label*="Excalidraw links"],.canvas-wrapper .dropdown-menu button[title*=Discord],.canvas-wrapper .dropdown-menu button[aria-label*=Discord],.canvas-wrapper .dropdown-menu a[title*=Discord],.canvas-wrapper .dropdown-menu a[aria-label*=Discord],.canvas-wrapper button[title*=GitHub],.canvas-wrapper button[aria-label*=GitHub],.canvas-wrapper a[title*=GitHub],.canvas-wrapper a[aria-label*=GitHub],.canvas-wrapper button[title*=Github],.canvas-wrapper button[aria-label*=Github],.canvas-wrapper a[title*=Github],.canvas-wrapper a[aria-label*=Github],.canvas-wrapper button[title*=Follow],.canvas-wrapper button[aria-label*=Follow],.canvas-wrapper a[title*=Follow],.canvas-wrapper a[aria-label*=Follow],.canvas-wrapper button[title*="Follow us"],.canvas-wrapper button[aria-label*="Follow us"],.canvas-wrapper a[title*="Follow us"],.canvas-wrapper a[aria-label*="Follow us"],.canvas-wrapper button[title*="Excalidraw links"],.canvas-wrapper button[aria-label*="Excalidraw links"],.canvas-wrapper a[title*="Excalidraw links"],.canvas-wrapper a[aria-label*="Excalidraw links"],.canvas-wrapper button[title*=Discord],.canvas-wrapper button[aria-label*=Discord],.canvas-wrapper a[title*=Discord],.canvas-wrapper a[aria-label*=Discord],.canvas-wrapper .dropdown-menu-group-title,.canvas-wrapper .dropdown-menu a[aria-label=X],.canvas-wrapper .dropdown-menu a[title=X],.canvas-wrapper .dropdown-menu a[href*="x.com/excalidraw"],.canvas-wrapper a[aria-label=X],.canvas-wrapper a[title=X],.canvas-wrapper a[href*="x.com/excalidraw"],.canvas-wrapper button[data-testid=help-menu-item],.canvas-wrapper button.help-icon,.canvas-wrapper .dropdown-menu div[style*="height: 1px"][style*=background-color],.canvas-wrapper .context-menu,.canvas-wrapper .excalidraw .context-menu{display:none!important}.vizboard-context-menu{position:fixed;z-index:10001;min-width:160px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;box-shadow:var(--ui-shadow-strong);padding:6px}.vizboard-context-menu-item{width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;color:var(--ui-text);font-size:.875rem;border-radius:6px;cursor:pointer}.vizboard-context-menu-item:hover{background:var(--ui-surface-hover)}.vizboard-context-menu-label{padding:6px 10px 4px;color:var(--ui-text-muted, #6b7280);font-size:.75rem;font-weight:600}.vizboard-context-menu-subitem{padding-left:18px}.vizboard-matting-toast{position:fixed;right:20px;bottom:20px;z-index:10002;max-width:320px;padding:10px 12px;border-radius:8px;border:1px solid #fca5a5;background:#fef2f2;color:#991b1b;font-size:.875rem;box-shadow:0 8px 20px #0f172a1f}.vizboard-storage-toast{position:fixed;right:20px;bottom:72px;z-index:10002;max-width:360px;padding:10px 12px;border-radius:8px;border:1px solid #fbbf24;background:#fffbeb;color:#92400e;font-size:.875rem;box-shadow:0 8px 20px #0f172a1f}.canvas-wrapper button[title*="View mode"],.canvas-wrapper button[aria-label*="View mode"]{display:none!important}.theme-toggle{position:absolute;top:24px;right:24px;z-index:10;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--login-card);border:1px solid var(--login-border);border-radius:12px;cursor:pointer;transition:all .2s ease;padding:0;color:var(--login-text);box-shadow:0 2px 8px #00000014}.theme-toggle:hover{background:var(--ui-surface-hover, #f3f4f6);border-color:var(--login-accent);transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.theme-toggle:active{transform:translateY(0)}.theme-toggle svg{flex-shrink:0}@media(max-width:980px){.theme-toggle{top:20px;right:20px;width:40px;height:40px}.theme-toggle svg{width:18px;height:18px}}[data-theme=dark] .theme-toggle{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .theme-toggle:hover{box-shadow:0 4px 12px #0006}.payment-qr-card{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--ui-border);background:#fff;box-shadow:0 14px 28px #0f172a14}.payment-qr-card img,.payment-qr-placeholder{width:100%;height:100%;display:block}.payment-qr-placeholder{display:grid;place-items:center;color:var(--ui-text-muted);background:var(--ui-surface);font-weight:700}.payment-qr-logo{position:absolute;inset:50% auto auto 50%;width:52px;height:52px;display:grid;place-items:center;padding:8px;border-radius:18px;background:#fff;box-shadow:0 12px 24px #0f172a29,0 0 0 6px #ffffffeb;transform:translate(-50%,-50%)}.payment-qr-logo img{width:100%;height:100%;display:block;object-fit:contain}.membership-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px 18px;background:radial-gradient(circle at top left,rgb(var(--canvas-primary-rgb) / .18),transparent 30%),#0f172a70;color:var(--ui-text)}.membership-shell{width:min(1120px,100%);padding:32px;border-radius:28px;border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:0 24px 60px rgb(var(--canvas-primary-rgb) / .14)}.membership-modal-shell{max-height:min(92vh,920px);overflow:auto}.membership-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.membership-eyebrow{margin:0 0 10px;color:var(--canvas-primary);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.membership-header h1{margin:0 0 12px;font-size:clamp(28px,4vw,42px);line-height:1.1}.membership-caption{max-width:680px;margin:0;color:var(--ui-text-muted);line-height:1.6}.membership-panel{margin-top:24px}.membership-panel-header{margin-bottom:24px}.membership-panel-header h2{margin:0 0 12px;font-size:clamp(22px,3vw,30px);line-height:1.15}.membership-panel-gate .membership-panel-header{display:none}.membership-logout,.membership-submit,.membership-actions button{padding:12px 18px;border:none;border-radius:14px;background:var(--canvas-primary);color:#fff;font-weight:600;cursor:pointer}.membership-logout{background:transparent;color:var(--canvas-primary);border:1px solid var(--canvas-primary)}.membership-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 32px}.membership-meta-card{display:grid;gap:8px;padding:18px;border-radius:18px;background:var(--ui-surface-muted);border:1px solid var(--ui-border)}.membership-meta-card span,.membership-plan-description,.membership-plan-type{color:var(--ui-text-muted)}.membership-meta-card strong{font-size:18px}.membership-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.membership-plan{text-align:left;padding:22px 20px;border-radius:22px;border:1px solid var(--ui-border);background:var(--ui-surface);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.membership-plan.disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.membership-plan.selected{transform:translateY(-4px);border-color:var(--canvas-primary);box-shadow:0 18px 36px rgb(var(--canvas-primary-rgb) / .18)}.membership-plan-name{margin:10px 0 16px;font-size:24px;font-weight:700}.membership-plan-price{font-size:28px;font-weight:700}.membership-plan-credits,.membership-plan-duration{margin-top:10px;font-size:15px}.membership-plan-description{margin-top:14px;line-height:1.5}.membership-plan-note{margin-top:10px;font-size:13px;line-height:1.5;color:#c53030}.membership-context-tab .membership-meta{margin-bottom:24px}.membership-context-tab .membership-meta-card{padding:16px}.membership-context-tab .membership-meta-card strong{font-size:16px}.membership-context-tab .membership-plans{gap:14px}.membership-context-tab .membership-plan{padding:18px 16px;border-radius:18px}.membership-context-tab .membership-plan-type{font-size:12px}.membership-context-tab .membership-plan-name{margin:8px 0 12px;font-size:20px}.membership-context-tab .membership-plan-price{font-size:24px}.membership-context-tab .membership-plan-credits,.membership-context-tab .membership-plan-duration{margin-top:8px;font-size:14px}.membership-context-tab .membership-plan-description{margin-top:12px;font-size:13px;line-height:1.45}.membership-context-tab .membership-plan-note{font-size:12px}.membership-context-tab .membership-purchase-notice{margin-top:16px;padding:12px 14px;font-size:13px}.membership-context-tab .membership-submit{margin-top:18px}.membership-purchase-notice{margin-top:20px;padding:14px 16px;border-radius:16px;border:1px solid var(--ui-border);background:var(--ui-surface-muted);color:var(--ui-text-muted);line-height:1.6}.membership-purchase-notice p{margin:0}.membership-purchase-notice p+p{margin-top:6px}.membership-paytype-group{display:flex;gap:12px;margin-top:18px}.membership-paytype{flex:1;min-height:46px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);font-weight:700;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.membership-paytype.selected{border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .1);box-shadow:0 14px 32px rgb(var(--canvas-primary-rgb) / .14);transform:translateY(-1px)}.membership-paytype-tip,.membership-qr-tip{margin-top:14px;color:var(--ui-text-muted);font-size:.92rem}.membership-error{margin-top:20px;padding:12px 14px;border-radius:14px;background:#ef44441f;color:#c53030}.membership-success{margin-top:20px;padding:12px 14px;border-radius:14px;background:#22c55e24;color:#15803d}.membership-submit{margin-top:24px}.membership-session{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:28px;padding-top:28px;border-top:1px solid var(--ui-border)}.membership-session-info{display:grid;gap:8px}.membership-qr-placeholder{border:1px dashed var(--ui-border)}.membership-qr-placeholder{display:grid;place-items:center;color:var(--ui-text-muted)}.membership-actions{grid-column:1 / -1}@media(max-width:960px){.membership-meta,.membership-plans,.membership-session{grid-template-columns:1fr}}@media(max-width:720px){.membership-shell{padding:24px}.membership-header{flex-direction:column}}@media(max-height:820px){.membership-context-tab .membership-meta{gap:12px;margin-bottom:18px}.membership-context-tab .membership-plans{gap:12px}.membership-context-tab .membership-plan{padding:16px 14px}.membership-context-tab .membership-plan-name{font-size:18px}.membership-context-tab .membership-plan-price{font-size:22px}.membership-context-tab .membership-plan-credits,.membership-context-tab .membership-plan-duration,.membership-context-tab .membership-plan-description{font-size:13px}}.login-page{--login-bg: var(--ui-bg, #ffffff);--login-panel: var(--ui-surface, #ffffff);--login-card: var(--ui-surface, #ffffff);--login-accent: var(--canvas-primary);--login-accent-rgb: var(--canvas-primary-rgb, 77 188 186);--login-accent-soft: color-mix(in srgb, var(--login-accent) 16%, transparent);--login-accent-surface: color-mix(in srgb, var(--login-accent) 12%, var(--ui-surface, #ffffff));--login-logo-ink: var(--app-logo-ink, #231815);--login-text: var(--ui-text, #1e1a16);--login-muted: var(--ui-text-muted, rgba(30, 26, 22, .55));--login-border: var(--ui-border, rgba(30, 26, 22, .08));min-height:100vh;background:var(--login-bg);color:var(--login-text);display:flex;align-items:stretch;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;position:relative}.login-shell{width:100%;display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-page-footer{position:absolute;left:24px;right:24px;bottom:20px;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;padding:0;color:var(--login-muted);font-size:12px;line-height:1.6;text-align:center;pointer-events:none}.login-page-footer-copy{margin:0}.login-page-footer-link{pointer-events:auto;color:var(--login-muted);text-decoration:none;transition:color .2s ease}.login-page-footer-link:hover{color:var(--login-accent)}.login-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:0}.login-mark{width:240px;max-width:42vw;height:auto;display:block;overflow:visible}.login-logo-accent{fill:var(--canvas-primary)}.login-logo-ink{fill:var(--login-logo-ink)}.login-logo{position:absolute;top:32px;left:40px;display:flex;align-items:center;gap:16px;z-index:2}.login-brand-block{display:flex;flex-direction:column;gap:6px}.login-brand-title{margin:0;font-size:24px;font-weight:700}.login-brand-subtitle{margin:4px 0 0;color:var(--login-muted);font-size:14px}.login-card{background:var(--login-card);border:1px solid var(--login-border);padding:32px;border-radius:24px;box-shadow:0 24px 60px #3c2d1c1f;width:min(420px,100%);margin:0 auto}.login-title{margin:0 0 6px;font-size:26px}.login-caption{margin:0 0 24px;color:var(--login-muted);font-size:14px}.login-form{display:grid;gap:16px}.login-field{display:grid;gap:8px;font-size:14px}.login-field-label{display:inline-flex;align-items:center;gap:4px}.login-field-required{color:#ef4444;font-size:15px;line-height:1}.login-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--login-border);background:var(--ui-surface-muted, #fbfaf8);color:var(--login-text);font-size:14px;outline:none}.login-input:focus{border-color:rgb(var(--login-accent-rgb) / .58);box-shadow:0 0 0 2px rgb(var(--login-accent-rgb) / .18)}.login-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-link{background:none;border:none;color:var(--login-muted);cursor:pointer;font-size:13px;padding:0;border-radius:0}.login-link:hover{color:var(--login-accent)}.login-button{width:100%;padding:12px 16px;border-radius:12px;border:none;background:var(--login-accent);color:#1a1a1a;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px rgb(var(--login-accent-rgb) / .24)}.login-secondary{width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--login-border);background:transparent;color:var(--login-text);font-weight:600;cursor:pointer}.login-helper{margin-top:16px;text-align:center;font-size:13px;color:var(--login-muted)}.login-helper button{color:var(--login-accent);background:none;border:none;cursor:pointer;padding:0}.login-error{padding:10px 12px;border-radius:12px;background:#f2505026;color:#ff9b9b;font-size:13px}.login-success{padding:10px 12px;border-radius:12px;background:#e8f7ee;color:#166534;font-size:13px}.login-success-panel{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;padding:18px;border:1px solid rgba(22,101,52,.12);border-radius:18px;background:linear-gradient(180deg,#f2fbf5,#ecfdf3)}.login-success-icon{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#22c55e24;color:#15803d}.login-success-content{display:flex;flex-direction:column;gap:6px}.login-success-content strong{color:#166534;font-size:15px}.login-success-content p{margin:0;color:#3f5a47;font-size:13px;line-height:1.6}.login-summary{display:grid;gap:10px;margin-bottom:20px;padding:14px;border-radius:16px;border:1px solid var(--login-border);background:var(--ui-surface-muted, #fbfaf8)}.login-summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.login-summary-row span{color:var(--login-muted)}.login-summary-row strong{text-align:right;word-break:break-all}.login-code-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.login-code-button{padding:10px 12px;border-radius:12px;border:1px solid var(--login-border);background:var(--ui-surface-muted, #fbfaf8);color:var(--login-text);font-size:13px;cursor:pointer}.login-agreement{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--login-muted);line-height:1.6}.login-agreement-checkbox{margin-top:2px;width:16px;height:16px;accent-color:var(--login-accent);flex-shrink:0}.login-agreement-text{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px}.login-agreement-link{padding:0;border:none;background:none;color:var(--login-accent);font:inherit;cursor:pointer}.login-agreement-link:hover{text-decoration:underline}.login-agreement-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#11182785;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-agreement-modal{width:min(760px,100%);max-height:min(80vh,920px);display:flex;flex-direction:column;border-radius:24px;border:1px solid var(--login-border);background:var(--login-card);box-shadow:0 32px 80px #0f172a3d;overflow:hidden}.login-agreement-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--login-border)}.login-agreement-modal-header h2{margin:0;font-size:20px;color:var(--login-text)}.login-agreement-close{padding:0;font-family:inherit;color:var(--login-muted);font-size:22px;font-weight:400;line-height:1}.login-agreement-close:hover{color:var(--login-text)}.login-agreement-close-glyph{display:inline-block;line-height:1;transform:translateY(-1px)}.login-agreement-close:active{transform:scale(.96)}.login-agreement-modal-body{overflow:auto;padding:0 24px 24px}.login-agreement-content{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13px;line-height:1.8;color:var(--login-text)}.login-visual{display:flex;align-items:center;justify-content:center;padding:0;height:100%}.login-visual-frame{width:100%;height:100%;background:radial-gradient(circle at 18% 18%,rgb(var(--login-accent-rgb) / .12),transparent 24%),radial-gradient(circle at 82% 16%,rgb(var(--login-accent-rgb) / .1),transparent 22%),linear-gradient(180deg,color-mix(in srgb,var(--login-accent) 6%,var(--ui-surface-muted, #f8f6f3)),var(--ui-surface-muted, #f8f6f3));position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:48px 64px;overflow:hidden}.login-visual-frame:before{content:"";position:absolute;top:0;bottom:72px;left:0;width:1px;background:var(--login-border);pointer-events:none}.login-visual-grid{position:absolute;inset:0;width:100%;height:100%;opacity:.04;color:var(--login-text);pointer-events:none}.login-floating-cards{position:absolute;right:238px;top:88px;z-index:1}.login-float-card{position:absolute;background:#fffc;border:1px solid rgba(30,26,22,.1);border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 60px #3c2d1c26}.login-float-sketch{left:-128px;top:-32px;width:128px;height:96px;padding:12px;transform:rotate(-6deg)}.login-float-line{height:8px;border-radius:999px;margin-bottom:8px}.login-float-line-1{width:64px;background:#1e1a1633}.login-float-line-2{width:48px;background:#1e1a161a}.login-float-line-3{width:40px;background:#1e1a1626;margin-bottom:8px}.login-float-boxes{display:flex;gap:4px;margin-top:4px}.login-float-box{width:24px;height:24px;border-radius:6px}.login-float-box-accent{background:rgb(var(--login-accent-rgb) / .3)}.login-float-box-muted{background:#1e1a161a}.login-float-box-small{width:100%;height:24px;background:rgb(var(--login-accent-rgb) / .12);border-radius:6px}.login-float-result{width:192px;height:144px;padding:16px;transform:rotate(3deg);background:linear-gradient(135deg,#fffffff2,#fff9);border-color:rgb(var(--login-accent-rgb) / .24);box-shadow:0 20px 60px rgb(var(--login-accent-rgb) / .12)}.login-float-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.login-float-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:rgb(var(--login-accent-rgb) / .16);border-radius:6px;color:var(--login-accent)}.login-float-label{font-size:12px;font-weight:500;color:#1e1a16cc}.login-float-content{display:flex;flex-direction:column;gap:8px}.login-float-bar{height:12px;border-radius:6px}.login-float-bar-1{width:100%;background:linear-gradient(90deg,rgb(var(--login-accent-rgb) / .42),transparent)}.login-float-bar-2{width:80%;background:#1e1a1626}.login-float-bar-3{width:60%;background:#1e1a161a}.login-float-glow{position:absolute;bottom:-4px;right:-4px;width:32px;height:32px;background:rgb(var(--login-accent-rgb) / .24);border-radius:999px;filter:blur(16px)}.login-float-small{right:-16px;top:80px;width:80px;height:64px;padding:8px;transform:rotate(8deg);background:#ffffff80;border-color:#1e1a160d}.login-visual-content{position:relative;z-index:2;max-width:520px;display:flex;flex-direction:column;gap:24px;flex:1;justify-content:center}.login-reward-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,rgb(var(--login-accent-rgb) / .16),rgb(var(--login-accent-rgb) / .08));border:1.5px solid rgb(var(--login-accent-rgb) / .28);box-shadow:0 8px 24px rgb(var(--login-accent-rgb) / .14);position:relative;overflow:hidden;animation:rewardPulse 3s ease-in-out infinite}.login-reward-banner:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(var(--login-accent-rgb) / .22),rgb(var(--login-accent-rgb) / .3),transparent);animation:rewardShine 3s ease-in-out infinite}.login-reward-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgb(var(--login-accent-rgb) / .28),rgb(var(--login-accent-rgb) / .16));border-radius:10px;color:var(--login-accent);animation:rewardIconBounce 2s ease-in-out infinite}.login-reward-text{flex:1;font-size:15px;font-weight:600;color:var(--login-text);letter-spacing:-.01em}.login-reward-badge{padding:4px 10px;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--login-accent) 92%,white),var(--login-accent));color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;box-shadow:0 2px 8px rgb(var(--login-accent-rgb) / .26);animation:rewardBadgePulse 2s ease-in-out infinite}@keyframes rewardPulse{0%,to{box-shadow:0 8px 24px rgb(var(--login-accent-rgb) / .14)}50%{box-shadow:0 8px 32px rgb(var(--login-accent-rgb) / .22)}}@keyframes rewardShine{0%{left:-100%}50%,to{left:100%}}@keyframes rewardIconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes rewardBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.login-visual-header{margin-bottom:16px}.login-visual-title{margin:0 0 16px;font-size:36px;line-height:1.2;font-weight:700;letter-spacing:-.02em}.login-visual-accent{color:var(--login-accent)}.login-visual-subtitle{margin:0;color:var(--login-muted);font-size:16px;line-height:1.6}.login-visual-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.login-flow-step{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#fff9;border:1px solid var(--login-border);font-size:13px;color:#1e1a16cc}.login-flow-step-accent{background:rgb(var(--login-accent-rgb) / .1);border-color:rgb(var(--login-accent-rgb) / .22);font-weight:500;color:#1e1a16e6}.login-flow-icon{flex-shrink:0;color:var(--login-muted)}.login-flow-step-accent .login-flow-icon{color:var(--login-accent)}.login-flow-arrow{color:#1e1a164d;font-size:16px;flex-shrink:0}.login-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.login-feature-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:14px;background:#fff6;border:1px solid rgba(30,26,22,.05);transition:all .2s ease}.login-feature-card:hover{background:#fff9;border-color:#1e1a161a;transform:translateY(-2px)}.login-feature-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#1e1a160d;border-radius:8px;color:var(--login-muted);transition:all .2s ease}.login-feature-card:hover .login-feature-icon{color:var(--login-accent);background:rgb(var(--login-accent-rgb) / .1)}.login-feature-text{flex:1}.login-feature-title{margin:0 0 2px;font-size:14px;font-weight:600;color:var(--login-text)}.login-feature-desc{margin:0;font-size:12px;color:var(--login-muted)}.login-price-highlight{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:linear-gradient(90deg,rgb(var(--login-accent-rgb) / .1),transparent);border:1px solid rgb(var(--login-accent-rgb) / .2)}.login-price-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgb(var(--login-accent-rgb) / .18);border-radius:8px;color:var(--login-accent)}.login-price-text{flex:1}.login-price-title{margin:0 0 2px;font-size:14px;font-weight:600;color:var(--login-text)}.login-price-desc{margin:0;font-size:12px;color:var(--login-muted)}[data-theme=dark] .login-page{--login-bg: var(--ui-bg, #0f172a);--login-panel: var(--ui-surface, #1f2937);--login-card: var(--ui-surface, #1f2937);--login-text: var(--ui-text, #f9fafb);--login-muted: var(--ui-text-muted, #cbd5f5);--login-border: var(--ui-border, #374151);--login-logo-ink: var(--ui-text, #f9fafb)}[data-theme=dark] .login-visual-frame{background:radial-gradient(circle at 18% 18%,rgb(var(--login-accent-rgb) / .18),transparent 24%),radial-gradient(circle at 82% 16%,rgb(var(--login-accent-rgb) / .14),transparent 22%),linear-gradient(180deg,color-mix(in srgb,var(--login-accent) 8%,var(--ui-bg, #0f172a)),var(--ui-bg, #0f172a))}[data-theme=dark] .login-visual-grid{opacity:.06}[data-theme=dark] .login-float-card{background:#0f172acc;border-color:#ffffff1a}[data-theme=dark] .login-float-result{background:linear-gradient(135deg,#1f2937f2,#1f293799)}[data-theme=dark] .login-float-line-1,[data-theme=dark] .login-float-line-2,[data-theme=dark] .login-float-line-3{background:#fff3}[data-theme=dark] .login-float-box-muted{background:#ffffff1a}[data-theme=dark] .login-float-label{color:#f9fafbcc}[data-theme=dark] .login-float-bar-2,[data-theme=dark] .login-float-bar-3{background:#ffffff26}[data-theme=dark] .login-flow-step{background:#0f172ab3;border-color:#ffffff1a;color:#f9fafbcc}[data-theme=dark] .login-flow-step-accent{background:rgb(var(--login-accent-rgb) / .14);border-color:rgb(var(--login-accent-rgb) / .24);color:#f9fafbe6}[data-theme=dark] .login-flow-arrow{color:#ffffff4d}[data-theme=dark] .login-feature-card{background:#0f172a66;border-color:#ffffff0d}[data-theme=dark] .login-feature-card:hover{background:#0f172a99;border-color:#ffffff1a}[data-theme=dark] .login-feature-icon{background:#ffffff0d}[data-theme=dark] .login-feature-card:hover .login-feature-icon{background:rgb(var(--login-accent-rgb) / .14)}[data-theme=dark] .login-price-highlight{background:linear-gradient(90deg,rgb(var(--login-accent-rgb) / .14),transparent)}[data-theme=dark] .login-reward-banner{background:linear-gradient(135deg,rgb(var(--login-accent-rgb) / .2),rgb(var(--login-accent-rgb) / .12));border-color:rgb(var(--login-accent-rgb) / .34);box-shadow:0 8px 24px rgb(var(--login-accent-rgb) / .2)}[data-theme=dark] .login-reward-banner:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent)}[data-theme=dark] .login-reward-icon{background:linear-gradient(135deg,rgb(var(--login-accent-rgb) / .34),rgb(var(--login-accent-rgb) / .22))}[data-theme=dark] .login-reward-text{color:#f9fafbf2}[data-theme=dark] .login-success{background:#22c55e29;color:#bbf7d0}[data-theme=dark] .login-success-panel{border-color:#22c55e2e;background:linear-gradient(180deg,#14532d80,#15803d33)}[data-theme=dark] .login-success-icon{background:#22c55e2e;color:#86efac}[data-theme=dark] .login-success-content strong{color:#dcfce7}[data-theme=dark] .login-success-content p{color:#bbf7d0}[data-theme=dark] .login-agreement-modal-backdrop{background:#020617b8}@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:40px 24px}.login-logo{left:24px}.login-mark{width:212px;max-width:min(52vw,212px)}.login-page-footer{flex-direction:column;gap:4px;bottom:12px}.login-agreement-modal{max-height:86vh}}@media(max-width:640px){.login-logo{top:24px;left:16px}.login-mark{width:184px;max-width:calc(100vw - 32px)}.login-brand-subtitle{font-size:12px}.login-agreement-modal-backdrop{padding:12px}.login-agreement-modal-header,.login-agreement-modal-body{padding-left:16px;padding-right:16px}}.sidebar{position:fixed;right:0;top:60px;bottom:0;width:320px;background:var(--ui-surface);border-left:1px solid var(--ui-border);box-shadow:-2px 0 8px #00000014;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;z-index:1000}.sidebar.collapsed{transform:translate(100%)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--ui-border);min-height:48px;background:var(--ui-surface)}.sidebar-header-actions{display:flex;align-items:center;gap:8px}.sidebar-title{margin:0;font-size:.875rem;font-weight:600;color:var(--ui-text);letter-spacing:.02em}.sidebar-toggle{appearance:none;background-color:var(--ui-surface-muted);border:none;border-radius:8px;box-shadow:0 0 0 1px var(--ui-border);width:30px;height:30px;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .5s ease-in-out;color:var(--ui-text);font-weight:500;-webkit-user-select:none;user-select:none}.sidebar-toggle:hover{background-color:var(--ui-surface-hover)}.sidebar-toggle:active{transform:scale(.95)}.sidebar-toggle svg{flex-shrink:0;display:block;color:inherit}.sidebar-toggle svg path{stroke:currentColor}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-expand-fab{position:fixed;right:16px;top:80px;appearance:none;background-color:rgb(var(--canvas-primary-rgb) / .2);border:none;border-radius:8px;width:40px;height:40px;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:999;transition:transform .5s ease-in-out;color:var(--ui-text);font-weight:500;-webkit-user-select:none;user-select:none}.app.zen-mode .sidebar,.app.zen-mode .sidebar-expand-fab{transform:translate(100%);opacity:0;pointer-events:none}.sidebar-expand-fab:hover{background-color:var(--ui-surface-hover)}.sidebar-expand-fab:active{transform:scale(.95)}.sidebar-expand-fab svg{flex-shrink:0;display:block;color:inherit}.sidebar-expand-fab svg path{stroke:currentColor}.history-panel{padding:1rem;height:100%;display:flex;flex-direction:column}.history-filters{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.history-type-filters{display:flex;gap:.375rem;align-items:center}.history-type-btn{flex:1;padding:.375rem .5rem;border:1px solid var(--ui-border);border-radius:4px;background:transparent;color:var(--ui-text-muted);font-size:.75rem;cursor:pointer;transition:all .2s;font-weight:400;line-height:1.2}.history-type-btn:hover{background:var(--ui-surface-muted);color:var(--ui-text)}.history-type-btn.active{background:rgb(var(--canvas-primary-rgb) / .12);color:var(--canvas-primary);border-color:var(--canvas-primary);font-weight:500}.history-search-toggle{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-surface);color:var(--ui-text-muted);cursor:pointer;transition:all .2s;flex-shrink:0}.history-search-toggle svg{display:block;flex-shrink:0}.history-search-toggle:hover{background:var(--ui-surface-muted);border-color:var(--canvas-primary);color:var(--canvas-primary)}.history-search-toggle.active{border-color:var(--canvas-primary);color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .1)}.history-search-input-wrapper{width:100%;position:relative;display:flex;align-items:center;animation:expandSearch .2s ease-out}@keyframes expandSearch{0%{opacity:0;transform:scaleX(.95)}to{opacity:1;transform:scaleX(1)}}.history-search-input-wrapper .search-icon{position:absolute;left:.625rem;color:var(--ui-text-muted);pointer-events:none;z-index:1}.history-search-input-wrapper input.history-search{width:100%;padding:.375rem 1.75rem .375rem 2.125rem;border:1px solid var(--ui-border);border-radius:4px;font-size:.75rem;background:var(--ui-surface);color:var(--ui-text)}.history-search-input-wrapper .clear-btn{position:absolute;right:.375rem;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--ui-text-muted);cursor:pointer;border-radius:3px;transition:all .2s;z-index:1}.history-search-input-wrapper .clear-btn:hover{background:var(--ui-surface-muted);color:var(--ui-text)}.history-search{padding:.5rem;border:1px solid var(--ui-border);border-radius:6px;font-size:.875rem;background:var(--ui-surface);color:var(--ui-text)}.history-search:focus{border-color:var(--canvas-primary);outline:2px solid rgb(var(--canvas-primary-rgb) / .2);outline-offset:1px}.history-filters select{padding:.5rem;border:1px solid var(--ui-border);border-radius:6px;font-size:.875rem;background:var(--ui-surface);color:var(--ui-text)}.history-filters select:focus{border-color:var(--canvas-primary);outline:2px solid rgb(var(--canvas-primary-rgb) / .2);outline-offset:1px}.history-list{flex:1;display:flex;flex-direction:column;gap:.75rem}.history-item{padding:.875rem;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);transition:box-shadow .2s;display:flex;flex-direction:column;gap:.75rem}.history-item-running{position:relative;border-color:rgba(var(--canvas-primary-rgb) / .35);box-shadow:0 0 0 1px rgba(var(--canvas-primary-rgb) / .08),0 10px 24px rgba(var(--canvas-primary-rgb) / .08)}.history-item-running:before{content:"";position:absolute;inset:-1px;border-radius:10px;padding:1px;background:conic-gradient(from var(--chat-border-angle),transparent 0deg,transparent 240deg,rgba(var(--canvas-primary-rgb) / .08) 270deg,rgba(var(--canvas-primary-rgb) / .92) 314deg,rgba(var(--canvas-primary-rgb) / .18) 348deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:chat-border-sweep 1.8s linear infinite}.history-item:hover{box-shadow:0 2px 8px #0000001a}.history-item-main{position:relative;display:flex;gap:.75rem;align-items:flex-start;transition:opacity .2s;min-width:0}.history-item-main:active{opacity:.7}.history-thumbnail{width:80px;height:80px;border-radius:6px;overflow:hidden;background:var(--ui-surface-muted);flex-shrink:0;display:flex;align-items:center;justify-content:center}.history-thumbnail img{width:100%;height:100%;object-fit:cover}.history-thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--ui-text-subtle);background:var(--ui-surface-muted)}.history-thumbnail-placeholder svg{opacity:.5}.history-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.history-item-header{display:flex;align-items:center}.history-status{font-size:.75rem;font-weight:600;text-transform:uppercase}.history-insert-btn,.history-detail-btn,.history-copy-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ui-text-muted);border:1px solid var(--ui-border);border-radius:4px;padding:0;cursor:pointer;transition:all .2s;flex-shrink:0}.history-insert-btn:hover,.history-detail-btn:hover,.history-copy-btn:hover{background:var(--ui-surface-muted);border-color:var(--canvas-primary);color:var(--canvas-primary)}.history-insert-btn svg,.history-detail-btn svg,.history-copy-btn svg{flex-shrink:0}.history-prompt{font-size:.875rem;color:var(--ui-text);line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:ellipsis}.history-floating-action{position:absolute;top:0;right:0}.history-owner{font-size:.75rem;color:var(--ui-text-muted);line-height:1.3}.history-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;color:var(--ui-text-muted);padding-top:.5rem;border-top:1px solid var(--ui-border)}.history-meta span:last-child{text-align:right}.history-empty{text-align:center;color:var(--ui-text-muted);padding:2rem}.history-loading-more,.history-all-loaded{text-align:center;color:var(--ui-text-muted);font-size:.75rem;padding:.5rem 0}.video-play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;display:flex;align-items:center;justify-content:center}.history-thumbnail{position:relative}.history-thumbnail-count{position:absolute;right:6px;bottom:6px;min-width:24px;height:20px;padding:0 6px;border-radius:999px;background:#000000b8;color:#fff;font-size:.6875rem;font-weight:600;display:flex;align-items:center;justify-content:center}@media(prefers-reduced-motion:reduce){.history-item-running:before{animation:none}}.template-modal-overlay{position:fixed;inset:0;background:var(--ui-overlay);display:flex;align-items:center;justify-content:center;z-index:10003;padding:20px}.template-modal{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;max-width:680px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--ui-shadow-strong)}.template-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--ui-border)}.template-modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--ui-text)}.template-modal-close{background:none;border:none;font-size:28px;line-height:1;color:var(--ui-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s}.template-modal-close:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.template-modal-content{flex:1;overflow-y:auto;padding:24px}.template-modal-gallery{margin-bottom:24px}.template-modal-gallery-single{max-height:200px;min-height:160px;display:flex;align-items:center;justify-content:center;padding:12px;background:var(--ui-surface-muted);border-radius:8px}.template-modal-gallery-scroll{max-height:200px;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:12px;background:var(--ui-surface-muted);border-radius:8px}.template-modal-gallery-item{flex:0 0 auto;max-height:176px;display:flex;align-items:center;justify-content:center}.template-modal-gallery-single .template-modal-gallery-item{width:100%}.template-modal-gallery-scroll .template-modal-gallery-item{min-width:220px}.template-modal-gallery img{max-width:100%;max-height:176px;object-fit:contain;display:block;border-radius:6px}.template-modal-section{margin-bottom:20px}.template-modal-section:last-child{margin-bottom:0}.template-modal-section h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ui-text)}.template-modal-section p{margin:0;font-size:14px;line-height:1.6;color:var(--ui-text-muted)}.template-modal-prompt{background:var(--ui-surface-muted);border:1px solid var(--ui-border);padding:12px;border-radius:6px;font-size:13px;line-height:1.6;color:var(--ui-text);white-space:pre-wrap;word-break:break-word}.template-modal-subprompt-list{display:flex;flex-direction:column;gap:10px}.template-modal-subprompt-item{padding:12px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-muted)}.template-modal-subprompt-label{margin-bottom:6px;font-size:13px;font-weight:600;color:var(--ui-text)}.template-modal-subprompt-content{font-size:13px;line-height:1.6;color:var(--ui-text-muted);white-space:pre-wrap;word-break:break-word}.template-modal-tags{display:flex;gap:8px;flex-wrap:wrap}.template-modal-tag{display:inline-block;padding:4px 12px;background:var(--ui-surface-muted);border:1px solid var(--ui-border);border-radius:12px;font-size:12px;color:var(--ui-text-muted)}.template-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--ui-border)}.template-modal-footer-left,.template-modal-footer-right{display:flex;align-items:center;gap:12px}.template-modal-button-secondary,.template-modal-button-primary{padding:8px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.template-modal-button-secondary{background:var(--ui-surface-muted);color:var(--ui-text);border:1px solid var(--ui-border)}.template-modal-button-secondary:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong)}.template-modal-button-gallery{background:rgb(var(--canvas-primary-rgb) / .1);color:var(--canvas-primary);border:1px solid var(--canvas-primary)}.template-modal-button-gallery:hover{background:rgb(var(--canvas-primary-rgb) / .16);border-color:var(--canvas-primary-hover);color:var(--canvas-primary-hover)}.template-modal-button-primary{background:var(--canvas-primary);color:#fff}.template-modal-button-primary:hover{background:var(--canvas-primary-hover)}@media(max-width:640px){.template-modal-overlay{padding:12px}.template-modal-content,.template-modal-header,.template-modal-footer{padding-left:16px;padding-right:16px}.template-modal-gallery-scroll .template-modal-gallery-item{min-width:180px}.template-modal-footer{flex-direction:column;align-items:stretch;gap:12px}.template-modal-footer-left,.template-modal-footer-right{width:100%;justify-content:stretch}.template-modal-footer-right{flex-direction:column}.template-modal-button-secondary,.template-modal-button-primary{width:100%}}.category-manage-overlay{position:fixed;inset:0;background:var(--ui-overlay);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px}.category-manage-modal{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--ui-shadow-strong)}.category-manage-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--ui-border)}.category-manage-header h2{margin:0;font-size:18px;font-weight:600;color:var(--ui-text)}.category-manage-close{background:none;border:none;font-size:28px;line-height:1;color:var(--ui-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s}.category-manage-close:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.category-manage-content{flex:1;overflow-y:auto;padding:24px}.category-manage-error{padding:12px;background:var(--ui-error-bg);border:1px solid var(--ui-error-border);border-radius:6px;color:var(--ui-error-text);font-size:13px;margin-bottom:16px}.category-manage-empty{display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--ui-text-muted);font-size:14px}.category-manage-list{display:flex;flex-direction:column;gap:12px}.category-manage-item{padding:16px;background:var(--ui-surface-muted);border:1px solid var(--ui-border);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.category-manage-info{flex:1}.category-manage-info h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--ui-text)}.category-manage-info p{margin:0;font-size:13px;color:var(--ui-text-muted)}.category-manage-edit-form{flex:1;display:flex;flex-direction:column;gap:8px}.category-manage-input{padding:8px 12px;border:1px solid var(--ui-border);border-radius:6px;font-size:14px;background:var(--ui-surface);color:var(--ui-text);outline:none;transition:all .2s}.category-manage-input:focus{border-color:var(--canvas-primary);box-shadow:0 0 0 3px #e27b4c1a}.category-manage-actions{display:flex;gap:8px}.category-manage-btn{padding:6px 12px;border:none;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.category-manage-btn-edit{background:var(--ui-surface);color:var(--ui-text-muted);border:1px solid var(--ui-border)}.category-manage-btn-edit:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong);color:var(--ui-text)}.category-manage-btn-delete{background:var(--ui-error-bg);color:var(--ui-error-text);border:1px solid var(--ui-error-border)}.category-manage-btn-delete:hover{background:var(--ui-error-border)}.category-manage-btn-save{background:var(--canvas-primary);color:#fff}.category-manage-btn-save:hover{background:var(--canvas-primary-hover)}.category-manage-btn-cancel{background:var(--ui-surface);color:var(--ui-text-muted);border:1px solid var(--ui-border)}.category-manage-btn-cancel:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong);color:var(--ui-text)}.category-manage-footer{padding:16px 24px;border-top:1px solid var(--ui-border);margin-top:16px}.category-manage-add-btn{max-width:200px;margin-top:16px;padding:10px;background:var(--canvas-primary);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.category-manage-add-btn:hover{background:var(--canvas-primary-hover)}.prompt-template-modal-overlay{position:fixed;inset:0;background:var(--ui-overlay);display:flex;align-items:center;justify-content:center;z-index:10002;padding:20px}.prompt-template-modal{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;max-width:500px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--ui-shadow-strong);transition:max-width .2s ease}.prompt-template-modal.prompt-template-modal-advanced{max-width:1040px}.prompt-template-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--ui-border)}.prompt-template-modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--ui-text)}.prompt-template-modal-close{background:none;border:none;font-size:28px;line-height:1;color:var(--ui-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s}.prompt-template-modal-close:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.prompt-template-modal-close:disabled{opacity:.5;cursor:not-allowed}.prompt-template-modal-content{flex:1;overflow-y:auto;padding:24px}.prompt-template-modal-layout{display:block}.prompt-template-modal-layout.advanced{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.prompt-template-modal-main-column,.prompt-template-modal-advanced-column{min-width:0}.prompt-template-modal-error{padding:12px;background:var(--ui-error-bg);border:1px solid var(--ui-error-border);border-radius:6px;color:var(--ui-error-text);font-size:13px;margin-bottom:16px}.prompt-template-modal-field{margin-bottom:16px}.prompt-template-modal-field:last-child{margin-bottom:0}.prompt-template-modal-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--ui-text-muted)}.prompt-template-modal-field input,.prompt-template-modal-field textarea,.prompt-template-modal-field select{width:100%;padding:8px 12px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);color:var(--ui-text);font-size:14px;outline:none;transition:all .2s;font-family:inherit;box-sizing:border-box}.prompt-template-modal-field textarea{resize:none}.prompt-template-modal-field input:focus,.prompt-template-modal-field textarea:focus,.prompt-template-modal-field select:focus{border-color:var(--canvas-primary);box-shadow:0 0 0 3px #e27b4c1a}.prompt-template-modal-field input:disabled,.prompt-template-modal-field textarea:disabled,.prompt-template-modal-field select:disabled{background:var(--ui-surface-muted);color:var(--ui-text-subtle);cursor:not-allowed}.prompt-template-modal-description{min-height:56px;height:56px;line-height:1.5}.prompt-template-modal-prompt-editor{min-height:96px;resize:vertical!important}.prompt-template-modal-type-options{display:flex;flex-wrap:wrap;gap:8px}.prompt-template-modal-type-option{border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);color:var(--ui-text-muted);cursor:pointer;transition:all .2s;font-size:13px;font-weight:500;padding:8px 14px}.prompt-template-modal-type-option:hover:not(:disabled){border-color:var(--canvas-primary);color:var(--canvas-primary)}.prompt-template-modal-type-option.active{border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .1);color:var(--canvas-primary);box-shadow:inset 0 0 0 1px rgb(var(--canvas-primary-rgb) / .14)}.prompt-template-modal-type-option:disabled{opacity:.5;cursor:not-allowed}.prompt-template-modal-meta-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}.prompt-template-modal-meta-field,.prompt-template-modal-cover-field{margin-bottom:0}.prompt-template-modal-cover-block{display:flex;justify-content:flex-start;align-items:flex-start}.prompt-template-modal-cover-upload,.prompt-template-modal-cover-preview{position:relative;width:80px;height:80px;border-radius:10px;overflow:hidden;flex:0 0 80px}.prompt-template-modal-cover-upload{display:grid;place-items:center;margin:0;padding:0;appearance:none;border:1px dashed var(--ui-border-strong);background:var(--ui-surface-muted);cursor:pointer;transition:all .2s;text-align:center;box-sizing:border-box}.prompt-template-modal-cover-upload:hover:not(:disabled){border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .08)}.prompt-template-modal-cover-upload:disabled{cursor:not-allowed;opacity:.5}.prompt-template-modal-cover-upload-icon{width:24px;height:24px;font-size:24px;line-height:1;color:var(--ui-text-subtle);display:block;text-align:center}.prompt-template-modal-cover-preview{border:1px solid var(--ui-border);background:var(--ui-surface-muted)}.prompt-template-modal-cover-preview img{width:100%;height:100%;object-fit:cover;display:block}.prompt-template-modal-cover-status{position:absolute;left:6px;right:6px;top:6px;padding:3px 6px;border-radius:999px;font-size:11px;line-height:1.2;text-align:center;color:#fff;background:#0f172ab8;pointer-events:none}.prompt-template-modal-cover-status.uploading{background:#2563ebdb}.prompt-template-modal-cover-status.success{background:#16a34adb}.prompt-template-modal-cover-clear{top:4px;right:4px;width:20px;height:20px;font-size:12px}.prompt-template-modal-advanced-panel{padding:18px;border:1px solid var(--ui-border);border-radius:12px;background:linear-gradient(180deg,var(--ui-surface) 0%,var(--ui-surface-muted) 100%)}.prompt-template-modal-advanced-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.prompt-template-modal-advanced-header h3{margin:0;font-size:16px;font-weight:600;color:var(--ui-text)}.prompt-template-modal-advanced-header p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--ui-text-muted)}.prompt-template-modal-advanced-add-btn,.prompt-template-modal-subprompt-empty-btn,.prompt-template-modal-subprompt-remove-btn{border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text-muted);cursor:pointer;transition:all .2s;font-size:13px;font-weight:500}.prompt-template-modal-advanced-add-btn,.prompt-template-modal-subprompt-empty-btn{padding:8px 12px;white-space:nowrap}.prompt-template-modal-subprompt-remove-btn{padding:6px 10px}.prompt-template-modal-advanced-add-btn:hover:not(:disabled),.prompt-template-modal-subprompt-empty-btn:hover:not(:disabled),.prompt-template-modal-subprompt-remove-btn:hover:not(:disabled){border-color:var(--canvas-primary);color:var(--canvas-primary)}.prompt-template-modal-advanced-add-btn:disabled,.prompt-template-modal-subprompt-empty-btn:disabled,.prompt-template-modal-subprompt-remove-btn:disabled{opacity:.5;cursor:not-allowed}.prompt-template-modal-subprompt-empty{padding:24px 18px;border:1px dashed var(--ui-border);border-radius:10px;text-align:center;background:#0f172a0a}.prompt-template-modal-subprompt-empty p{margin:0 0 12px;font-size:13px;line-height:1.6;color:var(--ui-text-muted)}.prompt-template-modal-subprompt-list{display:flex;flex-direction:column;gap:14px;max-height:calc(90vh - 260px);overflow-y:auto;padding-right:4px}.prompt-template-modal-subprompt-item{padding:14px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);box-shadow:0 1px 2px #0f172a1f}.prompt-template-modal-subprompt-tabs-shell{display:flex;flex-direction:column;gap:14px}.prompt-template-modal-subprompt-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:2px}.prompt-template-modal-subprompt-tab{border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);color:var(--ui-text-muted);cursor:pointer;transition:all .2s;font-size:13px;font-weight:500;padding:8px 14px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prompt-template-modal-subprompt-tab:hover:not(:disabled){border-color:var(--canvas-primary);color:var(--canvas-primary)}.prompt-template-modal-subprompt-tab.active{border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .1);color:var(--canvas-primary);box-shadow:inset 0 0 0 1px rgb(var(--canvas-primary-rgb) / .14)}.prompt-template-modal-subprompt-tab:disabled{opacity:.5;cursor:not-allowed}.prompt-template-modal-subprompt-textarea{min-height:88px;resize:vertical!important}.prompt-template-modal-subprompt-crop-size-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.prompt-template-modal-subprompt-crop-size-sep{color:var(--ui-text-subtle);font-size:14px}.prompt-template-modal-subprompt-image-hint{font-size:11px;font-weight:400;color:var(--ui-text-subtle);margin-left:6px}.prompt-template-modal-subprompt-images{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.prompt-template-modal-subprompt-image-thumb{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--ui-border);background:var(--ui-surface-muted);flex:0 0 64px}.prompt-template-modal-subprompt-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.prompt-template-modal-subprompt-image-thumb.uploading{display:flex;align-items:center;justify-content:center;border-style:dashed;border-color:var(--canvas-primary)}.prompt-template-modal-subprompt-image-thumb.uploading span{font-size:10px;color:var(--canvas-primary)}.prompt-template-modal-subprompt-image-placeholder{width:100%;height:100%;background:var(--ui-surface-muted)}.prompt-template-modal-subprompt-image-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#0f172aa6;color:#fff;border:none;cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.prompt-template-modal-subprompt-image-remove:hover:not(:disabled){background:#dc2626d9}.prompt-template-modal-subprompt-image-remove:disabled{opacity:.4;cursor:not-allowed}.prompt-template-modal-subprompt-image-add{width:64px;height:64px;border-radius:8px;border:1px dashed var(--ui-border-strong);background:var(--ui-surface-muted);color:var(--ui-text-subtle);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 64px;transition:all .2s}.prompt-template-modal-subprompt-image-add:hover:not(:disabled){border-color:var(--canvas-primary);color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .06)}.prompt-template-modal-subprompt-image-add:disabled{opacity:.4;cursor:not-allowed}.prompt-template-modal-subprompt-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.prompt-template-modal-subprompt-item-header span{font-size:13px;font-weight:600;color:var(--ui-text-muted)}.prompt-template-modal-footer{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;padding:16px 24px;border-top:1px solid var(--ui-border)}.prompt-template-modal-footer-actions{display:flex;gap:12px;justify-content:flex-end}.prompt-template-modal-btn{padding:8px 16px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.prompt-template-modal-btn:disabled{opacity:.5;cursor:not-allowed}.prompt-template-modal-btn-secondary{background:var(--ui-surface);color:var(--ui-text-muted);border:1px solid var(--ui-border)}.prompt-template-modal-btn-secondary:hover:not(:disabled){border-color:var(--canvas-primary);color:var(--canvas-primary)}.prompt-template-modal-btn-cancel{background:var(--ui-surface-muted);color:var(--ui-text)}.prompt-template-modal-btn-cancel:hover:not(:disabled){background:var(--ui-surface-hover)}.prompt-template-modal-btn-delete{background:var(--ui-error-bg);color:var(--ui-error-text);border:1px solid var(--ui-error-border)}.prompt-template-modal-btn-delete:hover:not(:disabled){background:var(--ui-error-border)}.prompt-template-modal-btn-save{background:var(--canvas-primary);color:#fff}.prompt-template-modal-btn-save:hover:not(:disabled){background:var(--canvas-primary-hover)}@media(max-width:900px){.prompt-template-modal.prompt-template-modal-advanced{max-width:720px}.prompt-template-modal-layout.advanced{grid-template-columns:1fr}.prompt-template-modal-subprompt-list{max-height:none}}@media(max-width:640px){.prompt-template-modal-overlay{padding:12px}.prompt-template-modal-content,.prompt-template-modal-header,.prompt-template-modal-footer{padding-left:16px;padding-right:16px}.prompt-template-modal-footer{grid-template-columns:1fr}.prompt-template-modal-footer-actions,.prompt-template-modal-btn,.prompt-template-modal-footer-actions .prompt-template-modal-btn{width:100%}.prompt-template-modal-advanced-header{flex-direction:column}.prompt-template-modal-meta-row{grid-template-columns:1fr}}.prompt-optimization-layer{position:fixed;inset:0;z-index:10020;pointer-events:none}.prompt-optimization-dialog{position:fixed;top:0;left:0;background:var(--ui-surface);border-radius:12px;box-shadow:var(--ui-shadow-strong);width:600px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);display:flex;flex-direction:column;pointer-events:auto;overflow:hidden}.prompt-optimization-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--ui-border);cursor:move;-webkit-user-select:none;user-select:none}.prompt-optimization-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--ui-text)}.close-button{background:none;border:none;font-size:1.125rem;line-height:1;color:var(--ui-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s}.close-button:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.prompt-optimization-content{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--ui-text)}.prompt-select-dropdown{position:relative}.prompt-select-trigger{width:100%;min-height:40px;padding:.625rem .875rem;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-background);color:var(--ui-text);font-size:.875rem;font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;transition:border-color .2s,background .2s,color .2s,box-shadow .2s}.prompt-select-trigger:hover:not(:disabled),.prompt-select-dropdown:hover .prompt-select-trigger:not(:disabled){border-color:var(--canvas-primary)}.prompt-select-trigger:focus-visible{outline:none;border-color:var(--canvas-primary);box-shadow:0 0 0 3px rgb(var(--canvas-primary-rgb) / .12)}.prompt-select-trigger:disabled{opacity:.6;cursor:not-allowed}.prompt-select-trigger-label{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-select-trigger-arrow{color:var(--ui-text-subtle);font-size:.75rem;flex-shrink:0}.prompt-select-menu{position:fixed;display:flex;flex-direction:column;gap:.25rem;padding:.375rem;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);box-shadow:var(--ui-shadow-strong);z-index:10030;max-height:min(320px,calc(100vh - 24px));overflow-y:auto}.prompt-select-menu-floating{transform:translateY(0)}.prompt-select-menu-floating.open-upward{transform:translateY(calc(-100% - 8px))}.prompt-select-hover-bridge{position:absolute;left:0;right:0;top:100%;height:.5rem;pointer-events:auto}.prompt-select-option{width:100%;min-height:36px;padding:.625rem .75rem;border:none;border-radius:8px;background:transparent;color:var(--ui-text);font-size:.875rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .2s,color .2s}.prompt-select-option:hover{background:var(--ui-hover)}.prompt-select-option.active{background:color-mix(in srgb,var(--canvas-primary) 14%,var(--ui-surface));color:var(--canvas-primary)}.model-selector-row{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;margin-top:.75rem}.model-selector-row label{margin-bottom:0;font-size:.875rem;font-weight:500;color:var(--ui-text)}.prompt-input-container:hover{border-color:var(--ui-border-strong)}.prompt-input-container:focus-within{border-color:var(--canvas-primary);box-shadow:0 0 0 2px rgb(var(--canvas-primary-rgb) / .15)}.prompt-textarea{width:100%;padding:8px 0;border:none;background:transparent;color:var(--ui-text);font-size:.875rem;line-height:1.5;resize:none;outline:none;min-height:60px;font-family:inherit}.prompt-textarea::placeholder{color:var(--ui-text-subtle)}.prompt-textarea:disabled{opacity:.5;cursor:not-allowed}.prompt-controls{display:flex;align-items:center;gap:8px}.chat-control-button{height:32px;padding:0 10px;display:flex;align-items:center;gap:6px;border:none;border-radius:10px;background:var(--ui-surface-muted);color:var(--ui-text-muted);font-size:.75rem;font-weight:500;white-space:nowrap;cursor:default}.chat-dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:220px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);box-shadow:var(--ui-shadow-strong);z-index:1000;overflow:hidden}.chat-dropdown-item{width:100%;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border:none;background:var(--ui-surface);color:var(--ui-text);font-size:.875rem;text-align:left;cursor:default;transition:background .2s}.chat-dropdown-item:hover{background:var(--ui-surface-muted)}.chat-dropdown-item.active{background:var(--canvas-primary);color:#fff}.chat-dropdown-cost{font-size:.75rem;opacity:.7}.form-group select{width:100%;padding:.625rem 2.5rem .625rem .625rem;border:1px solid var(--ui-border);border-radius:6px;background-color:var(--ui-background);background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;color:var(--ui-text);font-size:.875rem;font-family:inherit;transition:border-color .2s;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.form-group textarea{width:100%;padding:.625rem;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-background);color:var(--ui-text);font-size:.875rem;font-family:inherit;transition:border-color .2s;resize:vertical;min-height:60px}.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--canvas-primary)}.form-group select:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.form-group textarea.thinking-process{background:var(--ui-surface-muted);color:var(--ui-text-muted);font-size:.8125rem;font-style:italic;cursor:default;border-color:var(--ui-border)}.optimization-stats{display:flex;gap:1rem;font-size:.875rem;color:var(--ui-text-subtle)}.optimization-stats span{display:flex;align-items:center;gap:.25rem}.error-message{padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:.875rem;margin-top:1rem}.prompt-optimization-footer{display:flex;gap:.75rem;padding:.5rem 1rem;border-top:1px solid var(--ui-border);justify-content:space-between;align-items:center}.prompt-optimization-resize-handle{position:absolute;right:6px;bottom:6px;width:18px;height:18px;cursor:nwse-resize;border-radius:4px;pointer-events:auto}.prompt-optimization-resize-handle:before{content:"";position:absolute;right:0;bottom:0;width:7px;height:7px;border-right:2px solid color-mix(in srgb,var(--ui-text-subtle) 82%,transparent);border-bottom:2px solid color-mix(in srgb,var(--ui-text-subtle) 82%,transparent);border-bottom-right-radius:8px;opacity:.9}.button-group-right{display:flex;gap:.75rem;align-items:center}.btn-primary,.btn-secondary,.btn-outline-primary{height:36px;padding:0 1rem;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.btn-primary{background:var(--canvas-primary);color:#fff;border:1px solid var(--canvas-primary)}.btn-primary:hover:not(:disabled){background:var(--canvas-primary-hover);border-color:var(--canvas-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline-primary{background:transparent;color:var(--canvas-primary);border:1px solid var(--canvas-primary)}.btn-outline-primary:hover:not(:disabled){background:var(--canvas-primary);color:#fff}.btn-outline-primary:disabled{opacity:.5;cursor:not-allowed}.save-dropdown{position:relative}.save-dropdown-trigger-group{display:flex}.save-dropdown-hover-zone{position:relative;display:flex}.save-dropdown-hover-bridge{position:absolute;left:0;right:0;top:100%;height:.5rem;pointer-events:auto}.save-dropdown-main{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.save-dropdown-main:hover:not(:disabled),.save-dropdown-toggle:hover:not(:disabled){background:color-mix(in srgb,var(--canvas-primary) 10%,transparent);color:var(--canvas-primary)}.save-dropdown-toggle{min-width:38px;padding:0;border-top-left-radius:0;border-bottom-left-radius:0}.save-dropdown-menu{position:fixed;min-width:160px;padding:.375rem;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);box-shadow:var(--ui-shadow-strong);z-index:10030}.save-dropdown-menu-floating{transform:translateY(0)}.save-dropdown-item{width:100%;height:36px;padding:0 .75rem;border:none;border-radius:8px;background:transparent;color:var(--ui-text);font-size:.875rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center}.save-dropdown-item:hover{background:color-mix(in srgb,var(--canvas-primary) 12%,var(--ui-surface));color:var(--canvas-primary)}.btn-secondary{color:var(--ui-text);border:1px solid var(--canvas-primary)}.btn-secondary:hover:not(:disabled){background:var(--ui-border)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.historical-input-image{border:1px solid var(--ui-border);border-radius:8px;overflow:hidden;max-height:200px;display:flex;align-items:center;justify-content:center;background:var(--ui-background)}.historical-input-image img{max-width:100%;max-height:200px;object-fit:contain;display:block}.image-upload-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.image-upload-label-row label{margin-bottom:0}.image-upload-toggle{background:none;border:none;font-size:.75rem;color:var(--ui-text-subtle);cursor:pointer;padding:.125rem .375rem;border-radius:10px;transition:color .2s,background .2s;white-space:nowrap}.image-upload-toggle:hover{color:var(--ui-text);background:var(--ui-hover)}.file-upload-area{display:flex;position:relative;border:2px dashed var(--ui-border);border-radius:12px;padding:.625rem .75rem;align-items:center;gap:.625rem;transition:border-color .2s,background .2s,box-shadow .2s;background:var(--ui-background);min-height:108px;cursor:pointer}.file-upload-area.empty{justify-content:center}.file-upload-area:hover,.file-upload-area.drag-over{border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .04);box-shadow:0 0 0 3px rgb(var(--canvas-primary-rgb) / .08)}.file-upload-hint-row{margin-top:.375rem}.file-upload-hint{font-size:.6875rem;color:var(--ui-text-subtle)}.file-preview-list{display:flex;gap:.625rem;overflow-x:auto;flex:0 1 auto;width:fit-content;max-width:100%;padding-bottom:.125rem;position:relative;z-index:1}.file-preview{display:flex;width:92px;flex:0 0 92px}.file-preview-image-wrap{position:relative;width:92px;height:92px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-background);overflow:hidden}.file-preview-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.file-preview-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:.5rem;background:#0f172a7a;pointer-events:none}.file-preview-overlay.uploading{background:#2563eb33}.file-preview-overlay.success{background:#22c55e2e}.file-preview-overlay.error{background:#ef444442}.file-preview-overlay-text{padding:.25rem .5rem;border-radius:999px;background:#0f172ad1;color:#fff;font-size:.6875rem;line-height:1.2;text-align:center}.file-clear-btn{position:absolute;top:.375rem;right:.375rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#0f172ab8;border:none;color:#fff;cursor:pointer;font-size:.875rem;padding:0;border-radius:999px;transition:color .2s,background .2s}.file-clear-btn:hover:not(:disabled){color:#fff;background:#0f172ae6}.file-clear-btn:disabled{opacity:.4;cursor:not-allowed}.file-upload-spacer{flex:1;min-width:48px;align-self:stretch;display:flex;align-items:center;justify-content:flex-end;border:none;background:transparent;padding:0;cursor:pointer;position:relative;z-index:1}.file-upload-empty-indicator,.file-upload-add-button{width:24px;height:24px;flex:0 0 24px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.file-upload-plus{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.5rem;line-height:1;color:var(--ui-text-subtle)}.file-upload-area:hover .file-upload-plus,.file-upload-spacer:hover .file-upload-plus{color:var(--canvas-primary)}.btn-analyze{padding:.625rem 1.25rem;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background:#8b5cf6;color:#fff;border:1px solid #8b5cf6}.btn-analyze:hover:not(:disabled){background:#7c3aed;border-color:#7c3aed}.btn-analyze:disabled{opacity:.5;cursor:not-allowed}.prompt-save-success-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a3d;z-index:10021}.prompt-save-success-dialog{width:min(420px,calc(100vw - 2rem));padding:1.5rem;border-radius:16px;background:var(--ui-surface);box-shadow:var(--ui-shadow-strong)}.prompt-save-success-title{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:var(--ui-text)}.prompt-save-success-dialog p{margin:0;line-height:1.6;color:var(--ui-text-subtle);word-break:break-word}.prompt-save-success-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.template-gallery-overlay{position:fixed;inset:0;background:var(--ui-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.template-gallery-modal{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;max-width:1200px;width:100%;height:80vh;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--ui-shadow-strong)}.template-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--ui-border);flex-shrink:0}.template-gallery-header h2{margin:0;font-size:18px;font-weight:600;color:var(--ui-text)}.template-gallery-header-actions{display:flex;align-items:center;gap:12px}.template-gallery-manage-btn{min-width:88px;height:36px;padding:0 14px;background:var(--ui-surface-muted);border:1px solid var(--ui-border);border-radius:10px;font-size:13px;color:var(--ui-text-muted);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.template-gallery-manage-btn:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong);color:var(--ui-text)}.template-gallery-close{background:none;border:none;font-size:28px;line-height:1;color:var(--ui-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s}.template-gallery-close:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.template-gallery-categories{display:flex;gap:8px;overflow-x:auto;flex-wrap:wrap;flex:1;min-width:0}.template-gallery-toolbar{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--ui-border);flex-shrink:0}.template-gallery-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0}.template-category-btn{padding:6px 16px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:20px;font-size:13px;color:var(--ui-text-muted);cursor:pointer;transition:all .2s;white-space:nowrap}.template-gallery-create-btn{min-width:88px;height:36px;padding:0 14px;background:var(--canvas-primary);border:1px solid var(--canvas-primary);border-radius:10px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px rgb(var(--canvas-primary-rgb) / .22)}.template-gallery-create-btn:hover{background:var(--canvas-primary-hover);border-color:var(--canvas-primary-hover);box-shadow:0 8px 18px rgb(var(--canvas-primary-rgb) / .28)}.template-category-btn:hover{border-color:var(--canvas-primary);color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .08)}.template-category-btn.active{background:var(--canvas-primary);border-color:var(--canvas-primary);color:#fff}.template-gallery-content{position:relative;flex:1;overflow-y:auto;padding:24px}@keyframes templateGalleryToastIn{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.template-gallery-toast{position:absolute;top:16px;left:0;right:0;margin:0 auto;z-index:3;display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:min(520px,calc(100% - 32px));padding:10px 14px;border:1px solid rgb(34 197 94 / .22);border-radius:999px;background:#f0fdf4f0;color:#166534;font-size:13px;font-weight:500;line-height:1.4;box-shadow:0 8px 20px #1665341f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;animation:templateGalleryToastIn .22s ease-out}.template-gallery-toast:before{content:"";width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px #22c55e24;flex-shrink:0}.template-gallery-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--ui-text-muted);font-size:14px}.template-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}@keyframes templateCardIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.template-card{position:relative;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;animation:templateCardIn .2s ease both;transition:border-color .2s,box-shadow .2s,transform .2s;cursor:pointer}.template-card:hover{border-color:var(--canvas-primary);box-shadow:0 8px 18px rgb(var(--canvas-primary-rgb) / .2);transform:translateY(-2px)}.template-card-highlighted{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e29,0 10px 24px #22c55e1f}.template-card-image{width:100%;aspect-ratio:16 / 9;background:var(--ui-surface-muted);overflow:hidden}.template-card-image img{width:100%;height:100%;object-fit:cover}.template-card-content{padding:16px;flex:1}.template-card-title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.template-card-title{margin:0;font-size:16px;font-weight:600;color:var(--ui-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.template-card-suite-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.02em;white-space:nowrap}.template-card-suite-badge-flow{background:#14b8a61f;border-color:#0d948833;color:#0f766e}.template-card-suite-badge-multi{background:#f59e0b1f;border-color:#d9770633;color:#b45309}.template-card-description{font-size:13px;line-height:1.5;color:var(--ui-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}.template-card-content{padding:16px 16px 0;flex:1}.template-card-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 16px;gap:8px}.template-card-tags{display:flex;gap:6px;flex-wrap:wrap;flex:1}.template-card-tag{display:inline-block;padding:3px 10px;background:var(--ui-surface-muted);border:1px solid var(--ui-border);border-radius:10px;font-size:11px;color:var(--ui-text-muted)}.template-card-actions{display:flex;gap:8px;flex-shrink:0}.template-card-use-button{padding:8px 16px;background:var(--canvas-primary);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px rgb(var(--canvas-primary-rgb) / .25);display:inline-flex;align-items:center;justify-content:center;line-height:1}.template-card-use-button:hover{background:var(--canvas-primary-hover);box-shadow:0 6px 12px rgb(var(--canvas-primary-rgb) / .32);transform:translateY(-1px)}.template-card-use-button:active{transform:translateY(0)}.template-card-edit-button{padding:8px 16px;background:var(--ui-surface);color:var(--ui-text-muted);border:1px solid var(--ui-border);border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;line-height:1}.template-card-edit-button:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong);color:var(--ui-text);transform:translateY(-1px)}.template-card-edit-button:active{transform:translateY(0)}@media(max-width:960px){.template-gallery-toolbar{align-items:flex-start;flex-direction:column}.template-gallery-toolbar-actions{width:100%}}@media(max-width:640px){.template-gallery-toast{top:12px;left:12px;right:12px;transform:none;justify-content:center;max-width:none;font-size:13px;border-radius:14px}}.chat-dialog-wrapper{position:fixed;z-index:100;transition:all .15s ease}.app.zen-mode .chat-dialog-wrapper{transform:translateY(16px);opacity:0;pointer-events:none}.chat-dialog-wrapper.centered{top:50%;left:50%;transform:translate(-50%,-50%)}.chat-dialog-wrapper.bottom-center{bottom:2rem;left:50%;transform:translate(-50%)}.chat-dialog-wrapper.collapsed{top:auto;bottom:1rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center}.chat-templates-capsules{width:700px;max-width:calc(100vw - 2rem);display:flex;align-items:center;gap:8px;padding:0}.templates-capsules-scroll{flex:1;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.templates-capsules-scroll::-webkit-scrollbar{display:none}.template-capsule,.templates-all-button{flex-shrink:0;padding:4px 12px;border-radius:12px;background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text);font-size:.8125rem;white-space:nowrap;cursor:pointer;transition:all .15s ease}.template-capsule:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong)}.template-capsule:active{transform:translateY(0)}.templates-all-button{background:rgb(var(--canvas-primary-rgb) / .1);border-color:var(--canvas-primary);color:var(--canvas-primary)}.templates-all-button:hover{color:#fff;background:var(--canvas-primary);border-color:var(--canvas-primary)}.chat-dialog-container{width:920px;max-width:calc(100vw - 4rem)}.chat-dialog-wrapper.expanded .chat-templates-capsules{width:100%;max-width:100%;margin-bottom:12px}.chat-collapsed-bar{width:700px;max-width:calc(100vw - 2rem);min-height:45px;height:45px;padding:0 12px;border-radius:12px;background:var(--ui-surface);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:text}.chat-collapsed-placeholder{color:var(--ui-text-subtle);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.chat-collapsed-send{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-input-bar{border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);padding:12px;box-shadow:var(--ui-shadow-strong);transition:border-color .2s;position:relative;display:flex;flex-direction:column;gap:10px}.chat-input-bar>*{position:relative;z-index:1}.chat-dialog-wrapper.generating .chat-input-bar:before{content:"";position:absolute;inset:-2px;padding:2px;border-radius:14px;background:conic-gradient(from var(--chat-border-angle),transparent 0deg,var(--canvas-primary) 90deg,var(--canvas-primary-hover) 140deg,transparent 220deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:chat-border-sweep 1.8s linear infinite;pointer-events:none}@property --chat-border-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes chat-border-sweep{to{--chat-border-angle: 360deg}}@media(prefers-reduced-motion:reduce){.chat-dialog-wrapper.generating .chat-input-bar:before{animation:none}}.chat-input-bar:hover{border-color:var(--ui-border-strong)}.chat-input-bar:focus-within{border-color:var(--canvas-primary);box-shadow:0 0 0 2px rgb(var(--canvas-primary-rgb) / .15)}.chat-input-row{width:100%;position:relative}.chat-controls-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-controls-left,.chat-controls-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-dropdown{position:relative}.chat-size-control{display:inline-flex;align-items:center;gap:8px}.chat-size-control.disabled{pointer-events:none}.chat-size-custom-panel{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 10px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-muted)}.chat-size-custom-field{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ui-text-muted)}.chat-size-custom-field span{white-space:nowrap}.chat-size-custom-field input{width:68px;height:24px;padding:0 8px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);color:var(--ui-text);font-size:.75rem;outline:none}.chat-size-custom-field input:focus{border-color:var(--canvas-primary)}.chat-size-custom-separator{color:var(--ui-text-subtle);font-size:.75rem}.chat-size-mode-toggle{flex-shrink:0}.chat-dropdown>.chat-control-button{position:relative}.chat-dropdown.disabled{pointer-events:none}.chat-dropdown>.chat-control-button:after{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.chat-control-button{height:32px;padding:0 10px;display:flex;align-items:center;gap:6px;border:none;border-radius:8px;background:var(--ui-surface-muted);color:var(--ui-text-muted);font-size:.75rem;font-weight:500;white-space:nowrap;cursor:pointer}.chat-control-button:hover:not(:disabled){background:var(--ui-surface-hover);color:var(--ui-text)}.chat-control-button.active{background:var(--canvas-primary);color:#fff}.chat-control-button.active:hover:not(:disabled){background:var(--canvas-primary-hover)}.chat-control-button:disabled{opacity:.5;cursor:not-allowed}.chat-control-button svg{flex-shrink:0}.chat-dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:220px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);box-shadow:var(--ui-shadow-strong);z-index:1000;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,visibility .15s;pointer-events:none}.chat-dropdown:hover .chat-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.chat-dropdown--model .chat-dropdown-menu{min-width:100%;width:max-content;max-width:min(420px,calc(100vw - 2rem))}.chat-controls-left.disabled .chat-dropdown{pointer-events:none}.chat-dropdown-item{width:100%;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border:none;background:var(--ui-surface);color:var(--ui-text);font-size:.875rem;text-align:left;gap:12px;cursor:default;transition:background .2s}.chat-dropdown-item:hover{background:var(--ui-surface-muted);color:var(--canvas-primary)}.chat-dropdown-item.active,.chat-dropdown-item.active:hover{background:var(--canvas-primary);color:#fff}.chat-dropdown-cost{font-size:.75rem;opacity:.7;flex-shrink:0}.chat-editable{width:100%;min-height:38px;max-height:120px;overflow-y:auto;font-size:.875rem;line-height:1.5;color:var(--ui-text);font-family:inherit;outline:none;word-break:break-word;white-space:pre-wrap;display:block;vertical-align:baseline}.chat-editable:empty:before{content:attr(data-placeholder);color:var(--ui-text-subtle);pointer-events:none}.chat-editable.disabled{opacity:.5;pointer-events:none}.chat-send-button{padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:var(--canvas-primary);color:#fff;cursor:pointer;flex-shrink:0;transition:background .2s}.chat-send-button:hover:not(:disabled){background:var(--canvas-primary-hover)}.chat-send-button:disabled{background:var(--ui-border);cursor:not-allowed}.chat-send-button svg{flex-shrink:0}.chat-pin-button{padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-muted);cursor:pointer;flex-shrink:0}.chat-pin-button:hover{background:var(--ui-surface-hover)}.chat-pin-button.active{border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .12);color:var(--canvas-primary-hover)}.chat-optimize-button{padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-muted);color:var(--ui-text-muted);cursor:pointer;flex-shrink:0;transition:all .2s}.chat-optimize-button:hover:not(:disabled){background:var(--canvas-primary);border-color:var(--canvas-primary);color:#fff}.chat-optimize-button.active{border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .12);color:var(--canvas-primary-hover);animation:optimize-glow 2s ease-in-out infinite}.chat-optimize-button.active:hover:not(:disabled){background:var(--canvas-primary);border-color:var(--canvas-primary);color:#fff;animation:none}.chat-optimize-button:disabled{opacity:.5;cursor:not-allowed}.chat-optimize-button svg{flex-shrink:0}.chat-footer{margin-top:8px;display:flex;flex-direction:column;gap:8px;align-items:center}.chat-reference-info{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-text-muted);font-size:.75rem;font-weight:500;cursor:default;white-space:nowrap}.chat-reference-info svg{flex-shrink:0}.chat-error-message{padding:10px 12px;background:var(--ui-error-bg);border:1px solid var(--ui-error-border);border-radius:8px;color:var(--ui-error-text);font-size:.8125rem}.chat-progress-container{display:flex;align-items:center;gap:12px}.chat-progress-bar{flex:1;height:6px;background:var(--ui-border);border-radius:3px;overflow:hidden}.chat-progress-fill{height:100%;background:linear-gradient(90deg,var(--canvas-primary),var(--canvas-primary-hover));transition:width .3s ease}.chat-progress-text{font-size:.75rem;color:var(--ui-text-muted);white-space:nowrap}.chat-hint{font-size:.75rem;color:var(--ui-text-subtle);text-align:center}@media(max-width:768px){.chat-dialog-container{width:calc(100vw - 2rem)}.chat-controls-row{flex-direction:column;align-items:stretch}.chat-controls-left{width:100%;justify-content:flex-start;flex-wrap:wrap}.chat-send-button{width:100%}}.chat-reference-badge{display:inline-flex;align-items:center;margin-left:6px;padding:2px 6px;background:#2eaadc26;border-radius:4px;font-size:11px;font-weight:600;color:#2eaadc}.chat-reference-action{margin-left:8px;padding:2px 8px;border:1px solid var(--canvas-primary);border-radius:4px;background:transparent;color:var(--canvas-primary);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.chat-reference-action:hover{background:var(--canvas-primary);color:#fff}.chat-reference-clear{margin-left:6px;padding:0 6px;border:none;border-radius:4px;background:transparent;color:var(--ui-text-muted);font-size:16px;font-weight:600;line-height:1;cursor:pointer;transition:all .15s ease}.chat-reference-clear:hover{background:#ff3b301a;color:#ff3b30}@keyframes optimize-glow{0%,to{box-shadow:0 0 8px rgb(var(--canvas-primary-rgb) / .3)}50%{box-shadow:0 0 16px rgb(var(--canvas-primary-rgb) / .6)}}@media(prefers-reduced-motion:reduce){.chat-optimize-button.active{animation:none}}.generation-type-segmented{display:inline-flex;height:28px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;padding:2px;gap:2px}.generation-type-option{display:inline-flex;align-items:center;justify-content:center;width:28px;height:100%;padding:0;border:none;border-radius:6px;background:transparent;color:var(--ui-text-muted);cursor:pointer;transition:all .15s ease}.generation-type-option:hover:not(:disabled):not(.active){background:rgba(var(--canvas-primary-rgb),.1);color:var(--canvas-primary)}.generation-type-option.active{background:var(--canvas-primary);color:#fff;box-shadow:0 1px 3px #0000001a}.generation-type-option:disabled{opacity:.5;cursor:not-allowed}.generation-type-option svg{flex-shrink:0}.chat-inline-badge{display:inline-flex;align-items:center;gap:2px;padding:0 4px 0 7px;border:1px solid transparent;border-radius:10px;font-size:.875rem;white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:baseline;line-height:inherit;margin-right:2px;cursor:default}.chat-inline-badge--prompt{background:#6366f11f;border-color:#6366f14d;color:var(--canvas-primary)}.chat-inline-badge--workflow{background:#16a34a1f;border-color:#16a34a47;color:#15803d}.chat-inline-badge-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0 1px;font-size:13px;line-height:1;opacity:.6;margin-left:1px}.chat-inline-badge-remove--prompt{color:var(--canvas-primary)}.chat-inline-badge-remove--workflow{color:#15803d}.chat-inline-badge-remove:hover{opacity:1}.at-mention-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--ui-surface, #fff);border:1px solid var(--ui-border);border-radius:10px;box-shadow:0 4px 16px #0000001f;max-height:220px;overflow-y:auto;z-index:200;padding:4px}.at-mention-item{display:flex;align-items:center;gap:4px;width:100%;padding:8px 12px;background:none;border:none;border-radius:6px;font-size:.875rem;color:var(--ui-text);cursor:pointer;text-align:left}.at-mention-item:hover,.at-mention-item.active{background:var(--ui-surface-muted, rgba(0,0,0,.06))}.at-mention-item-at{color:var(--canvas-primary);font-weight:600}.at-mention-item--workflow .at-mention-item-at{color:#15803d}.at-mention-item-label{min-width:0}.at-mention-item-label--workflow{color:#15803d;font-weight:600}.txt2img-confirm-overlay{position:fixed;inset:0;z-index:9999;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.txt2img-confirm-dialog{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:28px 28px 20px;width:340px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;align-items:center;gap:12px}.txt2img-confirm-icon{color:#f59e0b;opacity:.9}.txt2img-confirm-title{margin:0;font-size:1rem;font-weight:600;color:#111827;text-align:center}.txt2img-confirm-desc{margin:0;font-size:.85rem;color:#6b7280;text-align:center;line-height:1.6}.txt2img-confirm-desc strong{color:#111827}.txt2img-confirm-actions{display:flex;gap:10px;width:100%;margin-top:4px}.txt2img-confirm-btn{flex:1;padding:9px 0;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s}.txt2img-confirm-btn:hover{opacity:.85}.txt2img-confirm-btn:active{transform:scale(.97)}.txt2img-confirm-btn.cancel{background:#f3f4f6;color:#374151}.txt2img-confirm-btn.ok{background:var(--canvas-primary);color:#fff}.txt2img-confirm-suppress{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#9ca3af;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:2px}.txt2img-confirm-suppress input[type=checkbox]{width:14px;height:14px;accent-color:var(--canvas-primary);cursor:pointer}.account-menu{position:relative;z-index:9999}.account-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);cursor:pointer;transition:background .2s}.account-button:hover{background:var(--ui-surface-muted)}.account-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--canvas-primary);flex-shrink:0}.account-button-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.account-button-text strong{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-text);font-size:.875rem;font-weight:600}.account-caret{font-size:.625rem;color:var(--ui-text-muted)}.account-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:260px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;box-shadow:var(--ui-shadow);overflow:hidden}.account-dropdown-header{padding:1rem}.account-dropdown-name-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.account-dropdown-name{font-size:.95rem;font-weight:700;color:var(--ui-text)}.account-dropdown-balance{flex-shrink:0;padding:.25rem .6rem;border-radius:999px;background:rgb(var(--canvas-primary-rgb) / .12);color:var(--canvas-primary);font-size:.75rem;font-weight:700}.account-dropdown-email{margin-top:.25rem;color:var(--ui-text-muted);font-size:.8rem;word-break:break-all}.account-dropdown-meta{margin-top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.75rem;color:var(--ui-text-muted)}.account-dropdown-expiry{border:none;padding:0;background:transparent;flex-shrink:0;color:var(--ui-text);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.account-dropdown-expiry:hover{color:var(--canvas-primary)}.account-divider{height:1px;background:var(--ui-border)}.account-menu-item{width:100%;border:none;padding:.85rem 1rem;background:var(--ui-surface);color:var(--ui-text);text-align:left;cursor:pointer;font-size:.875rem}.account-menu-item:hover{background:var(--ui-surface-muted)}.account-menu-item.danger{color:var(--canvas-primary)}.account-menu-item.danger:hover{background:rgb(var(--canvas-primary-rgb) / .1);color:var(--canvas-primary-hover)}.recharge-overlay{position:fixed;inset:0;background:var(--ui-overlay);display:flex;align-items:center;justify-content:center;z-index:1100}.recharge-modal{width:min(720px,92vw);background:var(--ui-surface);border-radius:16px;box-shadow:0 20px 60px rgb(var(--canvas-primary-rgb) / .25);overflow:hidden}.recharge-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--ui-border)}.recharge-header h3{margin:0;font-size:1.1rem}.recharge-close{width:32px;height:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--canvas-primary);border-radius:8px;background:var(--ui-surface);color:var(--canvas-primary);padding:0;line-height:1;cursor:pointer}.recharge-close svg{display:block}.recharge-close:hover{background:rgb(var(--canvas-primary-rgb) / .12)}.recharge-content{padding:1.5rem}.recharge-content.is-embedded{padding:0}.recharge-embedded{width:100%}.recharge-packages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.recharge-package{position:relative;border:1px solid var(--ui-border);border-radius:12px;padding:.85rem .75rem .75rem;text-align:center;background:var(--ui-surface-muted);cursor:pointer;transition:border .2s,box-shadow .2s,transform .2s}.recharge-package:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.recharge-package.selected{border-color:var(--canvas-primary);box-shadow:0 10px 20px rgb(var(--canvas-primary-rgb) / .25);transform:translateY(-2px);background:rgb(var(--canvas-primary-rgb) / .08)}.recharge-package-credits{color:var(--ui-text-muted);margin-top:.35rem}.recharge-package-price{font-size:1.25rem;font-weight:600}.recharge-package-bonus{position:absolute;top:-.5rem;right:-.5rem;transform:rotate(15deg);padding:.12rem .4rem;border-radius:999px;background:#fef3c7;color:#b45309;font-size:.75rem;font-weight:600;border:1px solid #fde68a;pointer-events:none}.recharge-tip{margin-bottom:.75rem;color:var(--ui-text-muted);font-size:.9rem}.recharge-paytype-group{display:flex;gap:.75rem;margin-bottom:.9rem}.recharge-paytype{flex:1;min-height:44px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-muted);color:var(--ui-text);font-weight:600;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.recharge-paytype.selected{border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .1);box-shadow:0 10px 24px rgb(var(--canvas-primary-rgb) / .14)}.recharge-submit{width:50%;margin:0 auto;padding:.75rem 1rem;border-radius:10px;border:none;background:var(--canvas-primary);color:#fff;font-weight:600;cursor:pointer;display:block}.recharge-submit:hover:not(:disabled){background:var(--canvas-primary-hover)}.recharge-submit:disabled{background:#d1d5db;color:#6b7280;opacity:1;cursor:not-allowed}.recharge-error{margin-top:.5rem;color:var(--ui-error-text);font-size:.9rem}.recharge-success{margin-bottom:.75rem;padding:12px 14px;border-radius:14px;background:#22c55e24;color:#15803d}.recharge-session-info{display:grid;gap:.35rem;margin-bottom:1rem;color:var(--ui-text)}.recharge-session{margin-top:.5rem;padding-top:0}.recharge-expire{color:var(--ui-text-muted);font-size:.9rem}.recharge-qr{display:flex;align-items:center;justify-content:center;padding:1rem 0}.recharge-qr-placeholder{border:1px dashed var(--ui-border)}.recharge-qr-tip{margin:-.1rem 0 .85rem;text-align:center;color:var(--ui-text-muted);font-size:.9rem}.recharge-status{text-align:center;font-weight:600;margin-bottom:.75rem}.recharge-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem}.recharge-cancel,.recharge-secondary{padding:.6rem 1rem;border-radius:8px;border:1px solid var(--canvas-primary);background:var(--ui-surface);color:var(--canvas-primary);cursor:pointer}.recharge-cancel{background:rgb(var(--canvas-primary-rgb) / .08)}.recharge-cancel:hover,.recharge-secondary:hover{background:rgb(var(--canvas-primary-rgb) / .15)}@media(max-width:900px){.recharge-packages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.recharge-content{padding:1rem}.recharge-packages{grid-template-columns:repeat(2,minmax(0,1fr))}.recharge-actions{flex-direction:column}}.credit-history-overlay{position:fixed;inset:0;background:var(--ui-overlay);display:flex;align-items:center;justify-content:center;z-index:1100}.credit-history-modal{width:min(640px,92vw);background:var(--ui-surface);border-radius:16px;box-shadow:0 20px 60px #0f172a40;overflow:hidden}.credit-history-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--ui-border)}.credit-history-header h3{margin:0;font-size:1.1rem}.credit-history-close{width:32px;height:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--canvas-primary);border-radius:8px;background:var(--ui-surface);color:var(--canvas-primary);padding:0;line-height:1;cursor:pointer}.credit-history-close svg{display:block}.credit-history-close:hover{background:rgb(var(--canvas-primary-rgb) / .12)}.credit-history-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.credit-history-content.is-embedded{padding:0;max-height:none;overflow:visible}.credit-history-embedded{width:100%}.credit-history-table{display:grid;gap:.5rem}.credit-history-table-head,.credit-history-table-row{display:grid;grid-template-columns:minmax(80px,120px) minmax(180px,1fr) minmax(80px,120px) minmax(80px,120px);align-items:center;column-gap:1rem;padding:.65rem .9rem}.credit-history-table-head{font-weight:600;color:var(--ui-text-muted)}.credit-history-table-row{border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-muted)}.credit-history-type{font-weight:600}.credit-history-time{font-size:.85rem;color:var(--ui-text-muted)}.credit-history-amount{font-weight:600}.credit-history-cell-amount{text-align:right}.credit-history-amount.positive{color:#16a34a}.credit-history-amount.negative{color:#dc2626}.credit-history-payment-negative{color:#dc2626;font-weight:600}.credit-history-empty{text-align:center;color:var(--ui-text-muted);padding:1.5rem 0}.credit-history-error{margin-top:.75rem;color:var(--ui-error-text);font-size:.9rem}@media(max-width:640px){.credit-history-content{padding:1rem}.credit-history-table-head,.credit-history-table-row{grid-template-columns:1fr;row-gap:.35rem}.credit-history-cell-amount{text-align:left}}.personal-center-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.personal-center-modal{width:min(1080px,96vw);height:min(760px,92vh);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-surface);box-shadow:var(--ui-shadow-strong)}.personal-center-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--ui-border)}.personal-center-header h3{margin:0;font-size:1.08rem}.personal-center-header p{margin-top:.25rem;color:var(--ui-text-muted);font-size:.82rem}.personal-center-close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface-muted);color:var(--ui-text);cursor:pointer;flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.personal-center-close:hover{background:var(--ui-surface);border-color:var(--ui-border-strong, var(--ui-border));color:var(--ui-text)}.personal-center-close svg{display:block;flex-shrink:0}.personal-center-body{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0;flex:1;height:100%}.personal-center-sidebar{padding:18px;border-right:1px solid var(--ui-border);background:linear-gradient(180deg,#f2c94c14,#fff0);display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto}.personal-center-tab{border:1px solid transparent;border-radius:14px;padding:12px 14px;text-align:left;background:transparent;color:var(--ui-text);cursor:pointer;font-size:.92rem}.personal-center-tab:hover{background:var(--ui-surface-muted)}.personal-center-tab.active{background:var(--ui-surface);border-color:var(--ui-border);box-shadow:0 10px 24px #0f172a14;font-weight:700}.personal-center-content{overflow:auto;min-height:0;padding:22px}.personal-center-content .recharge-embedded,.personal-center-content .credit-history-embedded{width:100%}.personal-center-content .recharge-content.is-embedded,.personal-center-content .credit-history-content.is-embedded{padding:0;max-height:none}.personal-center-content .recharge-submit{margin:0;width:auto;min-width:180px}.personal-center-panel{border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface-muted);padding:20px}.personal-center-panel-subaccounts{height:100%;display:flex;flex-direction:column;min-height:0}.personal-center-panel-header{margin-bottom:18px}.personal-center-panel-header h4{margin:0;font-size:1rem}.personal-center-panel-header p{margin-top:.35rem;color:var(--ui-text-muted);font-size:.82rem}.personal-center-panel-header-with-action{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.personal-center-panel-header-with-action button{border:1px solid transparent;border-radius:10px;height:40px;min-height:40px;padding:0 14px;background:var(--canvas-primary);color:#fff;cursor:pointer}.personal-center-static-value{width:100%;border:1px solid var(--ui-border);border-radius:10px;padding:0 12px;background:var(--ui-surface);color:var(--ui-text);font-size:.94rem;min-height:40px;height:40px;display:flex;align-items:center}.personal-center-static-value.is-disabled{color:var(--ui-text-muted)}.personal-center-form-grid,.personal-center-subaccount-create{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.personal-center-password-form{display:flex;flex-direction:column;gap:14px}.personal-center-subaccount-create-modal-form{grid-template-columns:1fr}.personal-center-field{display:flex;flex-direction:column;gap:8px;font-size:.85rem;color:var(--ui-text)}.personal-center-field-full{grid-column:1 / -1}.personal-center-field input{width:100%;border:1px solid var(--ui-border);border-radius:10px;height:40px;min-height:40px;padding:0 12px;background:var(--ui-surface);color:var(--ui-text)}.personal-center-field input:focus,.personal-center-subaccount-actions input:focus{outline:none;border-color:var(--canvas-primary);box-shadow:0 0 0 3px rgb(var(--canvas-primary-rgb) / .12)}.personal-center-actions,.personal-center-create-actions,.personal-center-session-actions,.personal-center-subaccount-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.personal-center-actions{justify-content:flex-end}.personal-center-create-actions-centered{justify-content:center}.personal-center-actions button,.personal-center-create-actions button,.personal-center-session-actions button,.personal-center-subaccount-actions button{border:1px solid transparent;border-radius:10px;height:40px;min-height:40px;padding:0 14px;background:var(--canvas-primary);color:#fff;cursor:pointer}.personal-center-session-actions button,.personal-center-subaccount-actions-right button{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}.personal-center-hint{margin-top:12px;color:var(--ui-text-muted);font-size:.82rem}.personal-center-paytype-group{display:flex;gap:10px}.personal-center-paytype{flex:1;min-height:42px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);color:var(--ui-text);font-weight:600;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}.personal-center-paytype.selected{border-color:var(--canvas-primary);background:rgb(var(--canvas-primary-rgb) / .1);box-shadow:0 10px 22px rgb(var(--canvas-primary-rgb) / .14)}.personal-center-session{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px dashed var(--ui-border);border-radius:16px;padding:16px;background:var(--ui-surface)}.personal-center-session.is-modal{margin-top:16px}.personal-center-session-info{display:flex;flex-direction:column;gap:8px}.personal-center-qr-placeholder{background:var(--ui-surface)}.personal-center-list{margin-top:4px;display:flex;flex-direction:column;gap:12px}.personal-center-list-scrollable{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.personal-center-subaccount-card{border:1px solid var(--ui-border);border-radius:14px;padding:16px;background:var(--ui-surface)}.personal-center-subaccount-main{display:flex;align-items:center;justify-content:space-between;gap:14px}.personal-center-subaccount-main strong{font-size:.94rem}.personal-center-subaccount-main div:last-child,.personal-center-subaccount-meta{color:var(--ui-text-muted);font-size:.82rem}.personal-center-subaccount-meta{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.personal-center-subaccount-actions input{width:140px;border:1px solid var(--ui-border);border-radius:10px;height:40px;min-height:40px;padding:0 12px;background:var(--ui-surface);color:var(--ui-text)}.personal-center-subaccount-allocation-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.personal-center-subaccount-actions-right{display:flex;gap:10px;margin-left:auto}.personal-center-subaccount-actions .personal-center-allocation-trigger{padding:.5rem 1rem;border:1px solid var(--canvas-primary);border-radius:10px;background:transparent;color:var(--canvas-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;box-shadow:none}.personal-center-subaccount-actions .personal-center-allocation-trigger:hover{background:rgb(var(--canvas-primary-rgb) / .1);border-color:var(--canvas-primary)}.personal-center-subaccount-actions .personal-center-allocation-trigger:active{transform:translateY(0)}.personal-center-subaccount-actions .personal-center-allocation-trigger:disabled{cursor:not-allowed;opacity:.6}.personal-center-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:.35rem .75rem;border:1px solid transparent;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1;white-space:nowrap}.personal-center-status.active{background:#22c55e24;border-color:#22c55e47;color:#22c55e}.personal-center-status.disabled{background:#ef444424;border-color:#ef444447;color:#f87171}.personal-center-error,.personal-center-success,.personal-center-empty{margin-top:16px;padding:10px 12px;border-radius:10px;font-size:.85rem}.personal-center-error{background:#fef2f2;color:#b91c1c}.personal-center-success{background:#ecfdf5;color:#047857}.personal-center-empty{background:var(--ui-surface);color:var(--ui-text-muted)}.personal-center-create-modal-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a73}.personal-center-create-modal{width:min(720px,92vw);border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface);box-shadow:var(--ui-shadow-strong);padding:20px}.invite-friends-modal{position:relative;width:min(780px,94vw);overflow:hidden;border:1px solid rgba(229,231,235,.9);border-radius:22px;background:radial-gradient(circle at 14% 0%,rgba(251,191,36,.22),transparent 34%),radial-gradient(circle at 86% 8%,rgba(56,189,248,.18),transparent 30%),linear-gradient(180deg,#fffdf8,#fff 48%,#f8fafc);box-shadow:0 28px 80px #0f172a38;animation:inviteFriendsEnter .24s ease-out}.invite-friends-modal:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 52%);mask-image:linear-gradient(180deg,#000 0%,transparent 52%)}.invite-friends-hero,.invite-friends-body,.invite-friends-modal .personal-center-error,.invite-friends-modal .personal-center-success{position:relative;z-index:1}.invite-friends-hero{text-align:center;padding:8px 64px 18px}.invite-friends-gem{width:58px;height:58px;display:inline-grid;place-items:center;margin-bottom:12px;border:3px solid #0f172a;border-radius:16px 16px 8px 8px;background:linear-gradient(135deg,#7dd3fc,#ecfeff 44%,#22d3ee);color:transparent;box-shadow:0 16px 26px #0ea5e933;transform:rotate(45deg)}.invite-friends-gem:before{content:"";width:22px;height:22px;border-top:2px solid rgba(15,23,42,.38);border-left:2px solid rgba(15,23,42,.38)}.invite-friends-close{position:absolute;top:4px;right:4px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;background:transparent;color:#64748b;cursor:pointer;font-size:1.35rem;line-height:1;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.invite-friends-close:hover{background:#0f172a0f;border-color:#94a3b83d;box-shadow:inset 0 1px #ffffff5c;color:#0f172a}.invite-friends-eyebrow{color:var(--canvas-primary);font-size:.76rem;font-weight:800;letter-spacing:.18em}.invite-friends-hero h5{margin:8px 0 0;color:#171717;font-size:1.65rem;line-height:1.2;letter-spacing:-.04em}.invite-friends-hero p{width:min(460px,100%);margin:10px auto 0;color:#737373;font-size:.92rem;line-height:1.7}.invite-friends-body{display:grid;grid-template-columns:minmax(0,1fr) 238px;gap:18px;align-items:start}.invite-friends-main{display:flex;flex-direction:column;gap:12px}.invite-friends-code-card,.invite-friends-link-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid rgba(251,191,36,.22);border-radius:16px;background:#fffbebc7;box-shadow:inset 0 1px #fffc}.invite-friends-code-card{padding:18px}.invite-friends-link-card{padding:14px 16px;border-color:#e2e8f0e6;background:#ffffffc7}.invite-friends-code-card span,.invite-friends-link-card span{display:block;margin-bottom:8px;color:#64748b;font-size:.82rem;font-weight:700}.invite-friends-code-card strong{color:#ea580c;font-size:1.35rem;letter-spacing:.28em}.invite-friends-link-card strong{display:block;max-width:100%;overflow:hidden;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.5;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.invite-friends-code-card button,.invite-friends-link-card button{border:1px solid transparent;border-radius:10px;min-height:38px;padding:0 14px;background:#111827;color:#fff;cursor:pointer;font-weight:700;white-space:nowrap;transition:transform .2s,box-shadow .2s,opacity .2s}.invite-friends-code-card button:hover,.invite-friends-link-card button:hover{box-shadow:0 12px 24px #0f172a29}.invite-friends-code-card button:disabled,.invite-friends-link-card button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.invite-friends-rules{display:grid;gap:4px;margin-top:4px;padding:12px 4px 0}.invite-friends-rule{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0}.invite-friends-rule-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:.78rem;font-weight:800}.invite-friends-rule-icon-blue{background:#dbeafe;color:var(--canvas-primary-hover)}.invite-friends-rule-icon-gold{background:#ffedd5;color:#ea580c}.invite-friends-rule-icon-green{background:#dcfce7;color:#16a34a}.invite-friends-rule strong{color:#171717;font-size:.9rem}.invite-friends-rule p{margin:3px 0 0;color:#737373;font-size:.8rem;line-height:1.45}.invite-friends-qr-card{display:flex;flex-direction:column;align-items:center;border:1px solid rgba(226,232,240,.9);border-radius:20px;padding:16px;background:#ffffffd1;box-shadow:0 18px 44px #0f172a14}.invite-friends-qr-title{margin-bottom:12px;color:#0f172a;font-size:.92rem;font-weight:800}.invite-friends-qr{display:flex;align-items:center;justify-content:center;padding:10px;border:1px solid #e5e7eb;border-radius:18px;background:#fff}.invite-friends-qr img,.invite-friends-qr .personal-center-qr-placeholder{width:186px;height:186px;border-radius:12px}.invite-friends-qr-card p{margin:12px 0 0;color:#64748b;font-size:.8rem;line-height:1.5;text-align:center}[data-theme=dark] .invite-friends-modal{border-color:#475569b8;background:radial-gradient(circle at 16% 0%,rgba(245,158,11,.18),transparent 34%),radial-gradient(circle at 84% 8%,rgba(14,165,233,.16),transparent 30%),linear-gradient(180deg,#1b2432,#111827 52%,#0b1220);box-shadow:0 28px 80px #0206178f}[data-theme=dark] .invite-friends-modal:before{background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px)}[data-theme=dark] .invite-friends-eyebrow{color:#fb923c}[data-theme=dark] .invite-friends-hero h5,[data-theme=dark] .invite-friends-rule strong,[data-theme=dark] .invite-friends-qr-title,[data-theme=dark] .invite-friends-link-card strong{color:#f8fafc}[data-theme=dark] .invite-friends-hero p,[data-theme=dark] .invite-friends-code-card span,[data-theme=dark] .invite-friends-link-card span,[data-theme=dark] .invite-friends-rule p,[data-theme=dark] .invite-friends-qr-card p{color:#cbd5e1}[data-theme=dark] .invite-friends-close{color:#94a3b8}[data-theme=dark] .invite-friends-close:hover{background:#94a3b81f;border-color:#94a3b833;box-shadow:none;color:#f8fafc}[data-theme=dark] .invite-friends-code-card,[data-theme=dark] .invite-friends-link-card,[data-theme=dark] .invite-friends-qr-card{border-color:#475569b3;box-shadow:inset 0 1px #ffffff08}[data-theme=dark] .invite-friends-code-card{background:linear-gradient(180deg,#78350f6b,#1e293b8f)}[data-theme=dark] .invite-friends-link-card,[data-theme=dark] .invite-friends-qr-card{background:#0f172ab8}[data-theme=dark] .invite-friends-code-card strong{color:#fdba74}[data-theme=dark] .invite-friends-code-card button,[data-theme=dark] .invite-friends-link-card button{background:#e2e8f0;color:#0f172a}[data-theme=dark] .invite-friends-code-card button:hover,[data-theme=dark] .invite-friends-link-card button:hover{box-shadow:0 12px 24px #0206174d}[data-theme=dark] .invite-friends-rule-icon-blue{background:#2563eb2e;color:#93c5fd}[data-theme=dark] .invite-friends-rule-icon-gold{background:#ea580c2e;color:#fdba74}[data-theme=dark] .invite-friends-rule-icon-green{background:#22c55e2e;color:#86efac}[data-theme=dark] .invite-friends-qr{border-color:#475569b3;background:#f8fafc}@keyframes inviteFriendsEnter{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.personal-center-reward-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.personal-center-reward-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface)}.personal-center-reward-card span{font-size:.82rem;color:var(--ui-text-muted)}.personal-center-reward-card strong{font-size:1.1rem;color:var(--ui-text)}.personal-center-reward-section{margin-top:20px}.personal-center-reward-section h5{margin:0;font-size:.92rem}.personal-center-reward-table{display:flex;flex-direction:column;border:1px solid var(--ui-border);border-radius:14px;overflow:hidden;background:var(--ui-surface)}.personal-center-reward-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:12px;padding:12px 14px;font-size:.84rem;color:var(--ui-text);border-top:1px solid var(--ui-border)}.personal-center-reward-row:first-child{border-top:none}.personal-center-reward-row-head{background:var(--ui-surface-muted);font-weight:700}.personal-center-create-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.personal-center-create-modal-header h5{margin:0;font-size:1rem}.personal-center-create-modal-header p{margin-top:.35rem;color:var(--ui-text-muted);font-size:.82rem}.personal-center-create-modal-header button{border:1px solid var(--ui-border);border-radius:10px;height:40px;min-height:40px;padding:0 14px;background:var(--ui-surface);color:var(--ui-text);cursor:pointer}.personal-center-price-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid rgb(var(--canvas-primary-rgb) / .2);border-radius:14px;background:linear-gradient(180deg,rgb(var(--canvas-primary-rgb) / .08),#3b82f608)}.personal-center-price-card.is-error{border-color:#ef444442;background:linear-gradient(180deg,#fef2f2f5,#fef2f2b8)}.personal-center-price-card-label{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--ui-text-muted)}.personal-center-price-card strong{font-size:1.2rem;color:var(--ui-text)}.personal-center-price-card p{margin:0;font-size:.84rem;line-height:1.6;color:var(--ui-text-muted)}.personal-center-price-card-error{font-size:.82rem;color:#b91c1c}@media(max-width:900px){.personal-center-body{grid-template-columns:1fr}.personal-center-sidebar{border-right:none;border-bottom:1px solid var(--ui-border);flex-direction:row;flex-wrap:wrap}.personal-center-form-grid,.personal-center-subaccount-create{grid-template-columns:1fr}.personal-center-panel-header-with-action{flex-direction:column}.personal-center-reward-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.invite-friends-body{grid-template-columns:1fr}}@media(max-height:820px){.personal-center-overlay{align-items:stretch}.personal-center-modal{max-height:none;height:calc(100vh - 48px)}.personal-center-body{max-height:none}}@media(max-width:640px){.personal-center-overlay{padding:12px}.personal-center-modal{width:100%;height:calc(100vh - 24px);max-height:none}.personal-center-session,.personal-center-subaccount-main,.personal-center-subaccount-meta{grid-template-columns:1fr;flex-direction:column;align-items:flex-start}.personal-center-subaccount-actions{flex-direction:column;align-items:stretch}.personal-center-subaccount-actions input{width:100%}.personal-center-subaccount-allocation-inline{width:100%;flex-direction:column;align-items:stretch}.personal-center-subaccount-actions-right{margin-left:0;width:100%;justify-content:flex-start}.personal-center-create-modal-header{flex-direction:column}.personal-center-reward-summary,.personal-center-reward-row{grid-template-columns:1fr}}.daily-reward-button{padding:.5rem 1rem;border:1px solid var(--canvas-primary);border-radius:10px;background:transparent;color:var(--canvas-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;box-shadow:none}.daily-reward-button:hover{background:rgb(var(--canvas-primary-rgb) / .1);border-color:var(--canvas-primary)}.daily-reward-button:active{transform:translateY(0)}.daily-reward-button.loading{cursor:wait;opacity:.7}.daily-reward-button:disabled{cursor:not-allowed;opacity:.6}.daily-reward-toast{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:8px;background:var(--canvas-primary);color:#fff;box-shadow:0 4px 12px #00000026;z-index:10000;animation:slideIn .3s ease-out;font-size:14px;font-weight:500}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.global-prompt-optimize-button{position:fixed;z-index:10010;display:grid;place-items:center;align-items:center;width:56px;min-width:56px;height:56px;padding:0;border:1px solid color-mix(in srgb,var(--canvas-primary) 28%,var(--ui-border) 72%);border-radius:50%;background:radial-gradient(circle at 30% 30%,rgb(var(--canvas-primary-rgb) / .14),transparent 62%),linear-gradient(180deg,color-mix(in srgb,var(--ui-surface) 94%,white 6%),var(--ui-surface));box-shadow:0 12px 28px #0f172a2e,0 0 0 1px #ffffff2e inset;color:var(--canvas-primary);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:width .18s ease,min-width .18s ease,height .18s ease,border-radius .18s ease,box-shadow .15s ease,color .15s ease,padding .18s ease}.global-prompt-optimize-button.is-docked{width:35px;min-width:35px;height:30px;box-shadow:0 10px 22px #0f172a33,0 0 0 1px #ffffff2e inset}.global-prompt-optimize-button.is-docked-left{border-radius:8px 22px 22px 8px}.global-prompt-optimize-button.is-docked-right{border-radius:22px 8px 8px 22px}.global-prompt-optimize-button:hover:not(:disabled){box-shadow:0 16px 32px #0f172a3d,0 0 0 1px #ffffff3d inset}.global-prompt-optimize-button:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(var(--canvas-primary-rgb) / .18),0 16px 32px #0f172a3d}.global-prompt-optimize-button:disabled{opacity:.55;cursor:not-allowed}.global-prompt-optimize-button svg{flex-shrink:0;filter:drop-shadow(0 1px 0 rgb(255 255 255 / .14));transition:transform .18s ease}.global-prompt-optimize-button.is-docked svg{width:16px;height:16px}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.image-preview-overlay{position:fixed;inset:0;background:var(--ui-overlay-strong);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.preview-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:fadeIn .2s ease-in}.preview-loading-spinner{color:var(--canvas-primary)}.preview-loading-text{font-size:.875rem;color:var(--ui-text);font-weight:500}.image-preview-container{display:flex;gap:0;max-width:90vw;max-height:90vh;width:auto;height:auto;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.preview-image-wrapper{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:0;max-height:90vh;overflow:hidden;position:relative}.preview-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid rgb(255 255 255 / .25);border-radius:999px;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.preview-nav-prev{left:16px}.preview-nav-next{right:16px}.preview-nav-btn:hover:not(:disabled){background:#000000b8}.preview-nav-btn:disabled{opacity:.35;cursor:not-allowed}.preview-loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--ui-surface);z-index:10;animation:fadeIn .2s ease-in}.preview-image{display:block;max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px 0 0 8px;box-shadow:var(--ui-shadow-strong);transition:opacity .3s ease-in}.preview-sidebar{width:320px;display:flex;flex-direction:column;background:var(--ui-surface);border:1px solid var(--ui-border);border-left:none;border-radius:0 8px 8px 0;padding:1.5rem;gap:1.5rem}.preview-close-btn{align-self:flex-end;width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;background:var(--ui-surface-hover);border:1px solid var(--ui-border);border-radius:8px;color:var(--ui-text);padding:0;line-height:1;cursor:pointer;transition:all .2s}.preview-close-btn svg{display:block}.preview-close-btn:hover{background:var(--ui-surface-muted);border-color:var(--canvas-primary);color:var(--canvas-primary)}.preview-prompt{flex:1;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;min-height:0}.preview-prompt-label{font-size:.75rem;font-weight:600;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.05em}.preview-prompt-text{font-size:.875rem;color:var(--ui-text);line-height:1.6;word-break:break-word}.preview-prompt::-webkit-scrollbar{width:6px}.preview-prompt::-webkit-scrollbar-track{background:var(--ui-surface-muted);border-radius:3px}.preview-prompt::-webkit-scrollbar-thumb{background:var(--ui-border-strong);border-radius:3px}.preview-prompt::-webkit-scrollbar-thumb:hover{background:var(--ui-text-subtle)}.preview-actions{display:flex;flex-direction:row;gap:.5rem;margin-top:auto}.preview-download-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:var(--canvas-primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.preview-download-btn:hover:not(:disabled){background:var(--canvas-primary-hover)}.preview-download-btn:disabled{opacity:.45;cursor:not-allowed}.preview-download-btn svg{flex-shrink:0}.preview-crop-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.75rem 1rem;background:var(--ui-surface-hover);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.preview-crop-btn:hover{background:var(--ui-surface-muted);border-color:var(--canvas-primary);color:var(--canvas-primary)}.preview-crop-cancel-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;background:transparent;color:var(--ui-text-muted);border:1px solid var(--ui-border);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.preview-crop-cancel-btn:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.crop-controls{display:flex;flex-direction:column;gap:1rem}.crop-section{display:flex;flex-direction:column;gap:.5rem}.crop-section-label{font-size:.75rem;font-weight:600;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.05em}.crop-preset-buttons{display:flex;flex-wrap:wrap;gap:.375rem}.crop-preset-btn{padding:.25rem .625rem;border:1px solid var(--ui-border);border-radius:6px;font-size:.75rem;background:var(--ui-surface-hover);color:var(--ui-text);cursor:pointer;transition:all .15s}.crop-preset-btn:hover{border-color:var(--canvas-primary);color:var(--canvas-primary)}.crop-preset-btn.active{background:var(--canvas-primary);color:#fff;border-color:var(--canvas-primary)}.crop-size-row{display:flex;align-items:center;gap:.375rem}.crop-size-input{flex:1;min-width:0;padding:.375rem .5rem;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface-hover);color:var(--ui-text);font-size:.8125rem;outline:none;transition:border-color .15s}.crop-size-input:focus{border-color:var(--canvas-primary)}.crop-size-sep{color:var(--ui-text-muted);font-size:.875rem;flex-shrink:0}.crop-error{font-size:.75rem;color:#ef4444;line-height:1.4;padding:.5rem .75rem;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:6px}.preview-crop-wrapper{max-width:100%;max-height:90vh;line-height:0}.preview-crop-wrapper .ReactCrop__child-wrapper{max-height:90vh}@media(max-width:768px){.image-preview-overlay{padding:0}.image-preview-container{flex-direction:column;max-width:100vw;max-height:100vh;width:100vw;height:100vh}.preview-image-wrapper{flex:1;min-height:0}.preview-image{max-height:100%;border-radius:0}.preview-sidebar{width:100%;border-radius:0;border-left:1px solid var(--ui-border);border-bottom:none;padding:1rem;gap:1rem;max-height:40vh}.preview-prompt{max-height:none}.preview-prompt-text{font-size:.8125rem}.preview-download-btn{padding:.75rem 1.25rem}}.video-expired-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:400px;min-width:400px;background:var(--ui-surface-muted);border-radius:8px 0 0 8px;color:var(--ui-text-muted)}.video-expired-icon{margin-bottom:1rem;opacity:.5}.video-expired-title{font-size:1.125rem;font-weight:600;color:var(--ui-text);margin-bottom:.5rem}.video-expired-text{font-size:.875rem;color:var(--ui-text-muted)}.video-expiry-warning{display:flex;gap:.75rem;padding:1rem;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:8px;color:var(--ui-text)}.video-expiry-warning svg{flex-shrink:0;color:#eab308}.expiry-title{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.expiry-text{font-size:.75rem;color:var(--ui-text-muted)}.preview-reference-images{display:flex;flex-direction:column;gap:.75rem}.reference-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.reference-image-item{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--ui-border);background:var(--ui-surface-muted)}.preview-gallery-item{padding:0;cursor:pointer}.preview-gallery-item.active{border-color:var(--canvas-primary);box-shadow:0 0 0 1px var(--canvas-primary)}.reference-image-item img{width:100%;height:100%;object-fit:cover}.reference-image-label{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:.625rem;padding:.25rem;text-align:center;font-weight:500}.preview-dimensions{display:flex;flex-direction:column;gap:.25rem}.preview-dimensions-value{font-size:.875rem;color:var(--ui-text);font-variant-numeric:tabular-nums}.batch-download-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--ui-overlay-strong)}.batch-download-modal{width:min(960px,100%);max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface);box-shadow:var(--ui-shadow-strong);overflow:hidden}.batch-download-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--ui-border)}.batch-download-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--ui-text)}.batch-download-subtitle{margin:6px 0 0;font-size:.8125rem;color:var(--ui-text-muted)}.batch-download-close{width:36px;height:36px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface-muted);color:var(--ui-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.batch-download-close:hover:not(:disabled){color:var(--canvas-primary);border-color:var(--canvas-primary)}.batch-download-close svg{display:block;flex-shrink:0;color:inherit}.batch-download-close svg path{stroke:currentColor}.batch-download-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-muted)}.batch-download-selection{display:flex;align-items:center;gap:12px;font-size:.8125rem;color:var(--ui-text)}.batch-download-link-btn{border:none;background:transparent;color:var(--canvas-primary);cursor:pointer;padding:0;font-size:.8125rem}.batch-download-message{font-size:.75rem;color:var(--ui-text-muted)}.batch-download-content{flex:1;overflow-y:auto;padding:24px;background:linear-gradient(180deg,rgb(var(--canvas-primary-rgb) / .06),transparent 18%),var(--ui-surface)}.batch-download-empty{min-height:320px;display:flex;align-items:center;justify-content:center;color:var(--ui-text-muted);font-size:.9375rem}.batch-download-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.batch-download-card{position:relative;padding:10px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.batch-download-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.batch-download-card.selected{border-color:var(--canvas-primary);box-shadow:0 0 0 1px var(--canvas-primary)}.batch-download-checkbox{position:absolute;top:18px;right:18px;z-index:1}.batch-download-checkbox-indicator{width:22px;height:22px;border-radius:999px;border:1px solid rgb(255 255 255 / .7);background:#0f172a73;color:#fff;display:flex;align-items:center;justify-content:center}.batch-download-checkbox-indicator.selected{background:#000;border-color:#000}.batch-download-thumb{aspect-ratio:1;overflow:hidden;border-radius:10px;background:var(--ui-surface-muted)}.batch-download-thumb img{width:100%;height:100%;object-fit:cover;display:block}.batch-download-card-meta{display:flex;flex-direction:column;gap:6px;padding:12px 2px 2px}.batch-download-card-prompt{font-size:.8125rem;color:var(--ui-text);line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.batch-download-card-time{font-size:.75rem;color:var(--ui-text-muted)}.batch-download-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px 20px;border-top:1px solid var(--ui-border);background:var(--ui-surface)}.batch-download-pagination{display:flex;align-items:center;gap:12px}.batch-download-page-btn{min-width:72px;height:36px;padding:0 14px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface-muted);color:var(--ui-text);cursor:pointer}.batch-download-page-btn:disabled{opacity:.45;cursor:not-allowed}.batch-download-page-indicator{font-size:.8125rem;color:var(--ui-text-muted)}.batch-download-submit{min-width:112px;height:40px;padding:0 18px;border:none;border-radius:999px;background:var(--canvas-primary);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.batch-download-submit:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.batch-download-overlay{padding:0}.batch-download-modal{width:100%;max-height:100vh;height:100vh;border-radius:0}.batch-download-toolbar,.batch-download-footer{flex-direction:column;align-items:stretch}.batch-download-selection,.batch-download-pagination{justify-content:space-between}.batch-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-download-submit{width:100%}}.consult-overlay{position:fixed;inset:0;background:var(--ui-overlay);display:flex;align-items:center;justify-content:center;z-index:1100}.consult-modal{width:min(420px,calc(100vw - 32px));background:var(--ui-surface);border-radius:16px;box-shadow:0 20px 60px rgb(var(--canvas-primary-rgb) / .25);overflow:hidden}.consult-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--ui-border)}.consult-header h3{margin:0;font-size:1.1rem;color:var(--ui-text)}.consult-close{width:32px;height:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--canvas-primary);border-radius:8px;background:var(--ui-surface);color:var(--canvas-primary);padding:0;line-height:1;cursor:pointer}.consult-close:hover{background:rgb(var(--canvas-primary-rgb) / .12)}.consult-content{padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.consult-description{margin:0;color:var(--ui-text);font-size:.95rem;text-align:center}.consult-qr-wrapper{width:240px;height:240px;padding:10px;border-radius:16px;border:1px solid var(--ui-border);background:var(--ui-surface-muted);display:flex;align-items:center;justify-content:center}.consult-qr-image{width:100%;height:100%;object-fit:contain;border-radius:10px;background:#fff}.consult-tip{margin:0;color:var(--ui-text-muted);font-size:.85rem;text-align:center;word-break:break-all}.consult-service-note{width:100%;padding:.9rem 1rem;border-radius:12px;background:var(--ui-surface-muted);color:var(--ui-text)}.consult-service-note p{margin:0;font-size:.92rem;line-height:1.65}.consult-service-title{font-weight:700}.consult-confirm{min-width:160px;padding:.75rem 1rem;border-radius:10px;border:none;background:var(--canvas-primary);color:#fff;font-weight:600;cursor:pointer}.consult-confirm:hover{background:var(--canvas-primary-hover)}@media(max-width:640px){.consult-header,.consult-content{padding-left:1rem;padding-right:1rem}.consult-qr-wrapper{width:min(240px,100%);height:auto;aspect-ratio:1 / 1}.consult-confirm{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--ui-bg)}.loading-spinner{font-size:1.25rem;color:var(--canvas-primary)}@keyframes appSessionToastIn{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.app-session-toast{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:2147483647;display:inline-flex;align-items:center;gap:10px;max-width:min(520px,calc(100vw - 32px));padding:11px 16px;border:1px solid rgb(220 38 38 / .34);border-radius:999px;background:color-mix(in srgb,#dc2626 16%,var(--ui-surface) 84%);color:#991b1b;box-shadow:0 12px 28px #dc262638;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:14px;font-weight:600;line-height:1.4;pointer-events:none;animation:appSessionToastIn .22s ease-out}.app-session-toast:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#dc2626;color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--ui-bg)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--ui-surface);border-bottom:1px solid var(--ui-border);height:60px;transition:transform .3s ease,opacity .3s ease,height .3s ease,padding .3s ease,border-color .3s ease}.app-header-left,.app-logo{display:flex;align-items:center}.app-logo-mark{display:block;width:auto;height:28px;overflow:visible}.app-logo-accent{fill:var(--canvas-primary)}.app-logo-ink{fill:var(--app-logo-ink)}.app-header-right{display:flex;align-items:center;gap:1rem}.app-header-right .daily-reward-button,.app-header-right .app-consult-button,.app-header-right .app-invite-button,.app-header-right .account-button{display:inline-flex;align-items:center;gap:.5rem;min-height:36px;padding:.5rem 1rem;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text);line-height:1;white-space:nowrap;box-shadow:none;transition:background .2s,border-color .2s,color .2s}.app-header-right .daily-reward-button:hover,.app-header-right .app-consult-button:hover,.app-header-right .account-button:hover{background:var(--ui-surface-muted);border-color:var(--canvas-primary)}.app-consult-button,.app-invite-button{gap:.45rem}.app-header-right .app-invite-button:hover{background:#22c55e1f;border-color:#22c55e47;color:#15803d}.app-invite-button-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.app-invite-button-icon svg{width:16px;height:16px;display:block}.app-consult-button-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.app-consult-button-icon svg{width:16px;height:16px;display:block}.app-content{flex:1;position:relative;overflow:hidden}.app.zen-mode .app-header{transform:translateY(-100%);opacity:0;height:0;padding:0;border-color:transparent;pointer-events:none}.canvas-container{position:absolute;inset:0;overflow:hidden}@media(max-width:900px){.app-header{padding:.75rem 1rem}.app-header-right{gap:.5rem}}
