.fade-enter-active[data-v-7a060bc9],.fade-leave-active[data-v-7a060bc9]{transition:opacity .16s ease}.fade-enter-from[data-v-7a060bc9],.fade-leave-to[data-v-7a060bc9]{opacity:0}.school-input[data-v-cb19ffd3]{width:100%}.combo[data-v-cb19ffd3]{position:relative;display:flex;gap:8px;align-items:stretch}.combo input[data-v-cb19ffd3]{flex:1;min-width:0;height:44px;padding:0 14px;border:1.5px solid var(--line, #d9dde3);border-radius:var(--r-md, 10px);background:#fff;color:var(--ink, #1f2933);font-size:14px;font-family:inherit;transition:border-color .18s,box-shadow .18s}.combo input[data-v-cb19ffd3]:focus{border-color:var(--brand, #0b9e74);box-shadow:0 0 0 3px var(--brand-soft, #e6f6f0);outline:none}.loc-btn[data-v-cb19ffd3]{flex:0 0 auto;padding:0 14px;border:1.5px solid var(--line, #d9dde3);border-radius:var(--r-md, 10px);background:#fff;color:var(--brand-deep, #087a5a);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .18s,background .18s,color .18s;white-space:nowrap;font-family:inherit}.loc-btn[data-v-cb19ffd3]:hover{border-color:var(--brand, #0b9e74);background:var(--brand-soft, #e6f6f0)}.loc-btn.on[data-v-cb19ffd3]{border-color:var(--brand, #0b9e74);background:var(--brand, #0b9e74);color:#fff}.loc-btn[data-v-cb19ffd3]:disabled{opacity:.6;cursor:default}.suggest[data-v-cb19ffd3]{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:#fff;border:1px solid var(--line, #d9dde3);border-radius:var(--r-md, 10px);box-shadow:var(--shadow-md, 0 10px 30px rgba(0,0,0,.12));max-height:264px;overflow-y:auto;padding:6px}.suggest-item[data-v-cb19ffd3]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s}.suggest-item[data-v-cb19ffd3]:hover{background:var(--brand-soft, #e6f6f0)}.suggest-item .s-name[data-v-cb19ffd3]{font-weight:600;color:var(--ink, #1f2933);font-size:14px}.suggest-item .s-loc[data-v-cb19ffd3]{color:var(--muted, #6b7280);font-size:12px}.suggest-item .s-near[data-v-cb19ffd3]{margin-left:auto;background:var(--brand, #0b9e74);color:#fff;font-size:11px;padding:2px 9px;border-radius:20px;font-weight:600}.suggest-item .s-dist[data-v-cb19ffd3]{margin-left:auto;color:var(--muted, #6b7280);font-size:12px}.si-hint[data-v-cb19ffd3]{margin-top:7px;font-size:12.5px;color:var(--brand-deep, #087a5a)}.si-err[data-v-cb19ffd3]{margin-top:7px;font-size:12.5px;color:var(--danger, #dc2626)}.section-label[data-v-f42b814d]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--ink);margin:20px 0 4px;padding-top:16px;border-top:1px dashed var(--line)}.region[data-v-f42b814d]{display:flex;gap:8px}.region select[data-v-f42b814d]{flex:1;min-width:0;height:44px;padding:0 28px 0 10px;border:1.5px solid var(--line);border-radius:var(--r-md);background-color:#fff;color:var(--ink);font-size:14px;font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%239aa0a6' d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .18s,box-shadow .18s}.region select[data-v-f42b814d]:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.region select[data-v-f42b814d]:disabled{background-color:var(--bg);color:var(--muted);cursor:not-allowed}.region select.invalid[data-v-f42b814d]{border-color:var(--danger)}.pay-methods[data-v-80be5aa4]{display:flex;flex-direction:column;gap:10px;margin-top:14px}.pay-opt[data-v-80be5aa4]{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .18s,background .18s}.pay-opt.active[data-v-80be5aa4]{border-color:var(--brand);background:var(--brand-soft)}.pay-opt input[data-v-80be5aa4]{display:none}.pay-opt-main[data-v-80be5aa4]{flex:1;display:flex;flex-direction:column}.pay-opt-main strong[data-v-80be5aa4]{font-size:15px}.pay-opt-main small[data-v-80be5aa4]{color:var(--muted);font-size:12px}.pay-radio[data-v-80be5aa4]{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);position:relative;transition:border-color .18s}.pay-opt.active .pay-radio[data-v-80be5aa4]{border-color:var(--brand)}.pay-opt.active .pay-radio[data-v-80be5aa4]:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--brand)}.info-row[data-v-80be5aa4]{display:flex;justify-content:space-between;padding:7px 0;font-size:14px}.info-row .k[data-v-80be5aa4]{color:var(--muted)}.info-row .v[data-v-80be5aa4]{font-weight:600}.success-card[data-v-80be5aa4]{text-align:center}.success-check[data-v-80be5aa4]{width:56px;height:56px;margin:6px auto 0;border-radius:50%;background:var(--success-soft);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;animation:pop-80be5aa4 .35s ease}@keyframes pop-80be5aa4{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.q-input[data-v-47bfe691]{flex:1;padding:12px 13px;border:1.5px solid var(--line);border-radius:14px;font-size:15px;outline:none;transition:border-color .18s,box-shadow .18s}.q-input[data-v-47bfe691]:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0b9e7426}.q-input.invalid[data-v-47bfe691]{border-color:var(--danger);box-shadow:0 0 0 3px #dc26261f}:root{--brand: #0b9e74;--brand-deep: #087a5a;--brand-soft: #E7F6F0;--brand-soft-2: #D2EFE5;--accent: #FF8C42;--accent-deep: #D96B1A;--accent-soft: #FFF3EA;--ink: #1F2329;--ink-2: #4E5562;--muted: #8A8F99;--line: #ECECF0;--bg: #F5F6FA;--card: #FFFFFF;--success: #1A9E5F;--success-soft: #E8F7EE;--info: #2D7FF9;--info-soft: #E8F1FF;--warn: #D96B1A;--warn-soft: #FFF3EA;--danger: #dc2626;--danger-soft: #fef2f2;--shadow-sm: 0 1px 3px rgba(31,35,41,.06);--shadow-md: 0 6px 18px rgba(31,35,41,.08);--shadow-lg: 0 12px 30px rgba(11,158,116,.2);--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 22px;--sp-1: 6px;--sp-2: 10px;--sp-3: 14px;--sp-4: 18px;--sp-5: 24px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}#app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;overflow-x:hidden;box-shadow:0 0 40px #0000000a}.hero{position:relative;background:linear-gradient(150deg,var(--brand) 0%,var(--brand-deep) 100%);color:#fff;padding:40px 22px 56px;overflow:hidden;text-align:center}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff24;filter:blur(2px)}.hero:before{width:160px;height:160px;top:-50px;right:-40px}.hero:after{width:110px;height:110px;bottom:-46px;left:-30px;background:#ffffff1a}.hero-kicker{position:relative;display:inline-block;font-size:12px;letter-spacing:.12em;background:#ffffff2e;padding:4px 12px;border-radius:999px;margin-bottom:14px}.hero h1{position:relative;margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em;line-height:1.3}.hero .slogan{position:relative;margin:10px 0 0;font-size:14px;opacity:.94;letter-spacing:.04em}.hero .biz{position:relative;margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero .biz-card{background:#ffffff24;border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:14px 10px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero .biz-icon{display:block;font-size:24px;line-height:1;margin-bottom:8px}.hero .biz-title{font-size:14px;font-weight:700;margin-bottom:4px}.hero .biz-desc{font-size:12px;line-height:1.55;margin:0;opacity:.92}.go-back{display:inline-flex;align-items:center;gap:4px;color:#fff;font-size:14px;cursor:pointer;margin-bottom:6px;background:#ffffff29;padding:5px 12px;border-radius:999px;position:relative}.page{padding:16px}.page.with-hero{margin-top:-32px;position:relative;z-index:2}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease}.card.hoverable:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.card-title{font-size:15px;font-weight:700;margin:0 0 4px;display:flex;align-items:center;gap:6px}.card-sub{color:var(--muted);font-size:13px}.price{color:var(--brand-deep);font-weight:800;font-size:20px}.price small{font-size:12px;font-weight:500;color:var(--muted)}.products{display:flex;flex-direction:column;gap:14px}.product{background:var(--card);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line);transition:transform .22s ease,box-shadow .22s ease;cursor:pointer}.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.product .cover{height:132px;display:flex;align-items:center;justify-content:center;font-size:46px;position:relative;background:linear-gradient(135deg,var(--brand-soft),var(--brand-soft-2))}.product .cover.has-img{background:#f0f0f3}.product .cover.has-img img{width:100%;height:100%;object-fit:cover}.product .body{padding:14px 14px 16px}.product .body h3{margin:0 0 4px;font-size:16px;font-weight:700}.product .body .sub{color:var(--muted);font-size:13px;min-height:20px}.product .foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.product .apply{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;border:none;border-radius:var(--r-sm);padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:filter .2s ease,transform .1s ease}.product .apply:active{transform:scale(.97)}.product:hover .apply{filter:brightness(1.05)}.tag{display:inline-block;font-size:12px;font-weight:600;color:var(--brand-deep);background:var(--brand-soft);border-radius:8px;padding:3px 9px}.btn{display:block;width:100%;border:none;border-radius:var(--r-md);padding:14px;background:linear-gradient(135deg,var(--brand, #0b9e74),var(--brand-deep, #087a5a));color:#fff;font-size:16px;font-weight:700;cursor:pointer;text-align:center;transition:filter .2s ease,transform .1s ease,box-shadow .2s ease;box-shadow:var(--shadow-sm)}.btn:hover{filter:brightness(1.04);box-shadow:var(--shadow-md)}.btn:active{transform:scale(.99)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.ghost{background:#fff;color:var(--brand-deep);border:1.5px solid var(--brand);box-shadow:none}.btn.ghost:hover{background:var(--brand-soft);filter:none}.btn.sm{display:inline-block;width:auto;padding:9px 16px;font-size:14px}.field{margin-bottom:14px}.field>label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:7px}.field>label .req{color:var(--brand-deep);margin-left:2px}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:var(--r-md);font-size:15px;outline:none;background:#fff;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease;font-family:inherit}.field input::placeholder,.field textarea::placeholder{color:#b6bac2}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0b9e7426}.field textarea{resize:vertical}.field input.invalid,.field textarea.invalid{border-color:var(--danger);box-shadow:0 0 0 3px #dc26261f}.field-err{display:flex;align-items:center;gap:5px;margin-top:7px;font-size:12.5px;font-weight:600;color:var(--danger)}.field-err:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--danger);color:#fff;font-size:11px;font-weight:700}.notice{background:var(--accent-soft);color:#a8541a;padding:11px 13px;border-radius:var(--r-md);font-size:13px;margin-bottom:14px;border-left:3px solid var(--accent)}.notice.info{background:var(--info-soft);color:#1c5fc4;border-left-color:var(--info)}.notice.success{background:var(--success-soft);color:#137a47;border-left-color:var(--success)}.status{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}.status.pending{background:var(--accent-soft);color:var(--accent-deep)}.status.paid,.status.printing,.status.shipped,.status.done{background:var(--success-soft);color:var(--success)}.status.cancelled{background:#f2f2f2;color:#999}.order-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;margin-bottom:12px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.order-item:hover{box-shadow:var(--shadow-md)}.order-meta{color:var(--muted);font-size:12.5px;margin-top:6px}.order-meta .dot{margin:0 6px;opacity:.5}.row-between{display:flex;justify-content:space-between;align-items:center}.mt{margin-top:14px}.mt-sm{margin-top:8px}.mb{margin-bottom:14px}.divider{height:1px;background:var(--line);margin:14px 0}.empty{text-align:center;color:var(--muted);padding:48px 16px;font-size:14px}.empty .emoji{font-size:40px;display:block;margin-bottom:10px}.loading-dots:after{content:"…";animation:dots 1.2s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}.card,.product,.btn{transition:none}}.app-footer{position:relative;margin-top:24px;padding:18px 16px 16px;background:#fff;border-top:1px solid var(--line);color:var(--muted);text-align:left}.app-footer .foot-top{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:14px;border-bottom:1px dashed var(--line)}.app-footer .brand{display:flex;align-items:center;gap:8px;font-weight:800}.app-footer .brand .logo{position:relative;width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,var(--brand),var(--brand-deep))}.app-footer .brand .logo:after{content:"";position:absolute;right:-3px;bottom:-3px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid #fff}.app-footer .brand .name{font-size:14px;color:var(--ink);letter-spacing:-.01em}.app-footer .brand .slogan{font-size:11px;color:var(--muted);margin-left:4px;font-weight:500}.app-footer .links{display:flex;gap:14px;flex-shrink:0}.app-footer .links a{font-size:13px;color:var(--muted);text-decoration:none;cursor:pointer}.app-footer .links a.active{color:var(--brand-deep);font-weight:700}.app-footer .foot-promise{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:14px 0;border-bottom:1px dashed var(--line)}.app-footer .foot-promise .prom{display:flex;align-items:flex-start;gap:8px}.app-footer .foot-promise .prom .ico{font-size:20px;line-height:1}.app-footer .foot-promise .prom strong{display:block;font-size:13px;color:var(--ink);font-weight:700}.app-footer .foot-promise .prom small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.app-footer .foot-contact{display:flex;flex-wrap:wrap;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line)}.app-footer .foot-contact .ct{display:flex;align-items:baseline;gap:6px;font-size:12.5px}.app-footer .foot-contact .lbl{color:#94a3b8;font-size:11.5px}.app-footer .foot-contact .val{color:var(--ink);font-weight:600;cursor:pointer}.app-footer .foot-contact .val:hover{color:var(--brand-deep)}.app-footer .foot-copy{margin-top:12px;font-size:11.5px;color:#94a3b8;line-height:1.6}.app-footer .foot-copy a{color:#94a3b8;text-decoration:none}.app-footer .foot-copy a:hover{color:var(--brand-deep)}.app-footer .foot-copy .dot{margin:0 4px;color:#cbd5e1}.promo{position:relative;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);color:#fff;border-radius:var(--r-lg);padding:18px 18px 16px;margin-top:18px;box-shadow:var(--shadow-md);overflow:hidden}.promo:after{content:"";position:absolute;right:-30px;bottom:-34px;width:120px;height:120px;border-radius:50%;background:#ffffff1a;filter:blur(2px)}.promo-badge{position:relative;display:inline-block;font-size:12px;letter-spacing:.04em;background:#fff3;padding:4px 11px;border-radius:999px;margin-bottom:10px}.promo h3{position:relative;margin:0 0 6px;font-size:18px;font-weight:800;letter-spacing:-.01em}.promo .desc{position:relative;margin:0;font-size:13px;line-height:1.6;opacity:.94}.promo-row{position:relative;display:flex;gap:14px;align-items:center;margin-top:14px}.promo-qr{width:84px;height:84px;border-radius:12px;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.promo-qr img{width:100%;height:100%;object-fit:cover}.qr-placeholder{font-size:11px;color:var(--brand-deep);text-align:center;line-height:1.3;padding:6px}.promo-cta{flex:1;min-width:0}.promo-tip{font-size:13px;line-height:1.5;margin-bottom:10px}.promo-btn{display:inline-block;border:none;cursor:pointer;background:var(--accent);color:#fff;border-radius:var(--r-sm);padding:9px 14px;font-size:13px;font-weight:600;transition:filter .2s ease,transform .1s ease}.promo-btn:active{transform:scale(.97)}.promo-btn:hover{filter:brightness(1.05)}.promo-btn.ghost{background:#ffffff2e;margin-left:8px}
