:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#1f372b;background:#eef1e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#f8faf5;border-bottom:1px solid #dce5d9}.brand{display:flex;align-items:center;gap:13px}.brand strong{font-size:21px;letter-spacing:.04em}.brand small{display:block;color:#809185;font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-top:1px}.brand-mark{width:34px;height:34px;background:#e5b84e;border-radius:50% 50% 50% 7px;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 3px 9px #c39f4e4d}.brand-mark span{width:12px;height:12px;background:#fff;border-radius:50%}.topbar-right{display:flex;align-items:center;gap:20px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:#709078;text-transform:uppercase}.privacy-pill{border:1px solid #bcd3bf;color:#477657;border-radius:99px;padding:8px 13px;font-size:12px;background:#eef6ef}.studio{display:grid;grid-template-columns:318px minmax(430px,1fr) 330px;gap:16px;padding:18px;min-height:calc(100vh - 82px)}.panel{background:#fbfcf8;border:1px solid #dfe8dc;border-radius:19px;box-shadow:0 6px 25px #253d2a0a}.settings{padding:23px 21px 20px;overflow:auto;max-height:calc(100vh - 116px)}.panel-heading{display:flex;gap:13px;align-items:center;margin-bottom:24px}.panel-heading.compact{margin-bottom:16px}.step{flex:0 0 auto;width:35px;height:35px;border-radius:12px;background:#e7eee3;color:#49765a;display:grid;place-items:center;font-weight:800;font-size:12px}.panel-heading h1,.panel-heading h2{font-size:20px;margin:0 0 3px;letter-spacing:.02em}.panel-heading p{margin:0;color:#829287;font-size:12px}.field-group{margin:0 0 17px}.field-group label,.caption-editor label{display:block;font-size:12px;color:#50685a;font-weight:750;margin-bottom:8px}.field-group select,.field-group input[type="text"],.field-group input[type="number"],.caption-editor textarea{width:100%;border:1px solid #d2dfd1;background:#fff;border-radius:11px;padding:11px 12px;color:#223b2d;outline:none;transition:border-color .2s,box-shadow .2s}.field-group select:focus,.field-group input:focus,.caption-editor textarea:focus{border-color:#8dbd94;box-shadow:0 0 0 3px #bde0be70}.field-group input[type="file"]{display:block;width:100%;font-size:11px;color:#5d7162}.field-group input[type="file"]::file-selector-button{border:1px solid #c6d9c8;background:#eff5ed;color:#376044;padding:8px 10px;border-radius:8px;margin-right:9px;cursor:pointer}.field-note{font-size:11px;line-height:1.5;color:#8a998c;margin:7px 0 0}.upload-group{padding:14px;border:1px dashed #c9d9c8;border-radius:13px;background:#f5f8f2}.separator{height:1px;background:#e4eae1;margin:22px 0}.section-title{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:16px}.section-title .step{width:27px;height:27px;border-radius:9px;font-size:10px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row .field-group{min-width:0}.field-row select{padding-right:4px}.number-wrap{position:relative}.number-wrap input{padding-right:34px!important}.number-wrap span{position:absolute;right:11px;top:11px;color:#8b9c8e;font-size:12px}.toggle-row{margin:10px 0}.toggle-row label{display:flex;align-items:center;gap:8px;color:#4d6654;font-size:12px;cursor:pointer}.toggle-row input{accent-color:#49835b;width:16px;height:16px;margin:0}.summary-strip{display:flex;justify-content:space-between;background:#eef4eb;color:#51735a;border-radius:10px;padding:11px 12px;font-size:12px;font-weight:750;margin:20px 0 10px}.export-button{width:100%;border:0;border-radius:12px;padding:15px 10px;background:#e3b851;color:#1f3827;font-size:14px;font-weight:850;box-shadow:0 7px 18px #d1ad4c45}.export-button:hover{background:#ecc668}.export-button span{font-size:20px;vertical-align:-1px;margin-right:6px}.export-status{font-size:11px;line-height:1.45;min-height:31px;color:#6d826f;margin:10px 0 4px}.progress-track{height:5px;background:#e6ece2;border-radius:99px;overflow:hidden}.progress-track div{height:100%;width:0;background:#65a877;transition:width .15s}.preview-panel{display:flex;flex-direction:column;min-width:0;padding:18px 20px}.preview-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.preview-heading h2{font-size:23px;margin:2px 0 0}.status-dot{font-size:12px;color:#75877b;background:#eef3ec;border-radius:99px;padding:8px 12px;white-space:nowrap}.stage{flex:1;min-height:430px;background:#e3e9df;border-radius:15px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:18px}.canvas-frame{position:relative;max-width:100%;max-height:min(70vh,950px);height:100%;aspect-ratio:9/16;background:#13271f;box-shadow:0 17px 37px #18322330;border:5px solid #fcfdfb;border-radius:11px;overflow:hidden}.canvas-frame.horizontal{aspect-ratio:16/9;height:auto;width:min(100%,980px)}.canvas-frame canvas{display:block;width:100%;height:100%;object-fit:contain}.transport{display:flex;align-items:center;gap:12px;padding:17px 6px 7px}.transport button{width:39px;height:39px;flex:0 0 auto;border:0;border-radius:50%;background:#294838;color:#fff;font-size:13px}.transport input{flex:1;accent-color:#68a87a;min-width:0}.transport span{font-variant-numeric:tabular-nums;font-size:11px;color:#708174;white-space:nowrap}.preview-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e4e9e1;margin-top:7px;padding:12px 6px 2px;color:#829287;font-size:11px}.timeline-panel{padding:22px 18px;display:flex;flex-direction:column;max-height:calc(100vh - 116px);min-width:0}.timeline-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.timeline-tools button,.reorder-buttons button{border:1px solid #cddccb;background:#f2f6ef;color:#446b4d;border-radius:8px;padding:8px 10px;font-size:11px}.timeline-tools span{font-size:11px;color:#89988b}.scene-list{overflow-y:auto;flex:1;min-height:150px;border:1px solid #e4eae1;border-radius:11px;background:#fff}.scene-item{width:100%;display:flex;align-items:center;gap:9px;text-align:left;background:#fff;border:0;border-bottom:1px solid #ecf0e9;padding:9px 10px;color:#304d38}.scene-item:hover{background:#f5f8f1}.scene-item.active{background:#eef4e8;box-shadow:inset 3px 0 #d8aa3f}.scene-number{width:29px;height:29px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#f1f4ee;color:#7b8c80;font-size:11px;font-weight:750}.scene-item.active .scene-number{background:#e3b851;color:#1e3526}.scene-swatch{width:11px;height:11px;flex:0 0 auto;border-radius:50%;border:1px solid #ffffffa8;box-shadow:0 0 0 1px #cad7c8}.scene-copy{flex:1;min-width:0}.scene-copy strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-copy small{display:block;color:#8b9b8d;font-size:10px;margin-top:3px}.caption-editor{padding-top:16px}.caption-editor textarea{resize:vertical;min-height:73px;font-size:12px;line-height:1.5}.reorder-buttons{display:flex;gap:7px;margin-top:8px}.source-note{font-size:10px;line-height:1.6;color:#98a69b;border-top:1px solid #e5ece4;padding-top:11px;margin:15px 0 0}@media(max-width:1200px){.studio{grid-template-columns:280px minmax(350px,1fr)}.timeline-panel{grid-column:1/-1;max-height:440px}.scene-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:230px}.scene-item{border-right:1px solid #ecf0e9}.settings{max-height:none}.preview-panel{min-height:720px}}@media(max-width:760px){.topbar{height:66px;padding:0 16px}.brand strong{font-size:17px}.topbar-right .eyebrow{display:none}.privacy-pill{font-size:10px;padding:6px 9px}.studio{display:flex;flex-direction:column;padding:10px;gap:10px}.panel{border-radius:14px}.settings{order:2;padding:18px}.preview-panel{order:1;min-height:0;padding:13px}.timeline-panel{order:3;max-height:620px}.stage{min-height:330px;padding:10px}.canvas-frame{height:min(55vh,600px)}.canvas-frame.horizontal{height:auto}.scene-list{display:block}.preview-foot{font-size:9px}.status-dot{font-size:10px;padding:6px 8px}.preview-heading h2{font-size:19px}}

[hidden]{display:none!important}

.data-downloads{display:flex;flex-wrap:wrap;gap:6px;margin:-3px 0 17px;font-size:11px;align-items:center}.data-downloads span{color:#738679;margin-right:2px}.data-downloads a{display:inline-block;padding:5px 7px;border-radius:7px;background:#edf4e9;color:#366349;text-decoration:none}.data-downloads a:hover{background:#dcebd7}.source-note a{color:#51775c}

.cancel-export{margin-top:8px;width:100%;padding:9px;border:1px solid #d4a89f;border-radius:9px;background:#fff7f4;color:#9d4637;font-size:12px;font-weight:700}

.region-picker{padding:13px 12px 10px;margin:-5px -7px 8px;border:1px solid #dbe9d9;background:#f3f8f0;border-radius:13px}.region-picker .field-group{margin-bottom:10px}.region-picker .field-group label{font-size:11px}.region-picker .field-group select{padding:9px 7px;font-size:12px}.region-generate{width:100%;border:0;border-radius:10px;padding:12px 10px;background:#3e7652;color:#fff;font-size:13px;font-weight:800}.region-generate:hover:not(:disabled){background:#315f43}.region-picker .field-note{margin:8px 1px 0}

.mobile-nav{display:none}
.status-dot{border:0;text-align:center;transition:background .2s,color .2s}
.status-dot[data-state="loading"]{color:#537b5c;background:#e8f2e8}
.status-dot[data-state="error"]{color:#a9483a;background:#fcece8;cursor:pointer}
.status-dot[data-state="error"]:hover{background:#f7dbd4}
@media(max-width:760px){
  body{min-width:320px;overflow-x:hidden}
  .topbar{height:62px;padding:0 14px}
  .topbar-right{gap:0}
  .privacy-pill{font-size:10px;white-space:nowrap}
  .mobile-nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 10px;background:#f8faf5eF;border-bottom:1px solid #dce5d9;backdrop-filter:blur(12px)}
  .mobile-nav a{display:block;text-align:center;padding:10px 4px;border-radius:9px;color:#31543a;background:#eaf1e7;text-decoration:none;font-size:12px;font-weight:750}
  .mobile-nav a:focus-visible,.mobile-nav a:hover{outline:2px solid #79ad83;background:#dae8d7}
  #region-section,#preview-section,#timeline-section{scroll-margin-top:62px}
  .studio{padding:10px 10px max(16px,env(safe-area-inset-bottom));gap:10px}
  .settings{order:1;overflow:visible;max-height:none;padding:17px}
  .preview-panel{order:2;min-height:0;padding:13px}
  .timeline-panel{order:3;max-height:none;padding:17px}
  .region-picker{margin:0 0 8px;padding:12px}
  .region-picker .field-row{grid-template-columns:1fr;gap:0}
  .region-picker .field-group{margin-bottom:9px}
  .region-picker .field-group select{font-size:16px;min-height:43px;padding:8px 10px}
  .region-generate,.export-button{min-height:48px}
  .field-group select,.field-group input[type="text"],.field-group input[type="number"],.caption-editor textarea{font-size:16px;min-height:44px}
  .panel-heading{margin-bottom:17px}
  .preview-heading{gap:8px;align-items:flex-start}
  .preview-heading>div{min-width:0}
  .status-dot{max-width:52%;white-space:normal;line-height:1.3;min-height:33px;flex:0 1 auto}
  .stage{min-height:260px;padding:10px}
  .canvas-frame{height:min(62vh,700px);max-height:none;flex:0 1 auto}
  .canvas-frame.horizontal{width:100%;height:auto}
  .transport{gap:8px;padding:12px 2px 8px}
  .transport button{width:44px;height:44px}
  .preview-foot{flex-wrap:wrap;line-height:1.45}
  .timeline-panel .scene-list{max-height:360px;min-height:180px}
  .timeline-tools{flex-wrap:wrap}
}
@media(max-width:375px){
  .brand strong{font-size:15px}
  .brand small{font-size:8px}
  .brand-mark{width:28px;height:28px}
  .privacy-pill{font-size:9px;padding:5px 7px}
  .settings,.timeline-panel{padding:14px}
  .field-row{grid-template-columns:1fr}
  .status-dot{font-size:10px}
}
.beginner-guide{margin:-5px 0 17px;padding:13px 14px;background:#fff7df;border:1px solid #f0dfa8;border-radius:12px;color:#554d2f}
.beginner-guide strong{display:block;font-size:13px;margin-bottom:5px}
.beginner-guide p{font-size:12px;line-height:1.6;margin:0 0 5px}
.beginner-guide small{display:block;color:#8c805c;font-size:11px;line-height:1.5}
.advanced-tools{margin:14px 0 0;border:1px solid #dce8d8;border-radius:11px;background:#f7faf5;overflow:hidden}
.advanced-tools summary{list-style:none;cursor:pointer;padding:13px 14px;color:#4c6c54;font-size:12px;font-weight:750;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.advanced-tools summary::-webkit-details-marker{display:none}
.advanced-tools summary::after{content:'⌄';font-size:18px;line-height:1;transition:transform .2s}
.advanced-tools[open] summary::after{transform:rotate(180deg)}
.advanced-tools[open] summary{border-bottom:1px solid #dce8d8;background:#eef5ec}
.advanced-tools>.field-group,.advanced-tools>.field-row,.advanced-tools>.toggle-row,.advanced-tools>.data-downloads{margin:14px 13px}
.advanced-tools>.field-row{gap:10px}
.advanced-tools>.field-row .field-group{margin:0}
@media(max-width:760px){.beginner-guide{margin:0 0 13px}.beginner-guide p{font-size:13px}.advanced-tools summary{font-size:13px}}
.mobile-preview-intro,.mobile-create-button,.stage-play{display:none}
@media(max-width:760px){
  .preview-panel{order:1}
  .settings{order:2}
  .mobile-preview-intro{display:block;margin:0 2px 9px;color:#5c745e;font-size:12px;line-height:1.4}
  .stage{min-height:290px}
  .canvas-frame{height:min(56dvh,600px);min-height:350px;max-height:none}
  .stage-play{display:block;position:absolute;left:50%;bottom:8%;transform:translateX(-50%);z-index:2;white-space:nowrap;border:1px solid rgba(255,255,255,.8);border-radius:99px;padding:12px 18px;background:rgba(23,51,35,.88);color:#fff;font-size:13px;font-weight:800;box-shadow:0 5px 20px rgba(0,0,0,.3)}
  .canvas-frame.is-playing .stage-play{display:none}
  .mobile-create-button{display:block;text-align:center;margin-top:10px;padding:12px;border-radius:11px;background:#3e7652;color:#fff;text-decoration:none;font-size:14px;font-weight:800}
  .mobile-create-button:focus-visible{outline:3px solid #e3b851;outline-offset:2px}
}
