@font-face{font-family:Noto Sans SC;src:url(/fonts/NotoSansSC-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/fonts/NotoSansSC-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:"Noto Serif SC";src:url(/fonts/NotoSerifSC-700.woff2) format("woff2");font-weight:700;font-display:swap}:root{--bg: #f7f5f1;--card: #ffffff;--card-soft: #faf8f4;--ink: #1c1b19;--dark: #3a3733;--sub: #6f6a63;--faint: #a8a29a;--line: #e8e4dc;--line-strong: #dad4c9;--brand: #8c6a4a;--brand-dark: #74563a;--brand-soft: #f3ede5;--brand-line: #e3d6c4;--accent: #c1683c;--ok: #3f7d5a;--ok-bg: #eef4ef;--ok-line: #dbe8de;--ok-dot: #5e9b7b;--run: #3b6e8f;--run-bg: #eef4f8;--run-line: #dbe8f0;--run-dot: #6b9cbe;--warn: #96601a;--warn-bg: #fbf3e7;--warn-line: #eedcc2;--warn-dot: #d2a24f;--fail: #b23a2e;--fail-bg: #fbefed;--fail-line: #f0d6d1;--fail-dot: #c96a5c;--sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;--serif: "Noto Serif SC", "Songti SC", Georgia, "Times New Roman", serif;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(28, 27, 25, .04);--sh-2: 0 4px 16px rgba(28, 27, 25, .06);--sh-float: 0 20px 60px rgba(28, 27, 25, .16);--ease: cubic-bezier(.22, .61, .36, 1);--t-fast: .16s;--t-mid: .24s;--z-mask: 80;--z-modal: 90;--z-lightbox: 100;--z-toast: 120}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--serif);font-weight:700;color:var(--ink)}.num,.tab .n,td .n{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ddd7cc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#c9c2b5}::-webkit-scrollbar-track{background:transparent}::selection{background:#e8dcc9;color:var(--ink)}.wrap{max-width:1760px;margin:0 auto;padding:14px 20px 16px;height:100vh;display:flex;flex-direction:column}.table-scroll{flex:1;min-height:0;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1)}.topbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;row-gap:6px;flex:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:5px 14px;min-height:44px;box-shadow:var(--sh-1)}.topbar .divider{width:1px;height:17px;background:var(--line);flex:none}.topbar .who{font-size:12px;color:var(--faint);letter-spacing:.02em}.logo{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--ink)}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--brand);color:#fff;font-family:var(--serif);font-size:10px;font-weight:700;letter-spacing:.05em}.uiver{font-family:var(--sans);font-size:11px;font-weight:500;color:var(--faint);letter-spacing:.04em}.spacer{flex:1}.btn{border:1px solid var(--line-strong);background:var(--card);border-radius:var(--r-sm);padding:5px 12px;cursor:pointer;font-size:12px;font-weight:500;font-family:inherit;color:var(--dark);line-height:1.5;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.btn:hover{border-color:var(--faint);background:var(--card-soft);color:var(--ink)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #8c6a4a2e;border-color:var(--brand)}.btn.primary{background:var(--brand);color:#fff;border:1px solid var(--brand)}.btn.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.btn.ghost{border-color:transparent;background:transparent;color:var(--sub)}.btn.ghost:hover{background:var(--card-soft);color:var(--ink)}.btn.icon{width:26px;height:26px;padding:0;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:14px;border-color:transparent;background:transparent;color:var(--sub)}.btn.icon:hover{background:var(--card-soft);color:var(--ink);border-color:transparent}.btn.danger{color:var(--fail);border-color:var(--fail-line)}.btn.danger:hover{background:var(--fail-bg);border-color:var(--fail);color:var(--fail)}.btn.small{padding:3px 9px;font-size:11px;border-radius:var(--r-xs);min-width:46px}.btn.small.primary{min-width:56px}.btn.warnbtn{color:var(--warn);border-color:var(--warn-line)}.btn.warnbtn:hover{background:var(--warn-bg);border-color:var(--warn)}.btn:disabled{opacity:.45;cursor:not-allowed}.switch{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--sub);cursor:pointer;-webkit-user-select:none;user-select:none}.switch .track{width:30px;height:16px;border-radius:8px;background:var(--line-strong);position:relative;transition:background var(--t-fast) var(--ease);flex:none}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left var(--t-fast) var(--ease);box-shadow:0 1px 2px #00000026}.switch.on{color:var(--brand-dark)}.switch.on .track{background:var(--brand)}.switch.on .track:after{left:16px}.filterbar{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;box-shadow:var(--sh-1);flex:none;overflow:hidden}.fbar-tabs{display:flex;align-items:center;gap:6px;padding:0 14px;min-height:42px;background:var(--card-soft);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden}.fbar-tabs::-webkit-scrollbar{height:0}.fbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}.fbarhint{font-size:11px;color:var(--faint);white-space:nowrap;cursor:default}.tab{position:relative;flex:none;cursor:pointer;display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--r-pill);font-size:12px;color:var(--sub);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease);-webkit-user-select:none;user-select:none}.tab:hover{background:#efece6;color:var(--ink)}.tab .n{margin-left:6px;font-size:14px;font-weight:500;color:var(--dark);font-variant-numeric:tabular-nums;line-height:1}.tab.on{background:var(--brand);color:#fff;font-weight:500}.tab.on:hover{background:var(--brand-dark)}.tab.on .n{color:#fff}.tab.zero{color:var(--faint)}.tab.zero .n{color:var(--faint);font-weight:400}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;row-gap:6px;padding:5px 14px;min-height:38px}.filters .vsep{width:1px;height:16px;background:var(--line);flex:none;margin:0 2px}.filters label{color:var(--faint);font-size:11px;letter-spacing:.06em;flex:none}.filters select,.filters input[type=text],.filters input[type=date]{height:27px;border:1px solid var(--line-strong);border-radius:var(--r-xs);padding:0 8px;font-size:12px;background:var(--card);color:var(--dark);font-family:inherit;flex:none;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.filters select:hover,.filters input:hover{border-color:var(--faint)}.filters select:focus,.filters input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #8c6a4a24}.filters .kw{width:150px;height:27px;padding:0 3px;border:none;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent}.filters .kw:focus{border-bottom-color:var(--brand);box-shadow:none}.filters .fsp{flex:1;min-width:8px}.aimenu{max-height:300px;overflow-y:auto;min-width:176px}th .thbtn{max-width:100%;border:1px solid transparent;background:transparent;cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:0;color:var(--faint);padding:2px 6px;border-radius:var(--r-xs);line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all var(--t-fast) var(--ease)}th .thbtn:hover{background:var(--card-soft);color:var(--ink)}th .thbtn.on{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-dark);font-weight:500}th .thbtn b{font-weight:500}th .thbtn .cw{font-style:normal;opacity:.55;margin-left:3px}.aimenu button.on{background:var(--brand-soft);color:var(--brand-dark);font-weight:500}.aimenu button.on:before{content:"✓ ";color:var(--brand)}.actbar{min-height:38px;width:100%;display:flex;align-items:center;gap:7px;padding:5px 12px;flex-wrap:wrap;row-gap:5px;background:var(--brand-soft);border-bottom:1px solid var(--brand-line);text-align:left}.actbar .sel{font-size:12px;font-weight:500;color:var(--brand-dark);white-space:nowrap}.actbar .divider{width:1px;height:16px;background:var(--brand-line);flex:none}.actbar .hint{font-size:11px;color:var(--sub);white-space:nowrap}.actbar .btn{background:#fff;border-color:var(--brand-line);color:var(--brand-dark)}.actbar .btn:hover{border-color:var(--brand);background:#fff;color:var(--brand-dark)}.actbar .btn.danger{color:var(--fail);border-color:#efd6d1}.actbar .btn.danger:hover{background:var(--fail-bg);border-color:var(--fail);color:var(--fail)}.actbar .btn.ghost{background:transparent;border-color:transparent;color:var(--sub)}.actbar .btn.ghost:hover{background:#ffffffa6;color:var(--ink)}.actbar .btn:disabled{opacity:.4}th>.aimenu-wrap{display:block;max-width:100%}th .thbtn{display:block;width:100%}table{width:100%;min-width:1390px;table-layout:fixed;border-collapse:separate;border-spacing:0;background:var(--card)}thead th{text-align:center;font-weight:500;font-size:11px;letter-spacing:.1em;color:var(--faint);background:var(--card);height:38px;padding:0 9px;border-bottom:1px solid var(--line-strong);white-space:nowrap;position:sticky;top:0;z-index:3}tbody td{height:44px;padding:0 9px;font-size:13px;vertical-align:middle;border-bottom:1px solid var(--line);color:var(--dark);text-align:center}tbody tr{transition:background var(--t-fast) var(--ease);content-visibility:auto;contain-intrinsic-size:auto 44px}tbody tr:hover td{background-color:var(--card-soft)}tbody tr:hover td:first-child{box-shadow:inset 2px 0 0 var(--brand)}tr.grow td:first-child{box-shadow:inset 2px 0 0 var(--brand-line)}tr.grow.gfirst td{border-top:1px solid var(--line)}tr.grow.glast td{border-bottom:1px solid var(--line)}.col-chk{width:34px}.col-blogger{width:110px}.col-prod{width:144px}.col-num{width:68px}.col-base{width:92px}.col-angles{width:380px}.col-real{width:96px}.col-video,.col-copy{width:100px}.col-status{width:152px}.col-ops{width:150px}.col-del{width:32px}.stmain{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;padding:0;cursor:pointer;background:transparent;color:var(--sub);border:none}.stmain:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--faint);flex:none}.stmain.run{color:var(--run)}.stmain.run:before{background:var(--run-dot)}.stmain.done{color:var(--ok)}.stmain.done:before{background:var(--ok-dot)}.stmain.fail{color:var(--fail)}.stmain.fail:before{background:var(--fail-dot)}.stsub{display:block;margin-top:3px;font-size:11px;color:var(--warn)}.stsub.bad{color:var(--fail)}.cblog{display:block;text-align:left;font-size:13px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cprod{display:block;text-align:left;font-size:13px;color:var(--ink);line-height:1.35;white-space:normal;word-break:break-word;max-height:2.7em;overflow:hidden}.dlrow{border:1px solid var(--line-strong);background:var(--card);color:var(--faint);width:18px;height:18px;border-radius:4px;cursor:pointer;font-size:11px;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:all var(--t-fast) var(--ease)}.dlrow:hover{color:var(--brand);border-color:var(--brand-line);background:var(--brand-soft)}.thumbs{overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding-bottom:2px;font-size:0}.thumbs-inner{display:inline-block;min-width:100%;text-align:center}.thumbs::-webkit-scrollbar{height:3px}.thumbs::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.thumbs .thumb,.thumbs .plus{display:inline-block;vertical-align:top;margin-right:4px}.thumbs .thumb.ph{display:inline-flex;align-items:center;justify-content:center;vertical-align:top}.thumb{width:30px;height:40px;border-radius:var(--r-xs);position:relative;cursor:pointer;border:1.5px solid transparent;overflow:hidden;flex:none;background:var(--card-soft);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb:hover{border-color:var(--brand);box-shadow:0 0 0 2px #8c6a4a24}.thumb.ph{background:var(--card-soft);border:1px dashed var(--line-strong)}.thumb.dragging{opacity:.35;border-color:var(--brand)}.thumb[draggable=true]{cursor:grab}.thumb.ph.fail{border-color:var(--fail-line);color:var(--fail);font-size:12px;flex-direction:column;gap:2px}.thumb.ph.fail .retrybtn{border:1px solid var(--fail-line);background:#fff;color:var(--fail);border-radius:var(--r-xs);font-size:10px;line-height:13px;padding:0 4px;cursor:pointer}.thumb.ph.fail .retrybtn:hover{background:var(--fail);color:#fff;border-color:var(--fail)}.spin{width:11px;height:11px;border:2px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;animation:sp 1s linear infinite;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}.plus{width:30px;height:40px;border-radius:var(--r-xs);border:1px dashed var(--line-strong);color:var(--faint);font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;background:transparent;transition:all var(--t-fast) var(--ease)}.plus:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.basethumb{display:inline-block;vertical-align:middle;width:34px;height:42px;border-radius:var(--r-xs);position:relative;cursor:pointer;border:1.5px solid transparent;overflow:hidden}.basethumb:hover{border-color:var(--brand);box-shadow:0 0 0 2px #8c6a4a24}.basethumb img{width:100%;height:100%;object-fit:cover;display:block}.basethumb.ph{background:var(--card-soft);display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:10px;border:1px dashed var(--line-strong)}.ndot{position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--fail);box-shadow:0 0 0 1.5px #ffffffe6;z-index:2}.vbox{width:76px;height:44px;border-radius:8px;position:relative;overflow:hidden;border:1px solid var(--line);background:#23211e;cursor:pointer;transition:border-color .15s,box-shadow .15s}.vbox:hover{border-color:var(--brand);box-shadow:0 0 0 2px #8c6a4a24}.vbox .mid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:10px;flex-direction:column;gap:3px}.vbox .mid .tri{width:0;height:0;border-left:12px solid #f0ece5;border-top:8px solid transparent;border-bottom:8px solid transparent}.vbox.vfail{border-color:var(--fail)}.vbox.vnone{background:var(--card-soft);border-style:dashed}.vbox.vnone:hover{border-color:var(--brand);background:var(--brand-soft)}.vbox.vwait{background:var(--card-soft);border-style:dashed;display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:11px;cursor:default}.xbtn{border:none;background:transparent;color:var(--faint);font-size:13px;cursor:pointer;padding:3px 6px;line-height:1;border-radius:var(--r-xs);opacity:.3;transition:opacity var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}tbody tr:hover .xbtn{opacity:1}.xbtn:hover{color:var(--fail);background:var(--fail-bg);opacity:1}.copyt{font-size:12px;line-height:1.5;font-weight:500;cursor:pointer}.copyt:hover{text-decoration:underline}.copywait{color:var(--faint)}.realc{font-size:12px}.realc.wait{color:var(--faint)}.realc.run{color:var(--run);font-weight:500}.realc.run .spin{margin-right:4px;vertical-align:-1px}.realc.done{color:var(--ok)}.realc.todo{color:var(--warn);font-weight:500}.realc.fail{color:var(--fail)}.pubwait{color:var(--faint);font-size:12px}.pubdone{color:var(--ok);font-size:12px;font-weight:500}.pubfail{color:var(--fail);font-size:12px}.publink{color:var(--brand);font-size:12px;font-weight:500;text-decoration:underline}.publink:hover{color:var(--brand-dark)}#tip{position:fixed;z-index:60;pointer-events:none;display:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-float);padding:10px;max-width:360px}#tip.imgtip{background:transparent;border:none;box-shadow:none;padding:0;text-align:center;max-width:none}#tip.imgtip img{height:540px;max-width:440px;object-fit:contain;border-radius:12px;display:block;margin:0 auto;background:#14141659;box-shadow:0 24px 70px #0000006b}#tip.imgtip .tcap{display:inline-block;background:#141416c7;color:#fff;border-radius:999px;padding:4px 14px;margin-top:10px;font-size:12px}#tip .tip-title{font-weight:700;font-size:13px;margin-bottom:4px;font-family:var(--serif)}#tip .tip-line{font-size:12px;color:var(--sub);line-height:1.7}#tip .tip-line.fail{color:var(--fail)}#tip .tip-sec{font-size:11px;color:var(--faint);margin:8px 0 2px;border-top:1px solid var(--line);padding-top:6px}#tip .tip-body{font-size:12px;color:var(--sub);line-height:1.8;white-space:pre-wrap;max-height:260px;overflow-y:auto}#lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#171614f0;display:none;align-items:center;justify-content:center;z-index:var(--z-lightbox);flex-direction:column;overflow:hidden}#lightbox img{border-radius:var(--r-md);box-shadow:0 24px 80px #0000008c;max-width:82vw;max-height:66vh;transition:transform .12s ease-out}#lightbox img.tall{max-height:78vh;max-width:46vw}#lightbox img.wide{max-height:50vh;max-width:84vw}#lightbox .cap{color:#f4f1eb;margin-top:16px;font-size:14px;font-family:var(--serif);letter-spacing:.02em}#lightbox .lbops{margin-top:14px;display:flex;gap:10px}#lightbox .lbops button{border:1px solid rgba(255,255,255,.28);background:transparent;color:#f4f1eb;border-radius:9px;padding:7px 18px;cursor:pointer;font-size:13px;transition:all .15s}#lightbox .lbops button:hover{border-color:#fff;background:#ffffff14}#lightbox .lbops button.primary{background:#f4f1eb;color:#1c1b19;border-color:#f4f1eb;font-weight:500}#lightbox .lbops button.primary:hover{background:#fff}#lightbox .lbops button.del:hover{border-color:#ff8b7d;color:#ff8b7d}#lightbox .lbops button.sel{border-color:#e0b184;color:#e0b184;background:#e0b1841f}#lightbox .nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:68px;font-size:28px;color:#f4f1eb;background:#ffffff1a;border:none;border-radius:12px;cursor:pointer;transition:background .15s}#lightbox .nav:hover{background:#ffffff2e}#lightbox .prev{left:26px}#lightbox .next{right:26px}#lightbox .close{position:absolute;top:20px;right:26px;width:42px;height:42px;font-size:20px;color:#f4f1eb;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;transition:background .15s}#lightbox .close:hover{background:#fff3}#lightbox .origswitch{position:absolute;top:22px;right:80px;display:flex;gap:2px;padding:3px;background:#ffffff1f;border-radius:999px}#lightbox .origswitch button{border:none;background:transparent;cursor:pointer;font-family:inherit;color:#ffffffb8;font-size:12px;padding:5px 15px;border-radius:999px;transition:all .15s}#lightbox .origswitch button:hover{color:#fff}#lightbox .origswitch button.on{background:#f4f1eb;color:#1c1b19;font-weight:500}#lightbox .origswitch button.on:hover{color:#1c1b19}#lightbox img.showing-orig{box-shadow:0 0 0 2px #e0b184,0 24px 80px #0000008c}#lightbox .kbd{position:absolute;bottom:22px;color:#ffffff73;font-size:12px}#lightbox .zoom-badge{position:absolute;top:24px;left:26px;color:#f4f1eb;background:#ffffff24;border-radius:8px;padding:3px 10px;font-size:13px}#lightbox .lb-pair{display:flex;align-items:center;justify-content:center;gap:28px}#lightbox .lb-base{position:relative}#lightbox .lb-base img{max-height:58vh;max-width:24vw;opacity:.96}#lightbox .lb-base .lb-tag{position:absolute;left:8px;bottom:8px;background:#0009;color:#f4f1eb;font-size:11px;padding:2px 8px;border-radius:6px;letter-spacing:.02em}#lightbox .lb-base.empty{width:18vw;height:40vh;border:1px dashed rgba(255,255,255,.3);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1b1973;z-index:var(--z-mask)}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--card);border-radius:16px;width:480px;max-width:92vw;z-index:var(--z-modal);padding:20px 22px;border:1px solid var(--line);box-shadow:var(--sh-float)}.modal h3{font-family:var(--serif);font-size:16px;margin:0 0 14px}.modal .sum{background:var(--card-soft);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;line-height:2;font-size:13px;margin-bottom:12px}.modal .sum b{color:var(--ink)}.modal .btns{display:flex;justify-content:flex-end;gap:10px}.modal .form-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.modal .form-row label{color:var(--faint);min-width:64px;font-size:12px}.modal select,.modal input[type=number],.modal input[type=text]{border:1px solid var(--line-strong);border-radius:8px;padding:5px 10px;font-size:13px;background:var(--card);color:var(--ink);font-family:inherit}.modal select:focus,.modal input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #8c6a4a24}.pick-grid{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-md);padding:8px;background:var(--card-soft)}.pick{padding:4px 12px;border-radius:var(--r-pill);border:1px solid var(--line-strong);cursor:pointer;background:var(--card);color:var(--dark);transition:all .15s}.pick:hover{border-color:var(--brand);color:var(--brand)}.pick.on{background:var(--brand);color:#fff;border-color:var(--brand)}.copybody{background:var(--card-soft);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;font-size:13px;line-height:1.9;max-height:320px;overflow-y:auto;white-space:pre-wrap;margin-bottom:12px}.copytitle{font-family:var(--serif);font-weight:700;font-size:15px;margin-bottom:8px}.vplayer{background:#191816;border-radius:var(--r-md);height:260px;display:flex;align-items:center;justify-content:center;color:#8b8478;margin-bottom:12px}.vplayer video{max-width:100%;max-height:100%}#toast{position:fixed;left:50%;bottom:44px;transform:translate(-50%);background:var(--ink);color:#f7f5f1;border-radius:var(--r-md);padding:10px 18px;font-size:13px;z-index:var(--z-toast);box-shadow:0 12px 32px #1c1b1947}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 500px at 50% -10%,#efe9df,#efe9df00 60%),var(--bg)}.login-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:40px 36px 34px;width:380px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--sh-float)}.login-logo{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.login-logo .mark{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:.04em;box-shadow:0 8px 24px #8c6a4a47}.login-logo .title{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:.06em;color:var(--ink)}.login-sub{font-size:11px;color:var(--faint);text-align:center;letter-spacing:.08em;margin-top:-4px}.login-card input{border:1px solid var(--line-strong);border-radius:var(--r-md);padding:10px 13px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--card);transition:border-color .15s,box-shadow .15s}.login-card input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #8c6a4a29}.login-err{color:var(--fail);font-size:12px}.login-btn{padding:11px;font-size:14px;border-radius:var(--r-md);margin-top:4px}.modal.big{width:80vw;height:80vh;max-width:1560px;display:block;overflow:hidden;padding:20px 24px}.modal.big h3{margin:0 0 8px}.create-body{position:absolute;left:24px;right:24px;top:56px;bottom:68px}.create-left{float:left;width:27%;height:100%;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;background:var(--card-soft)}.create-right{float:right;width:71.5%;height:100%;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;background:var(--card-soft)}.modal.big .form-row{position:absolute;left:24px;right:24px;bottom:16px;margin:0}.sec-title{font-family:var(--serif);font-weight:700;font-size:13px;margin:14px 0 8px;letter-spacing:.02em}.sec-title:first-child{margin-top:0}.create-left .pick-grid{border:none;padding:0;max-height:none;overflow:visible;display:flex;flex-wrap:wrap;background:transparent}.peditor{position:relative;height:100%}.peditor .panel-head{position:absolute;top:0;left:0;right:0;height:30px}.prod-search{width:180px;border:1px solid var(--line-strong);border-radius:8px;padding:5px 10px;font-size:13px;color:var(--ink);margin-right:6px;font-family:inherit}.prod-search:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #8c6a4a24}.prod-grid{position:absolute;top:40px;left:0;right:0;bottom:0;overflow-y:auto}.prodcard{position:relative;display:inline-block;vertical-align:top;width:172px;margin:0 10px 10px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;background:var(--card);transition:border-color .15s,box-shadow .15s,transform .15s}.prodcard:hover{border-color:var(--line-strong);box-shadow:var(--sh-2);transform:translateY(-1px)}.prodcard.on{border-color:var(--brand);box-shadow:0 0 0 1.5px var(--brand)}.prodcard img{width:100%;height:104px;object-fit:cover;display:block;background:var(--card-soft)}.prodcard .pmeta{padding:8px 10px}.prodcard .pn{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prodcard .pc{font-size:10px;color:var(--faint);margin-top:2px}.prodcard .seldot{position:absolute;top:8px;left:8px;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,.85);background:#1c1b1940;color:#fff;font-size:11px;line-height:15px;text-align:center}.prodcard.on .seldot{background:var(--brand);border-color:#fff}.prodcard .editbtn{position:absolute;top:8px;right:8px;border:none;background:#fffffff0;border-radius:7px;width:24px;height:24px;cursor:pointer;font-size:12px;box-shadow:var(--sh-1);transition:background .15s}.prodcard .editbtn:hover{background:var(--brand-soft)}.peditor textarea{border:1px solid var(--line-strong);border-radius:var(--r-md);padding:10px 12px;font-size:13px;line-height:1.7;resize:vertical;min-height:110px;font-family:inherit;color:var(--ink)}.peditor textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #8c6a4a24}.peditor input[type=text]{border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--ink);font-family:inherit}.peditor input[type=text]:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #8c6a4a24}.img-grid{overflow-y:auto}.img-grid .cell{position:relative;display:inline-block;vertical-align:top;width:108px;margin:0 8px 8px 0}.img-grid img{width:100%;height:96px;object-fit:cover;border-radius:var(--r-md);display:block;background:var(--card-soft)}.img-grid .tag{position:absolute;top:5px;left:5px;background:var(--ink);color:#fff;font-size:9px;border-radius:5px;padding:0 5px;line-height:16px}.pe-head{position:absolute;top:0;left:0;right:0;height:28px}.pe-head .btn{float:right}.pe-fields{position:absolute;top:36px;left:0;right:0}.pe-fields input[type=text]{width:47%;margin-right:2%}.pe-space{position:absolute;top:76px;left:0;right:0;height:26px;white-space:nowrap;overflow-x:auto}.pe-space .sp{display:inline-block;font-size:11px;color:var(--sub);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:1px 11px;margin-right:6px;cursor:pointer;background:var(--card);vertical-align:middle;transition:all .15s}.pe-space .sp:hover{border-color:var(--brand);color:var(--brand)}.pe-space .sp.on{background:var(--brand);color:#fff;border-color:var(--brand)}.pe-label{position:absolute;top:110px;left:0;right:0}.pe-textarea{position:absolute;top:136px;left:0;right:0;height:104px;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:10px 12px;font-size:13px;line-height:1.7;resize:none;font-family:inherit;color:var(--ink)}.pe-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #8c6a4a24}.pe-imgs{position:absolute;top:250px;left:0;right:0;bottom:46px;overflow-y:auto}.pe-imgs .panel-head{position:static;height:auto}.pe-save{position:absolute;bottom:0;right:0}.set-tabs{position:absolute;left:24px;right:24px;top:54px;height:36px;border-bottom:1px solid var(--line)}.set-tab{display:inline-block;padding:8px 18px;cursor:pointer;color:var(--faint);font-size:13px;transition:color .15s}.set-tab:hover{color:var(--ink)}.set-tab.on{color:var(--ink);font-weight:700;border-bottom:2px solid var(--brand);margin-bottom:-1px}.set-body{position:absolute;left:24px;right:24px;top:100px;bottom:18px;overflow-y:auto}.set-row{position:relative;width:100%;height:100%}.set-col-l{float:left;width:24%;height:100%;padding-right:20px;border-right:1px solid var(--line);overflow-y:auto}.set-col-r{float:right;width:74%;height:100%;padding-left:22px;overflow-y:auto}.set-title{font-family:var(--serif);font-size:12px;color:var(--faint);letter-spacing:.06em;margin:2px 0 10px}.set-hint{font-size:12px;color:var(--faint);line-height:1.7;margin-bottom:10px}.set-foot{margin-top:8px;text-align:right}.dirty{font-size:11px;color:var(--fail);margin-left:8px}.add-line{margin-bottom:10px}.add-line input{width:150px;border:none;border-bottom:1px solid var(--line-strong);background:transparent;padding:4px 2px;font-size:13px;color:var(--ink);margin-right:4px;font-family:inherit}.add-line input:focus{outline:none;border-bottom-color:var(--brand)}.op{border:none;background:transparent;color:var(--brand);cursor:pointer;font-size:13px;padding:4px 7px;border-radius:7px;transition:background .15s}.op:hover{background:var(--brand-soft)}.b-row{padding:8px 9px;border-radius:var(--r-md);cursor:pointer;margin-bottom:2px;position:relative;transition:background .15s}.b-row:hover{background:var(--card-soft)}.b-row.on{background:var(--brand-soft)}.b-name{font-size:13px;font-weight:500;color:var(--ink)}.b-dot{display:inline-block;font-size:10px;color:var(--faint);margin-left:6px}.b-dot.has{color:var(--brand)}.b-dotx{float:right;color:var(--faint);cursor:pointer;font-size:13px;padding:0 3px;visibility:hidden}.b-row:hover .b-dotx{visibility:visible}.b-dotx:hover{color:var(--fail)}.b-ren{display:inline-block;margin-left:6px;color:var(--faint);cursor:pointer;font-size:12px;visibility:hidden}.b-row:hover .b-ren{visibility:visible}.b-ren:hover{color:var(--brand)}.b-ren-input{width:130px;border:none;border-bottom:1px solid var(--brand);background:transparent;padding:2px 1px;font-size:13px;font-weight:500;color:var(--ink);font-family:inherit}.b-ren-input:focus{outline:none}.prompt-area{width:100%;height:300px;border:1px solid var(--line);background:var(--card-soft);border-radius:var(--r-md);padding:16px;font-size:13px;line-height:1.9;resize:none;font-family:inherit;color:var(--ink)}.prompt-area:focus{outline:none;border-color:var(--brand);background:var(--card);box-shadow:0 0 0 3px #8c6a4a1f}.item-block{padding:11px 0;border-bottom:1px solid #f2efe9}.item-block:last-child{border-bottom:none}.item-block.off .item-name,.item-block.off .item-area{color:var(--faint)}.item-head{margin-bottom:4px}.pill,.pillx{display:inline-block;float:left;font-size:10px;color:var(--faint);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:0 9px;line-height:17px;cursor:pointer;margin-right:8px;background:var(--card);transition:all .15s}.pill{margin-top:2px}.pillx{margin-top:5px}.pill:hover,.pillx:hover{color:var(--brand);border-color:var(--brand)}.pill.on,.pillx.on{color:var(--brand);border-color:var(--brand);background:var(--brand-soft)}.item-block.off .pillx{color:var(--faint)}.delx{float:right;color:var(--faint);cursor:pointer;font-size:13px;padding:2px 5px;visibility:hidden}.item-block:hover .delx{visibility:visible}.delx:hover{color:var(--fail)}.item-name{width:200px;border:none;border-bottom:1px solid transparent;background:transparent;font-size:13px;font-weight:500;padding:3px 2px;color:var(--ink);font-family:inherit}.item-name:hover{border-bottom-color:var(--line-strong)}.item-name:focus{outline:none;border-bottom-color:var(--brand)}.count-in{width:46px;border:none;border-bottom:1px solid transparent;background:transparent;font-size:13px;color:var(--faint);padding:3px 2px;margin-left:10px;font-family:inherit}.count-in:hover{border-bottom-color:var(--line-strong)}.count-in:focus{outline:none;border-bottom-color:var(--brand);color:var(--ink)}.item-area{width:100%;border:none;background:transparent;font-size:13px;line-height:1.8;padding:6px 3px;border-radius:var(--r-sm);resize:none;font-family:inherit;color:var(--sub);display:block}.item-area:hover{background:var(--card-soft)}.item-area:focus{outline:none;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.add-link{display:inline-block;margin-top:10px;border:none;background:transparent;color:var(--brand);font-size:13px;cursor:pointer;padding:4px 2px}.add-link:hover{text-decoration:underline}.f-label{font-size:13px;font-weight:500;color:var(--ink);margin-right:8px}.f-hint{font-size:11px;color:var(--faint);margin-bottom:4px}.reset-link{font-size:11px;color:var(--fail);cursor:pointer;margin-left:8px}.reset-link:hover{text-decoration:underline}.fav-group{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;margin-bottom:10px}.fav-head{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:8px;font-family:var(--serif)}.fav-items{display:flex;flex-wrap:wrap;gap:10px}.fav-item{text-align:center}.fav-item img{width:84px;height:112px;object-fit:cover;border-radius:8px;border:1px solid var(--line);cursor:pointer;display:block;transition:border-color .15s}.fav-item img:hover{border-color:var(--brand)}.fav-ops{margin-top:4px;display:flex;gap:4px;justify-content:center}.fav-ops .btn.small{padding:2px 8px;font-size:11px}.aibadge{position:absolute;top:1px;right:1px;width:11px;height:11px;border-radius:50%;font-size:9px;line-height:11px;text-align:center;font-weight:700}.aibadge.bad{background:#e0483c;color:#fff;box-shadow:0 0 0 1.5px #fff}.aibadge.ok{background:#3f9d5a;box-shadow:0 0 0 1.5px #fff}.aicap{margin-top:8px;font-size:13px;padding:4px 12px;border-radius:8px;max-width:80vw;text-align:center}.aicap.bad{background:#e0483c2e;color:#ffb4ac;border:1px solid rgba(224,72,60,.5)}.aicap.ok{background:#3f9d5a29;color:#a8e0b8;border:1px solid rgba(63,157,90,.4)}.aimenu-wrap{position:relative;display:inline-block}.aimenu-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.aimenu{position:absolute;top:22px;left:0;z-index:41;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh-float);padding:4px;min-width:168px}.aimenu button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:7px 10px;font-size:12px;color:var(--ink);border-radius:7px;cursor:pointer;font-family:inherit}.aimenu button:hover:not(:disabled){background:var(--card-soft)}.aimenu button:disabled{color:var(--faint);cursor:default}.thumb.ai-keep,.thumb.ai-keep:hover{border-color:#3f9d5a}.thumb.ai-reject,.thumb.ai-reject:hover{border-color:#e0483c}.thumb.ai-select,.thumb.ai-select:hover{border-color:#e0483c;border-style:dashed}.thumb.ai-manual,.thumb.ai-manual:hover{border-color:#e08a3c}.thumb.ai-manual-reject,.thumb.ai-manual-reject:hover{border-color:#9b1c14;border-width:2px}.thumb.ai-failed,.thumb.ai-failed:hover{border-color:#b6b6bc}#tip.imgtip .tiprow{display:flex;gap:10px;align-items:flex-start}#tip.imgtip .tipside{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #00000024;padding:8px 10px;max-width:260px;text-align:left}#tip.imgtip .tipname{font-size:11px;color:var(--faint);margin-bottom:4px}#tip.imgtip .aic{font-size:12px;font-weight:500}#tip.imgtip .aic.ok{color:#2f7d4a}#tip.imgtip .aic.bad{color:#c0392b}#tip.imgtip .aic-txt{font-size:11px;color:#5c5c63;line-height:1.6;margin-top:3px;word-break:break-word}.angle-row{display:flex;align-items:flex-start;gap:8px}.angle-row .drag-handle{cursor:grab;color:var(--faint);font-size:14px;padding:6px 2px;-webkit-user-select:none;user-select:none}.angle-row .drag-handle:active{cursor:grabbing}.angle-row:hover .drag-handle{color:var(--brand)}
