:root{--font:"HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei UI", "Segoe UI", system-ui, sans-serif;--font-num:"Bahnschrift", "DIN Alternate", "Roboto Condensed", "Segoe UI", system-ui, sans-serif;--r-ctl:8px;--r-card:12px;--r-print:8px;--r-modal:16px;--controls-w:clamp(336px, 23vw, 480px);--side-w:clamp(300px, 21.5vw, 440px);--bar-h:56px}:root,:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0b0b0d;--panel:#141416;--panel-2:#1c1c1f;--panel-3:#262629;--line:#ffffff12;--line-strong:#ffffff26;--ink:#f1f0ed;--ink-2:#a9a9ae;--ink-3:#84848b;--accent:#3fd9cb;--accent-hi:#66e8dc;--accent-ink:#031a18;--accent-soft:#3fd9cb1f;--accent-ring:#3fd9cb6b;--danger:#ff7a70;--print-edge:#ffffff17;--canvas-ink:#efeeeb;--canvas-ink-2:#a9a9ae;--overlay:#000000a8;--shadow-tile:0 1px 0 #ffffff0a inset, 0 18px 36px -18px #000000e6;--shadow-pop:0 28px 70px -18px #000c, 0 0 0 1px #ffffff12;--stage-glow:radial-gradient(900px 360px at 50% -150px, #3fd9cb13, transparent 72%);--shot-bg:#18181b}:root[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f2f1ed;--panel:#fff;--panel-2:#f6f5f2;--panel-3:#ebeae6;--line:#14141817;--line-strong:#14141833;--ink:#1a1a1c;--ink-2:#4f4f55;--ink-3:#6d6d73;--accent:#087c76;--accent-hi:#088078;--accent-ink:#fff;--accent-soft:#087c761a;--accent-ring:#087c7659;--danger:#c4372c;--print-edge:#1414181f;--canvas-ink:#1f1f21;--canvas-ink-2:#55555b;--overlay:#14141880;--shadow-tile:0 1px 2px #1414181a, 0 18px 34px -18px #14141866;--shadow-pop:0 28px 70px -20px #14141873, 0 0 0 1px #14141814;--stage-glow:none;--shot-bg:#e4e3df}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#80808861 transparent;margin:0}html,body{height:100%}body{font:14px/1.5 var(--font);color:var(--ink);background:var(--panel);-webkit-font-smoothing:antialiased;overflow:hidden}::selection{background:var(--accent-soft);color:var(--ink)}#root{flex-direction:column;height:100%;display:flex}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}a{color:inherit}img{display:block}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:.01em}.icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.grow{flex:1}.bad{color:var(--danger)}.mobile-only{display:none}.link{color:var(--ink-2);text-underline-offset:3px;font-size:12px;text-decoration:underline}.link:hover:not(:disabled){color:var(--ink)}.link:disabled{opacity:.5}.link.danger{color:var(--danger)}.helper{color:var(--ink-3);margin-top:8px;font-size:12px}.helper .link{margin-left:6px}.bar{height:var(--bar-h);background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:32px;padding:0 20px;display:flex}.brand{white-space:nowrap;letter-spacing:.01em;align-items:center;gap:10px;font-size:16px;display:flex}.brand-logo{border-radius:8px;flex:none;display:block}.brand-name{font-weight:700}.brand-sub{color:var(--ink-2);margin-left:-4px;font-weight:400}.nav{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;align-self:center;gap:2px;padding:3px;display:flex}.nav button{height:30px;color:var(--ink-2);border-radius:8px;align-items:center;padding:0 14px;font-size:13.5px;transition:background .15s,color .15s;display:flex}.nav button:hover{color:var(--ink)}.nav button[aria-current=page]{background:var(--panel-3);color:var(--ink);font-weight:600;box-shadow:inset 0 1px #ffffff0f,0 1px 3px #00000040}.bar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.keychip{border:1px solid var(--line-strong);height:32px;color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 10px;font-size:13px;transition:color .15s,border-color .15s,background .15s;display:flex}.keychip:hover{color:var(--ink);border-color:var(--ink-3);background:var(--panel-2)}.keychip i{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%}.keychip[data-set=no]{border-color:color-mix(in srgb, var(--danger) 55%, transparent);color:var(--ink)}.keychip[data-set=no] i{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 18%, transparent)}.iconbtn{border-radius:var(--r-ctl);width:32px;height:32px;color:var(--ink-2);place-items:center;transition:background .15s,color .15s;display:grid}.iconbtn:hover:not(:disabled){background:var(--panel-2);color:var(--ink)}.iconbtn:disabled{opacity:.45}.shell{grid-template-columns:var(--controls-w) minmax(0, 1fr) var(--side-w);flex:1;min-height:0;display:grid}.controls{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.controls-scroll{flex:1;overflow-y:auto}.sec{border-bottom:1px solid var(--line);padding:18px 22px}.sec-h{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.sec-h h2{letter-spacing:.02em;font-size:13px;font-weight:650}.sec-h .aux{color:var(--ink-3);font-size:12px}.composer{background:var(--panel-2);border:1px solid var(--line-strong);border-radius:var(--r-card);transition:border-color .15s,box-shadow .15s}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.prompt{resize:vertical;border-radius:var(--r-card) var(--r-card) 0 0;background:0 0;border:0;width:100%;min-height:108px;padding:14px 16px 8px;line-height:1.65;display:block}.prompt:focus{outline:none}.prompt::placeholder,.text-input::placeholder{color:var(--ink-3)}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.prompt-tools{align-items:center;gap:2px;padding:4px 8px 8px;display:flex}.tool{border-radius:var(--r-ctl);height:30px;color:var(--ink-2);align-items:center;gap:6px;padding:0 10px;font-size:13px;transition:background .15s,color .15s;display:inline-flex}.tool:hover:not(:disabled){background:var(--panel-3);color:var(--ink)}.tool:disabled{opacity:.55}.prompt-tools .count{color:var(--ink-3);margin-left:auto;padding-right:6px;font-size:12px}.refs{border-radius:var(--r-ctl);flex-wrap:wrap;gap:10px;margin:-2px;padding:2px;display:flex}.refs.dragging{outline:1px dashed var(--accent)}.ref,.ref-add{border-radius:10px;flex:none;width:64px;height:64px;position:relative;overflow:hidden}.ref{outline:1px solid var(--print-edge);outline-offset:-1px}.ref-open{width:100%;height:100%;display:block}.ref img{object-fit:cover;width:100%;height:100%}.ref-remove{color:#fff;background:#000000a8;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:3px;right:3px}.ref-add{border:1px dashed var(--line-strong);color:var(--ink-3);align-content:center;place-items:center;gap:2px;font-size:11px;transition:color .15s,border-color .15s,background .15s;display:grid}.ref-add:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.chips{flex-wrap:wrap;gap:8px 6px;display:flex}.chips.scroll{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chip{border:1px solid var(--line-strong);height:32px;color:var(--ink-2);white-space:nowrap;border-radius:999px;flex:none;padding:0 12px;font-size:13px;transition:color .15s,border-color .15s,background .15s}.chip:hover{color:var(--ink);border-color:var(--ink-3)}.chip[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.models{grid-template-columns:1fr 1fr;gap:10px;display:grid}.model{text-align:left;border:1px solid var(--line-strong);border-radius:var(--r-card);min-width:0;padding:12px 14px;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.model:hover{border-color:var(--ink-3);background:var(--panel-2)}.model b{text-overflow:ellipsis;white-space:nowrap;padding-right:14px;font-size:14px;font-weight:600;display:block;overflow:hidden}.model span{color:var(--ink-2);font-size:12px}.model[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.model[aria-pressed=true] span{color:var(--ink)}.model[aria-pressed=true]:after{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent-ring);border-radius:50%;position:absolute;top:14px;right:13px}.ratios{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.ratio{height:66px;color:var(--ink-2);border:1px solid #0000;border-radius:10px;align-content:center;justify-items:center;gap:7px;font-size:12px;transition:color .15s,background .15s,border-color .15s;display:grid}.ratio:hover{background:var(--panel-2);color:var(--ink)}.ratio i{border:1.6px solid;border-radius:3px;display:block}.ratio[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.suite-list{gap:8px;padding:0;list-style:none;display:grid}.suite-list li{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;justify-content:space-between;padding:10px 14px;font-size:13px;display:flex}.suite-list li span{color:var(--ink-2)}.text-input{background:var(--panel-2);border:1px solid var(--line-strong);border-radius:var(--r-ctl);width:100%;height:38px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.text-input[aria-invalid=true]{border-color:var(--danger)}.row2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.seg{border:1px solid var(--line);background:var(--panel-2);border-radius:11px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:grid}.seg button{height:32px;color:var(--ink-2);border-radius:8px;font-weight:600;transition:background .15s,color .15s}.seg button:hover:not([aria-pressed=true]){color:var(--ink)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 1px #ffffff40}.stepper{border:1px solid var(--line);background:var(--panel-2);text-align:center;border-radius:11px;grid-template-columns:36px 1fr 36px;align-items:center;height:40px;padding:3px;display:grid}.stepper button{height:100%;color:var(--ink-2);border-radius:8px;place-items:center;display:grid}.stepper button:hover:not(:disabled){color:var(--ink);background:var(--panel-3)}.stepper button:disabled{opacity:.35}.stepper output{font-weight:600}details.adv{border-bottom:1px solid var(--line);padding:16px 22px}details.adv summary{cursor:pointer;justify-content:space-between;align-items:center;font-size:13px;font-weight:650;list-style:none;display:flex}details.adv summary::-webkit-details-marker{display:none}details.adv summary .aux{color:var(--ink-3);font-size:12px;font-weight:400}details.adv[open] summary{margin-bottom:14px}.field{color:var(--ink-2);gap:6px;margin-bottom:12px;font-size:12px;display:grid}.field-error{color:var(--danger);font-size:12px}.controls-foot{border-top:1px solid var(--line);background:var(--panel);padding:16px 22px 18px}.go{background:linear-gradient(180deg, var(--accent-hi), var(--accent));width:100%;height:52px;color:var(--accent-ink);box-shadow:0 1px 0 #ffffff59 inset, 0 12px 30px -12px var(--accent-ring);border-radius:12px;justify-content:space-between;align-items:center;padding:0 20px;font-size:15px;font-weight:650;transition:filter .15s,transform .1s,box-shadow .15s;display:flex}.go:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 1px 0 #ffffff59 inset, 0 14px 34px -10px var(--accent-ring)}.go:active:not(:disabled){transform:translateY(1px)}.go:disabled{opacity:.6}.go .num{font-size:17px}.foot-note{color:var(--ink-3);text-align:center;margin-top:10px;font-size:12px}.primary{border-radius:var(--r-ctl);background:linear-gradient(180deg, var(--accent-hi), var(--accent));height:38px;color:var(--accent-ink);padding:0 18px;font-weight:650;box-shadow:inset 0 1px #ffffff4d}.primary:hover:not(:disabled){filter:brightness(1.06)}.primary:disabled{opacity:.5}.primary.small{height:28px;padding:0 12px;font-size:13px}.canvas{background:var(--canvas) var(--stage-glow) no-repeat;color:var(--canvas-ink);min-width:0;overflow-y:auto}.canvas-in{max-width:1240px;margin:0 auto;padding:28px 36px 56px}.batch+.batch{border-top:1px solid var(--print-edge);margin-top:40px;padding-top:32px}.canvas-h{flex-wrap:wrap;align-items:center;gap:12px;min-height:36px;margin-bottom:20px;display:flex}.canvas-h h1{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:17px;font-weight:650;overflow:hidden}.canvas-h .sub{color:var(--canvas-ink-2);border:1px solid var(--print-edge);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px}.canvas-h .grow{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.cbtn{border-radius:var(--r-ctl);height:32px;color:var(--canvas-ink-2);align-items:center;gap:6px;padding:0 12px;font-size:13px;transition:background .15s,color .15s;display:inline-flex}.cbtn:hover:not(:disabled){color:var(--canvas-ink);background:#7f7f8733}.cbtn:disabled{opacity:.45}.cbtn.danger{color:var(--danger)}.modal .cbtn,.lb-info .cbtn,.library .cbtn{color:var(--ink-2)}.modal .cbtn:hover:not(:disabled),.lb-info .cbtn:hover:not(:disabled),.library .cbtn:hover:not(:disabled){background:var(--panel-3);color:var(--ink)}.library .cbtn{border:1px solid var(--line-strong)}.sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px;display:grid}.sheet.portrait{grid-template-columns:repeat(4,minmax(0,1fr))}.tile{min-width:0;container-type:inline-size}.shot{border-radius:var(--r-print);outline:1px solid var(--print-edge);outline-offset:-1px;background:var(--shot-bg);isolation:isolate;width:100%;box-shadow:var(--shadow-tile);position:relative;overflow:hidden}.shot-open{cursor:zoom-in;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.shot-open img{object-fit:cover;width:100%;height:100%}.shot-open img.pending{opacity:0}.shot-open img.reveal{animation:2s cubic-bezier(.4,0,.2,1) both develop;-webkit-mask-image:linear-gradient(#000 0 40%,#0000 60% 100%);mask-image:linear-gradient(#000 0 40%,#0000 60% 100%);-webkit-mask-size:100% 250%;mask-size:100% 250%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes develop{0%{filter:blur(28px)saturate(.25)brightness(.7);transform:scale(1.07);-webkit-mask-position:0 100%;mask-position:0 100%}to{filter:blur()saturate()brightness();transform:scale(1);-webkit-mask-position:0 0;mask-position:0 0}}.tile[data-state=queued] .shot{background:repeating-linear-gradient(135deg, transparent 0 9px, #7f7f871f 9px 10px), var(--shot-bg);outline:1px dashed var(--line-strong);box-shadow:none}.aura{pointer-events:none;background:#16161a;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.aura.out{animation:1.6s ease-out .3s both aura-out}@keyframes aura-out{to{opacity:0}}.aura i{aspect-ratio:1;background:radial-gradient(closest-side, var(--glow), transparent);border-radius:50%;display:block;position:absolute}.aura i:first-child{--glow:#3fd9cb57;width:105cqw;animation:13s ease-in-out infinite alternate drift-a;top:-14%;left:-28%}.aura i:nth-child(2){--glow:#747eff4d;width:115cqw;animation:17s ease-in-out infinite alternate drift-b;top:22%;right:-34%}.aura i:nth-child(3){--glow:#ff967c33;width:100cqw;animation:21s ease-in-out infinite alternate drift-c;bottom:-30%;left:-4%}@keyframes drift-a{0%{transform:translate(0,0)scale(.92)}to{transform:translate(38%,26%)scale(1.14)}}@keyframes drift-b{0%{transform:translate(0,0)scale(1.1)}to{transform:translate(-34%,-22%)scale(.9)}}@keyframes drift-c{0%{transform:translate(0,0)scale(.95)}to{transform:translate(30%,-30%)scale(1.18)}}.tile[data-state=running] .shot:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 42%,#ffffff13 50%,#0000 58%);animation:3.6s ease-in-out infinite glint;position:absolute;top:-10%;bottom:-10%;left:-60%;right:-60%;transform:translate(-60%)}@keyframes glint{0%{transform:translate(-60%)}70%,to{transform:translate(60%)}}.shot-wait,.shot-msg{text-align:center;color:#c9c9cd;place-content:center;justify-items:center;gap:6px;padding:12px;font-size:13px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=day] .tile[data-state=queued] .shot .shot-wait,:root[data-theme=day] .tile[data-state=queued] .shot .shot-wait .link{color:#55555b}:root[data-theme=day] .tile[data-state=queued] .shot .wait-main{color:#1f1f21}.shot-wait .wait-main{color:#ececef;font-size:14px;font-weight:600}.shot-wait .wait-main.live{color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(100deg,#a6a6ae 38%,#fff 50%,#a6a6ae 62%) 100% 0/260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;animation:2.4s linear infinite text-shine}@keyframes text-shine{0%{background-position:100% 0}to{background-position:0 0}}.shot-wait .wait-sub{color:#a9a9ae;font-size:12px}.shot-wait .link{color:#c9c9cd}.shot-msg p{max-width:36ch;line-height:1.5}.shot-msg .cbtn{color:#ececef;border:1px solid #ffffff2e}.shot-msg .cbtn:hover{background:#ffffff24}.shot-msg .bad{color:#ff9a92}.acts{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;background:#0c0c0e9e;border:1px solid #ffffff1f;border-radius:10px;gap:2px;padding:3px;transition:opacity .12s;display:flex;position:absolute;top:10px;right:10px}.shot:hover .acts,.shot:focus-within .acts{opacity:1}.acts button{color:#f4f4f6;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.acts button:hover{background:#ffffff29}.cap{color:var(--canvas-ink-2);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:baseline;column-gap:12px;padding:10px 2px 0;font-size:12px;display:grid}.cap .fn{color:var(--canvas-ink);min-width:12px;font-size:15px;font-weight:700}.cap .dim,.cap .st,.cap .pr{white-space:nowrap}.cap .dim{text-overflow:ellipsis;overflow:hidden}.cap .pr{color:var(--canvas-ink)}@container (width<=300px){.cap{grid-template-columns:auto minmax(0,1fr) auto;row-gap:2px}.cap .fn{grid-area:1/1}.cap .st{text-align:right;grid-area:1/2}.cap .pr{grid-area:1/3}.cap .dim{grid-area:2/1/auto/-1}.cap .note{grid-row:3}}.empty{max-width:640px;margin:0 auto;padding:64px 0 24px}.empty h1{letter-spacing:.01em;font-size:26px;font-weight:700}.empty>p{color:var(--canvas-ink-2);margin-top:8px;font-size:15px}.empty-key{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);border-radius:var(--r-card);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:24px;padding:14px 16px;display:flex}.empty-key span{color:var(--canvas-ink);flex:220px;font-size:13px}.starters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.starter{text-align:left;border:1px solid var(--print-edge);border-radius:var(--r-card);background:color-mix(in srgb, var(--panel) 60%, transparent);color:var(--canvas-ink);align-content:start;gap:6px;padding:16px;transition:border-color .15s,background .15s,transform .15s;display:grid}.starter:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.starter .icon{color:var(--accent);margin-bottom:6px}.starter b{font-size:14px;font-weight:650}.starter span{color:var(--canvas-ink-2);font-size:12.5px;line-height:1.55}.empty-hint{color:var(--canvas-ink-2);margin-top:20px;font-size:12.5px}.empty-hint kbd{font:inherit;font-family:var(--font-num);border:1px solid var(--print-edge);border-radius:5px;padding:1px 6px}.side{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.side-sec{border-bottom:1px solid var(--line);max-height:42%;padding:18px 20px 16px;overflow-y:auto}.side-sec h2,.hist-h h2{justify-content:space-between;align-items:baseline;font-size:13px;font-weight:650;display:flex}.side-sec h2{margin-bottom:12px}.side-sec h2 .aux{color:var(--ink-3);font-size:12px;font-weight:400}.job{border-top:1px solid var(--line);padding:12px 0}.job:first-of-type{border-top:0;padding-top:2px}.job-t{justify-content:space-between;gap:8px;font-size:13px;display:flex}.job-t span{white-space:nowrap;flex:none}.job-t b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.job-m{color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.job-m span{text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.job-m .link{white-space:nowrap;flex:none}.job-m.bad{color:var(--danger)}.prog{background:var(--panel-3);border-radius:2px;height:4px;margin-top:10px;overflow:hidden}.prog i{background:linear-gradient(90deg, var(--accent), var(--accent-hi));border-radius:2px;height:100%;transition:width .5s;display:block}.hist{flex:1;min-height:0;padding:16px 20px 24px;overflow-y:auto}.hist-h{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.day{color:var(--ink-3);margin:14px 0 8px;font-size:12px}.thumbs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.thumb{aspect-ratio:4/3;outline:1px solid var(--print-edge);outline-offset:-1px;background:var(--panel-2);border-radius:8px;transition:transform .15s,outline-color .15s;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb:hover{outline:2px solid var(--accent);outline-offset:-2px;transform:translateY(-1px)}.scrim-modal{z-index:60;background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-modal);width:min(480px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-pop);outline:none;flex-direction:column;display:flex}.modal.modal-wide{width:min(880px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 16px 14px 22px;display:flex}.modal-head h2{font-size:16px;font-weight:650}.modal-body{padding:20px 22px 22px;overflow-y:auto}.modal-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;display:flex}.lead{color:var(--ink-2);margin-bottom:16px;font-size:13px;line-height:1.7}.key-form .field{margin-bottom:14px}.key-input{align-items:center;gap:4px;display:flex}.build{color:var(--ink-3);margin-top:14px;font-size:11px}.lightbox{z-index:50;color:#ececef;background:#060608f2;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 340px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.lb-stage{touch-action:none;min-width:0;min-height:0;position:relative;overflow:hidden}.lb-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;transform-origin:50%;cursor:zoom-in;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.lb-stage img.zoomed{cursor:grab}.lb-empty{color:#a9a9ae;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.lb-nav{color:#fff;background:#ffffff14;border-radius:10px;place-items:center;width:44px;height:64px;transition:background .15s;display:grid;position:absolute;top:50%;translate:0 -50%}.lb-nav:hover{background:#ffffff2e}.lb-prev{left:12px}.lb-next{right:12px}.lb-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141416d1;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:6px;padding:5px 10px;display:flex;position:absolute;bottom:18px;left:50%;translate:-50%}.lb-bar .iconbtn,.lb-bar .cbtn{color:#d6d6da}.lb-bar .cbtn:hover:not(:disabled),.lb-bar .iconbtn:hover:not(:disabled){color:#fff;background:#ffffff1f}.lb-bar output{text-align:center;min-width:44px;font-size:13px}.lb-info{background:var(--panel);color:var(--ink);border-left:1px solid var(--line);padding:16px 20px 24px;overflow-y:auto}.lb-info-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.lb-info-head h2{font-size:16px;font-weight:650}.lb-actions{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.lb-actions .cbtn{border:1px solid var(--line-strong);justify-content:center}.lb-meta{gap:8px;font-size:13px;display:grid}.lb-meta div{grid-template-columns:64px 1fr;gap:8px;display:grid}.lb-meta dt{color:var(--ink-3)}.lb-meta dd{word-break:break-all;margin:0}.lb-prompt{margin-top:18px}.lb-prompt h3{color:var(--ink-3);margin-bottom:6px;font-size:12px;font-weight:650}.lb-prompt-title{line-height:1.6}.lb-prompt pre{font:inherit;color:var(--ink-2);background:var(--panel-2);white-space:pre-wrap;word-break:break-word;border-radius:10px;margin-top:8px;padding:12px 14px;font-size:12px;line-height:1.65}.library{background:var(--canvas) var(--stage-glow) no-repeat;min-height:0;color:var(--canvas-ink);flex:1;overflow-y:auto}.library-in{max-width:1200px;margin:0 auto;padding:28px 28px 56px}.library-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.library-head h1{font-size:22px;font-weight:700}.library-head .sub{color:var(--canvas-ink-2);margin-top:2px;font-size:13px}.search{background:var(--panel);border:1px solid var(--line-strong);width:min(340px,100%);height:38px;color:var(--ink-3);border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:none;flex:1}.library .chip{background:var(--panel)}.library .chip[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 14%, var(--panel))}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:20px;display:grid}.card{background:var(--panel);min-width:0;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-card);flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-tile);transform:translateY(-2px)}.card-art{aspect-ratio:4/3;background:var(--panel-2);display:block;overflow:hidden}.card-art img{object-fit:cover;width:100%;height:100%}.card-noimg{text-align:center;height:100%;color:var(--ink-2);place-items:center;padding:12px;display:grid}.card-body{flex-direction:column;flex:1;gap:6px;padding:12px 14px 14px;display:flex}.card-body h3{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.card-body p{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.card-foot{color:var(--ink-3);align-items:center;gap:10px;margin-top:auto;padding-top:8px;font-size:12px;display:flex}.more{text-align:center;margin-top:24px}.source,.empty-note{color:var(--canvas-ink-2);margin-top:28px}.detail{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px;display:grid}.detail:not(:has(.detail-art)){grid-template-columns:1fr}.detail-art{background:var(--panel-2);cursor:zoom-in;border-radius:10px;align-self:start;overflow:hidden}.detail-art img{width:100%;height:auto}.detail .sub{color:var(--ink-2);font-size:13px}.tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tags span{border:1px solid var(--line-strong);color:var(--ink-2);border-radius:999px;padding:2px 10px;font-size:12px}.detail-prompt{font:inherit;background:var(--panel-2);white-space:pre-wrap;word-break:break-word;border-radius:10px;max-height:40vh;margin-top:12px;padding:14px;font-size:13px;line-height:1.7;overflow-y:auto}.toast{left:50%;top:calc(var(--bar-h) + 14px);z-index:80;color:#f2f2f4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;background:#101012f0;border:1px solid #ffffff29;border-radius:12px;max-width:min(520px,100vw - 32px);padding:11px 18px;font-size:13px;transition:opacity .18s,translate .18s;position:fixed;translate:-50% -8px;box-shadow:0 16px 40px -12px #0009}.toast.show{opacity:1;translate:-50%}.toast.error{border-color:var(--danger);color:#ffb4ad}.check{z-index:2;color:#0000;opacity:0;background:#0006;border:1.5px solid #ffffffd9;border-radius:50%;place-items:center;width:24px;height:24px;transition:opacity .12s;display:grid;position:absolute;top:10px;left:10px}.shot:hover .check,.fav-art:hover .check,.canvas[data-selecting] .check,.tile[data-selected] .check,.card[data-selected] .check{opacity:1}.check:focus-visible{opacity:1}.tile[data-selected] .check,.card[data-selected] .check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tile[data-selected] .shot{outline:2px solid var(--accent);outline-offset:-2px}.card[data-selected]{border-color:var(--accent)}.acts button.on{color:var(--accent)}.acts button.on svg path{fill:currentColor}.lb-actions .cbtn[aria-pressed=true] svg path{fill:var(--accent);stroke:var(--accent)}.selbar{z-index:4;background:var(--panel);color:var(--ink);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;padding:8px max(36px,50% - 584px);display:flex;position:sticky;top:0}.selbar.inline{border:1px solid var(--line);border-radius:var(--r-card);margin:16px 0 4px;padding:6px 10px;position:static}.selbar .cbtn{color:var(--ink-2)}.selbar .cbtn:hover:not(:disabled){background:var(--panel-3);color:var(--ink)}.selbar .cbtn.danger{color:var(--danger)}.selbar-n{color:var(--ink-2);padding:0 8px;font-size:13px}.selbar-n b{color:var(--ink)}.cap .note{white-space:nowrap;text-overflow:ellipsis;color:var(--canvas-ink-2);grid-area:2/1/auto/-1;overflow:hidden}.check-row{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.check-row input{accent-color:var(--accent);width:16px;height:16px;margin:0}.nav-n{background:var(--accent-soft);color:var(--accent);border-radius:9px;margin-left:6px;padding:0 6px;font-size:11px;line-height:18px}.tabs{align-items:center;gap:18px;margin-bottom:8px;display:flex}.tabs button[role=tab]{color:var(--ink-2);border-bottom:2px solid #0000;padding:2px 0 7px;font-size:13px;font-weight:600}.tabs button[role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.notice{border:1px solid var(--print-edge);color:var(--canvas-ink-2);border-radius:10px;margin-top:4px;padding:12px 14px;font-size:13px;line-height:1.7}.fav-art{position:relative}.fav-art .shot-open{position:absolute;top:0;bottom:0;left:0;right:0}.favorites .cards{margin-top:12px}.dock,.scrim,.grab{display:none}@media (min-width:1600px){.sec{padding:22px 26px}details.adv{padding:18px 26px}details.adv summary{font-size:14px}.controls-foot{padding:18px 26px 20px}.sec-h h2,.side-sec h2,.hist-h h2{font-size:14px}.sec-h .aux,.side-sec h2 .aux{font-size:13px}.prompt{min-height:128px;padding:16px 18px 8px;font-size:15px}.tool{height:32px;font-size:14px}.prompt-tools .count,.helper,.foot-note,.field,.field-error,.job-m,.day{font-size:13px}.check-row{font-size:14px}.link{font-size:13px}.ref,.ref-add{width:72px;height:72px}.chip{height:34px;padding:0 13px;font-size:14px}.model{padding:13px 16px}.model b{font-size:15px}.model span{font-size:13px}.ratio{height:72px;font-size:13px}.text-input{height:40px}.seg button{height:36px}.stepper{grid-template-columns:40px 1fr 40px;height:44px}.go{height:56px;font-size:16px}.go .num{font-size:18px}.side-sec{padding:20px 22px 18px}.job-t{font-size:14px}.hist{padding:18px 22px 24px}.tabs button[role=tab]{font-size:14px}.thumbs{gap:10px}}@media (max-width:1180px){:root{--controls-w:304px;--side-w:252px}.canvas-in{padding:22px 22px 40px}.sheet.portrait{grid-template-columns:repeat(3,minmax(0,1fr))}.starters{grid-template-columns:1fr}}@media (max-width:980px){.shell{grid-template-columns:var(--controls-w) minmax(0, 1fr);grid-template-rows:minmax(0,1fr) auto}.controls{grid-row:1/3}.canvas{grid-row:1}.side{border-left:0;border-top:1px solid var(--line);grid-area:2/2;max-height:min(250px,30vh);overflow-y:auto}.side-sec{max-height:none}.lightbox{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width:820px){body{overflow:auto}#root{height:auto;min-height:100%;display:block}.bar{z-index:5;gap:12px;padding:0 12px;position:sticky;top:0}.nav{display:none}.keychip{padding:0 10px}.shell{padding-bottom:92px;display:block}.canvas{overflow:visible}.canvas-in{padding:16px 16px 24px}.canvas-h .sub{display:none}.sheet,.sheet.portrait{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.acts{display:none}.check{opacity:1}.selbar{padding:8px 16px}.side{border:0;max-height:none;display:flex;overflow:visible}.side-sec{max-height:none}.mobile-only{display:block}.controls{z-index:30;border:0;border-top:1px solid var(--line-strong);border-radius:18px 18px 0 0;max-height:82vh;transition:transform .24s cubic-bezier(.3,.7,.3,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.controls.open{transform:none}.grab{background:var(--line-strong);border-radius:2px;width:36px;height:4px;margin:8px auto 0;display:block}.scrim{z-index:20;background:var(--overlay);position:fixed;top:0;bottom:0;left:0;right:0}.scrim.on{display:block}.dock{z-index:10;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.dock .pbtn{text-align:left;background:var(--panel-2);border:1px solid var(--line);min-width:0;height:44px;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;flex:1;padding:0 14px;overflow:hidden}.dock .go{gap:10px;width:auto;height:44px;padding:0 16px;font-size:14px}.dock .go .num{font-size:15px}.sec{padding:16px}details.adv{padding:14px 16px}.controls-foot{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}.library{overflow:visible}.library-in{padding:16px 16px 40px}.search{width:100%;margin-left:0}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail{grid-template-columns:1fr}.lightbox{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.lb-info{border-left:0;border-top:1px solid var(--line);max-height:42vh}.lb-nav{width:36px;height:52px}.empty{padding:32px 0 16px}.empty h1{font-size:22px}}@media (prefers-reduced-motion:reduce){.shot-open img.reveal,.aura i:nth-child(n),.aura.out,.tile[data-state=running] .shot:after{animation:none}.aura.out,.tile[data-state=running] .shot:after{display:none}.shot-wait .wait-main.live{color:#ececef;-webkit-text-fill-color:currentcolor;background:0 0;animation:none}.controls,.toast,.starter,.card,.thumb{transition:none}}.ref-badge{text-align:center;color:#fff;pointer-events:none;background:#ff3d71db;padding:1px 0;font-size:10px;line-height:14px;position:absolute;bottom:0;left:0;right:0}.mask-row{align-items:center;gap:10px;margin-top:12px;display:flex}.shot[data-alpha]{background-color:#e8e8ea;background-image:linear-gradient(45deg,#c9c9cd 25%,#0000 25% 75%,#c9c9cd 75%),linear-gradient(45deg,#c9c9cd 25%,#0000 25% 75%,#c9c9cd 75%);background-position:0 0,8px 8px;background-size:16px 16px}.mask-editor .lead{margin-bottom:12px}.mask-tools{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.mask-tools .seg{width:132px}.brush-size{color:var(--ink-2);align-items:center;gap:8px;font-size:12px;display:inline-flex}.brush-size input{width:120px;accent-color:var(--accent)}.mask-wrap{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-card);justify-content:center;padding:10px;display:flex}.mask-stage{-webkit-user-select:none;user-select:none;touch-action:none;line-height:0;display:inline-block;position:relative}.mask-stage img{pointer-events:none;width:auto;max-width:100%;height:auto;max-height:min(56vh,620px);display:block}.mask-canvas{opacity:.6;cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.brush-ring{pointer-events:none;border:1.5px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000008c}.mask-editor .field-error{margin-top:10px}.lb-back{z-index:3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141416c7;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:6px;height:36px;padding:0 14px 0 8px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;top:12px;left:12px}.lb-back:hover{background:#3c3c40e6}:root[data-embedded] .bar{padding-right:148px}:root[data-embedded] .scrim-modal{padding-top:56px}:root[data-embedded] .modal{max-height:calc(100vh - 72px)}:root[data-embedded] .lb-info{padding-top:56px}@media (max-width:820px){:root[data-embedded] .bar{height:calc(var(--bar-h) + 44px);padding:44px 12px 0}:root[data-embedded] .lb-info{padding-top:14px}:root[data-embedded] .toast{top:calc(var(--bar-h) + 58px)}}
