:root{color-scheme:light;--bg: #0d3018;--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .7);--line: rgba(255, 255, 255, .55);--line-strong: rgba(255, 255, 255, .8);--shadow: rgba(0, 0, 0, .35);--bg-pattern-url: url(/assets/bg-pattern-bJqX3xwi.png)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;overflow:hidden}#root{height:100%;min-height:100svh}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Noto Sans,Liberation Sans,sans-serif;background-color:#0f221a;color:var(--text)}.appShell{min-height:100%;height:100%;overflow:hidden;background-image:linear-gradient(#ffffff0a,#ffffff0a),linear-gradient(#0d30180f,#0d30180f),var(--bg-pattern-url);background-repeat:repeat;background-position:top left;display:grid}.topRight{position:fixed;top:16px;right:16px;z-index:10}.centerStage{min-height:100svh;width:100%;display:grid;place-items:center;padding:48px 16px;overflow:hidden;background-image:linear-gradient(#ffffff0a,#ffffff0a),linear-gradient(#0d30180f,#0d30180f),var(--bg-pattern-url);background-repeat:repeat;background-position:top left}.centerImage{width:min(460px,80vw);max-height:calc(100svh - 96px);height:auto;display:block;box-shadow:none;-webkit-user-select:none;user-select:none}.thButton{position:relative;height:42px;min-width:140px;padding:0 14px;border:2px solid var(--line);background:transparent;color:#ffffffdb;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:10px;transition:border-color .14s ease,color .14s ease}.thButton:focus-visible{outline:2px solid rgba(255,255,255,.22);outline-offset:3px}.thButtonLabel{position:relative;z-index:2;left:0;transition:left .35s ease-out}.thButtonSlide{width:100%;height:100%;background:#ffffffdb;left:-200px;position:absolute;padding:0;display:flex;align-items:center;justify-content:center;transition:left .35s ease-out;bottom:0;z-index:1}.thButtonIcon{color:#0d3018f2}.thButton:hover{border-color:var(--line-strong);color:#fffffff0}.thButton:hover .thButtonSlide{left:0}.thButton:hover .thButtonLabel{left:140px}.thButton:disabled{opacity:.6;cursor:not-allowed}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;z-index:50}.modalCard{width:min(520px,100%);border-radius:18px;background:#0a190eb8;border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 70px #0000008c;padding:18px 18px 16px}.modalTitleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.modalTitle{margin:0;font-size:16px;letter-spacing:.2px;font-weight:600}.modalClose{border:0;background:transparent;color:#ffffffb8;cursor:pointer;padding:8px;border-radius:10px}.modalClose:hover{background:#ffffff0f}.form{display:grid;gap:14px;padding-top:6px}.field{display:grid;gap:6px}.label{font-size:12px;color:var(--muted);letter-spacing:.4px}.input{background:transparent;border:0;border-bottom:2px solid var(--line);padding:10px 2px;color:#ffffffeb;font-size:14px;outline:none}.input:focus{border-bottom-color:var(--line-strong)}.thSelect{box-sizing:border-box;max-width:100%;margin:0;padding:10px 44px 10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background-color:#0a190e40;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.62)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px 18px;color:#ffffffeb;font:inherit;font-size:14px;line-height:1.25;outline:none;cursor:pointer;color-scheme:dark;-webkit-appearance:none;-moz-appearance:none;appearance:none}.thSelect:focus{border-color:#ffffff3d}.thSelect:disabled{opacity:.55;cursor:not-allowed}.thSelect::-ms-expand{display:none}.thSelect:-moz-focusring{color:#ffffffeb;text-shadow:0 0 0 rgba(255,255,255,.92)}.thSelect option,.thSelect optgroup{background-color:#0a1a10;color:#ffffffeb;padding:10px 12px}.thSelect option:checked{background-color:#ffffff24;color:#fffffffa}.errorText{color:#ffbebef2;font-size:12px}.thButtonUnderline{position:relative;overflow:hidden}.thButtonUnderlineText{position:relative;z-index:2;transition:all .45s ease-out}.thUnderline{position:absolute;left:0;bottom:0;width:100%;height:2.5px;background:#ffffffdb;transform:translate(-100%);transition:transform .3s ease-out}.thButtonUnderline:hover:not(:disabled) .thUnderline{transform:translate(0)}.thButtonUnderline:disabled .thUnderline{transform:translate(-100%)}.authedLayout{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:100svh;position:relative}.authedLayout--mobile{grid-template-columns:minmax(0,1fr);--mobile-nav-header-height: 48px}.sidebarBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:0;padding:0;margin:0;cursor:pointer;background:#0000006b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobileNavHeader{display:none}.authedLayout--mobile .mobileNavHeader{display:flex;align-items:center;position:fixed;top:0;left:0;right:0;height:var(--mobile-nav-header-height);padding:0 8px;z-index:42;background:transparent;border-bottom:1px solid rgba(255,255,255,.08)}.mobileNavHeader__btn{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#ffffffe6;cursor:pointer;transition:background .15s ease,border-color .15s ease}.mobileNavHeader__btn:hover{background:#ffffff1a;border-color:#ffffff38}.mobileNavHeader__btn:focus-visible{outline:2px solid rgba(255,255,255,.22);outline-offset:2px}.mainArea{min-height:0;height:100%;overflow:auto;padding:22px 26px 28px;-webkit-overflow-scrolling:touch}.authedLayout--mobile .mainArea{margin-left:0;padding-top:calc(var(--mobile-nav-header-height) + 22px)}.sidebarNav{display:flex;flex-direction:column;align-self:stretch;min-height:0;width:72px;flex-shrink:0;background:#0a190ec7;border-right:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:4px 0 24px #0000002e;transition:width .22s ease,transform .24s ease;z-index:30}.authedLayout--mobile .sidebarNav{position:fixed;left:0;top:0;bottom:0;width:min(220px,86vw);transform:translate(-100%);z-index:45;box-shadow:12px 0 40px #00000073}.authedLayout--mobile .sidebarNav.sidebarNav--mobileOpen{transform:translate(0)}.authedLayout--mobile .sidebarNav.sidebarNav--mobileHidden{pointer-events:none}.sidebarNav--expanded{width:220px}.sidebarNav__top{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:10px 8px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebarNav__iconBtn{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#ffffffe0;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sidebarNav__iconBtn:hover{background:#ffffff14;border-color:#ffffff38}.sidebarNav__iconBtn:focus-visible{outline:2px solid rgba(255,255,255,.22);outline-offset:2px}.sidebarNav__middle{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:12px 8px}.authedLayout--mobile .sidebarNav__middle{padding-top:var(--mobile-nav-header-height)}.sidebarNav__bottom{flex-shrink:0;padding:10px 8px 14px;border-top:1px solid rgba(255,255,255,.08)}.sidebarNav__link{display:flex;align-items:center;justify-content:center;gap:0;min-height:44px;padding:8px 10px;border-radius:12px;text-decoration:none;color:#ffffffc7;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease,gap .22s ease}.sidebarNav--expanded .sidebarNav__link{justify-content:flex-start;gap:12px}.sidebarNav__link:hover{background:#ffffff0f;color:#ffffffeb}.sidebarNav__link--active{background:#ffffff1f;color:#fffffff5;border-color:#ffffff2e;box-shadow:inset 3px 0 #ffffff8c}.sidebarNav__linkIcon{display:grid;place-items:center;flex-shrink:0;width:28px}.sidebarNav__linkText{font-size:13px;letter-spacing:.2px;font-weight:500;opacity:0;max-width:0;overflow:hidden;white-space:nowrap;transition:opacity .16s ease,max-width .22s ease}.sidebarNav--expanded .sidebarNav__linkText{opacity:1;max-width:200px}.sidebarNav__profile{min-height:48px}.sidebarNav__avatarWrap{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;overflow:hidden;color:#ffffffd1;border:1px solid rgba(255,255,255,.16);background:#ffffff0d}.sidebarNav__avatarImg{width:100%;height:100%;object-fit:cover;display:block}.sidebarNav__profileText{display:flex;flex-direction:column;min-width:0;opacity:0;max-width:0;overflow:hidden;transition:opacity .16s ease,max-width .22s ease}.sidebarNav--expanded .sidebarNav__profileText{opacity:1;max-width:200px}.sidebarNav__profileName{font-size:12px;line-height:1.25;font-weight:600;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homePage{width:100%;max-width:1100px;display:flex;flex-direction:column;gap:18px}.homeWidget{border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0a190e59;padding:16px 16px 18px}.homeWidget__head{margin-bottom:12px}.homeWidget__title{margin:0;font-size:18px;font-weight:600;letter-spacing:.2px;color:#fffffff0}.homeWidget__error{margin:0 0 10px;font-size:13px;color:#ffbebef2}.homeWidget__loading,.homeWidget__empty{margin:0;font-size:14px;color:#ffffff8c}.homeNearestTrainings__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (max-width: 768px){.homeNearestTrainings__track{display:flex;grid-template-columns:unset;width:100%;box-sizing:border-box;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;margin:0;padding-left:0;padding-right:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}}.nearestTrainingsCard{display:flex;flex-direction:column;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0a190e47;min-width:0}@media (max-width: 768px){.nearestTrainingsCard{flex:0 0 100%;width:100%;max-width:100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always}}.nearestTrainingsCard__body{padding:12px 14px 10px;flex:1 1 auto}.nearestTrainingsCard__body--clickable{cursor:pointer;border-radius:12px 12px 0 0;outline:none}.nearestTrainingsCard__body--clickable:hover{background:#ffffff0a}.nearestTrainingsCard__body--clickable:focus-visible{outline:2px solid rgba(255,255,255,.28);outline-offset:-2px}.nearestTrainingsCard__title{margin:0 0 6px;font-size:15px;font-weight:600;line-height:1.3;color:#fffffff0}.nearestTrainingsCard__meta,.nearestTrainingsCard__venue,.nearestTrainingsCard__fees{margin:0;font-size:13px;line-height:1.4;color:#ffffff9e}.nearestTrainingsCard__venue{color:#c8e6d2e0}.nearestTrainingsCard__actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 12px;border-top:1px solid rgba(255,255,255,.08);margin-top:auto}.nearestTrainingsCard__actionBtn{flex:1 1 auto;min-width:0;justify-content:center}@media (min-width: 769px){.nearestTrainingsCard__actionBtn{flex:1 1 120px}}.homeTrainingModal{width:min(520px,94vw);max-height:min(90vh,640px);display:flex;flex-direction:column}.homeTrainingModal__body{overflow-y:auto;padding-right:2px}.homeTrainingModal__dl{margin:0;display:grid;gap:10px}.homeTrainingModal__row{display:grid;grid-template-columns:140px 1fr;gap:10px;font-size:14px}.homeTrainingModal__row dt{margin:0;color:#ffffff85;font-weight:500}.homeTrainingModal__row dd{margin:0;color:#ffffffe6}@media (max-width: 480px){.homeTrainingModal__row{grid-template-columns:1fr;gap:2px}}.homeTrainingModal__desc{margin:14px 0 0;font-size:14px;line-height:1.45;color:#ffffffc7;white-space:pre-wrap}.homeTrainingModal__section{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.homeTrainingModal__sectionTitle{margin:0 0 8px;font-size:15px;font-weight:600;color:#ffffffeb}.homeTrainingModal__emptyList{margin:0;font-size:13px;color:#ffffff85}.homeTrainingModal__footer{margin-top:14px;padding-top:4px;display:flex;justify-content:flex-end}.homeTrainingModal__subheading{margin:12px 0 6px;font-size:13px;font-weight:600;color:#ffffffb8}.homeTrainingModal__participantUl{list-style:none;margin:0 0 10px;padding:0}.homeTrainingModal__participantLi{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;color:#ffffffe0}.homeTrainingModal__removeBtn{flex-shrink:0;padding:4px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ff50501f;color:#ffc8c8f2;font-size:12px;cursor:pointer}.homeTrainingModal__removeBtn:disabled{opacity:.5;cursor:not-allowed}.homeTrainingJoinModal__hint{margin:0 0 12px;font-size:14px;line-height:1.45;color:#ffffffb8}.homeTrainingJoinModal__field{display:grid;gap:6px}.homeTrainingJoinModal__textarea{resize:vertical;min-height:72px}.homeTrainingJoinModal__error{margin-top:10px}.homeTrainingJoinModal__actions{margin-top:14px;gap:10px}.trainingAdminAddModal__hint{margin:0 0 12px;font-size:13px;line-height:1.45;color:#ffffff9e}.trainingAdminAddModal__search{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.trainingAdminAddModal__search .input{flex:1 1 200px;min-width:0}.trainingAdminAddModal__list{max-height:min(52vh,420px);overflow-y:auto;padding-right:4px}.trainingAdminAddModal__row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px;color:#ffffffe0;cursor:pointer}.trainingAdminAddModal__sub{font-size:12px;color:#ffffff73}.trainingAdminAddModal__empty{padding:12px 4px;font-size:13px;color:#ffffff80}.trainingAdminAddModal__error{margin-top:10px}.trainingAdminAddModal__footer{gap:10px}.adminPage{width:100%;max-width:100%}.adminPage__header{margin-bottom:8px}.adminPage__title{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:.2px;text-shadow:0 10px 30px rgba(0,0,0,.35)}.adminTabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-bottom:0;border-bottom:1px solid rgba(255,255,255,.12)}@media (max-width: 768px){.adminTabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:4px;padding-bottom:2px}.adminTab{flex:0 0 auto}}.adminTab{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px 10px 0 0;text-decoration:none;color:#ffffffa6;font-size:13px;font-weight:500;letter-spacing:.15px;border:1px solid transparent;border-bottom:none;margin-bottom:-1px;transition:background .15s ease,color .15s ease,border-color .15s ease}.adminTab:hover{color:#ffffffe0;background:#ffffff0d}.adminTab--active{color:#fffffff5;background:#ffffff1a;border-color:#ffffff29;border-bottom-color:transparent;position:relative;z-index:1;box-shadow:inset 0 1px #ffffff14}.adminPage__content{padding-top:14px;min-height:120px}.adminTabPanel{padding:16px 16px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0a190e59}.adminTabPanel__lead{margin:0 0 8px;font-size:15px;color:#ffffffe0;line-height:1.45}.adminTabPanel__hint{margin:0;font-size:13px;color:#ffffff85;line-height:1.45}.adminUsers__toolbar{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}.adminUsers__search{flex:1 1 220px;min-width:200px;max-width:520px}.adminUsers__searchInput{width:100%;background:#0a190e40;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;color:#ffffffeb;outline:none}.adminUsers__searchInput:focus{border-color:#ffffff38}.adminUsers__toolbarError{flex:0 1 220px;font-size:12px;color:#ffbebef2}.adminUsers__toolbarSpacer{flex:1 1 12px;min-width:8px}.adminUsers__filterSelect{flex-shrink:0;min-width:168px;width:auto;font-size:13px;padding:9px 46px 9px 12px;background-color:#0a190e59;background-position:right 12px center}.adminUsers__iconCircleBtn{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#ffffffe6;cursor:pointer;transition:background .15s ease,border-color .15s ease}.adminUsers__iconCircleBtn:hover{background:#ffffff1a;border-color:#ffffff3d}.adminUsers__iconCircleBtn:focus-visible{outline:2px solid rgba(255,255,255,.22);outline-offset:2px}.adminUsers__list{display:grid;gap:8px}.adminUsers__list--dim{opacity:.55;pointer-events:none}.adminUsers__name{min-width:0}.adminUsers__row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 88px 12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0a190e38}.adminUsers__rowActions{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;gap:4px;opacity:0;pointer-events:none;transition:opacity .15s ease}.adminUsers__row:hover .adminUsers__rowActions{opacity:1;pointer-events:auto}.adminUsers__rowIconBtn{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffe0;cursor:pointer;transition:background .15s ease,border-color .15s ease}.adminUsers__rowIconBtn:hover{background:#ffffff1a;border-color:#fff3}.adminUsers__fio{font-size:14px;color:#ffffffeb;line-height:1.25;font-weight:600}.adminUsers__sub{margin-top:4px;font-size:12px;color:#ffffff8c}.adminUsers__empty{padding:18px 6px;color:#ffffff8c}.adminTrainings__filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:12px}.adminTrainings__filter{display:flex;flex-direction:column;gap:6px;min-width:0}.adminTrainings__filter--grow{flex:1 1 200px;max-width:360px}.adminTrainings__filterLabel{font-size:12px;color:#ffffff8c}.adminTrainings__dateInput{width:auto;min-width:150px;background:#0a190e40;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:9px 12px;color:#ffffffeb}.adminTrainings__venueSelect{width:100%;font-size:13px;padding:9px 46px 9px 12px;background-color:#0a190e59;background-position:right 12px center}.adminTrainings__venuesHint{margin:-4px 0 10px;font-size:12px;color:#ffbebee6}.adminTrainingModal__textarea{resize:vertical;min-height:88px;line-height:1.4}.adminTrainingModal__error{margin-top:10px}.adminUserModal{width:min(560px,96vw)}.adminUserModal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:4px}.adminUserModal__field{display:grid;gap:6px}.adminUserModal__field--full{grid-column:1 / -1}.adminUserModal__grid--venues{grid-template-columns:1fr}.adminVenues__mapLink{margin-top:6px;font-size:12px}.adminVenues__mapLink a{color:#a0dcbef2;text-decoration:none}.adminVenues__mapLink a:hover{text-decoration:underline}.adminUserModal__select{width:100%;background-color:#0a190e38;padding-right:46px;background-position:right 12px center}.adminRoleToggle{display:flex;flex-wrap:wrap;gap:6px}.adminRoleToggle__btn{flex:1 1 90px;padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#ffffffbf;font-size:12px;letter-spacing:.2px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.adminRoleToggle__btn:hover{border-color:#ffffff38;color:#ffffffe6}.adminRoleToggle__btn--active{background:#ffffff1f;border-color:#ffffff38;color:#fffffff2}.adminUserModal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:4px}.adminUserModal__done{display:grid;gap:14px;padding-top:4px}.adminUserModal__doneText{margin:0;font-size:14px;line-height:1.5;color:#ffffffd1}.adminUserModal__doneText strong{font-weight:600;color:#fffffff2}@media (max-width: 520px){.adminUserModal__grid{grid-template-columns:1fr}}.profilePage{display:grid;gap:14px}.profileHeader{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;gap:14px;align-items:center;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0a190e38}.profileHeader__avatar{width:92px;height:92px;display:grid;place-items:center;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffc7;overflow:hidden}.profileHeader__avatarImg{width:100%;height:100%;object-fit:cover}.profileHeader__meta{min-width:0}.profileHeader__title{margin:0;font-size:18px;color:#ffffffeb}.profileHeader__name{margin-top:6px;font-size:16px;font-weight:700;color:#fffffff0;line-height:1.25}.profileHeader__sub{margin-top:4px;font-size:12px;color:#fff9}.profileHeader__error{margin-top:8px;font-size:12px;color:#ffbebef2}.profileHeader__actions{display:grid;gap:8px;justify-items:stretch;align-content:start;min-width:220px}.profileHeader__file{display:none}.profileBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;padding:9px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#ffffffe0;cursor:pointer;transition:background .15s ease,border-color .15s ease}.profileBtn:hover:not(:disabled){background:#ffffff14;border-color:#fff3}.profileBtn:disabled{opacity:.55;cursor:not-allowed}.profileBtn--danger{color:#ffd2d2f2;border-color:#ffd2d238}.profileBody--dim{opacity:.55;pointer-events:none}.profileCard{padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0a190e2e}.profileCard__title{font-size:13px;color:#ffffffbf;margin-bottom:10px}.profileGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.profileField{min-width:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.profileField__label{font-size:11px;color:#ffffff85;letter-spacing:.35px}.profileField__value{margin-top:4px;font-size:14px;color:#ffffffeb;word-break:break-word}.profileModal{width:min(640px,96vw)}.profileModal--narrow{width:min(420px,96vw)}.profileModal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:4px}.profileModal__grid--oneCol{grid-template-columns:1fr}.profileModal__field{display:grid;gap:6px}.profileModal__select{width:100%;background-color:#0a190e38;padding-right:46px;background-position:right 12px center}.profileModal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:4px}.profileModal__done{display:grid;gap:14px;padding-top:4px}.profileModal__doneText{margin:0;font-size:14px;line-height:1.5;color:#ffffffd1}.confirmModal{width:min(440px,96vw)}.confirmModal__body{padding-top:2px}.confirmModal__text{margin:0;font-size:14px;line-height:1.55;color:#ffffffd1}.confirmModal__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:4px}.confirmModal__confirm--danger .thButtonUnderlineText{color:#ffd2d2f5}.confirmModal__confirm--danger:hover:not(:disabled) .thButtonUnderlineText{color:#ffebebfa}.confirmModal__confirm--danger .thUnderline{background:#ff9696eb}@media (max-width: 680px){.profileHeader{grid-template-columns:max-content minmax(0,1fr)}.profileHeader__actions{grid-column:1 / -1;grid-template-columns:1fr;justify-items:stretch;min-width:0}.profileGrid{grid-template-columns:1fr}}.publicTournamentsLayout{min-height:100svh;height:auto;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.publicTournamentsLayout__header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.12);background:#0000002e}.publicTournamentsLayout__brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:600}.publicTournamentsLayout__main{flex:none;min-height:0;overflow:visible;padding:24px;max-width:1200px;width:100%;margin:0 auto}.mainArea>.tournamentsPage--detail{display:flex;flex-direction:column;height:auto;min-height:auto}.publicTournamentsLayout__main>.tournamentsPage--detail{display:flex;flex-direction:column;min-height:auto;height:auto}.tournamentsPage--detail{display:flex;flex-direction:column;min-height:auto;flex:none}.tournamentsPage__stickyHead{flex-shrink:0;margin-bottom:8px}.tournamentTabPanel{flex:none;min-height:auto;overflow:visible;padding-bottom:28px;margin-top:8px}.tournamentsPage__header{margin-bottom:24px}.tournamentsPage__title{margin:0 0 8px;font-size:1.75rem}.tournamentsPage__subtitle,.tournamentsPage__hint{margin:0;opacity:.82}.tournamentsPage__back{display:inline-block;margin-bottom:16px;color:inherit;opacity:.85;text-decoration:none}.tournamentsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tournamentCard{display:block;padding:18px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:inherit;text-decoration:none;transition:transform .15s ease,background .15s ease}.tournamentCard:hover{transform:translateY(-2px);background:#ffffff17}.tournamentCard__top{display:flex;gap:12px;align-items:center;margin-bottom:12px}.tournamentCard__logo,.tournamentCard__logoPlaceholder{width:52px;height:52px;border-radius:12px;object-fit:cover;flex-shrink:0}.tournamentCard__logoPlaceholder{display:grid;place-items:center;background:#ffffff1f;font-weight:700;font-size:1.25rem}.tournamentCard__meta{display:flex;flex-direction:column;gap:4px}.tournamentCard__date{font-weight:600}.tournamentCard__status{font-size:.85rem;opacity:.75}.tournamentCard__name{margin:0 0 10px;font-size:1.15rem}.tournamentCard__details{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.9rem;opacity:.85;margin-bottom:8px}.tournamentCard__venue{font-size:.9rem;opacity:.8}.tournamentCard__desc{margin:10px 0 0;font-size:.9rem;opacity:.78;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tournamentDetailHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.tournamentDetailHeader__meta{display:flex;flex-wrap:wrap;gap:8px 14px;opacity:.85}.tournamentDetailHeader__logo{width:72px;height:72px;border-radius:14px;object-fit:cover}.tournamentDetailHeader__desc{margin:0 0 20px;opacity:.85;max-width:900px}.tournamentTabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tournamentTab{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:inherit;border-radius:999px;padding:8px 16px;cursor:pointer}.tournamentTab--active{background:#ffffff24;border-color:#ffffff47}.tournamentScheduleEdit{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-bottom:20px;padding:14px 16px;border-radius:12px;background:#ffffff0d}.tournamentScheduleEdit__field{display:flex;flex-direction:column;gap:6px}.tournamentBracket__section+.tournamentBracket__section{margin-top:28px}.tournamentBracket__heading{margin:0 0 14px}.tournamentBracket__round{margin-bottom:18px}.tournamentBracket__roundTitle{margin-bottom:10px;font-weight:600;opacity:.9}.tournamentBracket__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.tournamentBracket__section--playoff{padding:20px 22px;border-radius:16px;background:linear-gradient(145deg,#23375552,#121c3073);border:1px solid rgba(255,255,255,.12)}.tournamentBracket__section--playoff .tournamentBracket__heading{margin-bottom:18px;color:#d2e6fffa}.playoffBracket{overflow-x:auto;padding-bottom:4px;--pb-col-min-w: 260px;--pb-match-gap: 12px;--pb-pair-gap: 28px}.playoffBracket__empty{margin:0;opacity:.75}.playoffBracket__cols{display:grid;grid-template-columns:repeat(3,minmax(var(--pb-col-min-w),1fr));gap:20px;align-items:start;min-width:calc(var(--pb-col-min-w) * 3 + 40px);padding:8px 4px 12px}.playoffBracket__col{display:flex;flex-direction:column;gap:12px;min-width:0}.playoffBracket__colTitle{font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.72;text-align:center}.playoffBracket__colTitle--third{margin-bottom:8px;font-size:.78rem;opacity:.65}.playoffBracket__stack{display:flex;flex-direction:column;gap:var(--pb-pair-gap)}.playoffBracket__stack>.tournamentMatchCard,.playoffBracket__pair>*{width:100%;box-sizing:border-box}.playoffBracket__pair{display:flex;flex-direction:column;gap:var(--pb-match-gap)}.playoffBracket__third{padding-top:16px;border-top:1px dashed rgba(255,255,255,.16)}.tournamentMatchCard--placeholder{border-style:dashed;opacity:.72;background:#ffffff08}.tournamentMatchCard{padding:10px 12px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);box-sizing:border-box}.tournamentMatchCard--finished{border-color:#78dc8c59;background:#50a06414}.tournamentMatchCard--cancelled{opacity:.45}.tournamentMatchCard__head{margin-bottom:8px;font-size:.82rem;line-height:1.35;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tournamentMatchCard__headSep{opacity:.65}.tournamentMatchCard__headTime{font-size:.94rem;font-weight:700;color:#ffd25ffa;letter-spacing:.02em;opacity:1}.tournamentMatchCard__lineup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:8px;min-width:0}.tournamentMatchCard__teamCol{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.tournamentMatchCard__teamName{font-weight:700;font-size:.94rem;line-height:1.3;width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:center}.tournamentMatchCard__teamName--winner{color:#b9ffcdfa}.tournamentMatchCard__teamName--loser{opacity:.62;font-weight:600}.tournamentMatchCard__versus{align-self:center;font-size:.78rem;font-weight:600;opacity:.45;text-transform:lowercase}.tournamentMatchCard__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px;font-size:.85rem}.survivorBattery{display:inline-flex;align-items:center}.survivorBattery--placeholder{display:block;width:28px;height:12px}.survivorBattery__shell{display:flex;align-items:center;gap:2px;padding:2px 4px;border:1.5px solid rgba(255,255,255,.38);border-radius:3px;min-width:24px;min-height:12px;box-sizing:border-box}.survivorBattery--empty .survivorBattery__shell{border-color:#ff5f55e6;background:#ff463c0f}.survivorBattery__bar{width:4px;height:7px;border-radius:1px;background:#ffffff1a}.survivorBattery--full .survivorBattery__bar--on{background:#5ad278f2}.survivorBattery--mid .survivorBattery__bar--on{background:#ffcd46f2}.survivorBattery--low .survivorBattery__bar--on{background:#ff9137f2}.tournamentSchedule{border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden}.tournamentScheduleLayout{display:flex;flex-direction:column;gap:28px}.tournamentScheduleSection__title{margin:0 0 12px;font-size:1.05rem;font-weight:600}.tournamentScheduleSection--playoff .tournamentScheduleSection__title{color:#bedcfff2}.tournamentScheduleSection--playoff .tournamentSchedule{border-color:#78aae659}.tournamentSchedule__header,.tournamentSchedule__row{display:grid;grid-template-columns:90px repeat(var(--courts, 2),minmax(120px,1fr))}.tournamentSchedule__header{background:#ffffff14;font-weight:600}.tournamentSchedule__timeCol,.tournamentSchedule__courtCol,.tournamentSchedule__time,.tournamentSchedule__cell{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08)}.tournamentSchedule__cell--empty{opacity:.35}.tournamentSchedule__cell--finished{border-left:3px solid rgba(120,220,140,.65)}.tournamentSchedule__winner{font-weight:700;color:#bef5c8fa}.tournamentSchedule__matchLabel{font-size:.8rem;opacity:.75;margin-bottom:4px}.tournamentSchedule__lineup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:8px;min-width:0}.tournamentSchedule__teamCol{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.tournamentSchedule__teamName{font-weight:600;font-size:.9rem;line-height:1.3;width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:center}.tournamentSchedule__versus{align-self:center;font-weight:600;opacity:.45}.tournamentSchedule__timeValue{font-size:.94rem;font-weight:700;color:#ffd25ffa;letter-spacing:.02em}.tournamentStandings__table{width:100%;border-collapse:collapse}.tournamentStandings__table th,.tournamentStandings__table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}.tournamentStandings__input{min-width:180px}.adminUsers__rowTextBtn{border:0;background:transparent;color:inherit;cursor:pointer;opacity:.85;padding:4px 8px}.adminUsers__searchInput--static{cursor:default}.adminUserModal__textarea{min-height:80px;resize:vertical}@media (max-width: 900px){.playoffBracket__cols{grid-template-columns:1fr;min-width:0}.playoffBracket{--pb-col-min-w: 0}}.tournamentLink{color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.92}.tournamentSchedule__statsLink{display:inline-block;margin-top:6px;font-size:.85rem}@media (max-width: 768px){.publicTournamentsLayout__main{padding:16px}.authedLayout--mobile .mainArea{padding-left:16px;padding-right:16px;padding-top:calc(var(--mobile-nav-header-height) + 16px)}.tournamentTabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:4px;padding-bottom:4px}.tournamentTab{flex:0 0 auto}.tournamentScheduleSection{overflow-x:visible}.tournamentSchedule{min-width:0}.tournamentSchedule__header{display:none}.tournamentSchedule__row{display:flex;flex-direction:column;grid-template-columns:unset}.tournamentSchedule__row+.tournamentSchedule__row{border-top:1px solid rgba(255,255,255,.1)}.tournamentSchedule__time{border-right:none;background:#ffffff0f}.tournamentSchedule__cell{border-right:none}.tournamentSchedule__cell--empty{display:none}.tournamentSchedule__cell:not(.tournamentSchedule__cell--empty):before{content:"Корт " attr(data-court);display:block;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;opacity:.65;margin-bottom:6px}.tournamentStandings__table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.tournamentLink:hover{opacity:1}.tournamentTeamHeader{margin:16px 0}.tournamentTeamHeader__meta{display:flex;flex-wrap:wrap;gap:12px;opacity:.85;margin-top:8px}.tournamentTeamSection{margin-top:24px}.tournamentTeamSection__title{margin:0 0 12px;font-size:1.05rem}.tournamentTeamSection__hint{margin:0 0 12px;opacity:.8;font-size:.9rem;line-height:1.45}.tournamentRosterEdit__row{display:grid;grid-template-columns:28px 1fr 72px auto;gap:8px;margin-bottom:8px;align-items:center}.tournamentRosterEdit__num{opacity:.7}.tournamentRosterEdit__jersey{text-align:center}.tournamentRosterEdit__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.tournamentRosterList{margin:0;padding-left:20px}.tournamentTeamMatches td:last-child{white-space:nowrap}.matchStatsPage .tournamentTeamSection{margin-top:20px}.matchStatsHeader{margin:16px 0}.matchStatsHeader__meta{display:flex;flex-wrap:wrap;gap:10px;opacity:.85;margin-top:8px}.matchLineupGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.matchLineupTeam__slot{margin-bottom:8px}.matchStatsLiveGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.matchStatsPanel{padding:14px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.matchStatsPanel__head h3{margin:0 0 8px}.matchStatsPanel__lives,.matchStatsPanel__active{margin-bottom:6px;font-size:.92rem}.matchStatsPanel__buttons{display:flex;flex-wrap:wrap;gap:8px}.matchStatsPanel__sections{display:flex;flex-direction:column;gap:0;margin-top:12px}.matchStatsPanel__section{padding-top:10px;padding-bottom:10px}.matchStatsPanel__section:first-child{padding-top:0}.matchStatsPanel__section+.matchStatsPanel__section{border-top:1px solid rgba(255,255,255,.08)}.matchStatsPanel__sections>.matchStatsBtn--warn,.matchStatsPanel__sections>.thButton.matchStatsBtn--warn{margin-top:4px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);align-self:flex-start}.matchStatsBtn{font-size:.85rem;padding:8px 10px;text-transform:none;letter-spacing:0}.matchStatsBtn--made{border-color:#64d2828c;background:#3ca05a24;color:#d2ffdcfa}.matchStatsBtn--made:hover:not(:disabled){border-color:#82eba0bf;background:#46b46438;color:#ebfff0}.matchStatsBtn--missed{border-color:#e6786e80;background:#b446411f;color:#ffdcd7f5}.matchStatsBtn--missed:hover:not(:disabled){border-color:#ff968ca6;background:#c8554b33;color:#ffebe6}.matchStatsBtn--warn{border-color:#ffc10773}.matchStatsBtn--danger{border-color:#ff636373}.matchLineupTeam__placeholder{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.matchLineupTeam__placeholderName{padding:8px 10px;border-radius:8px;background:#ffffff0f;font-size:.95rem}.tournamentAdminActions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0 16px}.tournamentAdminActions__hint{font-size:.85rem;opacity:.7}.matchStatsFooter{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}.matchStatsSummary{margin:16px 0;padding:12px;border-radius:10px;background:#ffffff0f}.matchStatsTableWrap{overflow:auto}.matchStatsTable__row--active td{background:#78c8781f}.matchStatsTable__row--eliminated td{background:#b450501a;color:#ffffff8c}.matchStatsTable__row--eliminated.matchStatsTable__row--active td{background:#8c785026;color:inherit}.matchStatsTable__fouls--warn{color:#ff6b6b;font-weight:600}.matchStatsTeamTable{margin-bottom:24px}.matchStatsTeamTable:last-child{margin-bottom:0}.matchStatsTeamTable__title{margin:0 0 8px;font-size:1rem;font-weight:600}.matchStatsRecentActions{margin-bottom:24px}.matchStatsRecentActions__list{margin:0;padding:12px 16px;border-radius:10px;background:#ffffff0f;display:flex;flex-direction:column;gap:8px;list-style:none}.matchStatsRecentActions__item{font-size:.95rem;line-height:1.4;padding:6px 10px;border-radius:8px;border:1px solid transparent}.matchStatsRecentActions__item:first-child{font-weight:600}.matchStatsRecentActions__item--made{border-color:#64d28259;background:#3ca05a1f;color:#d2ffdcfa}.matchStatsRecentActions__item--missed{border-color:#e6786e59;background:#b446411a;color:#ffdcd7f5}.matchStatsRecentActions__ellipsis{font-size:.95rem;line-height:1.4;padding:0 10px;opacity:.45}@media (max-width: 800px){.matchLineupGrid,.matchStatsLiveGrid{grid-template-columns:1fr}}.tournamentStandingsLayout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,2fr);gap:28px;align-items:start}.tournamentStandingsLayout__heading{margin:0 0 12px;font-size:1.05rem;font-weight:600}.tournamentStandingsLayout__section,.playerStatsTableBlock{min-width:0}.playerStatsTable__sortBtn{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left}.playerStatsTable__sortBtn:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}.playerRatingTable__row--gold td{background:#d4af372e}.playerRatingTable__row--silver td{background:#c0c0c024}.playerRatingTable__row--bronze td{background:#cd7f3229}.tournamentPlayerPage{display:flex;flex-direction:column;gap:24px}.tournamentPlayerPage__team{font-size:.85em;opacity:.75;font-weight:500}.tournamentPlayerPage__teamLink{opacity:1}.tournamentPlayerPage__match{padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.tournamentPlayerPage__matchHead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.tournamentPlayerPage__matchTitle{margin:0 0 6px;font-size:1rem;font-weight:600}.tournamentPlayerPage__matchMeta{display:flex;flex-wrap:wrap;gap:10px;font-size:.88rem;opacity:.82}@media (max-width: 1100px){.tournamentStandingsLayout{grid-template-columns:1fr}}
