:root{--green:#193c32;--ink:#233a32;--muted:#7b827b;--paper:#f5f4ed;--line:#e0e4da}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--paper)}header{height:80px;max-width:1320px;margin:auto;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--green);font-size:26px;display:flex;gap:12px;align-items:center}.brand span{font-size:12px;color:var(--muted);border-left:1px solid #cbd2c7;padding-left:14px}.version{font-size:12px;border:1px solid #ccd6c7;border-radius:30px;padding:8px 12px}main{max-width:1320px;margin:auto;padding:46px 44px 0}.intro{display:grid;grid-template-columns:1fr 1.16fr;gap:40px;align-items:center;padding-bottom:52px}.eyebrow{font-size:11px;letter-spacing:3px;color:#87916b}h1{font-family:Georgia,"Songti SC",serif;font-weight:500;font-size:52px;line-height:1.25;margin:18px 0 20px;letter-spacing:2px}.lead{color:#68756b;line-height:1.9;font-size:15px}.intro-tags{display:flex;gap:8px;margin-top:26px;flex-wrap:wrap}.intro-tags span{font-size:11px;padding:7px 10px;border-radius:4px;background:#e9eddf}.hero-photo{height:320px;position:relative;border-radius:10px;overflow:hidden}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#102b24b0)}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo>span{position:absolute;top:18px;left:18px;z-index:1;font-size:11px;background:#ffffffde;padding:8px;border-radius:3px}.hero-caption{position:absolute;bottom:28px;left:28px;z-index:1;color:white;font-family:"Songti SC",serif;font-size:26px;letter-spacing:2px}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.editor,.results{background:#fff;border:1px solid var(--line);padding:28px;border-radius:12px}.step-head{display:flex;gap:14px;align-items:center;margin-bottom:22px}.step-head>span{font-family:Georgia,serif;font-size:28px;color:#8a9c6c}.step-head h2{font-size:19px;margin:0 0 7px;font-weight:600}.step-head p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}.upload{border:1px dashed #9aaf8c;background:#f7f9f3;border-radius:8px;padding:25px 12px;text-align:center;cursor:pointer}.upload input{position:absolute;opacity:0;width:1px;height:1px}.upload b{font-size:14px;display:block}.upload span{display:block;font-size:11px;color:var(--muted);margin-top:10px}.row{display:flex;gap:10px;align-items:center;margin:12px 0}.muted{font-size:11px;color:var(--muted);font-weight:400}.quiet{background:transparent;border:0;padding:5px;color:#5e735b;font-size:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tile{position:relative;border-radius:6px;overflow:hidden;background:#eff1eb}.tile img{display:block;width:100%;height:95px;object-fit:cover}.tile .name{display:block;font-size:10px;padding:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tile .remove{position:absolute;right:4px;top:4px;border:0;background:#fffC;border-radius:50%;padding:1px 6px}.tile .order{display:flex;justify-content:space-between;padding:0 4px 4px}.order button{border:0;background:transparent;color:#4f6e54}.hint{font-size:11px;color:var(--muted);line-height:1.8;margin:12px 0 26px}label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}input,select,textarea{font:inherit;display:block;width:100%;padding:12px;border:1px solid #dfe4da;border-radius:6px;margin-top:8px;color:#293e32;background:#fff;font-size:13px;outline:none}input:focus,select:focus,textarea:focus{border-color:#577d58;box-shadow:0 0 0 3px #eaf1e5}textarea{resize:vertical;line-height:1.8}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}button{cursor:pointer;font:inherit;border:1px solid #d5dece;border-radius:6px;background:#f6f8f2;padding:11px 13px;color:var(--green);font-size:12px}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.96)}.primary{background:var(--green);color:#fff;width:100%;padding:16px;display:flex;justify-content:space-between;font-size:14px}.engine{font-size:10px;color:#687a62;line-height:1.8}.engine span{color:#959a90}.preview-wrap{position:relative;background:#edf0e7;border-radius:8px;overflow:hidden;min-height:380px}canvas{display:block;width:100%;height:auto;max-height:530px;object-fit:contain}.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#edf0e7}.empty>span{font-size:44px;color:#9baa87}.empty h3{font-size:15px;font-weight:500;margin:24px 12px 8px}.empty p{font-size:11px;color:#7e8b76}.preview-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin:12px 0 25px;font-size:11px;color:var(--muted)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.notice{padding:18px;border-radius:6px;background:#f1f4e9;font-size:12px}.notice p{font-size:11px;color:#748167;line-height:1.9;margin-bottom:0}footer{display:flex;justify-content:space-between;padding:32px 0;font-size:10px;color:#87907d}#status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;border-radius:8px;padding:13px 20px;box-shadow:0 8px 35px #18352830;display:none;font-size:13px;z-index:10;max-width:90vw}#videoResult video{width:100%;max-height:350px;margin-top:18px;background:#132b24;border-radius:6px}#videoResult a{display:block;padding:15px;color:var(--green);font-size:13px}@media(max-width:760px){header{padding:0 20px;height:65px}.brand{font-size:21px}.brand span{display:none}.version{font-size:10px}main{padding:25px 16px 0}.intro{grid-template-columns:1fr;gap:24px;padding-bottom:28px}h1{font-size:38px;margin:10px 0}.eyebrow{font-size:9px}.lead{font-size:13px}.intro-tags{margin-top:15px}.hero-photo{height:210px}.hero-caption{font-size:21px}.workspace{grid-template-columns:1fr;gap:18px}.editor,.results{padding:20px}.tile img{height:85px}footer{gap:16px;line-height:1.8}.preview-wrap{min-height:300px}}

[hidden]{display:none!important}.gallery{max-height:440px;overflow:auto;padding:2px}.tile.excluded{opacity:.5}.asset-meta{display:flex;gap:4px;align-items:center;padding:4px}.asset-meta select{padding:4px;margin:0;min-width:0;font-size:10px}.asset-meta input{width:16px;margin:0;flex-shrink:0}.folder-label{font-size:12px;font-weight:400;color:#4d6c50;cursor:pointer;margin:0}.folder-label input{position:absolute;width:1px;height:1px;opacity:0}.link-row{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding:10px 0;font-size:11px}.link-row a{color:#25553b;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-row span{color:var(--muted);flex:1}.import-report{font-size:12px;line-height:1.8;color:#55734d}.import-details{max-height:180px;overflow:auto;font-size:11px;line-height:1.8;color:var(--muted);word-break:break-all}details{margin:12px 0 18px}summary{font-size:11px;color:#728165;cursor:pointer}.card-strip{display:flex;gap:7px;overflow:auto;margin:8px 0 20px;padding-bottom:8px}.card-button{white-space:nowrap;font-size:11px;padding:10px}.card-button.active{background:var(--green);color:white}.notice a{color:var(--green)}.row{flex-wrap:wrap}.preview-wrap canvas{max-height:570px}.upload:focus-within{outline:2px solid #6d915f;outline-offset:3px}

.upload{transition:background .15s,border-color .15s;display:block;min-height:110px}.upload.drag-over{background:#dfeeda;border:2px solid #406d3b;box-shadow:0 0 0 4px #c8dfbb}.upload.drag-over b{color:#214b22}.zip-note{display:flex;gap:8px;align-items:center;background:#eff5e9;border-radius:6px;padding:12px;margin-top:20px;font-size:12px;line-height:1.8}.zip-note span{flex:1}.option-help{font-size:11px;color:#65725c;line-height:1.9;background:#f5f7f0;padding:12px;border-radius:6px;margin:0 0 18px}.check-label{display:flex;gap:10px;align-items:center;font-size:13px}.check-label input{width:18px;height:18px;margin:0;accent-color:#193c32}.save-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px}.save-gallery figure{margin:0;min-width:0;background:#f2f4ee;border-radius:6px;overflow:hidden}.save-gallery img{display:block;width:100%;height:auto;-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto}.save-gallery figcaption{text-align:center;padding:8px 3px}.save-gallery a{font-size:11px;color:#375d37}.preview-wrap #previewImage{display:block;width:100%;height:auto;max-height:570px;object-fit:contain;-webkit-touch-callout:default}.preview-wrap canvas{height:auto}.preview-wrap:has(#previewImage:not([hidden])){min-height:0}#saveSection>.hint{margin:5px 0 12px}@media(max-width:760px){.save-gallery{gap:7px}.save-gallery a{font-size:10px}.zip-note{flex-wrap:wrap}.preview-wrap #previewImage{max-height:none}.preview-wrap{min-height:0}.empty{min-height:300px;position:absolute}.preview-wrap:has(.empty[style*="none"]) .empty{position:absolute}}

.hero-photo:after{display:none}.asset-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:zoom-in}.asset-open img{pointer-events:none}.asset-open:focus-visible{outline:3px solid #5b7e41;outline-offset:-3px}.asset-viewer{position:fixed;inset:0;z-index:100;background:#10241ce0;display:flex;align-items:center;justify-content:center;padding:22px}.viewer-card{background:#f9faf5;width:min(1120px,96vw);max-height:96vh;border-radius:12px;padding:20px;overflow:auto;box-shadow:0 20px 80px #0005}.viewer-header{display:flex;align-items:center;gap:15px;justify-content:space-between}.viewer-header h2{font-size:17px;margin:0;word-break:break-all}.viewer-header button{flex-shrink:0}.viewer-card>p{font-size:12px;color:#697363;line-height:1.6;margin:10px 0;overflow-wrap:anywhere}.viewer-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.viewer-tools span{font-size:12px;color:#63715a}.viewer-stage{overflow:auto;background:#e4e7dd;max-height:67vh;text-align:center;border-radius:5px;padding:10px}.viewer-stage img{display:block;margin:auto;max-width:100%;max-height:65vh;width:auto;height:auto;-webkit-touch-callout:default}.history-panel{padding:16px;background:#f1f5ea;border-radius:8px;margin-bottom:20px}.history-toolbar{display:flex;gap:10px}.history-panel .hint{margin:10px 0}.history-note{font-size:10px;line-height:1.7;color:#88917e;margin:6px 0 0}.history-list{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:6px;padding-top:10px}.history-entry{text-align:left;background:white;line-height:1.7;padding:10px;font-size:11px}.history-entry.active{border-color:#688952;background:#dfead4}@media(max-width:760px){.asset-viewer{padding:8px}.viewer-card{padding:14px;max-height:97vh}.viewer-header h2{font-size:14px}.viewer-tools{gap:6px}.viewer-tools button{font-size:11px;padding:9px}.viewer-stage{max-height:62vh}.viewer-stage img{max-height:60vh}}

.brand .brand-logo{display:block;position:relative;flex:0 0 30px;width:30px;height:42px;overflow:hidden;border:0;padding:0}.brand-logo img{display:block;height:42px;width:auto;max-width:none}.brand strong{white-space:nowrap}@media(max-width:760px){.brand{gap:9px;font-size:18px}.brand .brand-logo{display:block;flex-basis:24px;width:24px;height:34px}.brand-logo img{height:34px}}

.brand .brand-logo{flex-basis:96px;width:96px}.brand-logo .brand-wordmark{position:absolute;inset:0;clip-path:inset(0 0 0 31.7%);filter:brightness(0);opacity:.85}.brand strong{border-left:1px solid #cbd2c7;padding-left:14px}@media(max-width:760px){.brand{font-size:16px}.brand .brand-logo{flex-basis:78px;width:78px}.brand strong{padding-left:9px}}@media(max-width:380px){header .version{display:none}}

#links{margin:6px 0 24px}.link-row{padding:3px 0;min-height:30px;gap:12px}.link-row a{max-width:none;flex:1;min-width:0;line-height:1.5}.link-row button{flex-shrink:0;padding:5px 4px}.video-areas{border:1px solid var(--line);border-radius:8px;padding:14px;margin:0 0 20px}.video-areas h3{font-size:13px;margin:0 0 8px}.video-area-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.video-area-toolbar>span{margin-right:auto}.video-area-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);min-height:42px}.video-area-choice{display:flex;gap:9px;align-items:center;flex:1;min-width:0;margin:0;padding:8px 0;cursor:pointer;font-weight:400}.video-area-choice input{width:18px;height:18px;flex-shrink:0;margin:0;padding:0;accent-color:var(--green)}.video-area-choice span{overflow-wrap:anywhere}.video-area-row a{font-size:11px;color:#25553b;white-space:nowrap}#videoAreaList{max-height:330px;overflow:auto}#videoAreaEmpty{margin:8px 0 0}.fields:has(>label[hidden]){grid-template-columns:1fr}

#links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.link-row{justify-content:flex-start;gap:10px}.link-row a{flex:0 1 auto;max-width:calc(100% - 45px)}.link-row button{margin-right:auto}@media(max-width:360px){#links{column-gap:10px}.link-row{gap:6px}}

.history-toolbar{flex-wrap:wrap;align-items:center}#generatePreview{margin-left:auto;background:var(--green);color:#fff;border-color:var(--green)}

.vr-render-host{position:fixed;left:-5000px;top:0;pointer-events:none;overflow:hidden}.video-limit-hint{font-size:12px;line-height:1.8;color:#52654c;margin:6px 0 10px}.video-area-row.at-limit{color:#899285}.video-timeline{margin-top:12px;font-size:11px;color:#64725e;line-height:1.8}.video-timeline p{margin:4px 0}.video-area-row.at-limit label{cursor:not-allowed}

#status{max-width:min(90vw,620px);max-height:180px;overflow:auto;line-height:1.7;overflow-wrap:anywhere}.video-timeline{max-height:410px;overflow:auto}.video-order-row{display:flex;align-items:center;gap:9px;min-height:44px;border-top:1px solid var(--line);background:#fff;position:relative}.video-order-row>span{flex:1;min-width:0;overflow-wrap:anywhere}.video-drag-handle{touch-action:none;cursor:grab;padding:8px 9px;border:0;background:transparent;font-size:18px;color:#839274}.video-order-actions{display:flex;gap:5px}.video-order-actions button{padding:5px 8px}.video-order-row.is-dragging{z-index:3;box-shadow:0 5px 18px #193c3230}.video-order-row.drag-target{border-top:3px solid #5c844a}.order-hint{margin:12px 0 5px}.video-cover-panel{display:flex;gap:16px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:8px;margin:12px 0 20px}.video-cover-panel>div{flex:1}.video-cover-panel img{width:95px;max-height:165px;object-fit:contain}.video-cover-panel .hint{margin:8px 0}.video-cover-panel button{padding:8px;margin-top:5px}.video-issue{background:#fff5e7;border:1px solid #e5d3b4;padding:14px;border-radius:8px;font-size:12px;line-height:1.8;margin:12px 0;overflow-wrap:anywhere}.video-issue p{margin:6px 0}.video-area-choice input:disabled{cursor:not-allowed}
