@import"https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{--tg-theme-bg-color: #0d0d0d;--tg-theme-text-color: #ffffff;--tg-theme-hint-color: #a0a0a0;--tg-theme-link-color: #e11d1d;--tg-theme-button-color: #e11d1d;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #1a1a1a;--tir-black: #0d0d0d;--tir-surface: #1a1a1a;--tir-card: #1e1e1e;--tir-elevated: #252525;--tir-border: #2a2a2a;--tir-red: #e11d1d;--tir-red-hover: #c41818;--tir-red-glow: rgba(225, 29, 29, .15);--tir-white: #ffffff;--tir-grey: #a0a0a0;--tir-grey-dim: #666666;--tir-green: #27ae60;--tir-orange: #f39c12}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Manrope,sans-serif;background-color:var(--tir-black);color:var(--tir-white);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh;padding:16px 16px 72px;background:radial-gradient(ellipse at top right,var(--tir-red-glow),transparent 60%)}a{color:var(--tir-red);text-decoration:none}button{background-color:var(--tir-red);color:var(--tir-white);border:none;border-radius:10px;padding:12px 24px;font-family:Manrope,sans-serif;font-size:15px;font-weight:600;letter-spacing:.3px;cursor:pointer;width:100%;margin-bottom:8px;transition:background .15s ease,transform .1s ease}button:hover{background-color:var(--tir-red-hover);box-shadow:0 0 16px var(--tir-red-glow)}button:active{transform:scale(.97)}button:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--tir-grey);border:1px solid var(--tir-border)}.btn-secondary:hover{background:var(--tir-elevated);color:var(--tir-white);border-color:var(--tir-grey-dim)}.btn-danger{background:#e74c3c;color:var(--tir-white)}.btn-danger:hover{background:#c0392b}.card{background-color:var(--tir-card);border:1px solid var(--tir-border);border-radius:12px;padding:16px;margin-bottom:12px;transition:background .15s ease}.card:hover{background-color:var(--tir-elevated)}.hint{color:var(--tir-grey);font-size:14px}h1,h2,h3{font-family:Oswald,sans-serif}h1{font-size:24px;font-weight:700;margin-bottom:16px;border-left:3px solid var(--tir-red);padding-left:12px}h2{font-size:20px;font-weight:600;margin-bottom:12px}.nav{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.nav a{padding:8px 16px;background-color:var(--tir-surface);border-radius:8px;font-size:14px}.channel-card{display:flex;align-items:center;gap:12px;background:var(--tir-card);border:1px solid var(--tir-border);border-left:3px solid var(--tir-red);border-radius:12px;padding:14px 16px;margin-top:16px;text-decoration:none;color:var(--tir-white);transition:background .15s ease}.channel-card:hover{background:var(--tir-elevated)}.channel-card__icon{font-size:24px;flex-shrink:0}.channel-card__text{display:flex;flex-direction:column;gap:2px}.loading{text-align:center;padding:40px;color:var(--tir-grey)}.admin-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.stat-number{font-family:Oswald,sans-serif;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.admin-nav{display:flex;gap:8px;margin-top:12px}.admin-nav-btn{flex:1;display:block;padding:16px;background-color:var(--tir-surface);border-radius:12px;text-align:center;font-size:16px;font-weight:600;color:var(--tir-white)}.filter-tabs{display:flex;gap:4px;margin:12px 0;flex-wrap:wrap}.filter-tab{padding:6px 12px;font-size:13px;border-radius:16px;background:var(--tir-surface);color:var(--tir-white);width:auto;margin-bottom:0}.filter-tab.active{background:var(--tir-red);color:var(--tir-white)}.player-card{display:flex;justify-content:space-between;align-items:center;gap:8px}.player-info{flex:1;min-width:0}.player-actions{display:flex;gap:4px;flex-shrink:0}.btn-small{width:auto;padding:6px 12px;font-size:14px;margin:0;border-radius:8px}.btn-approve{background:#27ae60}.btn-ban{background:#e74c3c}.status-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:var(--tir-orange);color:#fff}.status-approved{background:#27ae60;color:#fff}.status-banned{background:#e74c3c;color:#fff}.status-draft{background:#95a5a6;color:#fff}.status-registration_open{background:#2ecc71;color:#fff}.status-registration_closed{background:#e67e22;color:#fff}.status-started{background:#3498db;color:#fff}.status-finished{background:#8e44ad;color:#fff}.status-cancelled{background:#e74c3c;color:#fff}.status-registered{background:#3498db;color:#fff}.status-confirmed{background:#2ecc71;color:#fff}.status-checked_in{background:#27ae60;color:#fff}.status-eliminated{background:#e74c3c;color:#fff}.info-list{list-style:none;display:flex;flex-direction:column;gap:6px}.info-list li{display:flex;align-items:baseline;gap:8px}.info-list li:before{content:"■";color:var(--tir-red);font-size:8px;flex-shrink:0}.form-label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-input{width:100%;padding:10px;border-radius:8px;border:1px solid var(--tir-border);font-size:16px;margin-bottom:8px;background:var(--tir-black);color:var(--tir-white)}select.form-input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.format-select{display:flex;gap:4px}.tournament-card{cursor:pointer;border-left:3px solid var(--tir-red)}.tournament-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tournament-name,.tournament-card-name{font-family:Oswald,sans-serif;font-weight:600;font-size:18px;color:var(--tir-white);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knockout-marker{color:var(--tir-red);font-size:12px;flex-shrink:0}.tournament-card-meta{display:flex;justify-content:space-between;align-items:center;font-family:Manrope,sans-serif;font-weight:400;font-size:14px;color:var(--tir-grey)}.tournament-card-players{color:var(--tir-grey);font-size:14px;flex-shrink:0}.tournament-card-link{display:block;text-decoration:none;color:inherit}.tournament-card-link:hover .card{background-color:var(--tir-elevated)}.tournaments-list{display:flex;flex-direction:column;gap:12px}.tournaments-list .card{margin-bottom:0}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--tir-black)}.loading-logo{font-family:Oswald,sans-serif;font-weight:700;font-size:32px;margin-bottom:16px}.loading-logo .red{color:var(--tir-red)}.loading-pulse{height:2px;background:var(--tir-red);border-radius:1px;animation:tir-pulse 2s ease-in-out infinite;margin-bottom:16px}.loading-tagline{font-size:10px;color:var(--tir-grey-dim);letter-spacing:3px;text-transform:uppercase}@keyframes tir-pulse{0%,to{width:0%;opacity:.3}50%{width:60%;opacity:1}}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:radial-gradient(ellipse at top right,rgba(225,29,29,.08),transparent 60%)}.login-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:400px;padding:0 16px}.login-card{text-align:center;background:var(--tir-card);border:1px solid var(--tir-border);border-radius:16px;padding:40px 32px;width:100%}.login-card h1{margin-bottom:8px;border-left:none;padding-left:0}.login-card p{color:var(--tir-grey);margin-bottom:24px}.login-footer{color:var(--tir-grey-dim)!important;font-size:12px!important;margin-top:24px!important;margin-bottom:0!important}.telegram-widget-container{display:flex;justify-content:center;min-height:40px}.login-status{font-family:Manrope,sans-serif;color:var(--tir-grey);margin-top:16px;font-size:14px}.login-error{color:#e74c3c;margin-top:16px;font-size:14px}.logo-header{position:sticky;top:0;z-index:100;background:var(--tir-black);border-bottom:1px solid var(--tir-border);height:56px;display:flex;align-items:center;margin:-16px -16px 16px;padding:0 16px}.logo-header__content{display:flex;flex-direction:column;justify-content:center}.logo-header__title{font-family:Oswald,sans-serif;font-weight:700;font-size:28px;line-height:1}.logo-header__tir{color:var(--tir-white)}.logo-header__poker{color:var(--tir-red)}.logo-header__subtitle{font-family:Manrope,sans-serif;font-weight:400;font-size:11px;letter-spacing:2px;color:var(--tir-grey);text-transform:uppercase;line-height:1;margin-top:2px}@media(max-width:360px){.logo-header__title{font-size:24px}.logo-header__subtitle{font-size:10px;letter-spacing:1.5px}}.tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--tir-surface);border-top:1px solid var(--tir-border);height:56px;display:flex;align-items:center;justify-content:space-around}.tab-bar__tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;height:100%;text-decoration:none;color:var(--tir-grey-dim);transition:color .2s ease}.tab-bar__tab--active{color:var(--tir-red)}.tab-bar__dot{display:block;width:4px;height:4px;border-radius:50%;background:transparent}.tab-bar__tab--active .tab-bar__dot{background:var(--tir-red)}.tab-bar__label{font-family:Oswald,sans-serif;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:1px;line-height:1}.toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:90%;pointer-events:none}.toast{background:var(--tir-surface);border:1px solid var(--tir-border);border-radius:8px;padding:12px 16px;font-family:Manrope,sans-serif;font-size:14px;color:var(--tir-white);box-shadow:0 4px 12px #0006;border-left:3px solid var(--tir-grey);cursor:pointer;pointer-events:auto;animation:toast-in .2s ease-out}.toast--success{border-left-color:var(--tir-green)}.toast--error{border-left-color:var(--tir-red)}.toast--info{border-left-color:var(--tir-grey)}.toast--exit{animation:toast-out .2s ease-in forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
