:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#25282a;background:#f7f8f5;font-synthesis:none;--ink: #25282a;--muted: #84877e;--line: #e7e8e2;--green: #4c6245;--lime: #d9edac;--paper: #fff}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:inherit;border-radius:8px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s,transform .15s}button:hover{background:#f1f3ec}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid #69834f;outline-offset:3px}input,textarea,select{width:100%;border:1px solid #e0e3da;border-radius:7px;padding:10px 11px;background:#fff;color:var(--ink);outline:none;font-size:14px}input:focus,textarea:focus,select:focus{border-color:#819870;box-shadow:0 0 0 3px #e6eddf}textarea{resize:vertical;line-height:1.6}label{display:flex;flex-direction:column;gap:7px;font-size:14px;margin-bottom:15px;color:#555a50}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;margin-bottom:12px;font-weight:600}h2{font-size:22px;margin-bottom:12px}h3{font-size:17px}.muted{color:#7f847a;font-size:15px;line-height:1.8}.hint{color:#91978b;font-size:12px;line-height:1.7}.error{color:#a64932!important;font-size:13px;line-height:1.6}.primary{background:#26312b;color:#f5f8ef;border-color:#26312b;font-weight:500}.primary:hover{background:#41513e}.secondary{background:#fff;border:1px solid #dfe3d7}.wide{width:100%;margin-bottom:10px}.icon-btn{padding:7px;border:0;background:transparent;border-radius:6px;flex-shrink:0}.icon-btn:hover{background:#e9ede3}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:650;white-space:nowrap}.brand-mark{width:35px;height:35px;display:grid;place-items:center;background:var(--ink);color:#e5f3c3;border-radius:9px;font-size:22px;line-height:1}.brand-en{font-size:9px;letter-spacing:2px;font-weight:500;display:block;margin-top:2px}.dashboard{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:222px;background:#fff;border-right:1px solid var(--line);padding:29px 22px;display:flex;flex-direction:column;z-index:2}.workspace-badge{display:flex;gap:11px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:12px;margin:35px 0 27px;font-size:13px;font-weight:500}.workspace-badge small{display:block;color:#95988f;font-size:11px;margin-top:5px}.avatar{width:30px;height:30px;border-radius:50%;background:#e8eddf;color:#708162;display:grid;place-items:center;font-size:13px}nav a{display:flex;gap:12px;align-items:center;padding:13px 14px;margin:5px -7px;border-radius:7px;color:#757a70;font-size:14px}nav a.active{background:#edf2e6;color:#3f5433;font-weight:550}.count{margin-left:auto;background:#dce5d1;border-radius:4px;padding:2px 6px;font-size:11px}.sidebar-foot{margin-top:auto}.sidebar-foot>button{width:100%;justify-content:flex-start;border:0;color:#83897b;font-size:13px;padding:12px 6px}.cloud-note{padding:19px 13px;background:#f7f9f1;border:1px solid #ebefdf;border-radius:9px;margin-bottom:23px;color:#6d8054}.cloud-note strong{display:block;font-size:13px;margin:13px 0 8px}.cloud-note p{font-size:12px;line-height:1.8;margin-bottom:0;color:#989d8d}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c4a066;margin-left:auto}.dot.green{background:#829e62}.dashboard-main{margin-left:222px;flex:1;min-width:0}.dash-top{height:76px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#92988a;background:#fff}.dashboard-content{max-width:1620px;margin:auto;padding:43px 44px 24px}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.template-count{font-size:58px;font-weight:300;color:#c4cabb;display:flex;align-items:center;gap:16px}.template-count span{font-size:12px;color:#88927a;writing-mode:vertical-rl;letter-spacing:3px}.discovery-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:18px}.pills{display:flex;gap:6px}.pills button{border-color:transparent;background:transparent;color:#83897b;border-radius:7px;padding:9px 18px;font-size:13px}.pills .selected{background:#e8eddf;color:#47593d;font-weight:500}.search{display:flex;flex-direction:row;align-items:center;border:1px solid var(--line);border-radius:7px;padding:0 11px;margin:0;background:#fff;max-width:250px;color:#9ca28f}.search input{border:0;background:transparent;box-shadow:none}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:29px 23px}.template-card{display:block;padding:0;background:transparent;border:0;border-radius:0;text-align:left;min-width:0}.template-card:hover{background:transparent}.preview-wrap{position:relative;width:100%;aspect-ratio:3/4;background:#e9ece3;overflow:hidden;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s}.preview-wrap svg{width:100%;height:100%;display:block}.preview-wrap.landscape{padding:20px 14px;background:repeating-linear-gradient(90deg,#e0e2dc,#e0e2dc 18px,#d8dcd4 19px 20px)}.preview-wrap.landscape svg{height:auto;box-shadow:0 8px 18px #24352a29;transform:perspective(500px) rotateY(-5deg)}.template-card:hover .preview-wrap{box-shadow:0 10px 22px #303f2520}.template-tag{position:absolute;top:12px;left:12px;background:#ffffffdc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-size:10px;padding:5px 8px;border-radius:4px;color:#46533d;opacity:0;transition:opacity .2s}.hover-action{position:absolute;bottom:16px;left:50%;transform:translate(-50%,7px);background:#fff;color:#303a29;display:flex;gap:7px;align-items:center;border-radius:7px;white-space:nowrap;font-size:13px;padding:10px 16px;opacity:0;box-shadow:0 4px 15px #0002;transition:opacity .2s,transform .2s}.template-card:hover .hover-action,.template-card:focus-visible .hover-action{opacity:1;transform:translate(-50%)}.template-card:hover .template-tag{opacity:1}.card-info{padding:15px 2px 0}.card-info strong{display:block;font-size:14px;font-weight:550;margin-bottom:7px}.card-info span{font-size:11px;color:#959b8d}.empty{padding:90px 20px;text-align:center;color:#919888;display:flex;align-items:center;flex-direction:column;gap:14px}.empty p{font-size:14px}.empty h2{color:#535e48;margin:0}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;gap:20px;color:#7d8e6b}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;grid-template-columns:1.12fr 1fr;background:#fff}.login-art{background:#203b2e;color:#ebf4dc;padding:48px 54px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-art .brand-mark{background:#dceeae;color:#203b2e}.login-art h1{font-size:48px;line-height:1.45;margin:40px 0 15px;font-weight:500;letter-spacing:1px}.login-art small{font-size:11px;color:#a9ba9b;letter-spacing:2px;margin-top:45px}.login-posters{display:flex;gap:20px;height:245px;margin-top:30px}.login-posters svg{width:180px;flex-shrink:0;box-shadow:0 15px 25px #0002;border-radius:3px;transform:rotate(-6deg)}.login-posters svg:nth-child(2){transform:rotate(7deg) translateY(15px)}.login-posters svg:nth-child(3){transform:rotate(-3deg)}.login-form{display:flex;align-items:center;justify-content:center;padding:50px}.login-form>div{width:340px}.login-form h2{font-size:29px;font-weight:600}.login-form form{margin-top:35px}.login-form label{margin-bottom:23px}.login-form .primary{padding:13px}.login-form .hint{margin-top:18px}.toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%);z-index:100;background:#29392d;color:#f7faef;box-shadow:0 9px 30px #0002;border:1px solid #56654d;padding:13px 16px;border-radius:9px;display:flex;align-items:center;gap:24px;font-size:14px;max-width:85vw}.toast button{border:0;padding:0;color:inherit;background:none}.modal-backdrop{position:fixed;inset:0;background:#17251f70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.modal{width:450px;max-height:90vh;overflow:auto;padding:27px;background:#fff;border-radius:15px;box-shadow:0 20px 70px #0003}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h2{margin:0;font-size:21px}.connection{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}.connection b{font-size:12px;font-weight:500;border-radius:5px;padding:4px 8px}.ready{color:#5e7848;background:#edf4e4}.pending{color:#a87943;background:#f7efdf}code{font-size:12px;background:#f3f5ef;padding:3px 6px;border-radius:4px}.workspace{height:100vh;display:flex;flex-direction:column;background:#fff;min-width:1040px;overflow:hidden}.editor-header{height:70px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 14px;border-bottom:1px solid var(--line);gap:15px}.editor-header .brand{font-size:16px}.editor-header .brand-mark{width:30px;height:30px;font-size:19px}.editor-header .brand-en{font-size:7px}.editor-heading{display:flex;gap:14px;align-items:center;min-width:0}.header-divider{height:22px;width:1px;background:var(--line);display:inline-block;flex-shrink:0}.project-name{width:220px;font-size:14px;border-color:transparent;background:transparent;padding:8px}.save-state{display:flex;align-items:center;gap:5px;font-size:11px;color:#929c86;white-space:nowrap}.toolbar{display:flex;align-items:center;gap:9px}.toolbar button{font-size:13px}.editor-body{display:flex;min-height:0;flex:1}.tool-rail{width:68px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:13px 7px;display:flex;flex-direction:column;gap:8px}.tool-rail button{display:flex;flex-direction:column;gap:7px;font-size:11px;border:0;background:transparent;padding:13px 5px;color:#89917f}.tool-rail button svg{width:21px}.tool-rail button.active{background:#edf3e4;color:#4a603a}.rail-bottom{margin-top:auto;text-align:center;font-size:11px;color:#bac1b1;padding-bottom:10px}.editor-left{width:285px;flex-shrink:0;border-right:1px solid var(--line);padding:24px 20px;overflow:auto}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:12px}.panel-heading h2{font-size:16px;margin:0;font-weight:600}.panel-heading>span{font-size:9px;color:#a1a997;letter-spacing:1px}.panel-heading svg{color:#939c89}.template-summary{display:flex;align-items:center;gap:12px;background:#f7f8f4;border:1px solid #e9edde;padding:11px;border-radius:8px}.tiny-preview{width:37px;height:47px;display:flex;align-items:center;flex-shrink:0}.tiny-preview svg{width:100%;height:100%}.template-summary strong{font-size:12px;font-weight:550;display:block}.template-summary small{font-size:10px;color:#919c86;display:block;margin-top:7px}.section-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#78866b;margin:27px 0 17px;font-weight:500}.section-label:after{content:"";height:1px;background:var(--line);flex:1}.editor-left label,.properties label{font-size:12px;margin-bottom:13px;gap:7px}.editor-left input,.editor-left textarea,.editor-left select,.properties input,.properties select,.properties textarea{font-size:13px;padding:8px 9px}.editor-left .secondary,.properties .secondary{font-size:12px;padding:9px}.color-row{display:flex;align-items:center;flex-direction:row;gap:10px}.color-row input[type=color]{width:30px;height:28px;padding:3px;border-radius:4px;flex-shrink:0;margin-left:auto}.color-row code{font-size:10px;color:#8c9581}.generate-row{display:flex;gap:10px}.generate-row select{flex:1;min-width:0}.generate-row button{min-width:110px;font-size:13px}.inline-note{border:0;background:#f8f5ed;color:#9e895c;font-size:11px;line-height:1.5;text-align:left;padding:10px;margin-top:13px;width:100%}.compact{margin-bottom:15px}.compact button{font-size:12px;padding:8px;flex:1}.reference-list{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 17px}.reference-list button{width:43px;height:43px;padding:0;position:relative;overflow:hidden;border:2px solid transparent;background:#f3f5ee}.reference-list img{width:100%;height:100%;object-fit:cover}.reference-list button.chosen{border-color:#78944f}.reference-list button span{position:absolute;right:0;bottom:0;background:#5b723f;color:#fff;font-size:10px;padding:1px 4px}.reference-list .reference-add{border:1px dashed #bcc7ad;color:#91a079}.upload-box{width:100%;border:1px dashed #b8c8a8;background:#f6f9f0;border-radius:9px;flex-direction:column;padding:26px 10px;gap:12px;color:#778e60}.upload-box strong{font-size:13px;font-weight:500}.upload-box span{font-size:10px;color:#98a28d}.quick-tools{display:flex;gap:6px;margin-bottom:14px}.quick-tools>button{flex:1;font-size:12px;padding:10px 6px}.quick-tools button.selected{background:#eaf1e0;border-color:#b4c59e;color:#4c6933}.asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.asset-grid button{padding:0;overflow:hidden;display:block;text-align:left}.asset-grid img{width:100%;height:96px;object-fit:cover;display:block}.asset-grid span{display:block;font-size:10px;padding:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer{display:flex;align-items:center;margin-bottom:5px;padding:5px;border-radius:6px}.layer.selected{background:#edf2e4}.layer-name{border:0;background:transparent;font-size:12px;padding:7px 2px;flex:1;min-width:0;justify-content:flex-start;gap:8px}.layer-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-name svg{flex-shrink:0;color:#8c9a7b}.layer .icon-btn{padding:5px;color:#939d86}.canvas-area{flex:1;min-width:0;display:flex;flex-direction:column;background:#ecefe7}.canvas-toolbar{height:53px;border-bottom:1px solid #e3e7dc;background:#f9faf7;display:flex;align-items:center;justify-content:space-between;padding:0 18px;flex-shrink:0}.canvas-toolbar>span{font-size:11px;color:#8e9982}.canvas-toolbar .toolbar{gap:3px}.canvas-host{flex:1;min-height:0;min-width:0;overflow:auto;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(#cdd4c6 .65px,transparent .65px);background-size:12px 12px}.canvas-container{box-shadow:0 7px 35px #35462922;flex-shrink:0}.canvas-footer{height:46px;padding:0 20px;display:flex;justify-content:space-between;align-items:center;background:#f7f9f3;border-top:1px solid #e1e6d9;flex-shrink:0}.canvas-footer>span{font-size:10px;color:#97a18b;display:flex;gap:8px;align-items:center}.zoom-controls{display:flex;align-items:center;gap:2px}.zoom-controls>button{font-size:11px;background:transparent;border:0;color:#7e8a71;padding:6px}.properties{width:238px;border-left:1px solid var(--line);padding:24px 18px;overflow:auto;flex-shrink:0}.selected-type{font-size:13px;padding:10px;background:#f4f6ef;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;gap:8px}.selected-type span{font-size:11px;color:#9aa38d;max-width:110px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.number-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.number-grid input{width:100%}input[type=range]{padding:0;accent-color:#789358;border:0;box-shadow:none}.property-empty{text-align:center;padding:55px 6px;color:#a7af9b}.property-empty h3{font-size:14px;color:#68785b;margin:18px 0 10px}.property-empty p{font-size:12px;line-height:1.9}.property-tip{font-size:10px;color:#abb39e;line-height:2.2;border-top:1px solid var(--line);padding-top:20px;margin-top:32px}.job-card{border:1px solid var(--line);border-radius:7px;padding:12px;margin-bottom:12px}.job-card>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:11px}.job-card strong{font-weight:550}.job-card span{font-size:10px;color:#8a967b}.job-card details{font-size:11px;color:#9aa48d;margin-top:10px}.job-card details p{overflow-wrap:anywhere}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.result-grid img{width:100%;height:100px;object-fit:contain;background:#f0f2eb;border-radius:4px}.result-grid button{width:100%;font-size:10px!important;padding:6px!important}.job-card .error{font-size:11px;margin:10px 0}@media(min-width:1650px){.template-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-left{width:315px}.properties{width:270px}}@media(max-width:1200px){.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-content{padding:32px}.sidebar{width:200px}.dashboard-main{margin-left:200px}.project-name{width:155px}.save-state{display:none}.editor-left{width:250px}.properties{width:215px}.login-art{padding:40px}.login-art h1{font-size:38px}}@media(max-width:850px){.sidebar{width:170px;padding:24px 16px}.dashboard-main{margin-left:170px}.dashboard-content{padding:28px 22px}.dash-top{padding:0 22px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-count{display:none}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-form{min-height:100vh}.page-title h1{font-size:26px}.search{max-width:180px}}@media(max-width:600px){.sidebar{position:static;width:100%;height:auto;flex-direction:row;padding:15px;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:15px}.workspace-badge,.sidebar-foot,.brand-en{display:none}.sidebar nav{display:flex;margin-left:auto;gap:8px}.sidebar nav a{padding:9px;font-size:12px}.sidebar nav svg,.sidebar .count{display:none}.dashboard{display:block}.dashboard-main{margin-left:0}.dash-top{height:45px}.dashboard-content{padding:27px 16px}.template-grid{gap:20px 13px}.page-title h1{font-size:23px}.discovery-bar{flex-wrap:wrap}.search{max-width:none;width:100%}.pills button{padding:8px 13px}.card-info strong{font-size:12px}.template-tag{display:none}.hover-action{font-size:11px;padding:8px;opacity:1;transform:translate(-50%)}.modal{padding:22px}}.delete-project-name{overflow-wrap:anywhere;font-weight:600}.delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}button.danger{background:#a44535;color:#fff;border-color:#a44535}button.danger:hover{background:#8f382a}.project-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.project-preview img{display:block;width:100%;height:100%;object-fit:contain}.material-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}.material-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.material-thumbnail{display:flex;height:205px;align-items:center;justify-content:center;background:#eeeee7}.material-thumbnail img{width:100%;height:100%;object-fit:contain}.material-card-body{padding:15px}.material-card-body strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-card-body .material-actions{margin-top:14px}.material-card-body button{padding:8px}.material-edit-link{margin-right:auto;color:var(--green);text-decoration:none;font-weight:600}.material-pagination{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:28px 0}.material-generation-modal{width:min(840px,94vw);max-height:90vh;overflow:auto}.material-preview-modal{width:min(1000px,94vw);max-height:92vh;overflow:auto}.material-preview-modal>img{display:block;max-width:100%;max-height:65vh;margin:12px auto;object-fit:contain}.material-controls{display:flex;gap:12px;margin:14px 0}.material-controls label{flex:1}.material-generator h3{display:flex;align-items:center;gap:8px}.material-generator textarea{resize:vertical;margin-top:8px}.material-generator label{font-size:13px}.material-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.material-result{border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff}.material-result img{width:100%;aspect-ratio:1;object-fit:contain}.material-result button{width:100%;font-size:12px}.material-check{display:flex;align-items:center;gap:7px;padding:8px 0}.material-check input{width:auto}.material-editor{height:100dvh;display:flex;flex-direction:column;background:#f1f2ed}.material-editor-header{display:flex;align-items:center;gap:20px;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.material-editor-header>input{width:clamp(180px,26vw,400px)}.material-editor-header>.material-actions{margin-left:auto}.material-back{color:var(--green);text-decoration:none;display:flex;gap:6px;align-items:center}.material-editor-layout{flex:1;min-height:0;display:grid;grid-template-columns:310px minmax(0,1fr)}.material-toolbox{overflow:auto;background:#fff;padding:18px;border-right:1px solid var(--line)}.material-toolbox fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 20px;margin:0 0 20px;min-width:0}.material-toolbox legend{font-weight:600;margin-bottom:8px}.material-toolbox .material-actions{margin-top:12px}.material-crop-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.material-crop-inputs label{font-size:12px;color:#666d61}.material-crop-inputs input{margin-top:5px}.material-crop-picker{position:relative;width:100%;background:#eee;overflow:hidden;touch-action:none;cursor:crosshair}.material-crop-picker>img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.material-crop-rect{position:absolute;border:2px solid #d9edac;box-shadow:0 0 0 500px #0007;pointer-events:none}.material-slider{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:14px 0;font-size:13px}.material-slider input{width:100%;padding:0;accent-color:var(--green)}.material-stage{min-width:0;min-height:0;display:flex;flex-direction:column}.material-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;font-size:13px}.material-canvas-wrap{flex:1;min-height:0;overflow:auto;padding:28px;position:relative;display:grid;place-items:start center}.material-canvas-wrap canvas{display:block;height:auto;box-shadow:0 8px 40px #25301c22;background:repeating-conic-gradient(#f6f6f6 0% 25%,#fff 0% 50%) 50%/18px 18px}.material-rendering{position:absolute;top:8px;right:20px;padding:5px 10px;background:#fff;border-radius:20px;font-size:12px}.material-export{display:flex;gap:12px;align-items:center;padding:10px 20px;border-top:1px solid var(--line);background:#fff;flex-wrap:wrap}.material-export p{margin-right:auto}.material-export select{width:190px}.material-library .modal .material-actions,.material-editor .modal .material-actions{margin-top:20px;justify-content:flex-end}@media(max-width:900px){.material-editor-header{padding:12px;gap:10px}.material-editor-layout{grid-template-columns:260px minmax(0,1fr)}.material-stage-toolbar{flex-wrap:wrap;padding:10px}.material-export{padding:10px}}@media(max-width:650px){.material-editor{height:auto;min-height:100dvh}.material-editor-layout{display:flex;flex-direction:column-reverse}.material-stage{min-height:65vh}.material-canvas-wrap{min-height:40vh;max-height:65vh}.material-canvas-wrap canvas{max-width:100%}.material-toolbox{overflow:visible}.material-crop-picker{max-width:280px}.material-editor-header>.material-actions{margin-left:0}.material-pagination{gap:7px;font-size:12px}}.creation-status{font-size:12px;color:#476858;line-height:1.6}.creation-editor{min-height:100vh;background:#f3f5f2}.creation-editor .material-editor-header{flex-wrap:wrap}.creation-editor .material-editor-header>input{width:240px;flex:0 1 240px}.creation-editor .creation-category{width:88px}.creation-progress,.creation-step-tabs{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 24px}.creation-progress{background:#fff;border-bottom:1px solid #e1e7e2}.creation-progress>button{margin-left:auto}.creation-alert{margin:12px 24px;padding:12px 16px;background:#fff;border-radius:8px}.creation-step-tabs .selected{background:#e0eee4;color:#166442;border-color:#9bbca8}.creation-review-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;padding:0 24px 24px;align-items:start}.creation-review-image{min-width:0;padding:24px;background:#e4e9e5;border-radius:12px;text-align:center}.creation-boxes{display:block;width:100%;height:auto;touch-action:none;-webkit-user-select:none;user-select:none;overflow:visible}.creation-boxes g{cursor:move}.creation-boxes g rect{fill:#46504c14;stroke:#77867c;stroke-width:1.5px}.creation-boxes g.chosen rect{fill:#2297591f;stroke:#189151}.creation-boxes g.active rect{stroke:#e19529;stroke-width:3px}.creation-boxes g text{fill:#fff;stroke:#235c43;stroke-width:3px;paint-order:stroke;pointer-events:none}.creation-boxes g circle{fill:#fff;stroke:#e19529;stroke-width:2px;vector-effect:non-scaling-stroke;cursor:nwse-resize}.creation-review-panel{padding:18px;background:#fff;border-radius:12px}.creation-line-list{max-height:350px;overflow-y:auto;margin:16px 0}.creation-line-list>div{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid transparent;border-radius:6px}.creation-line-list>div.active{background:#edf5ee;border-color:#b2cfbb}.creation-line-list input{width:17px;height:17px;flex-shrink:0}.creation-line-list button{display:block;text-align:left;background:transparent;border:0;padding:3px;min-width:0}.creation-line-list button span{display:block;overflow-wrap:anywhere}.creation-line-list small{display:block;color:#77847b;font-size:11px;margin-top:4px}.creation-review-panel fieldset{min-width:0;border:1px solid #dde6df;padding:12px;border-radius:8px}.creation-review-panel legend{font-size:13px;padding:0 5px}.creation-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.creation-number-grid input{min-width:0}.creation-generate-button{width:100%;margin-top:18px}@media(max-width:1100px){.creation-review-layout{grid-template-columns:minmax(0,1fr) 300px}}@media(max-width:760px){.creation-review-layout{grid-template-columns:1fr;padding:0 12px 16px}.creation-review-image{padding:12px}}.creation-results{padding:0 24px 24px}.creation-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.creation-comparison figure{margin:0;padding:16px;background:#fff;border-radius:10px;min-width:0}.creation-comparison figcaption{margin-bottom:12px;font-weight:600}.creation-comparison figure>div{display:flex;align-items:center;justify-content:center;aspect-ratio:var(--creation-ratio);background:#e4e9e5;overflow:hidden}.creation-comparison img{display:block;width:100%;height:100%;object-fit:contain}.creation-check{padding:16px;background:#e0eee4;border-radius:8px;margin-bottom:16px;overflow-wrap:anywhere}.creation-check.warning{background:#fff3dc}.creation-result-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:16px}.creation-result-toolbar>label{flex:0 1 420px;min-width:0;max-width:100%;margin:0}.creation-result-toolbar select,.creation-result-toolbar>button{height:42px}.creation-result-toolbar select{min-width:0}.creation-result-toolbar>button{flex-shrink:0;white-space:nowrap}.creation-change-summary{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.8;overflow-wrap:anywhere}@media(max-width:760px){.creation-comparison{grid-template-columns:1fr}.creation-results{padding:0 12px 16px}}.sidebar-group-toggle{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;padding:13px 12px;color:var(--muted);font-size:14px}.sidebar-group-toggle span{flex:1;text-align:left}.sidebar-group-toggle.current{color:var(--green);font-weight:600}.sidebar-group-toggle .collapsed{transform:rotate(-90deg)}.sidebar-subnav{margin:0 0 8px 21px;padding-left:13px;border-left:1px solid var(--line)}.sidebar-subnav a{font-size:13px;padding:10px 12px}.creation-history-heading{margin:32px 0 20px}.creation-history-heading h2{font-size:19px;margin:0}.material-card{display:flex;flex-direction:column;min-width:0}.material-card-body{display:flex;flex:1;flex-direction:column;min-width:0}.material-card-body>.material-actions{margin-top:auto;padding-top:12px}.material-card-body>.creation-status{margin:4px 0 10px;min-height:20px}button.list-delete{color:#9d3a2c;font-size:12px;white-space:nowrap}button.list-delete:hover:not(:disabled){background:#faece7;border-color:#dbb7ae}.delete-dialog{max-width:480px}.template-generation-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.template-generation-heading span{font-size:12px;color:var(--muted)}.template-prompt-sections{display:grid;gap:14px}.template-prompt-section{min-width:0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fcfdfb}.template-prompt-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.template-prompt-section-heading h3{display:flex;align-items:center;gap:9px;margin:0;font-size:14px}.template-generation-editor-body{padding:0 24px 24px}@media(max-width:760px){.template-generation-editor-body{padding:0 12px 16px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.material-card-body{padding:12px}.material-thumbnail{height:180px}}@media(max-width:600px){.sidebar{flex-wrap:wrap}.sidebar nav{width:100%;margin-left:0;flex-wrap:wrap;align-items:flex-start}.sidebar-group-toggle{padding:9px;font-size:12px;gap:5px}.sidebar-subnav{margin-left:8px;padding-left:4px}.sidebar nav .sidebar-group-toggle>svg:last-child{display:block}}@media(max-width:380px){.material-grid{grid-template-columns:1fr}}.creation-save-dialog{margin:auto;border:0;width:min(450px,calc(100vw - 32px));color:inherit}.creation-save-dialog::backdrop{background:#17251f70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.creation-save-dialog form{display:grid;gap:18px}.creation-save-dialog .material-actions{justify-content:flex-end}.creation-save-dialog .creation-save-warning{display:flex;align-items:flex-start;gap:10px}.creation-save-warning input{width:auto;margin-top:4px}.template-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;color:var(--green)}.template-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 0 24px;padding:12px;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.template-steps button{width:100%;border:0;background:transparent;color:var(--muted);justify-content:center}.template-steps button>span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eff1ec}.template-steps .current button{background:#e5eee0;color:var(--green);font-weight:600}.template-steps .current span,.template-steps .done span{background:var(--green);color:#fff}.template-wizard-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);align-items:start;gap:24px}.template-wizard-preview,.template-wizard-panel,.template-prompt-review{min-width:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}.template-wizard-preview{background:#edf0e9}.template-calibration-canvas{display:block;width:100%;height:auto;max-height:72vh;aspect-ratio:3 / 4;-webkit-user-select:none;user-select:none}.template-wizard-panel h2,.template-prompt-review h2{font-size:20px;margin:0 0 12px}.template-prompt-review>.muted{line-height:1.8;margin-bottom:24px}.template-scene-input{min-height:240px;line-height:1.9;resize:vertical}.template-text-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.template-text-tabs button{font-size:12px}.template-text-tabs .selected{background:#e5eee0;color:var(--green);border-color:#b8caae}.template-text-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.template-text-controls input[type=color]{width:100%;height:42px;padding:4px}.template-step-actions{margin-top:24px;flex-wrap:wrap}.template-prompt-review{max-width:1100px;margin:0 auto}.template-prompt-review textarea{width:100%;resize:vertical;font-size:14px;line-height:1.9}.template-review-copy label{margin-bottom:12px}.template-prompt-full{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.9;color:#5b655b}.template-prompt-raw{margin:18px 0;padding:14px;background:#f5f7f2;border-radius:8px}.template-prompt-raw summary{cursor:pointer;color:var(--green)}@media(max-width:900px){.template-wizard-layout{grid-template-columns:minmax(0,1fr)}.template-wizard-preview,.template-wizard-panel,.template-prompt-review{padding:16px}.template-calibration-canvas{max-height:58vh}.template-steps{gap:4px;padding:6px}.template-steps button{font-size:12px;gap:5px;padding:10px 4px}}.creation-comparison.creation-finished{grid-template-columns:minmax(0,1fr);width:100%;max-width:720px;margin:20px auto}.template-gallery .preview-wrap img{display:block;width:100%;height:100%;object-fit:contain}
