:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f2f5;--surface-3:#e7ebf0;--line:#d6dce3;--line-strong:#b9c2cd;--text:#1f2933;--muted:#5e6b78;--faint:#85919d;--accent:#3569d4;--accent-soft:#eaf0ff;--success:#23845c;--success-soft:#e7f6ee;--danger:#c94453;--danger-soft:#fff0f2;--shadow:0 12px 32px rgba(38,52,70,.12);--radius:16px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}body{min-width:320px}button,input,textarea,select{font:inherit}button,input,textarea,select{color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(53,105,212,.25);outline-offset:1px}.hidden{display:none!important}.app-shell{min-height:100vh;padding-bottom:84px}.topbar{position:sticky;top:0;z-index:20;height:64px;padding:0 max(16px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:850;letter-spacing:.14em;color:#2c4d91}.brand-symbol{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;color:#fff;background:var(--accent);font-size:14px;letter-spacing:0}.brand small{font-size:9px;letter-spacing:.13em;color:var(--faint);font-weight:700;margin-left:2px}.top-actions{display:flex;align-items:center;gap:8px}.save-state{font-size:11px;color:var(--faint);margin-right:5px}.save-state.saving{color:var(--accent)}.top-icon{position:relative;width:36px;height:36px;border:1px solid transparent;background:transparent;border-radius:10px;color:var(--muted);font-size:18px}.top-icon:hover{border-color:var(--line);background:var(--surface-2);color:var(--text)}.badge{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--danger);color:#fff;font-size:10px}.main-area{width:min(1180px,100%);margin:0 auto;padding:30px 22px 36px}.screen{display:none}.active-screen{display:block}.screen-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.eyebrow,.section-kicker,.section-label{margin:0 0 6px;color:var(--faint);font-size:10px;font-weight:850;letter-spacing:.14em}.screen h1{font-size:28px;line-height:1.12;margin:0;letter-spacing:-.04em}.heading-note{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.model-select-wrap{width:240px;display:flex;flex-direction:column;gap:6px;color:var(--faint);font-size:9px;letter-spacing:.12em;font-weight:800}.model-select-wrap select{font-size:12px;letter-spacing:0;font-weight:700}.create-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.create-main{min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 7px rgba(38,52,70,.025);margin-bottom:13px}.prompt-card,.card:not(.settings-card):not(.optional-card){padding:18px}.card-heading,.preview-heading,.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-heading{margin-bottom:14px}.card h2,.preview-panel h2,.card summary h2{margin:0;font-size:15px;line-height:1.25;letter-spacing:-.02em}.section-kicker{display:block;margin-bottom:5px;font-size:9px;color:var(--accent);letter-spacing:.14em}.card h2 em{font-size:11px;font-style:normal;color:var(--faint);font-weight:600;margin-left:4px}.prompt-editor,textarea,input,select{width:100%;border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:12px;font-size:13px}.prompt-editor{min-height:142px;resize:vertical;line-height:1.55}.prompt-editor.compact{min-height:102px}.helper{margin:9px 0 0;color:var(--faint);font-size:11px;line-height:1.55}.quiet-button,.link-button{border:0;background:transparent;padding:4px 0;color:var(--accent);font-size:11px;font-weight:700}.quiet-button:hover,.link-button:hover{text-decoration:underline}.outline-button,.primary-small-button,.primary-button,.danger-button{border-radius:10px;font-size:11px;font-weight:800;min-height:36px;padding:9px 12px}.outline-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted)}.outline-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.primary-button,.primary-small-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary-button:hover,.primary-small-button:hover{background:#2c59ba}.primary-button:disabled{opacity:.55;cursor:default}.danger-button{border:1px solid #e3a0a7;background:var(--danger-soft);color:var(--danger)}.danger-button:hover{background:#ffe2e5}.connection-strip{min-height:40px;display:flex;align-items:center;gap:8px;padding:9px 12px;margin-bottom:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:11px;color:var(--muted)}.connection-strip.connected{border-color:#a7d8bf;background:var(--success-soft);color:var(--success)}.connection-strip.error{border-color:#e5adb3;background:var(--danger-soft);color:var(--danger)}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex:none}.connection-strip.connected .connection-dot{background:var(--success)}.connection-strip.error .connection-dot{background:var(--danger)}.connection-strip .link-button{margin-left:auto}.character-list{display:flex;flex-direction:column;gap:9px}.character-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-2)}.character-card summary{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer;list-style:none}.character-card summary::-webkit-details-marker{display:none}.character-card summary .summary-chevron{margin-left:auto}.character-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-weight:850}.character-summary-copy{min-width:0}.character-summary-copy strong{display:block;font-size:12px}.character-summary-copy small{display:block;color:var(--faint);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38vw;margin-top:3px}.character-summary-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.character-summary-actions button{border:0;background:transparent;color:var(--faint);padding:4px;font-size:17px}.character-body{padding:0 12px 13px;border-top:1px solid var(--line);background:var(--surface)}.character-body .field{padding-top:12px}.field{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.field>span small{font-weight:500;color:var(--faint)}.field input,.field select,.field textarea{font-size:12px;padding:10px}.small-textarea{min-height:78px;resize:vertical}.position-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:0}.empty-inline{padding:8px 0 2px;color:var(--faint);font-size:11px;line-height:1.5}.settings-card,.optional-card{overflow:hidden}.settings-card summary,.optional-card summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;cursor:pointer;list-style:none}.settings-card summary::-webkit-details-marker,.optional-card summary::-webkit-details-marker{display:none}.summary-right{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:10px;font-weight:600;text-align:right}.summary-chevron{font-size:17px;transition:transform .2s}.settings-card[open] .summary-chevron,.optional-card[open] .summary-chevron{transform:rotate(180deg)}.settings-body{padding:0 18px 18px;border-top:1px solid var(--line)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding-top:2px}.field.full{grid-column:1/-1}.field b{color:var(--accent);font-size:11px}.range-field input{padding:0;height:28px;accent-color:var(--accent)}.toggle-field{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:12px}.toggle-field>span{grid-column:1}.toggle-field>small{grid-column:1;color:var(--faint);font-weight:500}.toggle-field>input{grid-column:2;grid-row:1/3}.toggle-field .switch{grid-column:2;grid-row:1/3}.toggle-field>input:checked~.switch{background:var(--accent)}.toggle-field>input:checked~.switch:after{transform:translateX(17px)}.toggle-field>input{position:absolute;opacity:0;pointer-events:none}.switch{display:inline-block;position:relative;width:38px;height:22px;border-radius:99px;background:#c9d0d8;transition:.2s;flex:none}.switch:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}.toggle-field>input:checked~.switch,.switch-label input:checked~.switch{background:var(--accent)}.toggle-field>input:checked~.switch:after,.switch-label input:checked~.switch:after{transform:translateX(16px)}.settings-note{margin-top:15px;padding:10px 11px;border-radius:9px;background:var(--accent-soft);color:#4c66a0;font-size:11px;line-height:1.5}.optional-tag{padding:4px 7px;border:1px solid var(--line);border-radius:999px}.reference-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.reference-wrap{position:relative}.reference-thumb{width:75px;height:75px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.reference-wrap button{display:block;margin-top:4px}.switch-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:700}.switch-label input{position:absolute;opacity:0;pointer-events:none}.batch-card{border-color:#b7c9ed}.batch-card .card-heading{align-items:center}.batch-fields{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.asset-target-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.asset-target-row .outline-button{margin-bottom:0}.selected-summary{min-height:40px;display:flex;align-items:center;padding:9px 11px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.45}.repeat-field input{accent-color:var(--accent);padding:0;height:27px}.sequence-preview{display:flex;flex-wrap:wrap;gap:6px}.sequence-chip{padding:5px 8px;border-radius:999px;border:1px solid #b8c9ec;background:var(--accent-soft);color:#4b65a1;font-size:10px}.preview-panel{position:sticky;top:82px;padding:15px}.preview-heading{align-items:center;margin-bottom:12px}.preview-toggle{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;white-space:nowrap}.preview-toggle input{width:15px;height:15px;accent-color:var(--accent)}.preview-frame{position:relative;display:grid;place-items:center;min-height:310px;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:linear-gradient(135deg,#f3f5f8,#e9edf3)}.preview-frame img{display:none;width:100%;height:auto;max-height:520px;object-fit:contain}.preview-frame img.visible{display:block}.preview-empty{text-align:center;color:var(--faint);font-size:11px;line-height:1.55}.preview-empty span{display:block;color:#9db4e8;font-size:38px;margin-bottom:7px}.preview-empty p{margin:0}.preview-progress{position:absolute;left:8px;right:8px;bottom:8px;padding:8px 9px;border-radius:8px;background:rgba(31,41,51,.78);color:#fff;font-size:10px;text-align:center}.preview-meta{display:flex;justify-content:space-between;gap:10px;padding-top:10px;color:var(--muted);font-size:10px}.preview-meta span:last-child{color:var(--accent);font-weight:700}.generate-dock{position:sticky;bottom:12px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;margin-top:18px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.generate-dock>div{display:flex;flex-direction:column;gap:4px;min-width:0}.generate-dock strong{font-size:12px}.generate-dock span{color:var(--faint);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.primary-button{display:flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}.primary-button b{font-size:10px;opacity:.84}.toolbar-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.search-box{display:flex;align-items:center;gap:8px;flex:1;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--faint)}.search-box input{border:0;background:transparent;padding:11px 0;outline:0}.asset-groups{display:flex;flex-direction:column;gap:10px}.asset-group{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:13px}.asset-group-header{display:flex;align-items:center;gap:9px;padding:13px;cursor:pointer}.asset-group-header:hover{background:var(--surface-2)}.group-arrow{width:14px;color:var(--accent);font-size:13px}.group-name{font-size:13px;font-weight:800}.group-count{font-size:10px;color:var(--faint)}.asset-group-header .quiet-button{margin-left:auto}.asset-group-body{border-top:1px solid var(--line)}.asset-row{display:flex;align-items:center;gap:12px;padding:12px 13px;border-bottom:1px solid var(--line)}.asset-row:last-child{border-bottom:0}.asset-row-copy{min-width:0;flex:1}.asset-row-name{font-size:12px;font-weight:750}.asset-row-prompt{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-row-edit{border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:700}.count-label{padding-top:8px;color:var(--muted);font-size:12px;font-weight:700}.gallery-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.gallery-toolbar .outline-button,.gallery-toolbar .danger-button{min-height:34px}.select-all{display:flex;align-items:center;gap:7px;margin-right:auto;color:var(--muted);font-size:11px}.select-all input{width:16px;height:16px;accent-color:var(--accent)}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.gallery-card.selected{border:2px solid var(--accent)}.gallery-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--surface-2);cursor:pointer}.gallery-check{position:absolute;z-index:1;left:8px;top:8px;width:18px;height:18px;accent-color:var(--accent)}.gallery-info{padding:9px}.gallery-info strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-info small{display:block;margin-top:4px;color:var(--faint);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-delete{border:0;background:transparent;color:var(--danger);font-size:10px;padding:4px 0}.empty-state{padding:65px 20px;text-align:center;color:var(--faint)}.empty-state span{font-size:42px;color:#a8b9dd}.empty-state h2{margin:12px 0 5px;color:var(--text);font-size:16px}.empty-state p{margin:0;font-size:11px}.settings-section{max-width:720px;margin:0 auto 18px}.setting-card{padding:17px}.setting-card .field{margin-bottom:13px}.remember-key{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.remember-key input{width:16px;height:16px;accent-color:var(--accent)}.remember-key small{color:var(--faint);font-size:10px}.full-button{width:100%;margin-top:13px}.api-status{margin-top:12px;padding:10px 11px;border-radius:9px;font-size:11px;line-height:1.45}.api-status.idle{background:var(--surface-2);color:var(--muted)}.api-status.ok{background:var(--success-soft);color:var(--success)}.api-status.error{background:var(--danger-soft);color:var(--danger)}.account-info{margin-top:8px;padding:10px 11px;border:1px solid #b7d9c4;border-radius:9px;color:var(--success);font-size:11px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.setting-row strong{display:block;font-size:12px}.setting-row p{margin:5px 0 0;color:var(--faint);font-size:10px;line-height:1.4}.info-row{display:flex;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid var(--line);font-size:12px}.info-row b{color:var(--success)}.bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;height:76px;display:grid;grid-template-columns:repeat(4,1fr);padding:6px max(16px,calc((100vw - 620px)/2)) max(6px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(16px)}.nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;border-radius:11px;color:var(--faint);font-weight:700}.nav-button span{font-size:18px;line-height:1}.nav-button small{font-size:10px}.nav-button.active{color:var(--accent);background:var(--accent-soft)}.sheet-backdrop{position:fixed;z-index:50;inset:0;display:flex;align-items:flex-end;background:rgba(27,38,51,.38)}.bottom-sheet{width:100%;max-height:88vh;overflow:auto;padding:12px 18px 24px;background:var(--surface);border:1px solid var(--line);border-radius:22px 22px 0 0;box-shadow:0 -20px 70px rgba(38,52,70,.22)}.tall-sheet{max-height:92vh}.sheet-handle{width:42px;height:4px;margin:0 auto 18px;border-radius:99px;background:var(--line-strong)}.sheet-heading{margin-bottom:14px}.sheet-heading h2{font-size:18px;margin:0}.queue-summary{padding:11px 12px;margin-bottom:10px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:11px}.queue-list{display:flex;flex-direction:column;gap:7px;max-height:43vh;overflow:auto}.queue-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.queue-index{width:20px;color:var(--faint);font-size:10px}.queue-copy{min-width:0;flex:1}.queue-copy strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-copy small{display:block;margin-top:3px;color:var(--faint);font-size:9px}.queue-state{color:var(--faint);font-size:9px}.queue-state.running{color:var(--accent)}.queue-state.done{color:var(--success)}.queue-state.failed{color:var(--danger)}.queue-actions{display:flex;gap:8px;margin-top:15px}.queue-actions>*{flex:1}.asset-picker-list{display:flex;flex-direction:column;gap:7px;max-height:54vh;overflow:auto}.picker-item{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.picker-item input{width:17px;height:17px;accent-color:var(--accent)}.picker-item strong{font-size:11px}.picker-prompt{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4}.sheet-footer{padding-top:12px}.toast{position:fixed;z-index:80;left:50%;bottom:96px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 14px;border-radius:9px;background:#1f2933;color:#fff;font-size:11px;line-height:1.45;box-shadow:var(--shadow);white-space:nowrap}.toast.error{background:#7d2733}.toast.ok{background:#216b4c}@media(min-width:760px){.bottom-nav{left:50%;right:auto;width:520px;transform:translateX(-50%);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0}.bottom-sheet{max-width:650px;margin:0 auto;border-radius:22px 22px 0 0}}@media(max-width:900px){.create-layout{grid-template-columns:1fr}.preview-panel{position:relative;top:auto}.preview-frame{min-height:260px}.preview-frame img{max-height:500px}}@media(max-width:560px){.main-area{padding:23px 14px 30px}.topbar{padding:0 14px}.brand small{display:none}.save-state{display:none}.screen-heading{margin-bottom:17px}.screen h1{font-size:24px}.model-select-wrap{width:157px}.model-select-wrap select{font-size:10px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.prompt-card,.card:not(.settings-card):not(.optional-card){padding:14px}.settings-card summary,.optional-card summary{padding:14px}.settings-body{padding:0 14px 14px}.asset-target-row{grid-template-columns:1fr}.asset-target-row .outline-button{width:100%}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-toolbar{align-items:stretch}.gallery-toolbar .outline-button,.gallery-toolbar .danger-button{flex:1}.select-all{width:100%;margin-right:0}.generate-dock{bottom:82px}.generate-dock>div{max-width:47%}.generate-dock span{white-space:normal}.preview-frame{min-height:230px}.toast{white-space:normal;text-align:center}.character-summary-copy small{max-width:30vw}}
:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f2f5;--surface-3:#e7ebf0;--line:#d6dce3;--line-strong:#b9c2cd;--text:#1f2933;--muted:#5e6b78;--faint:#85919d;--accent:#3569d4;--accent-soft:#eaf0ff;--success:#23845c;--success-soft:#e7f6ee;--danger:#c94453;--danger-soft:#fff0f2;--shadow:0 12px 32px rgba(38,52,70,.12);--radius:16px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}body{min-width:320px}button,input,textarea,select{font:inherit}button,input,textarea,select{color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(53,105,212,.25);outline-offset:1px}.hidden{display:none!important}.app-shell{min-height:100vh;padding-bottom:84px}.topbar{position:sticky;top:0;z-index:20;height:64px;padding:0 max(16px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:850;letter-spacing:.14em;color:#2c4d91}.brand-symbol{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;color:#fff;background:var(--accent);font-size:14px;letter-spacing:0}.brand small{font-size:9px;letter-spacing:.13em;color:var(--faint);font-weight:700;margin-left:2px}.top-actions{display:flex;align-items:center;gap:8px}.save-state{font-size:11px;color:var(--faint);margin-right:5px}.save-state.saving{color:var(--accent)}.top-icon{position:relative;width:36px;height:36px;border:1px solid transparent;background:transparent;border-radius:10px;color:var(--muted);font-size:18px}.top-icon:hover{border-color:var(--line);background:var(--surface-2);color:var(--text)}.badge{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--danger);color:#fff;font-size:10px}.main-area{width:min(1180px,100%);margin:0 auto;padding:30px 22px 36px}.screen{display:none}.active-screen{display:block}.screen-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.eyebrow,.section-kicker,.section-label{margin:0 0 6px;color:var(--faint);font-size:10px;font-weight:850;letter-spacing:.14em}.screen h1{font-size:28px;line-height:1.12;margin:0;letter-spacing:-.04em}.heading-note{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.model-select-wrap{width:240px;display:flex;flex-direction:column;gap:6px;color:var(--faint);font-size:9px;letter-spacing:.12em;font-weight:800}.model-select-wrap select{font-size:12px;letter-spacing:0;font-weight:700}.create-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.create-main{min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 7px rgba(38,52,70,.025);margin-bottom:13px}.prompt-card,.card:not(.settings-card):not(.optional-card){padding:18px}.card-heading,.preview-heading,.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-heading{margin-bottom:14px}.card h2,.preview-panel h2,.card summary h2{margin:0;font-size:15px;line-height:1.25;letter-spacing:-.02em}.section-kicker{display:block;margin-bottom:5px;font-size:9px;color:var(--accent);letter-spacing:.14em}.card h2 em{font-size:11px;font-style:normal;color:var(--faint);font-weight:600;margin-left:4px}.prompt-editor,textarea,input,select{width:100%;border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:12px;font-size:13px}.prompt-editor{min-height:142px;resize:vertical;line-height:1.55}.prompt-editor.compact{min-height:102px}.helper{margin:9px 0 0;color:var(--faint);font-size:11px;line-height:1.55}.quiet-button,.link-button{border:0;background:transparent;padding:4px 0;color:var(--accent);font-size:11px;font-weight:700}.quiet-button:hover,.link-button:hover{text-decoration:underline}.outline-button,.primary-small-button,.primary-button,.danger-button{border-radius:10px;font-size:11px;font-weight:800;min-height:36px;padding:9px 12px}.outline-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted)}.outline-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.primary-button,.primary-small-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary-button:hover,.primary-small-button:hover{background:#2c59ba}.primary-button:disabled{opacity:.55;cursor:default}.danger-button{border:1px solid #e3a0a7;background:var(--danger-soft);color:var(--danger)}.danger-button:hover{background:#ffe2e5}.connection-strip{min-height:40px;display:flex;align-items:center;gap:8px;padding:9px 12px;margin-bottom:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:11px;color:var(--muted)}.connection-strip.connected{border-color:#a7d8bf;background:var(--success-soft);color:var(--success)}.connection-strip.error{border-color:#e5adb3;background:var(--danger-soft);color:var(--danger)}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex:none}.connection-strip.connected .connection-dot{background:var(--success)}.connection-strip.error .connection-dot{background:var(--danger)}.connection-strip .link-button{margin-left:auto}.character-list{display:flex;flex-direction:column;gap:9px}.character-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-2)}.character-card summary{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer;list-style:none}.character-card summary::-webkit-details-marker{display:none}.character-card summary .summary-chevron{margin-left:auto}.character-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-weight:850}.character-summary-copy{min-width:0}.character-summary-copy strong{display:block;font-size:12px}.character-summary-copy small{display:block;color:var(--faint);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38vw;margin-top:3px}.character-summary-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.character-summary-actions button{border:0;background:transparent;color:var(--faint);padding:4px;font-size:17px}.character-body{padding:0 12px 13px;border-top:1px solid var(--line);background:var(--surface)}.character-body .field{padding-top:12px}.field{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.field>span small{font-weight:500;color:var(--faint)}.field input,.field select,.field textarea{font-size:12px;padding:10px}.small-textarea{min-height:78px;resize:vertical}.position-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:0}.empty-inline{padding:8px 0 2px;color:var(--faint);font-size:11px;line-height:1.5}.settings-card,.optional-card{overflow:hidden}.settings-card summary,.optional-card summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;cursor:pointer;list-style:none}.settings-card summary::-webkit-details-marker,.optional-card summary::-webkit-details-marker{display:none}.summary-right{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:10px;font-weight:600;text-align:right}.summary-chevron{font-size:17px;transition:transform .2s}.settings-card[open] .summary-chevron,.optional-card[open] .summary-chevron{transform:rotate(180deg)}.settings-body{padding:0 18px 18px;border-top:1px solid var(--line)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding-top:2px}.field.full{grid-column:1/-1}.field b{color:var(--accent);font-size:11px}.range-field input{padding:0;height:28px;accent-color:var(--accent)}.toggle-field{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:12px}.toggle-field>span{grid-column:1}.toggle-field>small{grid-column:1;color:var(--faint);font-weight:500}.toggle-field>input{grid-column:2;grid-row:1/3}.toggle-field .switch{grid-column:2;grid-row:1/3}.toggle-field>input:checked~.switch{background:var(--accent)}.toggle-field>input:checked~.switch:after{transform:translateX(17px)}.toggle-field>input{position:absolute;opacity:0;pointer-events:none}.switch{display:inline-block;position:relative;width:38px;height:22px;border-radius:99px;background:#c9d0d8;transition:.2s;flex:none}.switch:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}.toggle-field>input:checked~.switch,.switch-label input:checked~.switch{background:var(--accent)}.toggle-field>input:checked~.switch:after,.switch-label input:checked~.switch:after{transform:translateX(16px)}.settings-note{margin-top:15px;padding:10px 11px;border-radius:9px;background:var(--accent-soft);color:#4c66a0;font-size:11px;line-height:1.5}.optional-tag{padding:4px 7px;border:1px solid var(--line);border-radius:999px}.reference-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.reference-wrap{position:relative}.reference-thumb{width:75px;height:75px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.reference-wrap button{display:block;margin-top:4px}.switch-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:700}.switch-label input{position:absolute;opacity:0;pointer-events:none}.batch-card{border-color:#b7c9ed}.batch-card .card-heading{align-items:center}.batch-fields{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.asset-target-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.asset-target-row .outline-button{margin-bottom:0}.selected-summary{min-height:40px;display:flex;align-items:center;padding:9px 11px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.45}.repeat-field input{accent-color:var(--accent);padding:0;height:27px}.sequence-preview{display:flex;flex-wrap:wrap;gap:6px}.sequence-chip{padding:5px 8px;border-radius:999px;border:1px solid #b8c9ec;background:var(--accent-soft);color:#4b65a1;font-size:10px}.preview-panel{position:sticky;top:82px;padding:15px}.preview-heading{align-items:center;margin-bottom:12px}.preview-toggle{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;white-space:nowrap}.preview-toggle input{width:15px;height:15px;accent-color:var(--accent)}.preview-frame{position:relative;display:grid;place-items:center;min-height:310px;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:linear-gradient(135deg,#f3f5f8,#e9edf3)}.preview-frame img{display:none;width:100%;height:auto;max-height:520px;object-fit:contain}.preview-frame img.visible{display:block}.preview-empty{text-align:center;color:var(--faint);font-size:11px;line-height:1.55}.preview-empty span{display:block;color:#9db4e8;font-size:38px;margin-bottom:7px}.preview-empty p{margin:0}.preview-progress{position:absolute;left:8px;right:8px;bottom:8px;padding:8px 9px;border-radius:8px;background:rgba(31,41,51,.78);color:#fff;font-size:10px;text-align:center}.preview-meta{display:flex;justify-content:space-between;gap:10px;padding-top:10px;color:var(--muted);font-size:10px}.preview-meta span:last-child{color:var(--accent);font-weight:700}.generate-dock{position:sticky;bottom:12px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;margin-top:18px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.generate-dock>div{display:flex;flex-direction:column;gap:4px;min-width:0}.generate-dock strong{font-size:12px}.generate-dock span{color:var(--faint);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.primary-button{display:flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}.primary-button b{font-size:10px;opacity:.84}.toolbar-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.search-box{display:flex;align-items:center;gap:8px;flex:1;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--faint)}.search-box input{border:0;background:transparent;padding:11px 0;outline:0}.asset-groups{display:flex;flex-direction:column;gap:10px}.asset-group{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:13px}.asset-group-header{display:flex;align-items:center;gap:9px;padding:13px;cursor:pointer}.asset-group-header:hover{background:var(--surface-2)}.group-arrow{width:14px;color:var(--accent);font-size:13px}.group-name{font-size:13px;font-weight:800}.group-count{font-size:10px;color:var(--faint)}.asset-group-header .quiet-button{margin-left:auto}.asset-group-body{border-top:1px solid var(--line)}.asset-row{display:flex;align-items:center;gap:12px;padding:12px 13px;border-bottom:1px solid var(--line)}.asset-row:last-child{border-bottom:0}.asset-row-copy{min-width:0;flex:1}.asset-row-name{font-size:12px;font-weight:750}.asset-row-prompt{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-row-edit{border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:700}.count-label{padding-top:8px;color:var(--muted);font-size:12px;font-weight:700}.gallery-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.gallery-toolbar .outline-button,.gallery-toolbar .danger-button{min-height:34px}.select-all{display:flex;align-items:center;gap:7px;margin-right:auto;color:var(--muted);font-size:11px}.select-all input{width:16px;height:16px;accent-color:var(--accent)}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.gallery-card.selected{border:2px solid var(--accent)}.gallery-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--surface-2);cursor:pointer}.gallery-check{position:absolute;z-index:1;left:8px;top:8px;width:18px;height:18px;accent-color:var(--accent)}.gallery-info{padding:9px}.gallery-info strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-info small{display:block;margin-top:4px;color:var(--faint);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-delete{border:0;background:transparent;color:var(--danger);font-size:10px;padding:4px 0}.empty-state{padding:65px 20px;text-align:center;color:var(--faint)}.empty-state span{font-size:42px;color:#a8b9dd}.empty-state h2{margin:12px 0 5px;color:var(--text);font-size:16px}.empty-state p{margin:0;font-size:11px}.settings-section{max-width:720px;margin:0 auto 18px}.setting-card{padding:17px}.setting-card .field{margin-bottom:13px}.remember-key{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.remember-key input{width:16px;height:16px;accent-color:var(--accent)}.remember-key small{color:var(--faint);font-size:10px}.full-button{width:100%;margin-top:13px}.api-status{margin-top:12px;padding:10px 11px;border-radius:9px;font-size:11px;line-height:1.45}.api-status.idle{background:var(--surface-2);color:var(--muted)}.api-status.ok{background:var(--success-soft);color:var(--success)}.api-status.error{background:var(--danger-soft);color:var(--danger)}.account-info{margin-top:8px;padding:10px 11px;border:1px solid #b7d9c4;border-radius:9px;color:var(--success);font-size:11px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.setting-row strong{display:block;font-size:12px}.setting-row p{margin:5px 0 0;color:var(--faint);font-size:10px;line-height:1.4}.info-row{display:flex;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid var(--line);font-size:12px}.info-row b{color:var(--success)}.bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;height:76px;display:grid;grid-template-columns:repeat(4,1fr);padding:6px max(16px,calc((100vw - 620px)/2)) max(6px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(16px)}.nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;border-radius:11px;color:var(--faint);font-weight:700}.nav-button span{font-size:18px;line-height:1}.nav-button small{font-size:10px}.nav-button.active{color:var(--accent);background:var(--accent-soft)}.sheet-backdrop{position:fixed;z-index:50;inset:0;display:flex;align-items:flex-end;background:rgba(27,38,51,.38)}.bottom-sheet{width:100%;max-height:88vh;overflow:auto;padding:12px 18px 24px;background:var(--surface);border:1px solid var(--line);border-radius:22px 22px 0 0;box-shadow:0 -20px 70px rgba(38,52,70,.22)}.tall-sheet{max-height:92vh}.sheet-handle{width:42px;height:4px;margin:0 auto 18px;border-radius:99px;background:var(--line-strong)}.sheet-heading{margin-bottom:14px}.sheet-heading h2{font-size:18px;margin:0}.queue-summary{padding:11px 12px;margin-bottom:10px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:11px}.queue-list{display:flex;flex-direction:column;gap:7px;max-height:43vh;overflow:auto}.queue-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.queue-index{width:20px;color:var(--faint);font-size:10px}.queue-copy{min-width:0;flex:1}.queue-copy strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-copy small{display:block;margin-top:3px;color:var(--faint);font-size:9px}.queue-state{color:var(--faint);font-size:9px}.queue-state.running{color:var(--accent)}.queue-state.done{color:var(--success)}.queue-state.failed{color:var(--danger)}.queue-actions{display:flex;gap:8px;margin-top:15px}.queue-actions>*{flex:1}.asset-picker-list{display:flex;flex-direction:column;gap:7px;max-height:54vh;overflow:auto}.picker-item{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.picker-item input{width:17px;height:17px;accent-color:var(--accent)}.picker-item strong{font-size:11px}.picker-prompt{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4}.sheet-footer{padding-top:12px}.toast{position:fixed;z-index:80;left:50%;bottom:96px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 14px;border-radius:9px;background:#1f2933;color:#fff;font-size:11px;line-height:1.45;box-shadow:var(--shadow);white-space:nowrap}.toast.error{background:#7d2733}.toast.ok{background:#216b4c}@media(min-width:760px){.bottom-nav{left:50%;right:auto;width:520px;transform:translateX(-50%);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0}.bottom-sheet{max-width:650px;margin:0 auto;border-radius:22px 22px 0 0}}@media(max-width:900px){.create-layout{grid-template-columns:1fr}.preview-panel{position:relative;top:auto}.preview-frame{min-height:260px}.preview-frame img{max-height:500px}}@media(max-width:560px){.main-area{padding:23px 14px 30px}.topbar{padding:0 14px}.brand small{display:none}.save-state{display:none}.screen-heading{margin-bottom:17px}.screen h1{font-size:24px}.model-select-wrap{width:157px}.model-select-wrap select{font-size:10px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.prompt-card,.card:not(.settings-card):not(.optional-card){padding:14px}.settings-card summary,.optional-card summary{padding:14px}.settings-body{padding:0 14px 14px}.asset-target-row{grid-template-columns:1fr}.asset-target-row .outline-button{width:100%}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-toolbar{align-items:stretch}.gallery-toolbar .outline-button,.gallery-toolbar .danger-button{flex:1}.select-all{width:100%;margin-right:0}.generate-dock{bottom:82px}.generate-dock>div{max-width:47%}.generate-dock span{white-space:normal}.preview-frame{min-height:230px}.toast{white-space:normal;text-align:center}.character-summary-copy small{max-width:30vw}}
.reference-mode-panel{display:none;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.reference-mode-panel.active{display:block}
.ref-title{font-size:12px;font-weight:800;color:var(--text)}
.reference-loading{width:75px;height:75px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:10px;color:var(--faint);font-size:9px;text-align:center}
:root{--bg:#0d1117;--surface:#151b23;--surface-2:#1b232d;--surface-3:#222d39;--line:#2b3744;--line-strong:#425160;--text:#f1f5f7;--muted:#a9b6c2;--faint:#788794;--accent:#8bd8c2;--accent-soft:rgba(139,216,194,.12);--success:#8bd8b2;--success-soft:rgba(91,190,137,.14);--danger:#ff9da8;--danger-soft:rgba(255,104,120,.14);--shadow:0 16px 42px rgba(0,0,0,.34)}html,body{background:var(--bg);color:var(--text)}.topbar,.bottom-nav,.generate-dock{background:rgba(13,17,23,.94)}.brand{color:#d5fff3}.preview-frame{background:linear-gradient(135deg,#111923,#1b2632)}.settings-note{color:#b4e8da}.batch-card{border-color:#3d655d}.sequence-chip{border-color:#3d655d;color:#b4e8da}.switch{background:#3a4652}.switch:after{background:#f5fbfa}.primary-button:hover,.primary-small-button:hover{background:#65bfa7;color:#07120f}.danger-button:hover{background:rgba(255,104,120,.22)}
.generate-dock .primary-button{background:#8bd8c2!important;color:#07120f!important;border-color:#c2ffef!important;font-weight:900;box-shadow:0 8px 24px rgba(139,216,194,.22)}.generate-dock .primary-button b{color:#07120f!important;opacity:.72}.generate-dock .primary-button:hover{background:#b5ffe9!important;color:#07120f!important}.json-input-card{margin-bottom:13px}.json-textarea{min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}
