.st-app{position:fixed;inset:0;display:grid;grid-template-rows:48px minmax(0,1fr) auto 42px;grid-template-areas:"top" "body" "tray" "pages";background:var(--bg);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.st-app button{touch-action:manipulation}html.fw-studio,html.fw-studio body,html.fw-studio #root{height:100%;overflow:hidden;overscroll-behavior:none}html.fw-studio body{position:fixed;inset:0;width:100%}.st-app{touch-action:pan-x pan-y}.st-top{grid-area:top;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--panel);min-width:0}.st-brand{font-weight:700;letter-spacing:.02em;color:var(--text);text-decoration:none}.st-title{color:var(--muted);white-space:nowrap}.st-spacer{flex:1}.st-primary{display:flex;gap:6px;align-items:center}.st-primary:empty{display:none}.st-proj{position:relative;min-width:0}.st-proj-btn{display:flex;gap:6px;align-items:center;max-width:280px}.st-proj-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-menu{position:absolute;z-index:60;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:6px;display:grid;gap:2px;min-width:240px;box-shadow:0 10px 30px #00000080}.st-menu button{background:transparent;color:var(--text);text-align:left;font-weight:500;display:flex;justify-content:space-between;gap:10px}.st-menu button:hover,.st-menu button.on{background:var(--panel)}.st-proj-menu{top:40px;left:0}.st-jobs-wrap{position:relative}.st-jobs-btn{display:flex;gap:6px;align-items:center}.st-jobs-btn.busy{border-color:var(--accent)}.st-count{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 7px;font-size:11px;font-weight:700}.st-jobs{position:absolute;right:0;top:40px;z-index:60;width:min(380px,calc(100vw - 24px));max-height:min(70vh,640px);overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:grid;gap:8px;align-content:start;box-shadow:0 12px 34px #0000008c}.st-jobs-head{display:flex;gap:8px;align-items:baseline}.st-job{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px;border-radius:6px;background:var(--panel-2)}.st-job img{width:40px;height:40px;object-fit:cover;border-radius:4px}.st-job-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);justify-self:center}.st-job.st-running .st-job-dot,.st-job.st-queued .st-job-dot{background:var(--accent)}.st-job.st-done .st-job-dot{background:var(--ok)}.st-job.st-error .st-job-dot{background:var(--err)}.st-job-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-job .bar{margin-top:4px}.st-body{grid-area:body;display:grid;grid-template-columns:236px minmax(0,1fr) 320px;min-height:0}.st-app.lib-folded .st-body{grid-template-columns:58px minmax(0,1fr) 320px}.st-lib,.st-insp{background:var(--panel);overflow-y:auto;min-height:0;overscroll-behavior:contain}.st-lib{border-right:1px solid var(--line)}.st-insp{border-left:1px solid var(--line)}.st-insp-slot{padding:12px;display:grid;gap:12px;align-content:start}.st-insp-slot:empty:before{content:"Select something on the page to see what you can do with it here.";color:var(--muted);font-size:12px}.st-work{overflow-y:auto;overflow-x:hidden;min-width:0;min-height:0;padding:14px 16px 40px;overscroll-behavior:contain}.st-sheet-head{display:none}.st-lib-list{padding:8px;display:grid;gap:2px;align-content:start}.st-lib-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px}.st-h{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.st-group-head{width:100%;display:flex;justify-content:space-between;background:transparent;color:var(--text);font-weight:600;padding:6px;border-radius:5px}.st-group-head:hover{background:var(--panel-2)}.st-group-body{display:grid;gap:1px;padding:2px 0 8px}.st-item{width:100%;display:flex;gap:8px;align-items:center;background:transparent;color:var(--text);font-weight:400;padding:5px 6px 5px 14px;border-radius:5px;text-align:left;white-space:nowrap;overflow:hidden}.st-item span:nth-child(2){overflow:hidden;text-overflow:ellipsis;flex:1}.st-item:hover{background:var(--panel-2)}.st-item img{width:24px;height:24px;object-fit:cover;border-radius:4px;flex:none}.st-item-row{display:flex;align-items:center;gap:4px}.st-item-row .st-item{flex:1;min-width:0}.st-sw{width:18px;height:18px;border-radius:4px;flex:none;background:var(--panel-2);border:1px solid var(--line)}.st-sw.stage{background:linear-gradient(135deg,#355046,#18241f)}.st-sw.pose{background:linear-gradient(135deg,#3b4a63,#1d2433)}.st-sw.motion{background:linear-gradient(135deg,#5a3b63,#241828)}.st-sw.lora{background:linear-gradient(135deg,#6b5a2e,#2a2410)}.st-sw.look{background:linear-gradient(135deg,#6a3b8a,#1a2a5a)}.st-plus{width:18px;text-align:center;color:var(--accent);font-weight:700}.st-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:2px 4px}.st-thumb{padding:0;background:#000;border:2px solid transparent;border-radius:5px;overflow:hidden;aspect-ratio:1}.st-thumb img{width:100%;height:100%;object-fit:cover;display:block}.st-thumb.is-draft{border-color:var(--warn)}.st-thumb.is-kept{border-color:var(--ok)}.st-empty{padding:4px 8px 4px 14px}.st-lib-rail{display:grid;gap:4px;padding:8px 4px;align-content:start}.st-lib-rail button{font-size:10.5px;padding:6px 2px}.st-tray{grid-area:tray;display:flex;align-items:center;gap:8px;padding:6px 12px;border-top:1px solid var(--line);background:var(--panel);overflow-x:auto}.st-tray:empty{display:none}.st-tray-pics{display:flex;gap:6px}.st-tray-pic{padding:0;width:52px;height:52px;border-radius:5px;overflow:hidden;background:#000;border:2px solid transparent;flex:none}.st-tray-pic img{width:100%;height:100%;object-fit:cover;display:block}.st-tray-pic.on{border-color:var(--accent)}.st-tray-pic.is-draft{outline:1px dashed var(--warn)}.st-pages{grid-area:pages;position:relative;display:flex;align-items:stretch;gap:2px;padding:0 10px;background:var(--panel);border-top:1px solid var(--line)}.st-page-wrap{display:flex;align-items:stretch}.st-pages button{background:transparent;color:var(--muted);border-radius:0;border-top:2px solid transparent;font-weight:600;padding:0 12px}.st-pages button.on{color:var(--text);border-top-color:var(--accent)}.st-arrow{color:var(--line);align-self:center;font-size:11px}.st-sep{width:1px;background:var(--line);margin:8px 6px}.st-studio-menu{bottom:44px;left:auto;right:10px}.st-studio-menu button{border-top:0;padding:7px 13px;color:var(--text)}.st-insp-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.st-insp-sec{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line)}.st-insp-sec h4{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.st-insp .gen-actions>*,.st-insp-sec .gen-actions>*{flex:0 0 auto}.st-insp .gen-card{margin:0}.st-insp .seg{flex-wrap:wrap}.st-insp .gen-facts,.st-insp .gen-prompt{overflow-wrap:anywhere}.st-kv{display:grid;grid-template-columns:80px 1fr;gap:4px 8px;font-size:12.5px}.st-kv span:nth-child(odd){color:var(--muted)}.st-pic{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:14px;align-items:start}.st-pic-set,.st-pic-view{display:flex;flex-direction:column;gap:12px;min-width:0}.st-pic .gen-card,.st-pic .job-tabs{margin:0}.st-result img.gen-result{max-height:62vh;width:auto;max-width:100%;display:block;margin:0 auto}.st-sub{margin-top:8px}.st-work .seg{flex-wrap:wrap}.st-pic-set>*,.st-pic-view>*{min-width:0}.st-frame .seg.aspects{flex-wrap:wrap}.st-stage .stage3d{position:static;inset:auto;z-index:auto;padding:0;background:transparent;overflow:visible}.st-stage-list{display:grid;gap:12px}.st-stage-list h2,.st-cleanup h2,.st-character h2,.st-blank h2{margin:0;font-size:18px}.st-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.st-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:grid;gap:6px;text-align:left;color:var(--text);font-weight:400}.st-card .row>*{flex:0 0 auto}.st-char-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.st-character{display:grid;gap:12px}.st-char-head{display:flex;gap:14px;align-items:center}.st-char-head img{width:84px;height:84px;object-fit:cover;border-radius:10px}.st-angles{display:flex;gap:6px;flex-wrap:wrap}.st-angles img{width:64px;height:64px;object-fit:cover;border-radius:6px}.st-figure-checks{display:flex;flex-direction:column;gap:10px;margin:8px 0 14px}.st-figure-checks figure{margin:0}.st-figure-checks img{width:100%;max-width:960px;border-radius:6px;display:block}.st-face-ctl{display:flex;flex-direction:column;gap:6px;margin-top:6px}.st-face-row{display:flex;flex-wrap:wrap;gap:6px}.st-face-row figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:2px}.st-face-row img{width:72px;height:72px;object-fit:cover;border-radius:6px}.st-face-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;max-height:320px;overflow-y:auto}.st-face-pick button{padding:0}.st-face-pick img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;display:block}.st-figure-ctl{display:flex;flex-direction:column;gap:6px;margin-top:6px}.st-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.st-step{display:grid;gap:4px;justify-items:start;text-align:left;background:var(--panel);color:var(--text);font-weight:400;border:1px solid var(--line);border-radius:var(--radius);padding:10px}.st-step.on{border-color:var(--accent)}.st-step.later{border-style:dashed}.st-project-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.st-project-name{font-weight:700;font-size:16px}.st-subs{flex-wrap:wrap}.st-subs button{display:flex;gap:6px;align-items:center}.st-blank{display:grid;gap:10px;padding:24px 4px;max-width:560px}.st-blank p{margin:0}.st-cleanup{display:grid;gap:12px;max-width:900px}.st-cleanup p{margin:0}.st-total{font-size:18px}.st-clean-sample{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}.st-clean-sample img{width:72px;height:72px;object-fit:cover;border-radius:5px}.st-modal-back{position:fixed;inset:0;z-index:70;background:#05070aa6;display:grid;place-items:center;padding:12px}.st-modal{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px;width:min(780px,100%);max-height:100%;overflow-y:auto;display:grid;gap:12px}.st-modal-head{display:flex;justify-content:space-between;align-items:center;font-size:16px}.st-modal .panel{margin:0;max-width:none!important}.st-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:8px}.st-kind{display:grid;gap:4px;text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line);font-weight:400;white-space:normal;padding:10px}.st-kind.on{border-color:var(--accent);background:var(--panel-2)}.st-kind span{color:var(--muted);font-size:12px}.st-phone-only{display:none!important}@media(max-width:1250px){.st-pic{grid-template-columns:minmax(0,1fr)}.st-pic-view{order:-1}.st-body{grid-template-columns:210px minmax(0,1fr) 280px}}@media(max-width:760px){.st-phone-only{display:inline-flex!important}.st-desk-only,.st-title,.st-brand{display:none!important}.st-top{gap:4px;padding:0 6px}.st-top button{padding:4px 7px;font-size:12.5px}.st-proj-btn{max-width:28vw}.st-body,.st-app.lib-folded .st-body{grid-template-columns:minmax(0,1fr)}.st-lib,.st-insp{display:none}.st-app.sheet-library .st-lib,.st-app.sheet-inspector .st-insp{display:block;position:fixed;left:0;right:0;top:calc(48px + env(safe-area-inset-top,0px));bottom:calc(42px + env(safe-area-inset-bottom,0px));z-index:50;border:0;border-top:1px solid var(--line);border-radius:14px 14px 0 0;box-shadow:0 -12px 30px #00000080}.st-sheet-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 0}.st-work{padding:10px 10px 30px}.st-pages{overflow-x:auto;padding:0 4px}.st-pages button{padding:0 10px;white-space:nowrap}.st-arrow{display:none}.st-primary button{padding:6px 10px;max-width:36vw;overflow:hidden;text-overflow:ellipsis}.st-studio-menu{position:fixed;right:8px;bottom:calc(46px + env(safe-area-inset-bottom,0px))}.st-tray-pic{width:42px;height:42px}.st-stage .stage3d-body{grid-template-columns:1fr}}.st-versions{display:grid;gap:10px;margin:8px 0 14px}.st-version{border:1px solid var(--border, #333);border-radius:8px;padding:8px;display:grid;gap:6px;background:var(--panel)}.st-version.failed{border-style:dashed;opacity:.8}.st-version.approved{border-color:var(--ok, #3a7)}.st-check{max-width:100%;max-height:420px;object-fit:contain;justify-self:start}.st-step-item{display:grid;gap:4px;border-top:1px solid var(--border, #333);padding-top:6px}.st-item-files{display:flex;flex-wrap:wrap;gap:6px}.st-item-files figure{margin:0;padding:3px;border:2px solid transparent;border-radius:6px;cursor:pointer;display:grid;justify-items:center}.st-item-files figure.on{border-color:var(--accent)}.st-item-files img{width:180px;height:180px;object-fit:contain;background:#111}.st-step-run{display:grid;gap:6px;margin-top:8px}.st-chats{display:grid;gap:6px}.st-chat-row{display:grid;justify-items:start;text-align:left;gap:2px}.st-chat-row.on{border-color:var(--accent)}.st-chat{display:grid;gap:8px;border:1px solid var(--border, #333);border-radius:8px;padding:8px;background:var(--panel)}.st-chat-log{display:grid;gap:8px;max-height:70vh;overflow-y:auto;padding-right:4px}.st-msg{display:grid;gap:4px;padding:6px 8px;border-radius:8px;max-width:92%}.st-msg.claude{background:#788cff1a;justify-self:start}.st-msg.user{background:#78ffa01a;justify-self:end}.st-msg.app{justify-self:center}.st-msg.ask,.st-msg.permission,.st-msg.verdict_request,.st-msg.lesson{border:1px solid var(--accent)}.st-msg-text{white-space:pre-wrap}.st-msg-pics{display:flex;flex-wrap:wrap;gap:6px}.st-msg-pics img{width:220px;max-height:220px;object-fit:contain;background:#111;border-radius:4px}.mono{font-family:monospace;word-break:break-all}.st-char-tabs{gap:6px;margin:4px 0 10px}.st-review-nav{gap:6px;flex-wrap:wrap;align-items:center}.st-review-nav button.on{border-color:var(--accent)}.st-claude-says{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.st-review img.gen-result{max-height:46vh}.st-work:has(.st-character.chat-mode){overflow:hidden;display:flex;flex-direction:column;padding-bottom:8px}.st-character.chat-mode{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.st-character.chat-mode .st-chat-wrap{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.st-character.chat-mode .st-chat{flex:1;min-height:0;display:flex;flex-direction:column}.st-character.chat-mode .st-chat-log{flex:1;min-height:0;max-height:none}.st-chat,.st-chat-log,.st-chat-wrap{min-width:0}.st-chat-log{grid-template-columns:minmax(0,1fr);overscroll-behavior:contain}.st-chat-head{display:flex;gap:6px;align-items:center;min-width:0}.st-chat-goal{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-chat-input{display:flex;gap:6px;align-items:flex-end}.st-chat-input textarea{flex:1;min-width:0}.st-msg{min-width:0;overflow-wrap:anywhere}.st-msg.tool{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.st-msg-pics img{width:min(220px,100%)}@media(max-width:760px){.st-character.chat-mode .st-char-head{display:none}.st-msg{max-width:100%}.st-chat{padding:6px}.st-char-tabs button{padding:6px 8px}}.st-char-tabs{flex-wrap:nowrap}.st-char-tabs button{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-lib-head-r{display:flex;gap:2px;align-items:center}.st-chips{display:flex;flex-wrap:wrap;gap:4px;padding:2px 4px 6px}.st-chips button{padding:2px 8px;min-height:0;font-size:12px;font-weight:400;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:999px}.st-chips button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.st-thumb{position:relative}.st-thumb-n{position:absolute;right:3px;bottom:3px;font-size:10px;line-height:1;padding:2px 4px;border-radius:4px;background:#000000b3;color:#fff}.st-app .lib-bar{left:50%;width:min(900px,calc(100% - 24px));bottom:calc(54px + env(safe-area-inset-bottom,0px))}@media(max-width:700px){.st-app .lib-bar{left:8px;right:8px;width:auto;transform:none}.st-app .lib-bar select{flex:1 1 140px;min-width:0}}.lib-viewer-box{position:relative}.lib-viewer-x{display:none}@media(max-width:900px){.lib-viewer-x{display:block;position:absolute;top:calc(8px + env(safe-area-inset-top,0px));right:8px;z-index:2;width:40px;height:40px;padding:0;border-radius:50%;background:#0009;color:#fff;font-size:22px;line-height:1}}.st-step-detail{display:grid;gap:8px;padding:12px;margin:4px 0 6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);max-width:760px}.st-step-detail h4{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.st-step-detail .gen-actions>*{flex:0 0 auto}.st-char-manage{display:grid;gap:10px}.st-char-manage .field>span:first-child{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.st-char-manage input[type=text],.st-char-manage input[type=number],.st-char-manage textarea,.st-char-manage select{width:100%}.st-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.st-tag{display:inline-flex;align-items:center;gap:2px;padding:0 0 0 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);font-size:12.5px}.st-tag button{min-height:0;padding:0 7px}.st-tags input{flex:1;min-width:120px;width:auto!important}.st-fold{border-top:1px solid var(--line);padding-top:8px}.st-fold>summary{cursor:pointer;font-weight:600}.st-fold-body{display:grid;gap:8px;padding-top:8px}.st-body-pic{max-width:160px;border-radius:6px}.st-new-char{display:grid;gap:6px}.st-new-char>button:not(.st-item){justify-self:start}.st-new-char-body{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.st-faceless{padding:6px 0;border-bottom:1px solid var(--line)}.st-faceless .spacer{flex:1}.st-lib-sub>summary{cursor:pointer;padding:4px 6px}.st-group-top{display:flex;align-items:center;gap:2px}.st-group-top .st-group-head{flex:1}.st-lib-sub{margin:2px 0 2px 10px}.st-lib-sub>summary{cursor:pointer;padding:4px 6px;list-style-position:inside}.st-library{display:grid;gap:4px;align-content:start}.st-folder-list{display:grid;gap:6px}.st-folder-sec{display:grid;gap:2px}.st-folder-row{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;border:1px solid transparent}.st-folder-row:hover{background:var(--panel-2)}.st-folder-row.picked{border-color:var(--accent)}.st-folder-name{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;background:transparent;color:var(--text);font-weight:400;padding:4px 2px;text-align:left}.st-folder-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.st-folder-move{width:auto;max-width:46px;padding:2px 4px}.st-folder-row .danger-text{color:var(--err)}.st-goes{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.st-goes select{width:auto;max-width:100%;flex:1 1 200px}.st-lib-album{width:calc(100% - 8px);margin:0 4px 6px}.st-picker{display:grid;gap:6px}.st-picker>select{width:auto;max-width:100%;justify-self:start}.st-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;max-height:60vh;overflow-y:auto}.st-picker-grid button{padding:0;border-radius:6px;overflow:hidden}.st-picker-grid img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block}.st-picker-look{position:fixed;inset:0;z-index:60;background:#000000e0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px}.st-picker-look img{max-width:100%;max-height:calc(100% - 80px);object-fit:contain;border-radius:6px}.st-face-to{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.st-face-to select{width:auto;max-width:100%}.st-top>*{flex-shrink:0}.st-top .st-proj-btn,.st-top .st-proj{flex-shrink:1;min-width:0}.st-proj-btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-viewer-pic{overflow:hidden}@media(max-width:760px){.st-primary{min-width:0;flex-shrink:1}.st-primary button{max-width:30vw;white-space:nowrap}.st-folder-name{flex-basis:110px}.st-folder-name b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.st-folder-row button.tiny{padding:4px 9px}.lib-viewer-pic img{max-height:55vh}}.st-proj-name{min-width:0}:root{--bg: #0f1115;--panel: #171a20;--panel-2: #1d2128;--line: #2a2f38;--text: #e6e8ec;--muted: #9aa3b2;--accent: #6aa8ff;--accent-ink: #0b1a2e;--ok: #5cc98a;--warn: #e8b454;--err: #ff7a7a;--radius: 8px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app{display:grid;grid-template-columns:250px 1fr;height:100%}.sidebar{border-right:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.sidebar h1{font-size:17px;margin:0 0 6px;letter-spacing:.02em}.sidebar .item{padding:7px 9px;border-radius:6px;cursor:pointer;color:var(--muted);border:1px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .item:hover{background:var(--panel);color:var(--text)}.sidebar .item.active{background:var(--panel-2);color:var(--text);border-color:var(--line)}.sidebar .spacer{flex:1}.main{overflow-y:auto;padding:18px 22px 90px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);cursor:pointer;display:flex;gap:8px;align-items:center;color:var(--muted)}.tab.active{color:var(--text);border-color:var(--accent)}.chip{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.chip.approved{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.chip.draft{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.chip.stale{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.chip.refused{color:var(--err);border-color:color-mix(in srgb,var(--err) 50%,transparent)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px}.panel-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.panel-head h2{font-size:16px;margin:0}.panel-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:12px}label.field{display:block;margin-bottom:10px}label.field>span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}input[type=text],input[type=number],input[type=password],select,textarea{width:100%;background:#0c0e12;border:1px solid var(--line);border-radius:6px;padding:7px 9px}textarea{resize:vertical;min-height:60px}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1 1 160px}.check{display:flex;gap:6px;align-items:center;cursor:pointer}button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:7px 13px;font-weight:600;cursor:pointer;white-space:nowrap}button.ghost{background:transparent;color:var(--text);border:1px solid var(--line);font-weight:500}button.ghost:hover{border-color:var(--muted)}button.danger{background:transparent;color:var(--err);border:1px solid color-mix(in srgb,var(--err) 40%,transparent);font-weight:500}button.tiny{padding:2px 8px;font-size:12px}button:disabled{opacity:.45;cursor:default}.banner{border-radius:6px;padding:9px 12px;margin-bottom:12px;border:1px solid var(--line);background:var(--panel-2)}.banner.warn{border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.banner.err{border-color:color-mix(in srgb,var(--err) 50%,transparent);color:var(--err)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.card.selected{border-color:var(--ok)}.card .thumb{aspect-ratio:16 / 9;background:#000;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;text-align:center;padding:0}.card .thumb img{width:100%;height:100%;object-fit:contain;display:block}.card .body{padding:10px;display:flex;flex-direction:column;gap:6px;flex:1}.shot{display:grid;grid-template-columns:300px 1fr;gap:14px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:12px}.shot .thumb{aspect-ratio:16 / 9;background:#000;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;text-align:center;padding:8px}.shot .thumb img{width:100%;height:100%;object-fit:contain}.shot .id{font-weight:700}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:220px}.shot{grid-template-columns:1fr}}.refs{display:flex;gap:8px;flex-wrap:wrap}.ref{position:relative;width:96px;border:2px solid var(--line);border-radius:6px;overflow:hidden;cursor:pointer;background:#000}.ref.on{border-color:var(--ok)}.ref img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.entry{border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:10px;background:var(--panel-2)}.beat{display:grid;grid-template-columns:28px 1fr 1fr auto;gap:10px;align-items:start;margin-bottom:8px}.beat .n{color:var(--muted);padding-top:8px;text-align:right}@media(max-width:900px){.beat{grid-template-columns:1fr}}.jobs{position:fixed;right:16px;bottom:16px;width:340px;display:flex;flex-direction:column;gap:8px;z-index:10}.job{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;box-shadow:0 6px 20px #0006}.job.error{border-color:color-mix(in srgb,var(--err) 60%,transparent)}.bar{height:5px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:6px}.bar>div{height:100%;background:var(--accent);transition:width .4s}.job .x{float:right;cursor:pointer;color:var(--muted)}.total{font-variant-numeric:tabular-nums}.total.off{color:var(--warn)}table.roles{width:100%;border-collapse:collapse}table.roles td,table.roles th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.quality{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.qopt{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);cursor:pointer}.qopt.on{border-color:var(--accent)}.qopt input{display:none}.steps{display:flex;flex-direction:column;gap:4px}.step{display:grid;grid-template-columns:18px 130px 1fr;gap:8px;align-items:baseline}.step .icon{color:var(--muted)}.step.running .icon,.step.running b{color:var(--accent)}.step.done .icon{color:var(--ok)}.step.error .icon,.step.error b{color:var(--err, #e86a6a)}.step.skipped b{color:var(--muted);font-weight:500}.score{font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--line);font-variant-numeric:tabular-nums}.score.pass{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.score.fail{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.takes{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.takes .take{position:relative;width:70px;border:2px solid var(--line);border-radius:4px;overflow:hidden;cursor:pointer}.takes .take.on{border-color:var(--ok)}.takes .take img{width:100%;display:block}.takes .take span{position:absolute;right:2px;bottom:2px;font-size:10px;background:#000000b3;padding:0 4px;border-radius:3px}.scene-head{margin:16px 0 8px;display:flex;gap:10px;align-items:baseline}.scene-head h3{margin:0;font-size:15px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg button{border-radius:0;background:transparent;color:var(--muted);font-weight:500;padding:5px 12px}.seg button.on{background:var(--accent);color:var(--accent-ink)}.lines{display:flex;flex-direction:column;gap:4px;margin-top:6px;align-items:flex-start}.lines .line{display:grid;grid-template-columns:120px 1fr auto;gap:6px;width:100%}.voice .field{min-width:110px}.dialogue-line{display:grid;grid-template-columns:44px 90px 1fr 120px 240px;gap:8px;align-items:center;margin-bottom:4px}.project-title{font-size:13px;color:var(--muted);margin-bottom:6px}.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.tab{flex:0 0 auto}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line);flex:0 0 auto}.dot.approved,.dot.done,.check-row.ok .dot,.service.up .dot{background:var(--ok)}.dot.draft,.dot.running,.dot.paused{background:var(--accent)}.dot.stale,.dot.interrupted,.check-row.warn .dot{background:var(--warn)}.dot.error,.check-row.fail .dot{background:var(--err)}.dot.none{background:transparent;border:1px solid var(--line)}.sidebar .item .when{display:block;font-size:11px;color:var(--muted);opacity:.7}.stage-list{display:flex;flex-direction:column}.stage-row{display:grid;grid-template-columns:14px 110px 1fr;gap:8px;align-items:center;padding:6px 4px;border-radius:6px;cursor:pointer}.stage-row:hover{background:var(--panel-2)}.group-title{font-size:13px;color:var(--muted);font-weight:600;margin:14px 0 8px;text-transform:uppercase;letter-spacing:.05em}.entry.compact{padding:8px 12px;margin-bottom:6px}.ok-text{color:var(--ok)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;align-items:start}.settings-grid .wide{grid-column:1 / -1}.setting .help{display:block;margin-top:3px}.setting.changed>span:first-child,.check.setting.changed{color:var(--accent)}label.check.setting{flex-wrap:wrap;margin-bottom:8px}label.check.setting .help{flex-basis:100%;margin:0 0 0 22px}button.linkish{background:none;border:0;padding:0 0 0 6px;color:var(--accent);font-weight:500;text-decoration:underline}.savebar{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;padding:10px 14px;margin:0 -4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);z-index:5}.services{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.service{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.service.down .dot{background:var(--warn)}.checks{margin-top:12px;display:flex;flex-direction:column;gap:3px}.check-row{display:grid;grid-template-columns:12px 170px 1fr;gap:8px;align-items:baseline}.role-card{display:grid;grid-template-columns:220px 1fr;gap:6px 14px;align-items:start}.role-card .wide{grid-column:2}.role-card select.add-fallback{color:var(--muted);border-style:dashed;padding:4px 9px}@media(max-width:900px){.role-card{grid-template-columns:1fr}.role-card .wide{grid-column:1}}.topbar{display:flex;align-items:center;gap:8px}.topbar h1{flex:1}.nav-toggle{display:none}.nav-body{display:contents}.login{min-height:100%;display:grid;place-items:center;padding:16px}.login form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:6px}.login h1{font-size:20px;margin:0 0 8px}.viewer{position:fixed;inset:0;background:#000000f0;z-index:50;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;overscroll-behavior:contain}.viewer:active{cursor:grabbing}.viewer img{position:absolute;transform-origin:0 0;max-width:none;will-change:transform;-webkit-user-drag:none}.viewer-bar{position:absolute;top:10px;right:10px;display:flex;gap:4px;align-items:center;background:#14161cd1;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px;cursor:default}.viewer-bar button{min-width:36px;height:36px;padding:0 10px;border-radius:999px;background:transparent;border:0;color:#fff;font-size:18px;line-height:1;cursor:pointer}.viewer-bar button:hover:not(:disabled){background:#ffffff1f}.viewer-bar button:disabled{opacity:.35;cursor:default}.viewer-bar .viewer-zoom{font-size:13px;min-width:52px}.viewer-count{color:#ddd;font-size:13px;padding:0 2px}.thumb img{cursor:zoom-in}.review-card .thumb{margin:4px 0}.steps-list{margin:10px 0 0;padding-left:20px}video{max-width:100%}@media(max-width:700px){html,body,#root{height:auto;min-height:100%}.app{display:block;height:auto;min-height:100%}.sidebar{position:sticky;top:0;z-index:20;background:var(--bg);max-height:none;overflow:visible;padding:max(8px,env(safe-area-inset-top)) 12px 8px;border-right:0;border-bottom:1px solid var(--line)}.sidebar h1{margin:0}.nav-toggle{display:block;max-width:62vw;overflow:hidden;text-overflow:ellipsis}.nav-body{display:none}.sidebar.open .nav-body{display:flex;flex-direction:column;gap:6px;max-height:70vh;overflow-y:auto;padding-top:8px}.sidebar .spacer{display:none}.main{overflow:visible;padding:12px 12px calc(120px + env(safe-area-inset-bottom))}.panel{padding:12px}.panel-head .actions{margin-left:0;width:100%}.shot,.beat,.role-card,.dialogue-line{grid-template-columns:1fr!important}.role-card .wide{grid-column:1}.lines .line{grid-template-columns:1fr auto}.lines .line select{grid-column:1 / -1}.check-row,.step{grid-template-columns:14px 1fr}.check-row>:last-child,.step>:last-child{grid-column:2}.services{grid-template-columns:1fr}.card[style]{width:auto!important}.jobs{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;gap:6px}.job{padding:8px 10px}.job:nth-child(n+3){display:none}.savebar{flex-wrap:wrap}}@media(pointer:coarse){button{min-height:40px;padding:8px 14px}button.tiny{min-height:34px;padding:4px 10px;font-size:13px}.tab{padding:9px 14px}input[type=text],input[type=number],input[type=password],select,textarea{font-size:16px;padding:9px 10px}input:not([type]),input[type=search],input[type=email],input[type=url],input.small,select.small,textarea.small{font-size:16px}.sidebar .item{padding:11px 10px}.stage-row{padding:10px 4px}.job .x{padding:0 6px;font-size:20px}}.gen{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr) minmax(180px,260px);gap:14px;align-items:start}.gen-side,.gen-main,.gen-history{display:flex;flex-direction:column;gap:12px;min-width:0}.gen-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.gen-card>header{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.gen-card h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex:1}.gen-card .row>*{flex:1 1 110px}.gen textarea.prompt{min-height:130px}.slider-row{display:grid;grid-template-columns:1fr 76px;gap:10px;align-items:center}input[type=range]{width:100%;accent-color:var(--accent);margin:0;height:24px}.switch{position:relative;width:38px;min-width:38px;height:22px;min-height:22px;padding:0;border-radius:999px;background:var(--line);border:0;flex:0 0 auto}.switch>span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:left .15s}.switch.on{background:var(--accent)}.switch.on>span{left:19px;background:var(--accent-ink)}.seed-row{align-items:end}.seed-row .lock{flex:0 0 auto;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.seg.aspects{display:flex;margin-top:4px}.seg.aspects button{flex:1;padding:5px 4px}.lora-list{display:flex;flex-direction:column;gap:8px}.lora-row{border:1px solid var(--line);border-radius:6px;padding:8px 10px 0;background:var(--panel-2)}.lora-row.off{opacity:.6}.lora-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.lora-head b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}select.add-lora{border-style:dashed;color:var(--muted)}.warn-text{color:var(--warn)}.triggers{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 10px}.chip-button{background:transparent;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500}.chip-button.in{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);opacity:1}.gen-go{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.gen-progress{flex:1 1 160px;min-width:0}.err-text{color:var(--err)}.gen-live .gen-result{max-height:50vh;cursor:default}.gen-match{margin:6px 0;line-height:1.6}.face-compare img{width:96px;height:96px;object-fit:cover;border-radius:6px}.switch-row{display:flex;gap:10px;align-items:flex-start}.switch-row .switch{flex:none;margin-top:2px}.gen-result{display:block;max-width:100%;max-height:70vh;margin:0 auto 8px;border-radius:6px;cursor:zoom-in}.gen-facts{margin-bottom:6px;overflow-wrap:anywhere}.gen-prompt{margin-bottom:10px;overflow-wrap:anywhere}.gen-actions>*{flex:0 1 auto}.gen-empty{padding:30px 10px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.history-item{padding:0;min-height:0;background:#000;border:2px solid var(--line);border-radius:6px;overflow:hidden;aspect-ratio:1}.history-item.on{border-color:var(--accent)}.history-item img{width:100%;height:100%;object-fit:cover;display:block}.history-item.is-face{position:relative}.history-item.is-face:after{content:"face";position:absolute;left:3px;bottom:3px;padding:0 5px;font-size:10px;line-height:16px;border-radius:4px;background:var(--accent);color:#fff}.history-item.is-draft{position:relative}.history-item.is-draft:after{content:"needs OK";position:absolute;right:3px;top:3px;padding:0 5px;font-size:10px;line-height:16px;border-radius:4px;background:var(--warn);color:#000}.draft-ok .row{margin-top:8px;flex-wrap:wrap}.tries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:8px}.try{display:flex;flex-direction:column;gap:3px;min-width:0}.try img,.try .try-blank{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;background:#000;display:block}.try .try-blank{display:grid;place-items:center;color:var(--muted);font-size:11px}.try .small{overflow-wrap:anywhere}.try.in-use img{outline:2px solid var(--accent)}.advice{border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.advice .tag-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.source-link{display:flex;gap:8px;align-items:center;margin:6px 0}.source-link img{width:56px;height:56px;object-fit:cover;border-radius:6px}.model-card .chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.model-card b{overflow-wrap:anywhere}.model-card.unusable{opacity:.75}.model-card .field{margin:4px 0 0}.job-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;margin-bottom:4px;scrollbar-width:thin}.job-tab{display:flex;align-items:stretch;flex:0 0 auto;max-width:260px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted)}button.job-tab{padding:6px 12px;cursor:pointer}.job-tab.on{border-color:var(--accent);color:var(--text);background:var(--panel-2)}.job-tab-open{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:center;text-align:left;padding:5px 4px 5px 10px;background:transparent;border:0;color:inherit;cursor:pointer;min-width:0;min-height:0}.job-no{grid-row:span 2;font-weight:600;font-size:13px;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line)}.job-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.job-state{font-size:11px;white-space:nowrap}.job-close{background:transparent;border:0;color:var(--muted);padding:0 9px;cursor:pointer;font-size:16px;min-height:0;border-left:1px solid var(--line);border-radius:0 8px 8px 0}.job-close:hover{color:var(--text);background:var(--panel-2)}.job-tab.st-working .job-state,.job-state-text.st-working{color:var(--accent)}.job-tab.st-review .job-state,.job-state-text.st-review{color:var(--warn);font-weight:600}.job-tab.st-failed .job-state,.job-state-text.st-failed{color:var(--err)}.job-tab.st-working .job-no{border-color:var(--accent)}.job-tab.st-review .job-no{background:var(--warn);color:#000;border-color:var(--warn)}.job-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}.job-head>div{flex:1 1 260px;min-width:0}.job-new-note{padding:0 2px}.job-pictures{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.job-pic{padding:0;min-height:0;width:52px;height:52px;border:2px solid var(--line);border-radius:6px;overflow:hidden;background:#000;position:relative}.job-pic.on{border-color:var(--accent)}.job-pic.is-draft{border-color:var(--warn)}.job-pic img{width:100%;height:100%;object-fit:cover;display:block}.album-bar{position:sticky;bottom:-90px;z-index:20;margin:14px -22px -90px;padding:8px 22px 10px;background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -6px 16px #00000059}.album-bar-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.album-bar-head select{width:auto;max-width:240px;padding:3px 8px}.album-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:thin}.album-empty{padding:14px 4px}.album-pic{flex:0 0 auto;width:112px;display:flex;flex-direction:column;gap:4px}.album-thumb{padding:0;min-height:0;width:112px;height:84px;border:2px solid var(--line);border-radius:6px;overflow:hidden;background:#000}.album-pic.on .album-thumb{border-color:var(--accent)}.album-pic.is-draft .album-thumb{border-color:var(--warn)}.album-thumb img{width:100%;height:100%;object-fit:cover;display:block}.album-pic-actions{display:flex;gap:2px}.album-pic-actions button{flex:1 1 auto;min-width:0;padding:0 3px;min-height:26px;height:26px;font-size:11px}.album-pic-actions .danger-text{flex:0 0 24px;color:var(--err)}.gen.in-job .gen-main>.settings-card{order:10}.gen.in-job .gen-main>.prompt-card{order:0}@media(max-width:1250px){.gen{grid-template-columns:minmax(270px,330px) minmax(0,1fr)}.gen-history{grid-column:1 / -1}}@media(max-width:700px){.gen{grid-template-columns:minmax(0,1fr)}.album-bar{bottom:0;margin:14px -12px calc(-120px - env(safe-area-inset-bottom));padding:6px 12px calc(8px + env(safe-area-inset-bottom))}.album-bar-head .small{display:none}.album-bar-head select{font-size:14px;min-height:32px}.album-pic{width:112px}.album-pic-actions button{min-height:30px;height:30px;font-size:12px}.job-tab{max-width:200px}.gen-main{order:-1}}@media(pointer:coarse){.switch{width:46px;min-width:46px;height:28px;min-height:28px}.switch>span{width:22px;height:22px}.switch.on>span{left:21px}input[type=range]{height:34px}.chip-button{min-height:34px;font-size:13px}.history-item{min-height:0}}.add-link{display:flex;gap:8px;flex-wrap:wrap}.add-link input{flex:1 1 260px}.inspection{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);display:flex;flex-direction:column;gap:8px}.inspection h3{margin:0;font-size:15px;overflow-wrap:anywhere}.inspection .chips,.key-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.inspection .banner{margin:0}.pick-file{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.key-row input{flex:1 1 200px}.download-row{display:flex;gap:10px;align-items:center;margin-top:8px}.download-row .gen-progress{flex:1}.model-card .thumb{aspect-ratio:3 / 2}.model-card .thumb img{object-fit:cover}.model-card details summary{cursor:pointer;color:var(--muted);font-size:12px}.model-card a{color:var(--accent)}.panel-head .seg{max-width:100%;overflow-x:auto}.panel-head .seg button{flex:0 0 auto}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}a.button{display:inline-flex;align-items:center;border-radius:6px;padding:7px 13px;text-decoration:none;color:var(--text);border:1px solid var(--line)}a.button:hover{border-color:var(--muted)}.gen-card details>summary{cursor:pointer;margin-bottom:8px}select.lora-target{margin-bottom:8px}.main a{color:var(--accent)}@media(pointer:coarse){a.button{min-height:40px}}.face-pick{display:flex;gap:10px;align-items:center;margin-bottom:10px}.face-pick img{width:88px;height:88px;object-fit:cover;border-radius:6px;flex:0 0 auto;cursor:zoom-in}.refused-tries{margin:8px 0}.refused-tries figure{margin:6px 0 0}.refused-tries img{width:100%;max-width:420px;border-radius:6px;cursor:zoom-in;display:block}.refused-tries figcaption{margin-top:2px}.gen-card.shut>header{margin-bottom:0}.gen-card.shut .face-summary{margin-top:8px}.card-toggle{all:unset;cursor:pointer}.card-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.face-summary{display:flex;gap:8px;align-items:center}.face-summary img{width:36px;height:36px;object-fit:cover;border-radius:4px}.tag-box{border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin-bottom:8px;background:var(--panel-2)}.tag-picked{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;min-height:26px;align-items:center}.tag-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:6px;border-top:1px solid var(--line);margin-top:6px}.tag-group>.small{flex-basis:100%}.chip-button.in{cursor:pointer}.try.picked{outline:1px solid var(--accent)}.pick-badge{margin-left:6px;padding:0 6px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:11px}.history-cell{position:relative}.history-cell .history-item{width:100%}.history-del{position:absolute;right:4px;bottom:4px;width:24px;height:24px;min-height:0;padding:0;border-radius:12px;border:1px solid var(--line);background:#000000a6;color:#fff;font-size:15px;line-height:20px}.history-del:hover{background:var(--err, #c0392b)}.edit-part{display:flex;flex-direction:column;gap:8px}.edit-stage{position:relative;align-self:center;max-width:100%;line-height:0}.edit-stage img{display:block;max-width:100%;max-height:70vh;border-radius:6px;user-select:none;-webkit-user-select:none}.edit-stage canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none;border-radius:6px}.edit-stage canvas.busy{cursor:progress}.edit-part textarea.edit-prompt{min-height:4.5em;height:auto}.characters{display:flex;flex-direction:column;gap:8px;margin:8px 0;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.characters-head{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.characters-body{display:flex;gap:10px;align-items:flex-start}.characters-map{position:relative;width:72px;flex:0 0 auto;background:#0c0e12;border:1px solid var(--line);border-radius:4px;overflow:hidden}.characters-spot{position:absolute;box-sizing:border-box;border:2px solid;border-radius:3px}.characters-spot b{position:absolute;left:2px;top:2px;min-width:14px;height:14px;border-radius:999px;display:grid;place-items:center;font-size:10px;color:#000}.characters-list{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-width:0}.character{display:flex;flex-direction:column;gap:4px}.character-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.character-top select{width:auto;max-width:100%;flex:1 1 120px}.character-num{min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;color:#000;font-size:12px}.character-words{min-height:3.2em;height:auto}.characters-foot{display:flex;flex-direction:column;gap:4px}.characters-foot select{width:auto}.characters-shared{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--warn, #e8b454);border-radius:6px}@media(max-width:700px){.characters-map{width:48px}}.heads{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.heads-stage{position:relative;align-self:center;max-width:100%;line-height:0}.heads-stage img{display:block;max-width:100%;max-height:70vh;border-radius:6px;user-select:none;-webkit-user-select:none}.heads-mark{position:absolute;padding:0;margin:0;min-width:0;min-height:0;background:transparent;border:2px dashed #fff;border-radius:8px;box-shadow:0 0 0 1px #0009;cursor:pointer;line-height:1}.heads-mark span{position:absolute;top:-12px;left:-12px;min-width:24px;height:24px;border-radius:999px;display:grid;place-items:center;font-size:13px;font-weight:700;background:#fff;color:#000}.heads-mark.face{border:2px solid var(--ok)}.heads-mark.face span,.heads-num.face{background:var(--ok);color:#06210f}.heads-mark.faceless{border:2px solid var(--warn);background:color-mix(in srgb,var(--warn) 25%,transparent)}.heads-mark.faceless span,.heads-num.faceless{background:var(--warn);color:#2a1c00}.heads-rows{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.heads-row{display:flex;gap:6px;align-items:center}.heads-row select{width:auto;max-width:100%}.heads-num{min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#fff;color:#000}.edit-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.edit-tools>span{flex:1 1 220px}.try-open{padding:0;border:0;background:none;min-height:0;cursor:pointer;display:block;width:100%}.try.shown img{outline:2px solid var(--accent)}input[type=search]{width:100%;background:#0c0e12;border:1px solid var(--line);border-radius:6px;padding:7px 9px}.projects .spacer,.filters .spacer,.lib-bar .spacer,.lib-viewer-nav .spacer{flex:1}.projects-head h2{font-size:18px}.lib-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.lib-toolbar input[type=search]{flex:1 1 240px;width:auto}.lib-toolbar select{flex:0 1 auto;width:auto}.filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.filter{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-weight:500}.filter:hover{color:var(--text);border-color:var(--muted)}.filter.on{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel))}.filter.add{border-style:dashed}.filter .muted{margin-left:4px;font-size:12px}.folder-actions{margin:-4px 0 12px}.folder-actions .linkish{margin-right:6px}.lib-day{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 8px;font-weight:600}.sidebar .item.more{font-size:12px}.sidebar .item{flex-shrink:0}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.proj-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.proj-card:hover{border-color:var(--muted)}.proj-card.menu-open{z-index:5}.proj-open{display:flex;flex-direction:column;width:100%;padding:0;background:none;color:inherit;font-weight:400;text-align:left;white-space:normal;border-radius:var(--radius);overflow:hidden}.proj-cover{position:relative;aspect-ratio:16 / 9;background:#000;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.proj-cover img{width:100%;height:100%;object-fit:cover;display:block}.proj-step{position:absolute;left:6px;bottom:6px;background:#000000b3;color:#fff;border-radius:4px;padding:1px 7px;font-size:11px}.proj-pin{position:absolute;left:6px;top:6px;font-size:13px}.proj-body{padding:9px 11px 11px;display:flex;flex-direction:column;gap:3px;min-width:0}.proj-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-about{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.proj-folder{color:var(--text)}.proj-more{position:absolute;right:6px;top:6px;background:#000000a6;color:#fff;border-color:transparent;font-size:16px;line-height:1}.pop-menu{position:absolute;right:6px;top:40px;z-index:30;min-width:210px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:6px;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 24px #00000080}.pop-menu>button{text-align:left;border-color:transparent}.pop-menu>button:hover{border-color:var(--line)}.menu-field{display:flex;flex-direction:column;gap:3px;padding:4px 6px}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.lib-card{position:relative;padding:0;aspect-ratio:1;background:#000;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:0}.lib-card:hover{border-color:var(--muted)}.lib-card.picked{border-color:var(--accent)}.lib-card img{width:100%;height:100%;object-fit:cover;display:block}.lib-card>span{position:absolute;font-size:11px;font-weight:600;border-radius:4px;padding:0 6px;background:#000000b8;color:#fff}.lib-card .lib-count{right:5px;bottom:5px}.lib-card .lib-star{left:5px;top:5px;color:var(--warn);font-size:14px}.lib-card .lib-badge{right:5px;top:5px;background:var(--warn);color:#000}.lib-card .lib-album{left:5px;bottom:5px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card .lib-check{right:5px;top:5px;width:22px;height:22px;border-radius:50%;border:2px solid #fff;padding:0;display:flex;align-items:center;justify-content:center;font-size:13px}.lib-card.picked .lib-check{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.lib-bar{position:fixed;bottom:16px;left:calc(50% + 125px);transform:translate(-50%);width:min(900px,calc(100% - 290px));z-index:15;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;box-shadow:0 6px 20px #00000080}.lib-bar select{width:auto}.lib-viewer{position:fixed;inset:0;z-index:40;background:#000000c7;display:flex;align-items:center;justify-content:center;padding:20px}.lib-viewer-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:minmax(0,1fr) 320px;width:min(1300px,100%);max-height:100%;overflow:hidden}.lib-viewer-pic{background:#000;display:flex;align-items:center;justify-content:center;min-height:0}.lib-viewer-pic img{max-width:100%;max-height:calc(100vh - 42px);object-fit:contain;display:block;cursor:zoom-in}.lib-viewer-side{padding:12px 14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:calc(100vh - 42px)}.lib-viewer-nav{display:flex;gap:6px}.lib-versions{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.lib-version{padding:0;background:none;color:var(--muted);font-weight:400;font-size:11px;white-space:normal;border:2px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.lib-version img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#000}.lib-version span{padding:2px 4px;line-height:1.3}.lib-version.on{border-color:var(--accent);color:var(--text)}button.starred{color:var(--warn)}@media(max-width:900px){.lib-viewer{padding:0;align-items:stretch}.lib-bar{left:50%;width:calc(100% - 32px)}.lib-viewer-box{grid-template-columns:1fr;border-radius:0;overflow-y:auto}.lib-viewer-pic img{max-height:60vh}.lib-viewer-side{max-height:none;overflow:visible;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}@media(max-width:700px){.proj-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.lib-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.lib-card{border-width:1px;border-radius:4px}.lib-bar{bottom:calc(8px + env(safe-area-inset-bottom));left:8px;right:8px;width:auto;transform:none}.pop-menu{left:6px;right:6px;min-width:0}}@media(pointer:coarse){input[type=search]{font-size:16px;padding:9px 10px}.filter{min-height:36px;padding:6px 12px}.lib-version,.lib-card,.proj-open{min-height:0;padding:0}}label.button{display:inline-flex;align-items:center;border-radius:6px;border:1px solid var(--line);cursor:pointer;font-weight:500;white-space:nowrap}label.button.tiny{padding:2px 8px;font-size:12px}label.button:hover{border-color:var(--muted)}label.button.busy{opacity:.6;cursor:progress}@media(pointer:coarse){label.button.tiny{min-height:34px;padding:4px 10px;font-size:13px}}.face-angles{margin:4px 0 12px;padding-top:8px;border-top:1px solid var(--line)}.angle-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;align-items:flex-start}.angle{position:relative;width:84px;display:flex;flex-direction:column;gap:2px}.angle img{width:84px;height:84px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#000}.angle-add{display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:84px;max-width:170px}.angle .history-del{top:4px;bottom:auto}.face-used{display:flex;gap:10px;align-items:center;margin:6px 0 8px}.face-used img{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line);flex:0 0 auto}.face-used img.mirrored{transform:scaleX(-1)}.lora-intro{max-width:760px;margin:0 0 12px}.lora-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:14px}.lora-set-card{display:flex;gap:10px;align-items:stretch;text-align:left;padding:0;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-weight:400;white-space:normal}.lora-set-card:hover{border-color:var(--muted)}.lora-cover{width:96px;flex:0 0 96px;background:#000;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;text-align:center}.lora-cover img{width:100%;height:100%;object-fit:cover;display:block}.lora-set-text{padding:9px 10px 9px 0;display:flex;flex-direction:column;gap:2px;min-width:0}.lora code{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:12px}.lora-head{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.lora-title{flex:1 1 320px;min-width:0}.lora-title h2{margin:0 0 2px;font-size:20px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lora-model{flex:0 1 340px;margin:0}.lora-actions{flex-wrap:nowrap}.lora-actions>*{flex:0 0 auto}.lora-advice{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:3px}.lora-advice li{padding:3px 9px;border-radius:6px;background:var(--panel);border-left:3px solid var(--line)}.lora-advice li.good{border-left-color:var(--ok)}.lora-advice li.tip{border-left-color:var(--accent)}.lora-advice li.warn{border-left-color:var(--warn)}.lora-person{display:flex;gap:10px;align-items:center;margin-bottom:10px}.lora-person img{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line);flex:0 0 auto}.lora-grid .lib-card img{object-fit:contain}.lora-grid .lib-card.out img{opacity:.38}.lora-field{margin-bottom:10px}.lora-field>span{display:block;margin-bottom:4px}.lora-add-bar .spacer{flex:1 1 auto}.lora-card .lora-badge,.lora-pick-grid .lora-badge{left:5px;right:5px;bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-card .lora-badge.warn{background:var(--warn);color:#000}.lib-card .lora-badge.wait{color:var(--muted)}.lib-card .lora-out{left:5px;top:5px}.lib-card .lora-ref{right:5px;top:5px;background:var(--ok);color:#000}.lora-later{padding:0 2px 4px}.lora-add,.lora-crop{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(1100px,100%);max-height:100%;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.lora-pick-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.lora-pick-grid .lib-card:disabled{opacity:.5;cursor:default}.lora-add-bar{position:sticky;bottom:-12px;background:var(--panel);padding:8px 0;align-items:center}.lora-add-bar>*{flex:0 0 auto}.lora-profiles{display:flex;flex-direction:column;gap:10px}.lora-profile{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lora-profile img{width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.lora-crop-stage{display:flex;justify-content:center;width:100%;background:#000;border-radius:6px;padding:6px}.lora-crop-frame{position:relative;max-height:64vh;max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.lora-crop-frame img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.lora-crop-box{position:absolute;border:2px solid var(--accent);cursor:move;touch-action:none}.lora-crop-frame{overflow:hidden}.lora-crop-dim{position:absolute;background:#0000008c;pointer-events:none}.lora-crop-handle{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid #fff;cursor:nwse-resize;touch-action:none}.lora-viewer-pic img{cursor:zoom-in}@media(pointer:coarse){.lora-crop-handle{width:28px;height:28px;right:-14px;bottom:-14px}}@media(max-width:700px){.lora-add,.lora-crop{border-radius:0;padding:10px}.lora-pick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.lora-model{flex:1 1 100%}}.lora-pick{padding:0}.lora-pick .lora-pick-img{all:unset;display:block;width:100%;height:100%;cursor:pointer}.lora-pick .lora-pick-img:disabled{cursor:default;opacity:.5}.lora-pick .lib-check{pointer-events:none}.lib-card .lora-versions{left:5px;top:5px}.lib-card .lora-preview-btn{position:absolute;left:5px;bottom:5px;padding:1px 7px;font-size:11px;font-weight:600;border-radius:4px;background:#000000b8;color:#fff;border:1px solid rgba(255,255,255,.35)}.lora-pick.lora-have .lora-preview-btn{display:none}.lora-preview{z-index:45}@media(pointer:coarse){.lib-card .lora-preview-btn{padding:4px 9px;font-size:12px;min-height:0}}.lora-words-help{margin:0 0 10px;max-width:900px}.lora-words-go{align-items:center;margin-bottom:10px}.lora-words-go progress{width:160px;vertical-align:middle;margin-left:6px}.lora-tags{margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.lora-tag-list{display:flex;flex-wrap:wrap;gap:5px}.lora-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:12px}.lora-tag .linkish{padding:0 4px;text-decoration:none;font-size:14px;color:var(--muted)}.lora-tag .linkish:hover{color:var(--err)}.lora-tag-add{flex-wrap:nowrap;max-width:520px}.lora-tag-add>button{flex:0 0 auto}.lora-words{display:flex;flex-direction:column;gap:8px}.lora-words-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:start}.lora-words-row img{width:110px;height:110px;object-fit:contain;background:#000;border-radius:6px;border:1px solid var(--line);cursor:zoom-in}.lora-words-row textarea{width:100%;min-height:70px;resize:vertical}@media(max-width:700px){.lora-words-row{grid-template-columns:80px minmax(0,1fr)}.lora-words-row img{width:80px;height:80px}}.gen-card .lora-actions>*,.gen-card .lora-tag-add>button{flex:0 0 auto}.gen-card .lora-tag-add>input{flex:1 1 200px}.lora-prompt-setup{margin-bottom:4px}.lora-prompt-setup>.field{flex:1 1 280px}.lora-prompt-group{margin-top:10px}.lora-prompt-group h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.lora-prompt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}.lora-prompt{display:flex;flex-direction:column;gap:3px;text-align:left;white-space:normal;background:var(--panel-2);color:var(--text);border:1px solid var(--line);font-weight:400;padding:7px 9px}.lora-prompt:hover:not(:disabled){border-color:var(--accent)}.lora-prompt.made{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.lora-prompt-label{font-weight:600;font-size:13px;display:flex;gap:6px;align-items:center}.lora-prompt-label:first-letter{text-transform:uppercase}.lora-prompt-text{font-size:11px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.lora-made{font-size:10px;font-weight:600;color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 50%,transparent);border-radius:999px;padding:0 6px}.lora-train-settings{margin-bottom:8px}.lora-train-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 12px;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2)}.lora-train-form .gen-actions{grid-column:1 / -1}.lora-check input{width:auto}.lora-rounds{display:flex;flex-direction:column;gap:12px;margin-top:8px}.lora-round-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.lora-samples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:760px}.lora-samples figure{margin:0;position:relative}.lora-samples img{width:100%;aspect-ratio:832 / 1216;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#000;cursor:zoom-in;display:block}.lora-samples figcaption{position:absolute;left:4px;bottom:4px}.lora-likeness{font-size:11px;font-weight:600;padding:0 6px;border-radius:999px;border:1px solid var(--line);background:#000000b3;color:var(--muted)}.lora-likeness.good{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.lora-likeness.fair{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.lora-likeness.low{color:var(--err);border-color:color-mix(in srgb,var(--err) 50%,transparent)}.characters-shot{display:flex;flex-wrap:wrap;gap:12px}.characters-pose{display:flex;flex-direction:column;gap:6px}.characters-pose-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.characters-pose-view{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.characters-pose-frame{margin:0;display:flex;flex-direction:column;gap:2px}.characters-pose-view img{height:140px;max-width:100%;border-radius:4px;border:2px solid var(--muted);background:#000}.character-height{display:inline-flex;align-items:center;gap:3px}.character-height input{width:4.2em}.characters-motion-frame{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.characters-motion-frame input[type=range]{flex:1 1 140px;min-width:120px}.grid.motions{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.motion-card{margin:0;display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px}.motion-card video{width:100%;border-radius:4px;background:#000}.motion-card figcaption{display:flex;flex-direction:column;gap:4px}.motion-actions,.motion-keep{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.motion-keep input[type=number]{width:5em}.motion-people{display:flex;flex-direction:column;gap:4px}.motion-people img{max-width:100%;border-radius:4px;background:#000;align-self:flex-start}.motion-keys{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.motion-key{padding:0;border:2px solid transparent;background:none;border-radius:6px}.motion-key.on{border-color:var(--accent)}.motion-key img{height:96px;display:block;border-radius:4px}.stage3d{position:fixed;inset:0;z-index:45;background:var(--bg);display:flex;flex-direction:column;gap:8px;padding:12px 16px;overflow-y:auto}.stage3d-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stage3d-top .spacer{flex:1}.stage3d-name{width:min(260px,50vw)}.stage3d-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.stage3d-view{display:flex;flex-direction:column;gap:6px;min-width:0}.stage3d-canvas{width:100%;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;line-height:0}.stage3d-canvas canvas{touch-action:none;display:block}.stage3d-side{display:flex;flex-direction:column;gap:8px}.stage3d-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.stage3d-figs{display:flex;gap:6px;flex-wrap:wrap}.stage3d-figs button{border-width:2px}.stage3d-slider{display:grid;grid-template-columns:9.5em 1fr 3.2em;gap:6px;align-items:center}.stage3d-slider input[type=range]{width:100%}.stage3d-preview{margin:0;background:#000;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative}.stage3d-preview img{width:100%;height:100%;object-fit:contain;display:block}.stage3d-preview figcaption{position:absolute;left:6px;bottom:2px}@media(max-width:820px){.stage3d{padding:10px 12px}.stage3d-body{grid-template-columns:1fr}}.lib-album-pick{flex:1 1 220px;width:auto;font-weight:600}
