.sticker-design-page{width:100vw;height:calc(100vh - 64px);overflow:hidden;background:#f7efe4;display:flex;padding:10px;box-sizing:border-box}.sticker-design-shell{width:100%;height:100%;display:flex;gap:12px;overflow:hidden}.sticker-preview-panel{flex:1;min-width:0;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.sticker-preview-panel>*{max-width:100%;max-height:100%;overflow:hidden}.sticker-preview-panel canvas,.sticker-preview-panel img{max-width:100%;max-height:100%;object-fit:contain}.sticker-preview-panel{position:relative;background:#f7efe4}.sticker-preview-toolbar{position:absolute;top:10px;left:10px;right:10px;z-index:5;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.sticker-sheet-tabs{position:absolute;left:20px;top:40%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:10px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;flex-wrap:nowrap;max-width:100%;pointer-events:auto;z-index:20}.sticker-sheet-tab{border:none;border-radius:999px;background:rgba(255,255,255,.92);color:#111;font-size:10px;font-weight:900;padding:3px;width:22px;height:22px;white-space:nowrap;cursor:pointer}.sticker-sheet-tab.active{background:#ff8fa2;color:white}.sticker-zoom-button{border:none;border-radius:999px;background-color:#ff8fa2;padding:5px;white-space:nowrap;cursor:pointer;pointer-events:auto;height:20px;width:60px;display:flex;justify-content:center;align-items:center;position:absolute;right:10px;top:10px;font-size:12px;color:white;z-index:20}.sticker-zoom-button img{width:70%}.sticker-preview-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.sticker-preview-scale{flex-shrink:0}.sticker-sheet-preview{transition:transform .25s ease;box-shadow:0 20px 40px rgba(0,0,0,.18),0 6px 14px rgba(0,0,0,.12);border-radius:24px}@media (orientation:portrait){.sticker-preview-toolbar{top:6px;left:6px;right:6px}.sticker-sheet-tab{font-size:9px;padding:6px 8px}.sticker-zoom-button{font-size:9px;padding:6px 9px}}.sticker-preview-panel.fit .sticker-preview-stage{align-items:center;justify-content:center;overflow:hidden}.sticker-preview-panel.fit .sticker-preview-scale{width:calc(620px * var(--preview-fit-scale));height:calc(877px * var(--preview-fit-scale));flex-shrink:0;overflow:visible}.sticker-preview-panel.fit .sticker-sheet-preview{width:620px;height:877px;transform:scale(var(--preview-fit-scale));transform-origin:top left}.sticker-preview-panel.zoomed .sticker-preview-stage{align-items:flex-start;justify-content:center;overflow:auto;padding-top:24px}.sticker-preview-panel.zoomed .sticker-preview-scale{width:calc(620px * var(--preview-zoom-scale));height:calc(877px * var(--preview-zoom-scale));flex-shrink:0;overflow:visible}.sticker-preview-panel.zoomed .sticker-sheet-preview{width:620px;height:877px;transform:scale(var(--preview-zoom-scale));transform-origin:top left}.sticker-control-panel{width:340px;height:100%;flex-shrink:0;background:#ffffff;border-radius:28px;padding:14px;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.12)}.sticker-control-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sticker-control-label{margin:0;font-size:9px;font-weight:900;letter-spacing:.12em;color:#ef7a45;text-transform:uppercase}.sticker-control-container{height:100%;display:flex;flex-direction:column;justify-content:center;align-content:center}.sticker-control-title{font-size:21px;font-weight:600;color:#111111;display:flex;line-height:2}.sticker-control-subtitle{margin:4px 0 0;font-size:10px;color:#777777}.sticker-top-buttons{display:flex;flex-direction:row}.sticker-save-message{font-size:10px;font-weight:800;color:#00a070}.sticker-save-button{color:#111111;font-size:14px;font-weight:600;letter-spacing:1.5;padding:0 16px}.sticker-random-button,.sticker-save-button{border:none;border-radius:999px;background:#ff8fa2;cursor:pointer;white-space:nowrap;margin:0 5px;color:white}.sticker-random-button{font-size:12px;font-weight:900;height:80%;padding:5px 12px;display:flex;justify-content:center;align-items:center;position:relative}.sticker-random-button img{width:60%;object-fit:contain}.sticker-save-button:disabled{opacity:.45;cursor:not-allowed}.sticker-style-choice{width:85px;height:85px;border:none;border-radius:18px;padding:6px;background:#f1f1f1;cursor:pointer;overflow:hidden}.sticker-style-choice.selected{outline:3px solid #ff8fa2;background:#fff2f5}.sticker-style-choice img{width:100%;height:100%;object-fit:cover;border-radius:13px;display:block}.sticker-step-tabs{display:flex;gap:6px;flex-shrink:0}.sticker-tab{flex:1;border:2px solid #ff8fa2;background:#ffffff;color:#ff8fa2;border-radius:999px;padding:5px 6px;font-size:12px;font-weight:500;cursor:pointer}.sticker-tab.active{background:#ff8fa2;color:#ffffff}.sticker-control-content{flex:1;min-height:0;overflow:hidden;display:flex}.sticker-step-box{width:100%;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.sticker-choice-row{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 8px}.sticker-choice-row>*{flex-shrink:0}@media (orientation:landscape){.sticker-choice-row{flex-wrap:wrap;overflow-x:hidden;overflow-y:visible;align-content:flex-start}.sticker-choice-row>*{flex-shrink:1}.sticker-photo-choice{width:calc(50% - 5px)}.sticker-photo-frame{width:100%;height:82px}.sticker-font-choice,.sticker-pill-choice{flex:1 1 calc(50% - 5px);padding:10px 12px;text-align:center}}.sticker-upload-card{height:92px;border:2px dashed #ff8fa2;border-radius:18px;background:#f5fffb;color:#ff8fa2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;text-align:center}.sticker-upload-plus{font-size:31px;line-height:1;font-weight:500}.sticker-upload-title{font-size:11px;font-weight:900}.sticker-upload-text{font-size:9px;color:#777777}.sticker-photo-choice{width:92px;border:none;background:#f7f7f7;border-radius:18px;padding:6px;font-size:10px;font-weight:900;cursor:pointer}.sticker-photo-choice.selected{outline:3px solid #ff8fa2}.sticker-photo-frame{width:80px;height:80px;border-radius:14px;overflow:hidden;background:#eeeeee;display:flex;align-items:center;justify-content:center}.sticker-photo-frame img{width:100%;height:100%;object-fit:cover}.sticker-photo-choice.upload{border:2px dashed #ccc;background:#fafafa}.upload-frame{display:flex;align-items:center;justify-content:center;font-size:32px;color:#888}.upload-plus{font-size:36px;font-weight:700}.upload-frame img{width:100%;height:100%;object-fit:cover;border-radius:12px}.sticker-font-choice,.sticker-pill-choice{border:none;border-radius:16px;background:#f1f1f1;color:#111111;padding:12px 16px;font-size:18px;font-weight:600;cursor:pointer;white-space:nowrap;display:flex;justify-content:center;align-items:center}.sticker-font-choice.selected,.sticker-pill-choice.selected{background:#ff8fa2;color:#ffffff}.sticker-input-row{display:flex;gap:8px}.sticker-text-input{width:100%;min-width:0;border:1px solid #dddddd;border-radius:999px;padding:10px 12px;font-size:12px;font-weight:800}.sticker-next-button,.sticker-order-button{margin-top:auto;border:none;border-radius:999px;padding:13px 18px;font-size:20px;font-weight:900;cursor:pointer}.sticker-next-button{background:#000000;color:#ffffff}.sticker-order-button{background:#00b89c;color:#ffffff}.sticker-next-button:disabled,.sticker-order-button:disabled{opacity:.45;cursor:not-allowed}.sticker-powered{margin:0;text-align:center;font-size:9px;color:#999999}.sticker-small-warning{margin:0;font-size:10px;font-weight:800;color:#ef7a45}.hidden{display:none}@media (orientation:portrait){.sticker-design-page{height:calc(100dvh - 64px);padding:8px}.sticker-design-shell{flex-direction:column;gap:8px}.sticker-preview-panel{flex:1;height:auto}.sticker-control-panel{width:100%;height:35dvh;border-radius:24px;padding:10px}.sticker-control-title{font-size:21px;line-height:1}.sticker-control-subtitle{display:none}.sticker-upload-card{height:72px}.sticker-photo-choice{width:74px}.sticker-photo-frame{width:62px;height:62px}.sticker-next-button,.sticker-order-button{padding:8px 16px;font-size:16px}.sticker-font-choice{font-size:12px;width:80px;max-height:80px;height:100%}.sticker-text-input{padding:5px 12px}.sticker-tab{padding:2px 6px}.sticker-choice-row{height:100%;align-items:center}}@media (orientation:landscape) and (max-height:760px){.sticker-design-page{height:calc(100dvh - 64px);padding:8px}.sticker-control-panel{width:320px;padding:10px;border-radius:22px}.sticker-control-title{font-size:16px}.sticker-control-subtitle{display:none}.sticker-upload-card{height:74px}}