:root{color-scheme:light;--blue: #6eb6e8;--orange: #ff8a3d;--ink: #4a6a88;--field-border: #d7e4f0;--placeholder: #b7c7d6;font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,sans-serif;line-height:1.4;font-weight:400;color:#1c1917;background:#b9d8f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;min-height:100dvh}body{min-width:320px}.bgm-toggle{position:fixed;top:max(12px,env(safe-area-inset-top));left:12px;z-index:50;width:36px;height:36px;border:0;border-radius:50%;background:#ffffffb8;color:#4a6a88;font-size:.78rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 4px 12px #5078a033;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bgm-toggle:active{transform:scale(.94);opacity:.9}.screen{min-height:100dvh;display:grid;place-items:center;background:#a8cff0;overflow:hidden}.stage{position:relative;width:100vw;height:100dvh;overflow:hidden}.bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none;-webkit-user-select:none;user-select:none}.title{position:absolute;left:0;right:0;top:7.2%;z-index:2;text-align:center;padding:0 4%;pointer-events:none}.title h1{margin:0;font-size:clamp(1.55rem,7.2vw,2.15rem);font-weight:800;letter-spacing:.04em;line-height:1.25}.t-blue,.t-orange{-webkit-text-stroke:3px #fff;paint-order:stroke fill;text-shadow:0 2px 0 rgba(255,255,255,.9)}.t-blue{color:#6eb6e8}.t-orange{color:#ff8a3d}.sub{margin:.55em 0 0;color:#7eb8e8;font-size:clamp(.78rem,3.2vw,.95rem);font-weight:500;letter-spacing:.08em}.panel{position:absolute;left:50%;top:57%;z-index:2;width:46%;transform:translate(-50%);display:grid;gap:3.6vw;justify-items:center}.field{position:relative;display:block;width:100%}.field .icon{position:absolute;left:3.2vw;top:50%;transform:translateY(-50%);display:grid;place-items:center;pointer-events:none}.field input{width:100%;height:clamp(40px,11vw,48px);border:1.5px solid var(--field-border);border-radius:10px;padding:0 3vw 0 11vw;background:#fff;color:#3a556e;font:inherit;font-size:16px;outline:none;box-shadow:0 2px 8px #6ea0c81f}.field input::placeholder{color:var(--placeholder)}.field input:focus{border-color:#8ec4ea;box-shadow:0 0 0 3px #6eb6e833}.confirm{border:0;width:88%;min-height:40px;padding:.5em 1.2em;border-radius:999px;background:linear-gradient(180deg,#ff9a4a,#ff6b2c);color:#fff;font:inherit;font-size:clamp(1.05rem,4.2vw,1.2rem);font-weight:700;letter-spacing:.12em;line-height:1.2;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px #ff7a2f59}.confirm:active{transform:scale(.98);opacity:.92}.tip{margin:0;color:#5a7a98;font-size:.85rem;text-align:center}.enter-hotspot{position:absolute;left:50%;bottom:28%;z-index:3;transform:translate(-50%);width:58%;border:0;padding:0;background:transparent;cursor:pointer}.enter-bubble{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 12px rgba(220,60,60,.35))}.finger{position:absolute;right:-6%;bottom:-28%;width:38%;height:auto;display:block;pointer-events:none;animation:tap 1.2s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}@keyframes tap{0%,to{transform:translate(0) rotate(-12deg)}50%{transform:translate(-6%,-10%) rotate(-18deg)}}.enter-hotspot:active{transform:translate(-50%) scale(.97)}.emp-tag{position:absolute;top:3%;right:4%;z-index:2;margin:0;padding:4px 10px;border-radius:999px;background:#ffffffbf;color:#4a6a88;font-size:.75rem}.lottery-rules{position:absolute;left:6%;right:6%;bottom:max(3.5%,env(safe-area-inset-bottom,0px) + 2%);z-index:3;margin:0;padding:1.15rem .9rem .75rem;border:2px solid #fff;border-radius:18px;background:#8a8a8a;box-shadow:0 6px 16px #0000001f}.lottery-rules__title{position:absolute;left:12px;top:0;z-index:1;margin:0;padding:.22em .85em;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,#ff8a2b,#ffc24a);color:#fff;font-size:clamp(.78rem,3.2vw,.92rem);font-weight:700;letter-spacing:.04em;line-height:1.3;white-space:nowrap;box-shadow:0 2px 6px #ff8c2859}.lottery-rules__body{margin:0;min-height:2.4em}.lottery-rules__body p{margin:0;color:#fff;font-size:clamp(.78rem,3.2vw,.9rem);line-height:1.55;word-break:break-all}.polaroid-card{position:absolute;left:50%;top:8%;z-index:2;width:78%;transform:translate(-50%);padding:3.2% 3.2% 4%;border-radius:14px;background:#fffffff2;box-shadow:0 10px 28px #5078b447;text-align:center;animation:polaroid-in 1.35s cubic-bezier(.22,1,.36,1) both}@keyframes polaroid-in{0%{opacity:0;transform:translate(-50%) translateY(28px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.polaroid-card .photo-wrap{overflow:hidden;border-radius:8px;line-height:0}.polaroid-card .photo-wrap img{width:100%;height:auto;display:block}.polaroid-card h2{margin:.7em 0 .35em;color:#3d7ec4;font-size:clamp(.92rem,3.8vw,1.05rem);font-weight:700}.polaroid-card p,.polaroid-card .copy{margin:.55em 0 0;color:#5a8fc2;font-size:clamp(.72rem,3vw,.85rem);line-height:1.55;text-align:left}.upload-btn{position:absolute;left:50%;bottom:10%;z-index:3;width:62%;max-width:320px;transform:translate(-50%);border:0;border-radius:999px;padding:.72em 1.2em;background:#ff5b5b;color:#fff;font:inherit;font-size:clamp(1rem,4.2vw,1.2rem);font-weight:700;letter-spacing:.12em;line-height:1.2;cursor:pointer;box-shadow:0 6px 14px #ff505059}.upload-btn:disabled{opacity:.72;cursor:wait}.upload-btn:active:not(:disabled){transform:translate(-50%) scale(.97)}.upload-hint{position:absolute;left:4%;right:4%;bottom:max(2%,env(safe-area-inset-bottom,0px) + 10px);z-index:3;margin:0;text-align:center;color:#3d6fd4;font-size:clamp(.72rem,3vw,.88rem);letter-spacing:.02em;pointer-events:none}.wx-share-tip{position:fixed;top:max(8px,env(safe-area-inset-top));right:10px;z-index:70;width:clamp(64px,18vw,86px);height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}.hidden-file{display:none}.gen-status{position:absolute;left:6%;right:6%;bottom:2.2%;z-index:4;margin:0;text-align:center;color:#3a556e;font-size:clamp(.72rem,3vw,.85rem);background:#ffffffbf;border-radius:999px;padding:6px 10px}.generating-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#b9d8f0;display:grid;place-items:center}.generating-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none;-webkit-user-select:none;user-select:none}.generating-progress{position:absolute;left:12%;right:12%;bottom:max(8%,env(safe-area-inset-bottom,0px) + 6%);z-index:2;display:grid;gap:10px;justify-items:center}.generating-progress__track{width:100%;height:10px;border-radius:999px;background:#ffffffb8;box-shadow:inset 0 1px 3px #5078a02e;overflow:hidden}.generating-progress__bar{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#3e7af6,#69b4f2 55%,#ffb45c);transition:width .12s linear;box-shadow:0 0 10px #3e7af673}.generating-progress__text{margin:0;color:#3a6aa0;font-size:.92rem;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 0 rgba(255,255,255,.8)}.share-guide{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;border:0;margin:0;padding:0;background:#0000008c;color:#fff;cursor:pointer}.share-guide-card{position:absolute;top:max(12px,env(safe-area-inset-top));right:14px;max-width:78%;text-align:right;line-height:1.45;font-size:.95rem}.share-guide-arrow{margin:0 8px 6px 0;font-size:1.8rem;line-height:1}.share-guide-card p{margin:.15em 0}.share-guide-sub{margin-top:.55em!important;opacity:.75;font-size:.78rem}.result-head{position:absolute;left:0;right:0;top:6%;z-index:2;text-align:center;pointer-events:none}.result-head .success{width:28%;height:auto;display:block;margin:0 auto}.result-head .result-title{width:58%;height:auto;display:block;margin:.2rem auto 0}.result-photo{position:absolute;left:50%;top:24%;z-index:2;width:72%;transform:translate(-50%)}.result-photo .pin{position:absolute;left:-4%;top:-8%;width:18%;z-index:2;transform:rotate(-18deg);filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.result-photo .frame{padding:3.5%;border-radius:12px;background:#fff;box-shadow:0 12px 30px #3c649647;line-height:0}.result-photo .frame img{width:100%;height:auto;display:block;border-radius:6px}.hint{position:absolute;left:50%;top:62%;z-index:2;width:72%;height:auto;transform:translate(-50%);display:block;pointer-events:none}.actions{position:absolute;left:50%;bottom:8%;z-index:3;width:82%;transform:translate(-50%);display:flex;gap:4%;justify-content:center;align-items:center}.actions button{flex:1;border:0;cursor:pointer;box-sizing:border-box;min-height:48px;padding:.72em .6em;border-radius:999px;color:#fff;font:inherit;font-size:clamp(.95rem,3.8vw,1.1rem);font-weight:700;letter-spacing:.06em;line-height:1.2;display:inline-flex;align-items:center;justify-content:center}.actions .action-save{background:linear-gradient(180deg,#69a8f5,#4a8ce8);box-shadow:0 6px 14px #4a8ce859}.actions .action-regen{background:#ff5b5b;box-shadow:0 6px 14px #ff505059}.actions .action-regen:disabled,.actions .action-save:disabled{opacity:.72;cursor:wait}.actions button:active:not(:disabled){transform:scale(.97);opacity:.92}.share-page{max-width:720px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:20px;background:radial-gradient(circle at top left,#d9f99d55,transparent 40%),radial-gradient(circle at top right,#99f6e455,transparent 35%),#f3f0ea;min-height:100dvh;--panel: #fffdf8;--line: #e7e0d5;--muted: #57534e;--accent: #0f766e;--accent-ink: #ecfdf5;--warn: #b45309;--error: #b91c1c;--ok: #047857}.share-page .hero h1{margin:8px 0;font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.02em}.share-page .eyebrow{margin:0;color:var(--accent);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.share-page .lead{margin:0;color:var(--muted)}.share-page .panel,.share-page .tips{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.share-page .meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.share-page .pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.85rem;color:var(--muted)}.share-page .pill[data-ok=true]{color:var(--ok);border-color:#a7f3d0;background:#ecfdf5}.share-page .pill[data-status=ready]{color:var(--ok)}.share-page .pill[data-status=error]{color:var(--error)}.share-page .form{display:grid;gap:14px}.share-page label{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.share-page input,.share-page textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;color:#1c1917;background:#fff}.share-page button[type=submit]{border:0;border-radius:12px;padding:12px 16px;font:inherit;font-weight:600;color:var(--accent-ink);background:var(--accent);cursor:pointer}.share-page button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.share-page .msg{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#f5f5f4;color:var(--muted);font-size:.92rem}.share-page .msg[data-status=ready]{background:#ecfdf5;color:var(--ok)}.share-page .msg[data-status=warn]{background:#fffbeb;color:var(--warn)}.share-page .msg[data-status=error]{background:#fef2f2;color:var(--error)}.share-page .debug{margin-top:14px;color:var(--muted);font-size:.9rem}.share-page .debug pre{overflow:auto;padding:12px;border-radius:10px;background:#1c1917;color:#fafaf9;font-size:.8rem}.share-page .tips h2{margin:0 0 10px;font-size:1.05rem}.share-page .tips ol{margin:0;padding-left:1.2rem;color:var(--muted)}.share-page code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:#efeae2;padding:.1em .35em;border-radius:4px}.cors-page[data-v-820a6a1b]{max-width:720px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:14px;min-height:100dvh;background:#f4f6f8;color:#1c1917}h1[data-v-820a6a1b]{margin:0;font-size:1.35rem}.lead[data-v-820a6a1b]{margin:0;color:#57534e;font-size:.95rem}label[data-v-820a6a1b]{display:grid;gap:6px;font-size:.9rem;color:#57534e}input[data-v-820a6a1b]{border:1px solid #d6d3d1;border-radius:10px;padding:10px 12px;font:inherit}button[data-v-820a6a1b]{border:0;border-radius:12px;padding:12px 16px;font:inherit;font-weight:600;color:#fff;background:#0f766e;cursor:pointer}button[data-v-820a6a1b]:disabled{opacity:.6;cursor:not-allowed}.verdict[data-v-820a6a1b]{margin:0;padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#047857;font-size:.92rem}.log[data-v-820a6a1b]{margin:0;padding:12px;border-radius:10px;background:#1c1917;color:#fafaf9;font-size:.78rem;overflow:auto;white-space:pre-wrap;word-break:break-all}.tips[data-v-820a6a1b]{margin:0;padding-left:1.2rem;color:#57534e;font-size:.9rem}code[data-v-820a6a1b]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:#e7e5e4;padding:.1em .35em;border-radius:4px}.mx-page[data-v-0d847fbe]{max-width:760px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:12px;min-height:100dvh;background:#f4f6f8;color:#1c1917}h1[data-v-0d847fbe]{margin:0;font-size:1.35rem}.lead[data-v-0d847fbe]{margin:0;color:#57534e;font-size:.92rem}label[data-v-0d847fbe]{display:grid;gap:6px;font-size:.9rem;color:#57534e}input[data-v-0d847fbe],textarea[data-v-0d847fbe],select[data-v-0d847fbe]{border:1px solid #d6d3d1;border-radius:10px;padding:10px 12px;font:inherit;background:#fff}.row[data-v-0d847fbe]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 640px){.row[data-v-0d847fbe]{grid-template-columns:1fr}}button[data-v-0d847fbe]{border:0;border-radius:12px;padding:12px 16px;font:inherit;font-weight:600;color:#fff;background:#4f46e5;cursor:pointer}button[data-v-0d847fbe]:disabled{opacity:.6;cursor:not-allowed}.thumbs[data-v-0d847fbe],.results[data-v-0d847fbe]{display:flex;flex-wrap:wrap;gap:10px}.thumbs img[data-v-0d847fbe],.results img[data-v-0d847fbe]{width:120px;height:120px;object-fit:cover;border-radius:10px;border:1px solid #e7e5e4}.results img[data-v-0d847fbe]{width:min(100%,320px);height:auto}.status[data-v-0d847fbe]{margin:0;color:#3730a3;font-size:.92rem}.urls[data-v-0d847fbe]{font-size:.85rem;color:#57534e;word-break:break-all}.log[data-v-0d847fbe]{margin:0;padding:12px;border-radius:10px;background:#1c1917;color:#fafaf9;font-size:.78rem;white-space:pre-wrap;word-break:break-all}code[data-v-0d847fbe]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:#e7e5e4;padding:.1em .35em;border-radius:4px}
