:root{color-scheme:light;--bg:#f7f3f1;--card:#fff;--field:#fff;--ink:#231b1f;--mute:#76686e;--line:#ebe2e5;--ac:#c2416b;--on:#fff;--acs:color-mix(in srgb,var(--ac) 12%,var(--card));--ok:#2f8f5b;--warn:#c47a12;--bad:#c0392b;--fd:"Noto Sans TC",sans-serif;--fn:"Noto Sans TC",sans-serif;--hw:900;--r:16px;--rp:999px;--tr:0}
/* AXORA 三種風格：依行業自動套用 */
html[data-theme=soft]{--bg:#F7F2EC;--card:#fff;--field:#fff;--ink:#2B2024;--mute:#6F6168;--line:#EADFD8;--fd:"Noto Serif TC",serif;--fn:"Cormorant Garamond","Noto Serif TC",serif;--hw:700;--r:16px;--rp:999px;--tr:.04em}
html[data-theme=editorial]{--bg:#F4F2EE;--card:#FBFAF7;--field:#fff;--ink:#141414;--mute:#4A4744;--line:#D3CEC6;--fd:"Noto Serif TC",serif;--fn:"Playfair Display","Noto Serif TC",serif;--hw:900;--r:3px;--rp:3px;--tr:.02em}
html[data-theme=night]{color-scheme:dark;--bg:#111311;--card:#1C1F1C;--field:#161916;--ink:#F2F2EE;--mute:#A3A8A0;--line:#2E322E;--acs:color-mix(in srgb,var(--ac) 16%,#111311);--ok:#6fcf97;--warn:#f2b54a;--bad:#ff7b6b;--fd:"Noto Sans TC",sans-serif;--fn:"Space Grotesk","Noto Sans TC",sans-serif;--hw:900;--r:18px;--rp:999px;--tr:0}
*{box-sizing:border-box;min-width:0}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "Noto Sans TC",system-ui,-apple-system,"PingFang TC","Microsoft JhengHei",sans-serif;overflow-x:clip}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--ac);outline-offset:2px}
.app{max-width:520px;margin:0 auto;padding:16px 14px 90px}
.wide{max-width:1100px}
.note{font-size:13px;color:var(--mute);margin:6px 0 12px}
.center{text-align:center}
h1{font-size:28px;line-height:1.2;margin:0;font-family:var(--fd);font-weight:var(--hw);letter-spacing:var(--tr)}
h2{font-size:19px;margin:24px 0 10px;font-family:var(--fd);font-weight:var(--hw);letter-spacing:var(--tr)}
h3.cat{font-size:14px;color:var(--mute);margin:12px 0 0;font-weight:500}
.hero{background:var(--ac);color:#fff;border-radius:22px;padding:22px 20px 18px}
.hero h1{font-size:30px;font-weight:900}
.hero p{margin:6px 0 0;opacity:.92}
.hero.photo{background-size:cover;background-position:center;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;padding-top:60px}
.hero.photo h1,.hero.photo p{text-shadow:0 1px 8px rgba(0,0,0,.35)}
.logo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;background:#fff;margin-bottom:10px;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.space{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.space img{flex:0 0 78%;max-width:360px;aspect-ratio:4/3;object-fit:cover;border-radius:16px;scroll-snap-align:start;background:var(--line)}
.pill{display:inline-block;font-size:14px;background:rgba(255,255,255,.2);padding:4px 10px;border-radius:999px;margin-top:10px}
.steps{display:flex;gap:6px;margin:14px 0 4px}.steps i{flex:1;height:5px;border-radius:3px;background:var(--line)}.steps i.on{background:var(--ac)}
.list{display:grid;gap:10px}
.opt{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:14px 16px;min-height:62px}
.opt:hover{border-color:var(--ac);background:var(--acs)}
.opt b{display:block}.opt small{color:var(--mute);font-size:14px}
.price{font-weight:600;white-space:nowrap;color:var(--ac);font-family:var(--fn);font-size:1.12em}
html[data-theme=night] .price,html[data-theme=editorial] .price{color:var(--ink)}
.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:460px){.works{grid-template-columns:repeat(3,minmax(0,1fr))}}
.work{padding:0;border:1.5px solid var(--line);background:var(--card);border-radius:var(--r);overflow:hidden;text-align:left}
.work img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--line)}
.wn{display:block;padding:8px 10px 10px;line-height:1.35}.wn b{display:block;font-size:15px}.wn small{display:block;color:var(--mute);font-size:13px}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:6px}
.chip{flex:none;border:1.5px solid var(--line);background:var(--card);border-radius:var(--rp);padding:6px 14px;min-height:40px;white-space:nowrap}
.chip.on{background:var(--ac);border-color:var(--ac);color:var(--on)}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}
.day{flex:0 0 64px;border:1.5px solid var(--line);background:var(--card);border-radius:var(--r);padding:8px 4px;text-align:center;line-height:1.3}
.day b{font-family:var(--fn);font-size:17px}.day small{display:block;color:var(--mute);font-size:13px}.day small.x{color:var(--ac);font-weight:700}
.day.on{background:var(--ac);border-color:var(--ac);color:var(--on)}.day.on small{color:var(--on)}
.day:disabled{opacity:.4;cursor:not-allowed}
.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.slot{border:1.5px solid var(--line);background:var(--card);border-radius:var(--r);min-height:46px;font-weight:600;font-family:var(--fn);font-size:17px}
.slot.on{background:var(--ac);border-color:var(--ac);color:var(--on)}
.slot:disabled{opacity:.3;text-decoration:line-through;cursor:not-allowed}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:12px}
label{display:block;font-size:14px;color:var(--mute);margin:10px 0 4px}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],select,textarea{width:100%;font-size:16px;border:1.5px solid var(--line);background:var(--field);border-radius:min(var(--r),12px);padding:11px 12px;min-height:46px}
textarea{min-height:80px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--ac);outline:0}
.chk{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:16px;margin-top:12px}
.chk input{width:22px;height:22px;accent-color:var(--ac)}
.main{width:100%;border:0;background:var(--ac);color:var(--on);border-radius:var(--r);letter-spacing:.06em;min-height:52px;font-weight:700;font-size:17px;margin-top:14px}
.main:disabled{opacity:.4;cursor:not-allowed}
.sec{width:100%;border:1.5px solid var(--line);background:var(--card);border-radius:var(--r);min-height:48px;font-weight:700;margin-top:10px}
.back{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:700;font-size:15px;padding:8px 16px 8px 12px;min-height:44px;border-radius:999px;cursor:pointer;margin-bottom:6px}
.row{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.row>span:first-child{color:var(--mute)}.row>span:last-child{text-align:right;font-weight:500}
.bank{background:var(--acs);border-radius:14px;padding:12px 14px;margin:10px 0;white-space:pre-line}
.policy{font-size:14px;color:var(--mute);border-left:3px solid var(--ac);padding-left:10px;margin-top:12px}
.pick{background:var(--acs);border-radius:12px;padding:10px 14px;margin:10px 0 0}
.done{text-align:center;padding:26px 10px}
.big{width:72px;height:72px;border-radius:50%;background:var(--ac);color:var(--on);display:grid;place-items:center;margin:0 auto 12px;font-size:36px}
.err{background:color-mix(in srgb,var(--bad) 10%,#fff);color:var(--bad);border-radius:12px;padding:10px 14px;margin:10px 0}
.empty{color:var(--mute);font-size:15px;padding:8px 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;opacity:0;transition:.25s;max-width:92vw;z-index:50;font-size:15px;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%)}
.loading{padding:60px 0;text-align:center;color:var(--mute)}
@media(prefers-reduced-motion:reduce){.toast{transition:none}}
.pw{position:relative}.pw input{padding-right:52px}.eye{position:absolute;right:2px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:20px;min-width:46px;min-height:44px;cursor:pointer;line-height:1}
#nl-badge-frame{display:none!important}
/* 品牌形象頁頭 */
.brand{margin:-16px -14px 0}
.brand .cv{height:230px;background:color-mix(in srgb,var(--ac) 22%,var(--bg)) center/cover no-repeat}
html[data-theme=night] .brand .cv{background-color:#232723}
.brand .bd{padding:0 18px;position:relative}
.brand .lg{width:76px;height:76px;border-radius:50%;object-fit:cover;border:4px solid var(--bg);background:var(--card);margin-top:-38px;display:grid;place-items:center;font-family:var(--fn);font-size:30px;color:var(--ac)}
html[data-theme=editorial] .brand .lg{border-radius:3px}
.brand h1{font-size:30px;margin-top:12px}
.brand .tg{margin:6px 0 0;color:var(--mute);font-size:15px}
.brand .hr{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:13px;color:var(--mute)}
.brand .hr span{display:inline-flex;align-items:center;gap:6px}
.ic{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
html[data-theme=editorial] .brand .cv{height:200px}
html[data-theme=editorial] .app>h2{border-top:1px solid var(--ink);padding-top:12px}
html[data-theme=editorial] .main{text-transform:none;letter-spacing:.18em}
html[data-theme=night] .chip.on,html[data-theme=night] .slot.on,html[data-theme=night] .day.on{color:var(--on)}
.price,.slot,.day b,.stat b,.tli .tt,.brand .lg{font-variant-numeric:lining-nums tabular-nums}
