*{box-sizing:border-box}html,body,#root{height:100%}body{color:#fff;overscroll-behavior:none;background:#000;margin:0}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.camera-app{color:#fff;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#000;font-family:system-ui,sans-serif;position:fixed;inset:0;overflow:hidden}.camera-app input{-webkit-user-select:auto;user-select:auto}.stage{touch-action:none;background:#000;position:absolute;inset:0;overflow:hidden}.stage.live{bottom:calc(112px + env(safe-area-inset-bottom))}.stage video{object-fit:cover;width:100%;height:100%}.stage video.mirror{transform:scaleX(-1)}.stage .overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.countdown{color:#ffffffeb;text-shadow:0 4px 24px #0009;pointer-events:none;justify-content:center;align-items:center;font-size:32vh;font-weight:700;animation:1s ease-out pop;display:flex;position:absolute;inset:0}@keyframes pop{0%{opacity:.2;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.sticker-root{pointer-events:none;position:absolute;inset:0}.sticker-root>*{pointer-events:auto}.sticker{touch-action:none;cursor:move;position:absolute}.sticker img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;display:block}.sticker.selected{outline-offset:2px;outline:2px dashed #3bd}.sticker-handle{color:#fff;touch-action:none;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute}.sticker-handle.del{cursor:pointer;background:#e33;border:none;top:-15px;right:-15px}.sticker-handle.rotate{cursor:grab;background:#3bd;top:-15px;left:-15px}.sticker-handle.resize{cursor:nwse-resize;background:#3bd;bottom:-15px;right:-15px}.sticker-handle.edit{cursor:pointer;background:#3bd;bottom:-15px;left:-15px}.bottom-bar{padding:20px 24px calc(20px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#0000,#00000080);justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.bottom-bar>*{pointer-events:auto}.bottom-bar,.editor .action-bar,.tpl-strip,.strip-pill-slot{transition:opacity .15s}.ui-hidden{opacity:0;pointer-events:none}.tpl-strip{left:0;right:0;top:calc(6px + env(safe-area-inset-top));z-index:5;pointer-events:none;padding:0 24px;position:absolute}.strip-pill-slot{left:0;right:0;bottom:calc(160px + env(safe-area-inset-bottom));z-index:5;pointer-events:none;justify-content:center;display:flex;position:absolute}.editor .strip-pill-slot{bottom:calc(76px + env(safe-area-inset-bottom))}.strip-pill{pointer-events:auto;white-space:nowrap;color:#fff;cursor:pointer;background:#1c1c1ed9;border:1px solid #fff3;border-radius:18px;align-items:center;gap:6px;padding:7px 14px;font-size:.85rem;animation:.2s fade;display:inline-flex}.strip-pill.pill-disabled{opacity:.55;color:#ffffffb3}.pill-act{color:#3bd;cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;font-size:.85rem;font-weight:600}.update-banner{top:calc(12px + env(safe-area-inset-top));z-index:50;white-space:nowrap;color:#fff;background:#1c1c1eeb;border:1px solid #fff3;border-radius:18px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;animation:.2s fade;display:inline-flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}.tpl-scroll{scroll-snap-type:x mandatory;touch-action:pan-x;scrollbar-width:none;gap:8px;padding:8px calc(50% - 27px);display:flex;position:relative;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000)}.tpl-scroll::-webkit-scrollbar{display:none}.tpl-cell{pointer-events:auto;scroll-snap-align:center;color:#fff;cursor:pointer;opacity:.65;background:0 0;border:none;flex-direction:column;flex:none;align-items:center;gap:3px;width:54px;padding:0;transition:opacity .15s,transform .15s;display:flex}.tpl-cell.on{opacity:1;transform:scale(1.06)}.tpl-cell .tpl-empty{color:#fff;background:#00000059;border-style:dashed;border-color:#ffffff80;justify-content:center;align-items:center;display:flex}.tpl-empty{font-size:.9rem}.tpl-cell.on .tpl-empty{border-style:solid;border-color:#3bd}.tpl-cell .tpl-preview{border:2px solid #0000;box-shadow:0 1px 6px #00000080}.tpl-cell.on .tpl-preview{border-color:#3bd}.tpl-name{color:#ddd;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #000c;max-width:100%;font-size:.6rem;overflow:hidden}.thumb{cursor:pointer;background:#78788080;border:2px solid #ffffffd9;border-radius:12px;width:56px;height:56px;padding:0}.thumb img{object-fit:cover;border-radius:10px;width:100%;height:100%;display:block}.thumb.placeholder{cursor:default;background:0 0;border-style:dashed;border-color:#ffffff40}.thumb{position:relative}.thumb.stack:before,.thumb.stack:after{content:"";z-index:-1;background:#444;border:2px solid #fff9;border-radius:12px;position:absolute;inset:-2px}.thumb.stack:before{transform:rotate(6deg)translate(3px,-1px)}.thumb.stack:after{transform:rotate(-5deg)translate(-3px,1px)}.thumb-badge{color:#fff;background:#0a7;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:-8px;right:-8px}.overlay-page{z-index:20;background:#000;animation:.26s cubic-bezier(.2,.8,.2,1) zoom-in;position:absolute;inset:0}@keyframes zoom-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.overlay-page.gallery{-webkit-overflow-scrolling:touch;overflow-y:auto}.page-dots{top:calc(16px + env(safe-area-inset-top));color:#fff;background:#0000008c;border-radius:12px;padding:4px 12px;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}.viewer{overflow:hidden}.editor{flex-direction:column;display:flex}.edit-area{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex}.edit-stage{max-width:100%;max-height:100%;line-height:0;position:relative;inset:auto}.edit-photo{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.swipe-area{touch-action:pan-y;position:absolute;inset:0;overflow:hidden}.viewer-track{will-change:transform;width:100%;height:100%;display:flex}.slide{object-fit:contain;pointer-events:none;flex:0 0 100%;width:100%;height:100%}.gallery-head,.action-bar,.page-dots{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#2c2c3080;border:1px solid #ffffff2e;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff1f}.sheet,.confirm-box{background:#1c1c1e;border:1px solid #ffffff29;box-shadow:0 8px 32px #0009,inset 0 1px #ffffff14}.gallery-head{top:calc(10px + env(safe-area-inset-top));z-index:2;width:fit-content;margin:calc(10px + env(safe-area-inset-top)) auto 0;color:#fff;border-radius:20px;padding:7px 18px;font-size:.9rem;position:sticky}.action-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border-radius:30px;justify-content:space-around;align-items:center;gap:4px;padding:6px 8px;display:flex;position:absolute}.text-btn{color:#3bd;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:10px 14px;font-size:1.05rem;text-decoration:none;display:inline-flex}.text-btn:disabled{color:#555;cursor:default}.text-btn.danger{color:#f55}.text-btn.danger:disabled{color:#555}.gallery-cell{position:relative}.gallery-cell.picked img{opacity:.55}.pick-mark{color:#fff;background:#00000059;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:6px;right:6px}.gallery-cell.picked .pick-mark{background:#0a7;border-color:#0a7}.gallery-grid{padding:8px 8px calc(96px + env(safe-area-inset-bottom));grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px;max-width:720px;margin:0 auto;display:grid}.gallery-cell{aspect-ratio:1;cursor:pointer;background:#111;border:none;border-radius:10px;padding:0;overflow:hidden}.gallery-cell img{object-fit:cover;width:100%;height:100%;display:block}.shutter{cursor:pointer;background:#fff;border:4px solid #ffffff59;border-radius:50%;width:72px;height:72px;box-shadow:inset 0 0 0 2px #000}.shutter:active{transform:scale(.94)}.shutter:disabled{opacity:.5}.icon{display:block}.icon-btn{-webkit-backdrop-filter:blur(24px)saturate(180%);color:#fff;cursor:pointer;background:#2c2c3080;border:1px solid #ffffff2e;border-radius:24px;justify-content:center;align-items:center;gap:6px;min-width:48px;height:48px;padding:0 14px;font-size:1.15rem;display:inline-flex}.icon-label{font-size:.9rem}.icon-btn.on{color:#000;background:#f5c518;font-weight:600}.tool-row{left:0;right:0;bottom:calc(116px + env(safe-area-inset-bottom));z-index:5;scrollbar-width:none;justify-content:center;gap:14px;padding:0 12px;display:flex;position:absolute;overflow-x:auto}.tool-row::-webkit-scrollbar{display:none}.tool-btn{-webkit-backdrop-filter:blur(24px)saturate(180%);color:#fff;cursor:pointer;background:#2c2c3080;border:1px solid #ffffff2e;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:relative}.tool-btn:active{transform:scale(.95)}.tool-btn.on{color:#000;background:#f5c518;border-color:#f5c518}.tool-badge{color:#000;background:#f5c518;border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.top-panel{left:0;right:0;top:calc(6px + env(safe-area-inset-top));z-index:5;padding:0 16px;position:absolute}.panel-strip{scrollbar-width:none;gap:8px;padding:8px 0;display:flex;overflow:auto hidden}.panel-strip::-webkit-scrollbar{display:none}.panel-cell{cursor:pointer;color:#fff;background:#2a2a2a;border:2px solid #0000;border-radius:8px;flex:none;justify-content:center;align-items:center;width:54px;height:72px;padding:0;display:flex;overflow:hidden;box-shadow:0 1px 6px #00000080}.panel-cell img{object-fit:contain;width:100%;height:100%}.panel-cell.on{border-color:#3bd}.panel-cell .none{opacity:.7;font-size:.85rem}.panel-cell.add{background:#2c2c3099;border:1px dashed #ffffff4d}.sheet-backdrop{z-index:30;background:#0006;align-items:flex-end;animation:.2s fade;display:flex;position:absolute;inset:0}.sheet{width:100%;max-height:85%;padding:8px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:.25s slide-up;overflow-y:auto}.sheet-grip{background:#ffffff4d;border-radius:3px;width:40px;height:5px;margin:4px auto 12px}.sheet-title{text-align:center;margin:0;font-size:1.05rem}.sheet-head{grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:12px;display:grid}.sheet-head .sheet-title{grid-column:2}.back{color:#3bd;cursor:pointer;background:0 0;border:none;justify-self:start;font-size:1rem}.upload{color:#3bd;cursor:pointer;background:0 0;border:none;justify-self:end;align-items:center;gap:4px;font-size:.95rem;display:inline-flex}.sheet-actions{justify-self:end;align-items:center;gap:14px;display:inline-flex}.sheet-done{color:#06232b;cursor:pointer;background:#3bd;border:none;border-radius:14px;width:100%;margin-top:16px;padding:12px;font-size:1rem;font-weight:600;display:block}.menu-row{color:#fff;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;width:100%;padding:16px 8px;font-size:1.05rem;display:flex}.menu-row .chev{color:#888;margin-left:auto;font-size:1.3rem}.menu-row .row-value{color:#888;margin-left:auto;font-size:.95rem}.menu-row.on,.menu-row.on .row-value{color:#3bd}.grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px;padding:4px 0;display:grid}.cell{position:relative}.cell-btn{aspect-ratio:1;color:#fff;cursor:pointer;background:#ffffff14;border:2px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;padding:6px;display:flex;overflow:hidden}.cell.active .cell-btn{border-color:#3bd}.cell-btn img{object-fit:contain;max-width:100%;max-height:62%}.cell-btn .none{font-size:1.6rem}.cell-name{color:#ccc;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.72rem;overflow:hidden}.cell-del{color:#fff;cursor:pointer;background:#e33;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:absolute;top:-6px;right:-6px}.tpl-preview{aspect-ratio:3/4;background:#2a2a2a;border-radius:6px;width:100%;position:relative;overflow:hidden;container-type:size}.tpl-preview img{max-width:none;max-height:none;position:absolute}.tpl-frame{object-fit:fill;width:100%;height:100%;inset:0}.tpl-sticker{object-fit:contain}.empty{color:#999;text-align:center;grid-column:1/-1;padding:24px 0;font-size:.9rem}.changelog{padding:0 4px 8px}.cl-ver{color:#3bd;margin:18px 0 6px;font-size:1rem}.cl-ver:first-child{margin-top:4px}.cl-sec{color:#ccc;margin:10px 0 4px;font-size:.9rem}.cl-item{color:#ddd;margin:3px 0;font-size:.9rem;line-height:1.5}.cl-text{color:#999;margin:2px 0;font-size:.85rem}.start-btn{color:#fff;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:14px;width:fit-content;height:fit-content;margin:auto;font-size:1.1rem;display:flex;position:absolute;inset:0}.start-ring{border:2px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;font-size:2.4rem;display:flex}.error{text-align:center;color:#f88;width:fit-content;height:fit-content;margin:auto;position:absolute;inset:0}.pill{color:#fff;cursor:pointer;background:#78788080;border:1px solid #ffffff4d;border-radius:24px;align-items:center;gap:6px;padding:12px 22px;font-size:1rem;display:inline-flex}.toast{color:#fff;text-align:center;background:#000000d1;border-radius:20px;max-width:90%;padding:10px 16px;font-size:.9rem;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}.confirm-backdrop{z-index:40;background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.2s fade;display:flex;position:absolute;inset:0}.confirm-box{text-align:center;border-radius:22px;width:100%;max-width:300px;padding:22px 20px 8px;animation:.2s cubic-bezier(.2,.8,.2,1) zoom-in}.confirm-msg{margin:0 0 16px;font-size:1.05rem}.incoming-preview{justify-content:center;margin:0 0 16px;display:flex}.incoming-preview .tpl-preview{width:120px}.confirm-actions{border-top:1px solid #ffffff26;justify-content:space-around;display:flex}.confirm-actions .text-btn{flex:1;justify-content:center}.name-input{color:#fff;background:#00000040;border:1px solid #ffffff40;border-radius:10px;width:100%;margin:0 0 16px;padding:10px 12px;font-size:1.05rem}.name-input:focus{border-color:#3bd;outline:none}.font-row{gap:6px;margin:0 0 12px;display:flex}.font-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:8px;flex:1;padding:8px 0;font-size:.95rem}.font-btn.on{background:#33bbdd2e;border-color:#3bd}.color-row{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;display:flex}.swatch{cursor:pointer;border:2px solid #ffffff59;border-radius:50%;width:26px;height:26px;padding:0}.swatch.on{border-color:#3bd;box-shadow:0 0 0 2px #3bd}.color-pick{cursor:pointer;background:0 0;border:none;width:30px;height:30px;padding:0}.hue-slider{appearance:none;cursor:pointer;background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:8px;width:100%;height:16px;margin:0 0 14px}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #0006;border-radius:50%;width:22px;height:22px}.hue-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #0006;border-radius:50%;width:22px;height:22px}.outline-toggle{color:#ddd;cursor:pointer;align-items:center;gap:8px;margin:0 0 16px;font-size:.9rem;display:flex}.outline-toggle input{accent-color:#3bd;width:18px;height:18px}.howto-intro{color:#ddd;margin:0 0 16px;font-size:.9rem;line-height:1.6}.howto-intro b{color:#fff}.howto{color:#ddd;margin:0;padding-left:22px;font-size:.9rem;line-height:1.7}.howto li{margin:6px 0}.howto b{color:#fff}.install-btn{color:#06232b;cursor:pointer;background:#3bd;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:1rem;font-weight:600;display:flex}.howto-note{color:#999;margin:14px 0 0;font-size:.8rem;line-height:1.6}.howto-warn{color:#f0d78a;background:#f5c5181f;border:1px solid #f5c51866;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:.85rem;line-height:1.6}.howto-warn b{color:#fff}@media (orientation:landscape){.stage,.stage.live{top:0;bottom:0}.bottom-bar{width:auto;padding:20px calc(20px + env(safe-area-inset-right)) 20px 20px;background:linear-gradient(90deg,#0000,#00000080);flex-direction:column-reverse;top:0;bottom:0;left:auto}.tool-row{top:50%;bottom:auto;left:calc(6px + env(safe-area-inset-left));flex-direction:column;gap:12px;width:auto;padding:0;right:auto;overflow:visible;transform:translateY(-50%)}.strip-pill-slot{bottom:calc(20px + env(safe-area-inset-bottom));left:0;right:112px}.editor .strip-pill-slot{bottom:calc(16px + env(safe-area-inset-bottom));right:0}.tpl-strip,.top-panel{padding-right:112px;padding-left:calc(60px + env(safe-area-inset-left))}.tpl-scroll{padding-top:4px;padding-bottom:4px}.tpl-cell{width:44px}.tpl-name{display:none}.panel-cell{width:44px;height:58px}.tpl-preview{aspect-ratio:4/3}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}
