:root{--bg-app:#f7f7f8;--bg-surface:#fff;--bg-surface-raised:#fff;--bg-sunken:#eeeef0;--text-primary:#16161a;--text-secondary:#55555c;--text-muted:#8a8a92;--text-inverse:#fff;--border-subtle:#e3e3e6;--border-default:#d3d3d8;--accent:#4f46e5;--accent-hover:#4338ca;--accent-text-on:#fff;--button-primary-bg:#3730a3;--button-primary-bg-hover:#312e81;--button-primary-text:#fff;--status-success:#1f9d55;--status-warning:#b8860b;--status-danger:#d64545;--status-info:#2f80ed;--status-danger-surface:#fbebeb;--status-warning-surface:#faf3e0;--status-success-surface:#e8f6ee;--status-info-surface:#eaf2fd;--accent-surface:#e0e7ff;--chat-bubble-user:var(--accent);--chat-bubble-user-text:var(--accent-text-on);--chat-bubble-assistant:var(--bg-surface-raised);--chat-bubble-assistant-text:var(--text-primary);--focus-ring:#4f46e5;--bg-sidebar:#eeeef1;--bg-sidebar-item-hover:#e2e2e7;--bg-sidebar-item-active:#d9d6fb;--text-sidebar-item-active:var(--accent);--overlay-backdrop:#0006;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 24px #0000002e}[data-theme=dark]{--bg-app:#101012;--bg-surface:#1a1a1d;--bg-surface-raised:#232326;--bg-sunken:#0a0a0b;--text-primary:#f2f2f3;--text-secondary:#b7b7bd;--text-muted:#7c7c84;--text-inverse:#16161a;--border-subtle:#2a2a2e;--border-default:#38383d;--accent:#818cf8;--accent-hover:#a5b4fc;--accent-text-on:#fff;--status-success:#35c471;--status-warning:#d6a13a;--status-danger:#ea6363;--status-info:#5b9bf2;--status-danger-surface:#3a2020;--status-warning-surface:#362d17;--status-success-surface:#1b3327;--status-info-surface:#1c2c3f;--accent-surface:#312e81;--chat-bubble-user:#312e81;--chat-bubble-user-text:var(--accent-text-on);--chat-bubble-assistant:var(--bg-surface-raised);--chat-bubble-assistant-text:var(--text-primary);--focus-ring:#a5b4fc;--bg-sidebar:#161618;--bg-sidebar-item-hover:#232326;--bg-sidebar-item-active:#322a5c;--text-sidebar-item-active:var(--accent-hover);--overlay-backdrop:#0009;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 10px #00000080;--shadow-lg:0 4px 28px #000000a6}:root{--sidebar-width-expanded:272px;--sidebar-width-collapsed:64px;--sidebar-transition-duration:.2s}html,body,#root{height:100%}body{background-color:var(--bg-app);color:var(--text-primary);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:background-color .15s,color .15s}*,:before,:after{box-sizing:border-box}button{appearance:none;background-image:none;font-family:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.soulai-tooltip-wrapper{display:inline-flex;position:relative}.soulai-tooltip-bubble{white-space:nowrap;background-color:var(--bg-surface-raised);color:var(--text-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-md);pointer-events:none;opacity:0;z-index:50;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)translate(-4px)}.soulai-tooltip-wrapper:hover .soulai-tooltip-bubble,.soulai-tooltip-wrapper:focus-within .soulai-tooltip-bubble{opacity:1;transform:translateY(-50%)translate(0)}.sidebar-nav-item{transition:background-color .12s}.sidebar-nav-item:hover{background-color:var(--bg-sidebar-item-hover)}.sidebar-nav-item.active,.sidebar-nav-item.active:hover{background-color:var(--bg-sidebar-item-active);color:var(--text-sidebar-item-active);font-weight:600}.sidebar-row-action{opacity:0;transition:opacity .12s,background-color .12s,color .12s}.sidebar-conversation-row:hover .sidebar-row-action,.sidebar-row-action:focus-visible{opacity:1}.sidebar-row-action:hover{background-color:var(--bg-sidebar-item-active);color:var(--text-primary)}.sidebar-conversation-row:hover{background-color:var(--bg-sidebar-item-hover);border-radius:6px}@keyframes chat-typing-dot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.chat-typing-dot{animation:1.1s ease-in-out infinite chat-typing-dot}@keyframes media-attachment-fade-in{0%{opacity:0}to{opacity:1}}.media-file-card{transition:border-color .12s,box-shadow .12s,transform 80ms}.media-file-card:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-sm)}.media-file-card:active:not(:disabled){transform:scale(.99)}.conversation-row{transition:border-color .12s,box-shadow .12s}.conversation-row:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}@keyframes soulai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.soulai-spinner-icon{animation:.8s linear infinite soulai-spin}.studio-mode-tab{transition:background-color .12s,color .12s,box-shadow .12s}.studio-mode-tab:hover:not(.active):not(:disabled){background-color:var(--bg-sidebar-item-hover)}.studio-card{transition:border-color .15s,box-shadow .15s}.studio-dropzone{cursor:pointer;transition:border-color .12s,background-color .12s}.studio-dropzone:hover:not(.disabled),.studio-dropzone:focus-within:not(.disabled){border-color:var(--accent);background-color:var(--accent-surface)}.studio-dropzone.disabled{cursor:not-allowed;opacity:.6}.studio-generate-btn{transition:background-color .12s,transform 80ms,box-shadow .12s}.studio-generate-btn:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:var(--shadow-md)}.studio-generate-btn:active:not(:disabled){transform:scale(.98)}.studio-gallery-card{transition:border-color .12s,box-shadow .15s,transform .1s;animation:.25s both studio-card-fade-in}.studio-gallery-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}@keyframes studio-card-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.studio-select-wrapper{position:relative}.studio-select-wrapper select{appearance:none}.studio-select-wrapper svg{pointer-events:none;color:var(--text-muted);position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.studio-icon-btn{transition:background-color .12s,color .12s}.studio-icon-btn:hover:not(:disabled){background-color:var(--bg-sidebar-item-hover);color:var(--text-primary)}.studio-slider{appearance:none;background:var(--border-default);border-radius:2px;outline:none;height:4px}.studio-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg-surface);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%}.studio-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid var(--bg-surface);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%}.studio-duration-chip{transition:border-color .12s,background-color .12s,color .12s,transform 80ms}.studio-duration-chip:hover:not(.active){border-color:var(--accent);color:var(--accent)}.studio-duration-chip:active{transform:scale(.96)}.studio-modal-backdrop{animation:.15s both studio-fade-in}.studio-modal-panel{animation:.18s both studio-modal-in}@keyframes studio-fade-in{0%{opacity:0}to{opacity:1}}@keyframes studio-modal-in{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.studio-layout{grid-template-columns:minmax(300px,400px) 1fr;align-items:start;gap:1.5rem;display:grid}.studio-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}@media (width>=861px){.studio-layout>.studio-card{position:sticky;top:1.5rem}}@media (width<=860px){.studio-layout{grid-template-columns:1fr}.studio-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}}.studio-modal-panel{touch-action:pan-y}.deposit-amount-chip{transition:border-color .12s,background-color .12s,color .12s,transform 80ms}.deposit-amount-chip:hover:not(.active){border-color:var(--accent);color:var(--accent)}.deposit-amount-chip:active{transform:scale(.96)}.deposit-amount-input-wrapper{transition:border-color .12s,box-shadow .12s}.deposit-amount-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-surface)}.deposit-amount-input-wrapper input{color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit}.deposit-pulse-ring{animation:1.8s ease-in-out infinite deposit-pulse}@keyframes deposit-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-surface)}50%{box-shadow:0 0 0 10px #0000}}.deposit-success-pop{animation:.35s cubic-bezier(.34,1.56,.64,1) both deposit-success-pop}@keyframes deposit-success-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.deposit-fade-in{animation:.25s both studio-card-fade-in}.deposit-pay-btn{transition:background-color .12s,transform 80ms,box-shadow .12s}.deposit-pay-btn:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:var(--shadow-md)}.deposit-pay-btn:active:not(:disabled){transform:scale(.98)}.deposit-link-btn{transition:color .12s}.deposit-link-btn:hover{color:var(--text-primary)}.chat-composer-shell{transition:border-color .15s,box-shadow .15s,background-color .15s}.chat-composer-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-surface), var(--shadow-md)}.chat-composer-shell.over-limit:focus-within{border-color:var(--status-danger);box-shadow:0 0 0 3px var(--status-danger-surface), var(--shadow-md)}.chat-composer-icon-btn{border-radius:50%;transition:background-color .12s,color .12s}.chat-composer-icon-btn:hover:not(:disabled){background-color:var(--bg-sidebar-item-hover);color:var(--text-primary)}.chat-composer-send-btn{transition:background-color .12s,transform 80ms,box-shadow .12s}.chat-composer-send-btn:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:scale(1.05)}.chat-composer-send-btn:active:not(:disabled){transform:scale(.95)}.chat-attachment-chip{transition:border-color .12s,box-shadow .12s}.chat-attachment-chip:hover{box-shadow:var(--shadow-sm)}.announcement-body p{margin:0 0 .9rem}.announcement-body a{color:var(--accent);text-decoration:underline}.announcement-body ul,.announcement-body ol{margin:0 0 .9rem;padding-left:1.4rem}.announcement-body img{border-radius:8px;max-width:100%}.announcement-body h1,.announcement-body h2,.announcement-body h3{color:var(--text-primary);margin:1.1rem 0 .5rem}.message-markdown{white-space:normal}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown p{margin:0 0 .75em}.message-markdown ul,.message-markdown ol{margin:0 0 .75em;padding-left:1.4rem}.message-markdown li{margin-bottom:.25em}.message-markdown blockquote{border-left:3px solid var(--border-subtle);color:var(--text-secondary);margin:0 0 .75em;padding:.1rem 0 .1rem .9rem}.message-markdown table{border-collapse:collapse;margin:0 0 .75em;font-size:.9em}.message-markdown th,.message-markdown td{border:1px solid var(--border-subtle);text-align:left;padding:.35rem .6rem}.message-inline-code{background-color:var(--bg-sunken);border-radius:4px;padding:.1em .35em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.85em}.message-code-block-wrapper{background-color:#24292e;border-radius:10px;margin:0 0 .75em;overflow:hidden}.message-code-block-header{background-color:#2d333b;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.message-code-block-lang{color:#b0b6bd;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.message-code-block-copy{color:#b0b6bd;cursor:pointer;background-color:#0000;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.15rem .4rem;font-size:.72rem;display:flex}.message-code-block-copy:hover{color:#e1e4e8;background-color:#ffffff14}.message-code-block{color:#e1e4e8;margin:0;padding:.85rem 1rem;font-size:.85em;line-height:1.5;overflow-x:auto}.message-code-block code{background:0 0;padding:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.loading-screen{background-color:var(--bg-app);flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;width:100%;display:flex}.loading-screen-ring{--loading-ring-size:56px;width:var(--loading-ring-size);height:var(--loading-ring-size);background:conic-gradient(from 0deg, var(--accent), var(--status-info), var(--status-success), var(--status-warning), var(--accent));border-radius:50%;flex-shrink:0;animation:1.1s linear infinite loading-screen-spin;display:inline-block;-webkit-mask:radial-gradient(circle,#0000 60%,#000 62%);mask:radial-gradient(circle,#0000 60%,#000 62%)}@keyframes loading-screen-spin{to{transform:rotate(360deg)}}.loading-screen-label{background:linear-gradient(90deg, var(--accent), var(--status-info), var(--status-success), var(--accent));color:#0000;-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:.9rem;font-weight:600;animation:2.6s linear infinite loading-screen-shimmer}@keyframes loading-screen-shimmer{to{background-position:200%}}@media (prefers-reduced-motion:reduce){.loading-screen-ring,.loading-screen-label{animation:none}}.app-nudge{z-index:1000;border:1px solid var(--border-subtle);background-color:var(--bg-surface);width:calc(100% - 2rem);max-width:420px;box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;gap:.9rem;padding:1rem 1.1rem 1.1rem;animation:.38s cubic-bezier(.22,1,.36,1) both app-nudge-enter;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.app-nudge-closing{animation:.26s cubic-bezier(.4,0,1,1) reverse both app-nudge-enter}@keyframes app-nudge-enter{0%{opacity:0;transform:translate(-50%)translateY(24px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.app-nudge-close{background-color:var(--bg-sunken);width:26px;height:26px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,color .15s,transform .15s;display:flex;position:absolute;top:.6rem;right:.6rem}.app-nudge-close:hover{background-color:var(--status-danger-surface);color:var(--status-danger);transform:scale(1.08)}.app-nudge-body{align-items:flex-start;gap:.75rem;padding-right:1.4rem;display:flex}.app-nudge-mark{border-radius:12px;flex-shrink:0;width:48px;height:48px;animation:.5s cubic-bezier(.34,1.56,.64,1) .15s both app-nudge-mark-pop}@keyframes app-nudge-mark-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.app-nudge-title{color:var(--text-primary);margin-bottom:.2rem;font-size:.95rem;font-weight:700;display:block}.app-nudge-text{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.45}.app-nudge-cta{background-color:var(--accent);color:var(--accent-text-on);border-radius:10px;justify-content:center;align-items:center;padding:.65rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s;animation:2.4s ease-in-out infinite app-nudge-cta-glow;display:flex}.app-nudge-cta:hover{transform:translateY(-1px)}.app-nudge-cta:active{transform:translateY(0)scale(.98)}@keyframes app-nudge-cta-glow{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.app-nudge,.app-nudge-closing,.app-nudge-mark,.app-nudge-cta{animation:none}}@keyframes chat-thinking-label-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-thinking-label{animation:.35s ease-out both chat-thinking-label-in}.gen-canvas{background-color:var(--bg-sunken);contain:paint;overflow:hidden}@keyframes gen-stroke-paint{0%{opacity:.9;transform:scaleX(0)}30%,68%{opacity:.85;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.gen-stroke{transform-origin:0;will-change:transform, opacity;animation:7s ease-in-out infinite gen-stroke-paint;transform:scaleX(0)}@keyframes gen-sweep-move{0%{transform:translate(-120%)}to{transform:translate(320%)}}.gen-sweep{background-color:var(--bg-surface);opacity:.22;will-change:transform;width:30%;animation:2.8s ease-in-out infinite gen-sweep-move;position:absolute;top:0;bottom:0;left:0}@media (prefers-reduced-motion:reduce){.gen-stroke{opacity:.7;animation:none;transform:scaleX(1)}.gen-sweep{display:none}.chat-thinking-label{animation:none}}@keyframes gen-canvas-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.gen-canvas-enter{animation:.4s ease-out both gen-canvas-in}.gen-mosaic{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;display:grid;position:absolute;inset:0}@keyframes gen-pixel-twinkle{0%,to{opacity:.08}50%{opacity:.6}}.gen-pixel{background-color:var(--accent-surface);opacity:.08;border-radius:4px;animation:2.4s ease-in-out infinite gen-pixel-twinkle}@keyframes gen-film-advance{0%{transform:translateY(0)}to{transform:translateY(-28px)}}.gen-film{will-change:transform;flex-direction:column;gap:10px;width:14px;animation:.9s linear infinite gen-film-advance;display:flex;position:absolute;top:0}.gen-film>span{background-color:var(--bg-surface);opacity:.6;border-radius:4px;flex:none;height:18px}.gen-scrub{border-radius:999px;height:5px;position:absolute;top:14px;left:36px;right:36px;overflow:hidden}.gen-scrub-track{background-color:var(--bg-surface);opacity:.5;position:absolute;inset:0}@keyframes gen-scrub-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.gen-scrub-fill{background-color:var(--accent);transform-origin:0;animation:5s ease-in-out infinite gen-scrub-fill;position:absolute;inset:0}@keyframes gen-play-breathe{0%,to{opacity:.9;transform:translate(-40%,-50%)scale(1)}50%{opacity:.6;transform:translate(-40%,-50%)scale(1.1)}}.gen-play{border-top:18px solid #0000;border-bottom:18px solid #0000;border-left:30px solid var(--bg-surface);width:0;height:0;animation:2.4s ease-in-out infinite gen-play-breathe;position:absolute;top:44%;left:50%}@media (prefers-reduced-motion:reduce){.gen-canvas-enter{animation:none}.gen-pixel{opacity:.25;animation:none}.gen-film{animation:none}.gen-scrub-fill{animation:none;transform:scaleX(.4)}.gen-play{opacity:.85;animation:none;transform:translate(-40%,-50%)}}.studio-modal-panel{flex-direction:column;max-height:calc(100dvh - 2rem);display:flex;overflow:hidden}.studio-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.studio-modal-media{object-fit:contain;background-color:var(--bg-sunken);max-height:60dvh}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
