:root{color:#f7f5ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050507;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit}input,select,button{font:inherit}.app-shell{color:#f7f5ff;background:radial-gradient(circle at 20% 0,#ae24ff38,#0000 34rem),radial-gradient(circle at 90% 8%,#00ccff29,#0000 30rem),#050507;min-height:100vh;font-family:inherit}.inner{width:min(1200px,100% - 48px);margin:0 auto}.topbar{border-bottom:1px solid #ffffff12}.topbar .inner{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.brand{color:#fff;letter-spacing:.16em;text-transform:uppercase;font-size:1.15rem;font-weight:800;text-decoration:none}.user-pill{color:#dcd7ea;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;padding:9px 14px;font-size:.82rem}.hero-section{border-bottom:1px solid #ffffff12;padding:44px 0 34px}.hero-title{color:#fff;letter-spacing:-.06em;text-transform:uppercase;margin:0 0 16px;font-size:clamp(2.4rem,7vw,6rem);font-weight:950;line-height:.92}.eyebrow{color:#9bf0ff;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;font-size:.76rem;font-weight:800}.hero-section h1{color:#dcd7ea;text-wrap:balance;max-width:620px;margin:0 0 22px;font-size:clamp(1rem,2vw,1.45rem);font-weight:700;line-height:1.35}.auth-card{background:#121218c2;border:1px solid #ffffff1c;border-radius:24px;gap:14px;max-width:500px;padding:22px;display:grid;box-shadow:0 24px 80px #00000052}.auth-tabs{background:#0b0b10;border:1px solid #ffffff17;border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.auth-fields{gap:12px;display:grid}.actions-row{flex-wrap:wrap;gap:10px;display:flex}.main-layout{grid-template-columns:minmax(0,1.5fr) minmax(360px,420px);align-items:start;gap:32px;padding:40px 0 60px;display:grid}.col-left{flex-direction:column;grid-area:1/1;gap:0;display:flex}.col-right{flex-direction:column;grid-area:1/2/span 2;gap:16px;min-width:0;display:flex}.section-block{border-bottom:1px solid #ffffff12;padding:32px 0}.section-block:last-child{border-bottom:none}.section-heading{align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-heading>span{color:#050507;background:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;font-weight:900;display:inline-flex}.section-heading h2{margin:4px 0 0;font-size:clamp(1.6rem,3vw,2.8rem);line-height:1}.section-heading .eyebrow{margin:0}.shop-tabs{background:#0b0b10;border:1px solid #ffffff17;border-radius:999px;gap:0;margin-bottom:20px;padding:4px;display:inline-flex}.shop-tabs .tab{padding:10px 22px;font-size:.9rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.product-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{background:#121218c2;border:1px solid #ffffff1c;border-radius:22px;flex-direction:column;min-height:210px;padding:22px;display:flex;box-shadow:0 24px 80px #00000052}.product-card h3{margin:0 0 10px;font-size:1.15rem}.product-card strong{margin:0 0 8px;font-size:1.7rem;display:block}.product-card p{color:#bbb4c9;flex:1;margin:0 0 16px;font-size:.88rem;line-height:1.5}.product-card button{margin-top:auto}.membership{background:linear-gradient(160deg,#9bf0ff24,#b936ff2e)}.chips-bar{color:#a9a2bb;background:#121218c2;border:1px solid #ffffff1c;border-radius:16px;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;display:flex}.chips-bar strong{color:#fff;font-size:1.6rem;font-weight:900;line-height:1}.chips-btn{margin-left:auto;padding:6px 14px;font-size:.78rem}.hours-select{color:#dcd7ea;gap:6px;font-size:.85rem;display:grid}.calendar-panel{background:#121218c2;border:1px solid #ffffff1c;border-radius:22px;width:100%;padding:18px;box-shadow:0 24px 80px #00000052}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.calendar-toolbar h3{text-transform:capitalize;text-align:center;flex:1;margin:0;font-size:.95rem}.calendar-toolbar button{color:#fff;background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;padding:4px 12px;font-size:1.2rem;font-weight:400}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekdays{margin-bottom:6px}.weekdays span{color:#8f879f;text-align:center;text-transform:uppercase;padding:2px 0;font-size:.65rem;font-weight:800;display:block}.day,.empty-day{aspect-ratio:1;color:#fff;background:#0b0b10;border:1px solid #ffffff14;border-radius:14px;justify-content:center;align-items:center;min-width:0;padding:0;font-size:1.08rem;font-weight:900;transition:border-color .2s,filter .2s,transform .2s;display:flex}.empty-day{cursor:default;background:0 0;border-color:#0000}.day:hover{filter:brightness(1.12);transform:translateY(-1px)}.day-full,.day-low{color:#fff;background:linear-gradient(160deg,#ff5874d6,#591234f0);border-color:#ff7792c7}.day-medium{color:#160f02;background:linear-gradient(160deg,#ffd666e6,#945814eb);border-color:#ffe78bdb}.day-high{color:#03140e;background:linear-gradient(160deg,#55ffaee6,#0c765deb);border-color:#84ffc8db}.day.day-disabled,.day.day-disabled:disabled{color:#ffffff38;cursor:not-allowed;filter:grayscale(.7);opacity:.58;background:linear-gradient(160deg,#242230b8,#0b0b10eb);border-color:#ffffff0f}.day.day-disabled:hover{filter:grayscale(.7);transform:none}.day.selected{border-color:#fff;outline:none;box-shadow:0 0 0 2px #fff,0 0 24px #9bf0ff61}.slots-panel{background:#121218c2;border:1px solid #ffffff1c;border-radius:22px;padding:16px;box-shadow:0 24px 80px #00000052}.slots-panel h3{margin:0 0 4px;font-size:.9rem}.slot-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.slot-list button{color:#fff;background:#101018;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;font-size:.85rem;display:flex}.slot-list small{color:#9bf0ff;font-size:.75rem}.main-layout>.reservations{grid-area:2/1}.reservation-list{gap:10px;display:grid}.reservations article{background:#121218c2;border:1px solid #ffffff1c;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex;box-shadow:0 24px 80px #00000052}.reservations article strong{font-size:.95rem}.reservations article span{color:#a9a2bb;font-size:.85rem}label{color:#dcd7ea;gap:8px;font-size:.88rem;display:grid}input,select{color:#fff;font:inherit;background:#0b0b10;border:1px solid #ffffff24;border-radius:14px;padding:12px 14px}button{color:#050507;cursor:pointer;font:inherit;background:linear-gradient(135deg,#b936ff,#4bdcff);border:0;border-radius:999px;padding:11px 18px;font-weight:800}button:disabled{cursor:wait;filter:grayscale(.7);opacity:.62}.secondary-button{color:#fff;background:#ffffff1a}.tab{color:#c9c4d6;background:0 0;border-radius:999px;padding:9px 14px}.tab.active{color:#050507;background:#fff}.notice{color:#fff;background:#121218c2;border:1px solid #ffffff1c;border-radius:16px;margin-bottom:16px;padding:14px 18px;font-size:.9rem}.helper{color:#aaa3bb;margin:8px 0 0;font-size:.85rem}.support-float{color:#050507;z-index:20;background:linear-gradient(135deg,#b936ff,#4bdcff);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:0;font-weight:900;text-decoration:none;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 46px #4bdcff47}.support-float:before{content:"";background:#050507;border-radius:17px;width:38px;height:32px}.support-float:after{content:"";border-top:10px solid #050507;border-left:9px solid #0000;width:0;height:0;position:absolute;bottom:18px;right:18px;transform:rotate(-10deg)}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.hero-session-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.login-shell{flex-direction:column;min-height:100vh;display:flex}.login-main{flex:1;justify-content:center;align-items:center;padding:48px 24px;display:flex}.login-card{background:#121218d1;border:1px solid #ffffff1c;border-radius:28px;flex-direction:column;gap:18px;width:100%;max-width:440px;padding:36px 32px;display:flex;box-shadow:0 32px 100px #0006}.login-title{margin:0;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.1}.btn-google{color:#1a1a1a;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:12px;width:100%;padding:13px 22px;font-size:.95rem;font-weight:700;display:flex}.btn-google:hover:not(:disabled){background:#f0f0f0}.btn-google svg{flex-shrink:0}.login-divider{color:#6b6480;align-items:center;gap:12px;font-size:.82rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.login-form{gap:14px;display:grid}.login-form button[type=submit]{width:100%;padding:13px}.login-toggle{color:#a9a2bb;text-align:center;margin:0;font-size:.88rem}.link-btn{color:#9bf0ff;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.link-btn:hover{color:#fff}.footer{color:#8f879f;border-top:1px solid #ffffff12;padding:28px 0 44px;font-size:.85rem}@media (width<=960px){.main-layout{grid-template-columns:1fr}.col-right{order:2;grid-area:auto/1;position:static}.col-left{order:1;grid-area:auto/1}.main-layout>.reservations{order:3;grid-area:auto/1}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.topbar .inner{flex-direction:row;align-items:center;gap:12px;padding:14px 0}.topbar-actions{justify-content:flex-end;margin-left:auto}.brand{letter-spacing:.12em;font-size:.86rem}.signin-button{padding:8px 10px;font-size:.76rem}.signup-button{display:none}.hero-section{padding:34px 0 28px}.hero-title{margin-bottom:12px;font-size:clamp(2.25rem,13vw,4.2rem)}.hero-section h1{max-width:330px;font-size:.98rem}.product-grid,.product-grid.two{grid-template-columns:1fr}.shop-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.shop-tabs .tab{text-align:center;padding:10px 8px;font-size:.82rem}.section-heading>span{border-radius:12px;width:44px;height:44px;font-size:1.2rem}.inner{width:calc(100% - 32px)}.calendar-grid{gap:5px}.day,.empty-day{border-radius:10px;font-size:.98rem}.slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}.support-float{width:56px;height:56px;bottom:16px;right:16px}.support-float:before{border-radius:15px;width:34px;height:28px}.support-float:after{bottom:16px;right:16px}}
