.portrait-page{position:relative}.portrait-atmosphere{display:none}.portrait-control-panel{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 85%, transparent);background:var(--color-surface)}.portrait-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem 1rem;padding:1.35rem 1.35rem .85rem;display:grid}.icon-text-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.icon-text-button:hover{background:var(--color-surface-hover);border-color:var(--blue-300);color:var(--color-text-primary)}.portrait-header__mark{display:none}.portrait-header__copy{grid-column:1;min-width:0}.portrait-header .eyebrow{color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.portrait-header h1{letter-spacing:-.04em;margin:.4rem 0 0;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:650;line-height:1.1}.portrait-header__copy>p:not(.eyebrow):not(.portrait-header__step-label){max-width:22rem;color:var(--color-text-secondary);margin:.45rem 0 0;font-size:.8125rem;line-height:1.55}.portrait-header__step-label{color:var(--color-text-tertiary);margin:.45rem 0 0;font-size:.75rem;font-weight:600;display:none}.privacy-pill{grid-area:1/2;align-self:start}.portrait-workspace{background:var(--color-surface)}.upload-zone{background:var(--color-surface-tonal)}.portrait-canvas{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 70%, transparent);background:var(--color-surface-tonal)}.portrait-canvas-frame .canvas-empty>span{color:var(--color-text-tertiary);background:var(--color-surface);box-shadow:none}.portrait-summary{background:var(--color-surface);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 85%, transparent);border:0;border-radius:1rem}.portrait-result-image{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;transition:opacity .15s;display:block}.portrait-result-image:hover{opacity:.92}.portrait-result-image img{object-fit:cover;width:100%;height:100%;display:block}.portrait-footer .primary-button{min-height:2.75rem}@media (width<=720px){.portrait-header{grid-template-columns:1fr;padding:1.1rem 1rem .75rem}.portrait-header .privacy-pill{grid-column:1;width:fit-content}.portrait-header__step-label{display:block}.portrait-footer .primary-button,.portrait-footer .secondary-button{flex:1 1 0;justify-content:center;min-height:2.75rem}}.refine-dialog-overlay{z-index:10000;background:#000c;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.refine-dialog{background:#fff;border-radius:12px;width:100%;max-width:900px;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0000004d}.refine-dialog-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.refine-dialog-header h2{margin:0;font-size:1.25rem;font-weight:600}.close-button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:.5rem;transition:all .2s}.close-button:hover{color:#111827;background:#f3f4f6}.refine-dialog-content{padding:1.5rem}.refine-preview{text-align:center;margin-bottom:1.5rem}.refine-preview img{border-radius:8px;max-width:100%;max-height:400px;box-shadow:0 4px 12px #0000001a}.refine-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#374151;font-size:.875rem;font-weight:500}.form-group textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;padding:.75rem;font-family:inherit;font-size:.875rem}.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.preset-buttons{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.preset-buttons input{text-align:center;border:1px solid #d1d5db;border-radius:6px;padding:.75rem;font-size:.875rem}.preset-buttons input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-actions{justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}.cancel-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s}.cancel-button:hover{background:#f9fafb;border-color:#9ca3af}.refine-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.refine-button:hover:not(:disabled){background:#2563eb}.refine-button:disabled{opacity:.6;cursor:not-allowed}.refine-button .spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.75rem;font-size:.875rem}.refine-comparison{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem;display:grid}.comparison-item{text-align:center}.comparison-item h3{color:#374151;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.comparison-item img{border-radius:8px;max-width:100%;box-shadow:0 4px 12px #0000001a}.comparison-actions{justify-content:center;gap:.75rem;display:flex}.keep-original-button,.keep-refined-button{cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.keep-original-button{color:#374151;background:#fff;border:1px solid #d1d5db}.keep-original-button:hover{background:#f9fafb;border-color:#9ca3af}.keep-refined-button{color:#fff;background:#10b981;border:none}.keep-refined-button:hover{background:#059669}@media (width<=768px){.refine-dialog{max-width:100%;margin:1rem}.refine-comparison,.preset-buttons{grid-template-columns:1fr}}.portrait-history-page{max-width:1200px;margin:0 auto;padding:24px}.portrait-history-page .page-header-section{margin-bottom:32px}.portrait-history-page .page-header-section h1{margin:0 0 8px;font-size:28px;font-weight:600}.portrait-history-page .page-description{color:var(--color-text-secondary);margin:0;font-size:14px}.portrait-history-page .inline-notice{margin-bottom:24px}.portrait-history-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.portrait-history-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:16px;transition:all .2s}.portrait-history-card:hover{border-color:var(--blue-200);box-shadow:0 2px 12px #00000014}.portrait-history-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.portrait-history-card-meta{align-items:center;gap:8px;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.status-badge.pending{background:var(--blue-100);color:var(--blue-700)}.status-badge.succeeded{background:var(--green-100);color:var(--green-700)}.status-badge.failed{background:var(--red-100);color:var(--red-700)}.portrait-history-card-meta .timestamp{color:var(--color-text-secondary);font-size:12px}.portrait-history-card-header .model-name{color:var(--color-text-tertiary);background:var(--color-surface-tonal);border-radius:4px;padding:2px 6px;font-size:11px}.portrait-history-thumbnails{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.portrait-thumbnail{aspect-ratio:3/4;border:1px solid var(--color-border);background:var(--color-surface-tonal);cursor:pointer;border-radius:8px;padding:0;transition:all .15s;overflow:hidden}.portrait-thumbnail:hover:not(:disabled){border-color:var(--blue-300);transform:scale(1.05);box-shadow:0 2px 8px #0000001f}.portrait-thumbnail:disabled{cursor:not-allowed;opacity:.6}.portrait-thumbnail img{object-fit:cover;width:100%;height:100%}.portrait-thumbnail .thumbnail-placeholder{width:100%;height:100%;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:12px;display:flex}.portrait-thumbnail .thumbnail-placeholder.error{color:var(--red-600)}.portrait-history-card-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-top:8px;font-size:12px;display:flex}.generation-stats{color:var(--color-text-secondary)}.cost-amount{color:var(--color-text-tertiary);font-weight:500}.portrait-history-card .error-message{background:var(--red-50);border-radius:6px;margin-top:8px;padding:8px 12px}.portrait-history-card .error-message small{color:var(--red-700);font-size:12px;line-height:1.4}.portrait-history-page .empty-state{text-align:center;color:var(--color-text-secondary);padding:60px 20px}.portrait-history-page .empty-state svg{color:var(--color-text-tertiary);margin-bottom:16px}.portrait-history-page .empty-state h3{color:var(--color-text-primary);margin:0 0 8px;font-size:18px;font-weight:600}.portrait-history-page .empty-state p{margin:0;font-size:14px}@media (width<=768px){.portrait-history-grid{grid-template-columns:1fr}.portrait-history-page{padding:16px}}.portrait-refine-button{color:#374151;cursor:pointer;z-index:9999;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 12px #00000026}.portrait-refine-button:hover{color:#3b82f6;background:#f9fafb;border-color:#3b82f6;box-shadow:0 6px 16px #0003}.tools-page{width:min(960px,100% - 48px);margin:0 auto;padding:48px 0 88px}.tools-hero{margin-top:.25rem}.tools-hero__row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.tools-hero h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4.5vw,2.75rem);font-weight:650;line-height:1.05}.tools-hero__count{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:500}.tools-hero>p{max-width:30rem;color:var(--color-text-secondary);margin:.7rem 0 0;font-size:.95rem;line-height:1.6}.tools-empty{color:var(--color-text-secondary);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border);text-align:center;border-radius:1.25rem;justify-items:center;margin-top:2rem;padding:3rem 1.5rem;display:grid}.tools-empty>span{width:3rem;height:3rem;color:var(--color-text-tertiary);background:var(--color-surface-tonal);border-radius:999px;justify-content:center;align-items:center;margin-bottom:.85rem;display:inline-flex}.tools-empty strong{color:var(--color-text);font-size:1rem}.tools-empty p{margin:.45rem 0 0;font-size:.8125rem}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.85rem;margin-top:2rem;display:grid}.tool-card{--tool-accent:var(--blue-600);background:var(--color-surface);text-align:left;min-height:6.5rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 85%, transparent);animation:tools-card-enter .38s var(--ease-out) both;animation-delay:calc(min(var(--card-index,0), 8) * 28ms);transition:box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-out);border:0;border-radius:1.25rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1.15rem 1.1rem;display:grid}.tool-card--aperture{--tool-accent:var(--blue-600)}.tool-card--moon{--tool-accent:var(--indigo-600)}.tool-card--ink{--tool-accent:var(--slate-700)}.tool-card--ember{--tool-accent:var(--amber-700)}.tool-card--gallery{--tool-accent:var(--cyan-500)}.tool-card--spark{--tool-accent:var(--blue-700)}.tool-card--droplet{--tool-accent:var(--cyan-600)}.tool-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 35%, transparent), var(--shadow-2);transform:translateY(-2px)}.tool-card-icon{background:color-mix(in srgb, var(--tool-accent) 10%, var(--color-surface-tonal));width:2.75rem;height:2.75rem;color:var(--tool-accent);border-radius:.9rem;justify-content:center;align-items:center;display:inline-flex}.tool-card-body{flex-direction:column;gap:.3rem;min-width:0;display:flex}.tool-card-body strong{letter-spacing:-.025em;font-size:1.05rem;font-weight:650}.tool-card-body small{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}.tool-card-cta{width:2.25rem;height:2.25rem;color:var(--color-text-tertiary);background:var(--color-surface-tonal);transition:background var(--duration-fast), color var(--duration-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.tool-card:hover .tool-card-cta{background:var(--color-text);color:var(--white)}@keyframes tools-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tool-card{animation:none}.tool-card:hover{transform:none}}@media (width<=720px){.tools-page{width:calc(100% - 1.25rem);padding-top:1.25rem;padding-bottom:calc(2.5rem + env(safe-area-inset-bottom,0px))}.tools-hero h1{font-size:1.85rem}.tools-grid{grid-template-columns:1fr;gap:.65rem;margin-top:1.35rem}.tool-card{min-height:0;padding:1rem}.tool-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 85%, transparent);transform:none}}.novel-v2-page{--background:oklch(99.1% .004 85);--foreground:oklch(22% .01 60);--card:oklch(100% .002 85);--card-foreground:oklch(22% .01 60);--popover:oklch(100% .002 85);--popover-foreground:oklch(22% .01 60);--primary:oklch(26% .012 55);--primary-foreground:oklch(98% .005 85);--secondary:oklch(96% .006 80);--secondary-foreground:oklch(26% .012 55);--muted:oklch(96.5% .006 80);--muted-foreground:oklch(53% .01 60);--accent:oklch(72% .13 58);--accent-foreground:oklch(99% .005 85);--destructive:oklch(57.7% .245 27.325);--border:oklch(91% .006 75);--input:oklch(91% .006 75);--ring:oklch(72% .13 58);--radius:.75rem;--sidebar:oklch(97.5% .006 82);--sidebar-foreground:oklch(22% .01 60);--sidebar-border:oklch(91% .006 75);--font-sans:"Noto Sans SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, ui-serif, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100%;display:flex}.novel-v2-page.is-workspace{height:var(--app-viewport-height);max-height:var(--app-viewport-height);min-height:0;overflow:hidden}.workspace-main:has(>.novel-v2-page.is-workspace){height:var(--app-viewport-height);max-height:var(--app-viewport-height);flex-direction:column;min-height:0;display:flex;overflow:hidden}.workspace-main:has(>.novel-v2-page.is-workspace)>.novel-v2-page.is-workspace{flex:1;min-height:0}:root[data-theme=dark] .novel-v2-page{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(72% .13 58);--accent-foreground:oklch(99% .005 85);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1)}.novel-v2-page .primary-button{background:var(--primary);height:2.25rem;color:var(--primary-foreground);font:inherit;cursor:pointer;border:0;border-radius:.5rem;justify-content:center;align-items:center;gap:.375rem;padding:0 1rem;font-size:.875rem;font-weight:500;transition:opacity .15s;display:inline-flex}.novel-v2-page .primary-button:hover:not(:disabled){opacity:.9}.novel-v2-page .secondary-button{border:1px solid var(--border);background:var(--background);height:2rem;color:var(--foreground);font:inherit;cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.novel-v2-page .secondary-button:hover:not(:disabled){background:var(--muted)}.novel-v2-page button:disabled{opacity:.5;cursor:not-allowed}.novel-v2-library{width:100%;max-width:72rem;margin:0 auto;padding:2.5rem 1.5rem}.novel-v2-section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;display:flex}.novel-v2-section-heading h2{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;color:var(--foreground);margin:0;font-size:1.875rem;font-weight:600}.novel-v2-section-heading p{color:var(--muted-foreground);margin:.375rem 0 0;font-size:.875rem}.novel-v2-create-top{display:none}@media (width>=640px){.novel-v2-create-top{display:inline-flex}}.novel-v2-bookshelf{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2rem 1.5rem;display:grid}@media (width>=640px){.novel-v2-bookshelf{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.novel-v2-bookshelf{grid-template-columns:repeat(4,minmax(0,1fr))}}.novel-v2-book-card{text-align:left;color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;gap:0;min-width:0;padding:0;display:flex}.novel-v2-book-card--create{cursor:pointer}.novel-v2-book-cover{box-sizing:border-box;aspect-ratio:2/3;border:1px solid var(--border);background:var(--secondary);border-radius:.75rem;flex:none;align-self:stretch;width:100%;height:auto;min-height:11rem;transition:transform .2s,box-shadow .2s;display:block;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d}.novel-v2-book-card:hover .novel-v2-book-cover{transform:translateY(-.25rem);box-shadow:0 4px 12px #0000001a}.novel-v2-book-cover--dashed{background:color-mix(in oklch, var(--card) 50%, transparent);color:var(--muted-foreground);box-shadow:none;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.novel-v2-book-card--create:hover .novel-v2-book-cover--dashed{border-color:var(--accent);color:var(--accent);box-shadow:none;transform:none}.novel-v2-book-create-icon{background:var(--secondary);border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;transition:background .15s;display:inline-flex}.novel-v2-book-card--create:hover .novel-v2-book-create-icon{background:color-mix(in oklch, var(--accent) 15%, transparent)}.novel-v2-book-cover-hit{z-index:10;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.novel-v2-book-initial{font-family:var(--font-serif);color:#ffffffeb;pointer-events:none;justify-content:center;align-items:center;font-size:2.5rem;font-weight:600;display:flex;position:absolute;inset:0}.novel-v2-book-badge{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in oklch, var(--secondary) 90%, transparent);color:var(--secondary-foreground);border-radius:.375rem;padding:.125rem .5rem;font-size:11px;font-weight:500;position:absolute;top:.5rem;left:.5rem}.novel-v2-book-badge.is-writing{background:color-mix(in oklch, var(--accent) 15%, transparent);color:var(--accent)}.novel-v2-book-adult{z-index:2;background:color-mix(in oklch, var(--destructive) 90%, transparent);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:.375rem;padding:.125rem .375rem;font-size:11px;font-weight:600;position:absolute;top:.5rem;right:.5rem}.novel-v2-book-edit{z-index:20;background:color-mix(in oklch, var(--background) 90%, transparent);color:var(--foreground);opacity:0;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;transition:opacity .15s,background .15s;display:inline-flex;position:absolute;bottom:.5rem;right:.5rem;box-shadow:0 1px 2px #00000014}.novel-v2-book-card:hover .novel-v2-book-edit{opacity:1}.novel-v2-book-edit:hover{background:var(--background)}.novel-v2-book-delete{z-index:20;background:color-mix(in oklch, var(--background) 90%, transparent);width:1.75rem;height:1.75rem;color:var(--muted-foreground);opacity:0;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;border-radius:.375rem;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:.5rem;left:.5rem}.novel-v2-book-card:hover .novel-v2-book-delete{opacity:1}.novel-v2-book-delete:hover{color:var(--destructive);background:var(--background)}.novel-v2-book-loading{z-index:30;color:#fff;background:#00000040;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.novel-v2-book-meta{flex-direction:column;gap:.25rem;min-width:0;margin-top:.75rem;display:flex}.novel-v2-book-meta--create{color:var(--muted-foreground);margin-top:.75rem;font-size:.875rem;font-weight:500}.novel-v2-book-meta strong{font-family:var(--font-serif);color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;line-height:1.35;overflow:hidden}.novel-v2-book-meta-row{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.novel-v2-book-genre{background:var(--secondary);color:var(--secondary-foreground);border-radius:.375rem;align-items:center;padding:.125rem .5rem;font-weight:400;display:inline-flex}.novel-v2-book-meta small{color:color-mix(in oklch, var(--muted-foreground) 80%, transparent);align-items:center;gap:.25rem;font-size:11px;display:inline-flex}.novel-v2-empty{min-height:9rem;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:var(--radius);background:color-mix(in oklch, var(--card) 50%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.novel-v2-empty--soft{background:0 0;border:0;min-height:5rem;margin-top:.5rem}.novel-v2-dialog-stack{gap:1rem;display:grid}.novel-v2-dialog-note{color:var(--text-secondary,#5b6472);margin:0;font-size:.92rem;line-height:1.55}.novel-v2-field{gap:.5rem;min-width:0;display:grid}.novel-v2-field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=520px){.novel-v2-field-row{grid-template-columns:1fr}}.novel-v2-field-label{color:var(--foreground);font-size:.875rem;font-weight:500;line-height:1}.novel-v2-field-label-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.novel-v2-control{border:1px solid var(--input);width:100%;min-width:0;height:2rem;color:var(--foreground);font:inherit;background:0 0;border-radius:.5rem;outline:none;padding:.25rem .625rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.novel-v2-control::placeholder{color:var(--muted-foreground)}.novel-v2-control:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 50%, transparent)}.novel-v2-control--area{resize:vertical;height:auto;min-height:4rem;padding:.5rem .625rem;line-height:1.5}.novel-v2-control--readonly{background:var(--secondary);height:auto;min-height:2rem;color:var(--foreground);cursor:default;border-color:#0000;justify-content:space-between;align-items:center;gap:.5rem;padding:.375rem .625rem;display:flex}.novel-v2-control-hint{color:var(--muted-foreground);white-space:nowrap;font-size:.75rem;font-weight:400}.novel-v2-ai-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.375rem;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.novel-v2-ai-link:hover:not(:disabled){background:color-mix(in oklch, var(--accent) 10%, transparent)}.novel-v2-ai-link:disabled{opacity:.6;cursor:not-allowed}.novel-v2-switch-row{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .875rem;display:flex}.novel-v2-switch-copy{gap:.125rem;min-width:0;display:grid}.novel-v2-switch-hint{color:var(--muted-foreground);font-size:.75rem;line-height:1.4}.novel-v2-plot-groups{gap:.75rem;display:grid}.novel-v2-plot-group-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.375rem;display:flex}.novel-v2-plot-group-title{color:var(--foreground);font-size:.8125rem;font-weight:600}.novel-v2-plot-group-hint{color:var(--muted-foreground);font-size:.6875rem}.novel-v2-plot-chips{flex-wrap:wrap;gap:.5rem;display:flex}.novel-v2-plot-chips button{border:1px solid var(--border);background:var(--card);min-height:1.875rem;color:var(--muted-foreground);font:inherit;cursor:pointer;border-radius:999px;padding:0 .6875rem;font-size:.75rem;transition:border-color .15s,background .15s,color .15s}.novel-v2-plot-chips button:hover,.novel-v2-plot-chips button.is-selected{border-color:color-mix(in oklch, var(--accent) 45%, var(--border));background:color-mix(in oklch, var(--accent) 12%, var(--card));color:var(--foreground)}.novel-v2-switch{flex-shrink:0;width:32px;height:18.4px;position:relative}.novel-v2-switch input{z-index:2;opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.novel-v2-switch-track{background:var(--input);border-radius:999px;width:100%;height:100%;transition:background .15s;display:block;position:relative}.novel-v2-switch-thumb{background:var(--background);pointer-events:none;border-radius:999px;width:16px;height:16px;transition:transform .15s;position:absolute;top:1.2px;left:1.2px;box-shadow:0 1px 2px #0000001f}.novel-v2-switch input:checked+.novel-v2-switch-track{background:var(--primary)}.novel-v2-switch input:checked+.novel-v2-switch-track .novel-v2-switch-thumb{transform:translate(13.6px)}.novel-v2-recommend-card{border:1px solid color-mix(in oklch, var(--accent) 30%, transparent);background:color-mix(in oklch, var(--accent) 5%, transparent);border-radius:.5rem;padding:1rem}.novel-v2-recommend-card-head{color:var(--accent);align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;display:flex}.novel-v2-recommend-body{gap:.625rem;display:grid}.novel-v2-recommend-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.novel-v2-recommend-icon{color:var(--accent);flex-shrink:0}.novel-v2-recommend-title-row h4{font-family:var(--font-serif);color:var(--foreground);margin:0;font-size:1rem;font-weight:600;line-height:1}.novel-v2-badge{background:var(--secondary);color:var(--secondary-foreground);border-radius:.375rem;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:400;display:inline-flex}.novel-v2-recommend-synopsis{color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.6}.novel-v2-recommend-adult-plot{border:1px solid color-mix(in oklch, var(--destructive) 25%, var(--border));background:color-mix(in oklch, var(--destructive) 6%, transparent);color:var(--foreground);border-radius:.375rem;margin:0;padding:.5rem .625rem;font-size:.8125rem;line-height:1.55}.novel-v2-recommend-adult-plot strong{color:var(--destructive);font-weight:600}.novel-v2-recommend-tagline{color:var(--accent);margin:0;font-size:.875rem;font-weight:500;line-height:1.4}.novel-v2-recommend-actions{flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.125rem;display:flex}.novel-v2-prefs{border-top:1px solid color-mix(in oklch, var(--border) 70%, transparent);gap:.75rem;padding-top:.25rem;display:grid}.novel-v2-prefs-label{color:var(--muted-foreground);letter-spacing:.02em;margin:0;font-size:.75rem;font-weight:500}.novel-v2-muted{color:var(--muted-foreground);margin:0;font-size:.75rem;line-height:1.6}.novel-v2-settings-readonly{background:var(--secondary);color:var(--muted-foreground);border-radius:.5rem;margin:0;padding:.5rem .75rem;font-size:.875rem}.novel-v2-settings-readonly strong{color:var(--foreground);margin-right:.5rem}.novel-v2-label{color:var(--foreground);flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;display:flex}.novel-v2-label input,.novel-v2-label select,.novel-v2-label textarea{border:1px solid var(--input);height:2rem;color:var(--foreground);font:inherit;background:0 0;border-radius:.5rem;outline:none;padding:.25rem .625rem;font-size:.875rem}.novel-v2-label textarea{resize:vertical;height:auto;min-height:4rem;padding:.5rem .625rem}.novel-v2-ack{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .875rem;display:flex}.novel-v2-ack span{flex-direction:column;gap:.125rem;min-width:0;display:flex}.novel-v2-ack small{color:var(--muted-foreground);font-size:.75rem}.novel-v2-ack input{width:1.125rem;height:1.125rem;accent-color:var(--accent)}.novel-v2-field--row{flex-wrap:wrap;gap:1rem;display:flex}.novel-v2-field--row .novel-v2-label{flex:1;min-width:140px}:is(.ui-modal-backdrop:has(>.novel-v2-new-book-modal),.ui-modal-backdrop:has(>.novel-v2-edit-book-modal)){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000001a}.ui-modal.novel-v2-new-book-modal,.ui-modal.novel-v2-edit-book-modal{--color-surface:var(--card);--color-bg:var(--background);--color-text:var(--foreground);--color-text-secondary:var(--muted-foreground);--color-border:var(--border);--primary:oklch(26% .012 55);--primary-foreground:oklch(98% .005 85);--accent:oklch(72% .13 58);--muted:oklch(96.5% .006 80);--muted-foreground:oklch(53% .01 60);--secondary:oklch(96% .006 80);--secondary-foreground:oklch(26% .012 55);--border:oklch(91% .006 75);--input:oklch(91% .006 75);--ring:oklch(72% .13 58);--card:oklch(100% .002 85);--background:oklch(99.1% .004 85);--foreground:oklch(22% .01 60);--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, ui-serif, serif;--font-sans:"Noto Sans SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif;font-family:var(--font-sans);background:var(--card);width:100%;max-width:min(92vw,32rem);max-height:90svh;color:var(--foreground);border:1px solid color-mix(in oklch, var(--foreground) 10%, transparent);border-radius:.75rem;gap:0;padding:0;overflow:hidden;box-shadow:0 16px 48px #0000001f}.ui-modal.novel-v2-new-book-modal .ui-modal__header,.ui-modal.novel-v2-edit-book-modal .ui-modal__header{border-bottom:0;flex-shrink:0;padding:1.25rem 1.25rem 0;position:relative}@media (width>=640px){.ui-modal.novel-v2-new-book-modal .ui-modal__header,.ui-modal.novel-v2-edit-book-modal .ui-modal__header{padding-left:1.5rem;padding-right:1.5rem}}.ui-modal.novel-v2-new-book-modal .ui-modal__heading h2,.ui-modal.novel-v2-edit-book-modal .ui-modal__heading h2{font-family:var(--font-serif);color:var(--foreground);font-size:1.25rem;font-weight:600;line-height:1.2}.ui-modal.novel-v2-new-book-modal .ui-modal__heading p,.ui-modal.novel-v2-edit-book-modal .ui-modal__heading p{color:var(--muted-foreground);margin-top:.375rem;font-size:.875rem}.ui-modal.novel-v2-new-book-modal .ui-modal__body,.ui-modal.novel-v2-edit-book-modal .ui-modal__body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:1rem 1.25rem;overflow:hidden auto}@media (width>=640px){.ui-modal.novel-v2-new-book-modal .ui-modal__body,.ui-modal.novel-v2-edit-book-modal .ui-modal__body{padding-left:1.5rem;padding-right:1.5rem}}.ui-modal.novel-v2-new-book-modal .ui-modal__footer,.ui-modal.novel-v2-edit-book-modal .ui-modal__footer{border-top:1px solid color-mix(in oklch, var(--border) 70%, transparent);background:var(--card);flex-shrink:0;margin:0;padding:1rem 1.25rem}@media (width>=640px){.ui-modal.novel-v2-new-book-modal .ui-modal__footer,.ui-modal.novel-v2-edit-book-modal .ui-modal__footer{padding-left:1.5rem;padding-right:1.5rem}}.novel-v2-btn{height:2rem;font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.375rem;padding:0 .625rem;font-size:.875rem;font-weight:500;transition:background .15s,opacity .15s,color .15s;display:inline-flex}.novel-v2-btn--sm{height:1.75rem;padding:0 .625rem;font-size:.8rem}.novel-v2-btn:disabled{opacity:.5;cursor:not-allowed}.novel-v2-btn--primary{background:var(--primary);color:var(--primary-foreground)}.novel-v2-btn--primary:hover:not(:disabled){opacity:.9}.novel-v2-btn--ghost{color:var(--foreground);background:0 0}.novel-v2-btn--ghost:hover:not(:disabled){background:var(--muted)}.novel-v2-btn--outline{background:var(--background);color:var(--foreground);border-color:var(--border)}.novel-v2-btn--outline:hover:not(:disabled){background:var(--muted)}.novel-v2-btn--muted{color:var(--muted-foreground)}.ui-modal.novel-v2-new-book-modal .ui-modal__header>.ui-button,.ui-modal.novel-v2-edit-book-modal .ui-modal__header>.ui-button{color:var(--muted-foreground);border-radius:.5rem;margin:-.25rem -.25rem 0 0}.ui-modal.novel-v2-new-book-modal .ui-modal__header>.ui-button:hover,.ui-modal.novel-v2-edit-book-modal .ui-modal__header>.ui-button:hover{background:var(--muted);color:var(--foreground)}.novel-v2-direction-skeleton{flex-direction:column;gap:.5rem;display:flex}.novel-v2-direction-skeleton span{background:color-mix(in oklch, var(--accent) 12%, transparent);border-radius:.25rem;height:.75rem;animation:1.2s ease-in-out infinite novel-v2-pulse;display:block}.novel-v2-direction-skeleton span:first-child{background:color-mix(in oklch, var(--accent) 20%, transparent);width:33%;height:1rem}.novel-v2-direction-skeleton span:nth-child(2){width:100%}.novel-v2-direction-skeleton span:nth-child(3){width:80%}@keyframes novel-v2-pulse{0%,to{opacity:.55}50%{opacity:1}}.ui-modal .novel-v2-label,.ui-modal .novel-v2-ack{width:100%;margin-bottom:0}.novel-v2-actions{flex-wrap:wrap;gap:.5rem;display:flex}.novel-v2-actions--stack{flex-direction:column}.novel-v2-actions--stack .secondary-button,.novel-v2-actions--stack .primary-button,.novel-v2-ai-section .primary-button,.novel-v2-ai-section .secondary-button{justify-content:center;width:100%}.novel-v2-direction{border:1px solid color-mix(in oklch, var(--accent) 30%, transparent);background:color-mix(in oklch, var(--accent) 5%, transparent);border-radius:.5rem;flex-direction:column;gap:.625rem;padding:1rem;display:flex}.novel-v2-direction-head{color:var(--accent);align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:flex}.novel-v2-direction h3{font-family:var(--font-serif);margin:0;font-size:1rem;font-weight:600}.novel-v2-tagline{color:var(--accent);margin:0;font-size:.875rem;font-weight:500}.novel-v2-direction p{color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.6}.novel-v2-text-action{color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:.375rem;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.novel-v2-text-action:hover:not(:disabled){background:color-mix(in oklch, var(--accent) 10%, transparent)}.novel-v2-workspace{background:var(--background);flex:1;width:100%;max-width:100rem;height:100%;min-height:0;margin:0 auto;display:flex}.novel-v2-rail-chapters,.novel-v2-rail-ai{flex-direction:column;min-height:0;display:flex}.novel-v2-rail-chapters{border-right:1px solid color-mix(in oklch, var(--border) 70%, transparent);background:var(--sidebar);width:16rem;color:var(--sidebar-foreground)}.novel-v2-rail-ai{border-left:1px solid color-mix(in oklch, var(--border) 70%, transparent);background:var(--card);width:20rem}@media (width<=1023px){.novel-v2-rail-ai{display:none}}@media (width<=767px){.novel-v2-rail-chapters{display:none}}.novel-v2-rail-head{border-bottom:1px solid color-mix(in oklch, var(--border) 70%, transparent);padding:.75rem 1rem}.novel-v2-rail-head h2{font-family:var(--font-serif);color:var(--foreground);margin:.5rem 0 0;font-size:1rem;font-weight:600;line-height:1.25}.novel-v2-rail-meta{color:var(--muted-foreground);align-items:center;gap:.5rem;margin-top:.375rem;font-size:11px;display:flex}.novel-v2-pill{background:var(--secondary);color:var(--secondary-foreground);border-radius:.375rem;padding:.125rem .5rem;font-size:10px;font-weight:400;display:inline-flex}.novel-v2-back-link{color:var(--muted-foreground);cursor:pointer;font-size:.75rem;font:inherit;background:0 0;border:0;align-items:center;gap:.125rem;padding:0;transition:color .15s;display:inline-flex}.novel-v2-back-link:hover{color:var(--foreground)}.novel-v2-chapter-list-head{color:var(--muted-foreground);justify-content:space-between;align-items:center;padding:.625rem 1rem;font-size:.75rem;font-weight:500;display:flex}.novel-v2-chapter-list-scroll{flex-direction:column;flex:1;gap:.125rem;min-height:0;padding:0 .5rem 1rem;display:flex;overflow:auto}.novel-v2-chapter-item{width:100%;color:var(--foreground);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:.5rem;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;transition:background .15s;display:flex}.novel-v2-chapter-item:hover:not(:disabled){background:color-mix(in oklch, var(--secondary) 60%, transparent)}.novel-v2-chapter-item.is-active{background:var(--secondary)}.novel-v2-chapter-item:disabled{opacity:.75;cursor:default}.novel-v2-chapter-status{flex-shrink:0;margin-top:.125rem}.novel-v2-status-outline{color:var(--muted-foreground)}.novel-v2-status-generating,.novel-v2-status-done{color:var(--accent)}.novel-v2-chapter-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.novel-v2-chapter-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;display:block;overflow:hidden}.novel-v2-chapter-item-summary{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;display:block;overflow:hidden}.novel-v2-chapter-item small{color:var(--muted-foreground);font-size:11px}.novel-v2-chapter-empty{text-align:center;padding:1.5rem .5rem}.novel-v2-editor{background:var(--background);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.novel-v2-mobile-bar{border-bottom:1px solid color-mix(in oklch, var(--border) 70%, transparent);align-items:center;gap:.5rem;padding:.5rem .75rem;display:none}@media (width<=767px){.novel-v2-mobile-bar{display:flex}}.novel-v2-mobile-bar span{text-align:center;min-width:0;font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;font-weight:600;overflow:hidden}.novel-v2-mobile-bar button{color:var(--muted-foreground);cursor:pointer;font-size:.75rem;font:inherit;background:0 0;border:0;border-radius:.375rem;flex-shrink:0;align-items:center;gap:.25rem;padding:.375rem .5rem;display:inline-flex}.novel-v2-mobile-bar button:last-child,.novel-v2-mobile-bar .novel-v2-mobile-ai{color:var(--accent)}.novel-v2-mobile-bar button:hover,.novel-v2-mobile-bar .novel-v2-mobile-ai:hover{background:var(--secondary)}.novel-v2-mobile-bar .novel-v2-mobile-ai:hover{background:color-mix(in oklch, var(--accent) 10%, transparent)}.novel-v2-editor-toolbar{border-bottom:1px solid color-mix(in oklch, var(--border) 70%, transparent);justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.novel-v2-editor-toolbar-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}@media (width<=767px){.novel-v2-editor-toolbar .novel-v2-editor-generate{display:none}}@media (width>=640px){.novel-v2-editor-toolbar{padding-left:1.5rem;padding-right:1.5rem}}.novel-v2-editor-title{font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--foreground);font-size:1rem;font-weight:600;overflow:hidden}@media (width>=640px){.novel-v2-editor-title{font-size:1.125rem}}.novel-v2-editor-generate-label{display:none}@media (width>=640px){.novel-v2-editor-generate-label{display:inline}}.novel-v2-editor-synopsis{border-bottom:1px solid color-mix(in oklch, var(--border) 70%, transparent);background:color-mix(in oklch, var(--secondary) 30%, transparent);color:var(--muted-foreground);padding:.625rem 1rem;font-size:.875rem}@media (width>=640px){.novel-v2-editor-synopsis{padding-left:1.5rem;padding-right:1.5rem}}.novel-v2-editor-body{flex:1;min-height:0;padding:1.5rem 1rem;overflow:auto}@media (width>=640px){.novel-v2-editor-body{padding:2rem 1.5rem}}.novel-v2-editor-content{max-width:42rem;font-family:var(--font-serif);white-space:pre-wrap;word-break:break-word;color:var(--foreground);margin:0 auto;font-size:15px;line-height:1.9}.novel-v2-editor-empty{min-height:50vh;color:var(--muted-foreground);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.novel-v2-editor-empty--page{flex:1;min-height:0}.novel-v2-editor-empty-icon,.novel-v2-editor-empty>svg,.novel-v2-editor-empty>span:not(.novel-v2-editor-empty-icon){background:var(--secondary);width:3.5rem;height:3.5rem;color:var(--muted-foreground);border-radius:999px;justify-content:center;align-items:center;display:flex}.novel-v2-editor-footer{border-top:1px solid color-mix(in oklch, var(--border) 70%, transparent);color:var(--muted-foreground);justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:.75rem;display:flex}@media (width>=640px){.novel-v2-editor-footer{padding-left:1.5rem;padding-right:1.5rem}}.novel-v2-editor-footer span{align-items:center;gap:.375rem;display:inline-flex}.novel-v2-ai-panel{background:var(--card);height:100%;min-height:0;color:var(--card-foreground);flex-direction:column;display:flex}.novel-v2-ai-panel-head{border-bottom:1px solid color-mix(in oklch, var(--border) 70%, transparent);color:var(--accent);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.novel-v2-ai-panel-head h2{color:var(--foreground);margin:0;font-size:.875rem;font-weight:600}.novel-v2-ai-tabs{background:var(--secondary);border-radius:.5rem;grid-template-columns:repeat(4,1fr);gap:0;margin:.75rem;padding:.2rem;display:grid}.novel-v2-ai-tabs button{color:var(--muted-foreground);cursor:pointer;font-size:.75rem;font:inherit;background:0 0;border:0;border-radius:.375rem;padding:.375rem .25rem}.novel-v2-ai-tabs button.is-active{background:var(--background);color:var(--foreground);font-weight:500;box-shadow:0 1px 2px #0000000f}.novel-v2-ai-panel-body{flex:1;min-height:0;padding:0 1rem 1rem;overflow:auto}.novel-v2-ai-btn{width:100%}.novel-v2-ai-actions-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.novel-v2-ai-empty{text-align:center;padding:.5rem 0}.novel-v2-ai-char-cards{flex-direction:column;gap:.5rem;display:flex}.novel-v2-ai-char-card{border:1px solid var(--border);background:var(--card);border-radius:.5rem;padding:.75rem}.novel-v2-ai-char-card-head{align-items:center;gap:.5rem;display:flex}.novel-v2-ai-char-name{color:var(--foreground);font-size:.875rem;font-weight:500}.novel-v2-ai-char-role{background:var(--secondary);color:var(--muted-foreground);border-radius:.25rem;padding:.125rem .375rem;font-size:10px}.novel-v2-ai-section{flex-direction:column;gap:.75rem;display:flex}.novel-v2-ai-section-title{color:var(--foreground);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.novel-v2-ai-section-title svg{color:var(--accent)}.novel-v2-ai-card{border:1px solid var(--border);background:var(--card);border-radius:.5rem;flex-direction:column;gap:.375rem;padding:.75rem;font-size:.875rem;display:flex}.novel-v2-ai-card p{color:var(--muted-foreground);margin:0;font-size:.75rem;line-height:1.6}.novel-v2-ai-stats{background:color-mix(in oklch, var(--secondary) 50%, transparent)}.novel-v2-ai-stats div{justify-content:space-between;gap:.5rem;font-size:.75rem;display:flex}.novel-v2-ai-stats span{color:var(--muted-foreground)}.novel-v2-ai-char-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.novel-v2-ai-char-list li{border:1px solid var(--border);background:var(--card);border-radius:.5rem;padding:.75rem;font-size:.875rem;font-weight:500}.novel-v2-ai-outline-list,.novel-v2-ai-outline-list-flat{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.novel-v2-ai-outline-list details{border:1px solid var(--border);background:var(--card);border-radius:.5rem;padding:.5rem .75rem}.novel-v2-ai-outline-list summary{cursor:pointer;font-size:.75rem;font-weight:600}.novel-v2-ai-outline-list ol,.novel-v2-ai-outline-list-flat{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding-left:1rem;display:flex}.novel-v2-ai-outline-list li,.novel-v2-ai-outline-list-flat li{font-size:.75rem}.novel-v2-ai-outline-list li p,.novel-v2-ai-outline-list-flat li p{color:var(--muted-foreground);margin:.25rem 0 0}.novel-v2-written-tag{background:var(--secondary);color:var(--muted-foreground);vertical-align:middle;border-radius:.25rem;margin-left:.375rem;padding:.05rem .4rem;font-size:10px;font-style:normal;font-weight:500;display:inline-block}.novel-v2-adult-tag{background:color-mix(in oklch, var(--destructive) 14%, transparent);color:var(--destructive);vertical-align:middle;border-radius:.25rem;margin-left:.375rem;padding:.05rem .4rem;font-size:10px;font-style:normal;font-weight:600;display:inline-block}.novel-v2-chapter-item-title .novel-v2-adult-tag{margin-left:.375rem}.novel-v2-task{border-left:3px solid var(--accent);background:color-mix(in oklch, var(--accent) 8%, transparent);color:var(--muted-foreground);border-radius:0 .375rem .375rem 0;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.novel-v2-task.is-failed{border-left-color:var(--destructive)}.novel-v2-sheet-backdrop{z-index:40;background:#00000059;border:0;position:fixed;inset:0}.novel-v2-sheet{z-index:50;background:var(--card);width:min(88vw,20rem);color:var(--card-foreground);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;box-shadow:0 8px 30px #0000002e}.novel-v2-sheet--left{left:0}.novel-v2-sheet--right{width:min(88vw,24rem);right:0}.novel-v2-sheet-back{border-top:1px solid color-mix(in oklch, var(--border) 70%, transparent);margin-top:auto;padding:.75rem 1rem}.novel-v2-page .form-feedback{margin:0 1.5rem}.novel-v2-page .form-feedback--error{color:var(--destructive);background:color-mix(in oklch, var(--destructive) 8%, transparent);border:1px solid color-mix(in oklch, var(--destructive) 25%, transparent);border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem}@media (width>=768px){.novel-v2-sheet,.novel-v2-sheet-backdrop{display:none!important}}.novel-v2-ai-section-title--sub{margin-top:1rem}.novel-v2-ai-control-card p{font-size:.8125rem}.novel-v2-review-banner{border:1px solid color-mix(in oklch, var(--primary) 35%, var(--border));background:color-mix(in oklch, var(--primary) 8%, transparent);color:var(--foreground);border-radius:.5rem;align-items:center;gap:.5rem;margin:0 1rem .75rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.novel-v2-ai-review-cols{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=900px){.novel-v2-ai-review-cols{grid-template-columns:1fr 1fr}}.novel-v2-ai-review-text{white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);background:color-mix(in oklch, var(--secondary) 40%, transparent);border-radius:.375rem;max-height:16rem;margin:.375rem 0 0;padding:.5rem;font-family:inherit;font-size:.75rem;line-height:1.55;overflow:auto}.tool-detail-page.inspiration-page{--inspiration-ink:#171717;--inspiration-line:#1a1a1a;--inspiration-panel:#f4f1ea;--inspiration-card:#fff;--inspiration-accent:#f5d76e;--inspiration-chip:#dbeafe;--inspiration-chip-text:#1d4ed8;box-sizing:border-box;width:100%;max-width:none;margin:0;padding-block:clamp(.65rem,1.5vw,1.15rem) clamp(2rem,4vw,3.5rem);padding-inline:clamp(.35rem,.8vw,.65rem)}.inspiration-main{width:100%;min-width:0}.inspiration-hero{padding-inline:.15rem;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.15rem;margin-bottom:1.15rem;padding-bottom:.35rem;display:flex}.inspiration-hero__title{align-items:baseline;gap:.55rem;min-width:0;display:flex}.inspiration-hero h1{letter-spacing:-.03em;color:var(--inspiration-ink);margin:0;font-size:clamp(1.35rem,3vw,1.7rem);font-weight:700;line-height:1.15}.inspiration-hero__count{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:600}.inspiration-fab__scrim{z-index:55;background:color-mix(in srgb, var(--inspiration-ink) 18%, transparent);cursor:pointer;border:0;margin:0;padding:0;position:fixed;inset:0}.inspiration-fab{right:max(1rem, env(safe-area-inset-right,0px));bottom:max(5.5rem, calc(4.5rem + env(safe-area-inset-bottom,0px)));z-index:60;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed}.inspiration-fab>*{pointer-events:auto}.inspiration-fab__ball{border:1px solid color-mix(in srgb, var(--inspiration-line) 55%, transparent);background:var(--inspiration-accent);width:3.25rem;height:3.25rem;color:var(--inspiration-ink);box-shadow:0 10px 28px color-mix(in srgb, var(--inspiration-ink) 16%, transparent), 1px 1px 0 var(--inspiration-line);cursor:pointer;transition:transform var(--duration-fast), box-shadow var(--duration-fast);border-radius:999px;place-items:center;display:grid;position:relative}.inspiration-fab__ball:hover{transform:translateY(-2px)scale(1.03)}.inspiration-fab.is-filtered .inspiration-fab__ball{box-shadow:0 10px 28px color-mix(in srgb, var(--inspiration-ink) 16%, transparent), 1px 1px 0 var(--inspiration-line), 0 0 0 3px color-mix(in srgb, var(--inspiration-chip-text) 35%, transparent)}.inspiration-fab__dot{background:var(--inspiration-chip-text);width:.55rem;height:.55rem;box-shadow:0 0 0 2px var(--inspiration-accent);border-radius:999px;position:absolute;top:.45rem;right:.45rem}.inspiration-fab__panel{box-sizing:border-box;border:2px solid var(--inspiration-line);background:var(--inspiration-panel);width:min(22rem,100vw - 2.25rem);max-height:min(34rem,100vh - 8.5rem);box-shadow:4px 4px 0 var(--inspiration-line);border-radius:1.35rem;flex-direction:column;gap:.7rem;padding:.95rem .95rem .85rem;animation:.18s ease-out inspiration-fab-in;display:flex;overflow:auto}@keyframes inspiration-fab-in{0%{opacity:0;transform:translateY(.6rem)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.inspiration-fab__panel-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.inspiration-fab__title{color:var(--inspiration-ink);letter-spacing:-.02em;margin:0;font-size:.95rem;font-weight:700}.inspiration-fab__sort{border:1.5px solid var(--inspiration-line);background:var(--inspiration-card);width:2rem;height:2rem;color:var(--inspiration-ink);cursor:pointer;border-radius:999px;place-items:center;display:grid}.inspiration-fab__sort[aria-pressed=true]{background:var(--inspiration-accent);box-shadow:2px 2px 0 var(--inspiration-line)}.inspiration-search{border:1.5px solid var(--inspiration-line);background:var(--inspiration-card);min-height:2.45rem;color:color-mix(in srgb, var(--inspiration-ink) 55%, transparent);border-radius:999px;align-items:center;gap:.45rem;padding:0 .85rem;display:flex}.inspiration-search input{width:100%;min-width:0;min-height:0;box-shadow:none;color:var(--inspiration-ink);font:inherit;background:0 0;border:0;border-radius:0;outline:none;padding:0;font-size:.88rem;line-height:1.2}.inspiration-search input:hover,.inspiration-search input:focus,.inspiration-search input:focus-visible{box-shadow:none;border:0;outline:none}.inspiration-fab__tabs{flex-wrap:wrap;gap:.4rem;display:flex}.inspiration-fab__tab{border:1.5px solid var(--inspiration-line);background:var(--inspiration-card);min-height:1.9rem;color:var(--inspiration-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .75rem;font-size:.78rem;font-weight:650;display:inline-flex}.inspiration-fab__tab.is-active{background:var(--inspiration-ink);color:#fff}.inspiration-fab__tab-count{background:var(--inspiration-accent);min-width:1rem;height:1rem;color:var(--inspiration-ink);border-radius:999px;place-items:center;padding:0 .2rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-grid}.inspiration-fab__tab.is-active .inspiration-fab__tab-count{background:#fff}.inspiration-fab__section{border-top:1px solid color-mix(in srgb, var(--inspiration-line) 28%, transparent);flex-direction:column;gap:.55rem;padding-top:.55rem;display:flex}.inspiration-fab__section-label{color:color-mix(in srgb, var(--inspiration-ink) 55%, transparent);margin:0;font-size:.78rem;font-weight:600}.inspiration-fab__search-btn{border:1.5px solid var(--inspiration-line);width:100%;box-shadow:2px 2px 0 var(--inspiration-line);justify-content:center}.inspiration-styles{-webkit-overflow-scrolling:touch;flex-wrap:wrap;gap:.4rem;max-height:14rem;padding:.1rem .1rem .2rem;display:flex;overflow-y:auto}.inspiration-style{border:1.5px solid var(--inspiration-line);background:var(--inspiration-card);min-height:1.85rem;color:var(--inspiration-ink);font:inherit;cursor:pointer;transition:background var(--duration-fast), transform var(--duration-fast), box-shadow var(--duration-fast);border-radius:999px;flex:none;padding:.22rem .7rem;font-size:.78rem;font-weight:600;line-height:1.2;position:relative}.inspiration-style:hover{transform:translateY(-1px)}.inspiration-style.is-active{background:var(--inspiration-accent);box-shadow:2px 2px 0 var(--inspiration-line)}.inspiration-style.is-active:after{content:"";background:#ef5d7a;border-radius:999px;width:.38rem;height:.38rem;position:absolute;top:.22rem;right:.28rem}.gallery-grid{align-items:start;gap:clamp(.55rem,1vw,.75rem);width:100%;display:grid}.gallery-grid__column{flex-direction:column;gap:clamp(.55rem,1vw,.75rem);min-width:0;display:flex}.gallery-grid--loading{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.55rem,1vw,.75rem);display:grid}.gallery-card{border:1.5px solid var(--inspiration-line);background:var(--inspiration-card);width:100%;box-shadow:2px 2px 0 var(--inspiration-line);border-radius:.95rem;gap:.55rem;margin:0;padding:.55rem;display:grid;overflow:hidden}.gallery-card__head{color:var(--color-text-tertiary);justify-content:space-between;align-items:center;gap:.4rem;padding:0 .05rem;font-size:.68rem;display:flex}.gallery-card__author{color:var(--inspiration-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.gallery-card__media{border:1.5px solid var(--inspiration-line);background:var(--color-surface-tonal);cursor:pointer;border-radius:.75rem;width:100%;margin:0;padding:0;line-height:0;display:block;position:relative;overflow:hidden}.gallery-card__media:focus-visible{outline:3px solid color-mix(in srgb, var(--inspiration-accent) 70%, var(--inspiration-line));outline-offset:2px}.gallery-card__media img{object-fit:contain;object-position:center;width:100%;max-width:100%;height:auto;display:block}.gallery-card__badge{border:1.5px solid var(--inspiration-line);background:var(--inspiration-accent);max-width:calc(100% - .9rem);color:var(--inspiration-ink);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:.15rem .4rem;font-size:.58rem;font-weight:700;position:absolute;top:.4rem;right:.4rem;overflow:hidden}.gallery-card__body{gap:.4rem;padding:0 .05rem .05rem;display:grid}.gallery-card__prompt-link{color:var(--inspiration-ink);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;margin:0;padding:0;font-size:.72rem;font-weight:700}.gallery-card__prompt-link:hover{text-underline-offset:.18em;text-decoration:underline}.gallery-card__tags{flex-wrap:wrap;gap:.25rem;display:flex}.gallery-card__tags span{background:var(--inspiration-chip);color:var(--inspiration-chip-text);border-radius:999px;padding:.12rem .4rem;font-size:.62rem;font-weight:650}.gallery-card__cta{border:1.5px solid var(--inspiration-line);background:var(--inspiration-ink);color:#fff;width:100%;min-height:2rem;font:inherit;cursor:pointer;transition:transform var(--duration-fast), background var(--duration-fast);border-radius:.65rem;justify-content:center;align-items:center;gap:.3rem;margin-top:.05rem;font-size:.72rem;font-weight:700;display:inline-flex}.gallery-card__cta:hover{background:#000;transform:translateY(-1px)}.gallery-card__cta:focus-visible{outline:3px solid color-mix(in srgb, var(--inspiration-accent) 70%, var(--inspiration-line));outline-offset:2px}.gallery-load-more{justify-content:center;align-items:center;min-height:2.5rem;margin:1.5rem 0 .5rem;display:flex}.gallery-load-more-status{color:var(--color-text-tertiary);align-items:center;gap:.45rem;margin:0;font-size:.875rem;display:inline-flex}.gallery-card-source{color:var(--color-text-tertiary);margin:0;font-size:.78rem}.gallery-card-source a{color:inherit;text-decoration:none}.gallery-card-source a:hover{text-decoration:underline}.gallery-card-prompt{color:var(--color-text);white-space:pre-wrap;word-break:break-word;max-height:min(40vh,18rem);margin:0;font-size:.9rem;line-height:1.65;overflow:auto}.inspiration-delete-button{color:var(--color-danger,#b42318);margin-right:auto}.inspiration-delete-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-danger,#b42318) 40%, var(--color-border));background:color-mix(in srgb, var(--color-danger,#b42318) 8%, var(--color-surface))}.inspiration-detail-modal.ui-modal--wide{--inspiration-ink:#171717;--inspiration-line:#1a1a1a;--inspiration-panel:#f4f1ea;--inspiration-accent:#f5d76e;--inspiration-chip:#dbeafe;--inspiration-chip-text:#1d4ed8;border:2px solid var(--inspiration-line);background:var(--inspiration-panel);width:min(96vw,56rem);max-width:min(96vw,56rem);max-height:min(94vh,920px);box-shadow:4px 4px 0 var(--inspiration-line);border-radius:1.35rem}.inspiration-detail-modal .ui-modal__header{border-bottom:0;flex-shrink:0;padding:.85rem 1rem .35rem}.inspiration-detail-modal .ui-modal__heading h2{letter-spacing:-.03em;color:var(--inspiration-ink);font-size:clamp(1.2rem,3vw,1.55rem);font-weight:750;line-height:1.2}.inspiration-detail-modal .ui-modal__body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:.25rem .85rem .85rem;overflow:hidden auto}.inspiration-detail-modal .ui-modal__footer{border-top:1.5px solid color-mix(in srgb, var(--inspiration-line) 18%, transparent);background:var(--inspiration-panel);flex-shrink:0;padding:.75rem 1rem}.inspiration-detail{flex-direction:column;gap:.75rem;min-height:0;display:flex}.inspiration-detail-media{border:2px solid var(--inspiration-line);box-shadow:3px 3px 0 var(--inspiration-line);background:#111;border-radius:1rem;flex:0 auto;justify-content:center;align-items:center;min-height:10rem;margin:0;display:flex;position:relative;overflow:hidden}.inspiration-detail-media img{object-fit:contain;background:#111;width:100%;height:auto;max-height:min(62vh,34rem);display:block}.inspiration-detail-modal.is-prompt-open .inspiration-detail-media img{max-height:min(42vh,24rem)}.inspiration-detail-nav{z-index:2;border:2px solid var(--inspiration-line);width:2.4rem;height:2.4rem;color:var(--inspiration-ink);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.inspiration-detail-nav:hover:not(:disabled){background:var(--inspiration-accent)}.inspiration-detail-nav:disabled{opacity:.35;cursor:not-allowed}.inspiration-detail-nav--prev{left:.55rem}.inspiration-detail-nav--next{right:.55rem}.inspiration-detail-dots{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffc7;border-radius:999px;gap:.35rem;padding:.28rem .45rem;display:flex;position:absolute;bottom:.7rem;left:50%;transform:translate(-50%)}.inspiration-detail-dots span{border:1.5px solid var(--inspiration-line);background:#fff;border-radius:999px;width:.45rem;height:.45rem}.inspiration-detail-dots span.is-active{background:var(--inspiration-ink)}.inspiration-prompt-panel{z-index:2;flex:none;gap:.55rem;display:grid;position:relative}.inspiration-prompt-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.inspiration-prompt-panel__toggle{color:var(--inspiration-ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;margin:0;padding:.35rem .25rem;display:inline-flex}.inspiration-prompt-panel__toggle svg{transition:transform var(--duration-fast);flex:none}.inspiration-prompt-panel.is-open .inspiration-prompt-panel__toggle svg{transform:rotate(180deg)}.inspiration-prompt-panel__toggle h3{color:var(--inspiration-ink);margin:0;font-size:1rem;font-weight:750}.inspiration-prompt-panel__toggle span{color:var(--color-text-tertiary);font-size:.78rem;font-weight:550}.inspiration-prompt-panel__actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.inspiration-prompt-panel__cta{border:2px solid var(--inspiration-line);background:var(--inspiration-ink);color:#fff;min-height:2.35rem;font:inherit;cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .9rem;font-size:.86rem;font-weight:700;display:inline-flex}.inspiration-prompt-panel__cta:hover{background:#000}.inspiration-prompt-panel__icon{border:2px solid var(--inspiration-line);width:2.35rem;height:2.35rem;color:var(--inspiration-ink);cursor:pointer;background:#fff;border-radius:.75rem;justify-content:center;align-items:center;display:inline-flex}.inspiration-prompt-panel__icon:hover{background:var(--inspiration-accent)}.inspiration-prompt-panel__sheet{border:2px solid var(--inspiration-line);box-shadow:2px 2px 0 var(--inspiration-line);background:#fff8db;border-radius:1rem;padding:.9rem 1rem}.inspiration-prompt-panel__text{color:var(--inspiration-ink);white-space:pre-wrap;word-break:break-word;max-height:none;margin:0;font-size:.92rem;line-height:1.7;overflow:visible}.inspiration-prompt-mark{border:1.5px solid color-mix(in srgb, var(--inspiration-chip-text) 55%, #93c5fd);background:var(--inspiration-chip);color:var(--inspiration-chip-text);border-radius:.45rem;padding:.05rem .28rem;font-weight:650}.inspiration-detail .gallery-card-source{flex:none;margin:0}@media (width<=720px){.ui-modal-backdrop:has(>.inspiration-detail-modal){align-items:stretch;padding:0}.inspiration-detail-modal.ui-modal--wide{width:100vw;max-width:100vw;min-height:100dvh;max-height:100dvh;box-shadow:none;border-left:0;border-right:0;border-radius:0}.inspiration-detail-modal .ui-modal__header,.inspiration-detail-modal .ui-modal__body,.inspiration-detail-modal .ui-modal__footer{padding-inline:.75rem}.inspiration-detail-media{border-radius:.85rem}.inspiration-detail-media img{max-height:min(52dvh,26rem)}.inspiration-detail-modal.is-prompt-open .inspiration-detail-media img{max-height:min(36dvh,18rem)}.inspiration-detail-nav{width:2.15rem;height:2.15rem}.inspiration-detail-nav--prev{left:.4rem}.inspiration-detail-nav--next{right:.4rem}.inspiration-prompt-panel__head{align-items:stretch}.inspiration-prompt-panel__actions{width:100%}.inspiration-prompt-panel__cta{flex:auto}}.inspiration-submit{flex-direction:column;gap:1rem;display:flex}.inspiration-submit-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;display:flex}.inspiration-submit-tabs button{color:var(--color-text-tertiary);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .75rem}.inspiration-submit-tabs button.active{color:var(--color-text);border-bottom-color:var(--color-text)}.inspiration-submit-section{gap:.75rem;display:grid}.inspiration-submit-section h3{color:var(--color-text);margin:0;font-size:.9rem;font-weight:650}.inspiration-submit-preview{box-sizing:border-box;background:var(--color-surface-tonal);border-radius:1rem;justify-content:center;align-items:center;width:100%;min-height:10rem;padding:1rem;display:flex;overflow:hidden}.inspiration-submit-preview img{object-fit:contain;max-width:100%;max-height:20rem}.inspiration-submit-preview-empty{color:var(--color-text-tertiary);flex-direction:column;align-items:center;gap:.5rem;display:flex}.inspiration-submit>label,.inspiration-submit .form-grid label,.inspiration-submit-section label{color:var(--color-text-secondary);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.inspiration-submit .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;display:grid}.inspiration-submit-file{border:1px dashed var(--color-border-strong);color:var(--color-text-secondary);cursor:pointer;border-radius:1rem;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1rem;display:flex;position:relative}.inspiration-submit-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.inspiration-submit-footer{justify-content:flex-end;gap:.5rem;display:flex}@media (prefers-reduced-motion:reduce){.inspiration-style,.gallery-card__cta,.inspiration-fab__ball{transition:none}.inspiration-fab__panel{animation:none}.inspiration-style:hover,.gallery-card__cta:hover,.inspiration-fab__ball:hover{transform:none}}@media (width<=1480px){.gallery-grid--loading{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1180px){.gallery-grid--loading{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=960px){.gallery-grid--loading{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.tool-detail-page.inspiration-page{width:calc(100% - 1.25rem);padding-block:1.15rem calc(2.5rem + env(safe-area-inset-bottom,0px));padding-inline:.65rem}.inspiration-hero h1{font-size:1.25rem}.gallery-grid--loading{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.gallery-card{box-shadow:2px 2px 0 var(--inspiration-line);border-width:1.5px;border-radius:.95rem;gap:.5rem;padding:.55rem}.gallery-card__head{gap:.35rem;font-size:.68rem}.gallery-card__media{border-width:1.5px;border-radius:.75rem}.gallery-card__badge{padding:.2rem .4rem;font-size:.62rem;top:.4rem;right:.4rem}.gallery-card__tags{gap:.3rem}.gallery-card__tags span{padding:.15rem .4rem;font-size:.62rem}.gallery-card__cta{min-height:2rem;padding:.35rem .55rem;font-size:.72rem}}.tool-detail-page.prompt-recommend-page{--prompt-ink:#10241f;--prompt-line:#16332c;--prompt-panel:#e8f4ef;--prompt-card:#fff;--prompt-accent:#ff6b5a;--prompt-sheet:#dff7ec;--prompt-chip:#d8f5e8;--prompt-chip-text:#0f766e;--prompt-glow:#2dd4a82e;box-sizing:border-box;background:radial-gradient(ellipse 70% 45% at 8% -10%, var(--prompt-glow), transparent 55%), radial-gradient(ellipse 55% 40% at 96% 8%, color-mix(in srgb, var(--prompt-accent) 12%, transparent), transparent 50%), linear-gradient(180deg, #f4fbf8 0%, #eef6f2 48%, #f7faf8 100%);width:100%;max-width:none;margin:0;padding-block:clamp(.65rem,1.5vw,1.15rem) clamp(2rem,4vw,3.5rem);padding-inline:clamp(.35rem,.8vw,.65rem)}.prompt-recommend-main{width:100%;min-width:0}.prompt-recommend-hero{padding-inline:.15rem;flex-direction:column;gap:.45rem;margin-top:.15rem;margin-bottom:1.15rem;padding-bottom:.35rem;display:flex}.prompt-recommend-hero__title{align-items:baseline;gap:.55rem;min-width:0;display:flex}.prompt-recommend-hero h1{letter-spacing:-.03em;color:var(--prompt-ink);margin:0;font-size:clamp(1.35rem,3vw,1.7rem);font-weight:750;line-height:1.15}.prompt-recommend-hero__count{color:color-mix(in srgb, var(--prompt-ink) 45%, transparent);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:650}.prompt-recommend-hero__lede{max-width:28rem;color:color-mix(in srgb, var(--prompt-ink) 62%, transparent);margin:0;font-size:.88rem;line-height:1.5}.prompt-recommend-fab__scrim{z-index:55;background:color-mix(in srgb, var(--prompt-ink) 22%, transparent);cursor:pointer;border:0;margin:0;padding:0;position:fixed;inset:0}.prompt-recommend-fab{right:max(1rem, env(safe-area-inset-right,0px));bottom:max(5.5rem, calc(4.5rem + env(safe-area-inset-bottom,0px)));z-index:60;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed}.prompt-recommend-fab>*{pointer-events:auto}.prompt-recommend-fab__ball{border:1px solid color-mix(in srgb, var(--prompt-line) 55%, transparent);background:var(--prompt-accent);color:#fff;width:3.25rem;height:3.25rem;box-shadow:0 10px 28px color-mix(in srgb, var(--prompt-ink) 16%, transparent), 1px 1px 0 var(--prompt-line);cursor:pointer;transition:transform var(--duration-fast), box-shadow var(--duration-fast);border-radius:999px;place-items:center;display:grid;position:relative}.prompt-recommend-fab__ball:hover{transform:translateY(-2px)scale(1.03)}.prompt-recommend-fab.is-filtered .prompt-recommend-fab__ball{box-shadow:0 10px 28px color-mix(in srgb, var(--prompt-ink) 16%, transparent), 1px 1px 0 var(--prompt-line), 0 0 0 3px color-mix(in srgb, var(--prompt-chip-text) 40%, transparent)}.prompt-recommend-fab__dot{background:var(--prompt-sheet);width:.55rem;height:.55rem;box-shadow:0 0 0 2px var(--prompt-accent);border-radius:999px;position:absolute;top:.45rem;right:.45rem}.prompt-recommend-fab__panel{box-sizing:border-box;border:2px solid var(--prompt-line);background:var(--prompt-panel);width:min(22rem,100vw - 2.25rem);max-height:min(34rem,100vh - 8.5rem);box-shadow:4px 4px 0 var(--prompt-line);border-radius:1.35rem;flex-direction:column;gap:.7rem;padding:.95rem .95rem .85rem;animation:.18s ease-out prompt-fab-in;display:flex;overflow:auto}@keyframes prompt-fab-in{0%{opacity:0;transform:translateY(.6rem)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.prompt-recommend-fab__panel-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.prompt-recommend-fab__title{color:var(--prompt-ink);letter-spacing:-.02em;margin:0;font-size:.95rem;font-weight:700}.prompt-recommend-search{border:1.5px solid var(--prompt-line);background:var(--prompt-card);min-height:2.45rem;color:color-mix(in srgb, var(--prompt-ink) 55%, transparent);border-radius:999px;align-items:center;gap:.45rem;padding:0 .85rem;display:flex}.prompt-recommend-search input{width:100%;min-width:0;min-height:0;box-shadow:none;color:var(--prompt-ink);font:inherit;background:0 0;border:0;border-radius:0;outline:none;padding:0;font-size:.88rem;line-height:1.2}.prompt-recommend-search input:hover,.prompt-recommend-search input:focus,.prompt-recommend-search input:focus-visible{box-shadow:none;border:0;outline:none}.prompt-recommend-fab__section{border-top:1px solid color-mix(in srgb, var(--prompt-line) 28%, transparent);flex-direction:column;gap:.55rem;padding-top:.55rem;display:flex}.prompt-recommend-fab__section-label{color:color-mix(in srgb, var(--prompt-ink) 55%, transparent);margin:0;font-size:.78rem;font-weight:600}.prompt-recommend-fab__search-btn{border:1.5px solid var(--prompt-line);background:var(--prompt-ink);width:100%;box-shadow:2px 2px 0 var(--prompt-line);justify-content:center}.prompt-recommend-styles{-webkit-overflow-scrolling:touch;flex-wrap:wrap;gap:.4rem;max-height:14rem;padding:.1rem .1rem .2rem;display:flex;overflow-y:auto}.prompt-recommend-style{border:1.5px solid var(--prompt-line);background:var(--prompt-card);min-height:1.85rem;color:var(--prompt-ink);font:inherit;cursor:pointer;transition:background var(--duration-fast), transform var(--duration-fast), box-shadow var(--duration-fast);border-radius:999px;flex:none;padding:.22rem .7rem;font-size:.78rem;font-weight:600;line-height:1.2;position:relative}.prompt-recommend-style:hover{transform:translateY(-1px)}.prompt-recommend-style.is-active{background:var(--prompt-accent);color:#fff;box-shadow:2px 2px 0 var(--prompt-line)}.prompt-recommend-feed{flex-direction:column;gap:clamp(1.35rem,2.5vw,2rem);width:100%;display:flex}.prompt-recommend-group{flex-direction:column;gap:.75rem;min-width:0;display:flex}.prompt-recommend-group__head{align-items:baseline;gap:.5rem;padding-inline:.15rem;display:flex}.prompt-recommend-group__head h2{color:var(--prompt-ink);letter-spacing:-.02em;margin:0;font-size:clamp(1.05rem,2.2vw,1.2rem);font-weight:750;line-height:1.2}.prompt-recommend-group__count{color:color-mix(in srgb, var(--prompt-ink) 45%, transparent);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:650}.prompt-recommend-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));gap:clamp(.75rem,1.4vw,1rem);width:100%;display:grid}.prompt-recommend-empty{padding:2rem .5rem}.prompt-recommend-card{border:1.5px solid var(--prompt-line);background:linear-gradient(135deg, color-mix(in srgb, var(--prompt-sheet) 55%, #fff) 0%, var(--prompt-card) 42%, var(--prompt-card) 100%);width:100%;box-shadow:3px 3px 0 var(--prompt-line);animation:prompt-card-enter .38s var(--ease-out) both;animation-delay:calc(min(var(--card-index,0), 8) * 28ms);transition:transform var(--duration-fast), box-shadow var(--duration-fast);border-radius:1.05rem;gap:.55rem;margin:0;padding:.7rem;display:grid;position:relative;overflow:hidden}.prompt-recommend-card:before{content:"";background:repeating-linear-gradient(180deg, var(--prompt-accent) 0 .55rem, transparent .55rem .85rem);width:.42rem;position:absolute;top:0;bottom:0;left:0}.prompt-recommend-card:hover{box-shadow:4px 5px 0 var(--prompt-line);transform:translateY(-2px)}@keyframes prompt-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.prompt-recommend-card__head{justify-content:space-between;align-items:center;gap:.4rem;padding:0 .05rem 0 .35rem;display:flex}.prompt-recommend-card__style{border:1.5px solid color-mix(in srgb, var(--prompt-chip-text) 35%, transparent);background:var(--prompt-chip);width:fit-content;max-width:100%;color:var(--prompt-chip-text);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:.12rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex;overflow:hidden}.prompt-recommend-card__stats{color:color-mix(in srgb, var(--prompt-ink) 48%, transparent);font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:650}.prompt-recommend-card__body{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:.45rem;margin:0;padding:.15rem .1rem .1rem .35rem;display:grid}.prompt-recommend-card__body:focus-visible{outline:3px solid color-mix(in srgb, var(--prompt-accent) 70%, var(--prompt-line));outline-offset:2px;border-radius:.55rem}.prompt-recommend-card__title{color:var(--prompt-ink);letter-spacing:-.03em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.08rem;font-weight:750;line-height:1.28;display:-webkit-box;overflow:hidden}.prompt-recommend-card__summary{color:color-mix(in srgb, var(--prompt-ink) 68%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.prompt-recommend-card__preview{border:1.5px solid color-mix(in srgb, var(--prompt-line) 55%, transparent);background:var(--prompt-sheet);color:color-mix(in srgb, var(--prompt-ink) 78%, transparent);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:5;border-radius:.75rem;-webkit-box-orient:vertical;margin:.15rem 0 0;padding:.7rem .75rem;font-size:.78rem;line-height:1.65;display:-webkit-box;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8c}.prompt-recommend-card__open{color:var(--prompt-ink);justify-self:start;margin-top:.1rem;font-size:.72rem;font-weight:700}.prompt-recommend-card__body:hover .prompt-recommend-card__open{text-underline-offset:.18em;text-decoration:underline}.prompt-recommend-card__cta{border:1.5px solid var(--prompt-line);background:var(--prompt-ink);color:#fff;width:calc(100% - .2rem);min-height:2.15rem;font:inherit;cursor:pointer;transition:transform var(--duration-fast), background var(--duration-fast);border-radius:.7rem;justify-content:center;align-items:center;gap:.3rem;margin:0 0 0 .2rem;font-size:.75rem;font-weight:700;display:inline-flex}.prompt-recommend-card__cta:hover{background:#061512;transform:translateY(-1px)}.prompt-recommend-card__cta:focus-visible{outline:3px solid color-mix(in srgb, var(--prompt-accent) 70%, var(--prompt-line));outline-offset:2px}.prompt-recommend-detail-modal.ui-modal--wide{--prompt-ink:#10241f;--prompt-line:#16332c;--prompt-panel:#e8f4ef;--prompt-accent:#ff6b5a;--prompt-sheet:#dff7ec;--prompt-chip:#d8f5e8;--prompt-chip-text:#0f766e;border:2px solid var(--prompt-line);background:var(--prompt-panel);width:min(96vw,42rem);max-width:min(96vw,42rem);max-height:min(94vh,920px);box-shadow:4px 4px 0 var(--prompt-line);border-radius:1.35rem}.prompt-recommend-detail-modal .ui-modal__header{border-bottom:0;flex-shrink:0;padding:.85rem 1rem .35rem}.prompt-recommend-detail-modal .ui-modal__heading h2{letter-spacing:-.03em;color:var(--prompt-ink);font-size:clamp(1.2rem,3vw,1.55rem);font-weight:750;line-height:1.2}.prompt-recommend-detail-modal .ui-modal__body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:.25rem .85rem .85rem;overflow:hidden auto}.prompt-recommend-detail-modal .ui-modal__footer{border-top:1.5px solid color-mix(in srgb, var(--prompt-line) 18%, transparent);background:var(--prompt-panel);flex-shrink:0;padding:.75rem 1rem}.prompt-recommend-delete-button{color:var(--color-danger,#b42318);margin-right:auto}.prompt-recommend-delete-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-danger,#b42318) 40%, var(--color-border));background:color-mix(in srgb, var(--color-danger,#b42318) 8%, var(--color-surface))}.prompt-recommend-detail{flex-direction:column;gap:.85rem;min-width:0;display:flex}.prompt-recommend-detail__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem .85rem;display:flex}.prompt-recommend-detail__styles{flex-wrap:wrap;gap:.4rem;display:flex}.prompt-recommend-detail__stats{color:color-mix(in srgb, var(--prompt-ink) 48%, transparent);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:650}.prompt-recommend-detail__summary{color:color-mix(in srgb, var(--prompt-ink) 72%, transparent);margin:0;font-size:.9375rem;line-height:1.6}.prompt-recommend-detail__content{flex-direction:column;gap:.75rem;min-width:0;display:flex}.prompt-recommend-detail__content-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.prompt-recommend-detail__content-head h3{color:var(--prompt-ink);margin:0;font-size:1rem;font-weight:750}.prompt-recommend-detail__copy{border:2px solid var(--prompt-line);background:var(--prompt-ink);color:#fff;font:inherit;cursor:pointer;border-radius:.75rem;align-items:center;gap:.35rem;margin:0;padding:.45rem .85rem;font-size:.8125rem;font-weight:700;display:inline-flex}.prompt-recommend-detail__copy:hover{background:#061512}.prompt-recommend-detail__chat{border:1.5px solid var(--prompt-line);background:var(--prompt-accent);color:#fff;box-shadow:2px 2px 0 var(--prompt-line)}.prompt-recommend-detail__chat:hover{background:#ff5744}.prompt-recommend-content{-webkit-overflow-scrolling:touch;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border:2px solid var(--prompt-line);background:var(--prompt-sheet);max-height:min(48vh,24rem);color:var(--prompt-ink);font:inherit;box-shadow:2px 2px 0 var(--prompt-line);border-radius:1rem;margin:0;padding:1rem 1.05rem;font-size:.9375rem;line-height:1.7;overflow:auto}@media (prefers-reduced-motion:reduce){.prompt-recommend-card,.prompt-recommend-style,.prompt-recommend-card__cta,.prompt-recommend-fab__ball{transition:none}.prompt-recommend-card,.prompt-recommend-fab__panel{animation:none}.prompt-recommend-card:hover,.prompt-recommend-style:hover,.prompt-recommend-card__cta:hover,.prompt-recommend-fab__ball:hover{transform:none}}@media (width<=720px){.tool-detail-page.prompt-recommend-page{width:calc(100% - 1.25rem);padding-block:1.15rem calc(2.5rem + env(safe-area-inset-bottom,0px));padding-inline:.65rem}.prompt-recommend-hero h1{font-size:1.25rem}.prompt-recommend-grid{grid-template-columns:1fr;gap:.75rem}.prompt-recommend-card:hover{box-shadow:3px 3px 0 var(--prompt-line);transform:none}.prompt-recommend-card__cta{min-height:2.35rem}.ui-modal-backdrop:has(>.prompt-recommend-detail-modal){align-items:stretch;padding:0}.prompt-recommend-detail-modal.ui-modal--wide{width:100vw;max-width:100vw;min-height:100dvh;max-height:100dvh;box-shadow:none;border-left:0;border-right:0;border-radius:0}.prompt-recommend-detail-modal .ui-modal__header,.prompt-recommend-detail-modal .ui-modal__body,.prompt-recommend-detail-modal .ui-modal__footer{padding-inline:.75rem}.prompt-recommend-detail-modal .ui-modal__footer .primary-button{justify-content:center;width:100%;min-height:2.75rem}.prompt-recommend-content{max-height:none;overflow:visible}}.remove-watermark-page{--wm-ink:#15162b;--wm-muted:#697086;--wm-line:#383a601f;--wm-violet:#6559f5;--wm-violet-deep:#4d3fe0;min-height:100%;color:var(--wm-ink);background:radial-gradient(circle at 9% 8%,#8773ff24,#0000 23rem),radial-gradient(circle at 90% 25%,#53d0e21f,#0000 25rem),#f8f9fe;padding:clamp(18px,3vw,44px);position:relative;overflow:hidden}.remove-watermark-shell{z-index:1;width:min(1180px,100%);margin:0 auto;position:relative}.remove-watermark-orb{filter:blur(1px);pointer-events:none;border-radius:50%;position:absolute}.remove-watermark-orb--violet{background:radial-gradient(circle at 32% 32%,#8470ff38,#8470ff00 68%);width:380px;height:380px;top:-170px;right:-110px}.remove-watermark-orb--cyan{background:radial-gradient(circle,#53d3e026,#53d3e000 68%);width:440px;height:440px;bottom:-210px;left:-120px}.remove-watermark-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:clamp(32px,5vw,64px);font-size:13px;font-weight:700;display:flex}.remove-watermark-brand,.remove-watermark-topbar__status,.remove-watermark-eyebrow,.remove-watermark-capabilities,.remove-watermark-file-meta,.remove-watermark-usage-note,.remove-watermark-back,.remove-watermark-range,.remove-watermark-channel{align-items:center;display:flex}.remove-watermark-brand{letter-spacing:-.01em;gap:9px}.remove-watermark-brand__icon{color:#fff;background:linear-gradient(135deg,#8074ff,#5848e6);border-radius:11px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 8px 18px #6559f540}.remove-watermark-topbar__status{color:#60677f;gap:7px;font-weight:600}.remove-watermark-topbar__status span{background:#4bc77c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #4bc77c1f}.remove-watermark-hero{grid-template-columns:minmax(0,.95fr) minmax(330px,.75fr);align-items:center;gap:clamp(42px,7vw,98px);margin-bottom:clamp(36px,5vw,62px);display:grid}.remove-watermark-eyebrow{color:#6559f5;letter-spacing:.12em;gap:7px;margin:0 0 15px;font-size:11px;font-weight:800}.remove-watermark-hero h1,.remove-watermark-workspace h1{letter-spacing:-.065em;margin:0;font-family:ui-rounded,SF Pro Rounded,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(41px,5.15vw,68px);line-height:1.08}.remove-watermark-hero h1 em{color:var(--wm-violet);font-style:normal}.remove-watermark-hero__description{max-width:480px;color:var(--wm-muted);margin:23px 0;font-size:16px;line-height:1.8}.remove-watermark-capabilities{color:#3e4660;flex-wrap:wrap;gap:10px 18px;font-size:13px;font-weight:650}.remove-watermark-capabilities span{align-items:center;gap:5px;display:inline-flex}.remove-watermark-capabilities svg{color:#52b986}.remove-watermark-showcase{min-height:307px;position:relative}.remove-watermark-showcase__glow{filter:blur(35px);background:linear-gradient(125deg,#7463ff47,#5fdddc3d);border-radius:42px;position:absolute;inset:23% 8% 5%;transform:rotate(-6deg)}.remove-watermark-showcase__card{background:#ffffffd9;border:1px solid #ffffffd9;border-radius:23px;position:absolute;box-shadow:0 24px 55px #3b387129}.remove-watermark-showcase__card--back{opacity:.5;inset:23px 7px 6px 42px;transform:rotate(7deg)}.remove-watermark-showcase__card--front{padding:10px;inset:0 31px 0 0;overflow:hidden}.remove-watermark-showcase__art{background:linear-gradient(150deg,#a1dbff 0%,#d2edff 42%,#f9d9b6 100%);border-radius:15px;height:calc(100% - 39px);position:relative;overflow:hidden}.remove-watermark-showcase__sun{background:#fff5bf;border-radius:50%;width:50px;height:50px;position:absolute;top:18%;right:18%;box-shadow:0 0 36px #fff0aacc}.remove-watermark-showcase__hill{border-radius:50% 50% 0 0;position:absolute;bottom:-22px;transform:rotate(-8deg)}.remove-watermark-showcase__hill--far{background:#92bbac;width:97%;height:47%;right:-9%}.remove-watermark-showcase__hill--near{background:#557d73;width:97%;height:40%;left:-16%}.remove-watermark-showcase__watermark{z-index:2;color:#ffffff9e;letter-spacing:.2em;font-size:27px;font-weight:900;position:absolute;top:49%;left:45%;transform:rotate(-23deg)}.remove-watermark-showcase__clean-line{z-index:3;background:#fff;width:2px;position:absolute;top:0;bottom:0;left:51%;box-shadow:0 0 9px #272c4259}.remove-watermark-showcase__clean-line:before{content:"";background:#6659f6;border:4px solid #fff;border-radius:50%;width:28px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.remove-watermark-showcase__footer{color:#697086;letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;height:39px;font-size:11px;font-weight:800;display:flex}.remove-watermark-showcase__footer svg{color:#6659f6}.remove-watermark-showcase__label{color:#5d4fe5;background:#ffffffeb;border:1px solid #fffc;border-radius:99px;align-items:center;gap:5px;padding:8px 11px;font-size:12px;font-weight:800;display:flex;position:absolute;bottom:18px;right:0;box-shadow:0 8px 18px #3939641f}.remove-watermark-upload-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #5b5a8e1f;border-radius:26px;padding:clamp(20px,3.2vw,34px);box-shadow:0 18px 60px #41437114}.remove-watermark-dropzone{color:#6e7488;cursor:pointer;text-align:center;background:linear-gradient(145deg,#f6f5ffd9,#f9fcffcc);border:1.5px dashed #c9c8ea;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:24px;transition:border-color .2s,background .2s,transform .2s;display:flex}.remove-watermark-dropzone:hover,.remove-watermark-dropzone.is-dragging{background:#f2f0ff;border-color:#776cf9;transform:translateY(-2px)}.remove-watermark-dropzone:focus-visible{outline-offset:3px;outline:3px solid #6559f53d}.remove-watermark-dropzone__icon{color:#6659f6;background:#fff;border-radius:18px;place-items:center;width:57px;height:57px;margin-bottom:14px;display:grid;box-shadow:0 8px 20px #6659f621}.remove-watermark-dropzone strong{color:#2a2d43;font-size:16px}.remove-watermark-dropzone>span:not(.remove-watermark-dropzone__icon){margin-top:7px;font-size:13px}.remove-watermark-dropzone small{color:#969bb0;margin-top:8px;font-size:12px}.remove-watermark-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.remove-watermark-upload-divider{color:#a0a5b7;align-items:center;gap:14px;margin:22px 0 16px;font-size:12px;display:flex}.remove-watermark-upload-divider:before,.remove-watermark-upload-divider:after{content:"";background:#e9eaf2;flex:1;height:1px}.remove-watermark-url-field{color:#8b90a3;background:#fff;border:1px solid #e4e5ef;border-radius:13px;align-items:center;gap:10px;min-height:48px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.remove-watermark-url-field:focus-within{border-color:#7569f6;box-shadow:0 0 0 4px #6559f51a}.remove-watermark-url-field input{background:0 0;border:0;border-radius:0;min-width:0;min-height:44px;padding:0;font-size:14px;box-shadow:none!important}.remove-watermark-usage-note{color:#868ca0;justify-content:center;gap:6px;margin:15px 0 0;font-size:12px}.remove-watermark-usage-note svg{color:#5ab983}.remove-watermark-alert{border:1px solid;border-radius:12px;margin-top:14px;padding:11px 13px;font-size:13px;line-height:1.5}.remove-watermark-alert--error{color:#b42318;background:#fff4f2;border-color:#fecaca}.remove-watermark-alert--success{color:#18744b;background:#effbf4;border-color:#b7ebcf}.remove-watermark-steps{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.remove-watermark-steps article{background:#ffffff85;border:1px solid #61638f17;border-radius:16px;align-items:center;gap:13px;padding:16px;display:flex}.remove-watermark-steps article>span{color:#a19aec;font-size:13px;font-weight:850}.remove-watermark-steps strong{color:#34364b;font-size:13px}.remove-watermark-steps p{color:#858b9e;margin:3px 0 0;font-size:12px;line-height:1.5}.remove-watermark-workspace{padding-bottom:12px}.remove-watermark-workspace__heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.remove-watermark-workspace h1{font-size:clamp(32px,4vw,48px)}.remove-watermark-back{color:#747a8d;background:0 0;border:0;gap:5px;padding:0;font-size:13px;font-weight:700}.remove-watermark-back:hover{color:#5749e9}.remove-watermark-workspace .remove-watermark-eyebrow{margin:16px 0 8px}.remove-watermark-file-meta{color:#6e7389;background:#ffffffb8;border:1px solid #e4e4ef;border-radius:10px;gap:8px;max-width:45%;padding:9px 12px;font-size:13px;overflow:hidden}.remove-watermark-file-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.remove-watermark-workspace>.remove-watermark-alert{margin:0 0 14px}.remove-watermark-editor-grid{width:min(780px,100%);margin:0 auto}.remove-watermark-preview-card,.remove-watermark-panel{background:#ffffffdb;border:1px solid #5b5a8e1f;border-radius:22px;box-shadow:0 18px 60px #41437114}.remove-watermark-preview-card{padding:12px}.remove-watermark-workspace-actions{justify-content:center;margin-top:18px;display:flex}.remove-watermark-workspace-actions>.remove-watermark-action{width:min(320px,100%)}.remove-watermark-workspace-actions .remove-watermark-result-actions{gap:10px;width:min(520px,100%);display:flex}.remove-watermark-workspace-actions .remove-watermark-result-actions .remove-watermark-action{flex:1}.remove-watermark-comparison{-webkit-user-select:none;user-select:none;background:#ebedf2;border-radius:15px;min-height:min(58vw,560px);position:relative;overflow:hidden}.remove-watermark-comparison.is-comparable{cursor:ew-resize}.remove-watermark-comparison__image{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.remove-watermark-comparison__result{z-index:2;position:absolute;inset:0}.remove-watermark-comparison__tag{z-index:4;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#191b2d9e;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:750;position:absolute;top:14px}.remove-watermark-comparison__tag--before{left:14px}.remove-watermark-comparison__tag--after{background:#5c4be4d1;right:14px}.remove-watermark-comparison__line{z-index:5;background:#fff;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 11px #16182b47}.remove-watermark-comparison__line span{color:#fff;background:#6254ef;border:3px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 14px #2e278352}.remove-watermark-comparison__loading{z-index:7;color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b1c35a3;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.remove-watermark-comparison__loading strong{font-size:16px}.remove-watermark-comparison__loading span{color:#fffc;font-size:13px}.remove-watermark-range{color:#73788b;gap:12px;padding:15px 5px 3px;font-size:12px;font-weight:650}.remove-watermark-range input{accent-color:#6559f5;cursor:ew-resize;flex:1;min-height:auto}.remove-watermark-panel{padding:25px;position:sticky;top:18px}.remove-watermark-panel__icon{color:#6254ef;background:#efedff;border-radius:13px;place-items:center;width:43px;height:43px;display:grid}.remove-watermark-panel h2{color:#282b40;letter-spacing:-.03em;margin:18px 0 8px;font-size:19px}.remove-watermark-panel>p{color:#777d90;margin:0;font-size:13px;line-height:1.7}.remove-watermark-panel ul{color:#555b70;gap:10px;margin:21px 0;padding:0;font-size:13px;list-style:none;display:grid}.remove-watermark-panel li{align-items:center;gap:8px;display:flex}.remove-watermark-panel li svg{color:#50b783}.remove-watermark-action{border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:45px;padding:0 14px;font-size:14px;font-weight:750;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.remove-watermark-action:hover:not(:disabled){transform:translateY(-1px)}.remove-watermark-action:disabled{opacity:.65}.remove-watermark-action--primary{color:#fff;background:linear-gradient(135deg,#776af9,#5849e4);border:1px solid #5c4ce3;box-shadow:0 9px 18px #5b4ce338}.remove-watermark-action--primary:hover:not(:disabled){box-shadow:0 12px 24px #5b4ce34d}.remove-watermark-action--secondary{color:#565b70;background:#fff;border:1px solid #dfdfeb}.remove-watermark-action--secondary:hover:not(:disabled){background:#f7f7fd}.remove-watermark-result-actions{gap:10px;display:grid}.remove-watermark-channel{justify-content:center;color:#9b9fb0!important;margin-top:15px!important;font-size:11px!important}@keyframes remove-watermark-spin{to{transform:rotate(360deg)}}@media (width<=880px){.remove-watermark-hero{grid-template-columns:1fr .8fr;gap:34px}.remove-watermark-hero h1{font-size:clamp(37px,6vw,53px)}.remove-watermark-panel{grid-template-columns:auto 1fr;align-items:start;column-gap:15px;display:grid;position:static}.remove-watermark-panel__icon{grid-row:span 2}.remove-watermark-panel h2{margin:2px 0 5px}.remove-watermark-panel>p{grid-column:2}.remove-watermark-panel ul,.remove-watermark-panel .remove-watermark-action,.remove-watermark-panel .remove-watermark-result-actions,.remove-watermark-channel{grid-column:1/-1}}@media (width<=640px){.remove-watermark-page{padding:16px}.remove-watermark-topbar{margin-bottom:34px}.remove-watermark-topbar__status{font-size:11px}.remove-watermark-hero{grid-template-columns:1fr;gap:31px;margin-bottom:31px}.remove-watermark-hero h1{font-size:clamp(40px,12vw,52px)}.remove-watermark-hero__description{margin:18px 0;font-size:14px;line-height:1.75}.remove-watermark-showcase{width:min(100%,360px);min-height:265px;margin:0 auto}.remove-watermark-showcase__card--front{right:19px}.remove-watermark-upload-card{border-radius:20px;padding:16px}.remove-watermark-dropzone{min-height:207px;padding:20px 14px}.remove-watermark-steps{grid-template-columns:1fr;gap:9px}.remove-watermark-steps article{padding:13px}.remove-watermark-workspace__heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:21px}.remove-watermark-file-meta{max-width:100%}.remove-watermark-workspace h1{font-size:36px}.remove-watermark-preview-card{border-radius:17px;padding:8px}.remove-watermark-workspace-actions .remove-watermark-result-actions{flex-direction:column;width:100%}.remove-watermark-workspace-actions>.remove-watermark-action{width:100%}.remove-watermark-comparison{border-radius:11px;min-height:66vw;max-height:440px}.remove-watermark-panel{border-radius:17px;padding:20px;display:block}.remove-watermark-panel__icon{margin-bottom:16px}.remove-watermark-panel h2{margin:0 0 8px}.remove-watermark-panel ul{margin:17px 0}.remove-watermark-range{flex-direction:column;align-items:stretch;gap:7px;padding-top:12px}}@media (width<=380px){.remove-watermark-topbar__status{display:none}.remove-watermark-capabilities{gap:8px 11px;font-size:12px}.remove-watermark-showcase{min-height:234px}.remove-watermark-showcase__watermark{font-size:22px}}@media (prefers-reduced-motion:reduce){.remove-watermark-dropzone,.remove-watermark-action{transition:none}.spinning{animation-duration:2s}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--blue-950:#0b1f33;--blue-900:#12335a;--blue-800:#0b3d91;--blue-700:#0842a0;--blue-600:#0b57d0;--blue-500:#1a73e8;--blue-300:#8ab4f8;--blue-200:#aecbfa;--blue-100:#d7e7ff;--blue-50:#e9f1ff;--cyan-500:#25a7d9;--cyan-100:#d9f3ff;--green-600:#137a5b;--green-100:#dff4ea;--amber-700:#955800;--amber-100:#ffedc7;--red-600:#b3261e;--red-100:#f9dedc;--slate-950:#18202a;--slate-800:#303946;--slate-700:#3c4654;--slate-600:#596574;--slate-500:#667085;--slate-400:#8a96a5;--slate-300:#b7c1cd;--slate-200:#dce3ec;--slate-150:#e6ebf1;--slate-100:#eef3f8;--slate-50:#f7f9fc;--white:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-body:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--text-4xl:32px;--text-5xl:42px;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.55;--leading-relaxed:1.65;--leading-loose:1.8;--leading-read:1.9;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.02em;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--radius-xs:8px;--radius-sm:10px;--radius-md:12px;--radius-md-plus:14px;--radius-lg:16px;--radius-lg-plus:18px;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:28px;--radius-pill:999px;--shadow-1:0 1px 2px #2432410d, 0 1px 3px #2432410a;--shadow-2:0 8px 24px #293a4e14, 0 2px 6px #293a4e0a;--shadow-3:0 24px 70px #1a2b4129;--duration-fast:.15s;--duration-normal:.22s;--duration-slow:.3s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--focus-ring:0 0 0 3px color-mix(in srgb, var(--color-focus) 35%, transparent);--focus-ring-strong:0 0 0 3px color-mix(in srgb, var(--color-focus) 50%, transparent);--color-streaming:var(--blue-500);--bp-mobile:720px;--bp-tablet:960px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--tap-min:44px;--z-nav:20;--z-sticky:30;--z-toast:60;--z-modal:50;--color-bg:var(--slate-50);--color-surface:var(--white);--color-surface-tonal:var(--slate-100);--color-surface-blue:var(--blue-50);--color-surface-strong:#e7edf5;--color-text:var(--slate-950);--color-text-secondary:var(--slate-600);--color-text-tertiary:var(--slate-500);--color-primary:var(--blue-600);--color-primary-hover:var(--blue-700);--color-primary-container:var(--blue-100);--color-on-primary-container:var(--blue-900);--color-border:var(--slate-200);--color-border-strong:var(--slate-300);--color-focus:var(--blue-600);--color-success:var(--green-600);--color-warning:var(--amber-700);--color-danger:var(--red-600);--ink:var(--color-text);--muted:var(--color-text-secondary);--line:var(--color-border);--surface:var(--color-surface);--surface-soft:var(--color-surface-tonal);--accent:var(--color-primary);--accent-dark:var(--color-primary-hover);--accent-soft:var(--color-surface-blue);--success:var(--color-success);--warning:var(--color-warning);--danger:var(--color-danger);--shadow:var(--shadow-2);--button-height:44px;--button-height-sm:36px;--button-height-lg:52px;--button-radius:var(--radius-pill);--button-padding-x:var(--space-5);--input-height:48px;--input-radius:var(--radius-lg);--card-radius:var(--radius-2xl);--card-border:var(--color-border);--dialog-radius:var(--radius-3xl);--button-primary-bg:var(--color-primary);--button-primary-hover-bg:var(--color-primary-hover);--button-primary-fg:#fff;--button-secondary-bg:var(--color-surface-blue);--button-secondary-hover-bg:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));--button-secondary-fg:var(--color-on-primary-container);--button-ghost-hover-bg:color-mix(in srgb, var(--color-text) 6%, transparent);--button-danger-bg:var(--color-danger);--button-danger-hover-bg:color-mix(in srgb, var(--color-danger) 88%, #000);--button-danger-fg:#fff;font-family:Google Sans,Inter,Noto Sans SC,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--blue-950:#e8f1ff;--blue-900:#d7e7ff;--blue-800:#b8d2fb;--blue-700:#9fc1f6;--blue-600:#8ab4f8;--blue-500:#7aa7f0;--blue-300:#a8c7fa;--blue-200:#6d8fbd;--blue-100:#264a72;--blue-50:#132c4f;--green-600:#74d3b0;--green-100:#1b3d35;--amber-700:#f2c66d;--amber-100:#4a3b1e;--red-600:#ff9e99;--red-100:#4a2426;--slate-950:#eef3f8;--slate-800:#d8e1eb;--slate-700:#c7d2df;--slate-600:#b3c0ce;--slate-500:#8593a5;--slate-400:#697a8f;--slate-300:#40536b;--slate-200:#2a3a50;--slate-150:#223149;--slate-100:#172235;--slate-50:#0b1220;--color-bg:#0b1220;--color-surface:#111a2a;--color-surface-tonal:#172235;--color-surface-blue:#132c4f;--color-surface-strong:#223149;--color-text:#eef3f8;--color-text-secondary:#b3c0ce;--color-text-tertiary:#8593a5;--color-primary:#8ab4f8;--color-primary-hover:#a8c7fa;--color-primary-container:#264a72;--color-on-primary-container:#d7e7ff;--color-border:#2a3a50;--color-border-strong:#40536b;--color-focus:#8ab4f8;--color-success:#74d3b0;--color-warning:#f2c66d;--color-danger:#ff9e99;--shadow-1:0 1px 2px #0000003d, 0 1px 3px #0000002e;--shadow-2:0 8px 24px #00000047, 0 2px 6px #0003;--shadow-3:0 24px 70px #0000006b;--button-primary-fg:#0b1220;--button-secondary-hover-bg:color-mix(in srgb, var(--color-primary) 22%, var(--color-surface));--button-ghost-hover-bg:color-mix(in srgb, var(--color-text) 10%, transparent);--button-danger-fg:#1a0606;--color-streaming:var(--blue-300)}:root{--app-scale:.9;--app-viewport-height:calc(100dvh / var(--app-scale))}@supports not (height:100dvh){:root{--app-viewport-height:calc(100vh / var(--app-scale))}}*{box-sizing:border-box}html{background:var(--color-bg);zoom:var(--app-scale);min-width:320px}body{min-width:320px;min-height:var(--app-viewport-height);color:var(--color-text);background:var(--color-bg);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{color:var(--blue-950);background:var(--blue-200)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #0b57d03d}.skip-link{z-index:100;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus,.skip-link:focus-visible{top:var(--space-3);left:var(--space-3);clip:auto;border-radius:var(--radius-pill);width:auto;height:auto;color:var(--white);background:var(--blue-700);white-space:normal;margin:0;padding:10px 16px;position:fixed;overflow:visible}.eyebrow{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700;display:flex}.muted{color:var(--color-text-secondary)}.primary-button,.secondary-button{min-height:var(--button-height);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--button-radius);padding:0 var(--button-padding-x);transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-normal), transform var(--duration-fast);font-weight:650;display:inline-flex}.primary-button{border:1px solid var(--color-primary);color:var(--white);background:var(--color-primary);box-shadow:var(--shadow-1)}.primary-button:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);box-shadow:var(--shadow-2)}.secondary-button{color:var(--blue-900);background:var(--color-surface-blue);border:1px solid #0000}.secondary-button:hover{background:var(--color-primary-container)}.primary-button:active,.secondary-button:active{transform:scale(.985)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;box-shadow:none;transform:none}.brand-mark{object-fit:cover;background:var(--color-surface);-webkit-user-select:none;user-select:none;border-radius:12px;flex:none;width:40px;height:40px;display:block}input,textarea,select{width:100%;min-height:var(--input-height);border:1px solid var(--color-border);border-radius:var(--input-radius);color:var(--color-text);background:var(--color-surface);transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);padding:11px 14px;font-size:15px}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}input:hover,textarea:hover,select:hover{border-color:var(--color-border-strong)}input:focus,textarea:focus,select:focus{border-color:var(--color-focus);outline:none;box-shadow:0 0 0 3px #0b57d01f}textarea{resize:vertical}.form-error{align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-md);color:var(--color-danger);background:var(--red-100);border:1px solid #b3261e38;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.loading-screen{min-height:var(--app-viewport-height);justify-content:center;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);background:var(--color-bg);display:flex}.auth-page{min-height:var(--app-viewport-height);background:#f7f9ff;grid-template-columns:minmax(0,1.12fr) minmax(420px,.78fr);display:grid;position:relative;overflow:hidden}.auth-effects{min-width:0;min-height:inherit;isolation:isolate;background:linear-gradient(145deg,#fbfdff 0%,#f3f7ff 54%,#fbf7ff 100%);border-right:1px solid #bec7da8c;flex-direction:column;padding:clamp(28px,3vw,44px) clamp(34px,5vw,74px) 28px;display:flex;position:relative;overflow:hidden}.auth-effects:before{z-index:-1;content:"";opacity:.62;pointer-events:none;background-image:radial-gradient(circle,#66749429 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(145deg,#000000bf,#0000 72%);mask-image:linear-gradient(145deg,#000000bf,#0000 72%)}.auth-effect-mesh{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-effect-mesh i{filter:blur(2px);will-change:transform;border-radius:50%;display:block;position:absolute}.auth-effect-mesh i:first-child{background:radial-gradient(circle,#6b89ff3b,#6b89ff00 68%);width:360px;height:360px;animation:15s ease-in-out infinite auth-drift-one;top:-8%;left:-4%}.auth-effect-mesh i:nth-child(2){background:radial-gradient(circle,#a46fee33,#a46fee00 68%);width:390px;height:390px;animation:18s ease-in-out infinite auth-drift-two;top:27%;right:-8%}.auth-effect-mesh i:nth-child(3){background:radial-gradient(circle,#ff9a802b,#ff9a8000 69%);width:420px;height:420px;animation:20s ease-in-out infinite auth-drift-three;bottom:-14%;left:24%}.auth-effect-brand{z-index:3;align-items:center;gap:11px;display:flex;position:relative}.auth-effect-brand .brand-mark{border-radius:12px;width:38px;height:38px;box-shadow:0 10px 28px #4a58a01f}.auth-effect-brand>span{display:grid}.auth-effect-brand strong{color:#202637;letter-spacing:-.025em;font-size:15px;font-weight:700}.auth-effect-brand small{color:#70798d;letter-spacing:.04em;margin-top:2px;font-size:10px}.auth-effect-stage{z-index:1;width:clamp(420px,42vw,570px);height:clamp(420px,42vw,570px);position:absolute;top:43%;left:54%;transform:translate(-50%,-50%)}.auth-orbit{border:1px solid #6675a033;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-orbit:before,.auth-orbit:after{content:"";border-radius:50%;position:absolute;box-shadow:0 0 0 7px #ffffff8c,0 8px 24px #44538d1f}.auth-orbit-one{border-style:dashed;width:82%;height:82%;animation:26s linear infinite auth-spin}.auth-orbit-one:before{background:#5f7dff;width:11px;height:11px;top:13%;left:3%}.auth-orbit-one:after{background:#f28a72;width:9px;height:9px;bottom:16%;right:7%}.auth-orbit-two{width:57%;height:57%;animation:18s linear infinite auth-spin-reverse}.auth-orbit-two:before{background:#8b65df;width:9px;height:9px;top:-5px;left:48%}.auth-orbit-two:after{background:#5f7dff;width:7px;height:7px;bottom:21%;right:4%}.auth-effect-core{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;border:1px solid #ffffffe6;border-radius:38px;align-content:center;place-items:center;gap:9px;width:138px;height:138px;animation:4.6s ease-in-out infinite auth-core-breathe;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 26px 70px #36457824,inset 0 0 0 1px #7a89b614}.auth-effect-core:before{content:"";border:1px solid #5f7dff1f;border-radius:52px;animation:4.6s ease-out infinite auth-core-pulse;position:absolute;inset:-18px}.auth-effect-core>span{background:#fff;border-radius:18px;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 12px 32px #3d4d8924}.auth-effect-core .brand-mark{border-radius:13px;width:42px;height:42px}.auth-effect-core small{color:#667087;letter-spacing:.13em;font-size:8px;font-weight:750}.auth-float-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);will-change:transform;background:#ffffffc7;border:1px solid #ffffffeb;border-radius:18px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:178px;min-height:64px;padding:10px 12px;display:grid;position:absolute;box-shadow:0 18px 46px #39487d1f,inset 0 0 0 1px #7483ad12}.auth-float-card>span{border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.auth-float-card>div{min-width:0;display:grid}.auth-float-card strong{color:#30374b;font-size:11px}.auth-float-card small{color:#798197;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;overflow:hidden}.auth-float-card em{color:#9aa1b1;font-size:8px;font-style:normal;font-weight:700}.auth-float-card.chat{animation:5.4s ease-in-out -1.2s infinite auth-card-float;top:12%;left:1%}.auth-float-card.chat>span{color:#315cff;background:#edf2ff}.auth-float-card.image{animation:6.2s ease-in-out -2.6s infinite auth-card-float;top:22%;right:-1%}.auth-float-card.image>span{color:#8059df;background:#f2eeff}.auth-float-card.video{animation:5.8s ease-in-out -3.8s infinite auth-card-float;bottom:9%;left:10%}.auth-float-card.video>span{color:#dc624f;background:#fff0ed}.auth-spark{background:#fff;border-radius:50%;width:7px;height:7px;animation:3.6s ease-in-out infinite auth-spark;display:block;position:absolute;box-shadow:0 0 0 5px #5f7dff1a,0 0 22px #5f7dff73}.auth-spark.one{background:#6580ff;top:20%;left:38%}.auth-spark.two{background:#936ee5;animation-delay:-1.2s;bottom:21%;right:21%}.auth-spark.three{background:#ef8c75;animation-delay:-2.4s;bottom:28%;left:22%}.auth-effect-copy{z-index:2;width:min(460px,80%);margin-top:auto;margin-bottom:42px;position:relative}.auth-effect-copy>p{color:#68738b;letter-spacing:.16em;margin:0;font-size:9px;font-weight:750}.auth-effect-copy h2{color:#242b3d;letter-spacing:-.052em;margin:15px 0 10px;font-size:clamp(28px,3.2vw,42px);font-weight:600;line-height:1.18}.auth-effect-copy>span{color:#697389;max-width:420px;font-size:13px;line-height:1.75;display:block}.auth-effect-foot{z-index:2;color:#737d91;justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.auth-effect-foot>span,.auth-panel-state{letter-spacing:.13em;align-items:center;gap:8px;font-size:8px;font-weight:750;display:inline-flex}.auth-effect-foot i,.auth-panel-state i{background:#43ad74;border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite auth-status-pulse;box-shadow:0 0 0 4px #43ad741f}.auth-effect-foot small{font-size:9px}.auth-panel{z-index:2;min-width:0;min-height:inherit;background:var(--color-surface);flex-direction:column;padding:clamp(28px,3vw,44px) clamp(38px,5vw,76px) 28px;display:flex;position:relative}.auth-panel-top{justify-content:flex-end;align-items:center;min-height:38px;display:flex}.auth-panel-brand{color:var(--color-text);align-items:center;gap:9px;display:none}.auth-panel-brand .brand-mark{border-radius:11px;width:34px;height:34px}.auth-panel-brand strong{font-size:14px}.auth-panel-state{color:var(--color-text-secondary)}.auth-panel-inner{flex:1;place-items:center;width:min(400px,100%);margin:0 auto;display:grid}.auth-card{gap:15px;width:100%;animation:.42s cubic-bezier(.22,1,.36,1) 80ms both auth-enter;display:grid}.auth-card-heading{margin-bottom:18px}.auth-card .eyebrow{color:var(--color-text-tertiary);letter-spacing:.16em;margin:0;font-size:9px;font-weight:750}.auth-card h1{color:var(--color-text);letter-spacing:-.045em;margin:13px 0 0;font-size:30px;font-weight:620}.auth-card .muted{color:var(--color-text-secondary);margin:8px 0 0;font-size:13px}.auth-card>label,.change-password-card>label{color:var(--color-text-secondary);margin:4px 0 -7px;font-size:12px;font-weight:650}.auth-input{border:1px solid var(--color-border);min-height:54px;color:var(--color-text-secondary);background:var(--color-surface-tonal);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;transition:border-color .2s,box-shadow .2s,background .2s,transform .2s;display:grid}.auth-input:focus-within{border-color:var(--color-focus);background:var(--color-surface);box-shadow:var(--focus-ring);transform:translateY(-1px)}.auth-input>svg{margin-left:15px}.auth-input input{min-height:52px;box-shadow:none;color:var(--color-text);background:0 0;border:0;padding:10px 12px;font-size:15px}.auth-input button{width:44px;height:44px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:50%;place-items:center;margin-right:4px;transition:color .2s,background .2s;display:grid}.auth-input button:hover{color:var(--color-text);background:var(--color-surface-tonal)}.auth-submit{border-color:var(--color-primary);background:var(--color-primary);min-height:54px;color:var(--button-primary-fg);box-shadow:0 14px 30px color-mix(in srgb, var(--color-primary) 30%, transparent);border-radius:999px;justify-content:space-between;margin-top:7px;padding-inline:19px}.auth-submit:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover);box-shadow:0 18px 36px color-mix(in srgb, var(--color-primary) 36%, transparent);transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:scale(.985)}.auth-submit svg{transition:transform .2s}.auth-submit:hover:not(:disabled) svg{transform:translate(3px)}.auth-note{color:var(--color-text-tertiary);text-align:center;font-size:10px}.auth-panel-foot{color:var(--color-text-tertiary);letter-spacing:.05em;text-align:center;font-size:9px}@keyframes auth-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes auth-spin-reverse{0%{transform:translate(-50%,-50%)rotate(360deg)}to{transform:translate(-50%,-50%)rotate(0)}}@keyframes auth-core-breathe{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.035)}}@keyframes auth-core-pulse{0%,to{opacity:.32;transform:scale(.94)}50%{opacity:.75;transform:scale(1.08)}}@keyframes auth-card-float{0%,to{transform:translate(0,0)}50%{transform:translateY(-10px)}}@keyframes auth-spark{0%,to{opacity:.45;transform:scale(.72)}50%{opacity:1;transform:scale(1.15)}}@keyframes auth-status-pulse{0%,to{box-shadow:0 0 0 3px #43ad7414}50%{box-shadow:0 0 0 7px #43ad7429}}@keyframes auth-drift-one{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(70px,42px)scale(1.08)}}@keyframes auth-drift-two{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-62px,58px)scale(.94)}}@keyframes auth-drift-three{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(45px,-54px)scale(1.07)}}.change-password-page{min-height:var(--app-viewport-height);background:radial-gradient(ellipse 80% 55% at 50% 0%, #d7e7ff73, transparent 62%), var(--color-bg);position:relative;overflow:hidden}.change-password-shell{z-index:1;width:min(960px,100% - 48px);min-height:var(--app-viewport-height);align-content:start;gap:clamp(40px,8vh,72px);margin:0 auto;padding:28px 0 40px;display:grid;position:relative}.change-password-card{gap:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);width:min(440px,100%);box-shadow:var(--shadow-1);border-radius:24px;margin:0 auto;padding:28px 26px;animation:.32s ease-out both auth-enter;display:grid}.security-badge{border-radius:var(--radius-lg);color:#fff;background:var(--color-primary);flex:none;place-items:center;width:44px;height:44px;display:grid}.change-password-card h1{letter-spacing:-.03em;margin:6px 0 0;font-size:22px}.change-password-card p{margin:8px 0 0;line-height:1.6}.password-rules{gap:var(--space-2);flex-wrap:wrap;display:flex}.password-rules span{border-radius:var(--radius-md);color:var(--slate-700);background:var(--color-surface-tonal);align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:flex}.mobile-topbar{z-index:var(--z-nav);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:8px;min-height:56px;padding:8px 12px;display:none;position:sticky;top:0}.mobile-topbar-brand{color:var(--color-text);align-items:center;gap:8px;font-size:14px;display:inline-flex}.mobile-topbar-brand .brand-mark{border-radius:8px;width:28px;height:28px}.workspace-shell[data-sidebar-open=false] .mobile-topbar{display:flex}.workspace-shell[data-sidebar-open=false] .chat-menu{display:inline-flex}@media (width>=961px){.conversation-drawer:not(.open){display:none}}.composer-feedback{color:var(--color-warning);margin:12px 0 0;font-size:13px}.portrait-page{width:min(1260px,100% - 64px);margin:0 auto;padding:42px 0 118px}.portrait-header{justify-content:space-between;align-items:flex-start;gap:var(--space-8);display:flex}.portrait-header h1{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(38px,4.2vw,58px);line-height:1.08}.portrait-header p:not(.eyebrow){max-width:650px;color:var(--color-text-secondary);margin:13px 0 0;font-size:15px;line-height:1.65}.privacy-pill{border-radius:var(--radius-pill);min-height:38px;color:var(--green-600);background:var(--green-100);white-space:nowrap;align-items:center;gap:7px;padding:0 13px;font-size:12px;display:inline-flex}.stepper{grid-template-columns:repeat(3,1fr);margin:40px 0 22px;padding:0;list-style:none;display:grid}.stepper li{align-items:center;gap:var(--space-3);color:var(--color-text-tertiary);display:flex;position:relative}.stepper li:not(:last-child):after{z-index:0;content:"";background:var(--color-border);height:2px;position:absolute;top:17px;left:46px;right:18px}.stepper li span{z-index:1;border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-secondary);background:var(--color-bg);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid;position:relative}.stepper li.active{color:var(--color-text)}.stepper li.active span{border-color:var(--color-primary);color:var(--white);background:var(--color-primary)}.stepper li.active:after{background:var(--blue-200)}.portrait-studio-layout{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr) 320px;display:grid}.portrait-workspace{border:1px solid var(--color-border);border-radius:var(--radius-3xl);background:var(--color-surface);min-width:0;min-height:610px;box-shadow:var(--shadow-1);padding:clamp(24px,3.2vw,40px)}.portrait-step{gap:28px;display:grid}.step-heading{align-items:flex-start;gap:var(--space-4);display:flex}.step-heading>span{color:var(--blue-600);letter-spacing:.09em;padding-top:4px;font-size:12px;font-weight:750}.step-heading h2{letter-spacing:-.035em;margin:0;font-size:26px}.step-heading p{color:var(--color-text-secondary);margin:7px 0 0;font-size:13px;line-height:1.6}.upload-zone{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-2xl);min-height:260px;color:var(--slate-700);background:var(--color-surface-tonal);cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);align-content:center;place-items:center;gap:10px;display:grid}.upload-zone:hover,.upload-zone.drag-active{border-color:var(--color-primary);background:var(--color-surface-blue);box-shadow:inset 0 0 0 1px #0b57d014}.upload-zone input,.photo-add input{display:none}.upload-icon{border-radius:var(--radius-xl);width:56px;height:56px;color:var(--blue-700);background:var(--color-primary-container);place-items:center;display:grid}.upload-zone small{color:var(--color-text-tertiary)}.inline-notice,.submit-feedback{border-radius:var(--radius-md);align-items:center;gap:10px;min-height:46px;padding:11px 13px;font-size:12px;line-height:1.5;display:flex}.inline-notice.error{color:var(--color-danger);background:var(--red-100)}.inline-notice.success{color:var(--green-600);background:var(--green-100)}.form-field{flex-direction:column;gap:6px;margin-top:12px;display:flex}.form-field>span{color:var(--blue-900);font-size:12px}.form-field select,.form-field input{min-height:40px}.tool-models-grid{flex-direction:column;gap:12px;max-width:1200px;margin-top:24px;display:flex}.tool-models-grid .tool-model-card{margin-top:0}.tool-model-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;padding:16px 20px;transition:all .2s;position:relative}.tool-model-card:hover{border-color:var(--blue-200);box-shadow:0 2px 8px #0000000f}.tool-model-card.explicit{border-left:3px solid var(--amber-400);background:var(--amber-50)}.tool-model-card.explicit:hover{border-left-color:var(--amber-500);background:var(--amber-100)}.tool-model-card-heading{align-items:center;gap:10px;margin-bottom:10px;display:flex}.tool-model-card-heading strong{letter-spacing:-.01em;font-size:14px;font-weight:600}.tool-model-card-heading>span{border-radius:var(--radius-pill);color:var(--amber-700);background:var(--amber-200);letter-spacing:.01em;flex:none;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.tool-model-description{color:var(--color-text-secondary);margin:0 0 12px;font-size:12px;line-height:1.5}.tool-model-card .form-field{min-width:220px;margin-bottom:0;margin-right:12px;display:inline-block}.tool-model-card .form-field:last-of-type{margin-right:0}.tool-model-card .form-field>span{color:var(--color-text-secondary);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.tool-model-card .form-field select{border-radius:6px;font-size:13px}.tool-model-required-hint{background:var(--amber-100);color:var(--amber-900);border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px;line-height:1.4;display:block}.explicit-badge{border-radius:var(--radius-pill);background:var(--amber-100);color:var(--amber-700);align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.icon-button{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.icon-button:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.icon-button:active{transform:scale(.95)}.upload-zone.disabled{opacity:.5;cursor:not-allowed!important;background:var(--color-surface-tonal)!important}.upload-zone.disabled:hover{border-color:var(--color-border)!important;background:var(--color-surface-tonal)!important}.inline-notice.warning{background:var(--amber-50);border-color:var(--amber-200);color:var(--amber-900)}.inline-notice.warning a{color:var(--amber-700);text-decoration:underline}.dream-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px;display:grid}.dream-card{border-radius:var(--radius-md,12px);background:var(--color-surface);border:1px solid var(--color-border);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:12px;display:flex}.dream-card:hover{border-color:var(--color-primary)}.channel-selector{flex-direction:column;gap:12px;max-width:800px;margin-top:24px;display:flex}.channel-option{border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:16px 20px;transition:all .2s;display:grid}.channel-option:hover{border-color:var(--blue-300);background:var(--blue-50)}.channel-option.selected{border-color:var(--blue-500);background:var(--blue-100)}.channel-option input[type=radio]{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer;margin:0}.channel-info{flex-direction:column;gap:4px;display:flex}.channel-info strong{color:var(--color-text);font-size:15px;font-weight:600}.channel-info small{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.config-notice{border:1px solid var(--blue-200);background:var(--blue-50);border-radius:12px;gap:16px;max-width:800px;margin-top:24px;padding:20px;display:flex}.config-notice svg{color:var(--blue-600);flex:none;margin-top:2px}.config-notice strong{color:var(--blue-900);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.config-notice p{color:var(--blue-800);margin:8px 0;font-size:13px;line-height:1.6}.config-notice ul{color:var(--blue-800);margin:8px 0;padding-left:20px;font-size:13px;line-height:1.8}.config-notice code{background:var(--blue-200);color:var(--blue-900);border-radius:4px;padding:2px 6px;font-family:Consolas,Monaco,monospace;font-size:12px}.dream-card-avatar,.dream-chat-avatar{background:var(--color-surface-blue,var(--color-surface-tonal));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.dream-card-avatar{width:46px;height:46px}.dream-chat-avatar{width:32px;height:32px}.dream-card-avatar img,.dream-chat-avatar img{object-fit:cover;width:100%;height:100%}.dream-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dream-card-body small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dream-chat{flex-direction:column;height:100%;min-height:60vh;display:flex;position:relative}.dreamBallWrap{z-index:30;touch-action:none;width:52px;height:52px;position:absolute}.dreamBallWrap.is-open{z-index:40}.dreamBall{color:#5145ad;cursor:grab;touch-action:none;background:#f0eeff;border:2px solid #fffffff2;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:opacity .18s,transform .18s,box-shadow .18s;display:grid;position:relative;overflow:visible;box-shadow:0 0 0 2px #6d5bd033,0 10px 28px #1e193a3d}.dreamBall:active{cursor:grabbing}.dreamBall:hover{box-shadow:0 0 0 3px #6d5bd040,0 12px 32px #1e193a47}.dreamBall.is-hidden{opacity:0;pointer-events:none;transform:scale(.82)}.dreamBall img,.dreamBallPanelAvatar img{object-fit:cover;object-position:center 18%;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:100%;height:100%}.dreamBallAvatarFallback{color:#5145ad;background:linear-gradient(145deg,#f3f0ff,#e5e8f4);border-radius:50%;place-items:center;width:100%;height:100%;font-size:18px;font-weight:750;display:grid}.dreamBallEdgeHint{color:#fff;background:#221d37d1;border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:17px;height:17px;display:grid;position:absolute;top:-2px;box-shadow:0 3px 10px #1e193a33}.dreamBallEdgeHint.left{left:-5px}.dreamBallEdgeHint.right{right:-5px}.dreamBallBadge{color:#fff;background:linear-gradient(135deg,#6d5bd0,#c26691);border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;gap:2px;min-width:25px;height:18px;padding:0 5px;font-size:9px;font-weight:750;display:inline-flex;position:absolute;bottom:-4px;right:-5px;box-shadow:0 4px 10px #6d5bd052}.dreamBallPanel{color:#302c40;-webkit-backdrop-filter:blur(22px)saturate(130%);backdrop-filter:blur(22px)saturate(130%);touch-action:pan-y;scrollbar-width:thin;background:#fdfdffe8;border:1px solid #ffffffbd;border-radius:22px;width:min(268px,100vw - 28px);max-height:min(64vh,470px);padding:13px;animation:.2s both dream-panel-in;position:absolute;top:0;overflow-y:auto;box-shadow:0 22px 62px #1f1b363d}.dreamBallPanel.toLeft{transform-origin:100% 0;right:0}.dreamBallPanel.toRight{transform-origin:0 0;left:0}.dreamBallPanel.toTop{top:auto;bottom:0}.dreamBallPanelHead{align-items:center;gap:9px;min-height:42px;display:flex}.dreamBallPanelHead>div{gap:1px;min-width:0;display:grid}.dreamBallPanelHead strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dreamBallPanelHead span{color:#878292;letter-spacing:.09em;font-size:9px}.dreamBallPanelAvatar{background:#eeecf8;border:2px solid #fff;border-radius:50%;place-items:center;width:40px;min-width:40px;height:40px;padding:0;display:grid;overflow:hidden;box-shadow:0 4px 14px #312e5224}.dreamBallCollapse{color:#6f6a7d;background:#6d5bd012;border:0;border-radius:12px;place-items:center;width:36px;min-width:36px;height:36px;margin-left:auto;padding:0;display:grid}.dreamBallTabs{background:#3d38520e;border-radius:14px;grid-template-columns:1fr 1fr;gap:5px;margin:12px 0;padding:4px;display:grid}.dreamBallTabs button{color:#777181;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.dreamBallTabs button.active{color:#5145ad;background:#fffffff0;box-shadow:0 4px 14px #312e5214}.dreamBallBond{background:#6d5bd00b;border:1px solid #6d5bd017;border-radius:14px;padding:11px}.dreamBallBondTop{align-items:center;gap:6px;display:flex}.dreamBallLv{color:#5c4dbd;font-size:12px;font-weight:750}.dreamBallLvName{color:#4f4a5c;font-size:11px;font-weight:650}.dreamBallExp{color:#8a8594;font-variant-numeric:tabular-nums;margin-left:auto;font-size:9px}.dreamBallBar{background:#6d5bd01c;border-radius:999px;height:5px;margin-top:8px;position:relative;overflow:hidden}.dreamBallBar>span{border-radius:inherit;background:linear-gradient(90deg,#6d5bd0,#cf719b);height:100%;transition:width .35s;position:absolute;inset:0 auto 0 0}.dreamBallStatusList{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.dreamBallStatusList>span{color:#464151;background:#ffffffc7;border:1px solid #4c466417;border-radius:999px;align-items:baseline;gap:5px;max-width:100%;padding:6px 9px;font-size:10px;line-height:1.35;display:inline-flex}.dreamBallStatusList em{color:#918b9d;flex:none;font-style:normal}.dreamBallMuted{color:#8a8594;width:100%;margin:2px 0 0;font-size:10px;line-height:1.6}.dreamBallArchive{gap:12px;display:grid}.dreamBallArchiveIntro{color:#837e8d;margin:0;font-size:10px}.dreamBallArchiveBlock{border-top:1px solid #3d385214;gap:6px;padding-top:11px;display:grid}.dreamBallArchiveBlock h4{color:#3f3a4d;align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.dreamBallArchiveBlock h4>span{color:#8d8798;background:#6d5bd012;border-radius:999px;align-items:center;gap:3px;padding:3px 6px;font-size:9px;font-weight:550;display:inline-flex}.dreamBallArchiveText p{color:#5c5768;white-space:pre-wrap;margin:0;font-size:11px;line-height:1.65}@keyframes dream-panel-in{0%{opacity:0;translate:0 -5px;scale:.96}to{opacity:1;translate:0;scale:1}}.dream-chat-head{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:10px 4px 12px;display:flex}.dream-chat-title{flex-direction:column;gap:3px;min-width:0;display:flex}.dream-bond{align-items:center;gap:8px;display:flex}.dream-bond-lv{color:var(--color-text-secondary);white-space:nowrap;font-size:11px}.dream-bond-bar{background:var(--color-border);border-radius:999px;width:120px;height:6px;position:relative;overflow:hidden}.dream-bond-bar>span{background:linear-gradient(90deg, var(--cyan-500,#22b8cf), var(--blue-500,#4b83ff));border-radius:999px;height:100%;transition:width .4s;position:absolute;inset:0 auto 0 0}.dream-chat-body{flex:1;padding:12px 0;overflow-y:auto}.dream-chat-composer{align-items:flex-end;gap:8px;padding:12px 0 4px;display:flex}.dream-chat-composer textarea{resize:none;border-radius:var(--radius-md,12px);border:1px solid var(--color-border);min-height:42px;max-height:160px;font:inherit;flex:1;padding:10px 12px}.table-actions button.active{color:var(--blue-700);background:var(--color-surface-blue)}.inline-notice.warning{color:var(--color-warning);background:var(--amber-100)}.inline-notice.info,.submit-feedback{color:var(--blue-900);background:var(--color-surface-blue)}.inline-notice>span{flex:1}.inline-notice button{border-radius:var(--radius-pill);min-height:34px;color:inherit;background:color-mix(in srgb, var(--color-surface) 62%, transparent);border:0;padding:0 12px}.inline-notice p{margin:3px 0 0}.photo-strip{gap:var(--space-3);flex-wrap:wrap;display:flex}.photo-strip figure,.photo-add{border-radius:var(--radius-lg);width:104px;height:120px;margin:0;position:relative}.photo-strip figure{background:var(--color-surface-tonal);overflow:hidden}.photo-strip img{object-fit:cover;width:100%;height:100%}.photo-strip figure button{width:32px;height:32px;color:var(--white);background:#0b1f33ad;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.photo-strip figcaption{border-radius:var(--radius-pill);color:var(--white);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1f3394;padding:5px 7px;font-size:10px;position:absolute;bottom:6px;left:6px;right:6px}.photo-add{border:1px dashed var(--color-border-strong);min-height:120px;color:var(--color-text-secondary);background:var(--color-surface-tonal);cursor:pointer;align-content:center;place-items:center;gap:7px;font-size:11px;display:grid}.photo-add:hover{border-color:var(--color-primary);color:var(--blue-700)}.portrait-tip{gap:var(--space-3);border-radius:var(--radius-lg);color:var(--slate-700);background:var(--color-surface-tonal);padding:15px;display:flex}.portrait-tip svg{color:var(--blue-600)}.portrait-tip p{color:var(--color-text-secondary);margin:4px 0 0;font-size:12px;line-height:1.55}.model-field{gap:var(--space-2);border-radius:var(--radius-xl);background:var(--color-surface-tonal);padding:18px;display:grid}.model-field>label{font-size:13px;font-weight:700}.model-field>small{color:var(--color-text-secondary);font-size:11px}.model-loading,.preset-loading{align-items:center;gap:var(--space-2);min-height:48px;color:var(--color-text-secondary);font-size:12px;display:flex}.preset-section{gap:var(--space-3);display:grid}.preset-section-heading{justify-content:space-between;align-items:center;display:flex}.preset-section-heading h3{margin:0;font-size:15px}.preset-section-heading span{color:var(--color-text-tertiary);font-size:11px}.preset-category-filters{flex-wrap:wrap;gap:6px;display:flex}.preset-category-filters button{border:1px solid var(--color-border);min-height:28px;color:var(--color-text-secondary);background:var(--color-surface);border-radius:999px;padding:0 10px;font-size:12px;font-weight:600}.preset-category-filters button:hover{border-color:var(--blue-200);color:var(--color-text);background:var(--color-surface-tonal)}.preset-category-filters button.selected{border-color:var(--color-primary);color:var(--blue-900);background:var(--color-surface-blue)}.preset-chip-groups{gap:14px;display:grid}.preset-chip-group h4{color:var(--color-text-secondary);letter-spacing:.02em;margin:0 0 8px;font-size:12px;font-weight:700}.preset-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.preset-chips{flex-wrap:wrap;gap:8px;display:flex}.preset-chips button{border:1px solid var(--color-border);border-radius:var(--radius-pill);min-height:36px;color:var(--color-text-secondary);background:var(--color-surface);transition:border-color var(--duration-fast), background var(--duration-fast), color var(--duration-fast);padding:0 14px;font-size:13px;font-weight:500}.preset-chips button:hover{border-color:var(--blue-200);color:var(--color-text);background:var(--color-surface-tonal)}.preset-chips button.selected{border-color:var(--color-primary);color:var(--blue-900);background:var(--color-surface-blue)}.preset-grid button{border-radius:var(--radius-xl);color:var(--color-text);text-align:left;background:var(--color-surface-tonal);transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-normal), transform var(--duration-fast);border:1px solid #0000;padding:0 0 13px;position:relative;overflow:hidden}.preset-grid button:hover{border-color:var(--blue-200);background:var(--color-surface);box-shadow:var(--shadow-1)}.preset-grid button:active{transform:scale(.988)}.preset-grid button.selected{border-color:var(--color-primary);background:var(--color-surface-blue);box-shadow:0 0 0 2px #0b57d014}.preset-visual,.preset-cover{height:122px;color:var(--color-text-tertiary);place-items:center;margin-bottom:11px;display:grid;position:relative;overflow:hidden}.preset-visual img,.preset-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.preset-copy{gap:4px;min-width:0;padding:0 12px;display:grid}.preset-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.preset-copy small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.preset-grid button>i{z-index:2;width:26px;height:26px;color:var(--white);background:var(--color-primary);box-shadow:var(--shadow-1);border-radius:50%;place-items:center;display:grid;position:absolute;top:9px;right:9px}.visual-1{background:linear-gradient(140deg, var(--blue-100), var(--cyan-100))}.visual-2{background:linear-gradient(140deg, var(--amber-100), var(--red-100))}.visual-3{background:linear-gradient(140deg, var(--green-100), var(--blue-100))}.visual-4{background:linear-gradient(140deg, var(--red-100), var(--blue-100))}.optional-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.optional-grid .wide{grid-column:1/-1}.optional-grid label{gap:var(--space-2);color:var(--slate-700);font-size:13px;font-weight:650;display:grid}.review-preview{align-items:center;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-2xl);background:linear-gradient(135deg, var(--color-surface-blue), var(--cyan-100));grid-template-columns:170px minmax(0,1fr);display:grid}.review-photo-collage{border-radius:var(--radius-xl);background:var(--color-surface);grid-template-columns:repeat(2,1fr);gap:3px;height:150px;display:grid;overflow:hidden}.review-photo-collage img{object-fit:cover;width:100%;height:100%;min-height:0}.review-photo-collage img:first-child:last-child{grid-column:1/-1}.review-preview h3{margin:12px 0 7px;font-size:21px}.review-preview p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.6}.review-details{border:1px solid var(--color-border);border-radius:var(--radius-xl);display:grid;overflow:hidden}.review-details>*{align-items:center;gap:var(--space-3);min-height:62px;color:var(--color-text);text-align:left;background:var(--color-surface);border:0;grid-template-columns:120px minmax(0,1fr) auto;padding:10px 14px;display:grid}.review-details>*+*{border-top:1px solid var(--color-border)}.review-details button:hover{background:var(--color-surface-tonal)}.review-details span{color:var(--color-text-secondary);font-size:12px}.review-details strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.review-details small{color:var(--color-primary);font-size:11px}.review-count-field input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-tonal);width:72px;min-height:36px;padding:0 10px;font-size:14px;font-weight:600}.review-count-field input:focus{border-color:var(--color-focus);outline:none;box-shadow:0 0 0 3px #0b57d01a}.portrait-summary{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-1);padding:14px;position:sticky;top:24px;overflow:hidden}.summary-visual{border-radius:var(--radius-xl);height:220px;color:var(--color-text-secondary);background:linear-gradient(145deg, var(--blue-100), var(--cyan-100));place-items:center;display:grid;position:relative;overflow:hidden}.summary-visual img{object-fit:cover;width:100%;height:100%}.summary-visual>span{justify-items:center;gap:10px;font-size:12px;display:grid}.summary-visual>i{border-radius:var(--radius-pill);color:var(--white);letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1f338f;padding:6px 9px;font-size:9px;font-style:normal;position:absolute;bottom:10px;right:10px}.summary-heading{gap:4px;padding:18px 5px 12px;display:grid}.summary-heading span{color:var(--color-text-secondary);font-size:11px}.summary-heading strong{font-size:16px}.portrait-summary dl{margin:0}.portrait-summary dl div{justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--color-border);padding:11px 5px;display:flex}.portrait-summary dt{color:var(--color-text-secondary);font-size:11px}.portrait-summary dd{text-overflow:ellipsis;white-space:nowrap;max-width:62%;margin:0;font-size:11px;font-weight:650;overflow:hidden}.portrait-summary>p{color:var(--green-600);align-items:center;gap:6px;margin:12px 5px 3px;font-size:10px;display:flex}.soft-badge{border-radius:var(--radius-pill);width:fit-content;color:var(--blue-900);background:var(--color-primary-container);padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.portrait-footer{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-height:76px;padding:14px max(32px,50vw - 754px);display:flex;position:fixed;bottom:0;left:248px;right:0}.portrait-footer>span{color:var(--color-text-tertiary);font-size:12px}.admin-shell{min-height:var(--app-viewport-height);background:var(--color-bg);grid-template-columns:248px minmax(0,1fr);display:grid}.admin-sidebar{height:var(--app-viewport-height);background:var(--color-surface-tonal);flex-direction:column;padding:22px 16px;display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:var(--space-3);padding:4px 8px 22px;display:flex}.admin-brand div{flex-direction:column;display:flex}.admin-brand strong{font-size:14px}.admin-brand small{color:var(--color-text-tertiary);margin-top:2px;font-size:10px}.admin-nav-label{color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin:8px 14px 10px;font-size:10px;font-weight:700}.admin-sidebar nav{gap:var(--space-2);display:grid}.admin-sidebar nav a,.back-to-studio{align-items:center;gap:var(--space-3);border-radius:var(--radius-pill);min-height:48px;color:var(--color-text-secondary);transition:color var(--duration-fast), background var(--duration-fast);padding:0 15px;font-size:13px;font-weight:600;display:flex}.admin-sidebar nav a:hover,.back-to-studio:hover{color:var(--blue-800);background:color-mix(in srgb, var(--color-surface) 62%, transparent)}.admin-sidebar nav a.active{color:var(--color-on-primary-container);background:var(--color-primary-container)}.back-to-studio{margin-top:auto}.admin-page{width:min(1240px,100% - 64px);margin:0 auto;padding:48px 0 72px}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:34px;display:flex}.admin-page-header h1{letter-spacing:-.05em;margin:0;font-size:38px}.admin-page-header>div>p:last-child{color:var(--color-text-secondary);margin:10px 0 0;line-height:1.6}.admin-toolbar,.section-heading{justify-content:space-between;align-items:center;gap:var(--space-5);margin:20px 0;display:flex}.admin-toolbar>span,.section-heading>span{color:var(--color-text-tertiary);font-size:12px}.section-heading h2{letter-spacing:-.02em;margin:0;font-size:20px}.section-heading p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px}.search-field{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);width:min(360px,100%);min-height:46px;color:var(--color-text-tertiary);background:var(--color-surface);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:0 13px;display:flex}.search-field:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 3px #0b57d01a}.search-field input{min-height:42px;box-shadow:none;background:0 0;border:0;padding:0}.data-table-card{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-1);overflow:auto}.data-table-card table{border-collapse:collapse;white-space:nowrap;width:100%}.data-table-card th{color:var(--color-text-tertiary);background:var(--color-surface-tonal);text-align:left;letter-spacing:.05em;text-transform:uppercase;padding:13px 18px;font-size:10px;font-weight:750}.data-table-card td{border-top:1px solid var(--color-border);height:62px;padding:12px 18px;font-size:13px}.data-table-card tbody tr{transition:background var(--duration-fast)}.data-table-card tbody tr:hover{background:var(--slate-50)}.user-cell{align-items:center;gap:var(--space-3);display:flex}.user-cell>span{width:38px;height:38px;color:var(--blue-900);background:var(--color-primary-container);border-radius:50%;place-items:center;font-weight:750;display:grid}.user-cell div{flex-direction:column;display:flex}.user-cell small,.block-secondary,.table-secondary{color:var(--color-text-tertiary);font-size:11px}.block-secondary{margin-top:4px;display:block}.type-badge{border-radius:var(--radius-pill);color:var(--slate-700);background:var(--color-surface-tonal);padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.type-badge.chat{color:var(--blue-800);background:var(--blue-100)}.type-badge.image{color:var(--amber-700);background:var(--amber-100)}.type-badge.video{color:var(--green-600);background:var(--green-100)}.status-dot{color:var(--color-text-tertiary);align-items:center;gap:7px;font-size:11px;display:inline-flex}.status-dot:before{content:"";background:var(--slate-400);border-radius:50%;width:8px;height:8px}.status-dot.online{color:var(--green-600)}.status-dot.online:before{background:var(--green-600);box-shadow:0 0 0 3px var(--green-100)}.warning-text{color:var(--color-warning)}.table-actions{justify-content:flex-end;gap:var(--space-1);display:flex}.table-actions button,.config-card footer button,.preset-card-body footer button,.icon-button{min-width:40px;height:40px;color:var(--color-text-secondary);transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;gap:6px;font-size:11px;display:inline-flex}.table-actions button:hover,.config-card footer button:hover,.preset-card-body footer button:hover,.icon-button:hover{color:var(--blue-700);background:var(--color-surface-blue)}.danger-icon:hover{color:var(--color-danger)!important;background:var(--red-100)!important}.empty-state{align-content:center;place-items:center;gap:var(--space-2);border:1px dashed var(--color-border-strong);border-radius:var(--radius-2xl);min-height:290px;color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface) 55%, transparent);text-align:center;display:grid}.empty-state>span{border-radius:var(--radius-lg);width:48px;height:48px;color:var(--blue-700);background:var(--color-primary-container);place-items:center;display:grid}.empty-state strong{color:var(--color-text)}.empty-state p{max-width:420px;margin:0;font-size:12px;line-height:1.6}.segmented-tabs{border-radius:var(--radius-pill);background:var(--color-surface-strong);gap:3px;padding:4px;display:inline-flex}.segmented-tabs button{border-radius:var(--radius-pill);min-height:38px;color:var(--color-text-secondary);background:0 0;border:0;align-items:center;gap:6px;padding:0 18px;font-size:12px;font-weight:650;display:flex}.segmented-tabs button.active{color:var(--blue-900);background:var(--color-surface);box-shadow:var(--shadow-1)}.config-card-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.config-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-1);padding:18px}.config-card header{align-items:center;gap:var(--space-3);display:flex}.provider-icon{border-radius:var(--radius-lg);width:40px;height:40px;color:var(--blue-700);background:var(--color-primary-container);place-items:center;display:grid}.config-card header div{flex-direction:column;flex:1;min-width:0;display:flex}.config-card header small{color:var(--color-text-tertiary);margin-top:3px;font-size:10px}.config-card dl{margin:17px 0}.config-card dl div{justify-content:space-between;gap:var(--space-4);padding:8px 0;display:flex}.config-card dt{color:var(--color-text-secondary);font-size:11px}.config-card dd{text-overflow:ellipsis;white-space:nowrap;max-width:68%;margin:0;font-size:11px;overflow:hidden}.config-card footer{justify-content:flex-end;gap:var(--space-1);border-top:1px solid var(--color-border);padding-top:10px;display:flex}.probe-result{color:var(--color-warning);margin:-4px 0 10px;font-size:11px}.operation-feedback{margin-top:var(--space-4);border-radius:var(--radius-md);padding:12px 14px;font-size:13px}.operation-feedback.success{color:var(--green-600);background:var(--green-100)}.operation-feedback.warning{color:var(--amber-700);background:var(--amber-100)}.operation-feedback.error{color:var(--red-600);background:var(--red-100)}.channel-panel-list{gap:var(--space-3);display:grid}.channel-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-1);transition:border-color var(--duration-fast), box-shadow var(--duration-normal);overflow:hidden}.channel-panel.expanded{border-color:var(--blue-200);box-shadow:var(--shadow-2)}.channel-panel-summary{align-items:center;gap:var(--space-5);grid-template-columns:minmax(220px,1.1fr) minmax(220px,1fr) auto;min-height:90px;padding:17px 20px;display:grid}.channel-identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.channel-identity>div{min-width:0}.channel-title-line{align-items:center;gap:var(--space-2);display:flex}.channel-title-line strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.channel-identity small,.channel-metrics small{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;display:block;overflow:hidden}.channel-metrics{min-width:0}.channel-metrics>span{color:var(--slate-700);font-size:12px;font-weight:650}.channel-actions{align-items:center;gap:var(--space-1);display:flex}.channel-actions button{border-radius:var(--radius-pill);min-height:38px;color:var(--color-text-secondary);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-size:11px;display:inline-flex}.channel-actions button:hover{color:var(--blue-700);background:var(--color-surface-blue)}.channel-actions button:disabled{opacity:.5;cursor:wait}.channel-actions .expand-button{border:1px solid var(--color-border);margin-left:3px}.channel-model-section{border-top:1px solid var(--color-border);background:var(--slate-50);padding:16px 20px 20px}.channel-model-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.channel-model-toolbar .search-field{width:min(400px,100%)}.channel-model-toolbar select{width:140px}.channel-model-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.channel-model-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(180px,1fr) auto auto 104px;min-height:62px;padding:10px 14px;display:grid}.channel-model-row+.channel-model-row{border-top:1px solid var(--color-border)}.channel-model-row>div:first-child{min-width:0}.channel-model-row strong,.channel-model-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.channel-model-row strong{font-size:12px}.channel-model-row small{color:var(--color-text-tertiary);margin-top:4px;font-size:10px}.model-toggle{border:1px solid var(--color-border);border-radius:var(--radius-pill);min-height:32px;color:var(--color-text-secondary);background:var(--color-surface);justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:10px;display:inline-flex}.model-toggle span{background:var(--slate-400);border-radius:50%;width:7px;height:7px}.model-toggle.active{color:var(--green-600);background:var(--green-100);border-color:#137a5b38}.model-toggle.active span{background:var(--green-600)}.channel-model-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-secondary);text-align:center;background:var(--color-surface);padding:36px;font-size:12px}.channel-preset-picker{gap:var(--space-2);display:grid}.channel-preset-picker>span{color:var(--slate-700);font-size:13px;font-weight:650}.channel-preset-picker>div{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.channel-preset-picker button{border:1px solid var(--color-border);border-radius:var(--radius-pill);min-height:40px;color:var(--color-text-secondary);background:var(--color-surface-tonal);font-size:12px}.channel-preset-picker button:hover,.channel-preset-picker button.selected{border-color:var(--blue-200);color:var(--blue-900);background:var(--color-primary-container)}.spinning{animation:.9s linear infinite spin}.preset-admin-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.preset-admin-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-1);transition:box-shadow var(--duration-normal);overflow:hidden}.preset-admin-card:hover{box-shadow:var(--shadow-2)}.preset-cover{height:150px;margin:0}.preset-cover .status-dot{z-index:2;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:7px 10px;position:absolute;top:11px;right:11px}.preset-card-body{padding:17px}.preset-card-body>div{justify-content:space-between;align-items:center;display:flex}.preset-card-body>div>small{color:var(--color-text-tertiary)}.preset-card-body h3{margin:13px 0 6px}.preset-card-body p{height:38px;color:var(--color-text-secondary);margin:0 0 11px;font-size:12px;line-height:1.55;overflow:hidden}.preset-card-body code{border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-surface-tonal);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:10px;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;display:-webkit-box;overflow:hidden}.preset-card-body footer{margin-top:var(--space-2);justify-content:flex-end;display:flex}.modal-backdrop{z-index:var(--z-modal);padding:var(--space-6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in var(--duration-fast) ease-out;background:#0b1f337a;place-items:center;display:grid;position:fixed;inset:0}.modal-card{width:min(560px,100%);max-height:calc(var(--app-viewport-height) - 48px);border:1px solid color-mix(in srgb, var(--color-surface) 50%, transparent);border-radius:var(--dialog-radius);background:var(--color-surface);box-shadow:var(--shadow-3);animation:modal-in var(--duration-normal) var(--ease-standard);overflow:auto}.modal-card>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);border-bottom:1px solid var(--color-border);padding:24px 26px 18px;display:flex}.modal-card h2{letter-spacing:-.03em;margin:0;font-size:22px}.modal-card header p{color:var(--color-text-secondary);margin:6px 0 0;font-size:12px;line-height:1.55}.modal-form{gap:var(--space-4);padding:22px 26px 26px;display:grid}.modal-form.large{width:100%}.modal-form label,.model-advanced label{gap:var(--space-2);color:var(--slate-700);font-size:13px;font-weight:650;display:grid}.form-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-grid .wide{grid-column:1/-1}.model-discovery{justify-items:start;gap:10px;display:grid}.model-discovery label{width:100%}.switch-row{flex-direction:row;align-items:center;display:flex!important}.switch-row input{width:18px;min-height:18px}.modal-form footer{justify-content:flex-end;gap:var(--space-2);padding-top:8px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.modal-card:has(.tool-access-form){width:min(720px,100%)}.tool-access-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:13px;display:flex}.tool-access-toolbar>div{gap:var(--space-1);display:flex}.text-button{border-radius:var(--radius-pill);min-height:40px;color:var(--color-primary);background:0 0;border:0;padding:0 12px;font-weight:650}.text-button:hover{background:var(--color-surface-blue)}.tool-access-grid{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.modal-form .tool-access-option{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:10px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:14px;padding:14px 16px;transition:all .15s;display:grid}.modal-form .tool-access-option:hover{border-color:var(--blue-300);background:var(--blue-50)}.modal-form .tool-access-option.selected{border-color:var(--blue-400);background:var(--blue-100)}.tool-access-option input{width:18px;min-height:18px;accent-color:var(--color-primary);cursor:pointer;margin:0}.tool-access-option-icon{width:36px;height:36px;color:var(--blue-600);background:var(--blue-100);border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.tool-access-option.selected .tool-access-option-icon{color:var(--blue-700);background:var(--blue-200)}.tool-access-option strong,.tool-access-option small{display:block}.tool-access-option strong{color:var(--color-text);font-size:14px;font-weight:500}.tool-access-option small{color:var(--color-text-secondary);margin-top:2px;font-size:12px;font-weight:400;line-height:1.4}.model-checkboxes{border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap;gap:10px;padding:14px;display:flex}.model-checkboxes legend{color:var(--slate-700);padding:0 6px;font-size:12px;font-weight:650}.model-checkboxes label{flex-direction:row;align-items:center;display:flex}.model-checkboxes input{width:16px;min-height:16px}.model-checkboxes p{color:var(--color-text-secondary);margin:0;font-size:12px}.modal-card.wide,.modal-card.picker{max-height:min(800px, calc(var(--app-viewport-height) - 48px));flex-direction:column;display:flex;overflow:hidden}.modal-card.wide{width:min(850px,100%)}.modal-card.picker{width:min(780px,100%)}.model-modal-form{flex-direction:column;flex:1;min-height:0;display:flex}.model-form-scroll{gap:var(--space-4);padding:22px 26px;display:grid;overflow-y:auto}.model-form-section{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-tonal);padding:18px}.model-section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.model-section-heading h3{margin:0;font-size:14px}.model-section-heading p{color:var(--color-text-secondary);margin:5px 0 0;font-size:11px}.model-status-options{flex-wrap:wrap;gap:22px;padding-top:3px;display:flex}.model-status-options label{color:var(--slate-700);font-size:13px;font-weight:650}.model-advanced{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.model-advanced summary{color:var(--slate-700);cursor:pointer;padding:16px 18px;font-size:13px;font-weight:700}.model-advanced summary span{color:var(--color-text-tertiary);margin-left:7px;font-size:11px;font-weight:400}.model-advanced[open] summary{border-bottom:1px solid var(--color-border)}.model-advanced .form-grid{padding:18px}.model-advanced textarea{font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.model-modal-footer,.modal-sticky-footer{justify-content:flex-end;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border);background:var(--color-surface);flex:none;padding:15px 26px;display:flex}.model-picker-body{align-content:start;gap:var(--space-4);min-height:340px;padding:20px 26px;display:grid;overflow-y:auto}.model-picker-toolbar{align-items:center;gap:var(--space-3);display:flex}.model-picker-toolbar .search-field{flex:1;width:auto}.model-picker-toolbar select{width:144px}.model-picker-list{align-content:start;gap:var(--space-2);display:grid}.model-picker-list>button{align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);min-height:66px;color:var(--color-text);text-align:left;background:var(--color-surface-tonal);transition:border-color var(--duration-fast), background var(--duration-fast);border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;padding:10px 13px;display:grid}.model-picker-list>button:hover{border-color:var(--blue-200);background:var(--color-surface-blue)}.model-picker-list>button.selected{border-color:var(--color-primary);background:var(--color-surface-blue);box-shadow:0 0 0 2px #0b57d014}.model-picker-list>button span:nth-child(2){min-width:0}.model-picker-list strong,.model-picker-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.model-picker-list strong{font-size:13px}.model-picker-list small{color:var(--color-text-secondary);margin-top:4px;font-size:10px}.model-picker-list i{color:var(--color-text-tertiary);font-size:10px;font-style:normal}.model-picker-list button.selected i{color:var(--color-primary);font-weight:700}.picker-state{min-height:240px;color:var(--color-text-secondary);text-align:center;align-content:center;place-items:center;gap:9px;font-size:12px;display:grid}.picker-state strong{color:var(--color-text);font-size:14px}.picker-state.error span{color:var(--color-danger)}.picker-state .secondary-button{margin-top:5px}.modal-sticky-footer{justify-content:space-between}.modal-sticky-footer>span{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.modal-sticky-footer>div{gap:var(--space-2);flex:none;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}@media (width<=1180px){.portrait-footer{padding-left:28px;padding-right:28px;left:88px}.portrait-studio-layout{grid-template-columns:minmax(0,1fr) 290px}.preset-grid,.config-card-grid,.preset-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.channel-panel-summary{grid-template-columns:minmax(220px,1fr) auto}.channel-metrics{display:none}}@media (width<=1050px) and (width>=901px){.auth-page{grid-template-columns:minmax(0,1fr) minmax(390px,.82fr)}.auth-effects{padding-inline:34px}.auth-effect-stage{width:440px;height:440px;left:53%}.auth-float-card{width:158px}.auth-float-card.image{right:-3%}.auth-effect-copy h2{font-size:31px}.auth-panel{padding-inline:36px}}@media (width<=900px){.auth-page{min-height:var(--app-viewport-height);background:#f5f8ff;display:block;overflow:auto}.auth-effects{min-height:var(--app-viewport-height);pointer-events:none;border:0;padding:0;position:fixed;inset:0}.auth-effect-brand,.auth-effect-copy,.auth-effect-foot,.auth-float-card,.auth-spark{display:none}.auth-effect-mesh{opacity:.9}.auth-effect-stage{opacity:.5;width:min(620px,118vw);height:min(620px,118vw);top:28%;left:50%;transform:translate(-50%,-50%)}.auth-effect-core{opacity:.32}.auth-panel{min-height:var(--app-viewport-height);padding:max(24px, env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px));background:0 0}.auth-panel-top{justify-content:space-between;width:min(430px,100%);margin:0 auto}.auth-panel-brand{display:inline-flex}.auth-panel-inner{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffd6;border:1px solid #ffffffe6;border-radius:30px;flex:none;place-items:stretch stretch;width:min(430px,100%);min-height:0;margin:auto;padding:36px 32px 32px;box-shadow:0 28px 80px #3f4c7e29,inset 0 0 0 1px #7081b712}.auth-panel-foot{color:#6d7689}.portrait-studio-layout,.optional-grid{grid-template-columns:1fr}.optional-grid .wide{grid-column:auto}.admin-page-header{flex-direction:column;align-items:stretch}.admin-page-header .primary-button{align-self:flex-start}.channel-panel-summary{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.channel-actions{flex-wrap:wrap;width:100%}.channel-actions .expand-button{margin-left:auto}}@media (width<=720px){body{font-size:16px}.change-password-shell{width:min(100% - 28px,560px);padding:18px 0 36px}.auth-page{min-height:var(--app-viewport-height);overflow-x:hidden}.auth-effect-stage{opacity:.42;width:min(520px,132vw);height:min(520px,132vw);top:23%}.auth-orbit-one{width:88%;height:88%}.auth-effect-core{border-radius:34px;width:118px;height:118px}.auth-effect-core:before{inset:-14px}.auth-effect-core>span{width:48px;height:48px}.auth-effect-core .brand-mark{width:38px;height:38px}.auth-panel{padding:max(18px, env(safe-area-inset-top,0px)) 18px calc(20px + env(safe-area-inset-bottom,0px))}.auth-panel-top{min-height:40px;padding-inline:3px}.auth-panel-brand .brand-mark{width:32px;height:32px}.auth-panel-brand strong{font-size:13px}.auth-panel-state{font-size:7px}.auth-panel-inner{border-radius:27px;margin:auto;padding:30px 22px 26px}.auth-card{gap:14px}.auth-card-heading{margin-bottom:14px}.auth-card h1{font-size:26px}.auth-input{background:#ffffffd1;min-height:54px}.auth-input input{min-height:52px;font-size:16px}.auth-note{font-size:9px}.auth-panel-foot{font-size:8px}.change-password-card{border-radius:20px;padding:24px 20px}.change-password-shell{gap:48px}.change-password-card h1{font-size:20px}.workspace-main{min-height:var(--app-viewport-height)}.home-topbar{height:60px;padding:0 16px}.home-product{font-size:0}.home-product svg{width:19px;height:19px}.home-avatar{display:none}.home-hero{width:calc(100% - 28px);margin-top:5vh}.home-greeting{font-size:15px}.home-hero h1{font-size:42px}.home-hero>p:not(.home-greeting):not(.composer-hint):not(.composer-feedback){font-size:14px}.capability-grid{grid-template-columns:1fr 1fr;margin-top:26px;display:grid}.capability-card{border-radius:var(--radius-lg);width:100%;min-height:50px}.composer-card{border-radius:var(--radius-2xl)}.composer-card textarea{min-height:112px;padding:20px 18px 6px;font-size:16px}.composer-toolbar{align-items:flex-end}.composer-toolbar>div:first-child button:nth-child(n+2){display:none}.composer-actions .model-picker{max-width:180px}.portrait-page{width:auto;padding:8px 8px calc(88px + env(safe-area-inset-bottom,0px))}.portrait-header{display:block}.portrait-header h1{font-size:24px}.privacy-pill{margin-top:var(--space-4)}.stepper{margin-top:0}.stepper li strong{display:none}.stepper li:not(:last-child):after{left:42px;right:10px}.portrait-workspace{border-radius:0;min-height:0;padding:18px 16px 24px}.preset-grid{grid-template-columns:1fr 1fr;gap:10px}.preset-visual{height:110px}.portrait-summary{display:flex}.summary-visual{height:180px}.review-preview{grid-template-columns:1fr}.review-photo-collage{height:190px}.review-details>*{grid-template-columns:88px minmax(0,1fr) auto;gap:8px}.portrait-footer{right:8px;bottom:calc(10px + env(safe-area-inset-bottom,0px));min-height:60px;padding:8px 10px;left:8px}.portrait-footer>span{display:none}.admin-shell{display:block}.admin-sidebar{width:100%;height:auto;padding:12px 14px;position:static}.admin-brand{padding:2px 4px 12px}.admin-nav-label{display:none}.admin-sidebar nav{gap:5px;padding-bottom:2px;display:flex;overflow-x:auto}.admin-sidebar nav a{flex:none;min-height:42px;padding:0 13px}.back-to-studio{width:fit-content;min-height:40px;margin:8px 0 0;padding:0 12px}.admin-page{width:calc(100% - 28px);padding:30px 0 80px}.admin-page-header h1{font-size:32px}.admin-toolbar,.section-heading{flex-direction:column;align-items:stretch}.search-field{width:100%}.config-card-grid,.preset-admin-grid{grid-template-columns:1fr}.channel-model-toolbar,.model-section-heading,.model-picker-toolbar{flex-direction:column;align-items:stretch}.channel-model-toolbar select,.model-picker-toolbar select{width:100%}.channel-model-row{grid-template-columns:minmax(0,1fr) auto}.channel-model-row>.soft-badge{display:none}.channel-model-row .model-toggle{grid-column:2}.channel-preset-picker>div{grid-template-columns:repeat(2,1fr)}.model-status-options{gap:10px;display:grid}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.tool-access-toolbar{flex-direction:column;align-items:flex-start}.modal-backdrop{align-items:flex-end;padding:10px 10px 0}.modal-card,.modal-card.wide,.modal-card.picker{border-radius:var(--radius-2xl) var(--radius-2xl) var(--radius-lg) var(--radius-lg);width:100%;max-height:calc(92dvh - 20px)}.modal-card>header{padding:20px 20px 15px}.modal-form,.model-form-scroll,.model-picker-body{padding-left:20px;padding-right:20px}.modal-sticky-footer{flex-direction:column;align-items:stretch}.modal-sticky-footer>div{justify-content:flex-end}.data-table-card{border-radius:var(--radius-xl)}}@media (width<=420px){.capability-grid{grid-template-columns:1fr}.capability-card{border-radius:var(--radius-pill)}.preset-grid{grid-template-columns:1fr}.preset-visual{height:148px}.photo-strip figure,.photo-add{width:calc(33.333% - 8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.workspace-shell{min-height:var(--app-viewport-height);background:var(--color-bg);display:flex}.workspace-main{flex:1;min-width:0}.portrait-page{width:auto;height:var(--app-viewport-height);background:var(--color-bg);margin:0;padding:14px;overflow:hidden}.portrait-studio-layout{height:calc(var(--app-viewport-height) - 28px);grid-template-columns:minmax(420px,480px) minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.portrait-control-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:28px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.portrait-header{flex:none;align-items:flex-start;padding:24px 24px 16px;display:flex}.portrait-header h1{letter-spacing:-.04em;margin:8px 0 5px;font-size:26px}.portrait-header>div>p:last-child{max-width:320px;font-size:12px}.privacy-pill{white-space:nowrap;padding:8px 10px;font-size:9px}.stepper{flex:none;margin:0;padding:0 24px 18px}.stepper li:not(:last-child):after{left:48px;right:16px}.stepper li strong{font-size:10px}.portrait-workspace{border:0;border-top:1px solid var(--color-border);background:var(--color-surface);min-height:0;box-shadow:none;border-radius:0;flex:1;padding:22px 24px 28px;overflow-y:auto}.portrait-footer{z-index:auto;border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:70px;padding:10px 18px;position:static;box-shadow:0 -8px 24px #3c40430a}.portrait-footer>span{font-size:10px}.portrait-canvas{background:var(--color-surface-tonal);border-radius:28px;flex-direction:column;min-width:0;min-height:0;padding:14px;display:flex;position:relative;overflow:hidden}.portrait-canvas-header{color:var(--color-text-secondary);flex:0 0 44px;justify-content:space-between;align-items:center;gap:12px;padding:0 6px 10px;font-size:11px;display:flex}.portrait-canvas-header>div:first-child{color:var(--color-text);align-items:center;gap:7px;font-weight:700;display:flex}.portrait-canvas-meta{align-items:center;gap:10px;display:flex}.portrait-canvas-meta>span:first-child{min-height:24px;color:var(--color-primary);background:var(--color-surface-blue);border-radius:999px;align-items:center;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.canvas-status-dot{background:var(--green-600);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #34a8531f}.portrait-canvas-workspace{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:12px;min-height:0;padding:4px 8px 8px;display:flex;overflow:auto}.portrait-canvas-stage-slot{flex:1;place-items:center;width:100%;min-height:0;display:grid;container-type:size}.portrait-canvas-frame{width:min(100cqw, calc(100cqh * var(--portrait-ar-w,3) / var(--portrait-ar-h,4)), 420px);max-width:100%;max-height:100%;aspect-ratio:var(--portrait-ar-w,3) / var(--portrait-ar-h,4);color:var(--color-text-tertiary);background:radial-gradient(circle at 25% 20%, #a8c7fad1, transparent 34%), radial-gradient(circle at 80% 76%, #f9ab0033, transparent 30%), var(--color-surface-tonal);transition:width .18s var(--ease-standard);border-radius:18px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #2021241f}.portrait-canvas-frame .canvas-empty{text-align:center;justify-items:center;gap:10px;padding:24px;display:grid}.portrait-canvas-frame .canvas-empty>span{width:64px;height:64px;color:var(--color-primary);background:color-mix(in srgb, var(--color-surface) 72%, transparent);border-radius:22px;place-items:center;display:grid}.portrait-canvas-frame .canvas-empty>strong{color:var(--color-text);font-size:15px}.portrait-canvas-frame .canvas-empty>small{font-size:11px}.portrait-canvas-frame>img{object-fit:cover;width:100%;height:100%}.portrait-canvas-frame.has-photo{background:#202124}.canvas-gradient{pointer-events:none;background:linear-gradient(#0000,#000000a8);height:42%;position:absolute;inset:auto 0 0}.portrait-canvas-frame:not(.has-photo) .canvas-gradient,.portrait-canvas-frame:not(.has-photo) .canvas-caption{display:none}.canvas-caption{z-index:2;color:#fff;position:absolute;bottom:18px;left:18px;right:18px}.canvas-caption small,.canvas-caption strong{display:block}.canvas-caption small{opacity:.78;margin-bottom:6px;font-size:11px}.canvas-caption strong{letter-spacing:-.04em;font-size:clamp(18px,2vw,28px)}.portrait-summary{z-index:auto;border:1px solid color-mix(in srgb, var(--color-surface) 72%, transparent);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;flex-direction:column;flex:none;gap:10px;width:min(100%,420px);padding:12px 14px;display:flex;position:static;inset:auto;box-shadow:0 8px 24px #2021241a}.portrait-summary .summary-visual,.portrait-summary>p{display:none}.portrait-summary .summary-heading{padding:0}.portrait-summary .summary-heading span{font-size:9px}.portrait-summary .summary-heading strong{margin-top:4px;font-size:14px}.portrait-summary dl{flex-wrap:wrap;gap:10px 14px;margin:0;display:flex}.portrait-summary dl div{border:0;min-width:72px;padding:0;display:block}.portrait-summary dt{margin-bottom:4px;font-size:9px}.portrait-summary dd{max-width:100%;font-size:10px}.aspect-ratio-section{gap:var(--space-3);display:grid}.aspect-ratio-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.aspect-ratio-grid>button{border:1px solid var(--color-border);min-height:84px;color:var(--color-text);background:var(--color-surface);border-radius:16px;place-items:center;gap:8px;padding:10px 6px;transition:border-color .15s,background .15s,box-shadow .18s;display:grid}.aspect-ratio-grid>button:hover{border-color:var(--blue-200);background:var(--color-surface-tonal)}.aspect-ratio-grid>button.selected{border-color:var(--color-primary);background:var(--color-surface-blue);box-shadow:0 0 0 2px #0b57d014}.aspect-ratio-thumb{width:min(100%,34px);aspect-ratio:var(--portrait-ar-w,3) / var(--portrait-ar-h,4);color:var(--color-text-tertiary);background:linear-gradient(160deg,#e8f0fe,#f8fbff);border:1.5px solid;border-radius:4px}.aspect-ratio-grid>button.selected .aspect-ratio-thumb{color:var(--color-primary)}.aspect-ratio-grid>button strong{font-size:12px}.portrait-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,420px);display:grid}.portrait-result-card{aspect-ratio:var(--portrait-ar-w,3) / var(--portrait-ar-h,4);color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface) 72%, transparent);text-align:center;border:1px dashed #0b57d047;border-radius:14px;align-content:center;place-items:center;gap:4px;margin:0;display:grid;overflow:hidden}.portrait-result-card span{color:var(--color-primary);font-size:10px;font-weight:700}.portrait-result-card strong{font-size:12px}.portrait-result-card img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.portrait-result-card-pending{border-color:#0b57d042}.portrait-result-card-succeeded{background:var(--green-100);border-style:solid;border-color:#34a8533d}.portrait-result-card-failed{background:var(--red-100);color:var(--color-danger);border-style:solid;border-color:#d9302547}.portrait-result-placeholder,.portrait-result-error{text-align:center;justify-items:center;gap:5px;padding:8px;display:grid}.portrait-result-placeholder small,.portrait-result-error small{color:currentColor;text-overflow:ellipsis;max-width:100%;font-size:9px;line-height:1.35;overflow:hidden}.portrait-result-error svg{color:var(--color-danger)}.model-field-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:10px;display:flex}.model-field-heading strong,.model-field-heading span{display:block}.model-field-heading strong{color:var(--color-text);font-size:13px}.model-field-heading span{color:var(--color-text-tertiary);margin-top:3px;font-size:10px}.model-field-heading>small{color:var(--color-text-tertiary);font-size:9px}.portrait-model-grid{gap:6px;display:grid}.portrait-model-grid>button{border-color:var(--color-border);background:var(--color-surface);min-height:64px}.portrait-model-grid .model-option-icon{width:36px;height:36px}.admin-shell{background:var(--color-bg);min-height:0;display:block}.admin-topbar{z-index:40;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;height:72px;padding:0 24px;display:grid;position:sticky;top:0}.admin-brand{border-bottom:0;min-height:auto;padding:0}.admin-brand>.brand-mark{border-radius:11px;width:38px;height:38px}.admin-brand small{margin-top:2px}.admin-topbar nav{justify-content:center;align-items:center;gap:5px;display:flex}.admin-topbar nav a{min-height:42px;color:var(--color-text-secondary);border-radius:21px;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:650;display:flex}.admin-topbar nav a:hover{background:var(--color-surface-tonal)}.admin-topbar nav a.active{color:var(--color-on-primary-container);background:var(--color-surface-blue)}.admin-main{min-width:0}.admin-page{width:min(1280px,100% - 48px);padding:38px 0 72px}@media (width<=1100px){.portrait-studio-layout{grid-template-columns:minmax(360px,420px) minmax(0,1fr)}.portrait-summary{width:min(100%,380px)}.portrait-canvas-frame{width:min(100cqw, calc(100cqh * var(--portrait-ar-w,3) / var(--portrait-ar-h,4)), 360px)}}@media (width<=960px){.portrait-page{width:auto;height:auto;min-height:var(--app-viewport-height);padding:10px 10px calc(92px + env(safe-area-inset-bottom,0px));overflow:visible}.portrait-studio-layout{grid-template-columns:1fr;gap:12px;height:auto}.portrait-canvas{order:-1;min-height:0;padding:12px;overflow:visible}.portrait-canvas-workspace{gap:10px;min-height:0;overflow:visible}.portrait-canvas-stage-slot{flex:none;width:100%;height:min(46dvh,380px);min-height:220px}.portrait-canvas-frame{width:min(100cqw, calc(100cqh * var(--portrait-ar-w,3) / var(--portrait-ar-h,4)));border-radius:16px;max-width:min(100%,320px)}.portrait-summary{width:min(100%,320px)}.portrait-control-panel{min-height:0;overflow:visible}.portrait-workspace{flex:none;max-height:none;overflow:visible}.portrait-footer{z-index:calc(var(--z-sticky) + 1);right:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px));border:1px solid color-mix(in srgb, var(--color-surface) 95%, transparent);background:color-mix(in srgb, var(--color-surface) 96%, transparent);min-height:64px;box-shadow:var(--shadow-2);border-radius:18px;padding:10px 12px;position:fixed;left:82px}.portrait-footer>span{display:none}.portrait-result-grid{width:min(100%,320px)}.admin-topbar{grid-template-columns:auto 1fr;height:auto;min-height:72px}.admin-topbar nav{order:3;grid-column:1/-1;justify-content:flex-start;padding-bottom:10px;overflow-x:auto}}@media (width<=720px){.workspace-main{padding-bottom:0}.home-topbar{height:64px;padding:6px 14px}.home-model-trigger{min-width:168px;min-height:50px}.home-account .credit-pill{display:none}.home-account .home-avatar{display:grid}.gemini-model-popover{width:auto;max-height:min(620px, calc(var(--app-viewport-height) - 110px));border-radius:28px;position:fixed;inset:auto 10px 86px;overflow-y:auto}.home-hero{width:calc(100% - 32px);margin-top:10vh}.home-greeting{font-size:40px}.home-hero h1{font-size:34px}.composer-card{margin-top:28px}.capability-grid{flex-wrap:nowrap;margin-right:-16px;padding-right:16px;display:flex;overflow-x:auto}.capability-card{border-radius:23px;flex:none}.portrait-page{padding:8px 8px calc(88px + env(safe-area-inset-bottom,0px))}.portrait-control-panel,.portrait-canvas{border-radius:22px}.portrait-header{padding:18px 16px 12px;display:block}.portrait-header h1{font-size:24px}.portrait-header>div>p:last-child{max-width:none;font-size:12px}.privacy-pill{margin-top:10px;display:inline-flex}.stepper{padding:0 16px 14px}.stepper li strong{display:none}.portrait-workspace{min-height:0;padding:18px 16px 24px}.upload-zone{min-height:180px}.portrait-step{gap:20px}.step-heading h2{font-size:20px}.portrait-canvas-header{flex-wrap:wrap;gap:8px;padding-bottom:8px}.portrait-canvas-meta{max-width:100%;overflow:hidden}.portrait-canvas-meta>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.portrait-canvas-stage-slot{height:min(42dvh,340px);min-height:200px}.portrait-canvas-frame{max-width:min(100%,280px)}.portrait-canvas-frame .canvas-empty{gap:8px;padding:16px}.portrait-canvas-frame .canvas-empty>span{border-radius:16px;width:52px;height:52px}.portrait-canvas-frame .canvas-empty>strong{font-size:14px}.portrait-summary{width:100%;max-width:280px;padding:10px 12px}.aspect-ratio-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.aspect-ratio-grid>button{scroll-snap-align:start;flex:0 0 76px;min-width:76px;min-height:88px}.preset-grid{grid-template-columns:1fr 1fr}.optional-grid{grid-template-columns:1fr}.portrait-footer{right:8px;bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:10px;min-height:60px;padding:8px 10px;left:8px}.portrait-footer>span{display:none}.portrait-footer .primary-button,.portrait-footer .secondary-button{min-height:44px}.portrait-result-grid{gap:6px;width:100%;max-width:320px}.admin-topbar{gap:10px;padding:10px 14px 0}.admin-brand div{display:block}.admin-page{width:calc(100% - 28px);padding-top:28px}}@media (width<=440px){.home-model-trigger{grid-template-columns:34px minmax(0,1fr) auto;min-width:148px}.home-model-trigger>span:first-child{width:34px;height:34px}.home-model-trigger small{display:none}.portrait-canvas-stage-slot{height:min(40dvh,300px);min-height:180px}.portrait-canvas-frame,.portrait-summary,.portrait-result-grid{width:100%;max-width:100%}.portrait-canvas-frame{max-width:min(100%,240px)}.aspect-ratio-grid>button{flex:0 0 68px;min-width:68px;min-height:84px}.review-details>*{grid-template-columns:76px minmax(0,1fr) auto}}.chat-workspace{height:var(--app-viewport-height);background:var(--color-bg);min-width:0;display:flex;overflow:hidden}.conversation-drawer{z-index:var(--z-nav);width:260px;height:var(--app-viewport-height);border-right:1px solid var(--color-border);background:var(--color-surface);flex:0 0 260px;position:sticky;top:0}.conversation-panel{flex-direction:column;gap:8px;height:100%;padding:12px 10px;display:flex}.conversation-panel-top{justify-content:space-between;align-items:center;min-height:40px;padding-left:6px;display:flex}.conversation-brand{color:var(--color-text);align-items:center;gap:8px;display:inline-flex}.conversation-brand .brand-mark{border-radius:9px;width:30px;height:30px}.conversation-brand strong{letter-spacing:-.01em;font-size:15px}.conversation-panel-close{display:inline-flex}.conversation-primary{flex-direction:column;gap:2px;display:flex}.sidebar-row{border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;align-items:center;gap:12px;padding:0 14px;font-size:14px;font-weight:500;display:flex}.sidebar-row:hover{color:var(--color-text);background:var(--color-surface-tonal)}.sidebar-row.is-active{color:var(--color-on-primary-container);background:var(--color-surface-tonal)}.sidebar-row.primary{color:var(--color-on-primary-container);background:var(--color-primary-container);font-weight:var(--font-semibold);margin-bottom:4px}.sidebar-row.primary:hover{background:color-mix(in srgb, var(--color-primary) 18%, var(--color-surface));color:var(--color-on-primary-container)}.chat-search-page{background:var(--color-bg);justify-content:center;min-height:100%;padding:48px 24px 64px;display:flex}.chat-search-shell{width:min(680px,100%)}.chat-search-toolbar{align-items:center;gap:8px;margin-bottom:36px;display:flex}.chat-search-back{color:var(--color-text-secondary);flex:none}.chat-search-field{border:1px solid var(--color-border);min-width:0;min-height:52px;color:var(--color-text-secondary);background:var(--color-surface);box-shadow:var(--shadow-1);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);border-radius:999px;flex:1;align-items:center;gap:12px;padding:0 20px;display:flex}@media (width>=961px){.chat-search-back{display:none}}.chat-search-field:focus-within{border-color:var(--blue-200);box-shadow:var(--shadow-2)}.chat-search-field input{min-width:0;height:auto;min-height:0;box-shadow:none;color:var(--color-text);appearance:none;background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:0;font-size:15px}.chat-search-field input:hover,.chat-search-field input:focus{box-shadow:none;border:0;outline:none}.chat-search-field input::-webkit-search-decoration{-webkit-appearance:none}.chat-search-field input::-webkit-search-cancel-button{-webkit-appearance:none}.chat-search-field input::placeholder{color:var(--color-text-tertiary)}.chat-search-section{color:var(--color-text-tertiary);margin:0 4px 6px;font-size:12px;font-weight:500}.chat-search-list{margin:0;padding:0;list-style:none}.chat-search-list button{width:100%;min-height:48px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:11px 6px;display:flex}.chat-search-list button:hover{background:var(--color-surface-tonal)}.chat-search-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;line-height:1.4;overflow:hidden}.chat-search-list time{color:var(--color-text-tertiary);white-space:nowrap;flex:none;font-size:12px}.chat-search-empty{min-height:180px;color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.conversation-brand strong{font-size:14px}.conversation-title,.drawer-profile-meta strong{font-size:12px}.chat-bubble{font-size:14px;line-height:1.62}.chat-markdown{font-size:14px;line-height:1.65}.chat-composer-input{font-size:15px}.chat-model-trigger{min-height:36px;font-size:13px}.chat-disclaimer{font-size:11px}.conversation-section{color:var(--color-text-tertiary);margin:6px 0 -2px;padding:4px 14px 0;font-size:11px;font-weight:500}.conversation-list{flex-direction:column;flex:1;gap:2px;min-height:0;margin:0 -4px;padding:4px;display:flex;overflow-y:auto}.drawer-nav{border-top:1px solid var(--color-border);flex-direction:column;gap:2px;margin-top:4px;padding-top:10px;display:flex}.dream-echo-entry{color:var(--color-on-primary-container);background:linear-gradient(90deg, var(--color-surface-blue), var(--color-surface-tonal))}.dream-echo-entry:hover{color:var(--color-on-primary-container);background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface))}.dream-echo-entry small{color:var(--color-on-primary-container);background:color-mix(in srgb, var(--color-surface) 76%, transparent);letter-spacing:.04em;border-radius:999px;margin-left:auto;padding:3px 7px;font-size:9px;font-weight:700}.drawer-nav-item{border-radius:var(--radius-pill);width:100%;min-height:44px;color:var(--color-text-secondary);text-align:left;background:0 0;border:0;align-items:center;gap:14px;padding:0 14px;font-size:14px;font-weight:600;display:flex}.drawer-nav-item:hover{color:var(--blue-800);background:var(--color-surface-blue)}.drawer-profile-row{align-items:center;gap:4px;margin-top:4px;display:flex}.drawer-profile{border-radius:var(--radius-md);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:12px;min-width:0;margin:0;padding:8px 10px;display:flex}.drawer-profile:hover{background:var(--color-surface-tonal)}.drawer-profile-avatar{border:1px solid var(--color-border);object-fit:cover;background:var(--color-surface);border-radius:50%;flex:none;width:34px;height:34px;display:block}.drawer-profile-meta{flex-direction:column;min-width:0;display:flex}.drawer-profile-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.drawer-profile-meta small{color:var(--color-text-tertiary);margin-top:1px;font-size:11px}.drawer-theme-toggle{width:2.25rem;height:2.25rem;color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:0;border-radius:999px;flex:none;place-items:center;margin:0;padding:0;display:inline-grid}.drawer-theme-toggle:hover{color:var(--color-text);background:var(--color-surface-tonal)}.drawer-theme-toggle[aria-pressed=true]{color:var(--color-on-primary-container);background:var(--color-primary-container)}.conversation-empty{color:var(--color-text-tertiary);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 12px;font-size:13px;display:flex}.conversation-item{border-radius:var(--radius-md);color:var(--color-text-secondary);transition:background var(--duration-fast), color var(--duration-fast);align-items:center;display:flex}.conversation-item:hover{background:var(--color-surface-tonal);color:var(--color-text)}.conversation-item.active{background:var(--color-primary-container);color:var(--color-on-primary-container);font-weight:var(--font-medium)}.conversation-open{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;padding:10px 12px}.conversation-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.4;display:block;overflow:hidden}.conversation-actions{opacity:0;transition:opacity var(--duration-fast);gap:2px;padding-right:6px;display:flex}.conversation-item:hover .conversation-actions,.conversation-item.active .conversation-actions{opacity:1}.conversation-actions .icon-button{min-width:30px;height:30px}.icon-button.danger:hover{color:var(--color-danger);background:var(--red-100)}.conversation-rename{flex:1;align-items:center;gap:4px;padding:5px 6px 5px 10px;display:flex}.conversation-rename input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);outline:none;flex:1;min-width:0;height:30px;padding:0 8px;font-size:13px}.conversation-rename input:focus{border-color:var(--color-primary)}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-header{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 82%, transparent);-webkit-backdrop-filter:blur(12px)saturate(180%);min-height:60px;z-index:var(--z-sticky);align-items:center;gap:10px;padding:12px 20px;display:flex;position:sticky;top:0}.chat-menu{display:none}.chat-header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.chat-avatar{border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:inline-flex}.chat-avatar.profile,.chat-avatar.user{background:var(--color-surface-blue);color:var(--color-on-primary-container)}.chat-avatar.assistant{background:var(--color-surface-blue);color:var(--blue-700)}.chat-model-picker{position:relative}.chat-model-trigger{border:1px solid var(--color-border);border-radius:var(--radius-pill);max-width:240px;min-height:34px;color:var(--color-text);background:var(--color-surface);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.chat-model-trigger>span:first-of-type,.chat-model-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-model-trigger .chat-model-type-tag{text-overflow:unset;flex:none;overflow:visible}.chat-model-trigger:hover{border-color:var(--blue-200);background:var(--color-surface-blue)}.chat-model-menu{z-index:var(--z-sticky);border:1px solid var(--color-border);background:var(--color-surface);width:min(288px,82vw);max-height:min(56vh,360px);box-shadow:var(--shadow-3);-webkit-overflow-scrolling:touch;animation:chat-model-menu-in var(--duration-normal) var(--ease-out);transform-origin:0 0;border-radius:12px;flex-direction:column;gap:1px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}@keyframes chat-model-menu-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-model-state{color:var(--color-text-tertiary);justify-content:center;align-items:center;gap:8px;padding:14px;font-size:12px;display:flex}.chat-model-state.error{flex-direction:column}.chat-model-option{min-height:36px;color:var(--color-text);text-align:left;transition:background var(--duration-fast), transform var(--duration-fast);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.chat-model-option:hover{background:var(--color-surface-tonal)}.chat-model-option.selected{background:var(--color-surface-blue)}.chat-model-option-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.chat-model-option-body strong{font-size:12.5px;font-weight:600;line-height:1.25}.chat-model-option-body small{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.3;overflow:hidden}.chat-model-option em{color:var(--color-text-tertiary);font-size:10px;font-style:normal}.chat-model-option>svg{width:14px;height:14px;color:var(--color-primary);flex:none}.chat-model-group+.chat-model-group{border-top:1px solid var(--color-border);margin-top:4px;padding-top:4px}.chat-model-group-label{color:var(--color-text-tertiary);letter-spacing:.04em;margin:0;padding:4px 8px 2px;font-size:10px;font-weight:600}.chat-model-vendor{transition:background var(--duration-fast);border-radius:8px}.chat-model-vendor+.chat-model-vendor{margin-top:1px}.chat-model-vendor.is-open{background:color-mix(in srgb, var(--color-surface-tonal) 70%, transparent);padding-bottom:2px}.chat-model-vendor-toggle{width:100%;min-height:32px;color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;font-weight:650;display:flex}.chat-model-vendor-toggle:hover{background:var(--color-surface-tonal);color:var(--color-text)}.chat-model-vendor.is-open>.chat-model-vendor-toggle{color:var(--color-text);background:0 0}.chat-model-vendor.has-selected>.chat-model-vendor-toggle{color:var(--color-text)}.chat-model-vendor-toggle__label{align-items:center;gap:6px;min-width:0;display:inline-flex}.chat-model-vendor-icon{width:18px;height:18px;color:var(--color-text-secondary);background:var(--color-surface-tonal);transition:transform var(--duration-fast), box-shadow var(--duration-fast);border-radius:5px;flex:none;place-items:center;display:inline-grid}.chat-model-vendor-icon svg{width:11px;height:11px}.chat-model-vendor.is-open .chat-model-vendor-icon{box-shadow:0 0 0 1px color-mix(in srgb, currentColor 22%, transparent);transform:scale(1.04)}.chat-model-vendor-icon.vendor-openai{color:#0d9488;background:color-mix(in srgb, #0d9488 14%, var(--color-surface))}.chat-model-vendor-icon.vendor-claude{color:#c2410c;background:color-mix(in srgb, #c2410c 14%, var(--color-surface))}.chat-model-vendor-icon.vendor-gemini{color:#2563eb;background:color-mix(in srgb, #2563eb 14%, var(--color-surface))}.chat-model-vendor-icon.vendor-xai{color:#4f46e5;background:color-mix(in srgb, #4f46e5 14%, var(--color-surface))}.chat-model-vendor-icon.vendor-deepseek{color:#0284c7;background:color-mix(in srgb, #0284c7 14%, var(--color-surface))}.chat-model-vendor-icon.vendor-zhipu{color:#7c3aed;background:color-mix(in srgb, #7c3aed 14%, var(--color-surface))}.chat-model-vendor-icon.vendor-tongyi{color:#d97706;background:color-mix(in srgb, #d97706 14%, var(--color-surface))}.chat-model-vendor-icon.vendor-moonshot{color:#64748b;background:color-mix(in srgb, #64748b 16%, var(--color-surface))}.chat-model-vendor-icon.vendor-other{color:var(--color-text-tertiary)}.chat-model-vendor-toggle__label em{min-width:1.1rem;height:1rem;color:var(--color-text-tertiary);background:var(--color-surface-tonal);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;font-style:normal;font-weight:600;display:inline-flex}.chat-model-vendor.is-open .chat-model-vendor-toggle__label em{color:var(--color-text-secondary)}.chat-model-vendor-chevron{width:12px;height:12px;color:var(--color-text-tertiary);transition:transform .2s var(--ease-out), color var(--duration-fast);flex:none}.chat-model-vendor-chevron.open{color:var(--color-text-secondary);transform:rotate(180deg)}.chat-model-vendor-panel{opacity:0;transition:grid-template-rows .22s var(--ease-out), opacity .16s var(--ease-out);grid-template-rows:0fr;display:grid}.chat-model-vendor-panel.is-open{opacity:1;grid-template-rows:1fr}.chat-model-vendor-panel__inner{min-height:0;overflow:hidden}.chat-model-vendor-options{border-left:1.5px solid color-mix(in srgb, var(--color-border) 85%, transparent);flex-direction:column;gap:1px;margin:0 4px 2px 16px;padding:1px 0 1px 8px;display:flex}.chat-model-vendor-panel.is-open .chat-model-option{animation:chat-model-option-in .2s var(--ease-out) both}.chat-model-vendor-panel.is-open .chat-model-option:first-child{animation-delay:20ms}.chat-model-vendor-panel.is-open .chat-model-option:nth-child(2){animation-delay:40ms}.chat-model-vendor-panel.is-open .chat-model-option:nth-child(3){animation-delay:60ms}.chat-model-vendor-panel.is-open .chat-model-option:nth-child(4){animation-delay:80ms}.chat-model-vendor-panel.is-open .chat-model-option:nth-child(5){animation-delay:.1s}.chat-model-vendor-panel.is-open .chat-model-option:nth-child(n+6){animation-delay:.12s}@keyframes chat-model-option-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.chat-model-menu,.chat-model-vendor-panel,.chat-model-vendor-panel.is-open .chat-model-option,.chat-model-vendor-chevron,.chat-model-vendor-icon{transition:none!important;animation:none!important}}.chat-model-type-tag{color:var(--color-text-secondary);background:var(--color-surface-tonal);white-space:nowrap;border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-weight:650}.chat-model-type-tag.compact{margin-left:2px}.chat-model-type-tag.type-image{color:var(--color-primary);background:var(--color-surface-blue)}.chat-model-type-tag.type-chat{color:var(--color-text-secondary);background:var(--color-surface-tonal)}.chat-model-trigger .chat-model-type-tag{margin-right:2px}.chat-timeline{flex-direction:column;flex:1;justify-content:center;padding:26px 0 12px;display:flex;overflow-y:auto}.chat-row{gap:12px;width:min(760px,100% - 40px);margin:0 auto 22px;display:flex}.chat-row.user{justify-content:flex-end}.chat-row.assistant{justify-content:flex-start}.chat-user-stack{flex-direction:column;align-items:flex-end;gap:4px;max-width:min(78%,560px);display:flex}.chat-assistant-stack{flex-direction:column;flex:1;align-items:flex-start;gap:6px;width:100%;min-width:0;max-width:100%;display:flex}.chat-assistant-stack.media{width:100%;max-width:min(64%,300px)}.chat-message-model{color:var(--color-text-tertiary);margin:0 0 2px;font-size:12px;font-weight:550;line-height:1.3}.chat-bubble{border-radius:var(--radius-lg);max-width:100%;padding:12px 16px;font-size:15px;line-height:1.65}.chat-bubble p{margin:0}.chat-bubble.user{max-width:100%;color:var(--color-on-primary-container);background:var(--color-primary-container);box-shadow:var(--shadow-1);border-radius:18px}.chat-bubble.assistant{width:100%;color:var(--color-text);background:0 0;border:0;border-radius:0;padding:0}.chat-bubble.assistant.failed{border-radius:var(--radius-lg);background:var(--red-100);width:fit-content;max-width:100%;padding:12px 16px}.chat-bubble.assistant.media-result{background:0 0;border:0;width:100%;padding:0}.chat-bubble-images{gap:6px;width:100%;margin-bottom:8px;display:grid}.chat-bubble-images.count-1{grid-template-columns:1fr}.chat-bubble-images.count-2,.chat-bubble-images.count-3,.chat-bubble-images.count-4{grid-template-columns:1fr 1fr}.chat-bubble-images img{object-fit:contain;object-position:left center;background:var(--color-surface-tonal);border-radius:16px;width:100%;height:auto;max-height:min(38vh,320px);display:block}.chat-bubble-images.bare{margin-bottom:0}.chat-bubble-images.bare img{background:0 0;border-radius:18px;max-height:min(38vh,320px)}.chat-media-actions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.chat-media-action-group{gap:2px;display:inline-flex}.chat-image-trigger{cursor:zoom-in;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.chat-image-trigger.markdown{width:auto;max-width:100%;margin:4px 0;display:inline-block}.chat-image-trigger.markdown img{border-radius:var(--radius-md);max-width:100%}.image-lightbox{z-index:calc(var(--z-modal) + 20);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ac7;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.image-lightbox-stage{justify-items:center;gap:12px;max-width:100%;display:grid}.image-lightbox img,.image-lightbox-stage img{object-fit:contain;background:#0b1220;border-radius:16px;max-width:min(96vw,1100px);max-height:min(88dvh,900px);box-shadow:0 20px 60px #00000059}.image-lightbox-counter{color:#ffffffd1;letter-spacing:.04em;margin:0;font-size:13px;font-weight:600}.image-lightbox-close{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:18px;right:18px}.image-lightbox-close:hover{background:#ffffff47}.image-lightbox-nav{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.image-lightbox-nav:hover{background:#ffffff47}.image-lightbox-nav.prev{left:18px}.image-lightbox-nav.next{right:18px}@media (width<=720px){.image-lightbox{padding:16px 56px}.image-lightbox-nav{width:40px;height:40px}.image-lightbox-nav.prev{left:8px}.image-lightbox-nav.next{right:8px}}.chat-message-actions{align-items:center;gap:2px;padding-left:2px;display:flex}.chat-action-button{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.chat-action-button:hover:not(:disabled){background:var(--color-surface-tonal);color:var(--color-text)}.chat-action-button:disabled{opacity:.38;cursor:default}.chat-content{white-space:pre-wrap;word-break:break-word}.chat-markdown{word-break:break-word;font-size:15px;line-height:1.7}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p{margin:0 0 10px}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4{margin:16px 0 8px;font-weight:650;line-height:1.3}.chat-markdown h1{font-size:20px}.chat-markdown h2{font-size:18px}.chat-markdown h3{font-size:16px}.chat-markdown h4{font-size:15px}.chat-markdown ul,.chat-markdown ol{margin:0 0 10px;padding-left:22px}.chat-markdown li{margin:3px 0}.chat-markdown li>ul,.chat-markdown li>ol{margin:4px 0}.chat-markdown a{color:var(--color-primary);text-decoration:underline}.chat-markdown a.chat-cite{min-width:1.2em;color:var(--blue-800);background:var(--color-surface-blue);vertical-align:super;border-radius:999px;margin:0 1px;padding:0 5px;font-size:11px;font-weight:650;line-height:1.55;text-decoration:none;display:inline-flex}.chat-markdown a.chat-cite:hover{background:var(--color-primary-container)}.chat-citations{border-top:1px solid var(--color-border);margin-top:14px;padding-top:12px}.chat-citations-title{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px;font-weight:600}.chat-citations ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.chat-citations li a{color:var(--color-text);background:var(--color-surface-tonal);transition:background var(--duration-fast);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:grid}.chat-citations li a:hover{background:var(--color-surface-blue)}.chat-citation-index{min-width:20px;height:20px;color:var(--blue-800);background:var(--color-surface);border-radius:999px;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.chat-citation-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chat-citations li a svg{color:var(--color-text-tertiary)}.chat-markdown strong{font-weight:650}.chat-markdown code{background:var(--color-surface-tonal);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.chat-markdown pre{border-radius:var(--radius-md);background:var(--slate-950);margin:0 0 10px;padding:12px 14px;overflow-x:auto}.chat-markdown pre code{color:var(--slate-100);background:0 0;border-radius:0;padding:0;font-size:13px;line-height:1.6}.chat-markdown blockquote{border-left:3px solid var(--color-primary);color:var(--color-text);background:var(--color-surface-tonal);border-radius:0 10px 10px 0;margin:0 0 10px;padding:10px 14px}.chat-markdown table{border-collapse:collapse;margin:0 0 10px;font-size:14px;display:block;overflow-x:auto}.chat-markdown th,.chat-markdown td{border:1px solid var(--color-border);text-align:left;padding:6px 10px}.chat-markdown th{background:var(--color-surface-tonal)}.chat-markdown hr{border:0;border-top:1px solid var(--color-border);margin:12px 0}.chat-markdown img{border-radius:var(--radius-md);max-width:100%}.chat-thinking{color:var(--color-text-tertiary);margin-top:4px;font-size:13px}.chat-bubble.assistant.media-pending{background:0 0;border:0;width:min(100%,300px);max-width:100%;padding:0}.chat-image-generating{gap:12px;width:100%;display:grid}.chat-image-generating-status{color:var(--color-text-secondary);letter-spacing:.01em;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:500;display:inline-flex}.chat-image-generating-status svg{color:var(--color-text-tertiary);flex:none}.chat-image-generating-frame{aspect-ratio:1;background:var(--color-surface-tonal);border-radius:24px;width:100%;position:relative;overflow:hidden}.chat-image-generating-glow{filter:blur(2px);background:radial-gradient(circle at 50% 48%,#fffffff2 0%,#ffffff8c 28%,#ffffff1f 52%,#0000 68%);animation:2.4s ease-in-out infinite chat-image-breathe;position:absolute;inset:-20%}@keyframes chat-image-breathe{0%,to{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.chat-image-generating-glow{opacity:.75;animation:none;transform:none}}.chat-tool-steps{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.chat-tool-step{border:1px solid var(--color-border);background:var(--color-surface-tonal);border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:flex}.chat-tool-step strong,.chat-tool-step small{display:block}.chat-tool-step strong{font-size:12px}.chat-tool-step small{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.chat-tool-icon{width:28px;height:28px;color:var(--blue-700);background:var(--color-primary-container);border-radius:50%;flex:none;place-items:center;display:grid}.chat-tool-step.error .chat-tool-icon{color:var(--red-600);background:var(--red-100)}.chat-tool-step.done .chat-tool-icon{color:var(--green-600);background:var(--green-100)}.chat-error{color:var(--color-danger);align-items:center;gap:8px;display:flex}.chat-caret{vertical-align:text-bottom;background:var(--color-primary);border-radius:2px;width:7px;height:16px;margin-left:3px;animation:1s step-end infinite chat-blink;display:inline-block}@keyframes chat-blink{0%,to{opacity:1}50%{opacity:0}}.chat-footer{flex-shrink:0;padding:8px 0 16px}.chat-footer .composer-feedback{text-align:center;width:min(760px,100% - 40px);margin:8px auto 0}.chat-disclaimer{width:min(760px,100% - 40px);color:var(--color-text-tertiary);text-align:center;margin:8px auto 0;font-size:12px}.chat-composer{border:1px solid var(--color-border);background:var(--color-surface);width:min(760px,100% - 40px);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);border-radius:28px;gap:2px;margin:0 auto;padding:12px 14px 10px;display:grid;box-shadow:0 1px 2px #3c40430f,0 8px 24px #3c404314}.chat-composer:focus-within,.chat-composer.menu-open{border-color:var(--color-surface-blue);box-shadow:0 1px 2px #3c40430f,0 10px 28px #3c40431a}.chat-composer-input{width:100%;min-height:24px;max-height:160px;color:var(--color-text);font:inherit;resize:none;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;flex:1;margin:0;padding:2px 4px 6px;font-size:16px;line-height:1.5;overflow-y:auto}.chat-composer-input:hover,.chat-composer-input:focus,.chat-composer-input:focus-visible{box-shadow:none;background:0 0;border:0;outline:none}.composer-image-strip{gap:8px;padding:0 4px 8px;display:flex;overflow-x:auto}.composer-image-strip figure{background:var(--color-surface-tonal);border-radius:14px;flex:none;width:64px;height:64px;margin:0;position:relative;overflow:hidden}.composer-image-preview{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.composer-image-strip img{object-fit:cover;width:100%;height:100%}.composer-image-strip button{color:#fff;cursor:pointer;background:#202124b8;border:0;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:4px;right:4px}.composer-photo-error{color:var(--color-danger);margin:0 4px 6px;font-size:12px}.chat-composer-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.chat-composer-tools{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex;position:relative}.composer-plus{width:40px;height:40px;color:var(--color-text-secondary);background:var(--color-surface-tonal);transition:background var(--duration-fast), color var(--duration-fast);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.composer-plus:hover,.composer-plus.open{background:var(--color-surface-blue);color:var(--color-text)}.composer-plus-menu{z-index:40;border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;gap:2px;min-width:220px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 8px 28px #20212429}.composer-menu-item{min-height:44px;color:var(--color-text);text-align:left;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;border-radius:12px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;display:grid}.composer-menu-item:hover:not(:disabled){background:var(--color-surface-tonal)}.composer-menu-item:disabled{color:var(--color-text-tertiary);cursor:not-allowed}.composer-menu-item.active{color:var(--color-primary)}.composer-menu-item.active:hover{background:var(--color-surface-blue)}.composer-menu-check{color:var(--color-primary)}.composer-mode-chip{min-height:36px;color:var(--color-primary);background:var(--color-surface-blue);transition:background var(--duration-fast);border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 10px;font-size:13px;font-weight:650;display:inline-flex}.composer-mode-chip:hover{background:var(--color-primary-container)}.composer-mode-select,.chat-model-picker.compact{flex:none;position:relative}.composer-toolbar-chip{max-width:min(160px,36vw);min-height:36px;color:var(--color-text-secondary);white-space:nowrap;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:550;display:inline-flex}.composer-toolbar-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composer-toolbar-chip:hover:not(:disabled),.composer-toolbar-chip[aria-expanded=true]{color:var(--color-text);background:var(--color-surface-tonal)}.composer-toolbar-chip:disabled{opacity:.5;cursor:not-allowed}.composer-mode-menu,.chat-model-picker.compact .chat-model-menu{z-index:40;border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-direction:column;gap:2px;width:min(220px,72vw);padding:8px;display:flex;position:absolute;top:auto;bottom:calc(100% + 8px);left:0;box-shadow:0 8px 28px #20212429}.chat-model-picker.compact .chat-model-menu{width:min(260px,76vw)}.composer-mode-option{min-height:42px;color:var(--color-text);text-align:left;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;border-radius:12px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:500;display:grid}.composer-mode-option:hover:not(:disabled){background:var(--color-surface-tonal)}.composer-mode-option.selected{color:var(--color-primary);background:var(--color-surface-blue)}.composer-mode-option:disabled{color:var(--color-text-tertiary);cursor:not-allowed}.composer-mode-option em{color:var(--color-text-tertiary);font-size:11px;font-style:normal}.composer-mode-option>svg:last-child{color:var(--color-primary)}.chat-header-spacer{flex:1;min-width:0}.chat-send{width:40px;height:40px;color:var(--white);background:var(--color-primary);transition:background var(--duration-fast), opacity var(--duration-fast);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-send:hover:not(:disabled){background:var(--color-primary-hover)}.chat-send:disabled{opacity:.38}.chat-send.stop{background:var(--color-text);color:var(--color-surface)}.chat-empty{-webkit-overflow-scrolling:touch;flex:1;justify-content:center;align-items:center;padding:20px;display:flex;overflow-y:auto}.chat-empty-inner{gap:var(--space-6);flex-direction:column;width:min(680px,100%);display:flex}.chat-empty-hero{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.chat-empty-greeting{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-blue);color:var(--color-on-primary-container);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.02em;padding:5px 14px;display:inline-flex}.chat-empty-inner h1{font-size:clamp(26px,5.2vw,40px);font-weight:var(--font-semibold);letter-spacing:-.025em;color:#0000;background:linear-gradient(120deg, var(--color-text) 30%, var(--color-primary) 70%, var(--color-primary-hover));-webkit-background-clip:text;background-clip:text;margin:4px 0 0;line-height:1.15}.chat-empty-subtitle{max-width:28rem;font-size:var(--text-body);color:var(--color-text-secondary);line-height:var(--leading-normal);margin:0;padding-inline:.5rem}.chat-empty-suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%;margin-inline:auto;display:grid}.chat-suggestion-card{--card-delay:0s;--card-accent:var(--color-primary);--card-accent-soft:color-mix(in srgb, var(--color-surface-blue) 70%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);min-height:4.5rem;color:var(--color-text);background:linear-gradient(145deg, color-mix(in srgb, var(--card-accent-soft) 55%, var(--color-surface)) 0%, var(--color-surface) 62%);font:inherit;text-align:left;cursor:pointer;animation:chat-suggestion-card-in .42s var(--ease-out) both;animation-delay:var(--card-delay);transition:transform .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), background .18s var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.7rem;padding:.85rem .9rem;display:grid;position:relative}.chat-suggestion-card.accent-blue{--card-accent:#2563eb;--card-accent-soft:color-mix(in srgb, #2563eb 12%, var(--color-surface))}.chat-suggestion-card.accent-amber{--card-accent:#d97706;--card-accent-soft:color-mix(in srgb, #d97706 14%, var(--color-surface))}.chat-suggestion-card.accent-violet{--card-accent:#7c3aed;--card-accent-soft:color-mix(in srgb, #7c3aed 12%, var(--color-surface))}.chat-suggestion-card.accent-teal{--card-accent:#0f766e;--card-accent-soft:color-mix(in srgb, #0f766e 12%, var(--color-surface))}.chat-suggestion-card.accent-slate{--card-accent:#475569;--card-accent-soft:color-mix(in srgb, #64748b 12%, var(--color-surface))}.chat-suggestion-card.accent-rose{--card-accent:#e11d48;--card-accent-soft:color-mix(in srgb, #e11d48 11%, var(--color-surface))}.chat-suggestion-card.accent-orange{--card-accent:#ea580c;--card-accent-soft:color-mix(in srgb, #ea580c 13%, var(--color-surface))}.chat-suggestion-card.accent-indigo{--card-accent:#4f46e5;--card-accent-soft:color-mix(in srgb, #4f46e5 12%, var(--color-surface))}.chat-suggestion-card:hover{border-color:color-mix(in srgb, var(--card-accent) 28%, var(--color-border));transform:translateY(-2px);box-shadow:0 10px 22px #20212414}.chat-suggestion-card:active{box-shadow:none;transform:translateY(0)}.chat-suggestion-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.chat-suggestion-card__icon{width:2.15rem;height:2.15rem;color:var(--card-accent);background:color-mix(in srgb, var(--card-accent) 12%, var(--color-surface));border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-suggestion-card__body{flex-direction:column;gap:.2rem;min-width:0;padding-top:.1rem;display:flex}.chat-suggestion-card__title{letter-spacing:-.015em;font-size:.9rem;font-weight:600;line-height:1.25}.chat-suggestion-card__hint{color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}.chat-suggestion-card__arrow{color:var(--color-text-tertiary);opacity:.7;transition:color .18s var(--ease-out), transform .18s var(--ease-out), opacity .18s var(--ease-out);margin-top:.15rem}.chat-suggestion-card:hover .chat-suggestion-card__arrow{color:var(--card-accent);opacity:1;transform:translate(1px,-1px)}@keyframes chat-suggestion-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chat-suggestion-card{animation:none}.chat-suggestion-card:hover,.chat-suggestion-card:hover .chat-suggestion-card__arrow{transform:none}}.chat-empty-composer{margin-bottom:0}.chat-empty-composer .chat-composer{width:100%}@media (width<=720px){.chat-empty{justify-content:flex-start;align-items:stretch;padding:0;overflow:hidden}.chat-empty-inner{-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:center;gap:1rem;width:100%;height:100%;padding:12px 14px 0;display:flex;overflow-y:auto}.chat-empty-hero{flex-shrink:0;gap:.35rem}.chat-empty-greeting{padding:4px 11px;font-size:.75rem}.chat-empty-inner h1{margin-top:2px;font-size:clamp(22px,7vw,28px)}.chat-empty-subtitle{font-size:.8125rem;line-height:1.45}.chat-empty-suggestions{flex-shrink:0;gap:.5rem}.chat-suggestion-card{border-radius:14px;gap:.55rem;min-height:4.25rem;padding:.7rem .65rem .7rem .7rem}.chat-suggestion-card__icon{border-radius:9px;width:1.9rem;height:1.9rem}.chat-suggestion-card__icon svg{width:15px;height:15px}.chat-suggestion-card__title{font-size:.8125rem}.chat-suggestion-card__hint{font-size:.6875rem;line-height:1.35}.chat-suggestion-card__arrow{display:none}.chat-suggestion-card:hover{box-shadow:none;transform:none}.chat-empty-composer{padding-top:.5rem;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--color-bg);flex-shrink:0;margin-top:1rem;position:sticky;bottom:0}}@media (width<=380px){.chat-empty-suggestions{grid-template-columns:1fr}.chat-suggestion-card{align-items:center;min-height:3.75rem}.chat-suggestion-card__hint{-webkit-line-clamp:1;line-clamp:1}}.capability-chips{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.capability-chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);min-height:40px;color:var(--color-text-secondary);background:var(--color-surface);transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.capability-chip:hover{border-color:var(--blue-200);background:var(--color-surface-blue);color:var(--blue-800)}.capability-chip.active{background:var(--color-primary-container);color:var(--blue-900);cursor:default;border-color:#0000}.capability-chip.tools{color:var(--blue-700)}.drawer-scrim{display:none}.account-page{width:min(720px,100% - 48px);margin:0 auto;padding:40px 0 80px}.account-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.account-identity{align-items:center;gap:14px;display:flex}.account-avatar{border:1px solid var(--color-border);object-fit:cover;background:var(--color-surface);border-radius:50%;flex:none;width:52px;height:52px;display:block}.account-identity strong{font-size:18px;display:block}.account-identity small{color:var(--color-text-tertiary);font-size:13px}.account-card{border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-surface);margin-top:20px;padding:24px}.account-card h2{align-items:center;gap:8px;margin:0 0 16px;font-size:17px;display:flex}.account-card h3{color:var(--color-text-secondary);margin:20px 0 10px;font-size:13px;font-weight:600}.account-loading{color:var(--color-text-tertiary);align-items:center;gap:10px;display:flex}.account-muted{color:var(--color-text-tertiary);font-size:13px}.credit-stats{grid-template-columns:1fr 1fr;gap:14px;display:grid}.credit-stat{border-radius:var(--radius-lg);background:var(--color-surface-tonal);padding:16px}.credit-stat span{color:var(--color-text-tertiary);font-size:13px}.credit-stat strong{margin-top:6px;font-size:26px;font-weight:600;display:block}.credit-consumption ul,.credit-ledger ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.credit-consumption li{border-radius:var(--radius-md);background:var(--color-surface-tonal);justify-content:space-between;align-items:center;padding:8px 12px;font-size:14px;display:flex}.credit-ledger li{border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.credit-ledger li:last-child{border-bottom:0}.ledger-delta{font-variant-numeric:tabular-nums;font-weight:600}.ledger-delta.positive{color:var(--color-success)}.ledger-delta.negative{color:var(--color-danger)}.ledger-time{color:var(--color-text-tertiary);font-size:12px}.account-form{flex-direction:column;gap:14px;max-width:360px;display:flex}.account-form label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.account-form input{height:var(--input-height);border:1px solid var(--color-border);border-radius:var(--input-radius);padding:0 14px;font-size:15px}.account-form input:focus{border-color:var(--color-primary);outline:none}.account-form .primary-button{align-self:flex-start}@media (width<=960px){.conversation-drawer{z-index:var(--z-modal);width:min(320px,86vw);height:var(--app-viewport-height);box-shadow:var(--shadow-3);transition:transform var(--duration-normal) var(--ease-standard);flex-basis:auto;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.conversation-drawer.open{transform:translate(0)}.drawer-scrim{z-index:var(--z-sticky);background:#18202a6b;display:block;position:fixed;inset:0}.chat-search-page{padding:12px 16px 40px}.chat-search-toolbar{margin-bottom:24px}.chat-search-field{min-height:44px;padding:0 14px}}@media (width<=720px){.workspace-main:has(>.chat-workspace){padding-bottom:0}.chat-workspace{height:var(--app-viewport-height)}.chat-main{height:100%}.chat-header{min-height:56px;padding:8px 12px}.chat-row{gap:8px;width:calc(100% - 32px)}.chat-user-stack{max-width:82%}.chat-assistant-stack.media{max-width:min(70%,260px)}.chat-bubble.assistant.media-pending{width:min(100%,260px)}.chat-bubble-images img,.chat-bubble-images.bare img{max-height:min(34vh,260px)}.chat-composer,.chat-disclaimer,.composer-stack{width:calc(100% - 32px)}.chat-empty-composer .chat-composer,.chat-empty-composer .composer-stack{width:100%}.chat-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.account-page{width:calc(100% - 28px);padding-top:20px;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}}.tool-detail-page{width:min(760px,100% - 48px);margin:0 auto;padding:32px 0 80px}.tool-back{border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:13px;font-weight:var(--font-medium);transition:background var(--duration-fast), color var(--duration-fast);align-items:center;gap:6px;padding:6px 12px 6px 10px;display:inline-flex}.tool-back:hover{color:var(--color-primary);background:var(--color-surface-blue)}.tool-detail-head{margin-top:16px}.tool-detail-head h1{font-size:28px;font-weight:var(--font-semibold);letter-spacing:-.015em;align-items:center;gap:12px;margin:0;display:flex}.tool-detail-head h1>svg{color:var(--color-primary)}.tool-detail-head p{color:var(--color-text-secondary);margin:10px 0 0;font-size:15px;line-height:1.6}.tool-input-card{border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-surface);box-shadow:var(--shadow-1);margin-top:24px;padding:20px}.tool-input-toolbar{margin-bottom:14px}.tool-textarea{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);width:100%;min-height:108px;color:var(--color-text);font:inherit;resize:vertical;outline:none;padding:14px 16px;font-size:15px;line-height:1.6}.tool-textarea:focus{border-color:var(--color-primary);background:var(--color-surface)}.tool-input-card .primary-button{margin-top:14px}.tool-input-card .inline-notice{margin-top:12px}.tool-result-card{border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-surface);margin-top:20px;padding:20px}.tool-result-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tool-result-head strong{font-size:15px}.tool-result-text{border-radius:var(--radius-lg);background:var(--color-surface-tonal);color:var(--color-text);font:inherit;white-space:pre-wrap;word-break:break-word;margin:0;padding:16px;font-size:14px;line-height:1.7}.novel-page{width:calc(100% - 48px);max-width:1600px}.novel-method-note{border:1px solid var(--blue-100);border-radius:var(--radius-lg);background:var(--color-surface-blue);color:var(--blue-800);align-items:flex-start;gap:8px;margin-top:18px;padding:12px 14px;font-size:13px;line-height:1.55;display:flex}.novel-method-note svg{flex:none;margin-top:2px}.novel-view-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.novel-reader-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.novel-reader-action-group{align-items:center;gap:6px;margin-left:auto;display:flex}.novel-reader-action-group .primary-button,.novel-reader-action-group .secondary-button{min-height:38px;margin:0;padding-inline:12px;font-size:12px}.novel-library-empty{border:1px dashed var(--color-border);border-radius:var(--card-radius);background:var(--color-surface);min-height:210px;color:var(--color-text-tertiary);text-align:center;align-content:center;place-items:center;gap:9px;padding:28px;display:grid}.novel-library-empty strong{color:var(--color-text);font-size:16px}.novel-library-empty span{max-width:420px;font-size:12px;line-height:1.6}.novel-bookshelf{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-items:start;gap:28px 20px;display:grid}.novel-book-slot{min-width:0;position:relative}.novel-book{min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;gap:10px;width:100%;padding:0;display:grid}.novel-book:disabled{cursor:wait;opacity:.7}.novel-book-delete{z-index:2;width:28px;height:28px;color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 88%, transparent);cursor:pointer;opacity:0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:opacity .15s,transform .15s;display:inline-flex;position:absolute;top:8px;right:8px;box-shadow:0 4px 12px #1c2d3e2e}.novel-book-slot:hover .novel-book-delete,.novel-book-slot:focus-within .novel-book-delete{opacity:1}.novel-book-delete:hover{color:var(--color-danger,#b42318);transform:scale(1.05)}.novel-book-delete:disabled{cursor:wait;opacity:.45}.novel-book-delete:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;opacity:1}@media (hover:none){.novel-book-delete{opacity:.92}}.novel-book-cover{--book-variation:0;aspect-ratio:3/4;color:#ffffffeb;background:linear-gradient(145deg, hsl(215, 28%, calc(32% + var(--book-variation) * 3%)), hsl(222, 32%, calc(20% + var(--book-variation) * 3%)));width:100%;transition:transform var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard);border-radius:4px 10px 10px 4px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 24px #1c2d3e2e}.novel-book-cover.is-adult{background:linear-gradient(145deg, hsl(340, 32%, calc(30% + var(--book-variation) * 3%)), hsl(320, 30%, calc(18% + var(--book-variation) * 3%)))}:root[data-theme=dark] .novel-book-cover{background:linear-gradient(145deg, hsl(215, 18%, calc(22% + var(--book-variation) * 2%)), hsl(222, 20%, calc(13% + var(--book-variation) * 2%)));box-shadow:0 8px 18px #00000073}:root[data-theme=dark] .novel-book-cover.is-adult{background:linear-gradient(145deg, hsl(340, 22%, calc(20% + var(--book-variation) * 2%)), hsl(320, 20%, calc(12% + var(--book-variation) * 2%)))}:root[data-theme=dark] .novel-book:hover .novel-book-cover{box-shadow:0 14px 24px #0000008c}.novel-book-cover:before{content:"";background:#ffffff38;width:1px;position:absolute;inset:0 auto 0 6px;box-shadow:2px 0 #00000024}.novel-book-cover:after{content:"";pointer-events:none;background:linear-gradient(#ffffff1f,#0000 35%);position:absolute;inset:0}.novel-book-cover-mark{letter-spacing:-.04em;text-shadow:0 2px 8px #00000040;z-index:1;font-size:clamp(38px,6vw,54px);font-weight:700;line-height:1}.novel-book-cover-icon{opacity:.55;position:absolute;bottom:10px;right:10px}.novel-book:hover .novel-book-cover{transform:translateY(-4px);box-shadow:0 18px 32px #1c2d3e47}.novel-book:focus-visible .novel-book-cover{outline:3px solid var(--color-focus);outline-offset:3px}.novel-book-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.novel-book-meta strong{font-size:14px;line-height:1.4;font-weight:var(--font-medium);text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);overflow:hidden}.novel-book-genre{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;overflow:hidden}.novel-discovery{flex-direction:column;gap:18px;display:flex}.novel-step-heading{align-items:flex-start;gap:11px;display:flex}.novel-step-heading>span{border-radius:var(--radius-pill);background:var(--color-primary-container);min-width:34px;height:25px;color:var(--blue-900);letter-spacing:.04em;justify-content:center;align-items:center;font-size:11px;font-weight:750;display:inline-flex}.novel-step-heading h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:650}.novel-step-heading p{color:var(--color-text-tertiary);margin:4px 0 0;font-size:12px;line-height:1.5}.novel-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.novel-source-grid>button{border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;color:var(--color-text);background:var(--color-surface);text-align:left;transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);align-items:flex-start;gap:12px;padding:15px;display:flex}.novel-source-grid>button:hover{border-color:var(--blue-200);background:var(--color-surface-blue)}.novel-source-grid>button.active{border-color:var(--color-primary);background:var(--color-surface-blue);box-shadow:0 0 0 1px var(--color-primary)}.novel-source-grid>button>span{border-radius:var(--radius-md);width:38px;height:38px;color:var(--blue-700);background:var(--blue-100);flex:none;place-items:center;display:grid}.novel-source-grid>button>div{gap:5px;min-width:0;display:grid}.novel-source-grid strong{font-size:14px}.novel-source-grid small{color:var(--color-text-secondary);font-size:11px;line-height:1.45}.novel-form{flex-direction:column;gap:18px;display:flex}.novel-mode-fieldset{border:0;min-width:0;margin:0;padding:0}.novel-mode-fieldset legend,.novel-field>span,.novel-field-row label>span{color:var(--color-text-secondary);margin-bottom:8px;font-size:12px;font-weight:650;display:block}.novel-mode-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.novel-mode-grid button{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;min-height:86px;color:var(--color-text);text-align:left;transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);flex-direction:column;align-items:flex-start;gap:5px;padding:12px;display:flex}.novel-mode-grid button:hover{border-color:var(--blue-200);background:var(--color-surface-blue)}.novel-mode-grid button.active{border-color:var(--color-primary);background:var(--color-surface-blue);box-shadow:0 0 0 1px var(--color-primary)}.novel-mode-grid strong{font-size:13px}.novel-mode-grid small{color:var(--color-text-tertiary);font-size:11px;line-height:1.4}.novel-field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.novel-field-row select,.novel-field-row input,.novel-field input{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);width:100%;min-height:42px;color:var(--color-text);font:inherit;outline:none;padding:0 12px;font-size:14px}.novel-field-row select:focus,.novel-field-row input:focus,.novel-field input:focus{border-color:var(--color-primary);background:var(--color-surface)}.novel-field-row-compact{grid-template-columns:minmax(180px,240px)}.novel-genre-chips{flex-wrap:wrap;gap:7px;margin-top:-8px;display:flex}.novel-genre-chips button{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-height:30px;color:var(--color-text-secondary);padding:0 11px;font-size:12px}.novel-genre-chips button:hover,.novel-genre-chips button.selected{border-color:var(--blue-200);background:var(--color-surface-blue);color:var(--blue-800)}.novel-field-hint{color:var(--color-text-tertiary);margin-top:8px;font-size:12px;line-height:1.45;display:block}.novel-field{display:block}.novel-field>small{color:var(--color-text-tertiary);margin-top:7px;font-size:11px;line-height:1.5;display:block}.novel-context-input{min-height:150px}.novel-recommend-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.novel-recommend-row>small{max-width:360px;color:var(--color-text-tertiary);font-size:11px;line-height:1.5}.novel-discovery .novel-recommend-row .primary-button{margin-top:0}.novel-direction-section{margin-top:32px}.novel-section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.novel-direction-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch;gap:12px;display:grid}.novel-direction-card{border:1px solid var(--color-border);border-radius:var(--card-radius);min-width:0;color:var(--color-text);background:var(--color-surface);text-align:left;transition:transform var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast);flex-direction:column;align-items:stretch;gap:11px;padding:18px;display:flex}.novel-direction-card:hover{border-color:var(--blue-200);box-shadow:var(--shadow-2);transform:translateY(-2px)}.novel-direction-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary), var(--shadow-2)}.novel-direction-index{color:var(--blue-700);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:750;display:flex}.novel-direction-badge{border-radius:var(--radius-pill);color:color-mix(in srgb, var(--color-danger,#b42318) 88%, var(--color-text));background:color-mix(in srgb, var(--color-danger,#b42318) 12%, var(--color-surface));letter-spacing:.04em;text-transform:none;flex:none;padding:3px 8px;font-weight:700}.novel-direction-card h3{letter-spacing:-.02em;margin:0;font-size:19px;font-weight:650}.novel-direction-card p{margin:0}.novel-direction-tagline{min-height:42px;color:var(--blue-800);font-size:13px;font-weight:600;line-height:1.55}.novel-direction-synopsis{color:var(--color-text-secondary);font-size:12px;line-height:1.7}.novel-direction-hook{border-left:2px solid var(--blue-200);gap:4px;padding-left:10px;display:grid}.novel-direction-hook strong{color:var(--color-text-tertiary);font-size:10px}.novel-direction-hook span{font-size:12px;line-height:1.55}.novel-direction-card ol{color:var(--color-text-secondary);gap:6px;margin:0;padding-left:20px;font-size:11px;line-height:1.45;display:grid}.novel-direction-meta{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.novel-direction-meta span{border-radius:var(--radius-pill);background:var(--color-surface-tonal);color:var(--color-text-secondary);padding:4px 8px;font-size:10px}.novel-direction-action{border-radius:var(--radius-pill);min-height:36px;color:var(--color-primary);background:var(--color-surface-blue);justify-content:center;align-items:center;font-size:12px;font-weight:650;display:flex}.novel-direction-card.selected .novel-direction-action{color:var(--white);background:var(--color-primary)}.novel-library-card{cursor:default}.novel-library-actions{grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:auto;display:grid}.novel-library-actions button{justify-content:center;min-height:38px}.novel-project-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.novel-production{margin-top:28px}.novel-submit-row{justify-content:space-between;align-items:center;gap:16px;padding-top:2px;display:flex}.novel-submit-row>span{color:var(--color-text-tertiary);font-size:12px}.novel-form .novel-submit-row .primary-button{margin-top:0}.novel-outline-view{border-top:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);margin-top:18px;padding-top:16px}.novel-outline-view>strong,.novel-outline-view-head>strong{color:var(--color-text-secondary);font-size:14px;font-weight:600;display:block}.novel-outline-view-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.novel-outline-view-head .secondary-button{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.novel-outline-stage-goal{color:var(--color-text-tertiary);margin:8px 0 12px;font-size:12px;line-height:1.5}.novel-outline-stages{gap:12px;display:grid}.novel-outline-stage{border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);background:color-mix(in srgb, var(--color-surface-raised,#fff) 96%, var(--color-border));border-radius:12px;overflow:hidden}.novel-outline-stage-head{cursor:pointer;min-height:46px;transition:background-color var(--duration-fast);align-items:center;gap:8px;padding:10px 12px;list-style:none;display:flex}.novel-outline-stage-head::-webkit-details-marker{display:none}.novel-outline-stage-head:hover{background:color-mix(in srgb, var(--color-surface-tonal) 65%, transparent)}.novel-outline-stage-head:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.novel-outline-stage-head>strong{font-size:13px}.novel-outline-stage-head>span{color:var(--color-text-tertiary);margin-left:auto;font-size:12px}.novel-outline-stage-chevron{color:var(--color-text-tertiary);transition:transform var(--duration-fast);flex-shrink:0}.novel-outline-stage[open] .novel-outline-stage-chevron{transform:rotate(180deg)}.novel-outline-stage-body{padding:2px 12px 12px}.novel-outline-stage-body-head{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:8px;display:flex}.novel-outline-stage-body-head .novel-outline-stage-goal{flex:1;margin:0}.novel-outline-regenerate-batch{flex-shrink:0;align-items:center;gap:5px;padding:6px 9px;font-size:12px;display:inline-flex}.novel-outline-cast{background:color-mix(in srgb, var(--color-surface-raised,#fff) 88%, var(--color-border));border-radius:10px;margin:0 0 14px;padding:10px 12px}.novel-outline-cast>strong{color:var(--color-text-secondary);margin-bottom:6px;font-size:12px;display:block}.novel-outline-cast ul{color:var(--color-text-tertiary);gap:4px;margin:0;padding-left:1.1em;font-size:12px;line-height:1.45;display:grid}.novel-outline-chapters{gap:12px;margin:0;padding:0;list-style:none;display:grid}.novel-outline-chapter{border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);border-radius:12px;gap:6px;padding:12px 14px;display:grid}.novel-outline-chapter-title{color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.novel-outline-written-tag{color:var(--color-text-tertiary);background:color-mix(in srgb, var(--color-border) 55%, transparent);border-radius:999px;flex-shrink:0;margin:0;padding:2px 8px;font-size:11px;font-style:normal;font-weight:500}.novel-outline-chapter-synopsis{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.55}.novel-outline-chapter-meta{gap:4px;margin:0;display:grid}.novel-outline-chapter-meta>div{grid-template-columns:4.5em 1fr;gap:8px;font-size:12px;line-height:1.45;display:grid}.novel-outline-chapter-meta dt{color:var(--color-text-tertiary);margin:0;font-weight:500}.novel-outline-chapter-meta dd{color:var(--color-text-secondary);margin:0}.novel-result .tool-result-head>div{flex-direction:column;gap:2px;display:flex}.novel-result .tool-result-head small{color:var(--color-text-tertiary);font-size:11px}.novel-result .tool-result-head strong{align-items:center;gap:6px;display:flex}.novel-result .tool-result-head>div>span{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:10px}.novel-result-content{border-radius:var(--radius-lg);background:var(--color-surface-tonal);padding:clamp(18px,4vw,36px);font-size:15px;line-height:1.9}.novel-result-content>:first-child{margin-top:0}.novel-result-content>:last-child{margin-bottom:0}.novel-typewriter{border-radius:var(--radius-lg);background:var(--color-surface-tonal);min-height:180px;color:var(--color-text);font:inherit;white-space:pre-wrap;word-break:break-word;margin:0;padding:clamp(18px,4vw,36px);font-size:15px;line-height:1.9}.novel-typewriter>span:last-child{background:var(--color-primary);vertical-align:-.15em;width:2px;height:1.1em;margin-left:3px;animation:.8s step-end infinite novel-caret;display:inline-block}.novel-result-streaming>:last-child{margin-bottom:0}.novel-streaming-caret{background:var(--color-primary);vertical-align:-.15em;width:2px;height:1.1em;margin-left:3px;animation:.8s step-end infinite novel-caret;display:inline-block}@keyframes novel-caret{50%{opacity:0}}.novel-stop-button{color:var(--color-danger)}.novel-manuscript .tool-result-head>div{gap:2px;display:grid}.novel-manuscript .tool-result-head small{color:var(--color-text-tertiary);font-size:11px}.novel-chapter-list{gap:18px;display:grid}.novel-chapter{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.novel-chapter.current{border-color:var(--blue-200);box-shadow:0 0 0 1px var(--blue-100)}.novel-chapter-meta{border-bottom:1px solid var(--color-border);background:var(--color-surface);min-height:42px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:11px;display:flex}.novel-chapter-meta>span:first-child{color:var(--color-text-secondary);align-items:center;gap:6px;font-weight:650;display:inline-flex}.novel-chapter .novel-result-content,.novel-chapter .novel-typewriter{border-radius:0}.novel-next-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:16px;display:flex}.novel-next-row>span{color:var(--color-text-tertiary);font-size:11px;line-height:1.5}.novel-next-row .primary-button{margin-top:0}.novel-background-status{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}body.is-novel-reading{overflow:hidden}body.is-novel-reading .workspace-shell>:not(.workspace-main),body.is-novel-reading .workspace-sidebar,body.is-novel-reading .conversation-drawer,body.is-novel-reading .mobile-topbar{visibility:hidden;pointer-events:none}.novel-page.is-reading{z-index:70;width:calc(100vw / var(--app-scale));max-width:none;height:var(--app-viewport-height);background:#f7f4ef;margin:0;padding:0;position:fixed;top:0;left:0;overflow:hidden}.novel-reader{--reader-pad-x:clamp(.75rem, 3.2vw, 1.5rem);--reader-pad-y:clamp(.5rem, 1.6vh, .9rem);--reader-gap:clamp(.35rem, 1.2vw, .75rem);--reader-control:clamp(2.25rem, 5.5vw, 2.75rem);--reader-measure:min(42rem, 100%);--reader-ink:#1c1917;--reader-muted:#78716c;--reader-soft:#57534e;--reader-paper:#f7f4ef;--reader-panel:#faf8f5;background:var(--reader-paper);width:100%;height:100%;color:var(--reader-ink);grid-template-rows:auto minmax(0,1fr);margin:0;transition:background .2s,color .2s;display:grid;position:relative}.novel-reader.chrome-hidden{grid-template-rows:minmax(0,1fr)}.novel-reader.chrome-hidden .novel-reader-toolbar,.novel-reader.chrome-hidden .novel-reader-chrome-bottom,.novel-reader.chrome-hidden .novel-reader-task{display:none}.novel-reader-toolbar{z-index:5;grid-template-columns:var(--reader-control) minmax(0, 1fr) auto;align-items:center;gap:var(--reader-gap);min-height:calc(var(--reader-control) + var(--reader-pad-y));padding:var(--reader-pad-y) var(--reader-pad-x);padding-top:calc(var(--reader-pad-y) + env(safe-area-inset-top,0px));border-bottom:1px solid color-mix(in srgb, var(--reader-ink) 8%, transparent);background:color-mix(in srgb, var(--reader-paper) 92%, transparent);-webkit-backdrop-filter:blur(.6rem);backdrop-filter:blur(.6rem);flex-shrink:0;display:grid}.novel-reader-toolbar-actions{align-items:center;gap:.125rem;display:inline-flex}.novel-reader-icon-btn{width:var(--reader-control);height:var(--reader-control);color:var(--reader-soft);background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.novel-reader-icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--reader-ink) 6%, transparent)}.novel-reader-icon-btn:disabled{opacity:.35}.novel-reader-title-btn{min-width:0;color:inherit;text-align:center;background:0 0;border:0;gap:.1em;padding:.2em .5em;display:grid}.novel-reader-title-btn small{color:var(--reader-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72em;overflow:hidden}.novel-reader-title-btn strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92em;font-weight:650;overflow:hidden}.novel-reader-main{min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto auto;display:grid;overflow:hidden}.novel-reader.chrome-hidden .novel-reader-main{grid-template-rows:minmax(0,1fr)}.novel-reader-text-btn,.novel-reader-primary-btn{border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4em;min-height:clamp(2rem,5vh,2.5rem);padding:0 .9em;font-size:clamp(.78rem,2.4vw,.88rem);font-weight:600;display:inline-flex}.novel-reader-text-btn{color:var(--reader-soft);background:0 0}.novel-reader-text-btn:hover:not(:disabled){background:color-mix(in srgb, var(--reader-ink) 5%, transparent)}.novel-reader-text-btn:disabled{opacity:.35}.novel-reader-primary-btn{color:var(--reader-paper);background:var(--reader-ink)}.novel-reader-primary-btn:disabled{opacity:.4}.novel-reader-page{overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:0 0;min-height:0;animation:.18s both novel-page-enter;position:relative;overflow:hidden}.novel-reader-page[data-flip=scroll]{overflow-anchor:none;touch-action:pan-y;-webkit-user-select:text;user-select:text;overflow:hidden auto}.novel-reader-page[data-flip=horizontal]{touch-action:pan-y pinch-zoom}.novel-reader-page[data-flip=vertical]{touch-action:pan-x pinch-zoom}.novel-reader-page::-webkit-scrollbar{width:0;height:0}.novel-reader-page-inner{min-height:100%}.novel-reader-page-inner.is-paged{will-change:transform;transition:transform .22s}.novel-reader-page-inner[data-flip=horizontal].is-paged{column-fill:auto;height:100%}.novel-reader-page-inner[data-flip=horizontal].is-paged .novel-reader-content{width:100%;max-width:none;height:100%;padding-bottom:clamp(.8rem,2.4vh,1.25rem)}.novel-reader-page-inner[data-flip=vertical].is-paged .novel-reader-content{padding-bottom:clamp(2rem,6vh,3rem)}.novel-reader-page-indicator{right:var(--reader-pad-x);color:var(--reader-muted);pointer-events:none;font-size:.72em;position:absolute;bottom:.55rem}@keyframes novel-page-enter{0%{opacity:.72;transform:translateY(.4em)}to{opacity:1;transform:translateY(0)}}.novel-reader-content{width:var(--reader-measure);color:var(--reader-ink);letter-spacing:.01em;margin:0 auto;padding:clamp(.8rem,2.4vh,1.25rem) clamp(1rem,4vw,1.6rem) clamp(2rem,6vh,3rem);font-family:Source Han Serif SC,Noto Serif SC,Songti SC,SimSun,Georgia,serif;font-size:clamp(1rem,.4vw + .92rem,1.15rem);line-height:1.95}.novel-reader-content>:first-child{margin-top:0}.novel-reader-content>:last-child{margin-bottom:0}.novel-reader-content p{text-indent:2em;margin:0 0 1.1em}.novel-reader-content p:first-child{text-indent:0}.novel-directory-backdrop{z-index:80;background:color-mix(in srgb, var(--reader-ink) 28%, transparent);border:0;display:block;position:fixed;inset:0}.novel-directory{z-index:81;width:min(86vw,22rem);height:var(--app-viewport-height);border:0;border-right:1px solid color-mix(in srgb, var(--reader-ink) 8%, transparent);background:var(--reader-panel);max-height:none;box-shadow:.75rem 0 2.5rem color-mix(in srgb, var(--reader-ink) 12%, transparent);color:var(--reader-ink);border-radius:0;grid-template-rows:auto auto minmax(0,1fr);transition:transform .22s;display:grid;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-105%)}.novel-directory.open{transform:translate(0)}.novel-directory-head{min-height:calc(var(--reader-control) + 1rem);justify-content:space-between;align-items:center;gap:var(--reader-gap);border-bottom:1px solid color-mix(in srgb, var(--reader-ink) 8%, transparent);padding:var(--reader-pad-y) var(--reader-pad-x);padding-top:calc(var(--reader-pad-y) + env(safe-area-inset-top,0px));display:flex}.novel-directory-head>div{gap:.2em;min-width:0;display:grid}.novel-directory-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95em;overflow:hidden}.novel-directory-head span{color:var(--reader-muted);font-size:.72em}.novel-directory-head>button{width:var(--reader-control);height:var(--reader-control);color:var(--reader-soft);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.novel-directory-actions{padding:var(--reader-pad-y) var(--reader-pad-x) .25rem}.novel-directory-outline-entry{width:100%;min-height:clamp(2.6rem,7vh,3.2rem);color:var(--reader-soft);background:color-mix(in srgb, var(--reader-ink) 4%, transparent);text-align:left;border:0;border-radius:.75rem;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:.15em .65em;padding:.65em .8em;display:grid}.novel-directory-outline-entry>svg{grid-row:1/span 2}.novel-directory-outline-entry>span{color:var(--reader-ink);font-size:.92em;font-weight:650}.novel-directory-outline-entry>small{color:var(--reader-muted);grid-column:2;font-size:.72em}.novel-directory-outline-entry:hover:not(:disabled){background:color-mix(in srgb, var(--reader-ink) 7%, transparent)}.novel-directory-outline-entry:disabled{opacity:.45;cursor:not-allowed}.novel-directory nav{min-height:0;padding:.5rem var(--reader-pad-x) calc(1rem + env(safe-area-inset-bottom,0px));scrollbar-width:none;align-content:start;gap:.15rem;display:grid;overflow:auto}.novel-directory nav::-webkit-scrollbar{width:0;height:0}.novel-directory nav button{min-height:clamp(2.8rem,7.5vh,3.4rem);color:var(--reader-soft);text-align:left;background:0 0;border:0;border-radius:.75rem;align-content:center;gap:.2em;padding:.65em .8em;font-size:.86em;display:grid}.novel-directory nav button span{color:var(--reader-ink);font-weight:650}.novel-directory nav button small{color:var(--reader-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.86em;font-weight:400;overflow:hidden}.novel-directory nav button:hover{background:color-mix(in srgb, var(--reader-ink) 5%, transparent)}.novel-directory nav button.active{color:var(--reader-ink);background:color-mix(in srgb, var(--reader-ink) 8%, transparent)}.novel-directory-toggle{display:inline-grid}.novel-reader-task{justify-content:space-between;align-items:center;gap:var(--reader-gap);min-height:clamp(1.8rem,4.5vh,2.2rem);margin:0 var(--reader-pad-x) .35rem;color:var(--reader-soft);background:color-mix(in srgb, var(--reader-ink) 5%, transparent);border:0;border-radius:.65rem;padding:0 .75em;font-size:.72em;display:flex}.novel-reader-task>span:first-child{align-items:center;gap:.4em;display:inline-flex}.novel-reader-task.failed{color:var(--color-danger);background:var(--red-100)}.novel-reader-feedback{margin:0 var(--reader-pad-x) .35rem}.novel-reader-chrome-bottom{border-top:1px solid color-mix(in srgb, var(--reader-ink) 8%, transparent);background:color-mix(in srgb, var(--reader-paper) 94%, transparent);-webkit-backdrop-filter:blur(.6rem);backdrop-filter:blur(.6rem);flex-shrink:0;gap:0;display:grid}.novel-reader-prefs{padding:.65rem var(--reader-pad-x) .35rem;gap:.55rem;display:grid}.novel-reader-pref-row{grid-template-columns:2.4em minmax(0,1fr);align-items:center;gap:.55rem;display:grid}.novel-reader-pref-label{color:var(--reader-muted);font-size:.72em}.novel-reader-theme-swatches,.novel-reader-flip-modes{flex-wrap:wrap;gap:.35rem;display:flex}.novel-reader-theme-swatch{border:1px solid color-mix(in srgb, var(--reader-ink) 18%, transparent);border-radius:999px;min-width:2.6rem;min-height:1.7rem;padding:0 .55em;font-size:.68em;font-weight:600}.novel-reader-theme-swatch.active{outline:2px solid var(--reader-ink);outline-offset:1px}.novel-reader-flip-modes>button{border:1px solid color-mix(in srgb, var(--reader-ink) 14%, transparent);min-height:1.7rem;color:var(--reader-soft);background:0 0;border-radius:999px;padding:0 .7em;font-size:.72em;font-weight:600}.novel-reader-flip-modes>button.active{color:var(--reader-paper);background:var(--reader-ink);border-color:var(--reader-ink)}.novel-reader-footer{padding:.35rem var(--reader-pad-x) calc(.45rem + env(safe-area-inset-bottom,0px));flex-shrink:0;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.novel-reader-compact-btn{border:1px solid color-mix(in srgb, var(--reader-ink) 16%, transparent);min-height:1.7rem;color:var(--reader-soft);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.28em;padding:0 .65em;font-size:.72em;font-weight:600;display:inline-flex}.novel-reader-compact-btn.is-primary{color:var(--reader-paper);background:var(--reader-ink);border-color:var(--reader-ink)}.novel-reader-compact-btn:disabled{opacity:.4}.novel-generation-settings{border:1px solid var(--color-border);border-radius:12px;gap:12px;margin:4px 0 0;padding:14px;display:grid}.novel-generation-settings legend{color:var(--color-text-primary);padding:0 6px;font-size:13px;font-weight:700}.novel-setting-toggle{color:var(--color-text-primary);align-items:flex-start;gap:9px;display:flex}.novel-setting-toggle input{margin-top:3px}.novel-setting-toggle span{gap:3px;display:grid}.novel-setting-toggle small{color:var(--color-text-secondary);line-height:1.5}@media (width<=720px){.tool-detail-page{width:calc(100% - 28px);padding-top:20px;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.tool-detail-head h1{font-size:24px}.novel-page.is-reading{width:100%}.novel-reader-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;margin:12px 0;display:grid}.novel-reader-actions>.secondary-button{justify-self:start;width:fit-content}.novel-reader-action-group{display:contents}.novel-reader-action-group .novel-settings-button{grid-area:1/2;justify-self:end;width:fit-content}.novel-mode-grid{grid-template-columns:1fr 1fr}.novel-source-grid,.novel-field-row,.novel-direction-grid{grid-template-columns:1fr}.novel-section-heading,.novel-recommend-row{flex-direction:column;align-items:stretch}.novel-section-heading .secondary-button,.novel-recommend-row .primary-button{justify-content:center;width:100%}.novel-submit-row{flex-direction:column;align-items:stretch}.novel-submit-row .primary-button{justify-content:center;width:100%}.novel-next-row{flex-direction:column;align-items:stretch}.novel-next-row .primary-button,.novel-next-row .secondary-button{justify-content:center;width:100%}.novel-typewriter{min-height:140px;padding:18px;font-size:14px}.novel-bookshelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}.novel-book strong{font-size:12px}.novel-reader-content{padding:14px 18px 40px;font-size:17px;line-height:1.9}.novel-reader-footer{justify-content:flex-end}.novel-reader-compact-btn{min-height:1.65rem}}.novel-reader-content,.novel-result-content{color:inherit}.novel-result-content{color:var(--color-text)}.novel-reader-content li,.novel-result-content li,.novel-reader-content blockquote,.novel-result-content blockquote{color:inherit}.novel-reader-content h1,.novel-reader-content h2,.novel-reader-content h3,.novel-reader-content h4,.novel-reader-content h5,.novel-reader-content h6,.novel-result-content h1,.novel-result-content h2,.novel-result-content h3,.novel-result-content h4,.novel-result-content h5,.novel-result-content h6{color:inherit;font-weight:700;line-height:1.35}.novel-reader-content h1,.novel-result-content h1{margin:1.3em 0 .55em;font-size:1.4em}.novel-reader-content h2,.novel-result-content h2{margin:1.2em 0 .5em;font-size:1.22em}.novel-reader-content h3,.novel-result-content h3{margin:1.1em 0 .45em;font-size:1.1em}.novel-reader-content h4,.novel-result-content h4{margin:1em 0 .4em;font-size:1em}.novel-reader-content a,.novel-result-content a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #1c191747;text-decoration:underline #1c191747;text-decoration-thickness:1px}.novel-reader-content blockquote,.novel-result-content blockquote{background:0 0;border-left:3px solid #1c19172e;border-radius:0;margin:1em 0;padding:0 0 0 14px;font-style:normal}.novel-reader-content strong,.novel-result-content strong{color:inherit;font-weight:700}.novel-reader-content code,.novel-result-content code{background:0 0;border:1px solid #1c191724;border-radius:4px;padding:1px 5px;font-size:.92em}@media (width<=420px){.novel-bookshelf{grid-template-columns:repeat(2,minmax(0,1fr))}}.tool-input-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tool-size-select{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-height:40px;color:var(--color-text);padding:0 12px;font-size:14px}.tool-generating{border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-surface);margin-top:20px;padding:8px}.tool-generating>.gen-placeholder{padding:var(--space-10) var(--space-4)}.image-result-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.image-result{border-radius:var(--radius-lg);background:var(--color-surface-tonal);margin:0;position:relative;overflow:hidden}.image-result img{width:100%;height:auto;display:block}.image-download{border-radius:var(--radius-pill);color:var(--white);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#18202ab8;border:0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex;position:absolute;bottom:10px;right:10px}.image-result-actions{gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.image-result-actions .image-download{position:static}.image-download:hover{background:#18202ae0}.image-history-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.image-history-item{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-surface-tonal);overflow:hidden}.image-history-item img{object-fit:cover;width:100%;height:100%}.persona-form{grid-template-columns:1fr 1fr;gap:14px;max-width:none;display:grid}.persona-form label{flex-direction:column}.persona-form-wide{grid-column:1/-1}.persona-form textarea{border:1px solid var(--color-border);border-radius:var(--input-radius);font:inherit;resize:vertical;outline:none;padding:10px 14px;font-size:15px}.persona-form textarea:focus{border-color:var(--color-primary)}.persona-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.persona-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.persona-item.default{border-color:var(--blue-200);background:var(--color-surface-blue)}.persona-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.persona-meta strong{align-items:center;gap:8px;font-size:15px;display:flex}.persona-meta small{color:var(--color-text-secondary);font-size:13px}.persona-badge{border-radius:var(--radius-pill);background:var(--color-primary-container);color:var(--blue-900);padding:1px 8px;font-size:11px}.persona-actions{align-items:center;gap:8px;display:flex}.persona-default-hint{color:var(--color-success);align-items:center;gap:5px;font-size:13px;display:inline-flex}@media (width<=720px){.persona-form{grid-template-columns:1fr}.persona-item{flex-direction:column;align-items:stretch}.persona-actions{justify-content:flex-end}}.persona-mode{border-radius:var(--radius-pill);background:var(--color-surface-tonal);gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.persona-mode button{border-radius:var(--radius-pill);min-height:34px;color:var(--color-text-secondary);background:0 0;border:0;padding:0 16px;font-size:13px}.persona-mode button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-1)}.video-result{border-radius:var(--radius-lg);background:#000;width:100%;max-height:70vh}.composer-stack{flex-direction:column;align-items:center;gap:10px;width:min(760px,100% - 40px);margin:0 auto;display:flex}.composer-stack .chat-composer{width:100%;margin:0}.composer-mode-tabs{border-radius:var(--radius-pill);background:var(--color-surface-tonal);gap:2px;padding:3px;display:inline-flex}.composer-mode-tabs button{border-radius:var(--radius-pill);min-height:34px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-fast);background:0 0;border:0;padding:0 16px;font-size:13px;font-weight:600}.composer-mode-tabs button.active{color:var(--blue-900);background:var(--color-surface);box-shadow:var(--shadow-1)}.composer-mode-tabs button:disabled{opacity:.5;cursor:not-allowed}.chat-footer .composer-stack{align-items:center}.chat-footer .composer-mode-tabs{align-self:center}.chat-result-image{position:relative}.chat-image-actions{gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.chat-image-actions button{color:#fff;cursor:pointer;background:#18202ab8;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.library-page{width:min(960px,100% - 48px);margin:0 auto;padding:32px 0 80px}.library-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.library-head h1{margin:6px 0 0;font-size:28px}.library-head p{color:var(--color-text-secondary);margin:8px 0 0;font-size:14px}.library-empty{min-height:200px;color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.library-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.library-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.library-card-preview{cursor:zoom-in;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.library-card-preview img,.library-card img{aspect-ratio:1;object-fit:cover;background:var(--color-surface-tonal);width:100%;display:block}.library-card-preview:hover img{filter:brightness(.96)}.library-card-meta{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.library-card-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.library-card-actions{gap:2px;display:flex}.asset-picker-modal{flex-direction:column;width:min(720px,100vw - 32px);max-height:min(80vh,640px);display:flex}.asset-picker-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:0;padding:4px;list-style:none;display:grid;overflow:auto}.asset-picker-item{background:var(--color-surface-tonal);cursor:pointer;border:2px solid #0000;border-radius:12px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.asset-picker-item.selected{border-color:var(--color-primary)}.asset-picker-item img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.asset-picker-check{color:#fff;background:var(--color-primary);border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:8px;right:8px}.asset-picker-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;margin-top:16px;padding-top:12px;display:flex}@media (width<=720px){.library-page{width:calc(100% - 28px);padding-top:20px}.library-head{flex-direction:column;align-items:stretch}}.dream-experience{--dream-bg:#f8f9fd;--dream-surface:#fff;--dream-surface-raised:#f1f3f9;--dream-border:#312e521c;--dream-text:#29263a;--dream-muted:#777386;--dream-accent:#6d5bd0;--dream-accent-soft:#6d5bd01a;width:100%;min-height:var(--app-viewport-height);color:var(--dream-text);background:radial-gradient(circle at 8% 4%, #7f70dd1f, transparent 28%), radial-gradient(circle at 92% 30%, #e9adc01a, transparent 28%), var(--dream-bg);position:relative;overflow:hidden}.dream-ambient{pointer-events:none;opacity:.75;background-image:radial-gradient(#6d5bd029 .7px,#0000 .7px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 54%);mask-image:linear-gradient(#000,#0000 54%)}.dream-access-page{min-height:calc(var(--app-viewport-height) - 56px);background:radial-gradient(circle at 50% 38%,#f0edff,#0000 32%),#fafbfe;place-items:center;padding:28px;display:grid}.dream-access-card{border:1px solid var(--dream-border,#312e521c);color:#29263a;text-align:center;background:#ffffffeb;border-radius:24px;justify-items:center;gap:9px;width:min(410px,100%);padding:34px 28px;display:grid;box-shadow:0 20px 60px #312e5217}.dream-access-icon{color:#6d5bd0;background:#efedff;border-radius:15px;place-items:center;width:46px;height:46px;margin-bottom:3px;display:grid}.dream-access-card strong{font-size:17px}.dream-access-card p{color:#777386;margin:0;font-size:13px;line-height:1.6}.dream-access-action{color:#fff;background:#6252c5;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:40px;margin-top:8px;padding:0 16px;font-size:12px;font-weight:650;display:inline-flex}.dream-gallery-page{padding:20px clamp(22px,4vw,64px) 72px}.dream-gallery-header,.dream-gallery-content{z-index:1;width:min(1080px,100%);margin-inline:auto;position:relative}.dream-gallery-header{gap:26px;display:grid}.dream-back-link{width:fit-content;min-height:40px;color:var(--dream-muted);border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:13px;transition:color .18s,background .18s;display:inline-flex}.dream-back-link:hover{color:var(--dream-accent);background:var(--dream-accent-soft)}.dream-gallery-header>div{text-align:center}.dream-kicker{color:var(--dream-accent);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;margin:0 0 9px;font-size:11px;font-weight:700;display:inline-flex}.dream-gallery-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,44px);font-weight:590}.dream-gallery-header>div>p:last-child{max-width:580px;color:var(--dream-muted);margin:12px auto 0;font-size:14px;line-height:1.75}.dream-gallery-content{gap:42px;margin-top:24px;display:grid}.dream-featured{place-items:center;width:min(620px,100%);margin-inline:auto;display:grid;position:relative}.dream-featured-card{aspect-ratio:3/4;color:#fff;background:var(--dream-surface);text-align:left;border:1px solid #6d5bd02e;border-radius:28px;width:min(350px,100% - 120px);padding:0;transition:transform .25s,border-color .25s,box-shadow .25s;display:block;position:relative;overflow:hidden;box-shadow:0 24px 64px #312e5229,0 0 0 7px #6d5bd009}.dream-featured-card:hover{border-color:#6d5bd075;transform:translateY(-3px);box-shadow:0 30px 72px #312e5233,0 0 0 7px #6d5bd00e}.dream-featured-image,.dream-featured-card>.dream-portrait-fallback{object-fit:cover;width:100%;height:100%;animation:.55s both dream-featured-reveal}.dream-featured-scrim,.dream-character-overlay,.dream-detail-scrim,.character-builder-preview-shade,.admin-character-cover-shade{pointer-events:none;background:linear-gradient(#0000 28%,#05050c33 50%,#05050cf0 100%);position:absolute;inset:0}.dream-featured-copy{z-index:1;gap:5px;padding:26px;display:grid;position:absolute;bottom:0;left:0;right:0}.dream-featured-copy>small{color:#ead7ff;letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#100a1b80;border:1px solid #ffffff38;border-radius:999px;width:fit-content;padding:4px 9px;font-size:10px}.dream-featured-copy strong{letter-spacing:-.035em;font-size:28px;font-weight:650}.dream-featured-copy>span{color:#ffffffc2;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dream-carousel-arrow,.dream-round-button{border:1px solid var(--dream-border);width:44px;min-width:44px;height:44px;color:var(--dream-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-radius:50%;place-items:center;padding:0;transition:border-color .18s,background .18s,transform .18s;display:inline-grid;box-shadow:0 8px 24px #312e5214}.dream-carousel-arrow{z-index:2;position:absolute;top:50%;transform:translateY(-50%)}.dream-carousel-arrow.previous{left:0}.dream-carousel-arrow.next{right:0}.dream-carousel-arrow:hover:not(:disabled),.dream-round-button:hover:not(:disabled){color:var(--dream-accent);background:#f2f0ff;border-color:#6d5bd05c}.dream-carousel-arrow:active:not(:disabled){transform:translateY(-50%)scale(.95)}.dream-carousel-arrow:disabled{opacity:.35}.dream-carousel-dots{justify-content:center;gap:1px;margin-top:8px;display:flex}.dream-carousel-dots button{background:0 0;border:0;border-radius:999px;place-items:center;width:34px;min-width:34px;height:34px;padding:0;display:grid;position:relative}.dream-carousel-dots button:after{content:"";background:#d8d5e3;border-radius:999px;width:7px;height:7px;transition:width .18s,background .18s,box-shadow .18s}.dream-carousel-dots button.active{width:34px;box-shadow:none;background:0 0}.dream-carousel-dots button.active:after{background:var(--dream-accent);width:22px;box-shadow:0 0 0 4px #6d5bd014}.dream-history-section{gap:16px;display:grid}.dream-history-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.dream-history-list li{min-width:0}.dream-history-list button{border:1px solid var(--dream-border);width:100%;min-width:0;min-height:72px;color:var(--dream-text);text-align:left;background:#ffffffdb;border-radius:18px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 8px 28px #312e520d}.dream-history-list button:hover:not(:disabled){background:#fff;border-color:#6d5bd04d;transform:translateY(-2px);box-shadow:0 14px 36px #312e521a}.dream-history-list button:disabled{cursor:not-allowed;opacity:.58}.dream-history-avatar{width:46px;height:46px;color:var(--dream-accent);background:var(--dream-surface-raised);border:1px solid #6d5bd01f;border-radius:14px;flex:0 0 46px;place-items:center;display:grid;overflow:hidden}.dream-history-avatar>img,.dream-history-avatar>.dream-portrait-fallback{object-fit:cover;width:100%;height:100%}.dream-history-copy{flex:auto;gap:4px;min-width:0;display:grid}.dream-history-copy strong,.dream-history-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dream-history-copy strong{font-size:13px;font-weight:650}.dream-history-copy small{color:var(--dream-muted);font-size:10px}.dream-history-list button>svg{color:#aaa5b7;flex:none}.dream-history-empty{min-height:72px;color:var(--dream-muted);text-align:center;background:#ffffff7a;border:1px dashed #6d5bd033;border-radius:18px;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.dream-character-section{gap:18px;display:grid}.dream-section-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.dream-section-heading p{color:var(--dream-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.dream-section-heading h2{letter-spacing:-.035em;margin:0;font-size:24px;font-weight:570}.dream-section-heading>span{color:var(--dream-accent);background:var(--dream-accent-soft);border-radius:999px;padding:6px 10px;font-size:11px}.dream-character-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.dream-character-card{border:1px solid var(--dream-border);min-width:0;color:var(--dream-text);background:var(--dream-surface);text-align:left;border-radius:22px;padding:0;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden;box-shadow:0 8px 30px #312e520e}.dream-character-card:hover{border-color:#6d5bd052;transform:translateY(-3px);box-shadow:0 18px 46px #312e521f}.dream-character-cover{aspect-ratio:3/4;background:var(--dream-surface-raised);display:block;position:relative;overflow:hidden}.dream-character-cover>img,.dream-character-cover>.dream-portrait-fallback{object-fit:cover;width:100%;height:100%;transition:transform .35s}.dream-character-card:hover .dream-character-cover>img{transform:scale(1.035)}.dream-character-copy{z-index:1;gap:3px;padding:17px;display:grid;position:absolute;bottom:0;left:0;right:0}.dream-character-copy strong{font-size:17px}.dream-character-copy small{color:#ffffffb3;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dream-detail-tags>span{color:#5c4dbd;background:#f0eeff;border:1px solid #6d5bd017;border-radius:999px;padding:4px 8px;font-size:10px}.dream-portrait-fallback{color:#6d5bd0;background:linear-gradient(145deg,#f0edff,#e7eaf4);align-content:center;place-items:center;gap:8px;display:grid}.dream-portrait-fallback small{font-size:12px;font-weight:750}.dream-loading,.dream-empty{z-index:1;border:1px dashed var(--dream-border);width:min(620px,100%);min-height:300px;color:var(--dream-muted);text-align:center;border-radius:24px;align-content:center;place-items:center;gap:8px;margin:38px auto 0;display:grid;position:relative}.dream-loading{grid-auto-flow:column}.dream-empty strong{color:var(--dream-text)}.dream-empty p{margin:0;font-size:12px}@keyframes dream-featured-reveal{0%{opacity:.35;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.dream-detail-page{isolation:isolate;width:min(860px,100%);min-height:var(--app-viewport-height);border-right:1px solid var(--dream-border);border-left:1px solid var(--dream-border);margin-inline:auto}.dream-character-backdrop{z-index:0;filter:blur(25px)saturate(.8);opacity:.3;pointer-events:none;background-position:50% 20%;background-size:cover;position:absolute;inset:-28px;transform:scale(1.08)}.dream-character-backdrop-wash{z-index:0;pointer-events:none;background:linear-gradient(#f8f9fd1f 0,#f8f9fdd6 47%,#f8f9fd 92%);position:absolute;inset:0}.dream-detail-hero{z-index:1;background:var(--dream-surface);height:clamp(350px,46vh,520px);position:relative;overflow:hidden}.dream-detail-image,.dream-detail-hero>.dream-portrait-fallback{object-fit:cover;object-position:center 24%;width:100%;height:100%}.dream-detail-scrim{background:linear-gradient(#0f0d1933,#0000 30%,#0f0d193d 58%,#141122e0 100%)}.dream-detail-back{z-index:2;position:absolute;top:20px;left:20px}.dream-detail-title{z-index:1;color:#fff;position:absolute;bottom:32px;left:clamp(20px,5vw,44px);right:clamp(20px,5vw,44px)}.dream-detail-title>span{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#6d5bd09e;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.dream-detail-title h1{letter-spacing:-.055em;margin:12px 0 5px;font-size:clamp(34px,6vw,54px);font-weight:580}.dream-detail-title p{color:#ffffffb8;margin:0;font-size:14px}.dream-detail-content{z-index:1;gap:14px;padding:8px clamp(18px,5vw,44px) 112px;display:grid;position:relative}.dream-detail-panel{border:1px solid var(--dream-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border-radius:20px;padding:18px;box-shadow:0 16px 40px #312e5212}.dream-bond-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.dream-bond-heading>span{color:var(--dream-accent);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.dream-bond-heading small{color:var(--dream-muted);font-size:10px}.dream-detail-progress{background:#eceaf2;border-radius:999px;height:5px;margin-top:12px;overflow:hidden}.dream-detail-progress>span{border-radius:inherit;background:linear-gradient(90deg,#6d5bd0,#d56f9d);height:100%;transition:width .35s;display:block}.dream-archive-heading p{color:var(--dream-accent);align-items:center;gap:7px;margin:0;font-size:12px;font-weight:700;display:flex}.dream-archive-heading h2{color:var(--dream-muted);margin:4px 0 14px;font-size:11px;font-weight:500}.dream-archive-list{margin:0;display:grid}.dream-archive-list>div{border-top:1px solid var(--dream-border);grid-template-columns:86px minmax(0,1fr);gap:12px;padding:14px 0;display:grid}.dream-archive-list dt{color:var(--dream-muted);font-size:11px}.dream-archive-list dd{color:#555163;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.65}.dream-detail-tags{flex-wrap:wrap;gap:5px;display:flex}.dream-locked{color:#9995a4;align-items:center;gap:6px;display:inline-flex}.dream-detail-footer{z-index:10;padding:28px clamp(18px, 5vw, 44px) calc(18px + env(safe-area-inset-bottom,0px));background:linear-gradient(#0000,#f8f9fdf5 42%);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;display:grid;position:absolute;bottom:0;left:0;right:0}.dream-detail-footer>.dream-start-button:only-child{grid-column:1/-1}.dream-continue-button{min-width:0;min-height:52px;color:var(--dream-accent);background:#ffffffe6;border:1px solid #6d5bd033;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:700;display:flex;box-shadow:0 10px 28px #312e5214}.dream-start-button{color:#fff;background:linear-gradient(135deg,#6252c5,#a95e94);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;font-weight:700;display:flex;box-shadow:0 14px 34px #6252c538}.dream-continue-button:active,.dream-start-button:active{transform:scale(.99)}.dream-chat-page{isolation:isolate;border-right:1px solid var(--dream-border);border-left:1px solid var(--dream-border);background-color:#f8f9fd;background-position:50% 20%;background-repeat:no-repeat;background-size:cover;width:min(980px,100%);margin-inline:auto;display:grid}.dream-chat-backdrop{z-index:0;pointer-events:none;background:linear-gradient(#f8f9fda3 0%,#f8f9fdc9 36%,#f8f9fde6 100%);position:absolute;inset:0}.dream-chat-page .dream-chat{z-index:1;height:var(--app-viewport-height);min-height:0;padding:0 clamp(16px,4vw,34px)}.dream-chat-page .dream-chat-head{-webkit-backdrop-filter:blur(18px)saturate(125%);backdrop-filter:blur(18px)saturate(125%);background:#ffffff85;border-color:#312e521f;min-height:72px;padding:10px 0}.dream-chat-avatar{border:1px solid var(--dream-border);background:var(--dream-surface-raised);border-radius:14px;width:42px;height:42px}.dream-chat-avatar>img,.dream-chat-avatar>.dream-portrait-fallback{object-fit:cover;width:100%;height:100%}.dream-chat-page .dream-chat-title strong{color:var(--dream-text)}.dream-chat-history-button{margin-left:auto}.dream-chat-page .dream-bond-lv{color:var(--dream-muted)}.dream-chat-page .dream-bond-bar{background:#e9e7ef}.dream-chat-page .dream-chat-body{scrollbar-color:#6d5bd03d transparent;padding:20px 0}.dream-chat-page .chat-assistant-stack{flex:0 auto;width:fit-content;max-width:min(82%,620px)}.dream-chat-page .chat-bubble.assistant{border:1px solid color-mix(in srgb, var(--color-surface) 72%, transparent);color:#454151;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#fafafdd1;border-radius:18px 18px 18px 6px;width:fit-content;max-width:100%;padding:10px 14px;box-shadow:0 8px 24px #302b4712}.dream-chat-page .chat-thinking{color:#777181;margin:0;font-size:12px}.dream-chat-page .chat-bubble.user{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#6252c5eb;box-shadow:0 8px 22px #4c3ea026}.dream-chat-page .dream-chat-composer{padding:12px 0 calc(16px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px)saturate(125%);backdrop-filter:blur(18px)saturate(125%);background:#f8f9fd85;border-top:1px solid #312e521a}.dream-chat-page .dream-chat-composer textarea{color:var(--dream-text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border-color:#312e5224;box-shadow:0 8px 26px #312e5214}.dream-chat-page .dream-chat-composer textarea::placeholder{color:#918d9d}.dream-send-button{color:#fff;background:#6252c5;border:0;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;padding:0;display:grid;box-shadow:0 8px 20px #6252c533}.dream-send-button:disabled{opacity:.38}.admin-characters-page{max-width:1280px}.character-admin-summary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.character-admin-summary>div{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-1);border-radius:20px;gap:3px;padding:17px 18px;display:grid}.character-admin-summary span{color:var(--color-text-secondary);font-size:11px;font-weight:700}.character-admin-summary strong{letter-spacing:-.04em;font-size:26px}.character-admin-summary small{color:var(--color-text-tertiary);font-size:10px}.character-admin-toolbar{align-items:center;gap:12px;margin:20px 0;display:flex}.character-admin-toolbar .search-field{margin-right:auto}.character-status-tabs{background:var(--color-surface-tonal);border-radius:999px;gap:3px;padding:4px;display:inline-flex}.character-status-tabs button{min-height:36px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:11px;font-weight:650}.character-status-tabs button.active{color:var(--blue-900);background:var(--color-surface);box-shadow:var(--shadow-1)}.character-result-count{color:var(--color-text-tertiary);white-space:nowrap;font-size:11px}.character-admin-loading{min-height:260px;color:var(--color-text-secondary);justify-content:center;align-items:center;gap:8px;display:flex}.admin-character-cover-fallback{color:var(--blue-700);background:linear-gradient(145deg, var(--blue-100), var(--slate-100));align-content:center;place-items:center;gap:8px;display:grid}.admin-character-cover-fallback small{font-weight:750}.admin-character-list table{min-width:960px}.admin-character-list td{height:76px}.admin-character-list th:last-child,.admin-character-list td:last-child{text-align:right;width:74px}.character-list-identity{min-width:250px;max-width:360px;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.character-list-identity:hover strong{color:var(--color-primary)}.character-list-avatar{border:1px solid var(--color-border);background:var(--color-surface-tonal);border-radius:13px;flex:none;width:48px;height:54px;display:block;overflow:hidden}.character-list-avatar>img,.character-list-avatar>.admin-character-cover-fallback{object-fit:cover;width:100%;height:100%}.character-list-avatar .admin-character-cover-fallback{gap:2px}.character-list-avatar .admin-character-cover-fallback svg{width:18px;height:18px}.character-list-avatar .admin-character-cover-fallback small{font-size:9px}.character-list-identity>span:last-child{gap:4px;min-width:0;display:grid}.character-list-identity strong{text-overflow:ellipsis;white-space:nowrap;transition:color var(--duration-fast);font-size:13px;overflow:hidden}.character-list-identity small{max-width:280px;color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:400;overflow:hidden}.character-list-tags{max-width:220px}.character-list-tags>span:not(.character-list-empty){max-width:76px;color:var(--blue-800);background:var(--blue-100);text-overflow:ellipsis;vertical-align:middle;border-radius:999px;margin:2px 4px 2px 0;padding:4px 7px;font-size:9px;display:inline-flex;overflow:hidden}.character-list-empty,.character-list-updated{color:var(--color-text-tertiary)}.character-list-visibility{color:var(--color-text-secondary);background:var(--color-surface-tonal);border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;font-weight:650;display:inline-flex}.character-list-visibility.public{color:var(--blue-800);background:var(--blue-100)}.character-builder{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.character-builder-body{overscroll-behavior:contain;flex:1;grid-template-columns:270px minmax(0,1fr);gap:24px;min-height:0;padding:22px 26px;display:grid;overflow:auto}.character-builder-cover{flex-direction:column;gap:10px;min-width:0;display:flex}.character-builder-cover-label{color:var(--color-text-secondary);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.character-builder-preview{aspect-ratio:3/4;border:1px solid var(--color-border);background:var(--color-surface-tonal);border-radius:20px;width:100%;position:relative;overflow:hidden}.character-builder-preview>img,.character-builder-preview>.admin-character-cover-fallback{object-fit:cover;width:100%;height:100%}.character-builder-preview>span:last-child{z-index:1;color:#fff;gap:3px;padding:16px;display:grid;position:absolute;bottom:0;left:0;right:0}.character-builder-preview>span:last-child strong{font-size:17px}.character-builder-preview>span:last-child small{color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character-builder-cover>label,.character-builder-fields>label,.character-builder-fields .form-grid>label{color:var(--color-text-secondary);flex-direction:column;gap:7px;font-size:11px;font-weight:650;display:flex}.character-builder-cover>p{color:var(--color-text-tertiary);margin:0;font-size:10px;line-height:1.55}.character-builder-config{flex-direction:column;min-width:0;display:flex}.character-builder-tabs{border-bottom:1px solid var(--color-border);flex:none;gap:6px;display:flex;overflow-x:auto}.character-builder-tabs button{min-height:43px;color:var(--color-text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:650;display:inline-flex}.character-builder-tabs button.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.character-builder-fields{gap:16px;padding-top:18px;display:grid}.character-builder-fields .form-grid{gap:14px}.character-system-prompt{min-height:260px}.character-cover-generator{gap:18px;display:grid}.character-cover-generator-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:15px;display:flex}.character-cover-generator-heading>div{gap:5px;display:grid}.character-cover-generator-heading span{color:var(--color-primary);letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:750;display:inline-flex}.character-cover-generator-heading h3{letter-spacing:-.02em;margin:0;font-size:17px}.character-cover-generator-heading>small{max-width:240px;color:var(--color-text-tertiary);text-align:right;font-size:10px;line-height:1.55}.character-cover-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.character-cover-controls label{color:var(--color-text-secondary);gap:7px;font-size:10px;font-weight:650;display:grid}.character-cover-option-hint{color:var(--color-text-tertiary);margin:-4px 0 0;font-size:10px;line-height:1.55}.character-cover-prompt{gap:8px;display:grid}.character-cover-prompt>div{justify-content:space-between;align-items:center;gap:12px;min-height:36px;display:flex}.character-cover-prompt label{color:var(--color-text-secondary);font-size:11px;font-weight:700}.character-cover-prompt textarea{resize:vertical;min-height:178px;line-height:1.65}.secondary-button.compact{min-height:34px;padding-inline:11px;font-size:10px}.character-cover-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.character-cover-comparison>div{border:1px solid var(--color-border);background:var(--color-surface-tonal);border-radius:18px;gap:9px;padding:12px;display:grid}.character-cover-comparison>div.new{background:var(--color-surface-blue);border-color:#0b57d03d}.character-cover-comparison>div>span{color:var(--color-text-secondary);font-size:10px;font-weight:700}.character-cover-comparison button{width:100%}.character-cover-option{aspect-ratio:3/4;background:var(--color-surface);border-radius:15px;width:min(100%,190px);margin-inline:auto;position:relative;overflow:hidden}.character-cover-option>img,.character-cover-option>.admin-character-cover-fallback{object-fit:cover;width:100%;height:100%}.character-cover-generate-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:18px;padding-top:15px;display:flex}.character-cover-generate-footer>span{max-width:390px;color:var(--color-text-tertiary);font-size:10px;line-height:1.55}.character-cover-generate-footer>button{flex:none}.character-builder-tip{color:var(--color-text-secondary);background:var(--color-surface-blue);border-radius:14px;align-items:flex-start;gap:9px;padding:12px;font-size:10px;line-height:1.55;display:flex}.character-builder-tip svg{color:var(--blue-700);flex:none}.character-builder-tip strong{color:var(--color-text)}.character-publish-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.character-publish-card>div{align-items:center;gap:12px;min-width:0;display:flex}.character-publish-card>div>span:last-child{gap:3px;display:grid}.character-publish-card strong{font-size:12px}.character-publish-card small{color:var(--color-text-secondary);font-size:10px;line-height:1.4}.character-publish-icon{width:40px;height:40px;color:var(--color-text-secondary);background:var(--color-surface-tonal);border-radius:13px;flex:none;place-items:center;display:grid}.character-publish-icon.enabled{color:var(--green-600);background:var(--green-100)}.character-toggle{flex:none;display:inline-flex;position:relative}.character-toggle input{opacity:0;width:1px;height:1px;position:absolute}.character-toggle>span{background:var(--slate-300);border-radius:999px;width:46px;height:26px;transition:background .18s;display:block;position:relative}.character-toggle>span:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0000002e}.character-toggle input:checked+span{background:var(--color-primary)}.character-toggle input:checked+span:after{transform:translate(20px)}.character-toggle input:focus-visible+span{outline-offset:2px;outline:3px solid #0b57d038}.character-builder-error{padding:0 26px 10px}.character-builder-footer{z-index:2;border-top:1px solid var(--color-border);background:var(--color-surface);flex:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 26px;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 24px #0f172a0a}.character-builder-footer>div{gap:8px;display:flex}.character-delete-button{min-height:var(--button-height);border-radius:var(--button-radius);color:var(--color-danger);background:var(--red-100);border:0;align-items:center;gap:7px;padding:0 13px;font-size:11px;font-weight:650;display:inline-flex}.modal-card.wide:has(.character-builder){width:min(1180px,100% - 48px);height:min(780px, calc(var(--app-viewport-height) - 48px));overflow:hidden}.modal-card:has(.character-builder)>header{flex:none}@media (width<=980px){.dream-character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.character-builder-body{grid-template-columns:220px minmax(0,1fr)}}@media (width<=960px){.dream-chat-page .dream-chat{height:calc(var(--app-viewport-height) - 56px)}}@media (width<=720px){.primary-button,.secondary-button{white-space:nowrap;min-width:0;min-height:44px;padding-inline:16px}.icon-button,.table-actions button,.library-card-actions button,.chat-image-actions button{flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0}input,textarea,select{font-size:16px}.modal-form footer,.modal-sticky-footer,.asset-picker-footer,.persona-actions,.tool-result-head{flex-wrap:wrap}.modal-form footer>button,.asset-picker-footer>button{flex:120px}.portrait-footer .primary-button,.portrait-footer .secondary-button{flex:1 1 0;padding-inline:12px}.dream-gallery-page{padding:12px 14px calc(44px + env(safe-area-inset-bottom,0px))}.dream-gallery-header{gap:6px}.dream-gallery-header>div{text-align:left}.dream-kicker{margin-bottom:5px}.dream-gallery-header h1{font-size:27px}.dream-gallery-header>div>p:last-child{margin:7px 0 0;font-size:11px;line-height:1.55}.dream-gallery-content{gap:28px;margin-top:14px}.dream-featured{width:100%}.dream-featured-card{aspect-ratio:4/5;border-radius:22px;width:min(246px,100% - 82px)}.dream-featured-copy{padding:18px}.dream-featured-copy strong{font-size:22px}.dream-carousel-arrow,.dream-carousel-dots button,.dream-carousel-dots button.active{width:40px;min-width:40px;height:40px}.dream-section-heading{align-items:center}.dream-section-heading h2{font-size:19px}.dream-section-heading>div>p{display:none}.dream-history-list{grid-template-columns:1fr}.dream-history-list button{border-radius:16px;min-height:66px}.dream-history-avatar{border-radius:13px;flex-basis:42px;width:42px;height:42px}.dream-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dream-character-card{border-radius:18px}.dream-character-copy{padding:13px}.dream-character-copy strong{font-size:16px}.dream-detail-page,.dream-chat-page{border:0}.dream-detail-hero{height:min(44vh,390px)}.dream-detail-back{top:14px;left:14px}.dream-detail-title{bottom:24px;left:18px;right:18px}.dream-detail-title h1{font-size:34px}.dream-detail-content{padding:4px 14px 106px}.dream-detail-panel{border-radius:17px;padding:15px}.dream-archive-list>div{grid-template-columns:72px minmax(0,1fr);gap:8px}.dream-detail-footer{gap:8px;padding-inline:14px;position:fixed;left:0}.dream-detail-footer button{padding-inline:11px;font-size:11px}.dream-chat-page .dream-chat{padding-inline:12px}.dream-chat-page .dream-chat-head{min-height:62px}.dream-chat-page .dream-chat-body{padding-block:14px}.dream-bond-bar{width:82px}.admin-page-header{gap:18px;display:grid}.admin-page-header>.primary-button{width:100%}.admin-topbar{grid-template-columns:minmax(0,1fr);min-height:0;padding:10px 12px 0;display:grid}.admin-brand{min-width:0}.admin-brand div{flex-direction:column;min-width:0;display:flex}.admin-brand strong,.admin-brand small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-brand strong{font-size:13px}.admin-brand small{font-size:9px}.admin-topbar nav{scrollbar-width:none;order:3;grid-column:1/-1;justify-content:flex-start;gap:4px;margin:0;padding:8px 0 10px;display:flex;overflow-x:auto}.admin-topbar nav::-webkit-scrollbar{display:none}.admin-topbar nav a{white-space:nowrap;flex:none;gap:5px;min-height:40px;padding:0 8px;font-size:11px}.admin-topbar nav a svg{width:15px;height:15px}.admin-topbar nav a span{white-space:nowrap}.character-admin-summary{scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:-14px;padding-inline:14px;display:flex;overflow-x:auto}.character-admin-summary::-webkit-scrollbar{display:none}.character-status-tabs::-webkit-scrollbar{display:none}.character-admin-summary>div{scroll-snap-align:start;flex:0 0 148px;min-width:148px}.character-admin-toolbar{flex-wrap:wrap;align-items:stretch}.character-admin-toolbar .search-field{width:100%;margin-right:0}.character-status-tabs{flex:auto;max-width:100%;overflow-x:auto}.character-status-tabs button{flex:1 0 auto;min-height:40px}.character-result-count{align-items:center;display:flex}.admin-character-list{overflow:hidden}.admin-character-list table{table-layout:fixed;min-width:0}.admin-character-list th,.admin-character-list td{padding-left:10px;padding-right:10px}.admin-character-list th:nth-child(2),.admin-character-list td:nth-child(2),.admin-character-list th:nth-child(3),.admin-character-list td:nth-child(3),.admin-character-list th:nth-child(4),.admin-character-list td:nth-child(4),.admin-character-list th:nth-child(6),.admin-character-list td:nth-child(6),.admin-character-list th:nth-child(7),.admin-character-list td:nth-child(7){display:none}.admin-character-list th:first-child,.admin-character-list td:first-child{width:auto}.admin-character-list th:nth-child(5),.admin-character-list td:nth-child(5){width:82px}.admin-character-list th:last-child,.admin-character-list td:last-child{width:58px}.character-list-identity{min-width:0;max-width:none}.character-list-avatar{border-radius:11px;width:42px;height:48px}.character-list-identity small{max-width:min(42vw,190px)}.modal-backdrop:has(.character-builder){align-items:stretch;padding:0}.modal-card.wide:has(.character-builder){width:100%;height:var(--app-viewport-height);max-height:var(--app-viewport-height);border:0;border-radius:0}.modal-card:has(.character-builder)>header{padding:16px}.character-builder-body{padding:14px 16px 18px;display:block}.character-builder-cover{grid-template-columns:118px minmax(0,1fr);gap:10px;margin-bottom:18px;display:grid}.character-builder-cover-label{grid-column:1/-1}.character-builder-preview{border-radius:16px;grid-row:span 2}.character-builder-cover>p{align-self:start}.character-builder-tabs{margin-inline:-2px}.character-builder-tabs button{min-height:46px;padding-inline:10px}.character-builder-fields .form-grid{grid-template-columns:1fr}.character-builder-fields .form-grid .wide{grid-column:auto}.character-system-prompt{min-height:230px}.character-cover-generator-heading{gap:6px;display:grid}.character-cover-generator-heading>small{text-align:left;max-width:none}.character-cover-controls{grid-template-columns:1fr}.character-cover-comparison{gap:8px}.character-cover-comparison>div{border-radius:15px;padding:8px}.character-cover-option{border-radius:12px}.character-cover-comparison button{min-height:40px;padding-inline:7px;font-size:10px}.character-cover-generate-footer{flex-direction:column;align-items:stretch}.character-cover-generate-footer>button{width:100%}.character-publish-card{align-items:flex-start}.character-builder-error{padding:0 16px 8px}.character-builder-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));gap:8px}.character-builder-footer>div:last-child{flex:1;justify-content:flex-end;min-width:0}.character-builder-footer .primary-button,.character-builder-footer .secondary-button{flex:1 1 0;padding-inline:10px}.character-delete-button{justify-content:center;width:44px;min-width:44px;height:44px;padding:0;font-size:0}}@media (width<=390px){.dream-featured-card{width:min(230px,100% - 76px)}.admin-character-list .status-dot{font-size:10px}.character-builder-tabs button{padding-inline:8px;font-size:10px}.character-builder-tabs button svg{display:none}}:root[data-theme=dark] .dream-experience{--dream-bg:var(--color-bg);--dream-surface:var(--color-surface);--dream-surface-raised:var(--color-surface-tonal);--dream-border:var(--color-border);--dream-text:var(--color-text);--dream-muted:var(--color-text-secondary);--dream-accent:var(--color-primary);--dream-accent-soft:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-text)}:root[data-theme=dark] .dreamBall{border-color:var(--color-border);background:var(--color-surface);color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 22%, transparent), var(--shadow-2)}:root[data-theme=dark] .dreamBallAvatarFallback{border-color:var(--color-border);color:var(--color-primary);background:linear-gradient(145deg, var(--color-surface-tonal), var(--color-surface))}:root[data-theme=dark] .dreamBallEdgeHint{border-color:var(--color-border);background:var(--color-surface-tonal);color:var(--color-text)}:root[data-theme=dark] .dreamBallBadge{border-color:var(--color-surface);color:var(--color-surface)}:root[data-theme=dark] .dreamBallPanel{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-3)}:root[data-theme=dark] .dreamBallPanelHead span{color:var(--color-text-secondary)}:root[data-theme=dark] .dreamBallPanelAvatar{border-color:var(--color-surface);background:var(--color-surface-tonal)}:root[data-theme=dark] .dreamBallCollapse{color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}:root[data-theme=dark] .dreamBallTabs{background:color-mix(in srgb, var(--color-text) 6%, transparent)}:root[data-theme=dark] .dreamBallTabs button{color:var(--color-text-secondary)}:root[data-theme=dark] .dreamBallTabs button.active{color:var(--color-primary);background:var(--color-surface-tonal)}:root[data-theme=dark] .dreamBallBond{border-color:color-mix(in srgb, var(--color-primary) 14%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent)}:root[data-theme=dark] .dreamBallLv{color:var(--color-primary)}:root[data-theme=dark] .dreamBallLvName{color:var(--color-text)}:root[data-theme=dark] .dreamBallExp{color:var(--color-text-tertiary)}:root[data-theme=dark] .dreamBallBar{background:color-mix(in srgb, var(--color-primary) 16%, transparent)}:root[data-theme=dark] .dreamBallStatusList>span{border-color:var(--color-border);color:var(--color-text-secondary);background:var(--color-surface-tonal)}:root[data-theme=dark] .dreamBallStatusList em,:root[data-theme=dark] .dreamBallMuted,:root[data-theme=dark] .dreamBallArchiveIntro{color:var(--color-text-tertiary)}:root[data-theme=dark] .dreamBallArchiveBlock{border-top-color:var(--color-border)}:root[data-theme=dark] .dreamBallArchiveBlock h4{color:var(--color-text)}:root[data-theme=dark] .dreamBallArchiveBlock h4>span{color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-primary) 12%, transparent)}:root[data-theme=dark] .dreamBallArchiveText p{color:var(--color-text-secondary)}:root[data-theme=dark] .dream-access-page{background:radial-gradient(circle at 50% 15%, color-mix(in srgb, var(--color-primary) 12%, var(--color-bg)), var(--color-bg))}:root[data-theme=dark] .dream-access-card{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-3)}:root[data-theme=dark] .dream-access-card p{color:var(--color-text-secondary)}:root[data-theme=dark] .dream-access-icon{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 14%, transparent)}:root[data-theme=dark] .dream-access-action{background:var(--color-primary);color:var(--color-surface)}:root[data-theme=dark] .dream-carousel-arrow,:root[data-theme=dark] .dream-round-button{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-1)}:root[data-theme=dark] .dream-carousel-arrow:hover:not(:disabled),:root[data-theme=dark] .dream-round-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-primary) 36%, transparent);color:var(--color-primary);background:var(--color-surface-tonal)}:root[data-theme=dark] .dream-carousel-dots button:after{background:var(--color-border-strong)}:root[data-theme=dark] .dream-history-list button{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-1)}:root[data-theme=dark] .dream-history-list button:hover:not(:disabled){background:var(--color-surface-tonal);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);box-shadow:var(--shadow-2)}:root[data-theme=dark] .dream-history-list button>svg{color:var(--color-text-tertiary)}:root[data-theme=dark] .dream-history-empty{border-color:color-mix(in srgb, var(--color-primary) 22%, transparent);background:color-mix(in srgb, var(--color-surface) 48%, transparent);color:var(--color-text-secondary)}:root[data-theme=dark] .dream-character-card{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-1)}:root[data-theme=dark] .dream-character-card:hover{border-color:color-mix(in srgb, var(--color-primary) 32%, transparent);box-shadow:var(--shadow-2)}:root[data-theme=dark] .dream-character-cover{background:var(--color-surface-tonal)}:root[data-theme=dark] .dream-detail-tags>span{color:var(--color-on-primary-container);background:var(--color-primary-container);border-color:#0000}:root[data-theme=dark] .dream-portrait-fallback{color:var(--color-primary);background:linear-gradient(145deg, var(--color-surface-tonal), var(--color-surface))}:root[data-theme=dark] .dream-loading,:root[data-theme=dark] .dream-empty{border-color:var(--color-border);color:var(--color-text-secondary)}:root[data-theme=dark] .dream-empty strong{color:var(--color-text)}:root[data-theme=dark] .dream-detail-page{border-left-color:var(--color-border);border-right-color:var(--color-border)}:root[data-theme=dark] .dream-character-backdrop-wash{background:linear-gradient(180deg, color-mix(in srgb, var(--color-bg) 84%, transparent), var(--color-bg))}:root[data-theme=dark] .dream-detail-hero{background:var(--color-surface)}:root[data-theme=dark] .dream-detail-panel{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-2)}:root[data-theme=dark] .dream-detail-progress{background:var(--color-surface-tonal)}:root[data-theme=dark] .dream-archive-list>div{border-top-color:var(--color-border)}:root[data-theme=dark] .dream-archive-list dd{color:var(--color-text-secondary)}:root[data-theme=dark] .dream-locked{color:var(--color-text-tertiary)}:root[data-theme=dark] .dream-detail-footer{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--color-bg) 96%, transparent))}:root[data-theme=dark] .dream-continue-button{background:var(--color-surface);color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 22%, transparent);box-shadow:var(--shadow-1)}:root[data-theme=dark] .dream-start-button{background:var(--color-primary);color:var(--color-surface);box-shadow:var(--shadow-2)}:root[data-theme=dark] .dream-chat-page{background-color:var(--color-bg);border-left-color:var(--color-border);border-right-color:var(--color-border)}:root[data-theme=dark] .dream-chat-backdrop{background:linear-gradient(180deg, color-mix(in srgb, var(--color-bg) 64%, transparent), color-mix(in srgb, var(--color-bg) 90%, transparent))}:root[data-theme=dark] .dream-chat-page .dream-chat-head{border-color:var(--color-border);background:color-mix(in srgb, var(--color-surface) 52%, transparent)}:root[data-theme=dark] .dream-chat-avatar{background:var(--color-surface-tonal);border-color:var(--color-border)}:root[data-theme=dark] .dream-bond-bar,:root[data-theme=dark] .dream-chat-page .dream-bond-bar{background:var(--color-surface-tonal)}:root[data-theme=dark] .dream-chat-page .chat-bubble.assistant{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-1)}:root[data-theme=dark] .dream-chat-page .chat-thinking{color:var(--color-text-secondary)}:root[data-theme=dark] .dream-chat-page .dream-chat-composer{border-top-color:var(--color-border);background:color-mix(in srgb, var(--color-surface) 52%, transparent)}:root[data-theme=dark] .dream-chat-page .dream-chat-composer textarea{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-1)}:root[data-theme=dark] .dream-chat-page .dream-chat-composer textarea::placeholder{color:var(--color-text-tertiary)}:root[data-theme=dark] .dream-send-button{background:var(--color-primary);color:var(--color-surface)}:root[data-theme=dark] .auth-effects{filter:brightness(.55)saturate(.85)}:root[data-theme=dark] .auth-page{background:var(--color-bg)}.chat-search-skeleton{gap:var(--space-2);padding:var(--space-2) 0;flex-direction:column;display:flex}.chat-search-skeleton-row{padding:11px 6px}.novel-outline-modal .ui-modal__body{padding:0}.novel-outline-empty{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center;flex-direction:column;display:flex}.novel-outline-empty-icon{color:var(--color-text-tertiary);opacity:.35}.novel-outline-empty p{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--color-text-secondary);margin:0}.novel-outline-empty small{color:var(--color-text-tertiary);font-size:var(--text-md)}.novel-outline-batch-form{gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:grid}.novel-outline-batch-row{gap:var(--space-4);align-items:flex-start;display:flex}.novel-outline-batch-label{margin-bottom:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-md);font-weight:var(--font-semibold);display:block}.novel-outline-batch-guidance{flex:1}.novel-outline-batch-count{flex-shrink:0}.novel-outline-batch-guidance textarea{width:100%;min-height:calc(var(--input-height) * 2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;resize:vertical}.novel-outline-batch-guidance textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.novel-outline-count-stepper{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);align-items:center;display:inline-flex;overflow:hidden}.novel-outline-count-stepper button{width:calc(var(--button-height-sm));height:var(--button-height-sm);color:var(--color-text-secondary);transition:background var(--duration-fast);background:0 0;border:0;place-items:center;display:grid}.novel-outline-count-stepper button:hover:not(:disabled){background:var(--color-surface-tonal)}.novel-outline-count-stepper button:disabled{opacity:.35;cursor:default}.novel-outline-count-value{min-width:var(--button-height-sm);text-align:center;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);font-variant-numeric:tabular-nums}.novel-outline-batch-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.novel-outline-hint{padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);background:var(--color-surface-tonal);color:var(--color-text-tertiary);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.novel-outline-sheet .novel-outline-view.is-compact{border:0;margin:0;padding:0}.novel-outline-sheet .novel-outline-stages{gap:var(--space-2)}.novel-outline-sheet .novel-outline-stage{border-color:var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-tonal)}.novel-outline-sheet .novel-outline-stage-head{min-height:var(--button-height);padding:var(--space-3) var(--space-4)}.novel-outline-sheet .novel-outline-stage-head>strong{color:var(--color-text);font-size:var(--text-base)}.novel-outline-sheet .novel-outline-stage-head>span,.novel-outline-sheet .novel-outline-stage-chevron{color:var(--color-text-tertiary)}.novel-outline-sheet .novel-outline-stage-body{padding:0 var(--space-4) var(--space-3)}.novel-outline-sheet .novel-outline-cast{margin:0 0 var(--space-3);background:0 0;border:0;border-radius:0;padding:0}.novel-outline-sheet .novel-outline-cast>strong{margin-bottom:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.novel-outline-sheet .novel-outline-cast ul{gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-md);line-height:var(--leading-normal);padding:0;list-style:none;display:grid}.novel-outline-sheet .novel-outline-chapters{gap:0}.novel-outline-sheet .novel-outline-chapter{gap:var(--space-1);padding:var(--space-3) 0;border:0;border-bottom:1px solid var(--color-border);border-radius:0}.novel-outline-sheet .novel-outline-chapter:last-child{padding-bottom:var(--space-1);border-bottom:0}.novel-outline-sheet .novel-outline-chapter-title{font-size:var(--text-base);color:var(--color-text)}.novel-outline-sheet .novel-outline-chapter-synopsis{color:var(--color-text-secondary);font-size:var(--text-md);line-height:var(--leading-relaxed)}.novel-outline-sheet .novel-outline-chapter-meta dt{color:var(--color-text-tertiary)}.novel-outline-sheet .novel-outline-written-tag{color:var(--color-text-tertiary);background:var(--color-surface-tonal)}.novel-settings-form{flex-direction:column;display:flex}.novel-settings-section{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.novel-settings-section:last-of-type{border-bottom:0}.novel-settings-section--toggle{border-bottom:0;padding:0}.novel-settings-section-title{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-text-tertiary);letter-spacing:var(--tracking-wide);text-transform:uppercase}.novel-settings-fields{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.novel-settings-field{gap:var(--space-2);flex-direction:column;display:flex}.novel-settings-field--full{grid-column:1/-1}.novel-settings-field--locked label{color:var(--color-text-tertiary)}.novel-settings-locked-value{padding:var(--space-2) 0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}.novel-settings-field label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.novel-settings-field select,.novel-settings-field input{width:100%;min-height:var(--input-height);border:1px solid var(--color-border);border-radius:var(--input-radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-body)}.novel-settings-field select:focus,.novel-settings-field input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.novel-settings-section .novel-genre-chips{margin-top:0}.novel-settings-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex}.novel-setting-toggle{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);cursor:pointer;display:flex}.novel-setting-toggle-text{gap:var(--space-1);flex:1;display:grid}.novel-setting-toggle-text strong{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}.novel-setting-toggle-text small{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.novel-toggle-switch{width:calc(var(--button-height-sm) + var(--space-1));height:calc(var(--button-height-sm) - var(--space-3));border-radius:var(--radius-pill);background:var(--color-border-strong);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);border:0;flex-shrink:0;padding:0;position:relative}.novel-toggle-switch.on{background:var(--color-primary)}.novel-toggle-knob{top:var(--space-1);left:var(--space-1);width:calc(var(--button-height-sm) - var(--space-5));height:calc(var(--button-height-sm) - var(--space-5));background:var(--white);box-shadow:var(--shadow-1);transition:transform var(--duration-fast) var(--ease-standard);border-radius:50%;position:absolute}.novel-toggle-switch.on .novel-toggle-knob{transform:translateX(calc(var(--button-height-sm) - var(--space-5) + var(--space-1)))}@media (width<=520px){.novel-outline-batch-row{gap:var(--space-3);flex-direction:column}.novel-settings-fields{grid-template-columns:1fr}}.ui-spinner{color:currentColor;animation:.9s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-spinner{animation-duration:2.4s}}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);height:var(--button-height);padding:0 var(--button-padding-x);border-radius:var(--button-radius);font-family:inherit;font-size:var(--text-body);font-weight:var(--font-medium);letter-spacing:var(--tracking-wide);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;line-height:1;display:inline-flex}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-button:not(:disabled):active{transform:scale(.98)}.ui-button--sm{height:var(--button-height-sm);padding:0 var(--space-4);font-size:var(--text-base);border-radius:var(--radius-pill)}.ui-button--lg{height:var(--button-height-lg);padding:0 var(--space-6);font-size:var(--text-lg);border-radius:var(--radius-pill)}.ui-button--icon-only{aspect-ratio:1;gap:0;padding:0}.ui-button--icon-only.ui-button--sm{aspect-ratio:auto;width:var(--button-height-sm)}.ui-button--icon-only.ui-button--lg{aspect-ratio:auto;width:var(--button-height-lg)}.ui-button--block{width:100%;display:flex}.ui-button--primary{background:var(--button-primary-bg);color:var(--button-primary-fg)}.ui-button--primary:not(:disabled):hover{background:var(--button-primary-hover-bg)}.ui-button--secondary{background:var(--button-secondary-bg);color:var(--button-secondary-fg)}.ui-button--secondary:not(:disabled):hover{background:var(--button-secondary-hover-bg)}.ui-button--ghost{color:var(--color-text);background:0 0}.ui-button--ghost:not(:disabled):hover{background:var(--button-ghost-hover-bg)}.ui-button--text{color:var(--color-primary);padding:0 var(--space-2);height:auto;min-height:var(--tap-min);background:0 0}.ui-button--text:not(:disabled):hover{background:var(--button-ghost-hover-bg)}.ui-button--danger{background:var(--button-danger-bg);color:var(--button-danger-fg)}.ui-button--danger:not(:disabled):hover{background:var(--button-danger-hover-bg)}.ui-button.is-loading .ui-button__spinner{display:inline-flex}.ui-button__icon,.ui-button__spinner{justify-content:center;align-items:center;display:inline-flex}@media (width<=720px){.ui-button--sm{min-height:var(--tap-min)}.ui-button--icon-only.ui-button--sm{width:var(--tap-min);min-height:var(--tap-min)}}.ui-field{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.ui-field__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);letter-spacing:var(--tracking-wide);align-items:center;gap:var(--space-1);display:inline-flex}.ui-field__required{color:var(--color-danger);font-weight:var(--font-semibold)}.ui-field__control{width:100%}.ui-field__hint{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:var(--leading-normal)}.ui-field__error{font-size:var(--text-xs);color:var(--color-danger);line-height:var(--leading-normal)}.ui-field--error .ui-input,.ui-field--error .ui-textarea,.ui-field--error .ui-select{border-color:var(--color-danger)}.ui-input,.ui-textarea,.ui-select{width:100%;min-height:var(--input-height);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--input-radius);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--text-body);line-height:var(--leading-normal);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);appearance:none}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-tertiary)}.ui-input:hover,.ui-textarea:hover,.ui-select:hover{border-color:var(--color-border-strong)}.ui-input:focus-visible,.ui-textarea:focus-visible,.ui-select:focus-visible{border-color:var(--color-focus);box-shadow:var(--focus-ring);outline:none}.ui-input.is-invalid,.ui-textarea.is-invalid,.ui-select.is-invalid{border-color:var(--color-danger)}.ui-input:disabled,.ui-textarea:disabled,.ui-select:disabled{background:var(--color-surface-tonal);color:var(--color-text-tertiary);cursor:not-allowed}.ui-textarea{min-height:calc(var(--input-height) + 1lh);padding-top:var(--space-3);resize:vertical;line-height:var(--leading-relaxed)}.ui-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23667085'%3E%3Cpath d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.24a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:calc(var(--space-3) * 2 + 18px);cursor:pointer;background-size:18px}.ui-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.ui-input-wrapper .ui-input{width:100%}.ui-input__icon{color:var(--color-text-tertiary);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.ui-input__icon--leading{left:var(--space-3)}.ui-input__icon--trailing{right:var(--space-3)}.ui-input-wrapper:has(.ui-input__icon--leading) .ui-input{padding-left:calc(var(--space-3) + 20px + var(--space-2))}.ui-input-wrapper:has(.ui-input__icon--trailing) .ui-input{padding-right:calc(var(--space-3) + 20px + var(--space-2))}@media (width<=720px){.ui-input,.ui-textarea,.ui-select{font-size:16px}}.ui-modal-backdrop{background:color-mix(in srgb, var(--slate-950) 42%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:max(var(--space-4), var(--safe-area-top)) var(--space-4) max(var(--space-4), var(--safe-area-bottom));animation:ui-fade-in var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-modal{background:var(--color-surface);border-radius:var(--dialog-radius);box-shadow:var(--shadow-3);width:100%;max-height:min(86vh,860px);animation:ui-modal-in var(--duration-normal) var(--ease-spring);flex-direction:column;display:flex;overflow:hidden}.ui-modal--sm{max-width:min(92vw,380px)}.ui-modal--default{max-width:min(92vw,520px)}.ui-modal--wide{max-width:min(94vw,720px)}.ui-modal--picker{max-width:min(94vw,640px)}.ui-modal__header{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.ui-modal__heading{flex:1;min-width:0}.ui-modal__heading h2{font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text);margin:0}.ui-modal__heading p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.ui-modal__body{padding:var(--space-5);-webkit-overflow-scrolling:touch;flex:1;overflow:auto}.ui-modal__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);justify-content:flex-end;gap:var(--space-2);flex-shrink:0;display:flex}.ui-modal-backdrop:has(>.grok-adult-modal){background:color-mix(in srgb, var(--slate-950) 52%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.grok-adult-modal{border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);max-width:min(92vw,440px);box-shadow:0 24px 64px color-mix(in srgb, var(--slate-950) 24%, transparent)}.grok-adult-modal .ui-modal__header{padding:22px var(--space-6) var(--space-4);border-bottom:0}.grok-adult-modal .ui-modal__heading h2{letter-spacing:-.015em;font-size:18px}.grok-adult-modal .ui-modal__heading p{margin-top:10px}.grok-adult-modal .ui-modal__header>.ui-button{width:50px;min-width:50px;min-height:50px;margin:-12px -12px 0 0}.grok-adult-modal__description{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;display:grid}.grok-adult-modal__description-icon{border-radius:var(--radius-lg);width:36px;height:36px;color:var(--color-warning);background:color-mix(in srgb, var(--amber-100) 78%, var(--color-surface));place-items:center;display:grid}.grok-adult-modal__description-copy{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grok-adult-modal__badge{color:var(--color-text);background:color-mix(in srgb, var(--color-surface-tonal) 70%, var(--color-surface));letter-spacing:.04em;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.grok-adult-modal .ui-modal__body{min-height:0;padding:0 var(--space-6) var(--space-5)}.grok-adult-modal__card{gap:var(--space-4);flex-direction:column;display:flex}.grok-adult-modal__points{border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface-tonal) 36%, var(--color-surface));font-size:var(--text-sm);line-height:var(--leading-normal);margin:0;padding:12px 14px 12px 28px}.grok-adult-modal__points li+li{margin-top:8px}.grok-adult-ack{align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:56px;color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-normal);background:color-mix(in srgb, var(--color-surface-tonal) 42%, var(--color-surface));cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);padding:12px 14px;display:flex}.grok-adult-ack:hover{border-color:color-mix(in srgb, var(--color-primary) 42%, var(--color-border));background:var(--color-surface-blue)}.grok-adult-ack:focus-within{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.grok-adult-ack:has(input:checked){border-color:color-mix(in srgb, var(--color-primary) 44%, var(--color-border));background:var(--color-surface-blue)}.grok-adult-ack input{width:20px;height:20px;min-height:20px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:1px 0 0}.grok-adult-ack input:focus{box-shadow:none;outline:none}.grok-adult-ack__copy{min-width:0;font-weight:var(--font-medium);padding-top:1px}.grok-adult-modal .ui-modal__footer{gap:var(--space-3);padding:14px var(--space-6) 18px;border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grok-adult-modal__action{width:100%;min-height:50px}.grok-adult-modal .primary-button.grok-adult-modal__action:disabled{border-color:var(--color-border);color:var(--color-text-tertiary);background:var(--color-surface-tonal);opacity:1}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@media (width<=720px){.ui-modal-backdrop{align-items:flex-end;padding:0}.ui-modal{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-width:100vw;height:auto;max-height:92dvh}.ui-modal--sm,.ui-modal--default,.ui-modal--wide,.ui-modal--picker{max-width:100vw}.ui-modal-backdrop:has(>.grok-adult-modal){padding:max(var(--space-4), var(--safe-area-top)) max(var(--space-4), var(--safe-area-right)) max(var(--space-4), var(--safe-area-bottom)) max(var(--space-4), var(--safe-area-left));align-items:center}.grok-adult-modal{width:100%;max-width:420px;height:auto;max-height:calc(92vh - var(--space-8));max-height:calc(92dvh - var(--space-8));border-radius:var(--dialog-radius)}.grok-adult-modal .ui-modal__header{padding:var(--space-5) var(--space-5) 14px}.grok-adult-modal__description{grid-template-columns:34px minmax(0,1fr);align-items:start}.grok-adult-modal__description-icon{border-radius:var(--radius-md);width:34px;height:34px}.grok-adult-modal .ui-modal__body{padding:0 var(--space-5) 18px}.grok-adult-ack{min-height:56px;padding:12px 14px}.grok-adult-modal .ui-modal__footer{padding:var(--space-3) var(--space-5) max(var(--space-4), var(--safe-area-bottom))}}@media (width<=360px){.grok-adult-modal .ui-modal__header,.grok-adult-modal .ui-modal__body,.grok-adult-modal .ui-modal__footer{padding-inline:var(--space-4)}}@media (prefers-reduced-motion:reduce){:is(.ui-modal-backdrop:has(>.grok-adult-modal),.grok-adult-modal){animation:none}}.ui-empty-state{text-align:center;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);color:var(--color-text-secondary);flex-direction:column;display:flex}.ui-empty-state--compact{padding:var(--space-6) var(--space-4)}.ui-empty-state__icon{border-radius:var(--radius-pill);background:var(--color-surface-tonal);width:56px;height:56px;color:var(--color-text-tertiary);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:inline-flex}.ui-empty-state--compact .ui-empty-state__icon{width:40px;height:40px;margin-bottom:0}.ui-empty-state__title{font-size:var(--text-body);font-weight:var(--font-medium);color:var(--color-text)}.ui-empty-state__description{font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:var(--leading-normal);max-width:360px;margin:0}.ui-empty-state__action{margin-top:var(--space-3)}.ui-error-notice{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--red-100);color:var(--color-danger);font-size:var(--text-sm);line-height:var(--leading-normal);display:flex}.ui-error-notice__message{flex:1;min-width:0}.ui-error-notice__retry{color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;text-decoration:underline}.ui-error-notice__retry:hover{background:color-mix(in srgb, var(--color-danger) 12%, transparent)}.ui-skeleton{background:linear-gradient(90deg, var(--color-surface-tonal) 0%, color-mix(in srgb, var(--color-text) 8%, var(--color-surface-tonal)) 50%, var(--color-surface-tonal) 100%);border-radius:var(--radius-sm);width:100%;height:14px;animation:ui-skeleton-shimmer 1.4s var(--ease-out) infinite;background-size:200% 100%}.ui-skeleton-stack{gap:var(--space-2);flex-direction:column;display:flex}.ui-skeleton-card{border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-surface);overflow:hidden}.ui-skeleton-card__cover{border-radius:0;height:180px}.ui-skeleton-card__body{padding:var(--space-3)}.library-grid .ui-skeleton-card,.novel-bookshelf .ui-skeleton-card{border-radius:var(--radius-lg);overflow:hidden}.library-grid .ui-skeleton-card__cover{aspect-ratio:1;height:auto}@keyframes ui-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ui-skeleton{opacity:.7;animation:none}}.ui-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal);display:flex}.ui-banner--info{background:var(--color-surface-blue);color:var(--color-on-primary-container)}.ui-banner--success{background:var(--green-100);color:var(--color-success)}.ui-banner--warning{background:var(--amber-100);color:var(--color-warning)}.ui-banner--danger{background:var(--red-100);color:var(--color-danger)}.ui-banner__content{flex:1;min-width:0}.ui-banner__dismiss{color:inherit;cursor:pointer;font-size:var(--text-lg);padding:var(--space-1);border-radius:var(--radius-sm);opacity:.7;background:0 0;border:none;line-height:1}.ui-banner__dismiss:hover{opacity:1;background:color-mix(in srgb, currentColor 10%, transparent)}.ui-toast-region{top:max(var(--space-4), var(--safe-area-top));right:max(var(--space-4), var(--safe-area-right));z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;max-width:min(92vw,400px);display:flex;position:fixed}.ui-toast{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md-plus);box-shadow:var(--shadow-2);border-left:4px solid var(--color-text-tertiary);pointer-events:auto;animation:ui-toast-in var(--duration-normal) var(--ease-spring);font-size:var(--text-sm);display:flex}.ui-toast--success{border-left-color:var(--color-success)}.ui-toast--error{border-left-color:var(--color-danger)}.ui-toast--warning{border-left-color:var(--color-warning)}.ui-toast--info{border-left-color:var(--color-primary)}.ui-toast__icon{flex-shrink:0}.ui-toast--success .ui-toast__icon{color:var(--color-success)}.ui-toast--error .ui-toast__icon{color:var(--color-danger)}.ui-toast--warning .ui-toast__icon{color:var(--color-warning)}.ui-toast--info .ui-toast__icon{color:var(--color-primary)}.ui-toast__message{flex:1;min-width:0}.ui-toast__dismiss{color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;display:inline-flex}.ui-toast__dismiss:hover{color:var(--color-text-secondary);background:var(--color-surface-tonal)}@keyframes ui-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (width<=720px){.ui-toast-region{top:max(var(--space-2), var(--safe-area-top));right:var(--space-2);left:var(--space-2);align-items:stretch;max-width:none}.ui-toast{border-top:4px solid;border-left:none}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}}.ui-switch{border-radius:var(--radius-pill);background:var(--color-border-strong);cursor:pointer;width:44px;height:26px;transition:background-color var(--duration-normal) var(--ease-standard);-webkit-tap-highlight-color:transparent;border:none;flex-shrink:0;align-items:center;padding:0;display:inline-flex;position:relative}.ui-switch.is-checked{background:var(--color-primary)}.ui-switch:disabled{opacity:.5;cursor:not-allowed}.ui-switch:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-switch__thumb{border-radius:var(--radius-pill);width:20px;height:20px;box-shadow:var(--shadow-1);transition:transform var(--duration-normal) var(--ease-spring);background:#fff;position:absolute;left:3px}.ui-switch.is-checked .ui-switch__thumb{transform:translate(18px)}.ui-switch-row{align-items:center;gap:var(--space-3);display:inline-flex}.ui-switch-row--left{flex-direction:row-reverse;justify-content:flex-end}.ui-switch-row.is-disabled{opacity:.6}.ui-switch-row__label{cursor:pointer;flex-direction:column;gap:2px;min-width:0;display:inline-flex}.ui-switch-row.is-disabled .ui-switch-row__label{cursor:default}.ui-switch-row__title{font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-snug)}.ui-switch-row__description{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:var(--leading-normal)}.ui-tabs{flex-direction:column;display:flex}.ui-tabs--left{flex-direction:row}.ui-tabs--bottom{flex-direction:column-reverse}.ui-tabs__list{align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-tonal);border-radius:var(--radius-lg);scrollbar-width:none;display:inline-flex;position:relative;overflow:auto}.ui-tabs__list::-webkit-scrollbar{display:none}.ui-tabs__list--block{width:100%;display:flex}.ui-tabs--left .ui-tabs__list{flex-direction:column;align-self:flex-start;align-items:stretch;width:auto;min-width:160px}.ui-tab{justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:var(--tap-min);color:var(--color-text-secondary);font-family:inherit;font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent;background:0 0;border:none;display:inline-flex;position:relative}.ui-tabs__list--block .ui-tab{flex:1}.ui-tab:hover:not(.is-active):not(:disabled){color:var(--color-text);background:var(--button-ghost-hover-bg)}.ui-tab.is-active{color:var(--color-text)}.ui-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-tab:disabled{opacity:.4;cursor:not-allowed}.ui-tab__badge{border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;min-width:18px;height:18px;font-size:var(--text-2xs);font-weight:var(--font-semibold);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.ui-tab.is-active .ui-tab__badge{background:var(--color-primary)}.ui-tabs__indicator{bottom:var(--space-1);height:calc(100% - var(--space-1) * 2);top:var(--space-1);width:calc((100% - var(--space-1) * 2) / var(--tab-count));left:var(--space-1);transform:translateX(calc(var(--tab-index) * 100%));background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-1);transition:transform var(--duration-normal) var(--ease-spring);z-index:0;display:none;position:absolute}.ui-tabs__list--block .ui-tabs__indicator{display:block}.ui-tab{z-index:1}.ui-tabpanel:focus-visible{outline:none}@media (width<=720px){.ui-tabs__list--block .ui-tabs__indicator{display:none}.ui-tab.is-active:after{content:"";border-radius:var(--radius-pill);background:var(--color-primary);width:60%;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}}.ui-popover{z-index:var(--z-modal);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:var(--space-3);animation:ui-fade-in var(--duration-fast) var(--ease-out)}.ui-tooltip-trigger{cursor:help;align-items:center;display:inline-flex}.ui-tooltip{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-surface);padding:var(--space-2) var(--space-3)}.stream-status{align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-md);line-height:var(--leading-normal);display:inline-flex}.stream-status__dots{gap:3px;display:inline-flex}.stream-status__dot{border-radius:var(--radius-pill);background:var(--color-streaming);width:6px;height:6px;animation:stream-dot-bounce 1.2s var(--ease-standard) infinite}.stream-status__dot:nth-child(2){animation-delay:.18s}.stream-status__dot:nth-child(3){animation-delay:.36s}.stream-status__label{font-weight:var(--font-medium);color:var(--color-text-secondary)}.stream-status__elapsed{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.stream-status__hint{color:var(--color-text-tertiary);font-size:var(--text-sm);margin-left:var(--space-1)}@keyframes stream-dot-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.stream-status__dot{opacity:.7;animation:none}}.typing-caret{vertical-align:text-bottom;background:var(--color-primary);border-radius:2px;width:7px;height:1em;margin-left:3px;animation:1s step-end infinite typing-caret-blink;display:inline-block}@keyframes typing-caret-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.typing-caret{animation-duration:1.8s}}.gen-placeholder{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--color-streaming) 8%, var(--color-surface)) 0%, var(--color-surface) 100%);flex-direction:column;display:flex}.gen-placeholder__glow{border-radius:var(--radius-pill);background:radial-gradient(circle, var(--color-streaming) 0%, transparent 70%);width:56px;height:56px;animation:gen-glow-breathe 2.4s var(--ease-standard) infinite;position:relative}.gen-placeholder__glow:after{content:"";border-radius:inherit;border:2px solid color-mix(in srgb, var(--color-streaming) 40%, transparent);animation:gen-glow-ring 2.4s var(--ease-out) infinite;position:absolute;inset:0}.gen-placeholder__label{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-secondary)}.gen-placeholder__progress{font-size:var(--text-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}@keyframes gen-glow-breathe{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes gen-glow-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.gen-placeholder__glow,.gen-placeholder__glow:after{opacity:.75;animation:none}}.tool-steps{gap:var(--space-2);margin:var(--space-2) 0;flex-direction:column;display:flex}.tool-step{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-tonal);font-size:var(--text-sm);display:flex}.tool-step__index{border-radius:var(--radius-pill);background:var(--color-border);min-width:22px;height:22px;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tool-step__body{flex:1;min-width:0}.tool-step__name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);display:block}.tool-step__summary{color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal);margin-top:2px;display:block}.tool-step__icon{border-radius:var(--radius-pill);width:22px;height:22px;color:var(--color-text-tertiary);background:var(--color-border);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tool-step.is-running .tool-step__icon,.tool-step.is-running .tool-step__index{background:var(--color-surface-blue);color:var(--color-on-primary-container)}.tool-step.is-done .tool-step__icon,.tool-step.is-done .tool-step__index{background:var(--green-100);color:var(--color-success)}.tool-step.is-error .tool-step__icon,.tool-step.is-error .tool-step__index{background:var(--red-100);color:var(--color-danger)}.stage-progress{gap:var(--space-2);flex-wrap:wrap;display:flex}.stage-progress--vertical{flex-direction:column}.stage-progress__item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-tonal);color:var(--color-text-tertiary);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-standard);border:1px solid #0000;line-height:1;display:inline-flex}.stage-progress__item.is-running{background:var(--color-surface-blue);color:var(--color-on-primary-container);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);font-weight:var(--font-medium)}.stage-progress__item.is-done{color:var(--color-success)}.stage-progress__item.is-error{background:var(--red-100);color:var(--color-danger)}.stage-progress__icon{justify-content:center;align-items:center;display:inline-flex}.stage-progress__item.is-running .stage-progress__icon{animation:stream-dot-bounce 1.2s var(--ease-standard) infinite}.stage-progress__connector{color:var(--color-text-tertiary);align-items:center;display:inline-flex}.stage-progress--vertical .stage-progress__connector{display:none}.stream-error{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--red-100);color:var(--color-danger);font-size:var(--text-sm);line-height:var(--leading-normal);display:flex}.stream-error__message{flex:1;min-width:0}.stream-error__retry{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid;flex-shrink:0;display:inline-flex}.stream-error__retry:hover{background:var(--color-danger);color:#fff}
