:root{--paper: #EDEBE9;--ink: #313130;--mint: #9FD3C7;--butter: #EAE788;--rose: #DAB4C9;--sky: #B5D6E9;--neutral: #D1CBBE;--lilac: #C3B5DF;--soft: rgba(49, 49, 48, .62);--rule: rgba(49, 49, 48, .14);--faint: rgba(49, 49, 48, .07);--r: 24px;--update-height: 0px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tabbar-height: calc(71px + var(--safe-bottom))}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:#dedbd6;color:var(--ink);font-family:Manrope,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.45}html,.screen{scrollbar-width:none}html::-webkit-scrollbar,.screen::-webkit-scrollbar{display:none}#root{width:100%;max-width:430px;margin:0 auto;height:100dvh;height:100svh;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;padding-top:calc(var(--safe-top) + var(--update-height))}html,body{height:100%;overflow:hidden;overscroll-behavior:none}.tabbar,.tab{touch-action:manipulation}.app-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding:16px 0;scrollbar-width:none}.app-content::-webkit-scrollbar{display:none}.app-content>.view{min-height:100%}#root>.screen{min-height:0;overflow-y:auto}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}img{display:block}.serif{font-family:Prata,Georgia,serif;font-weight:400}.lbl{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.soft{color:var(--soft)}.btn{height:54px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--paper);border-radius:999px;font-size:15px;font-weight:600}.btn-outline{height:52px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--ink);border-radius:999px;font-size:14px;font-weight:600}.card{border-radius:var(--r);background:var(--faint)}.screen{flex:1;display:flex;flex-direction:column;min-width:0;padding-bottom:24px}.arch{border-radius:172px 172px var(--r) var(--r);overflow:hidden;position:relative}.chip{border-radius:999px;padding:7px 13px;font-size:11.5px;font-weight:600}.tabbar{position:relative;flex-shrink:0;align-self:center;width:100%;max-width:430px;display:flex;gap:4px;padding:8px 10px calc(10px + var(--safe-bottom));background:var(--paper);border-top:1px solid var(--rule);z-index:50}.tab{flex:1;height:52px;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--soft);font-size:10.5px;letter-spacing:.04em;font-weight:500}.tab{position:relative}.tab-dot{position:absolute;top:5px;left:calc(50% + 9px);width:10px;height:10px;border-radius:50%;background:#e2557b;box-shadow:0 0 0 2px var(--paper);animation:pop .45s var(--spring)}.tab.on{background:var(--mint);color:var(--ink);font-weight:600}.tab .ico{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;transition:background .25s var(--ease)}.toast{max-width:min(calc(100vw - 32px),398px);width:max-content;text-align:center;white-space:normal;line-height:1.35;position:fixed;left:50%;bottom:calc(var(--tabbar-height) + 16px);transform:translate(-50%);background:var(--ink);color:var(--paper);border-radius:999px;padding:12px 22px;font-size:14px;font-weight:600;z-index:100;animation:toast-in .25s cubic-bezier(.22,.61,.36,1)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.fade-in{animation:none}.view{animation:view-r .32s var(--ease) both}.view[data-dir=l]{animation-name:view-l}@keyframes view-r{0%{opacity:0;transform:translate(24px)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes view-l{0%{opacity:0;transform:translate(-24px)}60%{opacity:1}to{opacity:1;transform:none}}[data-seen] .stagger>*,[data-seen] .title-in,[data-seen] .arch-card,[data-seen] .arch,[data-seen] .stamp,[data-seen] .sq-draw path,[data-seen] .pen path,[data-seen] .check-draw path{animation-duration:0s!important;animation-delay:0s!important}[data-seen] .sq-draw path,[data-seen] .pen path,[data-seen] .check-draw path{stroke-dashoffset:0}[data-seen] .hero-float{animation-delay:0s}@media(prefers-reduced-motion:reduce){.toast,.fade-in{animation:none}}.chips-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.chips-row::-webkit-scrollbar{display:none}.tab.center{background:transparent;color:var(--ink);font-weight:600}.tab.center.on{background:var(--sky);color:var(--ink)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .19 0 0 0 0 .19 0 0 0 0 .19 0 0 0 .063 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px}.arch-card{border-radius:172px 172px var(--r) var(--r);overflow:hidden;position:relative;animation:arch-open .7s var(--ease) both}.arch-card .photo-wrap{height:190px;overflow:hidden}.arch-card .photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 60%;animation:photo-breathe 9s ease-in-out 2 alternate both;transform-origin:50% 60%}@keyframes photo-breathe{0%{transform:scale(var(--photo-zoom, 1))}to{transform:scale(calc(var(--photo-zoom, 1) * 1.025))}}.arch-card .fade{position:absolute;left:0;right:0;top:100px;height:92px;background:linear-gradient(to bottom,rgba(0,0,0,0),var(--tint));pointer-events:none}.pen path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:700;stroke-dashoffset:700;animation:draw .9s var(--ease) .45s forwards}:root{--ease: cubic-bezier(.22,.61,.36,1);--spring: cubic-bezier(.34,1.56,.64,1)}.stagger>*{animation:rise .5s var(--ease) both}.stagger>*:nth-child(1){animation-delay:.03s}.stagger>*:nth-child(2){animation-delay:.08s}.stagger>*:nth-child(3){animation-delay:.13s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.23s}.stagger>*:nth-child(6){animation-delay:.28s}.stagger>*:nth-child(n+7){animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.title-in{animation:title .6s var(--ease) both}@keyframes title{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.sq-draw path{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.1s var(--ease) .15s forwards}@keyframes draw{to{stroke-dashoffset:0}}.arch{animation:arch-open .7s var(--ease) both}.arch img{animation:breathe 9s ease-in-out 2 alternate both;transform-origin:50% 60%}@keyframes arch-open{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes breathe{0%{transform:scale(1)}to{transform:scale(1.06)}}.pill-in{animation:pill .55s var(--spring) .35s both}@keyframes pill{0%{opacity:0;transform:translate(-50%,18px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.grow{transform-origin:left;animation:grow .6s var(--ease) both}@keyframes grow{0%{transform:scaleX(0)}}.ring-anim{transition:stroke-dasharray 1.1s var(--ease)}.pop{animation:pop .4s var(--spring)}@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}.seat-on{animation:seat-glow 2.2s ease-in-out infinite}@keyframes seat-glow{0%,to{box-shadow:0 0 #c0dfd3e6}50%{box-shadow:0 0 0 9px #c0dfd300}}.check-circle{animation:pop .6s var(--spring) both}.check-draw path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw .5s var(--ease) .35s forwards}@keyframes tab-bounce{0%{transform:translateY(0)}40%{transform:translateY(-5px) scale(1.12)}to{transform:none}}.tab{transition:background .25s var(--ease),color .25s var(--ease)}.stamp{animation:stamp .55s var(--spring) both;transform-origin:18% 50%}@keyframes stamp{0%{opacity:0;transform:scale(1.35) rotate(-5deg)}55%{opacity:1;transform:scale(.97) rotate(1deg)}to{opacity:1;transform:none}}.hero-float{animation:float 7s ease-in-out 1.4s infinite alternate}@keyframes float{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-7px) rotate(-1.5deg)}}.sheet-in{animation:sheet .38s var(--ease) both}@keyframes sheet{0%{opacity:0;transform:translateY(26px)}}.backdrop-in{animation:fade-only .25s var(--ease) both}@keyframes fade-only{0%{opacity:0}}.skel{border-radius:var(--r);background:var(--faint);animation:skel 1.4s ease-in-out infinite}@keyframes skel{0%,to{opacity:.5}50%{opacity:1}}.tab.on .ico{animation:pop .45s var(--spring)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.card,.chip,.btn,.btn-outline,.seat{transition:transform .22s var(--spring),background .2s var(--ease)}.chip:active{transform:scale(.93);transition-duration:.05s}.btn:active,.btn-outline:active{transform:scale(.97);transition-duration:.05s}button.card:active{transform:scale(.985);transition-duration:.05s}.tab .ico{transition:background .25s var(--ease),transform .22s var(--spring)}.tab:active .ico{transform:scale(.84);transition-duration:.06s}.minus{transition:transform .25s var(--spring);transform-origin:70% 80%}.minus:active{transform:scale(.88) rotate(-6deg);transition-duration:.05s}.minus[data-busy="1"]{transform:scale(.94)}.press{animation:press .5s var(--spring)}@keyframes press{0%{transform:scale(1)}40%{transform:scale(.985)}to{transform:scale(1)}}.pen-erase path{animation:erase .45s var(--ease) forwards!important}@keyframes erase{to{stroke-dashoffset:700}}.odo{display:inline-block;animation:odo .3s var(--ease) both}@keyframes odo{0%{opacity:0;transform:translateY(-40%)}to{opacity:1;transform:none}}.rise-spring{animation:rise-spring .45s var(--spring) both}@keyframes rise-spring{0%{opacity:0;transform:translateY(18px)}}button.card:active,.seat:active{transform:scale(.97)}.floor{perspective:640px}.floor-grid{transform:rotateX(34deg);transform-style:preserve-3d}.seat{transition:transform .15s var(--ease),background .2s var(--ease),box-shadow .2s}@media(prefers-reduced-motion:reduce){.stagger>*,.title-in,.arch,.arch img,.pill-in,.grow,.pop,.seat-on,.check-circle,.tab.on svg{animation:none!important}.sq-draw path,.check-draw path{stroke-dashoffset:0!important;animation:none!important}}.in{width:100%;padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--rule, rgba(49,49,48,.22));border-radius:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.in:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #3131301a}.lbl>.in{margin-top:6px;display:block}.link{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.a2h{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#edebe9f7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;color:var(--ink)}.a2h-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);background:none;color:var(--ink);font-size:15px}.a2h-in{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:340px}.a2h-logo{border-radius:22px;width:84px;height:84px}.a2h h1{font-family:Prata,Georgia,serif;font-weight:400;font-size:28px;line-height:1.1;margin:0}.a2h-why{color:var(--soft);font-size:14px;line-height:1.45;margin:0}.a2h-steps{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-direction:column;gap:12px;text-align:left;width:100%}.a2h-steps li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.35}.a2h-steps b{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-size:13px}.a2h-steps em{font-style:normal;font-weight:600}.a2h-point{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink)}.a2h-point.bottom{left:0;right:0;bottom:10px}.a2h-point.bottom-right{right:14px;bottom:10px}.a2h-point.top-right{right:14px;top:12px}.a2h-say{font-size:13px;font-weight:600}.a2h-arrow{font-size:34px;line-height:1;animation:a2h-bob 1.1s ease-in-out infinite}.a2h-arrow.up{animation-name:a2h-bob-up}@keyframes a2h-bob{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@keyframes a2h-bob-up{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media(prefers-reduced-motion:reduce){.a2h-arrow{animation:none}}.a2h-note{color:var(--soft);font-size:13px;line-height:1.4;margin:2px 0 0}.a2h .btn.primary.big{width:100%;height:52px}.a2h .btn.ghost{background:none;border:1px solid var(--ink);color:var(--ink)}.a2h .btn.ghost.small{height:40px;font-size:13.5px}.ios-share{display:inline-block;width:14px;height:18px;vertical-align:-3px;margin:0 2px;border:2px solid currentColor;border-top:none;border-radius:0 0 3px 3px;position:relative}.ios-share:before{content:"";position:absolute;left:4px;top:-9px;width:2px;height:14px;background:currentColor}.ios-share:after{content:"";position:absolute;left:1px;top:-9px;width:6px;height:6px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}.ios-plus{font-style:normal;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:var(--ink);color:var(--paper);font-size:15px;font-weight:700;margin-left:2px}.pp-page{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7f5f2,#f3f1ed);border-radius:8px 16px 16px 8px;padding:14px 16px 12px 20px;box-shadow:inset 0 0 0 1px #31313014,0 2px 0 -1px #e9e6e1,0 4px 0 -2px #f4f2ee,0 5px 0 -2px #e2dfda,0 10px 22px #31313017}.pp-rule{position:absolute;top:7px;right:7px;bottom:7px;left:11px;border:1px solid rgba(49,49,48,.12);border-radius:5px 12px 12px 5px;pointer-events:none}.pp-stitch{position:absolute;left:5px;top:14px;bottom:14px;width:0;border-left:1.5px dashed rgba(49,49,48,.22);pointer-events:none}.pp-watermark{position:absolute;right:-6%;bottom:-8%;width:54%;opacity:.038;pointer-events:none;filter:grayscale(1)}.pp-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 2px;font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.55}.pp-lbl{font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.5;margin-bottom:1px}.pp-photo{position:relative;background:#fbfaf8;padding:8px;border-radius:6px;box-shadow:inset 0 0 0 1px #3131301a;flex-shrink:0}.pp-photo:before,.pp-photo:after{content:"";position:absolute;width:10px;height:10px;border:1.2px solid var(--ink);opacity:.55}.pp-photo:before{left:-3px;top:-3px;border-right:0;border-bottom:0}.pp-photo:after{right:-3px;bottom:-3px;border-left:0;border-top:0}.pp-mrz{margin-top:12px;padding-top:8px;border-top:1px dashed rgba(49,49,48,.18);font-family:SF Mono,Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.14em;line-height:1.45;opacity:.62;white-space:nowrap;overflow:hidden}.stamp-hit{animation:stamp-hit .24s var(--ease) both}@keyframes stamp-hit{0%{opacity:0;transform:scale(1.06)}60%{opacity:1;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.stamp-hit{animation:none}}.passport-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 6px;padding:8px 0 2px;align-items:start}.passport-grid>*{min-width:0}.passport-empty{aspect-ratio:1;border-radius:999px;border:1.5px dashed rgba(49,49,48,.16);margin:8% 8% calc(8% + 14px)}.pp-guilloche .pp-photo{background:#fbfaf8eb}.class-bubble{box-shadow:0 6px 18px #31313012}.class-bubble .serif{letter-spacing:-.01em}html{scroll-padding-top:calc(var(--safe-top) + var(--update-height) + 16px);scroll-padding-bottom:calc(var(--tabbar-height) + 16px)}body:before{content:"";position:fixed;inset:0 0 auto;height:var(--safe-top);background:var(--paper);pointer-events:none;z-index:90}@media(max-width:600px),(display-mode:standalone){html,body{background:var(--paper)}#root,.tabbar{max-width:none}#root{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.tabbar{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}}.schedule-week{flex:none;min-height:calc(100svh - var(--safe-top) - var(--update-height) - var(--tabbar-height));height:calc(100svh - var(--safe-top) - var(--update-height) - var(--tabbar-height));padding-bottom:8px}.week-heading{display:flex;align-items:baseline;justify-content:space-between;padding:12px 16px 8px;gap:10px}.week-heading h1{font-size:28px}.week-heading>span{font-size:11px}.week-overview{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 8px}.week-range{display:flex;align-items:center;gap:4px;flex-shrink:0}.week-range button{width:44px;height:44px;font-size:27px}.week-range strong{flex:1;text-align:center;font-size:12px;font-weight:500}.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex:1;min-height:0}.week-day{min-width:0;min-height:0;display:flex;flex-direction:column}.week-day-label{text-align:center;height:40px;flex-shrink:0;font-size:10px;line-height:1.25}.week-day-label b{display:block;font-size:16px}.week-day-label.is-today b{color:var(--ink);background:var(--mint);border-radius:999px}.week-slots{min-height:0;display:grid;grid-template-rows:repeat(var(--week-rows),minmax(44px,1fr));gap:4px;flex:1}.week-session{min-width:0;min-height:0;padding:5px 2px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.12;overflow-wrap:anywhere}.week-session>b{font-size:11px;white-space:nowrap}.week-session>span{font-size:9px;font-weight:600}.week-session>small{font-size:9px}.week-session.is-booked{box-shadow:inset 0 0 0 2px var(--ink)}.week-empty{text-align:center;padding-top:12px;color:var(--soft)}.week-hint{font-size:11px;text-align:center;padding:8px 0 2px;flex-shrink:0}@media(max-height:620px){.schedule-week{height:auto;min-height:calc(100svh - var(--safe-top) - var(--update-height) - var(--tabbar-height))}.week-slots{grid-auto-rows:minmax(60px,auto);grid-template-rows:repeat(var(--week-rows),minmax(60px,auto))}}@media(max-width:360px),(max-height:780px){.week-session{gap:2px;padding:4px 2px}.week-session>b{font-size:10px}.week-session>span{font-size:8.5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.week-session>small{display:none}}.app-update{position:fixed;top:var(--safe-top);left:0;right:0;z-index:91;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px max(12px,env(safe-area-inset-left));min-height:52px;background:var(--butter);color:var(--ink);box-shadow:0 1px 0 var(--rule);font-size:13px}.app-update span{min-width:0}.app-update button{min-height:40px;padding:6px 16px;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:600;white-space:nowrap}.reception-selected-class{display:flex;align-items:center;justify-content:space-between;gap:12px}.class-past{width:100%;text-align:left;font:inherit;color:inherit;display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:22px;border:1.5px dashed rgba(49,49,48,.18);background:transparent}.class-past-dot{width:9px;height:9px;border-radius:999px;border:1.5px solid;flex:0 0 auto}.class-live{box-shadow:0 6px 18px #31313012,inset 0 0 0 2px var(--ink)}.class-live-now{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--ink);color:var(--paper);white-space:nowrap}.week-session.is-past{box-shadow:inset 0 0 0 1.5px #31313029}.week-session.is-past>b{text-decoration:line-through;text-decoration-thickness:1.5px}.week-session.is-past.is-booked{box-shadow:inset 0 0 0 2px var(--ink)}.club-highlights{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:none}.club-highlights::-webkit-scrollbar{display:none}.club-highlight{flex:0 0 auto;width:84px;background:none;border:0;padding:0;font:inherit;color:inherit;display:flex;flex-direction:column;align-items:center;gap:5px}.club-highlight__ring{position:relative;width:80px;height:80px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,var(--ring),#DAB4C9,#EAE788,var(--ring))}.club-highlight__ring>img,.club-highlight__date{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--paper)}.club-highlight__date{display:grid;place-items:center;font-family:Prata,Georgia,serif;font-size:15px}.club-highlight__mine{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:12px;border:2px solid var(--paper)}.club-highlight__name{font-size:12px;font-weight:600;line-height:1.2;text-align:center;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-highlight__when{font-size:11px;opacity:.6;margin-top:-3px}.theme-halloween{--paper: #FBF7F0;--faint: rgba(255,255,255,.45)}.theme-halloween,.theme-halloween body,.theme-halloween .app-content,.theme-halloween .screen{background:#fbf7f0 url(/halloween/paper.jpg) 0 0 / 512px repeat}.theme-halloween .serif{font-family:Yeseva One,Prata,Georgia,serif}.theme-halloween .card,.theme-halloween .class-bubble,.theme-halloween .arch-card,.theme-halloween .pp-page,.theme-halloween details.schedule-session,.theme-halloween .chip,.theme-halloween .btn-outline,.theme-halloween .class-past{position:relative}.theme-halloween .card:before,.theme-halloween .class-bubble:before,.theme-halloween .pp-page:before,.theme-halloween details.schedule-session:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:18px solid transparent;border-image:url(/halloween/frame.webp) 30 / 18px stretch;pointer-events:none;z-index:2}.theme-halloween .arch-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1.6px solid rgba(49,49,48,.85);border-radius:inherit;pointer-events:none;z-index:2}.theme-halloween .chip:before,.theme-halloween .btn-outline:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:15px solid transparent;border-image:url(/halloween/pill.webp) 34 35 / 15px stretch;pointer-events:none;z-index:2}.theme-halloween .chip,.theme-halloween .btn-outline{border-color:transparent!important;white-space:nowrap}.theme-halloween .chip{display:inline-flex;align-items:center;justify-content:center;gap:2px}.theme-halloween .class-past{border:none!important;background:transparent!important}.theme-halloween .class-past:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:16px solid transparent;border-image:url(/halloween/dashed.webp) 28 / 16px stretch;pointer-events:none}.theme-halloween .passport-empty{border:none;background:url(/halloween/dot-circle.webp) center / contain no-repeat}.theme-halloween .class-bubble,.theme-halloween .card,.theme-halloween .arch-card{box-shadow:none!important}.theme-halloween .card.class-bubble{background-image:url(/halloween/bat-small.webp),linear-gradient(#fff6,#fff6),url(/halloween/wash.jpg)!important;background-repeat:no-repeat,no-repeat,repeat!important;background-position:right 16px top 10px,0 0,0 0!important;background-size:30px auto,auto,420px!important;background-blend-mode:normal,normal,multiply!important}.theme-halloween .card.class-bubble:nth-of-type(2n){background-image:url(/halloween/pumpkins.webp),linear-gradient(#fff6,#fff6),url(/halloween/wash.jpg)!important;background-position:right 6px bottom 3px,0 0,0 0!important;background-size:40px auto,auto,420px!important}.theme-halloween .card{background-image:linear-gradient(#ffffff52,#ffffff52),url(/halloween/wash.jpg)!important;background-repeat:no-repeat,repeat!important;background-size:auto,420px!important;background-blend-mode:normal,multiply!important}.theme-halloween .arch-card{background-image:linear-gradient(#ffffff4d,#ffffff4d),url(/halloween/wash.jpg)!important;background-size:auto,420px!important;background-blend-mode:normal,multiply!important}.theme-halloween .tabbar{background:#fbf7f0 url(/halloween/paper.jpg) 0 0 / 512px;border-top:1.4px solid rgba(49,49,48,.55)}.theme-halloween .tab .ico{background:transparent!important;width:46px;height:40px}.theme-halloween .card.class-bubble,.theme-halloween .class-past,.theme-halloween .card{overflow:visible!important}.theme-halloween .card.class-bubble:nth-of-type(3n+1):after,.theme-halloween .class-past:nth-of-type(odd):after,.theme-halloween .card:not(.class-bubble):first-of-type:after{content:"";position:absolute;width:46px;height:64px;background:url(/halloween/web-corner.webp) right top / contain no-repeat;pointer-events:none;z-index:3;top:-5px;right:-5px}.theme-halloween .card.class-bubble:nth-of-type(3n+2):after{content:"";position:absolute;background:url(/halloween/web-nospider.webp) right top / contain no-repeat;pointer-events:none;z-index:3;bottom:-6px;left:-6px;transform:rotate(180deg);width:42px;height:32px}.theme-halloween .card:not(.class-bubble):first-of-type:after{right:auto;left:-8px;top:-8px;transform:scaleX(-1);width:48px;height:36px;background-image:url(/halloween/web-nospider.webp)!important}.theme-halloween .week-session{position:relative;background-image:linear-gradient(#ffffff59,#ffffff59),url(/halloween/wash.jpg)!important;background-size:auto,300px!important;background-blend-mode:normal,multiply!important}.theme-halloween .week-session:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:12px solid transparent;border-image:url(/halloween/frame.webp) 30 / 12px stretch;pointer-events:none}.theme-halloween .card.class-bubble:nth-of-type(3n+1):after{background-image:url(/halloween/web-nospider.webp)!important;width:46px;height:34px}.theme-halloween .stagger>.card,.theme-halloween .stagger>.class-bubble,.theme-halloween .stagger>*:has(>.class-bubble),.theme-halloween .stagger>.class-past,.theme-halloween .stagger>*:has(>.class-past){animation:none!important;transform:none!important;opacity:1!important}.push-settings{border:1px solid var(--rule);border-radius:18px;padding:18px;background:var(--paper);margin:16px 0;text-align:left}.push-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.push-heading h2{font-family:var(--serif,"Prata",serif);font-size:23px;font-weight:400;margin:5px 0 0}.push-state{font-size:12px;padding:6px 10px;background:var(--bg,#edebe9);border-radius:20px;white-space:nowrap}.push-state.enabled{background:var(--mint)}.push-settings p{font-size:13px;line-height:1.6;margin:12px 0}.push-actions{display:flex;gap:10px;flex-wrap:wrap}.push-actions button{min-height:44px}.staff-push{margin:12px 22px}.staff-push>summary{cursor:pointer;padding:10px 0;font-size:13px}.staff-push .push-settings{max-width:560px}.push-settings [role=alert]{color:#862c46}.push-nudge{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#31313052;display:flex;align-items:flex-end;justify-content:center}.push-nudge__sheet{width:100%;max-width:520px;background:var(--sky);border-radius:26px 26px 0 0;padding:22px 22px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #31313029}.push-nudge__sheet h2{font-family:var(--serif,"Prata",serif);font-size:26px;font-weight:400;margin:8px 0 0;line-height:1.15}.push-nudge__sheet p{font-size:14.5px;line-height:1.55;margin:10px 0 16px}.push-nudge__sheet .push-actions .btn{flex:1;min-height:48px}.training-note{border-top:1px solid var(--rule);padding:12px 0 0}.training-note-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;font-size:13px;font-weight:600;min-height:44px}.training-note-toggle>span:last-child{font-size:22px;font-weight:400}.training-note-hint{font-size:12px;line-height:1.5;color:var(--soft);margin:0 0 10px}.training-note-editor{padding:10px 0}.training-note-scopes{display:flex;gap:6px;margin-bottom:18px}.training-note-scopes button{flex:1;padding:10px 8px;min-height:44px;font-size:12px;border:1px solid var(--rule);border-radius:10px}.training-note-scopes button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.training-note-editor>label{font-size:13px;display:block;margin-bottom:8px}.training-note-editor textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--rule);border-radius:12px;background:transparent;padding:12px;font:inherit;font-size:16px;line-height:1.5;color:var(--ink)}.training-note-editor .training-note-consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:12px;line-height:1.6}.training-note-consent input{width:20px;height:20px;flex-shrink:0;accent-color:var(--ink)}.training-note-actions{display:flex;gap:16px;align-items:center}.training-note-actions button{min-height:44px;font-size:12px}.training-note-actions .btn{padding:10px 16px}.training-note [role=alert]{color:#853d49;font-size:13px}.training-note [role=status]{font-size:13px}.training-note button:focus-visible,.training-note textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.profile-details .detail-body{padding:0 22px 32px}.detail-intro{font-size:14.5px;line-height:1.6;margin:0 0 22px;color:var(--soft);max-width:30em}.detail-lead{font-family:Prata,Georgia,serif;font-size:22px;line-height:1.2;margin:0 0 8px}.kicker{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--soft);margin:0 0 12px}.steps{position:relative;padding-left:18px;display:flex;flex-direction:column;gap:0}.steps:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:1px;background:var(--rule)}.step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:0 14px;align-items:start;padding:14px 0 14px calc(var(--i, 0) * 7px)}.step:before{content:"";position:absolute;left:-18px;top:26px;width:10px;height:1px;background:var(--rule)}.step .num{font-family:Prata,Georgia,serif;font-size:17px;line-height:1;color:var(--ink);width:34px;height:34px;border-radius:999px;background:var(--mint);display:inline-flex;align-items:center;justify-content:center;grid-row:span 2}.step .t{padding-top:8px}.step .t{font-size:14.5px;font-weight:600;line-height:1.35}.step .x{grid-column:2;font-size:13.5px;line-height:1.6;color:var(--soft);margin-top:3px}.ladder{position:relative;padding-left:18px}.ladder:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--rule)}.rung{position:relative;display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"name price" "meta price";gap:2px 16px;align-items:center;padding:15px 16px 15px calc(14px + var(--i, 0) * 8px);border-radius:18px;margin:4px 0}.rung:before{content:"";position:absolute;left:-18px;top:30px;width:10px;height:1px;background:var(--rule)}.rung .name{grid-area:name;font-size:15px;font-weight:600}.rung .price{grid-area:price;font-family:Prata,Georgia,serif;font-size:25px;line-height:1;white-space:nowrap;text-align:right}.rung .meta{grid-area:meta;font-size:12.5px;color:var(--soft);line-height:1.5}.rung .meta b{font-weight:600;color:var(--ink)}.rung{background:var(--faint)}.rung:before{width:12px;height:12px;border-radius:999px;top:24px;left:-24px}.rung:nth-child(4n+1):before{background:var(--sky)}.rung:nth-child(4n+2):before{background:var(--mint)}.rung:nth-child(4n+3):before{background:var(--rose)}.rung:nth-child(4n):before{background:var(--butter)}.rung.anchor{background:var(--butter)}.rung.anchor:before{background:var(--ink)}.rung.gold:before{background:var(--ink)}.rung.anchor .meta{color:#313130bf}.rung.gold{background:var(--ink);color:var(--paper)}.rung.gold .meta{color:#edebe9bf}.rung.gold .meta b{color:var(--paper)}.plans-note{margin:22px 0 0;font-size:13px;line-height:1.6;color:var(--soft)}.plans-note b{color:var(--ink);font-weight:600}.detail-fields{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:26px}.detail-section{border:0;padding:0;margin:0;min-width:0}.detail-section legend{padding:0;margin-bottom:12px;font-size:16px;font-weight:600;line-height:1.3;display:flex;align-items:center;gap:9px}.detail-section legend:before{content:"";width:12px;height:12px;border-radius:999px;background:var(--rose);flex-shrink:0}fieldset.detail-section:nth-of-type(2) legend:before{background:var(--butter)}fieldset.detail-section:nth-of-type(3) legend:before{background:var(--sky)}.detail-label{padding-left:0}.area-options{display:flex;flex-wrap:wrap;gap:8px}.area-choice{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--rule);border-radius:999px;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.area-choice input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.area-choice.selected{background:var(--mint);border-color:var(--mint);font-weight:600}.area-choice:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.radio-options{display:flex;flex-wrap:wrap;gap:8px}.radio-options label{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--rule);border-radius:999px;font-size:14px;cursor:pointer;transition:background .15s,color .15s}.radio-options label input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.radio-options label:has(input:checked){background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.radio-options label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.detail-label{display:flex;flex-direction:column;gap:6px;font-size:16px;font-weight:600}.detail-label .soft{font-weight:400;font-size:13px}.detail-label textarea{font:inherit;font-size:16px;font-weight:400;resize:vertical;background:transparent;border:0;border-bottom:1.5px solid var(--rule);border-radius:0;padding:8px 0 10px;line-height:1.55}.detail-label textarea:focus{outline:none;border-bottom-color:var(--ink);box-shadow:none}.detail-label textarea::placeholder{color:#31313059}.count{text-align:right;font-size:12px;font-weight:400}.consent-line{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.55;padding:4px 0;font-weight:400}.consent-line input{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:var(--ink)}.sharing-box{background:var(--rose);border-radius:18px;padding:14px 16px}.sharing-box .consent-line{padding:0;font-weight:600}.sharing-box p{font-size:12.5px;line-height:1.6;margin-top:8px}.detail-fields>.btn{min-height:52px}.detail-fields:disabled{opacity:.65}.delete-link{margin:26px 0 0;text-decoration:underline;text-underline-offset:3px;font-size:13px;color:var(--soft);text-align:left;min-height:44px;background:none;border:0;font-family:inherit}.delete-box{margin:14px 0;padding:14px 16px;background:var(--rose);border-radius:16px;font-size:13.5px;line-height:1.55;display:flex;flex-wrap:wrap;gap:8px}.delete-box p{flex-basis:100%}.success-message{padding:12px 16px;background:var(--mint);border-radius:14px;font-size:14px;margin-top:14px}.error-message{color:#983a3f;font-size:14px;margin-top:10px}.rules-version{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin:18px 0 14px}.accept-box{margin-top:8px;padding:16px;border-radius:18px;background:var(--sky);display:flex;flex-direction:column;gap:12px}.accept-box .consent-line{padding:0;font-weight:600}.accept-box .btn{min-height:50px}.studio-rules .detail-intro{font-size:1rem}.studio-rules .steps{padding-left:0}.studio-rules .steps:before,.studio-rules .step:before{display:none}.studio-rules .step{grid-template-columns:34px minmax(0,1fr);padding:18px 0;gap:4px 12px;border-bottom:1px solid var(--rule)}.studio-rules .step .t{padding-top:4px;font-size:1.125rem;line-height:1.4}.studio-rules .step:nth-child(6n+1) .num{background:var(--rose)}.studio-rules .step:nth-child(6n+2) .num{background:var(--butter)}.studio-rules .step:nth-child(6n+3) .num{background:var(--sky)}.studio-rules .step:nth-child(6n+4) .num{background:var(--lilac)}.studio-rules .step:nth-child(6n+5) .num{background:var(--mint)}.studio-rules .step:nth-child(6n) .num{background:var(--neutral)}.studio-rules .step .x{margin-top:2px;font-size:1rem;line-height:1.65;color:var(--ink);overflow-wrap:anywhere}.studio-rules .rules-version{font-size:.8125rem;letter-spacing:.05em}.studio-rules .consent-line{min-height:44px;font-size:1rem;line-height:1.55;cursor:pointer}.studio-rules .consent-line input{width:24px;height:24px;margin-top:1px}.studio-rules .accept-box .btn{height:auto;padding:14px 18px;font-size:1rem}.shared-health{margin:0 0 14px;padding:16px 18px 14px;border-radius:20px;background:#f8f7f5;font-size:14px;line-height:1.55;position:relative}.shared-health h3{font-family:Prata,Georgia,serif;font-weight:400;font-size:22px;line-height:1.15;margin:0 0 10px;padding-right:80px}.shared-health>.chip{position:absolute;top:14px;right:14px}.shared-health .tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.shared-health .tags span{padding:5px 12px;border-radius:999px;background:var(--rose);font-size:13px;font-weight:600}.shared-health .fact{display:flex;gap:10px;font-size:13.5px}.shared-health .fact b{min-width:7.5em;font-weight:600}.health-note{font-family:Prata,Georgia,serif;font-size:16px;line-height:1.45;margin:10px 0;padding-left:12px;border-left:2px solid var(--rose);white-space:pre-wrap;overflow-wrap:anywhere}.shared-health .soft{font-size:12px;margin-top:8px}.profile-details :focus-visible,.shared-health :focus-visible{outline:2px solid var(--ink);outline-offset:3px}.detail-note{margin-top:18px;padding:14px 16px;border-radius:var(--r);background:var(--faint)}.detail-note b{display:block;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.detail-note p{margin:6px 0 0;font-size:13.5px;line-height:1.5}.detail-note__links{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.auth-entry{position:relative;isolation:isolate;width:100%;min-height:100dvh;padding:0 0 max(96px,env(safe-area-inset-bottom))}.auth-entry__welcome{position:relative;padding:38px 22px 26px;text-align:center}.auth-entry__loops{position:absolute;width:100%;left:0;pointer-events:none;z-index:-1}.auth-entry__loops--top{top:-20px;height:170px}.auth-entry__loops--bottom{bottom:0;height:170px;clip-path:inset(74px 0 0)}.auth-entry__mark{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 28px}.auth-entry__welcome h1{font-size:40px;line-height:1.15;margin-bottom:10px}.auth-entry__welcome p{font-size:15px}.auth-entry__body{position:relative;padding:0 22px}.auth-entry .in-wrap{position:relative}.auth-entry .lbl>.in-wrap{margin-top:6px}.auth-entry .in-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:40px;padding:8px 10px;background:none;border:0;border-radius:8px;font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--ink);opacity:.72;cursor:pointer}.auth-entry .in-eye:focus-visible{outline:2px solid var(--ink);outline-offset:2px;opacity:1}.auth-entry .in:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--sky)}.auth-entry .auth-entry__submit{background:var(--mint);color:var(--ink)}.auth-entry .auth-entry__switch{width:100%;min-height:48px;padding:12px 16px;border-radius:999px;background:var(--rose);font-size:14px;font-weight:600;text-decoration:none}.auth-entry__submit:focus-visible,.auth-entry__switch:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.auth-entry__submit:disabled{opacity:.65;cursor:wait}@media(max-width:350px){.auth-entry__welcome h1{font-size:34px}.auth-entry__body{padding-inline:20px}}.birth-date{display:flex;gap:8px;margin-top:6px}.birth-date select.in{padding-right:8px;font-size:15px}.drink-image{display:block;aspect-ratio:1;width:100%;flex-shrink:0;background-color:#f4eee6;background-image:url(/menu/drinks-no-labels.png);background-size:300% 400%;background-repeat:no-repeat;border-radius:16px}.bar-menu{padding:0 20px 24px}.bar-menu-categories{display:flex;gap:6px;overflow-x:auto;padding:3px 0 8px;scrollbar-width:none}.bar-menu-categories button{flex:1;white-space:nowrap;min-height:44px;padding:8px 12px;border:1px solid var(--rule);border-radius:99px;font-size:12px}.bar-menu-categories button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bar-menu-categories button:focus-visible,.bar-menu-milk summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.bar-menu-note{font-size:13px;line-height:1.5;color:var(--soft);margin:8px 0 20px}.bar-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.bar-menu-item{min-width:0}.bar-menu-info{padding:12px 2px 0}.bar-menu-info h2{font-size:15px;font-weight:600;line-height:1.3;margin:0 0 7px}.bar-menu-price{display:flex;justify-content:space-between;align-items:baseline;gap:4px;font-size:15px;font-variant-numeric:tabular-nums}.bar-menu-price span,.bar-menu-kcal{font-size:11px;color:var(--soft)}.bar-menu-kcal{margin:4px 0 0}.bar-menu-ingredients{font-size:12px;line-height:1.5;color:var(--soft);margin:9px 0 0}.bar-menu-milk{font-size:12px;margin-top:9px;line-height:1.5}.bar-menu-milk summary{cursor:pointer;min-height:32px}.bar-menu-milk p{margin:5px 0}@media(max-width:350px){.bar-menu{padding-left:14px;padding-right:14px}.bar-menu-categories button{padding:8px;font-size:11px}}.bar-order-button{margin-top:12px;background:var(--mint);border-radius:12px;padding:12px;width:100%;font-weight:600;min-height:44px}.bar-order-button:disabled{opacity:.45}.bar-order-form,.bar-my-orders{padding:18px;border:1px solid var(--rule);border-radius:20px;margin:0 0 24px;background:var(--paper)}.bar-order-form h3,.bar-my-orders h3{margin:0 0 16px;font-size:19px}.bar-order-form fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}.bar-order-form label{display:grid;gap:7px;font-size:13px}.bar-order-form select{width:100%;min-width:0;min-height:44px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);padding:10px;font:inherit;color:var(--ink)}.bar-order-form .btn{width:100%;margin-bottom:8px}.bar-feedback{padding:14px;border-radius:14px;background:#fff1b7;margin-bottom:18px;font-size:14px;line-height:1.5}.bar-my-order{display:grid;gap:7px;padding:15px 0;border-top:1px solid var(--rule);font-size:13px;line-height:1.5}.bar-my-order strong{font-size:16px}.bar-my-order.ready{color:#1c6548}.bar-my-order.cancelled{opacity:.65}.bar-state{font-weight:600}.bar-my-order .chip{justify-self:start;min-height:40px}
