:root{--tg-bg:var(--tg-theme-bg-color,#fff);--tg-text:var(--tg-theme-text-color,#000);--tg-hint:var(--tg-theme-hint-color,#999);--tg-link:var(--tg-theme-link-color,#2481cc);--tg-button:var(--tg-theme-button-color,#2481cc);--tg-button-text:var(--tg-theme-button-text-color,#fff);--tg-secondary-bg:var(--tg-theme-secondary-bg-color,#f1f1f1);--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--tg-bg);color:var(--tg-text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100vh}.page{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding:16px;display:flex}.page-title{margin-bottom:4px;font-size:20px;font-weight:700}.page-subtitle{color:var(--tg-hint);margin-bottom:20px;font-size:14px}.card{background:var(--tg-secondary-bg);border-radius:var(--radius);margin-bottom:12px;padding:16px}.btn{background:var(--tg-button);width:100%;color:var(--tg-button-text);border-radius:var(--radius);cursor:pointer;text-align:center;border:none;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s;display:block}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{opacity:.8}.btn-secondary{background:var(--tg-secondary-bg);color:var(--tg-text);border:1px solid #0000001a}.btn-danger{color:#fff;background:#ff3b30}.btn-sm{width:auto;padding:8px 16px;font-size:14px;display:inline-block}.input{background:var(--tg-secondary-bg);border-radius:var(--radius-sm);width:100%;color:var(--tg-text);border:1.5px solid #0000;outline:none;margin-bottom:10px;padding:12px 14px;font-size:16px;transition:border-color .15s}.input:focus{border-color:var(--tg-button)}.input::placeholder{color:var(--tg-hint)}textarea.input{resize:vertical;min-height:80px}.label{color:var(--tg-hint);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.error-msg{color:#ff3b30;text-align:center;margin:8px 0;font-size:14px}.success-msg{color:#34c759;text-align:center;margin:8px 0;font-size:14px}.spinner{justify-content:center;align-items:center;padding:40px;display:flex}.spinner:after{content:"";border:3px solid var(--tg-secondary-bg);border-top-color:var(--tg-button);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.step-indicator{justify-content:center;gap:6px;margin-bottom:20px;display:flex}.step-dot{background:var(--tg-secondary-bg);border:1.5px solid var(--tg-hint);border-radius:50%;width:8px;height:8px}.step-dot.active{background:var(--tg-button);border-color:var(--tg-button)}.step-dot.done{background:var(--tg-button);border-color:var(--tg-button);opacity:.5}.tag{background:var(--tg-button);color:var(--tg-button-text);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.tag-gray{background:var(--tg-secondary-bg);color:var(--tg-hint)}.slot-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0;display:grid}.slot{text-align:center;border-radius:var(--radius-sm);background:var(--tg-secondary-bg);cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;padding:8px 4px;font-size:13px;transition:all .15s}.slot.selected{border-color:var(--tg-button);background:color-mix(in srgb, var(--tg-button) 15%, var(--tg-bg));color:var(--tg-button);font-weight:600}.slot.unavailable{opacity:.35;cursor:not-allowed}.teacher-card{border-radius:var(--radius);background:var(--tg-secondary-bg);cursor:pointer;border:2px solid #0000;margin-bottom:10px;padding:14px;transition:border-color .15s}.teacher-card.selected{border-color:var(--tg-button)}.teacher-card video,.teacher-card img{border-radius:var(--radius-sm);object-fit:cover;width:100%;max-height:200px;margin-bottom:10px}.nav-tabs{background:var(--tg-secondary-bg);border-radius:var(--radius);gap:4px;margin-bottom:16px;padding:4px;display:flex}.nav-tab{text-align:center;border-radius:var(--radius-sm);cursor:pointer;color:var(--tg-hint);background:0 0;border:none;flex:1;padding:8px;font-size:13px;font-weight:500;transition:all .15s}.nav-tab.active{background:var(--tg-bg);color:var(--tg-button);font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{text-align:center;color:var(--tg-hint);padding:4px 2px;font-size:11px;font-weight:500}.row{align-items:center;gap:10px;display:flex}.flex-1{flex:1}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.text-hint{color:var(--tg-hint);font-size:13px}.text-sm{font-size:13px}.font-bold{font-weight:700}.spacer{flex:1}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.tariff-total-badge{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--tg-button) 12%, var(--tg-bg));color:var(--tg-button);padding:3px 12px;font-size:13px;font-weight:600;display:inline-block}.formats-description{color:var(--tg-hint);text-align:center;margin-top:8px;font-size:13px;line-height:1.5;animation:.5s formatsFadeIn}.formats-ring-wrap{flex-direction:column;align-items:center;padding:40px 0 8px;display:flex}.formats-ring-circle{width:200px;height:200px;position:relative}.formats-ring-svg{transform:rotate(-90deg)}.formats-ring-segment{transition:stroke .8s cubic-bezier(.4,0,.2,1),opacity .8s cubic-bezier(.4,0,.2,1)}.formats-ring-icon{justify-content:center;align-items:center;font-size:32px;display:flex;position:absolute;inset:0}@keyframes formatsFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.formats-text{text-align:center;min-height:52px;animation:.5s formatsFadeIn}.guest-h{margin:20px 0 10px;font-size:15px;font-weight:700}.guest-list{flex-direction:column;gap:6px;font-size:14px;display:flex}.guest-chips{flex-wrap:wrap;gap:6px;display:flex}.guest-chip{border-radius:20px;padding:8px 12px;font-size:14px}.guest-stories{scrollbar-width:none;gap:8px;margin:0 -16px;padding:0 16px 4px;display:flex;overflow-x:auto}.guest-stories::-webkit-scrollbar{display:none}.guest-story{cursor:pointer;flex:none;width:104px}.guest-story img{object-fit:cover;border-radius:var(--radius);background:var(--tg-secondary-bg);width:104px;height:184px;display:block}.guest-story-name{text-align:center;margin-top:4px;font-size:12px}.guest-perk{align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.guest-perk+.guest-perk{border-top:1px solid color-mix(in srgb, var(--tg-hint) 20%, transparent)}.guest-perk-ic{text-align:center;flex:none;width:28px;font-size:22px}.guest-guarantee{background:color-mix(in srgb, var(--tg-button) 12%, var(--tg-bg));margin-top:12px}.guest-material{color:var(--tg-text);justify-content:space-between;gap:8px;font-size:14px;text-decoration:none;display:flex}.guest-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--tg-bg);box-shadow:0 -1px 0 color-mix(in srgb, var(--tg-hint) 25%, transparent);position:fixed;bottom:0;left:0;right:0}.guest-bar .btn{max-width:448px;margin:0 auto}.guest-viewer{z-index:10;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.guest-viewer-body{background:var(--tg-bg);width:100%;max-width:480px;max-height:92vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;overflow-y:auto}.guest-viewer-body img{object-fit:contain;border-radius:var(--radius);background:var(--tg-secondary-bg);width:100%;max-height:52vh}.guest-next{background:linear-gradient(135deg, var(--tg-button) 0%, #1a6db5 100%);color:#fff}.guest-next-btn{color:#fff;cursor:pointer;background:#ffffff40;border:none;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600}.guest-week{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;font-size:12px;display:grid}.guest-week-day{flex-direction:column;align-items:center;gap:6px;display:flex}.guest-week-dot{border:1.5px dashed color-mix(in srgb, var(--tg-hint) 50%, transparent);border-radius:8px;width:28px;height:28px}.guest-locked{padding:4px}.guest-locked-row{align-items:center;gap:12px;padding:10px 12px;display:flex}.guest-locked-row>span:first-child{text-align:center;width:28px;font-size:22px}.guest-locked-row>div{flex:1}.guest-locked-row+.guest-locked-row{border-top:1px solid color-mix(in srgb, var(--tg-hint) 20%, transparent)}.guest-lock,.guest-dim{opacity:.6}.guest-tabs .nav-tab{white-space:nowrap;padding:8px 2px;font-size:12px}.guest-page .card .input{background:var(--tg-bg)}.support-seg{background:var(--tg-bg);border-radius:var(--radius-sm);gap:4px;margin-bottom:16px;padding:4px;display:flex}.support-seg button{color:var(--tg-hint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:9px 6px;font-size:14px;font-weight:500}.support-seg button.active{background:var(--tg-button);color:var(--tg-button-text);font-weight:600}.support-text{background:var(--tg-bg)}.support-error{color:#ff3b30;margin-top:8px;font-size:13px}.support-sent{text-align:center;padding:28px 20px 20px}.support-sent-icon{color:#fff;background:#00b060;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;font-size:28px;font-weight:700;display:flex}.support-sent-title{margin-bottom:6px;font-size:17px;font-weight:700}.support-history{margin-top:20px}.support-item{margin-bottom:8px;padding:12px 14px}.support-item-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.support-item-text{white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:6px;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.support-tag-open{color:#c77700;background:#ff95002e}.support-tag-done{color:#00924f;background:#00b0602e}.support-intro{color:var(--tg-hint);margin-bottom:12px;font-size:14px;line-height:1.45}.support-hint{margin:14px auto 0;display:block}:root{--c-lesson:#2481cc;--c-club:#8b5cf6;--c-coach:#10a37f;--ring-track:color-mix(in srgb, var(--tg-hint) 22%, transparent)}.section-title{color:var(--tg-hint);text-transform:uppercase;letter-spacing:.03em;margin:18px 0 8px;font-size:13px;font-weight:600}.link-btn{color:var(--tg-button);cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:14px;font-weight:500}.ic-mask{background-color:currentColor;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.resched-btn{cursor:pointer;background:color-mix(in srgb, var(--tg-button) 12%, transparent);width:40px;height:40px;color:var(--tg-button);border:none;border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.resched-btn.light{color:#fff;background:#fff3}.resched-btn:active{transform:scale(.94)}.hero-card{color:#fff;border-radius:16px;margin-bottom:12px;padding:16px;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.hero-lesson{background:linear-gradient(135deg,#2f8fe0 0%,#1a5fb0 100%)}.hero-club{background:linear-gradient(135deg,#9b6bff 0%,#6a3fd6 100%)}.hero-coach{background:linear-gradient(135deg,#1bbf8f 0%,#0b8163 100%)}.hero-card.is-empty{opacity:.88}.hero-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.hero-chip{white-space:nowrap;background:#fff3;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.hero-when{opacity:.9;text-align:right;font-size:12px}.hero-date{opacity:.92;text-transform:capitalize;font-size:15px}.hero-time{letter-spacing:-.01em;margin:2px 0 6px;font-size:30px;font-weight:800;line-height:1.1}.hero-sub{opacity:.92;flex-direction:column;gap:2px;margin-bottom:12px;font-size:14px;display:flex}.hero-actions{z-index:1;align-items:center;gap:8px;display:flex;position:relative}.hero-join{color:#1a1a1a;cursor:pointer;background:#fff;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;min-height:40px;padding:8px 14px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.hero-lesson .hero-join{color:#1a5fb0}.hero-club .hero-join{color:#6a3fd6}.hero-coach .hero-join{color:#0b8163}.hero-join.is-off{background:#ffffff29;font-size:13px;font-weight:500;color:#fff!important}.hero-empty{margin:4px 0 12px;font-size:15px;font-weight:600}.hero-card.is-empty .hero-join{z-index:1;flex:none;position:relative}.lessons-block{margin-bottom:12px}.lesson-row{background:var(--tg-secondary-bg);border-left:4px solid var(--c-lesson);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:10px 10px 10px 14px;display:flex}.row-club{border-left-color:var(--c-club)}.row-coach{border-left-color:var(--c-coach)}.lesson-row-time{flex-direction:column;min-width:70px;display:flex}.lesson-row-time b{font-size:17px}.lesson-row-time span{color:var(--tg-hint);text-transform:capitalize;font-size:12px}.lesson-row-body{flex-direction:column;flex:1;min-width:0;display:flex}.lesson-row-kind{font-size:14px;font-weight:600}.lesson-row-who{color:var(--tg-hint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.row-club .resched-btn{background:color-mix(in srgb, var(--c-club) 12%, transparent);color:var(--c-club)}.row-coach .resched-btn{background:color-mix(in srgb, var(--c-coach) 12%, transparent);color:var(--c-coach)}.nav-tab-stack{flex-direction:column;align-items:center;gap:2px;padding:7px 2px;font-size:11px;line-height:1.2;display:flex}.nav-tab-icon{font-size:17px;line-height:1}.sub-hero{color:#fff;background:linear-gradient(135deg,#2b2f45 0%,#151827 100%);border-radius:16px;margin-bottom:12px;padding:16px}.sub-hero-top{gap:6px;margin-bottom:10px;display:flex}.sub-hero-name{font-size:28px;font-weight:800;line-height:1.1}.sub-hero-product{opacity:.7;margin-top:2px;font-size:13px}.sub-hero-period{opacity:.85;justify-content:space-between;margin:16px 0 6px;font-size:13px;display:flex}.sub-hero-bar{background:#ffffff26;border-radius:3px;height:6px;overflow:hidden}.sub-hero-bar div{background:linear-gradient(90deg,#6ee7b7,#34d399);border-radius:3px;height:100%}.sub-hero-left{margin-top:8px;font-size:13px;font-weight:600}.sub-hero-left span{opacity:.65;font-weight:400}.rings{justify-content:space-around;gap:4px;display:flex}.ring{flex-direction:column;align-items:center;width:33%;display:flex;position:relative}.ring-num{flex-direction:column;justify-content:center;align-items:center;gap:3px;height:92px;display:flex;position:absolute;top:0}.ring-emoji{font-size:22px;line-height:1}.ring-count{color:var(--tg-hint);white-space:nowrap;font-size:11px;line-height:1}.ring-count b{color:var(--tg-text);font-size:15px;font-weight:800}.ring-label{text-align:center;margin-top:6px;font-size:12px;font-weight:500}.sub-next{align-items:center;gap:12px;display:flex}.sub-next.soon{box-shadow:inset 0 0 0 1.5px #ff9500}.sub-next-icon{background:var(--tg-bg);border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.sub-next-body{flex:1;min-width:0}.sub-next-date{text-transform:capitalize;font-size:16px;font-weight:700}.sub-next-amount{white-space:nowrap;font-size:17px;font-weight:800}.pay-row{align-items:center;gap:10px;padding:8px 0;display:flex}.pay-row+.pay-row{border-top:1px solid color-mix(in srgb, var(--tg-hint) 18%, transparent)}.pay-icon{color:#00924f;background:#00b06026;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.pay-body{flex:1;min-width:0}.pay-title{font-size:14px;font-weight:600}.pay-amount{white-space:nowrap;font-size:15px;font-weight:700}.ic-svg{flex:none;line-height:0;display:inline-flex}.ic-svg svg{width:100%;height:100%;display:block}.resched-step-title{margin-bottom:4px;font-size:15px;font-weight:700}.resched-note{background:var(--tg-secondary-bg);border-radius:12px;margin-bottom:8px;padding:10px 12px;font-size:14px}.resched-day{margin-bottom:10px}.resched-day-name{text-transform:capitalize;margin-bottom:6px;font-size:14px;font-weight:600}.resched-chips{flex-wrap:wrap;gap:6px;display:flex}.resched-chip{background:var(--tg-secondary-bg);color:var(--tg-text);cursor:pointer;border:none;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.resched-chip.on{background:var(--tg-button);color:var(--tg-button-text,#fff)}.resched-chip:disabled{opacity:.5}.coach-card{align-items:center;gap:12px;display:flex}.coach-avatar{color:#fff;background:linear-gradient(135deg, var(--c-coach), #0b7a5e);border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:800;display:flex}.sub-hero{transition:background .6s;position:relative;overflow:hidden}.sub-hero>*{z-index:1;position:relative}.sub-hero.frozen{background:linear-gradient(135deg,#5fb4e8 0%,#2c6fb3 55%,#1d4f86 100%)}.sub-hero.frozen .sub-hero-bar div{background:linear-gradient(90deg,#e0f2fe,#bae6fd)}.sub-hero.frozen:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,#ffffff47,#0000 40%),radial-gradient(circle at 85% 80%,#ffffff2e,#0000 45%);animation:4s ease-in-out infinite alternate frost-glow;position:absolute;inset:0}@keyframes frost-glow{0%{opacity:.55}to{opacity:1}}.snow{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:0!important}.snow span{color:#ffffffe6;text-shadow:0 0 6px #fff9;animation:linear infinite snow-fall;position:absolute;top:-12%}@keyframes snow-fall{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}to{opacity:.2;transform:translateY(260px)rotate(200deg)}}.frozen-badge{background:#ffffff38;border-radius:999px;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;font-size:13px;font-weight:700;animation:2.4s ease-in-out infinite frozen-pulse;display:inline-flex}@keyframes frozen-pulse{0%,to{box-shadow:0 0 #ffffff59}50%{box-shadow:0 0 0 6px #fff0}}.freeze-card{align-items:flex-start;gap:12px;display:flex}.freeze-icon{background:#38bdf82e;border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:flex}.freeze-rules{margin:0 0 12px;padding-left:0;font-size:14px;line-height:1.45;list-style:none}.freeze-rules li{gap:8px;margin-bottom:8px;display:flex}.freeze-rules li b{font-weight:700}.sheet-backdrop{z-index:100;background:#00000073;align-items:flex-end;animation:.2s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--tg-bg,#fff);border-radius:16px 16px 0 0;width:100%;max-height:88vh;padding:16px;animation:.25s sheet-up;overflow-y:auto}@keyframes sheet-up{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.freeze-done{text-align:center;padding:10px 0 4px}.freeze-done .big{font-size:54px;animation:.8s cubic-bezier(.2,.9,.3,1.3) spin-in;display:inline-block}@keyframes spin-in{0%{opacity:0;transform:scale(.2)rotate(-180deg)}to{opacity:1;transform:none}}.staff-refresh{background:var(--tg-secondary-bg);width:36px;height:36px;color:var(--tg-text);cursor:pointer;border:none;border-radius:10px;font-size:18px}.staff-hero{cursor:pointer}.hero-blue{background:linear-gradient(135deg,#2f8fe0 0%,#1a5fb0 100%)}.hero-green{background:linear-gradient(135deg,#1bbf8f 0%,#0b8163 100%)}.hero-purple{background:linear-gradient(135deg,#9b6bff 0%,#6a3fd6 100%)}.hero-orange{background:linear-gradient(135deg,#ff9f43 0%,#e0671b 100%)}.hero-dark{background:linear-gradient(135deg,#2b2f45 0%,#151827 100%)}.staff-hero .hero-join{flex:1}.staff-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:4px;display:grid}.staff-stat{background:var(--tg-secondary-bg);border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:12px;display:flex}.staff-stat b{text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:800;line-height:1.15;overflow:hidden}.staff-stat span{color:var(--tg-hint);font-size:12.5px}.staff-stat small{color:var(--tg-hint);font-size:11.5px}.staff-stat.tone-bad b{color:#e5484d}.staff-stat.tone-warn b{color:#d97706}.staff-count{background:color-mix(in srgb, var(--tg-hint) 22%, transparent);border-radius:9px;margin-left:6px;padding:0 7px;font-size:11px;line-height:18px;display:inline-block}.staff-row.tone-bad{border-left-color:#e5484d}.staff-row.tone-warn{border-left-color:#f59e0b}.staff-row-sub{color:var(--tg-hint);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.staff-badge{background:color-mix(in srgb, var(--tg-button) 14%, transparent);color:var(--tg-button);border-radius:8px;flex:none;padding:3px 8px;font-size:12px;font-weight:700}.staff-join{background:var(--tg-button);color:var(--tg-button-text,#fff);cursor:pointer;border:none;border-radius:10px;flex:none;padding:8px 12px;font-size:13px;font-weight:700}.sheet{max-height:min(88vh, calc(var(--vvh,100vh) - 12px))}.bsheet-backdrop{z-index:100;padding-bottom:var(--kb,0px);background:#00000073;align-items:flex-end;animation:.2s fade-in;display:flex;position:fixed;inset:0}.bsheet{background:var(--tg-bg,#fff);width:100%;max-width:560px;max-height:min(90vh, calc(var(--vvh,100vh) - 12px));border-radius:18px 18px 0 0;flex-direction:column;margin:0 auto;animation:.25s sheet-up;display:flex;overflow:hidden}.bsheet-head{flex:none;padding:6px 16px 10px}.bsheet-grip{background:color-mix(in srgb, var(--tg-hint) 40%, transparent);border-radius:2px;width:38px;height:4px;margin:2px auto 10px}.bsheet-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.bsheet-title{font-size:17px;font-weight:800}.bsheet-sub{color:var(--tg-hint);margin-top:2px;font-size:13px}.bsheet-sub:first-letter{text-transform:uppercase}.bsheet-close{background:var(--tg-secondary-bg);width:30px;height:30px;color:var(--tg-hint);cursor:pointer;border:none;border-radius:50%;flex:none;font-size:14px}.bsheet-body{-webkit-overflow-scrolling:touch;flex:1;padding:0 16px 12px;overflow-y:auto}.bsheet-footer{padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid color-mix(in srgb, var(--tg-hint) 18%, transparent);background:var(--tg-bg,#fff);flex-direction:column;flex:none;gap:8px;display:flex}.bsheet-footer .btn{margin:0}.daystrip{scrollbar-width:none;gap:8px;margin-bottom:14px;padding-bottom:8px;display:flex;overflow-x:auto}.daystrip::-webkit-scrollbar{display:none}.daystrip-day{text-align:center;opacity:.3;cursor:default;width:52px;color:var(--tg-text);border-radius:10px;flex-shrink:0;padding:8px 4px}.daystrip-day.has{opacity:1;background:var(--tg-secondary-bg);cursor:pointer}.daystrip-day.on{background:var(--tg-button);color:var(--tg-button-text)}.daystrip-dow{color:var(--tg-hint);margin-bottom:2px;font-size:11px}.daystrip-day.on .daystrip-dow{color:#fffc}.daystrip-num{font-size:16px;font-weight:700}.time-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.time-chip{background:var(--tg-secondary-bg);color:var(--tg-text);cursor:pointer;border:none;border-radius:10px;padding:12px 0;font-size:15px;font-weight:600;transition:background .15s}.time-chip.on{background:var(--tg-button);color:var(--tg-button-text)}.field-label{margin:4px 0 8px;font-size:14px;font-weight:600}.opt-row{gap:6px;margin-bottom:14px;display:flex}.opt-row .opt{text-align:center;background:var(--tg-secondary-bg);cursor:pointer;border-radius:10px;flex:1;padding:10px 0;font-size:14px;font-weight:500;transition:background .15s}.opt-row .opt.on{background:var(--tg-button);color:var(--tg-button-text);font-weight:600}.pick-summary{background:color-mix(in srgb, var(--tg-button) 10%, var(--tg-bg));border-radius:12px;margin-top:14px;padding:12px;font-size:14px}.pick-summary:first-letter{text-transform:uppercase}.sched-legend{color:var(--tg-hint);flex-wrap:wrap;gap:12px;margin:4px 0 8px;font-size:12px;display:flex}.sched-legend i{vertical-align:-2px;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.week-grid{border-collapse:separate;border-spacing:4px;width:100%}.week-grid th{color:var(--tg-hint);font-size:12px;font-weight:600}.week-grid td.h{color:var(--tg-hint);text-align:right;white-space:nowrap;width:34px;padding-right:4px;font-size:11px}.week-grid td.c{cursor:pointer;border-radius:7px;height:32px}.week-grid td.c.free{background:var(--tg-secondary-bg)}.week-grid td.c.cur{background:#f59e0b38}.week-grid td.c.on{background:var(--tg-button)}.week-grid td.c.none{cursor:default}.step-dots{justify-content:center;gap:6px;margin:2px 0 10px;display:flex}.step-dots span{background:color-mix(in srgb, var(--tg-hint) 30%, transparent);border-radius:2px;width:22px;height:4px}.step-dots span.on{background:var(--tg-button)}*{-webkit-tap-highlight-color:transparent}button,.btn,.opt,.time-chip,.daystrip-day,.resched-chip,.resched-btn,.nav-tab,.hero-join,.lesson-row,.staff-row,.staff-stat,.slot,td.c,.bsheet-close{touch-action:manipulation;transition:transform .14s,background-color .18s,color .18s,opacity .18s,box-shadow .18s}.btn:active:not(:disabled),.opt:active,.time-chip:active,.daystrip-day.has:active,.resched-chip:active,.hero-join:active,.nav-tab:active,.bsheet-close:active,.staff-refresh:active{transform:scale(.96)}.lesson-row:active,.staff-row:active,.card[style*=pointer]:active{transform:scale(.985)}.btn:disabled{transition:opacity .2s}.time-chip.on,.opt.on,.daystrip-day.on,.resched-chip.on{animation:.22s pop}@keyframes pop{0%{transform:scale(.94)}60%{transform:scale(1.03)}to{transform:scale(1)}}.anim-in{animation:.22s backwards rise}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card,.hero-card,.sub-hero,.staff-stats{animation:.25s backwards rise}.bsheet-backdrop{animation:.2s fade-in}.bsheet{animation:.26s cubic-bezier(.2,.8,.2,1) sheet-up}.bsheet-backdrop.closing{animation:.18s forwards fade-out}.bsheet-backdrop.closing .bsheet{animation:.18s forwards sheet-down}@keyframes sheet-down{to{opacity:0;transform:translateY(60px)}}@keyframes fade-out{to{opacity:0}}.bsheet-body{scroll-behavior:smooth}.spinner{animation-duration:.8s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{transition:padding-bottom .16s ease-out}.kb-open .page{min-height:auto;padding-bottom:calc(var(--kb,0px) + 96px)}.bsheet-backdrop,.sheet-backdrop{transition:top .16s ease-out,height .16s ease-out;inset:auto 0!important;top:var(--vvt,0px)!important;height:var(--vvh,100vh)!important;padding-bottom:0!important}.bsheet,.sheet{transition:max-height .16s ease-out;max-height:calc(var(--vvh,100vh) - 12px)!important}.kb-bar{z-index:300;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:var(--tg-bg,#fff);opacity:0;pointer-events:none;transition:transform .16s ease-out,opacity .12s ease-out,top .16s ease-out;position:fixed;top:100%;left:0;right:0;transform:translateY(12px);box-shadow:0 -6px 16px #00000014}.kb-bar.show{opacity:1;pointer-events:auto;transform:none}.kb-bar .btn{max-width:448px;margin:0 auto;display:block}.act{position:relative;overflow:hidden}.act-over{background:inherit;border-radius:inherit;justify-content:center;align-items:center;gap:8px;animation:.15s fade-in;display:flex;position:absolute;inset:0}.act-busy .act-label,.act-done .act-label{visibility:hidden}.act-done{transition:background .2s;color:#fff!important;background:#22c55e!important;border-color:#22c55e!important}.act-done .act-over{color:#fff;background:#22c55e;font-weight:700}.act-err{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.btn-spinner{opacity:.85;border:2.5px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.check-draw path{stroke-dasharray:24;stroke-dashoffset:24px;animation:.35s 50ms forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.toasts{left:0;right:0;top:calc(var(--vvt,0px) + 10px);z-index:400;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast{color:#fff;border-radius:14px;align-items:center;gap:8px;max-width:440px;padding:10px 14px;font-size:14px;font-weight:600;animation:.28s cubic-bezier(.2,.9,.3,1.2) toast-in;display:flex;box-shadow:0 8px 24px #0000002e}.toast-success{background:#16a34a}.toast-error{background:#e5484d}.toast.out{animation:.28s forwards toast-out}.toast-x{background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;display:inline-flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)scale(.96)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(-10px)}}.appear{animation:.35s cubic-bezier(.2,.9,.3,1.2) backwards appear}@keyframes appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.leave{animation:.25s forwards leave}@keyframes leave{to{opacity:0;height:0;margin:0;padding:0;transform:scale(.97)}}.anum{font-variant-numeric:tabular-nums;transition:color .3s;display:inline-block}.anum.bump{animation:.45s num-bump}@keyframes num-bump{0%{transform:scale(1)}35%{transform:scale(1.25)}to{transform:scale(1)}}.swap{position:relative}.swap-in{animation:backwards swap-in}.swap-out{pointer-events:none;animation:forwards swap-out;position:absolute;top:0;left:0;right:0}@keyframes swap-in{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}@keyframes swap-out{0%{opacity:1}to{opacity:0;transform:scale(.98)}}.presence{grid-template-rows:1fr;transition:grid-template-rows .3s,opacity .25s,margin .3s;display:grid}.presence>*{min-height:0;overflow:hidden}.presence.leaving{opacity:0;grid-template-rows:0fr;margin-bottom:0!important}.presence.entering{animation:.35s cubic-bezier(.2,.9,.3,1.2) backwards appear}.act-label,.act-over{transition:opacity .25s}.act-idle .act-label{animation:.25s fade-in}.clubs-hero{color:#fff;background:linear-gradient(135deg,#9b6bff 0%,#6a3fd6 100%);border-radius:16px;margin-bottom:6px;padding:16px;animation:.25s backwards rise;position:relative;overflow:hidden}.clubs-hero:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.clubs-hero-row{justify-content:space-between;align-items:flex-end;gap:12px;margin:6px 0 12px;display:flex}.clubs-hero-big{font-size:34px;font-weight:800;line-height:1}.clubs-hero-big small{opacity:.8;font-size:16px;font-weight:600}.clubs-hero-cap{opacity:.85;margin-top:4px;font-size:12.5px}.clubs-hero-mine{text-align:right}.clubs-hero .sub-hero-bar{background:#fff3}.clubs-hero .sub-hero-bar div{background:#fff;transition:width .6s cubic-bezier(.2,.8,.2,1)}.clubs-hero-note{opacity:.85;margin-top:10px;font-size:12.5px}.club-mine{background:color-mix(in srgb, var(--c-club) 10%, var(--tg-bg));border-left:4px solid var(--c-club);border-radius:14px;padding:12px 14px}.club-mine-top{color:var(--c-club);text-transform:capitalize;justify-content:space-between;font-size:12.5px;font-weight:600;display:flex}.club-mine-topic{margin:4px 0 10px;font-size:16px;font-weight:700}.club-mine-actions{align-items:center;gap:8px;display:flex}.club-mine-actions .hero-join{background:var(--c-club);color:#fff}.club-mine-actions .hero-join.is-off{background:color-mix(in srgb, var(--c-club) 12%, transparent);color:var(--c-club)!important}.club-cancel{background:var(--tg-secondary-bg);min-height:40px;color:var(--tg-hint);cursor:pointer;border:none;border-radius:12px;flex:none;padding:0 14px;font-size:13px;font-weight:600}.club-mine-hint{color:var(--tg-hint);margin-top:8px;font-size:12px}.club-day{margin-bottom:12px}.club-day-title{text-transform:capitalize;margin:6px 2px 8px;font-size:14px;font-weight:700}.club-card{background:var(--tg-secondary-bg);border-radius:14px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;transition:background .35s,box-shadow .35s;animation:.25s backwards rise;display:flex}.club-card.is-mine{background:color-mix(in srgb, var(--c-club) 10%, var(--tg-secondary-bg));box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--c-club) 35%, transparent)}.club-time{background:var(--tg-bg);border-radius:10px;flex-direction:column;flex:none;align-items:center;width:54px;padding:6px 0;display:flex}.club-time b{font-size:16px}.club-time span{color:var(--tg-hint);font-size:11px}.club-body{flex:1;min-width:0}.club-topic{font-size:15px;font-weight:600;line-height:1.3}.club-meta{color:var(--tg-hint);margin-top:3px;font-size:12.5px}.club-action{flex:none;justify-content:flex-end;min-width:112px;display:flex}.club-action .swap{justify-content:flex-end;width:100%;display:flex}.club-action .swap>div{justify-content:flex-end;display:flex}.club-btn{background:var(--c-club)!important;color:#fff!important;border-radius:10px!important;width:auto!important;padding:9px 14px!important;font-size:13.5px!important}.club-pill{color:#16a34a;white-space:nowrap;background:#16a34a24;border-radius:10px;align-items:center;gap:4px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.club-pill.off{color:var(--tg-hint);background:0 0;font-weight:500}.ring circle{transition:stroke-dasharray .7s cubic-bezier(.2,.8,.2,1)}.sub-hero-bar div{transition:width .7s cubic-bezier(.2,.8,.2,1)}.hero-card{transition:opacity .3s}.people-card{flex-direction:column;gap:12px;display:flex}.person{align-items:center;gap:12px;display:flex}.person-teacher{background:linear-gradient(135deg, var(--c-lesson), #1a5fb0)}.hero-join.join-soon,.join-soon{white-space:nowrap;cursor:default;background:#ffffff29;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:4px;min-height:40px;padding:8px 14px;font-size:13.5px;font-weight:600;display:inline-flex;color:#fff!important}.club-mine .join-soon{background:color-mix(in srgb, var(--c-club) 12%, transparent);color:var(--c-club)!important}.hero-actions>.resched-btn:first-child,.club-mine-actions>.club-cancel:first-child{margin-left:auto}.club-mine-actions:empty{display:none}.past-row{cursor:pointer}.past-side{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.past-ic{color:#fff;background:var(--c-lesson);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;display:inline-flex}.row-coach .past-ic{background:var(--c-coach)}.row-club .past-ic{background:var(--c-club)}.past-rate{color:var(--tg-button);font-size:12px;font-weight:700}.stars{gap:2px;line-height:1;display:inline-flex}.star{color:color-mix(in srgb, var(--tg-hint) 40%, transparent);transition:color .2s,transform .15s}.star.on{color:#f5b301}.stars.pick .star{cursor:pointer;padding:2px}.stars.pick .star:active{transform:scale(.85)}.stars.pick .star.on{animation:.25s pop}.past-video{aspect-ratio:16/9;background:#000;border-radius:14px;width:100%;margin-bottom:12px}.past-novideo{background:var(--tg-secondary-bg);text-align:center;color:var(--tg-hint);border-radius:14px;margin-bottom:12px;padding:22px 12px;font-size:14px}.past-note{background:color-mix(in srgb, var(--tg-button) 8%, var(--tg-bg));white-space:pre-wrap;border-radius:14px;margin-bottom:12px;padding:12px 14px;font-size:14px;line-height:1.45}.past-note-h{margin-bottom:6px;font-size:13.5px;font-weight:700}.past-rating{padding:4px 2px 6px}.past-comment{margin-top:8px;font-size:14px;font-style:italic}
