.character-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.character-quality-control{color:#edf2e8;background:#252a25;border:1px solid #384036;border-radius:10px;flex-direction:row;align-items:center;gap:8px;min-width:0;min-height:44px;margin:0;padding:0 12px;display:flex}.character-quality-control select{appearance:none;width:100%;min-width:0;color:inherit;cursor:pointer;outline-offset:-2px;background:0 0;border:0;flex:1;margin:0;padding:9px 0;font-size:13px}.character-quality-control select option{background:#1d231e}@media (max-width:760px){:is(html:has(.mobile-character-editor),body:has(.mobile-character-editor)){overscroll-behavior:none;height:100%;overflow:hidden}.workspace.mobile-studio:has(.mobile-character-editor){height:100dvh;min-height:0;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;overflow:hidden}.workspace.mobile-studio:has(.mobile-character-editor)>.topbar{flex:none;align-items:center;gap:12px;min-height:76px;margin:0;padding:12px 16px}.workspace.mobile-studio:has(.mobile-character-editor)>main{flex:1;max-width:none;min-height:0;margin:0;padding:0;display:flex}.mobile-character-editor{color:#eef3e9;min-width:0;min-height:0;font-family:var(--body);background:#101112;flex-direction:column;flex:1;gap:10px;padding:4px 16px 8px;display:flex;container:character-editor/size}.mobile-character-editor button{font-family:inherit}.workspace.mobile-studio:has(.mobile-character-editor)>.topbar>.brand{display:none}.workspace.mobile-studio:has(.mobile-character-editor)>.topbar>.character-header-switch-host{z-index:auto;flex:1;justify-content:flex-start;width:auto;min-width:0;max-width:none;position:static;transform:none}.character-mobile-title{align-items:flex-start;gap:7px;width:100%;min-width:0;margin:0;display:flex}.character-mobile-title>.character-mobile-name{resize:none;field-sizing:content;width:100%;height:auto;min-height:44px;max-height:calc(2.16em + 6px);caret-color:var(--accent);scrollbar-width:none;text-align:left;min-width:0;font-family:var(--body);letter-spacing:-.045em;color:#f0f3ed;background:0 0;border:0;border-radius:4px;flex:1;margin:0;padding:3px 0;font-size:clamp(26px,7.4vw,32px);font-weight:600;line-height:1.08;display:block;overflow:hidden}.character-mobile-title>.character-mobile-name.is-long-name{font-size:clamp(22px,6vw,27px)}.character-mobile-title>.character-mobile-name:focus{outline:none;overflow-y:auto;box-shadow:0 1px #6e8454}.character-mobile-title>.character-save-dot{margin-top:13px}.character-mobile-toolbar{flex:none;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.character-mobile-toolbar>button{color:#b7c1b1;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid}.character-save-dot{background:#adcb80;border-radius:50%;flex:none;width:5px;height:5px}.character-save-dot.has-error{background:#e6947f}.character-mobile-views{flex:none;justify-content:center;align-items:center;gap:8px;display:flex}.character-mobile-views>button{color:#aeb9a8;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;min-height:44px;padding:0;font-size:12px;display:grid}.character-mobile-views>button[aria-pressed=true]{color:#d6fc36;background:#273021}.character-mobile-preview{flex:1;place-items:center;min-height:72px;max-height:min(54cqh,380px);margin:0;display:grid;overflow:hidden}.character-mobile-preview>div{aspect-ratio:3/4;width:auto;max-width:100%;height:100%;min-height:0;max-height:100%;box-shadow:none;background:#1b201b;border:0;border-radius:14px;transform:none!important}.character-mobile-preview button{border:0;width:100%;height:100%;padding:0}.character-mobile-preview [class*=portrait]{border-radius:inherit;aspect-ratio:3/4;border:0;height:100%;min-height:0}.character-mobile-preview [class*=expandHint]{display:none}.character-mobile-empty{color:#73806d;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;min-height:0;padding:16px;display:flex}.character-mobile-empty span{font-size:11px}.character-mobile-preview>.character-empty-upload{background:radial-gradient(at 50% 30%,#28312470,#0000 75%),#1b201b;border:1px dashed #46513d;flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,3cqh,24px);width:auto;max-width:100%;height:100%;min-height:0;padding:16px 14px;display:flex;position:relative}.character-empty-upload>.character-preview-add{color:#d3e6bd;background:#303a2738;border:1px solid #546044;border-radius:50%;flex:0 72px;place-items:center;width:72px;height:72px;min-height:44px;padding:0;display:grid}.character-photo-guides{flex:none;justify-content:center;align-items:center;gap:8px;display:flex}.character-photo-guides>button{color:#91a181;background:#131a1180;border:1px solid #48523e;border-radius:9px;align-content:center;place-items:center;gap:6px;width:72px;height:84px;min-height:44px;padding:8px 3px;display:grid;position:relative}.character-photo-caption{color:#bdcbae;white-space:nowrap;font-size:11px;line-height:1.3;display:block}.character-photo-guides>button:hover{color:#d6ebba;border-color:#7f9866}.character-guide-ready{color:#17210d;background:#cbe791;border:2px solid #1b201b;border-radius:50%;place-items:center;width:16px;height:16px;display:grid;position:absolute;bottom:-4px;right:-4px}.character-empty-upload>.character-reference-strip{flex:none;justify-content:flex-start;width:100%;min-width:0;margin:0}.character-mobile-preview>.character-preview-stage{flex-direction:column;display:flex;overflow:hidden}.character-preview-stage>div[class*=primaryPreview]{aspect-ratio:auto;border:0;border-radius:0;flex:1;width:100%;max-width:none;height:auto;min-height:0;margin:0}.character-preview-stage>.character-reference-strip{background:#1b201b;flex:none;width:100%;min-width:0;padding:10px 8px 8px}.character-mobile-preview .character-reference-strip .character-add-reference,.character-mobile-preview .character-reference-strip .character-reference-tile>button:first-child{width:56px;height:56px}.character-mobile-preview .character-reference-strip .character-reference-remove{width:24px;height:24px;min-height:24px}.character-mobile-inputs{flex-direction:column;flex:none;gap:9px;display:flex}.character-reference-strip{scrollbar-width:none;align-items:center;gap:10px;min-height:64px;padding:4px 2px;display:flex;overflow-x:auto}.character-reference-strip>.character-add-reference{color:#e1e8da;background:#252b24;border:1px dashed #4a5546;border-radius:12px;flex:0 0 56px;place-items:center;height:56px;min-height:44px;padding:0;display:grid}.character-reference-tile{flex:0 0 56px;height:56px;position:relative}.character-reference-tile>button:first-child{background:#252b24;border:0;border-radius:11px;width:56px;height:56px;min-height:44px;padding:0;display:block;overflow:hidden}.character-reference-tile img{object-fit:cover;width:100%;height:100%;display:block}.character-reference-tile>.character-reference-remove{color:#ecf3e4;background:#121b12;border:1px solid #485442;border-radius:50%;place-items:center;width:24px;height:24px;min-height:24px;padding:0;display:grid;position:absolute;top:-4px;right:-4px}.character-prompt-heading{flex:none;justify-content:space-between;align-items:center;min-height:20px;display:flex}.character-prompt-heading>label{margin:0;font-size:14px;font-weight:550}.character-prompt-heading>.character-prompt-done{display:none}.mobile-character-editor .clip-prompt{min-height:0;margin:0;padding:0}.mobile-character-editor .clip-prompt textarea{field-sizing:content;resize:none;color:#edf1e8;overscroll-behavior:contain;background:#1b1f1c;border:1px solid #33402e;border-radius:14px;width:100%;height:auto;min-height:85px;max-height:150px;margin:0;padding:11px 12px;font-family:inherit;font-size:16px;line-height:1.5;animation:7s ease-in-out infinite alternate character-prompt-glow;display:block;overflow-y:auto;box-shadow:0 0 9px #b9f24709}.character-mobile-controls{flex:none;gap:8px;display:flex}.character-mobile-controls>.character-quality-control{flex:1}.character-mobile-controls>.character-settings-trigger{color:#dce5d4;background:#252a25;border:1px solid #384036;border-radius:10px;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.character-mobile-inputs>.character-generate{color:#131c04;background:#d6fc32;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:14px;width:100%;min-height:48px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.character-generate>span:last-child{align-items:center;gap:5px;display:flex}.character-mobile-inputs>.character-price-note{color:#919e8a;text-align:center;margin:-2px 0 0;font-size:10px;line-height:1.4}.character-mobile-inputs>.character-mobile-source{color:#aeb9a7;margin:0;padding:10px 0;font-size:12px;line-height:1.5}.character-mobile-inputs>.character-approve{color:#d8edc6;background:#202c1c;border:1px solid #4f653f;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:6px 10px;font-size:12px;display:flex}.character-mobile-progress{color:#bbcfaa;align-items:center;gap:8px;padding:5px 0;font-size:11px;display:flex}.character-loading-ring{border:1.5px solid #5b684e;border-top-color:#d6fc32;border-radius:50%;width:14px;height:14px;animation:.9s linear infinite character-loading}.character-mobile-error{color:#e4a998;max-height:90px;margin:0;padding:4px 0;font-size:11px;line-height:1.5;overflow-y:auto}.character-mobile-error p{margin:0 0 6px}.character-mobile-error button{min-height:36px;font-size:11px}.dialog-shell:has(.character-mobile-sheet){width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.dialog-shell:has(.character-mobile-sheet)::backdrop{background:linear-gradient(#080a0b44,#080a0bcc)}.modal.character-mobile-sheet{width:100%;max-height:85dvh;padding:18px 16px max(16px, env(safe-area-inset-bottom));background:#191f1a;border:1px solid #3a4536;border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;margin:auto 0 0;animation:.3s cubic-bezier(.16,1,.3,1) character-sheet-enter;display:flex;position:absolute;inset:auto 0 0;overflow:hidden}.character-mobile-sheet>header{flex:none;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.character-mobile-sheet h2{margin:0;font-size:16px}.character-mobile-sheet>header>button{color:#b2c0a8;background:#ffffff06;border:0;border-radius:50%;place-items:center;width:40px;min-height:40px;padding:0;display:grid}.character-sheet-body{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.character-mobile-sheet .character-setting-row{flex-direction:row;align-items:center;gap:12px;min-height:52px;margin:0;padding:6px 0;font-size:13px;display:flex}.character-setting-row>span{flex:1}.character-setting-row select{color:#e3ebdd;background:#293126;border:0;border-radius:10px;width:auto;max-width:60%;min-height:40px;padding:6px 10px;font-size:13px}.character-traits{border-top:1px solid #ffffff0c;margin:10px 0 0}.character-traits summary{cursor:pointer;color:#c9d5bf;justify-content:space-between;align-items:center;min-height:52px;font-size:13px;display:flex}.character-mobile-sheet>footer{flex:none;padding-top:16px}.character-mobile-sheet>footer>.primary{border-radius:24px;width:100%;min-height:44px;margin:0}.character-action-list{gap:5px;display:grid}.character-action-list>button{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;min-height:48px;padding:10px;font-size:14px;display:flex}.character-action-list>.character-delete-action{color:#e9b4a2}.character-mobile-history{gap:14px;display:grid}.character-mobile-history article{align-items:center;gap:14px;display:flex}.character-mobile-history img{object-fit:cover;border-radius:9px}.character-mobile-history article>div{justify-items:start;gap:8px;display:grid}.character-mobile-history time,.character-mobile-history p{color:#b3c1a9;font-size:12px}.character-mobile-history button{min-height:36px;font-size:12px}.workspace.mobile-studio:has(.mobile-character-editor[data-prompt-keyboard])>.topbar{display:none}.mobile-character-editor[data-prompt-keyboard]{inset:var(--mobile-screen-top,0px) 0 auto;width:100%;height:var(--mobile-screen-height,100dvh);z-index:25;padding:10px 16px 12px;position:fixed}.mobile-character-editor[data-prompt-keyboard]>:not(.character-mobile-inputs),.mobile-character-editor[data-prompt-keyboard] .character-mobile-inputs>:not(.character-prompt-heading,.clip-prompt){display:none}.mobile-character-editor[data-prompt-keyboard] .character-mobile-inputs,.mobile-character-editor[data-prompt-keyboard] .clip-prompt{flex:1;min-height:0;display:flex}.mobile-character-editor[data-prompt-keyboard] .clip-prompt textarea{flex:1;height:100%;min-height:0;max-height:none}.mobile-character-editor[data-prompt-keyboard] .character-prompt-heading>.character-prompt-done{color:#d2e6c1;background:0 0;border:0;align-items:center;gap:6px;min-height:36px;padding:6px 0 6px 12px;font-size:12px;display:flex}@media (max-height:690px){.mobile-character-editor{gap:4px;padding-inline:12px}.character-mobile-inputs{gap:6px}.character-reference-strip{min-height:50px}.character-reference-strip>.character-add-reference,.character-reference-tile,.character-reference-tile>button:first-child{flex-basis:44px;width:44px;height:44px}.mobile-character-editor .clip-prompt textarea{min-height:66px;max-height:80px;padding:8px 10px}.character-mobile-preview{min-height:80px}.character-mobile-preview>.character-empty-upload{aspect-ratio:auto;grid-template-columns:44px minmax(0,1fr);align-content:center;align-items:center;gap:8px;width:min(100%,300px);padding:8px;display:grid}.character-empty-upload>.character-preview-add{width:44px;height:44px;min-height:44px}.character-empty-upload>.character-preview-add svg{width:24px;height:24px}.character-photo-guides{gap:5px;min-width:0}.character-photo-guides>button{flex:1;gap:4px;width:auto;min-width:0;height:66px;padding:5px 1px}.character-photo-guides>button>svg{width:24px;height:24px}.character-photo-caption{white-space:normal;font-size:10px}.character-empty-upload>.character-reference-strip{grid-column:1/-1;min-height:50px}.character-mobile-preview .character-reference-strip .character-add-reference,.character-mobile-preview .character-reference-strip .character-reference-tile>button:first-child{width:44px;height:44px}}}@keyframes character-prompt-glow{0%{box-shadow:0 0 6px #b9f24707}to{box-shadow:0 0 12px #b9f24712}}@keyframes character-loading{to{transform:rotate(360deg)}}@keyframes character-sheet-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mobile-character-editor .clip-prompt textarea,.character-loading-ring,.modal.character-mobile-sheet{animation:none}}
