*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#2d1b0e,#5c2c1d,#8b3a1c);min-height:100vh;color:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}#app{min-height:100vh}.navbar{height:52px;background:linear-gradient(135deg,#2d1b0ed9,#5c2c1dd9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,140,0,.25);display:flex;align-items:center;justify-content:space-between;padding:0 12px;position:sticky;top:0;z-index:100;gap:8px}.navbar .logo{font-size:15px;font-weight:600;background:linear-gradient(90deg,gold,#ff8c00,#ff4500);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.2px}.navbar-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.nav-btn-icon{padding:6px 10px;min-width:32px;font-size:16px;font-weight:600;line-height:1}.navbar .actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.nav-btn{background:#ff8c0026;border:1px solid rgba(255,140,0,.4);color:orange;padding:6px 10px;border-radius:16px;cursor:pointer;font-size:12px;transition:all .2s;white-space:nowrap;min-height:32px;display:inline-flex;align-items:center;justify-content:center}.nav-btn:active{background:#ff8c004d;transform:scale(.95)}.nav-btn.primary{background:linear-gradient(135deg,#ff4500,#ff6b00);border:none;color:#fff;font-weight:500}.stepper{display:flex;align-items:center;justify-content:center;padding:10px 8px;background:#0003;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.stepper::-webkit-scrollbar{display:none}.stepper::-webkit-scrollbar-thumb{display:none}.step-item{display:flex;align-items:center;gap:4px;color:#fff6;font-size:11px;transition:all .3s;flex-shrink:0}.step-item .num{width:22px;height:22px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;transition:all .3s;flex-shrink:0}.step-item.active{color:orange}.step-item.active .num{background:linear-gradient(135deg,gold,#ff8c00);color:#4a1a00;transform:scale(1.1);box-shadow:0 0 8px #ff8c0099}.step-item.done{color:#ff8c00}.step-item.done .num{background:linear-gradient(135deg,#ff8c00,#ff4500);color:#fff}.step-arrow{color:#fff3;font-size:12px;flex-shrink:0}.container{display:flex;flex-direction:column;min-height:calc(100vh - 96px);padding-bottom:env(safe-area-inset-bottom)}.panel-left{background:#ffffff08;border-top:1px solid rgba(255,255,255,.05);padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;order:2}.panel-title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.panel-title:before{content:"";width:4px;height:16px;background:linear-gradient(180deg,gold,#ff4500);border-radius:2px;flex-shrink:0}.panel-right{padding:16px 12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;background:radial-gradient(circle at 50% 30%,rgba(255,140,0,.08),transparent 60%);order:1}.preview-wrapper{position:relative;width:min(400px,calc(100vw - 32px));aspect-ratio:1 / 1;background:#ffffff0d;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006;display:flex;align-items:center;justify-content:center;flex-shrink:0}.preview-canvas{position:relative;width:100%;height:100%;overflow:hidden;aspect-ratio:1 / 1}.preview-empty{color:#fff6;text-align:center;padding:24px;position:relative;z-index:10;top:25%}.preview-empty .icon{font-size:48px;margin-bottom:12px;opacity:.5}.preview-empty>div:last-child{font-size:13px}.preview-layer{position:absolute;top:0;left:0;width:100%;height:100%}#photoLayer{z-index:2;overflow:hidden}#bgLayer{z-index:1}#borderLayer{z-index:3;pointer-events:none}#stickerLayer{z-index:4;pointer-events:none}#textLayer{z-index:5;pointer-events:none}.preview-layer.circle-scale{transform:scale(.75);transform-origin:center}.btn{padding:11px 18px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;background:transparent;color:inherit}.btn:active{transform:scale(.95)}.btn-primary{background:linear-gradient(135deg,#ff4500,#ff8c00);color:#fff;box-shadow:0 4px 12px #ff8c0066}.btn-secondary{background:#ff8c0033;color:orange;border:1px solid rgba(255,140,0,.4)}.btn-ghost{background:transparent;color:#ffffffb3;border:1px solid rgba(255,255,255,.2)}.btn-block{width:100%;height:44px;font-size:14px}.btn-large{height:48px;font-size:15px}.btn:disabled{opacity:.5;cursor:not-allowed}.photo-source-btns{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.source-btn{height:56px;border-radius:12px;border:none;cursor:pointer;font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.source-btn .icon{font-size:20px}.source-btn.camera{background:linear-gradient(135deg,#ff4500,#ff6b00);color:#fff}.source-btn.album{background:#ff8c001a;color:#fff;border:1px solid rgba(255,140,0,.3)}.source-btn.default{background:transparent;color:orange}.default-avatars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.avatar-item{aspect-ratio:1;border-radius:50%;cursor:pointer;overflow:hidden;border:2px solid transparent;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:40px}.avatar-item:hover{transform:scale(1.05)}.avatar-item.selected{border-color:orange;box-shadow:0 0 16px #ff8c0080}.avatar-item.male{background:linear-gradient(135deg,#ff8c42,orange)}.avatar-item.female{background:linear-gradient(135deg,#ff4500,#ff6b6b)}.crop-controls{display:flex;flex-direction:column;gap:16px}.tab-group{display:flex;background:#ffffff0d;border-radius:8px;padding:4px;gap:4px}.tab-item{flex:1;padding:10px;text-align:center;cursor:pointer;border-radius:6px;font-size:14px;transition:all .2s;color:#fff9}.tab-item.active{background:#ff8c0033;color:orange;font-weight:500}.crop-hint{color:#ffffff80;font-size:13px;padding:12px;background:#ff8c000f;border-radius:8px;border-left:3px solid #FFA500}.zoom-control{display:flex;align-items:center;gap:12px}.zoom-slider{flex:1;height:4px;border-radius:2px;background:#ffffff1a;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:gold;cursor:pointer}.zoom-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:gold;cursor:pointer;border:none}.zoom-icon-btn{font-size:18px;cursor:pointer;padding:4px;background:transparent;border:none;color:inherit}.template-list{display:flex;flex-direction:column;gap:12px}.template-card{display:flex;gap:12px;padding:12px;background:#ffffff0d;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s}.template-card:hover{background:#ffffff14}.template-card.selected{border-color:orange;box-shadow:0 0 16px #ff8c0066}.template-thumb{width:64px;height:64px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.template-info{flex:1}.template-info h4{font-size:15px;margin-bottom:4px}.template-info p{font-size:12px;color:#ffffff80}.template-check{align-self:center;color:orange;font-size:20px;opacity:0}.template-card.selected .template-check{opacity:1}.tpl-guochao{background:linear-gradient(135deg,#c41e1a,gold)}.tpl-shengxiao{background:linear-gradient(135deg,#ffe4b5,#ffb6c1)}.tpl-jianmian{background:linear-gradient(135deg,#ffe4b5,#5c2c1d)}.tpl-saiwu{background:linear-gradient(135deg,#5c2c1d,#ff8c00)}.thumb-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.thumb-photo{width:60%;height:60%;background:linear-gradient(135deg,#ffd7b5,#fa8);border-radius:50%}.thumb-deco{position:absolute;font-size:14px}.deco-tabs{display:flex;background:#ffffff0d;border-radius:8px;padding:4px;margin-bottom:16px;gap:4px}.deco-tab{flex:1;padding:10px;text-align:center;cursor:pointer;border-radius:6px;font-size:13px;transition:all .2s;color:#fff9}.deco-tab.active{background:linear-gradient(135deg,#ff4500,#ff8c00);color:#fff}.deco-content{min-height:300px;animation:fadeIn .15s}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.border-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.border-item,.sticker-item{aspect-ratio:1;background:#ffffff0d;border:2px solid transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:32px;transition:all .2s;position:relative}.border-item:hover,.sticker-item:hover{background:#ffffff1a}.border-item.selected,.sticker-item.selected{border-color:orange;background:#ff8c001a}.sticker-item .toggle-indicator{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:#00000080;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff}.sticker-item.active .toggle-indicator{background:#ff8c00}.item-label{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:10px;color:#ffffffb3}.text-config{display:flex;flex-direction:column;gap:16px}.text-input{width:100%;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;outline:none;font-family:inherit}.text-input:focus{border-color:orange}.config-row{display:flex;flex-direction:column;gap:8px}.config-row .label{font-size:12px;color:#fff9}.color-palette{display:flex;gap:6px;flex-wrap:wrap}.color-swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px orange}.option-row{display:flex;gap:8px}.option-pill{flex:1;padding:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;text-align:center;cursor:pointer;font-size:13px;transition:all .2s}.option-pill.selected{background:#ff8c0033;border-color:orange;color:orange}.filter-list{display:flex;flex-direction:column;gap:8px}.filter-item{display:flex;align-items:center;gap:12px;padding:10px;background:#ffffff0d;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.filter-item:hover{background:#ffffff14}.filter-item.selected{background:#ff8c001a;border-color:orange}.filter-thumb{width:40px;height:40px;border-radius:6px;flex-shrink:0}.filter-name{flex:1;font-size:14px}.filter-check{color:orange}.step-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.05)}.step-actions .btn{flex:1}.export-options{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px;background:#0000004d;border-radius:12px;width:100%;max-width:400px}.radio-group{display:flex;align-items:center;gap:6px;cursor:pointer}.radio-group input{accent-color:#FF8C00}.radio-group label{font-size:14px;cursor:pointer}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s;padding:16px}.modal-overlay.show{display:flex}.modal-content{background:linear-gradient(135deg,#3a1f10,#2d1b0e);border:1px solid rgba(255,140,0,.3);border-radius:16px;padding:24px 16px;max-width:480px;width:100%;text-align:center;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-content h2{color:orange;margin-bottom:8px;font-size:18px}.modal-content .result-image{width:min(320px,calc(100vw - 64px));aspect-ratio:1 / 1;margin:16px auto;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #00000080;position:relative;background:#ffffff0d;height:min(320px,calc(100vw - 64px))}.modal-content .result-image[style*="border-radius: 50%"]{height:min(320px,calc(100vw - 64px))}.modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}.artwork-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.artwork-item{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;position:relative;background:#ffffff0d;transition:all .2s}.artwork-item:hover{transform:scale(1.02)}.artwork-item .timestamp{position:absolute;bottom:4px;left:4px;background:#0009;padding:2px 6px;border-radius:4px;font-size:10px;color:gold;z-index:10}.empty-state{text-align:center;padding:60px 24px;color:#ffffff80}.empty-state .icon{font-size:80px;opacity:.4;margin-bottom:16px}.empty-state h3{color:#ffffffb3;margin-bottom:8px;font-size:16px}.empty-state p{font-size:13px}.hidden{display:none!important}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#000000d9;color:orange;padding:10px 20px;border-radius:20px;font-size:14px;z-index:2000;opacity:0;transition:opacity .3s;pointer-events:none;border:1px solid rgba(255,140,0,.4);white-space:nowrap}.toast.show{opacity:1}.preview-text{position:absolute;left:0;right:0;text-align:center;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.5);pointer-events:none;padding:0 8px;word-break:break-all}.preview-text.top{top:12px}.preview-text.center{top:50%;transform:translateY(-50%)}.preview-text.bottom{bottom:12px}.deco-element{position:absolute;pointer-events:none}@media (max-width: 359px){.navbar .logo{font-size:13px}.nav-btn{padding:5px 8px;font-size:11px}.step-item{font-size:10px;gap:3px}.step-item .num{width:20px;height:20px;font-size:10px}.panel-title{font-size:14px}.btn-large{height:48px;font-size:14px}}@media (min-width: 768px){.navbar{height:56px;padding:0 24px}.navbar .logo{font-size:18px}.nav-btn{padding:8px 16px;font-size:13px}.stepper{padding:16px 24px;gap:8px}.step-item{font-size:13px;gap:8px}.step-item .num{width:28px;height:28px;font-size:13px}.step-arrow{font-size:18px}.container{display:grid;grid-template-columns:40% 60%;min-height:calc(100vh - 120px)}.panel-left{border-top:none;border-right:1px solid rgba(255,255,255,.05);padding:24px;max-height:calc(100vh - 120px);order:1}.panel-title{font-size:18px;margin-bottom:20px}.panel-title:before{height:18px}.panel-right{padding:24px;gap:20px;order:2}.preview-wrapper{width:400px;max-width:90%}.preview-empty .icon{font-size:64px}.preview-empty>div:last-child{font-size:14px}}@media (min-width: 1024px){.preview-wrapper{width:440px}}
