.wechat-page{display:grid;gap:24px;max-width:1440px;margin:0 auto}.wechat-page h1{font-size:30px;margin:8px 0}.wechat-page h2{font-size:19px;margin-bottom:12px}.wechat-page h3{font-size:18px;margin-bottom:14px}.wechat-page p,.wechat-page small{color:var(--muted);line-height:1.7}.wechat-page .wechat-eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:.14em}.wechat-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;min-width:0}.wechat-connect{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:16px 0}.wechat-page label{display:grid;gap:6px;font-size:13px;margin-bottom:12px}.wechat-connect label{min-width:260px;margin:0}.wechat-page input,.wechat-page textarea{border:1px solid var(--line);border-radius:8px;padding:10px;width:100%;min-width:0;background:#fafcfb;color:var(--ink)}.wechat-page textarea{resize:vertical}.wechat-page button{border:0;border-radius:8px;padding:11px 16px;background:var(--green);color:#fff}.wechat-page button:disabled{opacity:.45;cursor:default}.wechat-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.wechat-remark{display:grid;gap:12px;margin-top:16px;overflow-wrap:anywhere}.wechat-page .wechat-notice{padding:10px;border-radius:8px;background:var(--amber-soft);color:var(--amber)}.wechat-capture{margin-top:16px;display:grid;gap:10px}.wechat-capture img{max-width:100%;margin-top:12px}.wechat-table{overflow-x:auto;margin:16px 0}.wechat-table table{width:100%;border-collapse:collapse;text-align:left;min-width:600px}.wechat-table th,.wechat-table td{padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;max-width:320px}.wechat-table th{font-size:13px}.wechat-net{background:var(--green-soft);font-weight:700}@media(max-width:1000px){.wechat-cards{grid-template-columns:1fr}}*{box-sizing:border-box}body{background:#f6f4ee;color:#18221f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;margin:0;min-width:320px;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;max-width:100%;overflow-wrap:anywhere;word-break:break-word}#root{min-height:100vh}:root{--panel: #ffffff;--ink: #18221f;--muted: #66736f;--line: #dde5df;--soft: #eef4f0;--green: #18785f;--green-soft: #dff3eb;--blue: #356fbe;--blue-soft: #e6f0ff;--amber: #9a650c;--amber-soft: #fff2cf;--red: #b84a40;--red-soft: #ffe5e1;--shadow: 0 10px 28px rgba(28, 45, 38, .08);--text: #18221f;--text-2: #66736f;--surface-1: #ffffff;--border: #dde5df}.icon{flex:0 0 auto}.app-shell{align-items:start;align-content:start;display:grid;grid-template-columns:188px minmax(0,1fr);min-height:100vh}.side{background:#102a24;color:#f9fffb;display:grid;gap:20px;grid-template-rows:auto 1fr;height:100vh;overflow:auto;padding:18px 14px;position:sticky;top:0}.brand{align-items:flex-start;display:flex;gap:12px;padding-top:6px}.brand>div{display:flex;flex-direction:column;gap:2px}.brand h1{font-size:24px;line-height:1}.brand p{color:#b9d6cc;font-size:12px;margin:0}.logo-mark{color:#f9fffb;height:52px;width:52px}.logo-mark svg{display:block;height:100%;width:100%}.logo-base{fill:#f2d15d;stroke:#ffffff5c;stroke-width:1.4}.logo-orbit{fill:none;stroke:#102a24;stroke-linecap:round;stroke-width:2.3}.logo-orbit.inner{opacity:.44;stroke-width:1.8}.logo-hand{fill:none;stroke:#102a24;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.logo-archive{fill:none;opacity:.72;stroke:#102a24;stroke-linecap:round;stroke-width:2}.logo-dot{fill:#102a24}.tabs{display:grid;align-content:stretch;gap:14px;grid-template-rows:repeat(4,minmax(92px,1fr))}.tab{align-items:center;background:transparent;border:0;border-radius:8px;color:inherit;display:grid;gap:6px;justify-items:center;min-height:92px;padding:14px 10px;text-align:center;text-decoration:none}.tab:hover,.tab.active{background:#ffffff24}.tab-mark{align-items:center;background:#ffffff1a;border-radius:8px;color:#f2d15d;display:inline-flex;height:52px;justify-content:center;width:64px}.tab span:last-child{font-size:16px;font-weight:900}.main{align-content:start;align-items:start;display:grid;grid-template-rows:auto minmax(0,auto);min-width:0;padding:20px 24px;width:100%}.top{align-items:center;background:#fffaf1e6;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;min-height:72px;padding:14px 22px}.title{display:grid;gap:3px}.eyebrow{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h2{font-size:27px}.content{align-content:start;align-items:start;display:grid;gap:14px;min-width:0;padding:18px 22px 26px;width:100%}.overview-hero,.panel,.tile{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.overview-hero{background:linear-gradient(120deg,#fffaf1f0,#dff3ebe0),var(--panel);display:grid;gap:10px;padding:16px}.overview-hero h3{font-size:24px}.overview-hero p{color:var(--muted);line-height:1.55;max-width:760px}.summary{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.tile{display:grid;gap:8px;min-height:102px;padding:14px}.tile>.icon{background:var(--green-soft);border-radius:8px;color:var(--green);padding:7px;box-sizing:content-box}.tile span{color:var(--muted);font-size:13px}.tile strong{font-size:28px}.layout{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1.5fr) 360px;width:100%}.folder-layout{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr);width:100%}.panel{align-self:start;min-width:0;width:100%}.head{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:14px 14px 0}.head h3{font-size:18px}.body{display:grid;gap:12px;min-width:0;padding:14px}.log-block{display:grid;gap:10px;padding-top:4px}.console{background:#0d1117;border-radius:6px;color:#c9d1d9;font-family:Courier New,monospace;font-size:12px;max-height:260px;overflow-y:auto;padding:10px 14px}.console pre{margin:0;white-space:pre-wrap;word-break:break-all}.log-meta{align-items:flex-end;display:grid;gap:6px;justify-items:end}.subhead{align-items:center;display:flex;gap:10px;justify-content:space-between}.subhead h3{font-size:16px}.actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.check-action{align-items:center;color:var(--muted);display:inline-flex;font-size:13px;font-weight:800;gap:6px;white-space:nowrap}.button,.ghost,.danger{align-items:center;border-radius:8px;display:inline-flex;font-weight:800;gap:7px;min-height:38px;justify-content:center;padding:0 13px;white-space:nowrap}.button{background:var(--green);border:1px solid var(--green);color:#fff}.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.danger{background:var(--red-soft);border:1px solid var(--red-soft);color:var(--red)}.button:disabled,.ghost:disabled,.danger:disabled{cursor:not-allowed;opacity:.55}.status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;min-height:24px;padding:4px 9px}.ok{background:var(--green-soft);color:var(--green)}.warn{background:var(--amber-soft);color:var(--amber)}.bad{background:var(--red-soft);color:var(--red)}.info{background:var(--blue-soft);color:var(--blue)}.progress{background:var(--soft);border-radius:999px;height:10px;overflow:hidden}.progress i{background:linear-gradient(90deg,var(--green),#66b999);display:block;height:100%;transition:width .25s ease}.job-grid{display:grid;gap:14px;grid-template-columns:repeat(6,minmax(112px,1fr));overflow-x:auto;padding:2px 2px 6px}.mini{background:#f8faf8;border:1px solid var(--line);border-radius:8px;display:grid;gap:3px;min-width:0;padding:10px}.mini.clickable{cursor:pointer;min-height:74px;padding:12px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.mini.clickable:hover{background:#edf7f2;border-color:#9ad4bd;transform:translateY(-1px)}.mini.clickable:active{transform:translateY(0)}.mini span,.muted{color:var(--muted);font-size:13px}.list,.root-panel{display:grid;gap:9px}.source-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:34px minmax(0,1fr) auto;min-height:58px;min-width:0;padding:9px}.source-open{background:transparent;border:0;color:inherit;display:grid;gap:2px;min-width:0;padding:0;text-align:left}.source-open span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.source-card .actions{gap:5px}.source-card .ghost{min-height:30px;padding:0 9px}.scan-inline{border:1px solid var(--line);border-radius:8px;display:grid;gap:0;overflow:hidden}.scan-inline>.body{padding:12px}.worker-strip{display:flex;flex-wrap:wrap;gap:6px}.worker-pill{align-items:center;background:#f8faf8;border:1px solid var(--line);border-radius:20px;display:flex;gap:6px;padding:4px 10px;font-size:12px}.worker-pill.running{background:#eef3ff;border-color:#9ab0f2}.pill-name{color:var(--muted);font-family:monospace;font-size:11px}.pill-count{font-weight:600;font-size:13px}.log-stream{background:#0d1117;border-radius:8px;color:#d6dee7;display:grid;gap:1px;max-height:260px;overflow-y:auto;padding:8px}.log-line{align-items:start;display:grid;gap:8px;grid-template-columns:76px 52px minmax(0,1fr);min-height:24px;min-width:0;padding:3px 4px}.log-line span,.log-line strong,.log-line p{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;margin:0}.log-line span{color:#8b949e}.log-line strong{color:#7ee787}.bad-text{color:#ff8d86!important}.row,.folder-card{align-items:center;background:#fbfcfb;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:1fr auto;min-width:0;padding:11px}.row.selected{background:#edf7f2;border-color:#9ad4bd}.path{color:var(--muted);display:block;font-size:12px;margin-top:4px;min-width:0;overflow-wrap:anywhere;word-break:break-word}.folder-card{cursor:pointer;grid-template-columns:34px minmax(0,1fr) auto}.folder-card:hover{background:#f0f4ef}.folder-name{font-size:15px;font-weight:600}.folder-open{background:transparent;border:0;color:inherit;padding:0;text-align:left}.folder-mark{align-items:center;background:var(--amber-soft);border-radius:8px;color:var(--amber);display:flex;height:34px;justify-content:center;width:34px}.folder-mark.file{background:var(--blue-soft);color:var(--blue)}.crumbs{align-items:center;display:flex;flex-wrap:wrap;gap:7px;min-width:0}.crumb{align-items:center;display:inline-flex;gap:7px}.crumbs button{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:12px;font-weight:800;min-height:30px;padding:0 9px}.crumbs button.active{background:#edf7f2;border-color:#9ad4bd}.table-wrap{overflow-x:auto;min-width:0}table{border-collapse:collapse;table-layout:fixed;width:100%}th,td{border-top:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px}td{font-size:14px}td code{font-size:12px;overflow-wrap:anywhere}.empty,.error,.notice{background:#fff;border:1px dashed var(--line);border-radius:8px;color:var(--muted);padding:18px}.empty.compact{padding:10px}.error{background:var(--red-soft);border-color:#efb8b0;color:var(--red)}.notice{background:var(--green-soft);border-color:#a8d9c7;color:var(--green);font-weight:800}.inline-form{background:#fbfcfb;border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;padding:12px}.form-title{align-items:center;display:flex;gap:10px;justify-content:space-between}.input-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto}.browse-panel{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;padding:10px}.browse-current{align-items:center;background:#f8faf8;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.browse-row{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:10px;text-align:left}.field-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.field{display:grid;gap:5px}.field label{color:var(--muted);font-size:12px;font-weight:800}.field input,.field select,.field textarea,.setting-input{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:38px;padding:0 10px;width:100%}.field textarea{min-height:76px;padding:10px;resize:vertical}@media(max-width:1040px){.app-shell,.layout,.folder-layout{grid-template-columns:1fr}.side{height:auto;position:static}.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.top,.actions,.head{align-items:stretch;flex-direction:column}.content,.top,.side{padding:14px}.summary,.tabs,.field-grid{grid-template-columns:1fr}.button,.ghost,.danger{width:100%}.input-row{grid-template-columns:1fr}.browse-current,.browse-row,.log-meta{align-items:stretch;justify-items:start;grid-template-columns:1fr}table{min-width:760px}}.view-toggle{display:flex;gap:4px}.view-toggle button{padding:4px 10px;font-size:13px}.file-list{display:flex;flex-direction:column;gap:2px}.section-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 4px 4px}.file-row{align-items:center;background:transparent;border:0;border-radius:6px;cursor:pointer;display:flex;gap:8px;min-height:36px;min-width:0;padding:4px 8px;text-align:left;width:100%}.file-row:hover{background:var(--surface)}.file-row.dir-row{background:#f7f9f7}.file-icon{align-items:center;color:var(--blue);display:inline-flex;flex-shrink:0;justify-content:center;width:20px}.file-name{flex:1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{display:flex;gap:12px;align-items:center;flex-shrink:0}.file-meta .muted{font-size:12px;color:var(--muted);white-space:nowrap}.file-meta .size{min-width:52px;text-align:right}.badge{font-size:12px;padding:1px 4px;border-radius:4px}.badge.photo{background:#e8f4f0;color:#2e8b57}.badge.video{background:#eef2ff;color:#4f6bed}.parent-row{color:var(--muted);font-size:13px}@media(max-width:640px){.job-grid{grid-template-columns:repeat(3,1fr);overflow-x:visible}.folder-card{grid-template-columns:34px 1fr;grid-template-rows:auto auto}.folder-card .ghost{grid-column:1 / -1;justify-self:stretch;min-height:44px;font-size:14px}.row{min-height:56px;padding:12px}.tab-panel{padding:12px 4px}button,.ghost,.primary{min-height:40px;min-width:40px;padding:8px 14px;font-size:14px}.source-card{grid-template-columns:34px 1fr;grid-template-rows:auto auto;min-height:64px}.source-card .actions{grid-column:1 / -1;justify-self:stretch}.preview img{max-width:100vw;height:auto}.crumbs{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.review-toolbar{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px;min-width:0}.review-row{align-items:start;grid-template-columns:auto minmax(180px,1fr) minmax(220px,1fr) minmax(220px,1fr) auto}.review-check{margin-top:4px}.review-file{min-width:0}.choice-group{display:grid;gap:7px;min-width:0}.choice-group label{align-items:flex-start;cursor:pointer;display:flex;gap:6px;min-width:0}.choice-group input{flex:0 0 auto;margin-top:2px}.choice-group span{min-width:0;overflow-wrap:anywhere}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.side{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr);height:auto;overflow:visible;padding:12px 16px;position:static}.brand{justify-content:center}.tabs{align-content:initial;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none}.tab{gap:6px;min-height:62px;padding:8px}.tab-mark{height:34px;width:44px}.tab span:last-child{font-size:13px}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.job-grid{grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.review-toolbar{align-items:stretch;flex-wrap:wrap}.review-toolbar>button,.review-toolbar>.actions{flex:1 1 auto}.review-row{grid-template-columns:auto minmax(0,1fr)}.review-row .choice-group,.review-row .actions{grid-column:2}}@media(min-width:761px)and (max-width:1100px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.side{align-content:start;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100vh;overflow:auto;padding:12px 8px;position:sticky;top:0}.brand{display:grid;justify-items:center}.brand>div{display:none}.logo-mark{height:44px;width:44px}.tabs{align-content:start;grid-template-columns:1fr;grid-template-rows:none}.tab{gap:5px;min-height:70px;padding:8px 4px}.tab-mark{height:34px;width:44px}.tab span:last-child{font-size:12px;line-height:1.15}}@media(max-width:760px){#root{min-height:100dvh}.app-shell{padding-bottom:76px}.side{background:#102a24;border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -10px 28px #0a181438;inset:auto 0 0;padding:0;position:fixed;z-index:30}.brand{display:none}.tabs{gap:0;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.tab{border-radius:0;min-height:68px;padding:8px 4px 10px}.tab-mark{background:transparent;height:28px;width:32px}.tab-mark .icon{height:24px;width:24px}.tab span:last-child{font-size:12px;line-height:1.1}.top{align-items:flex-start;min-height:auto;padding:12px 14px}h2{font-size:22px}.content{gap:10px;padding:12px 10px 18px}.overview-hero,.panel,.tile{box-shadow:none}.head,.subhead,.form-title,.browse-current,.browse-row{align-items:stretch;flex-direction:column}.head{padding:12px 12px 0}.head h3{font-size:17px}.body{padding:12px}.actions{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.actions>span,.actions>.muted{grid-column:1 / -1}.button,.ghost,.danger{min-height:42px;padding:0 10px;width:100%}.summary,.field-grid,.input-row,.browse-current,.browse-row{grid-template-columns:1fr}.job-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.mini{min-height:64px;padding:10px}.source-card{align-items:start;grid-template-columns:34px minmax(0,1fr)}.source-card .actions{grid-column:1 / -1}.folder-card{align-items:start;grid-template-columns:34px minmax(0,1fr)}.folder-card>.ghost{grid-column:1 / -1}.crumbs{flex-wrap:nowrap;margin:0 -2px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none;white-space:nowrap}.crumbs::-webkit-scrollbar{display:none}.crumb{flex:0 0 auto}.tab-panel{padding:4px 0 0}.file-row{align-items:flex-start;display:grid;gap:6px 8px;grid-template-columns:24px minmax(0,1fr);min-height:48px;padding:8px}.file-name{overflow:visible;text-overflow:clip;white-space:normal}.file-meta{grid-column:2;flex-wrap:wrap;gap:6px 10px}.file-meta .muted{white-space:normal}.log-line{gap:3px;grid-template-columns:1fr;padding:7px 6px}.log-stream{max-height:320px}.responsive-table{min-width:0}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{background:#fbfcfb;border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:10px}.responsive-table td{border:0;display:grid;gap:4px;grid-template-columns:82px minmax(0,1fr);padding:7px 0}.responsive-table td:before{color:var(--muted);content:attr(data-label);font-size:12px;font-weight:800}.review-toolbar{align-items:stretch;display:grid;gap:8px;grid-template-columns:1fr}.review-row{grid-template-columns:auto minmax(0,1fr);padding:12px}.review-check{margin-top:2px}.review-file,.review-row .choice-group,.review-row .actions{grid-column:1 / -1}.choice-group{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px}}@media(max-width:420px){.actions,.job-grid,.responsive-table td{grid-template-columns:1fr}}@media(max-width:1100px){.app-shell{grid-template-columns:1fr;padding-bottom:0}.side{align-items:center;background:#102a24;border:0;box-shadow:none;color:#f9fffb;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);grid-template-rows:none;height:56px;min-height:56px;overflow:hidden;padding:6px 10px;position:sticky;top:0;z-index:30}.brand{align-items:center;display:flex;gap:7px;justify-content:flex-start;min-width:0}.brand>div{display:block}.brand h1{font-size:14px;line-height:1;white-space:nowrap}.brand p{display:none}.logo-mark{height:32px;width:32px}.tabs{align-items:center;display:flex;gap:4px;justify-content:flex-end;min-width:0;overflow-x:auto;scrollbar-width:none;width:100%}.tabs::-webkit-scrollbar{display:none}.tab{align-items:center;border-radius:8px;display:grid;flex:0 0 62px;gap:1px;height:42px;justify-items:center;min-height:42px;min-width:0;padding:4px}.tab-mark{background:transparent;height:20px;width:24px}.tab-mark .icon{height:20px;width:20px}.tab span:last-child{font-size:10px;line-height:1}}@media(max-width:720px){.side{height:56px;min-height:56px;padding:6px 8px}.brand h1{font-size:13px}.tab{flex-basis:58px}}
