:root{font-family:Avenir Next,Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#17211b;background:#eef1ef;font-synthesis:none;--green: #126b45;--green-dark: #0b4f33;--green-soft: #e8f3ed;--ink: #17211b;--muted: #7d8982;--line: #e5eae6;--surface: #ffffff;--surface-soft: #f7f9f7;--radius-lg: 22px;--radius-md: 15px;--shadow: 0 14px 40px rgba(25, 47, 35, .07)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 50% -20%,#fff 0,#eef1ef 46%,#e9edeb)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}header{height:72px;margin:18px 18px 0;padding:0 22px;position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;background:#ffffffeb;border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#168257,#0a5638);box-shadow:0 8px 20px #126b453d;font-family:Georgia,serif;font-size:23px}.brand strong{display:block;font-size:17px;letter-spacing:-.2px}.brand small{display:block;margin-top:1px;color:#8a958f;font-size:10px;letter-spacing:.12em}.header-actions{display:flex;align-items:center;gap:9px}button{min-height:36px;padding:8px 14px;color:#334139;background:#fff;border:1px solid #dce3de;border-radius:11px;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}button:hover:not(:disabled){color:var(--green-dark);background:#f7faf8;border-color:#a9bbb0;transform:translateY(-1px)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(22,130,87,.18);outline-offset:1px}.primary{color:#fff;background:linear-gradient(135deg,#13794f,#0c5c3b);border-color:transparent;font-weight:650;box-shadow:0 8px 20px #126b4533}.primary:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#17885a,#0b5537);border-color:transparent;box-shadow:0 10px 24px #126b4545}.ghost{color:#68746d;background:transparent;border-color:transparent}.desktop-app{min-height:100vh}.app-grid{height:calc(100vh - 108px);padding:14px 18px 18px;display:grid;grid-template-columns:310px minmax(570px,1fr) 330px;gap:14px}.left-panel,.right-panel,.workspace{min-height:0;background:#fffffff0;border:1px solid rgba(255,255,255,.92);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.left-panel,.right-panel{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cfd8d2 transparent}.left-panel::-webkit-scrollbar,.right-panel::-webkit-scrollbar,.workspace::-webkit-scrollbar{width:7px}.left-panel::-webkit-scrollbar-thumb,.right-panel::-webkit-scrollbar-thumb,.workspace::-webkit-scrollbar-thumb{background:#d3dbd6;border-radius:10px}.right-panel{padding:22px}.panel-section{padding:20px;border-bottom:1px solid var(--line)}.panel-section:last-of-type{border-bottom:0}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-title>span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:9px;color:var(--green-dark);background:var(--green-soft);font-size:11px;font-weight:750}.section-title h2{margin:0;font-size:14px;letter-spacing:-.1px}.mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-selector button{min-height:72px;padding:11px;text-align:left;border-radius:14px}.mode-selector b,.mode-selector small{display:block}.mode-selector b{font-size:11px;line-height:1.35}.mode-selector small{margin-top:5px;color:#8b968f;font-size:9px;line-height:1.35}.mode-selector button.active{color:#fff;background:linear-gradient(145deg,#0b5235,#168055);border-color:transparent;box-shadow:0 10px 24px #126b4533}.mode-selector button.active small{color:#ffffffb3}.upload-box{min-height:88px;padding:14px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#3a493f;background:#f8faf8;border:1.5px dashed #b8c5bc;border-radius:15px;transition:.18s ease}.upload-box:hover{color:var(--green-dark);background:#f1f7f3;border-color:#6f907d;transform:translateY(-1px)}.upload-box input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-box b{font-size:12px}.upload-box small,.muted{color:var(--muted);font-size:10px}.upload-box.compact{min-height:76px}.file-ok{margin-top:9px;overflow:hidden;color:#47745b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.background-upload-section:focus{outline:none}.paste-background-button{width:100%;min-height:34px;margin-top:8px;padding:6px 10px;color:#496759;background:#f3f7f4;border-color:#dbe6de;font-size:9px}.shot-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}.shot{display:flex;align-items:center;gap:7px;padding:7px;background:#fafbf9;border:1px solid #e7ebe8;border-radius:11px;transition:.15s ease}.shot:hover{background:#f4f8f5;border-color:#cedbd2}.shot.dragging{opacity:.45;border-color:#5e826d}.drag-handle{color:#a1aba4;cursor:grab;font-size:16px;line-height:1}.drag-handle:active{cursor:grabbing}.shot img{width:45px;height:36px;object-fit:cover;background:#edf0ee;border-radius:7px}.shot-info{min-width:0;flex:1}.shot-info b,.shot-info small{display:block;font-size:9px;white-space:nowrap}.shot-info small{margin-top:3px;color:#9aa39d}.shot-actions{display:flex;gap:2px}.shot-actions button{width:24px;height:24px;min-height:24px;padding:0;background:#eef2ef;border:0;border-radius:7px;font-size:11px}.field>span,.range-label>span{display:flex;justify-content:space-between;margin-bottom:8px;color:#657169;font-size:10px;font-weight:550}.field textarea{width:100%;padding:11px;resize:vertical;color:#28352d;background:#f9faf9;border:1px solid #dfe5e1;border-radius:12px;font-size:11px;line-height:1.6}.range-label{display:block;margin-top:14px}.range-label b{color:var(--green-dark);font-weight:650}.range-label input[type=range]{width:100%;height:4px;accent-color:var(--green);cursor:pointer}.row-control{display:flex;align-items:center;justify-content:space-between;margin-top:15px;color:#657169;font-size:10px}.row-control label{display:flex;align-items:center;gap:8px}.row-control input[type=color]{width:32px;height:28px;padding:2px;background:#fff;border:1px solid #dce3de;border-radius:8px}.align-buttons{display:flex}.align-buttons button{min-height:28px;padding:4px 10px;border-radius:0;font-size:10px}.align-buttons button:first-child{border-radius:9px 0 0 9px}.align-buttons button:last-child{border-radius:0 9px 9px 0}.align-buttons .active{color:#fff;background:var(--green-dark);border-color:var(--green-dark)}.text-button{width:100%;min-height:32px;margin-top:13px;padding:6px;color:#66736b;background:#f7f9f7;font-size:10px}.canvas-edit-panel>.section-title{margin-bottom:5px}.panel-hint{margin:0 0 14px;color:#8a958e;font-size:9px;line-height:1.55}.editor-subsection{padding:16px 0;border-top:1px solid var(--line)}.editor-subsection:last-child{padding-bottom:0}.subsection-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.subsection-title>span{display:grid;place-items:center;width:25px;height:25px;color:#42614f;background:#edf3ef;border-radius:8px;font-size:10px;font-weight:750}.subsection-title h3{margin:0;font-size:12px}.subsection-title small{margin-left:auto;padding:3px 7px;color:#7f8d84;background:#f0f3f1;border-radius:9px;font-size:8px}.text-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:3px;background:#f0f3f1;border-radius:12px}.text-tabs button{min-height:34px;padding:7px;background:transparent;border:0;border-radius:9px;font-size:11px}.text-tabs button.active{color:#fff;background:var(--green-dark);box-shadow:0 5px 12px #0b4f332e}.background-control{margin-top:14px;color:#657169;font-size:10px}.background-control>span{display:block;margin-bottom:8px}.background-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.background-buttons button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:31px;padding:5px 3px;font-size:9px}.background-buttons button.active{color:var(--green-dark);background:var(--green-soft);border-color:#7d9b89}.background-buttons i{width:11px;height:11px;border:1px solid #c7cec9;border-radius:3px;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0}.sticker-summary{display:flex;align-items:center;gap:9px;margin-top:10px;padding:7px;background:#f8faf8;border:1px solid #e4e9e5;border-radius:11px}.sticker-summary img{width:40px;height:40px;object-fit:contain;background:#eef1ef;border-radius:7px}.sticker-summary span{min-width:0;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.sticker-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.sticker-actions button{min-height:31px;padding:6px;font-size:9px}.warning,.stale{margin-top:9px;padding:8px 10px;border-radius:9px;font-size:9px;line-height:1.5}.warning{color:#8a682e;background:#fff7e6;border:1px solid #f3e3b9}.stale{color:#825b27;background:#fff4df;border:1px solid #eed9af}.workspace{min-width:0;padding:22px 24px;overflow:auto;background:#f7f9f7eb}.workspace-head{max-width:700px;margin:0 auto 15px;display:flex;align-items:end;justify-content:space-between}.workspace-head h1{margin:0 0 5px;color:#152019;font-size:20px;letter-spacing:-.5px}.workspace-head p{margin:0;color:#8a958e;font-size:10px}.canvas-tools{display:flex;gap:6px}.canvas-tools button{min-height:30px;padding:5px 9px;color:#637069;background:#fff;font-size:9px}.canvas-shell{width:max-content;margin:auto;padding:13px;background:#fff;border:1px solid #e4e9e5;border-radius:20px;box-shadow:0 18px 50px #1d2e241f}.canvas{position:relative;overflow:hidden;background:#e7ebe8;border-radius:10px;box-shadow:inset 0 0 0 1px #00000008}.background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.empty-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#87938b;background:radial-gradient(circle at 50% 38%,#f7faf8,#e4e9e5)}.empty-canvas span{display:grid;place-items:center;width:52px;height:52px;color:#fff;background:var(--green);border-radius:18px;box-shadow:0 10px 24px #126b4533;font-size:28px;font-weight:200}.empty-canvas b{margin-top:12px;font-size:11px}.stitch-layer{z-index:2;outline:1px dashed rgba(255,255,255,.85)}.stitch-layer img,.sticker-layer img{display:block;width:100%;height:100%;pointer-events:none}.sticker-layer{z-index:3;outline:1px dashed rgba(255,255,255,.85)}.sticker-layer img{object-fit:fill}.title-layer{z-index:3;cursor:move;outline:1px dashed transparent}.title-layer:hover{outline-color:#ffffffbf}.title-layer div{white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;font-family:Songti SC,STSong,SimSun,serif;text-shadow:0 1px 4px rgba(0,0,0,.18);pointer-events:none}.body-text-layer{z-index:4}.headline-layer{z-index:5}.canvas-meta{max-width:564px;margin:11px auto 0;display:flex;justify-content:space-between;color:#95a099;font-size:9px}.right-panel .section-title{margin-bottom:7px}.right-panel .muted{margin:0 0 17px;line-height:1.65}.crop-preview{position:relative;overflow:hidden;width:100%;min-height:190px;display:grid;place-items:center;background:#edf0ee;border:1px solid #e3e8e4;border-radius:16px}.crop-preview img{display:block;width:100%;height:auto}.crop-mask{position:absolute;left:0;right:0;background:#070e0a9e;pointer-events:none}.crop-mask.top{top:0}.crop-mask.bottom{bottom:0}.crop-focus{position:absolute;left:0;right:0;border-top:2px solid #82e2ac;border-bottom:2px solid #82e2ac;box-shadow:0 0 0 1px #00000024;pointer-events:none}.crop-empty{color:#909b94;text-align:center;font-size:10px;line-height:1.7}.full{width:100%;min-height:43px;margin-top:22px;border-radius:13px}.error{position:fixed;z-index:50;top:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;padding:11px 12px 11px 16px;color:#913d31;background:#fff7f5;border:1px solid #efcbc5;border-radius:13px;box-shadow:0 12px 35px #481b1521;font-size:11px}.error button{width:25px;height:25px;min-height:25px;padding:0;background:transparent;border:0}.mobile-message{display:none;padding:70px 30px;text-align:center}.mobile-message div{font-size:46px}.mobile-message h1{font-size:20px}.mobile-message p{color:#79857e;font-size:12px}@media(max-width:1180px){.desktop-app{display:none}.mobile-message{display:block}}
