@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bowlby One SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bowlby-one-sc-latin-ext-400-normal-DCwUCejp.woff2)format("woff2"),url(/assets/bowlby-one-sc-latin-ext-400-normal-DdIIB6VC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bowlby One SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bowlby-one-sc-latin-400-normal-CBAuFTm8.woff2)format("woff2"),url(/assets/bowlby-one-sc-latin-400-normal-DTrcXfXA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.logo[data-v-fa860e6b]{align-items:center;gap:12px;display:inline-flex}.logo img[data-v-fa860e6b]{width:auto;height:56px;display:block}.logo-tagline[data-v-fa860e6b]{border-left:1px solid var(--border);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-left:12px;font-size:.7rem;font-weight:700}@media (width<=720px){.logo img[data-v-fa860e6b]{height:48px}}@media (width<=420px){.logo-tagline[data-v-fa860e6b]{display:none}}.topbar[data-v-1d113ec3]{z-index:10;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.brand[data-v-1d113ec3]{margin-right:auto;text-decoration:none}.nav[data-v-1d113ec3]{gap:4px;display:flex}.nav-link[data-v-1d113ec3]{color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.nav-link[data-v-1d113ec3]:hover{color:var(--text);background:var(--surface-soft)}.nav-link.router-link-exact-active[data-v-1d113ec3]{color:var(--text);background:var(--violet-soft)}.nav-icon[data-v-1d113ec3]{color:var(--violet-light)}.account[data-v-1d113ec3]{align-items:center;gap:10px;display:flex}.account-name[data-v-1d113ec3]{color:var(--muted);font-size:.875rem;font-weight:600}.footer[data-v-1d113ec3]{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px;padding:24px 16px 100px;font-size:.85rem;display:flex}.footer a[data-v-1d113ec3]{color:var(--muted)}.credit[data-v-1d113ec3]{text-align:center;opacity:.7;flex-basis:100%;margin:0;font-size:.75rem}@media (width<=720px){.account-name[data-v-1d113ec3]{display:none}.topbar[data-v-1d113ec3]{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg);padding:8px 16px}.nav[data-v-1d113ec3]{padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.nav-link[data-v-1d113ec3]{border-radius:12px;flex-direction:column;gap:0;padding:4px 10px;font-size:.75rem}.nav-icon[data-v-1d113ec3]{font-size:1.2rem}}.page-enter-active[data-v-1d113ec3],.page-leave-active[data-v-1d113ec3]{transition:opacity .18s,transform .18s}.page-enter-from[data-v-1d113ec3]{opacity:0;transform:translateY(6px)}.page-leave-to[data-v-1d113ec3]{opacity:0}.avatar[data-v-4b84ecf6]{object-fit:cover;border:2px solid;border-radius:50%;flex-shrink:0}.initial[data-v-4b84ecf6]{font-family:var(--font-display);color:var(--on-accent);border:none;place-items:center;display:grid}.login-buttons[data-v-510de994]{flex-direction:column;gap:12px;width:100%;display:flex}.btn-provider[data-v-510de994]{background:var(--text);color:#1a1a1a;justify-content:center}.btn-provider[data-v-510de994]:hover{background:#e9e9ee}.hero[data-v-161bb0e3]{margin:8px 0 28px}.hero-text[data-v-161bb0e3]{color:var(--muted);max-width:560px;font-size:1.05rem}.shop-message[data-v-161bb0e3]{white-space:pre-line;margin-top:16px}.small[data-v-161bb0e3]{font-size:.85rem}.step[data-v-161bb0e3]{border-top:1px solid var(--border);padding:20px 0}.step-header[data-v-161bb0e3]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.step-header h2[data-v-161bb0e3]{margin:0}.step-number[data-v-161bb0e3]{background:var(--violet);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.step.done .step-number[data-v-161bb0e3]{background:var(--surface-soft);color:var(--violet-light)}.step.done h2[data-v-161bb0e3]{color:var(--muted);font-size:1.1rem}.step-summary[data-v-161bb0e3]{color:var(--text);font:inherit;cursor:pointer;text-align:right;background:0 0;border:none;margin-left:auto;font-weight:600}.edit[data-v-161bb0e3]{color:var(--violet-light);margin-left:6px;font-size:.85rem;text-decoration:underline}.step-body[data-v-161bb0e3]{margin-top:18px}.piercing-grid[data-v-161bb0e3]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:16px 0;display:grid}.piercing-card[data-v-161bb0e3],.piercer-card[data-v-161bb0e3],.day[data-v-161bb0e3],.slot[data-v-161bb0e3]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;transition:border-color .15s,background .15s,transform .1s}.piercing-card[data-v-161bb0e3]:hover,.piercer-card[data-v-161bb0e3]:hover,.day[data-v-161bb0e3]:hover:not(:disabled),.slot[data-v-161bb0e3]:hover{border-color:var(--violet-light);background:var(--surface-soft)}.piercing-card[data-v-161bb0e3]{text-align:left;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.piercing-name[data-v-161bb0e3]{font-weight:700}.piercing-meta[data-v-161bb0e3]{flex-wrap:wrap;align-items:center;gap:6px;font-size:.875rem;display:flex}.piercer-grid[data-v-161bb0e3]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.piercer-card[data-v-161bb0e3]{flex-direction:column;align-items:center;gap:8px;padding:22px 12px;display:flex}.any-piercer[data-v-161bb0e3]{background:var(--surface-soft);width:88px;height:88px;color:var(--violet-light);border:1px dashed var(--violet-light);border-radius:50%;place-items:center;font-size:2rem;display:grid}.piercer-name[data-v-161bb0e3]{font-size:1.05rem;font-weight:700}.week-nav[data-v-161bb0e3]{align-items:center;gap:8px;margin-bottom:20px;display:flex}.days[data-v-161bb0e3]{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.day[data-v-161bb0e3]{flex-direction:column;align-items:center;gap:2px;padding:10px 4px;display:flex}.day[data-v-161bb0e3]:disabled{opacity:.35;cursor:not-allowed}.day.selected[data-v-161bb0e3]{background:var(--violet);border-color:var(--violet)}.day-name[data-v-161bb0e3]{text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:700}.day.selected .day-name[data-v-161bb0e3],.day.selected .day-count[data-v-161bb0e3]{color:var(--text)}.day-number[data-v-161bb0e3]{white-space:nowrap;font-weight:700}.day-count[data-v-161bb0e3]{color:var(--muted);font-size:.7rem}.slot-group[data-v-161bb0e3]{margin-bottom:16px}.slot-group-label[data-v-161bb0e3]{font-family:var(--font-body);text-transform:uppercase;color:var(--muted);letter-spacing:.08em;font-size:.8rem;font-weight:700}.slots[data-v-161bb0e3]{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.slot[data-v-161bb0e3]{padding:12px 0;font-weight:700}.recap[data-v-161bb0e3]{border-color:var(--violet);margin-bottom:20px}.recap-when[data-v-161bb0e3]{font-family:var(--font-display);color:var(--violet-light);font-size:1.3rem}.confirm[data-v-161bb0e3]{width:100%;max-width:360px}.login-box[data-v-161bb0e3]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.actions[data-v-161bb0e3]{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.login-box p[data-v-161bb0e3]{margin-bottom:16px}.booking-login-buttons[data-v-161bb0e3]{max-width:400px}.dev-link[data-v-161bb0e3]{margin-top:12px;font-size:.85rem;display:inline-block}.success[data-v-161bb0e3]{text-align:center;padding:40px 20px}.success-mark[data-v-161bb0e3]{background:var(--violet);border-radius:50%;place-items:center;width:64px;height:64px;font-size:2rem;font-weight:800;display:inline-grid}.success-when[data-v-161bb0e3]{font-size:1.3rem;font-weight:700}.success .actions[data-v-161bb0e3]{justify-content:center}@media (width<=640px){.days[data-v-161bb0e3]{scroll-snap-type:x mandatory;grid-template-columns:repeat(7,76px);padding-bottom:4px;overflow-x:auto}.day[data-v-161bb0e3]{scroll-snap-align:start}.week-nav[data-v-161bb0e3]{gap:4px}.step-summary[data-v-161bb0e3]{text-align:left;margin-left:44px}}.success-when[data-v-161bb0e3]:first-letter,.recap-when[data-v-161bb0e3]:first-letter{text-transform:uppercase}@font-face{font-family:aBlackLives;src:url(/fonts/aBlackLives.otf)format("opentype");font-display:swap;unicode-range:U+20-7E}:root{--bg:#0b0b0d;--surface:#17171a;--surface-soft:#212126;--surface-hover:#2a2a30;--text:#fefefe;--muted:#9a9aa2;--border:#2e2e35;--violet:#822ce4;--violet-light:#a463f5;--violet-soft:#822ce429;--blue:#2ea3f2;--danger:#ff5c7a;--danger-soft:#ff5c7a24;--success:#3ddc97;--success-soft:#3ddc9724;--on-accent:#fff;--shadow:0 8px 30px #00000073;--radius:14px;--font-display:"aBlackLives", "Bowlby One SC", Impact, sans-serif;--font-body:"Montserrat Variable", Helvetica, Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-size:16px;line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% -10%,#822ce438,#0000 45%),radial-gradient(circle at 110% 30%,#2ea3f214,#0000 40%);position:fixed;inset:0}main{max-width:1080px;margin:0 auto;padding:24px 16px 96px}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 12px;font-weight:400;line-height:1.1}h1{color:var(--violet-light);text-transform:uppercase;font-size:clamp(2rem,6vw,3.4rem)}h2{text-transform:uppercase;font-size:clamp(1.3rem,3.5vw,1.8rem)}h3{font-size:1.1rem}a{color:var(--blue)}p{margin:0 0 12px}.muted{color:var(--muted)}.btn{min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--violet);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--violet-light)}.btn-ghost{color:var(--text);border-color:var(--border);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--violet-light)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-small{min-height:34px;padding:6px 14px;font-size:.875rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}label{color:var(--muted);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}input,select,textarea{border:1px solid var(--border);background:var(--surface-soft);width:100%;min-width:0;max-width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:10px;padding:10px 14px}input:focus,select:focus,textarea:focus,.btn:focus-visible,button:focus-visible{outline:2px solid var(--violet-light);outline-offset:2px}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--violet)}input[type=date],input[type=time]{appearance:none;display:block}textarea{resize:vertical;min-height:80px}.field{flex-direction:column;margin-bottom:16px;display:flex}.field>label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.field-hint{color:var(--muted);margin-top:6px;font-size:.8rem}.form-grid{grid-template-columns:repeat(var(--columns,2), minmax(0, 1fr));align-items:start;column-gap:16px;display:grid}.form-grid .span-2{grid-column:span 2}@media (width<=720px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.alert{border-radius:10px;margin-bottom:16px;padding:12px 16px;font-weight:500}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-success{background:var(--success-soft);color:var(--success)}.alert-info{background:var(--violet-soft);color:var(--text);border-left:3px solid var(--violet)}.chip{background:var(--surface-soft);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
