:root{--member-yellow:#ffed00;--member-line:#3a3a3a;--member-muted:#a4a4a4;--member-pad:clamp(16px,4vw,56px);--member-display:"Arial Narrow","Helvetica Neue",Arial,sans-serif;--member-body:"Helvetica Neue","Yu Gothic",sans-serif}
.member-page{min-width:320px;background:#000;color:#fff;font-family:var(--member-body)}.member-page button,.member-page input,.member-page select{font:inherit}.member-page button{cursor:pointer}.member-page :focus-visible{outline:2px solid var(--member-yellow);outline-offset:3px}.member-shell{width:min(100% - var(--member-pad)*2,1600px);margin-inline:auto}.member-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:0 var(--member-pad);border-bottom:1px solid var(--member-line);background:rgb(0 0 0/.94);backdrop-filter:blur(12px)}.member-brand{font-size:12px;font-weight:800;line-height:.92;letter-spacing:.08em}.member-header__label{color:var(--member-muted);font-size:10px;letter-spacing:.12em}.member-account,.logout-button,.text-button,.filter-reset{min-height:44px;border:0;background:transparent;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em}.member-account{justify-self:end;border-bottom:1px solid #fff}.member-account span{margin-left:9px;color:var(--member-yellow);font-size:16px}.member-hero{border-bottom:1px solid var(--member-line);background:linear-gradient(90deg,transparent calc(25% - 1px),rgb(255 255 255/.12) 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),rgb(255 255 255/.12) 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),rgb(255 255 255/.12) 75%,transparent calc(75% + 1px))}.member-hero__grid{display:grid;grid-template-columns:3fr 1fr;min-height:300px;align-items:end;gap:32px;padding-block:clamp(55px,10vw,120px) 34px}.member-kicker{color:var(--member-yellow);font-size:10px;font-weight:800;letter-spacing:.14em}.member-hero h1,.member-section-head h2,.dialog-heading h2{margin:13px 0 0;font-family:var(--member-display);font-size:clamp(58px,10.4vw,158px);font-weight:500;line-height:.76;letter-spacing:-.08em}.member-hero h1 em{color:var(--member-yellow);font-style:normal}.member-hero__aside{align-self:end;border-left:1px solid var(--member-line);padding:0 0 4px 24px;color:var(--member-muted);font-size:13px}.member-auth-state{margin-top:20px;color:#fff}.member-booking,.my-bookings{padding-block:clamp(42px,7vw,92px);border-bottom:1px solid var(--member-line)}.my-bookings{background:#0b0b0b}.member-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.member-section-head h2{font-size:clamp(42px,5.3vw,78px)}.member-week-controls{display:flex;align-items:center;border:1px solid var(--member-line)}.icon-button{display:grid;place-items:center;width:48px;height:48px;border:0;background:transparent;color:#fff;font-size:18px}.icon-button+.text-button,.text-button+.icon-button{border-left:1px solid var(--member-line)}.text-button{padding-inline:15px}.member-filters{display:grid;grid-template-columns:minmax(0,260px) minmax(0,260px) auto;align-items:end;gap:12px;padding:18px 0 24px;border-block:1px solid var(--member-line)}.field{display:grid;gap:7px}.field label{font-size:11px;font-weight:700;letter-spacing:.06em}.field select,.field input{width:100%;min-height:48px;border:1px solid #555;border-radius:0;background:#111;color:#fff;padding:0 12px}.field small{color:var(--member-muted);font-size:11px}.filter-reset{justify-self:start;color:var(--member-yellow);text-decoration:underline}.schedule-tabs{display:none}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));overflow-x:auto;border-left:1px solid var(--member-line)}.schedule-day{min-height:420px;border-right:1px solid var(--member-line);border-bottom:1px solid var(--member-line)}.schedule-day__head{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;min-height:76px;padding:14px;border-bottom:1px solid var(--member-line);background:#080808}.schedule-day__date{font-family:var(--member-display);font-size:28px;letter-spacing:-.06em}.schedule-day__dow{color:var(--member-muted);font-size:10px;letter-spacing:.08em}.schedule-day.is-today .schedule-day__date{color:var(--member-yellow)}.session-card{width:100%;min-height:142px;padding:14px;border:0;border-bottom:1px solid var(--member-line);background:#000;color:#fff;text-align:left;transition:background .2s ease}.session-card:hover{background:#151515}.session-card__time{display:block;color:var(--member-yellow);font-size:11px;font-weight:800;letter-spacing:.08em}.session-card__title{display:block;margin-top:19px;font-family:var(--member-display);font-size:20px;font-weight:500;line-height:.95;letter-spacing:-.035em}.session-card__meta{display:flex;justify-content:space-between;gap:8px;margin-top:12px;color:var(--member-muted);font-size:10px}.availability{font-weight:800}.availability--available{color:var(--member-yellow)}.availability--full,.availability--closed{color:#aaa}.availability--reserved{color:#fff}.schedule-loading,.notice{padding:28px 0;border-bottom:1px solid var(--member-line);color:var(--member-muted)}.notice--error{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff}.booking-panels{border-top:1px solid var(--member-line)}.booking-tabs{display:flex;border-bottom:1px solid var(--member-line)}.booking-tabs button{min-height:52px;padding:0 18px;border:0;border-right:1px solid var(--member-line);background:transparent;color:var(--member-muted);font-size:12px;font-weight:700}.booking-tabs button[aria-selected="true"]{background:var(--member-yellow);color:#000}.booking-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--member-line)}.reservation-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;min-height:108px;padding:18px;background:#0b0b0b}.reservation-item__date{font-family:var(--member-display);font-size:25px;line-height:.84}.reservation-item h3{font-size:15px;line-height:1.1}.reservation-item p{margin-top:6px;color:var(--member-muted);font-size:11px}.reservation-item button{min-width:44px;min-height:44px;border:1px solid #666;background:transparent;color:#fff;font-size:10px}.account-gate{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;border-block:1px solid var(--member-line);color:var(--member-muted)}.button--full{width:100%}.member-dialog{width:min(100% - 32px,540px);max-height:min(88vh,720px);padding:clamp(24px,5vw,44px);border:1px solid #666;background:#090909;color:#fff}.member-dialog::backdrop{background:rgb(0 0 0/.8)}.dialog-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:28px}.dialog-heading h2{font-size:clamp(48px,8vw,72px)}.auth-switch{display:flex;margin-top:36px;border-bottom:1px solid var(--member-line)}.auth-switch button{min-height:48px;padding:0 17px;border:0;background:transparent;color:var(--member-muted);font-size:12px;font-weight:700}.auth-switch button[aria-selected="true"]{color:var(--member-yellow);border-bottom:2px solid var(--member-yellow)}.member-dialog form{display:grid;gap:17px;margin-top:24px}.form-message{min-height:22px;margin:0;color:var(--member-yellow);font-size:12px}.member-dialog--detail{max-width:620px}.detail-time{color:var(--member-yellow);font-size:12px;font-weight:800}.detail-title{margin:12px 0;font-family:var(--member-display);font-size:45px;line-height:.9}.detail-info{padding-block:18px;border-block:1px solid var(--member-line);color:var(--member-muted);font-size:13px}.detail-info p+p{margin-top:7px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.detail-actions .button{min-height:52px}.member-toast{position:fixed;z-index:30;right:16px;bottom:16px;max-width:min(420px,calc(100% - 32px));padding:13px 16px;background:var(--member-yellow);color:#000;font-size:13px;font-weight:700;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}.member-toast.is-visible{opacity:1;transform:none}.confirm-copy{color:var(--member-muted)}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.button--secondary{border:1px solid #777;background:transparent;color:#fff}
@media(max-width:767px){.member-header{grid-template-columns:1fr auto;min-height:64px}.member-header__label{display:none}.member-hero{background-size:50% 100%}.member-hero__grid{grid-template-columns:1fr;min-height:330px;padding-top:68px}.member-hero h1{font-size:clamp(61px,19vw,90px)}.member-hero__aside{max-width:320px;border-left:0;border-top:1px solid var(--member-line);padding:16px 0 0}.member-section-head{align-items:flex-start;flex-direction:column}.member-section-head--compact{flex-direction:row;align-items:end}.member-week-controls{width:100%;justify-content:space-between}.text-button{flex:1}.member-filters{grid-template-columns:1fr 1fr}.filter-reset{grid-column:1/-1}.schedule-tabs{display:flex;overflow:auto;border-bottom:1px solid var(--member-line);scrollbar-width:none}.schedule-tabs button{flex:0 0 68px;min-height:60px;border:0;border-right:1px solid var(--member-line);background:#000;color:var(--member-muted);font-size:10px;font-weight:700}.schedule-tabs button[aria-selected="true"]{background:var(--member-yellow);color:#000}.schedule-tabs span{display:block;margin-top:3px;font-family:var(--member-display);font-size:18px}.schedule-grid{display:block;border-left:0}.schedule-day{display:none;min-height:0;border-right:0}.schedule-day.is-selected{display:block}.schedule-day__head{position:static;min-height:56px}.session-card{min-height:126px}.booking-list{grid-template-columns:1fr}.account-gate{align-items:flex-start;flex-direction:column}.account-gate .button{width:100%}.detail-actions,.confirm-actions{grid-template-columns:1fr}.member-dialog{padding:28px 22px}.member-dialog--detail{padding-top:54px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
