.gym-profile-v2{--avatar-gold:#d8b05a;background:var(--bg-main);color:var(--text);max-width:100vw;overflow-x:hidden}.gym-profile-v2 .container{width:60%;max-width:min(1920px,100vw);margin:0 auto}.gym-profile-v2 .gym-cover{position:relative;height:180px;background:var(--bg-main);overflow:hidden}.gym-profile-v2 .gym-cover-accent{position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--gold) 0,transparent 60%)}.gym-profile-v2 .gym-header{padding:32px 0 36px;border-bottom:1px solid var(--border)}.gym-profile-v2 .gym-header-inner{display:flex;align-items:center;gap:28px}.gym-profile-v2 .gym-avatar{position:relative;width:112px;height:112px;border-radius:14px;border:3px solid var(--avatar-gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:40px;font-weight:900;color:var(--gold);letter-spacing:-1px;text-transform:uppercase;box-shadow:0 4px 16px rgba(0,0,0,.2);flex-shrink:0;background:linear-gradient(135deg,var(--surface) 0,var(--bg-ter) 100%);overflow:hidden;transform:translateZ(0)}.gym-profile-v2 .gym-avatar-img{width:100%;height:100%;object-fit:cover;display:block}:root:not(.dark) .gym-profile-v2 .gym-avatar{box-shadow:0 2px 6px rgba(0,0,0,.07)}.gym-profile-v2 .gym-header-info{flex:1}.gym-profile-v2 .gym-name{font-family:var(--font-heading);font-size:clamp(36px,4vw,56px);font-weight:900;text-transform:uppercase;letter-spacing:-1px;line-height:1;color:var(--text);margin-bottom:10px}.gym-profile-v2 .gym-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.gym-profile-v2 .gym-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim)}.gym-profile-v2 .gym-meta-item svg{flex-shrink:0}.gym-profile-v2 .gym-meta-item a{color:var(--text-dim);text-decoration:none;transition:color .2s}.gym-profile-v2 .gym-meta-item a:hover{color:var(--gold)}.gym-profile-v2 .gym-header-aside{display:flex;align-items:center;gap:10px;flex-shrink:0}.gym-profile-v2 .icon-btn{background:transparent;border:1px solid var(--border);border-radius:6px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:all .2s}.gym-profile-v2 .icon-btn.back-btn{width:auto;padding:0 12px;gap:6px;text-decoration:none;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.gym-profile-v2 .icon-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--btn-outline-hover)}.gym-profile-v2 .stats-bar{background:var(--bg-sec);border-bottom:1px solid var(--border)}.gym-profile-v2 .stats-bar-inner{display:flex;align-items:stretch}.gym-profile-v2 .stat-item{flex:1;padding:24px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid var(--border);transition:background .2s}.gym-profile-v2 .stat-item:last-child{border-right:none}.gym-profile-v2 .stat-item:hover{background:var(--btn-outline-hover)}.gym-profile-v2 .stat-value{font-family:var(--font-heading);font-size:36px;font-weight:900;color:var(--gold);letter-spacing:-.5px;line-height:1}.gym-profile-v2 .stat-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:1.2px}.gym-profile-v2 .gym-body{padding:48px 0 96px}.gym-profile-v2 .gym-grid{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}.gym-profile-v2 .sec-eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.gym-profile-v2 .sec-title{font-family:var(--font-heading);font-size:clamp(24px,2.5vw,32px);font-weight:800;text-transform:uppercase;color:var(--text);letter-spacing:-.3px;line-height:1.05;margin-bottom:18px}.gym-profile-v2 .about-block{margin-bottom:48px}.gym-profile-v2 .about-text{font-size:15px;color:var(--text-muted);line-height:1.75}.gym-profile-v2 .about-text+.about-text{margin-top:12px}.gym-profile-v2 .belts-block{margin-bottom:48px}.gym-profile-v2 .belts-row{display:flex;gap:8px;flex-wrap:wrap}.gym-profile-v2 .belt-chip{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px 14px;transition:border-color .2s}.gym-profile-v2 .belt-chip:hover{border-color:var(--border-gold)}.gym-profile-v2 .belt-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.gym-profile-v2 .belt-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.gym-profile-v2 .belt-count{font-size:12px;font-weight:700;color:var(--gold)}.gym-profile-v2 .professors-block{margin-bottom:48px}.gym-profile-v2 .professors-grid{display:flex;flex-direction:column;gap:8px}.gym-profile-v2 .professor-card{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;transition:border-color .2s ease}.gym-profile-v2 .professor-card:hover{border-color:var(--border-gold)}.gym-profile-v2 .professor-avatar{position:relative;width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-ter);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:12px;font-weight:800;color:var(--text-muted);text-transform:uppercase}.gym-profile-v2 .professor-info{min-width:0;flex:1;display:flex;align-items:center;gap:10px;justify-content:space-between}.gym-profile-v2 .professor-name{font-family:var(--font-display);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.gym-profile-v2 .professor-belt{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.gym-profile-v2 .professor-belt-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.gym-profile-v2 .events-block{margin-bottom:0}.gym-profile-v2 .events-list{display:flex;flex-direction:column;gap:10px}.gym-profile-v2 .event-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px 22px;display:flex;align-items:center;gap:18px;text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.gym-profile-v2 .event-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.16,1,.3,1)}.gym-profile-v2 .event-card:hover{border-color:var(--border-gold);transform:translateX(4px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.gym-profile-v2 .event-card:hover:before{transform:scaleY(1)}.gym-profile-v2 .event-date{flex-shrink:0;text-align:center;background:var(--bg-ter);border:1px solid var(--border);border-radius:6px;padding:10px 12px;min-width:56px}.gym-profile-v2 .event-date-day{font-family:var(--font-heading);font-size:28px;font-weight:900;color:var(--gold);line-height:1}.gym-profile-v2 .event-date-month{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-top:2px}.gym-profile-v2 .event-info{flex:1;min-width:0}.gym-profile-v2 .event-name{font-family:var(--font-heading);font-size:20px;font-weight:800;text-transform:uppercase;color:var(--text);line-height:1.1;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gym-profile-v2 .event-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gym-profile-v2 .event-meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-dim)}.gym-profile-v2 .badge{display:inline-flex;align-items:center;gap:6px;border-radius:4px;padding:4px 10px;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;line-height:1;white-space:nowrap;flex-shrink:0;border:1px solid transparent}.gym-profile-v2 .badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.gym-profile-v2 .badge-open{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.gym-profile-v2 .badge-open .badge-dot{box-shadow:0 0 6px var(--success-text)}.gym-profile-v2 .badge-soon{background:var(--gold-bg);border-color:var(--border-gold);color:var(--gold)}.gym-profile-v2 .badge-soon .badge-dot{box-shadow:0 0 6px var(--gold)}.gym-profile-v2 .badge-past{background:var(--state-badge-bg);border-color:var(--border);color:var(--text-dim)}.gym-profile-v2 .sidebar{display:flex;flex-direction:column;gap:16px}.gym-profile-v2 .s-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.gym-profile-v2 .s-card-head{padding:16px 18px 14px;border-bottom:1px solid var(--border)}.gym-profile-v2 .s-card-title{font-family:var(--font-heading);font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text)}.gym-profile-v2 .s-card-body{padding:16px 18px}.gym-profile-v2 .cta-card{background:var(--bg-ter);border:1px solid var(--border-gold);border-radius:8px;padding:22px 18px;text-align:center;position:relative;overflow:hidden}.gym-profile-v2 .cta-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold) 0,transparent 100%)}.gym-profile-v2 .cta-icon{width:46px;height:46px;border-radius:10px;background:var(--gold-bg);border:1px solid var(--border-gold);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--gold)}.gym-profile-v2 .cta-title{font-family:var(--font-heading);font-size:20px;font-weight:800;text-transform:uppercase;color:var(--text);margin-bottom:6px}.gym-profile-v2 .cta-desc{font-size:13px;color:var(--text-muted);line-height:1.5}.gym-profile-v2 .contact-list{display:flex;flex-direction:column;gap:12px}.gym-profile-v2 .contact-item{display:flex;align-items:flex-start;gap:10px}.gym-profile-v2 .contact-icon{width:30px;height:30px;border-radius:6px;background:var(--gold-bg);border:1px solid var(--border-gold);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0}.gym-profile-v2 .contact-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:1px}.gym-profile-v2 .contact-value{font-size:13px;color:var(--text-muted)}.gym-profile-v2 .contact-value a{color:var(--text-muted);text-decoration:none;transition:color .2s}.gym-profile-v2 .contact-value a:hover{color:var(--gold)}.gym-profile-v2 .social-row{display:flex;gap:8px;padding:12px 18px 14px;flex-wrap:wrap;align-items:center}.gym-profile-v2 .social-btn{width:34px;height:34px;border-radius:6px;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--text-dim);cursor:pointer;transition:all .2s;text-decoration:none}.gym-profile-v2 .social-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-bg)}.gym-profile-v2 .social-btn.is-disabled{opacity:.5;pointer-events:none}.gym-profile-v2 .social-empty-note{color:var(--text-dim);font-size:11px;margin-left:4px}.gym-profile-v2 .gym-error-state,.gym-profile-v2 .gym-loading{padding:48px 0 96px}.gym-profile-v2 .gym-disclaimer{max-width:880px;margin:0 auto 72px;color:var(--text-dim);font-size:13px;line-height:1.7;text-align:center}.gym-profile-v2 .gym-error-state p,.gym-profile-v2 .gym-loading{color:var(--text-muted);font-size:14px}.gym-profile-v2 .gym-error-state p{margin-bottom:14px}.gym-profile-v2 .btn-outline-inline{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text);background:transparent;border:1px solid var(--border);cursor:pointer;padding:9px 14px;border-radius:6px;text-decoration:none;transition:border-color .2s,background .2s,color .2s;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px}.gym-profile-v2 .btn-outline-inline:hover{border-color:var(--gold);background:var(--btn-outline-hover);color:var(--gold)}@media (max-width:1200px){.gym-profile-v2 .container{width:80%}}@media (max-width:900px){.gym-profile-v2 .container{width:92%}.gym-profile-v2 .gym-header-inner{align-items:flex-start}.gym-profile-v2 .gym-grid{grid-template-columns:1fr}.gym-profile-v2 .event-card:hover{transform:none}.gym-profile-v2 .stats-bar-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.gym-profile-v2 .stat-item{min-width:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0}.gym-profile-v2 .stat-item:nth-child(2n){border-right:none}.gym-profile-v2 .stat-item:last-child{grid-column:1/-1;border-right:none;border-bottom:none}}@media (max-width:768px){.gym-profile-v2 .gym-cover{height:72px}.gym-profile-v2 .gym-header{padding:16px 0 22px}.gym-profile-v2 .gym-header-inner{display:grid;grid-template-columns:1fr;grid-template-areas:"share" "avatar" "info";gap:12px;align-items:start}.gym-profile-v2 .gym-avatar{grid-area:avatar;width:72px;height:72px;border-radius:10px;border-width:2px;font-size:24px}.gym-profile-v2 .gym-header-info{grid-area:info;min-width:0}.gym-profile-v2 .gym-name{font-size:clamp(36px,8.6vw,46px);line-height:.95;margin-bottom:8px}.gym-profile-v2 .gym-meta{flex-direction:column;align-items:flex-start;gap:6px}.gym-profile-v2 .gym-meta-item{font-size:12px;line-height:1.35;max-width:100%}.gym-profile-v2 .gym-meta-item a{overflow-wrap:anywhere;word-break:break-word}.gym-profile-v2 .gym-header-aside{grid-area:share;align-self:start;justify-self:end}.gym-profile-v2 .stat-value{font-size:44px}.gym-profile-v2 .stat-label{font-size:10px;letter-spacing:1.4px}.gym-profile-v2 .gym-body{padding:36px 0 64px}.gym-profile-v2 .about-block,.gym-profile-v2 .belts-block{margin-bottom:36px}.gym-profile-v2 .events-list{gap:12px}.gym-profile-v2 .event-card{min-width:0;padding:12px 14px;gap:12px;align-items:flex-start}.gym-profile-v2 .event-date{min-width:48px;padding:8px 10px}.gym-profile-v2 .event-date-day{font-size:24px}.gym-profile-v2 .event-name{font-size:22px;white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gym-profile-v2 .event-meta{flex-direction:column;align-items:flex-start;gap:4px}.gym-profile-v2 .badge{margin-left:auto;margin-top:2px}.gym-profile-v2 .belts-row{max-width:100%;flex-wrap:wrap;overflow-x:hidden;padding-bottom:0}.gym-profile-v2 .belt-chip{flex:0 0 auto}.gym-profile-v2 .event-card:hover{transform:none}}@media (max-width:600px){.gym-profile-v2 .gym-cover{height:64px}.gym-profile-v2 .gym-avatar{width:64px;height:64px;font-size:22px}.gym-profile-v2 .gym-name{font-size:clamp(34px,10vw,42px)}.gym-profile-v2 .gym-meta{gap:6px}.gym-profile-v2 .gym-disclaimer{margin-bottom:56px;font-size:12px}}