:root {--t-abyss: #052c3f;--t-deep: #0a4c6b;--t-sea: #1180a6;--t-aqua: #35bcd6;--t-gold: #f6c34d;--t-amber: #ef8f3c;--t-page-bg: #f4f8fb}
.tournaments-page {background: var(--t-page-bg)}
.tournaments-container {width: 100%;overflow-x: hidden}
.tournaments-inner {width: 100%;max-width: 1000px;margin: 0 auto;padding: 0 16px 48px;box-sizing: border-box}
.tournaments-page [hidden] {display: none !important}
.tournaments-hero,
.tournament-detail-hero {position: relative;overflow: hidden;color: #fff;background:
radial-gradient(120% 140% at 15% 0%, rgba(53, 188, 214, 0.45), transparent 55%),
linear-gradient(135deg, var(--t-abyss), var(--t-deep) 48%, var(--t-sea));padding: 34px 0 46px;margin-bottom: 18px}
.tournaments-hero-inner,
.tournament-detail-hero-inner {position: relative;z-index: 1;padding-bottom: 0}
.tournaments-hero-glow {position: absolute;border-radius: 50%;filter: blur(46px);pointer-events: none}
.tournaments-hero-glow--a {width: 260px;height: 260px;top: -110px;right: -60px;background: rgba(246, 195, 77, 0.42)}
.tournaments-hero-glow--b {width: 220px;height: 220px;bottom: -120px;left: -50px;background: rgba(53, 188, 214, 0.4)}
.tournaments-hero-wave {position: absolute;left: 0;right: 0;bottom: -1px;width: 100%;height: 34px;color: var(--t-page-bg);display: block}
.tournaments-kicker {display: inline-flex;align-items: center;gap: 6px;margin: 0 0 8px;padding: 4px 12px 4px 9px;border-radius: 999px;background: rgba(255, 255, 255, 0.14);font-size: 11px;font-weight: 600;letter-spacing: 0.16em;color: #ffe6a8}
.tournaments-kicker svg {width: 14px;height: 14px}
.tournaments-title {margin: 0 0 8px;font-size: 26px;font-weight: 800;line-height: 1.3;letter-spacing: 0.01em}
.tournaments-subtitle {margin: 0;max-width: 34em;font-size: 14px;line-height: 1.75;color: #d5edf7;overflow-wrap: anywhere}
.tournaments-cta {display: inline-flex;align-items: center;gap: 7px;margin-top: 18px;padding: 11px 22px;border-radius: 999px;background: linear-gradient(135deg, var(--t-gold), var(--t-amber));color: #40270a;font-size: 14px;font-weight: 700;text-decoration: none;box-shadow: 0 8px 20px rgba(239, 143, 60, 0.32)}
.tournaments-cta:hover {filter: brightness(1.04)}
.tournaments-cta-icon {width: 16px;height: 16px}
.tournaments-filters {display: flex;gap: 8px;overflow-x: auto;padding: 2px 0 14px;scrollbar-width: none}
.tournaments-filters::-webkit-scrollbar {display: none}
.tournaments-filter {flex: none;padding: 7px 15px;border-radius: 999px;border: 1px solid var(--color-border, #e2e8f0);background: #fff;color: var(--color-text-secondary, #475569);font-size: 13px;text-decoration: none;white-space: nowrap}
.tournaments-filter:hover {border-color: var(--t-sea);color: var(--t-deep)}
.tournaments-filter.is-active {background: linear-gradient(135deg, var(--t-deep), var(--t-sea));border-color: transparent;color: #fff;box-shadow: 0 4px 12px rgba(10, 76, 107, 0.28)}
.tournaments-list {display: grid;grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));gap: 12px}
.tournament-card {position: relative;display: block;min-width: 0;padding: 16px 16px 14px 20px;border-radius: 16px;border: 1px solid var(--color-border, #e2e8f0);background: #fff;color: inherit;text-decoration: none;overflow: hidden;box-shadow: 0 2px 10px rgba(5, 44, 63, 0.06);transition: transform 0.18s ease, box-shadow 0.18s ease}
.tournament-card:hover {transform: translateY(-2px);box-shadow: 0 10px 24px rgba(5, 44, 63, 0.13)}
.tournament-card-bar {position: absolute;left: 0;top: 0;bottom: 0;width: 5px;background: linear-gradient(180deg, var(--color-border, #e2e8f0), var(--color-border, #e2e8f0))}
.tournament-card--in-progress .tournament-card-bar {background: linear-gradient(180deg, var(--t-aqua), var(--t-sea))}
.tournament-card--recruiting .tournament-card-bar {background: linear-gradient(180deg, var(--t-gold), var(--t-amber))}
.tournament-card-head {display: flex;align-items: center;justify-content: space-between;gap: 8px;margin-bottom: 8px}
.tournament-badge {display: inline-flex;align-items: center;gap: 5px;padding: 3px 11px;border-radius: 999px;font-size: 11.5px;font-weight: 700}
.tournament-badge--recruiting {background: #fff2d3;color: #8a5a10}
.tournament-badge--in-progress {background: #d7f4f9;color: #0a6274}
.tournament-badge--finished {background: var(--color-bg-secondary, #f1f5f9);color: var(--color-text-secondary, #475569)}
.tournament-badge-dot {width: 7px;height: 7px;border-radius: 50%;background: #12a3bd;box-shadow: 0 0 0 0 rgba(18, 163, 189, 0.6);animation: tournament-pulse 1.8s ease-out infinite}
@keyframes tournament-pulse {70% { box-shadow: 0 0 0 7px rgba(18, 163, 189, 0); }
100% { box-shadow: 0 0 0 0 rgba(18, 163, 189, 0); }}
.tournament-card-metric {font-size: 12px;font-weight: 700;color: var(--t-sea)}
.tournament-card-title {margin: 0 0 6px;font-size: 16.5px;font-weight: 700;line-height: 1.45;color: var(--color-text-primary, #1e293b);overflow-wrap: anywhere}
.tournament-card-countdown {margin: 0 0 12px;font-size: 12px;font-weight: 600;color: var(--t-amber)}
.tournament-card-meta {margin: 0 0 12px;font-size: 12.5px;color: var(--color-text-secondary, #475569)}
.tournament-card-meta-row {display: grid;grid-template-columns: 62px 1fr;gap: 6px;margin-bottom: 3px}
.tournament-card-meta-row dt {color: var(--color-text-light, #94a3b8)}
.tournament-card-meta-row dd {margin: 0;min-width: 0;overflow-wrap: anywhere}
.tournament-card-foot {display: flex;align-items: center;justify-content: space-between;gap: 8px;padding-top: 10px;border-top: 1px solid var(--color-border-light, #f1f5f9);font-size: 12px;color: var(--color-text-muted, #64748b)}
.tournament-card-host {display: inline-flex;align-items: center;gap: 6px;min-width: 0}
.tournament-card-avatar {border-radius: 50%;flex: none}
.tournament-card-host-name {overflow: hidden;text-overflow: ellipsis;white-space: nowrap}
.tournament-card-entries {flex: none;font-weight: 600}
.tournaments-empty,
.tournament-empty-note {margin: 24px 0;padding: 22px;border-radius: 16px;background: #fff;border: 1px dashed #b9d5e2;color: var(--color-text-muted, #64748b);font-size: 13.5px;text-align: center}
.tournament-detail-badges {display: flex;align-items: center;gap: 8px;flex-wrap: wrap;margin-bottom: 10px}
.tournament-detail-metric {font-size: 12.5px;font-weight: 700;color: #ffe6a8}
.tournament-detail-title {margin: 0 0 12px;font-size: 23px;font-weight: 800;line-height: 1.35;overflow-wrap: anywhere}
.tournament-detail-sub {display: flex;align-items: center;gap: 10px;flex-wrap: wrap}
.tournament-detail-host {display: inline-flex;align-items: center;gap: 8px;padding: 5px 12px 5px 5px;border-radius: 999px;background: rgba(255, 255, 255, 0.14);font-size: 12.5px;color: #eaf6fb;text-decoration: none}
.tournament-detail-avatar {border-radius: 50%}
.tournament-detail-countdown {padding: 5px 12px;border-radius: 999px;background: linear-gradient(135deg, var(--t-gold), var(--t-amber));color: #40270a;font-size: 12px;font-weight: 700}
.tournament-detail-grid {display: grid;grid-template-columns: 1fr;gap: 14px;align-items: start}
.tournament-detail-side,
.tournament-detail-main {min-width: 0}
.tournament-panel,
.tournament-rules-list,
.tournament-actions,
.tournament-leaderboard {border-radius: 16px;border: 1px solid var(--color-border, #e2e8f0);background: #fff;box-shadow: 0 2px 10px rgba(5, 44, 63, 0.05)}
.tournament-detail-description {padding: 16px 18px;font-size: 14px;line-height: 1.85;color: var(--color-text-secondary, #475569);overflow-wrap: anywhere}
.tournament-detail-description p {margin: 0 0 8px}
.tournament-detail-description p:last-child {margin-bottom: 0}
.tournament-section-title {display: flex;align-items: center;gap: 8px;margin: 18px 0 10px;font-size: 15px;font-weight: 700;color: var(--t-deep)}
.tournament-detail-side .tournament-section-title:first-child,
.tournament-detail-main .tournament-section-title:first-child {margin-top: 4px}
.tournament-detail-footer {display: flex;justify-content: center;margin-top: 18px}
.tournament-detail-footer .tournament-button {padding: 10px 22px;font-size: 13px}
.tournament-final-tag {padding: 2px 9px;border-radius: 999px;background: linear-gradient(135deg, var(--t-gold), var(--t-amber));color: #40270a;font-size: 11px;font-weight: 700}
.tournament-rules-list {margin: 0;padding: 8px 16px;font-size: 13.5px}
.tournament-rules-row {display: grid;grid-template-columns: 84px 1fr;gap: 10px;padding: 9px 0;border-bottom: 1px solid var(--color-border-light, #f1f5f9)}
.tournament-rules-row:last-child {border-bottom: none}
.tournament-rules-row dt {color: var(--color-text-muted, #64748b)}
.tournament-rules-row dd {margin: 0;min-width: 0;color: var(--color-text-primary, #1e293b);overflow-wrap: anywhere}
.tournament-period span {display: inline-block}
.tournament-period-sep {margin: 0 2px;color: var(--color-text-light, #94a3b8)}
.tournament-rules-row--reward dd {font-weight: 700;color: #8a5a10}
.tournament-rules-note,
.tournament-actions-note,
.tournament-hint {margin: 8px 0 0;font-size: 12.5px;line-height: 1.7;color: var(--color-text-muted, #64748b);overflow-wrap: anywhere}
.tournament-actions {padding: 16px;margin-top: 14px}
.tournament-actions .tournament-actions-note {margin: 0 0 10px}
.tournament-button {display: inline-flex;align-items: center;justify-content: center;gap: 6px;padding: 11px 22px;border-radius: 999px;border: 1px solid transparent;font-size: 14px;font-weight: 700;text-decoration: none;cursor: pointer}
.tournament-button--primary {background: linear-gradient(135deg, var(--t-deep), var(--t-sea));color: #fff;box-shadow: 0 8px 18px rgba(10, 76, 107, 0.26)}
.tournament-button--primary:hover {filter: brightness(1.06)}
.tournament-button--quiet {background: #fff;border-color: var(--color-border, #e2e8f0);color: var(--color-text-secondary, #475569)}
.tournament-button--accent {background: linear-gradient(135deg, var(--t-gold), var(--t-amber));color: #40270a;box-shadow: 0 8px 20px rgba(239, 143, 60, 0.32)}
.tournament-button--accent:hover {filter: brightness(1.04)}
.tournament-podium {list-style: none;display: grid;grid-template-columns: 1fr;gap: 10px;margin: 0 0 10px;padding: 0}
.tournament-podium-item {position: relative;display: grid;grid-template-columns: 42px 1fr auto;align-items: center;gap: 12px;padding: 14px 16px;border-radius: 16px;border: 1px solid var(--color-border, #e2e8f0);background: #fff;box-shadow: 0 2px 10px rgba(5, 44, 63, 0.05)}
.tournament-podium-item--1 {border-color: #f0cf7d;background: linear-gradient(135deg, #fff9e9, #fff 60%);box-shadow: 0 10px 24px rgba(239, 176, 60, 0.18)}
.tournament-podium-item--2 {border-color: #d5dee6;background: linear-gradient(135deg, #f7fafc, #fff 60%)}
.tournament-podium-item--3 {border-color: #e9cdb4;background: linear-gradient(135deg, #fdf4ec, #fff 60%)}
.tournament-podium-item.is-viewer {outline: 2px solid var(--t-aqua);outline-offset: -2px}
.tournament-podium-place {position: relative;display: flex;align-items: center;justify-content: center;width: 42px;height: 42px;border-radius: 50%;background: var(--color-bg-secondary, #f1f5f9);color: var(--color-text-secondary, #475569)}
.tournament-podium-item--1 .tournament-podium-place {background: linear-gradient(135deg, #f6c34d, #ef8f3c);color: #40270a}
.tournament-podium-item--2 .tournament-podium-place {background: linear-gradient(135deg, #e4ebf1, #c9d5df);color: #43566a}
.tournament-podium-item--3 .tournament-podium-place {background: linear-gradient(135deg, #eccdae, #d9a97f);color: #573a20}
.tournament-podium-no {font-size: 17px;font-weight: 800;line-height: 1}
.tournament-podium-crown {position: absolute;top: -13px;left: 50%;transform: translateX(-50%);width: 20px;height: 20px;color: var(--t-gold);filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.12))}
.tournament-podium-user {display: inline-flex;align-items: center;gap: 10px;min-width: 0;color: inherit;text-decoration: none}
.tournament-podium-avatar {border-radius: 50%;flex: none}
.tournament-podium-name {font-size: 14px;font-weight: 700;color: var(--color-text-primary, #1e293b);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}
.tournament-podium-score {font-size: 18px;font-weight: 800;color: var(--t-deep);white-space: nowrap}
.tournament-podium-item--1 .tournament-podium-score {font-size: 22px;color: #8a5a10}
.tournament-my-rank {display: flex;align-items: center;flex-wrap: wrap;gap: 6px 10px;margin: 0 0 12px;padding: 10px 14px;border: 1px solid #cfe9f3;border-radius: 14px;background: linear-gradient(135deg, #eaf7fb, #fff 70%)}
.tournament-my-rank-label {font-size: 12px;font-weight: 700;color: var(--t-deep)}
.tournament-my-rank-place {font-size: 14px;font-weight: 700;color: var(--color-text-primary, #1e293b)}
.tournament-my-rank-place strong {font-size: 20px;font-weight: 800;color: var(--t-deep)}
.tournament-my-rank-total {font-size: 12px;font-weight: 600;color: var(--color-text-muted, #64748b)}
.tournament-my-rank-score {margin-left: auto;font-size: 15px;font-weight: 800;color: var(--t-deep);white-space: nowrap}
.tournament-leaderboard {list-style: none;margin: 0;padding: 0;overflow: hidden}
.tournament-rank-item {display: grid;grid-template-columns: 34px minmax(0, 1fr) auto;align-items: center;gap: 10px;padding: 11px 16px;border-bottom: 1px solid var(--color-border-light, #f1f5f9)}
.tournament-rank-item:last-child {border-bottom: none}
.tournament-rank-item.is-viewer {background: #eaf7fb}
.tournament-rank-no {display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;border-radius: 50%;background: var(--color-bg-secondary, #f1f5f9);color: var(--color-text-secondary, #475569);font-size: 13px;font-weight: 700}
.tournament-rank-no--waiting {background: transparent;border: 1px dashed var(--color-border, #e2e8f0);color: var(--color-text-light, #94a3b8)}
.tournament-rank-score--waiting {font-size: 12px;font-weight: 600;color: var(--color-text-muted, #64748b)}
.tournament-rank-user {display: inline-flex;align-items: center;gap: 9px;min-width: 0;color: inherit;text-decoration: none}
.tournament-rank-avatar {border-radius: 50%;flex: none}
.tournament-rank-name {font-size: 13.5px;color: var(--color-text-primary, #1e293b);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}
.tournament-rank-score {font-size: 14px;font-weight: 700;color: var(--t-deep);white-space: nowrap}
.tournament-score-trigger {border: none;background: none;padding: 10px 8px;margin: -10px -8px;font-family: inherit;text-decoration: underline dotted;text-decoration-color: rgba(11, 94, 125, 0.45);text-underline-offset: 4px;cursor: pointer}
.tournament-score-trigger:hover {text-decoration-color: currentColor}
.tournament-reports-overlay {position: fixed;inset: 0;z-index: 1200;display: flex;align-items: center;justify-content: center;padding: 16px;background: rgba(5, 44, 63, 0.55)}
.tournament-reports-overlay.hidden {display: none}
.tournament-reports-modal {display: flex;flex-direction: column;width: 100%;max-width: 420px;max-height: 80vh;border-radius: 18px;background: #fff;box-shadow: 0 20px 50px rgba(5, 44, 63, 0.28);overflow: hidden}
.tournament-reports-head {display: flex;align-items: center;gap: 10px;padding: 14px 16px;border-bottom: 1px solid var(--color-border-light, #f1f5f9)}
.tournament-reports-title {margin: 0;min-width: 0;font-size: 14px;font-weight: 700;color: var(--color-text-primary, #1e293b);overflow-wrap: anywhere}
.tournament-reports-close {margin-left: auto;flex: none;width: 30px;height: 30px;padding: 6px;border: none;border-radius: 50%;background: var(--color-bg-secondary, #f1f5f9);color: var(--color-text-secondary, #475569);cursor: pointer}
.tournament-reports-close svg {width: 100%;height: 100%}
.tournament-reports-body {padding: 8px 0;overflow-y: auto}
.tournament-reports-list {list-style: none;margin: 0;padding: 0}
.tournament-reports-item {border-bottom: 1px solid var(--color-border-light, #f1f5f9)}
.tournament-reports-item:last-child {border-bottom: none}
.tournament-reports-link {display: flex;align-items: center;gap: 12px;padding: 10px 16px;color: inherit;text-decoration: none}
.tournament-reports-link:hover {background: #f8fbfd}
.tournament-reports-thumb {flex: none;width: 52px;height: 52px;border-radius: 12px;background: var(--color-bg-secondary, #f1f5f9);overflow: hidden}
.tournament-reports-thumb img {width: 100%;height: 100%;object-fit: cover}
.tournament-reports-info {display: flex;flex-direction: column;gap: 2px;min-width: 0}
.tournament-reports-fish {font-size: 13.5px;font-weight: 700;color: var(--color-text-primary, #1e293b);overflow-wrap: anywhere}
.tournament-reports-measure {font-size: 12px;font-weight: 700;color: var(--t-deep)}
.tournament-reports-date {font-size: 11.5px;color: var(--color-text-muted, #64748b)}
.tournament-reports-loading,
.tournament-reports-empty,
.tournament-reports-note {margin: 0;padding: 14px 16px;font-size: 12.5px;color: var(--color-text-muted, #64748b)}
.tournament-profile-section {margin: 30px 0;min-width: 0}
.tournament-profile-head {position: relative;margin-bottom: 10px}
.tournament-profile-head .section-title {margin-bottom: 0;padding-right: 84px}
.tournament-profile-more {position: absolute;top: 0;right: 0;height: calc(100% - 10px);display: flex;align-items: center;font-size: 12.5px;color: #0a4c6b;text-decoration: none}
.tournament-mini-list {display: grid;grid-template-columns: 1fr;gap: 8px}
.tournament-mini {display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 12px 14px;border-radius: 14px;border: 1px solid var(--color-border, #e2e8f0);background: #fff;color: inherit;text-decoration: none;min-width: 0;transition: transform 0.18s ease, box-shadow 0.18s ease}
.tournament-mini:hover {transform: translateY(-1px);box-shadow: 0 8px 18px rgba(5, 44, 63, 0.1)}
.tournament-mini-main {display: flex;flex: 1;flex-direction: column;gap: 4px;min-width: 0}
.tournament-mini-head {display: flex;align-items: center;gap: 8px}
.tournament-mini-metric {font-size: 11.5px;font-weight: 700;color: #1180a6}
.tournament-mini-title {font-size: 14px;font-weight: 700;color: var(--color-text-primary, #1e293b);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}
.tournament-mini-meta {font-size: 12px;color: var(--color-text-muted, #64748b)}
.tournament-mini-side {display: flex;flex: none;flex-direction: column;align-items: flex-end;gap: 2px}
.tournament-mini-rank {font-size: 18px;font-weight: 800;line-height: 1.2;color: #0a4c6b}
.tournament-mini-rank small {font-size: 11px;margin-left: 1px}
.tournament-mini-score {font-size: 11.5px;color: var(--color-text-muted, #64748b);white-space: nowrap}
.tournament-profile-empty {padding: 16px;border-radius: 14px;border: 1px dashed #b9d5e2;background: #fff}
.tournament-profile-empty-title {margin: 0 0 4px;font-size: 13.5px;font-weight: 700;color: var(--color-text-primary, #1e293b)}
.tournament-profile-empty-note {margin: 0;font-size: 12.5px;line-height: 1.7;color: var(--color-text-muted, #64748b);overflow-wrap: anywhere}
.tournament-profile-empty-actions {display: flex;flex-wrap: wrap;gap: 8px;margin-top: 12px}
.tournament-profile-empty-actions .tournament-button {padding: 9px 18px;font-size: 13px}
.tournament-share {display: flex;align-items: center;justify-content: space-between;gap: 12px;flex-wrap: wrap;margin-top: 14px;padding: 14px 16px;border-radius: 16px;border: 1px dashed #9cc3d4;background: linear-gradient(135deg, #f1f9fc, #fff 70%)}
.tournament-share-body {flex: 1 1 220px;min-width: 0}
.tournament-share-title {margin: 0 0 4px;font-size: 13.5px;font-weight: 700;color: #0a4c6b}
.tournament-share-note {margin: 0;font-size: 12.5px;line-height: 1.7;color: var(--color-text-secondary, #475569);overflow-wrap: anywhere}
.tournament-share .tournament-button {flex: none}
.tournaments-hero-steps {display: flex;flex-wrap: wrap;align-items: center;gap: 6px 8px;list-style: none;margin: 16px 0 0;padding: 0;counter-reset: tournament-hero-step}
.tournaments-hero-steps li {display: inline-flex;align-items: center;gap: 6px;padding: 5px 12px 5px 8px;border-radius: 999px;background: rgba(255, 255, 255, 0.14);font-size: 12px;color: #eaf6fb}
.tournaments-hero-steps li::before {counter-increment: tournament-hero-step;content: counter(tournament-hero-step);display: inline-flex;align-items: center;justify-content: center;width: 17px;height: 17px;border-radius: 50%;background: linear-gradient(135deg, var(--t-gold), var(--t-amber));color: #40270a;font-size: 10.5px;font-weight: 800}
.tournament-form {display: flex;flex-direction: column;gap: 12px;min-width: 0}
.tournament-step {padding: 18px 16px;border-radius: 16px;background: #fff;border: 1px solid var(--color-border, #e2e8f0);box-shadow: 0 2px 10px rgba(5, 44, 63, 0.05);min-width: 0}
.tournament-step-title {display: flex;align-items: center;gap: 9px;margin: 0 0 14px;font-size: 15px;font-weight: 700;color: var(--color-text-primary, #1e293b)}
.tournament-step-no {flex: none;display: inline-flex;align-items: center;justify-content: center;width: 25px;height: 25px;border-radius: 9px;background: linear-gradient(135deg, var(--t-deep), var(--t-sea));color: #fff;font-size: 13px;font-weight: 800}
.tournament-presets {display: flex;flex-wrap: wrap;gap: 8px;margin-bottom: 14px}
.tournament-preset {padding: 6px 15px;border-radius: 999px;border: 1px solid var(--color-border, #e2e8f0);background: #fff;color: var(--color-text-secondary, #475569);font-size: 12.5px;font-family: inherit;cursor: pointer}
.tournament-preset:hover {border-color: var(--t-sea);color: var(--t-deep)}
.tournament-choice-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));gap: 8px}
.tournament-choice-list {display: flex;flex-direction: column;gap: 8px}
.tournament-choice {display: flex;align-items: flex-start;gap: 10px;padding: 12px 14px;border: 1px solid var(--color-border, #e2e8f0);border-radius: 12px;background: #fff;cursor: pointer;min-width: 0}
.tournament-choice:hover {border-color: #9cc3d4}
.tournament-choice:has(.tournament-choice-input:checked) {border-color: var(--t-sea);background: linear-gradient(135deg, #f1f9fc, #fff 70%);box-shadow: inset 0 0 0 1px var(--t-sea)}
.tournament-choice-input {flex: none;margin: 2px 0 0;accent-color: var(--t-deep)}
.tournament-choice-icon {flex: none;display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;border-radius: 9px;background: #eaf5f9;color: var(--t-sea)}
.tournament-choice-icon svg {width: 17px;height: 17px}
.tournament-choice:has(.tournament-choice-input:checked) .tournament-choice-icon {background: var(--t-sea);color: #fff}
.tournament-choice-body {display: flex;flex-direction: column;gap: 3px;min-width: 0}
.tournament-choice-title {display: flex;align-items: baseline;gap: 6px;font-size: 13.5px;font-weight: 700;color: var(--color-text-primary, #1e293b)}
.tournament-choice-unit {font-size: 11.5px;font-weight: 500;color: var(--color-text-light, #94a3b8)}
.tournament-choice-note {font-size: 12px;line-height: 1.6;color: var(--color-text-muted, #64748b);overflow-wrap: anywhere}
.tournament-subsection {margin-top: 18px;padding-top: 16px;border-top: 1px solid var(--color-border-light, #f1f5f9)}
.tournament-segment {display: inline-flex;padding: 3px;border-radius: 999px;background: var(--color-bg-secondary, #f1f5f9);max-width: 100%}
.tournament-segment-item {position: relative;padding: 6px 16px;border-radius: 999px;font-size: 13px;color: var(--color-text-secondary, #475569);cursor: pointer;white-space: nowrap}
.tournament-segment-item input {position: absolute;opacity: 0;width: 0;height: 0}
.tournament-segment-item:has(input:checked) {background: #fff;color: var(--t-deep);font-weight: 700;box-shadow: 0 2px 8px rgba(5, 44, 63, 0.12)}
.tournament-field {margin-bottom: 16px;min-width: 0}
.tournament-field--last {margin-bottom: 0}
.tournament-field-group {display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 12px}
.tournament-field-group + .tournament-hint {margin-bottom: 16px}
.tournament-label {display: block;margin-bottom: 6px;font-size: 13px;font-weight: 700;color: var(--color-text-primary, #1e293b)}
.tournament-input {width: 100%;max-width: 100%;box-sizing: border-box;padding: 10px 12px;border-radius: 10px;border: 1px solid var(--color-border, #e2e8f0);background: #fff;font-size: 14px;color: var(--color-text-primary, #1e293b);font-family: inherit}
.tournament-input:focus {outline: 2px solid rgba(53, 188, 214, 0.5);outline-offset: 1px;border-color: var(--t-sea)}
.tournament-textarea {resize: vertical;line-height: 1.7}
.tournament-select {appearance: none;background-image: linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%);background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;background-size: 5px 5px, 5px 5px;background-repeat: no-repeat;padding-right: 34px}
.tournament-check {display: flex;align-items: center;gap: 8px;padding: 7px 0;font-size: 13.5px;color: var(--color-text-primary, #1e293b);cursor: pointer;min-width: 0}
.tournament-fish-panel,
.tournament-invite-panel {margin-top: 10px;padding-top: 10px;border-top: 1px dashed var(--color-border, #e2e8f0)}
.tournament-fish-input-row {display: flex;gap: 8px;align-items: center;min-width: 0}
.tournament-fish-input-row .tournament-input {flex: 1 1 auto;min-width: 0}
.tournament-fish-input-row .tournament-button {flex: none;padding: 9px 14px;font-size: 13px}
.tournament-chips {display: flex;flex-wrap: wrap;gap: 6px;list-style: none;margin: 10px 0 0;padding: 0}
.tournament-chip {display: inline-flex;align-items: center;gap: 6px;padding: 5px 6px 5px 12px;border-radius: 999px;background: #e2f3f8;color: #0a4c6b;font-size: 12.5px}
.tournament-chip-remove {border: none;background: rgba(10, 76, 107, 0.12);color: inherit;width: 18px;height: 18px;border-radius: 50%;line-height: 1;cursor: pointer;padding: 0}
.tournament-friend-list {list-style: none;margin: 8px 0 0;padding: 0;max-height: 260px;overflow-y: auto}
.tournament-friend-avatar {border-radius: 50%;flex: none}
.tournament-form-actions {display: flex;align-items: center;gap: 10px;flex-wrap: wrap;margin-top: 6px}
.tournament-form-actions .tournament-button--accent {flex: 1 1 auto;min-width: 160px}
.tournament-requirements {list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 10px}
.tournament-requirement {display: grid;grid-template-columns: 30px minmax(0, 1fr) auto;align-items: start;gap: 12px;padding: 14px;border-radius: 12px;border: 1px solid var(--color-border, #e2e8f0);background: #fff}
.tournament-requirement.is-met {border-color: #9ed3c6;background: linear-gradient(135deg, #f1fbf8, #fff 70%)}
.tournament-requirement-mark {display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;border-radius: 50%;background: var(--color-bg-secondary, #f1f5f9);color: var(--color-text-light, #94a3b8)}
.tournament-requirement-mark svg {width: 16px;height: 16px}
.tournament-requirement.is-met .tournament-requirement-mark {background: linear-gradient(135deg, #35b892, #1f8a5b);color: #fff}
.tournament-requirement-body {display: flex;flex-direction: column;gap: 4px;min-width: 0}
.tournament-requirement-title {font-size: 13.5px;font-weight: 700;color: var(--color-text-primary, #1e293b);overflow-wrap: anywhere}
.tournament-requirement-note {font-size: 12.5px;line-height: 1.7;color: var(--color-text-muted, #64748b);overflow-wrap: anywhere}
.tournament-requirement-state {flex: none;font-size: 12.5px;font-weight: 700;color: var(--t-deep);white-space: nowrap}
.tournament-requirement.is-met .tournament-requirement-state {color: #1f8a5b}
.tournament-progress {display: block;width: 100%;height: 6px;margin-top: 4px;border-radius: 999px;background: var(--color-bg-secondary, #f1f5f9);overflow: hidden}
.tournament-progress-bar {display: block;height: 100%;border-radius: 999px;background: linear-gradient(90deg, var(--t-gold), var(--t-amber))}
.tournament-requirement-actions {display: flex;flex-wrap: wrap;gap: 8px;margin-top: 16px}
.tournament-requirement-actions .tournament-button {padding: 10px 18px;font-size: 13px}
@media (min-width: 768px) {.tournaments-hero,
.tournament-detail-hero {padding: 48px 0 58px}
.tournaments-hero-wave {height: 46px}
.tournaments-title {font-size: 32px}
.tournaments-subtitle {font-size: 15px}
.tournament-detail-title {font-size: 28px}
.tournament-step {padding: 22px 24px}
.tournament-podium {grid-template-columns: repeat(3, 1fr);align-items: end;gap: 12px}
.tournament-podium-item {grid-template-columns: 1fr;justify-items: center;align-content: end;text-align: center;gap: 8px;padding: 18px 14px}
.tournament-podium-item--slot1 {order: 2;padding-top: 40px;padding-bottom: 40px}
.tournament-podium-item--slot2 {order: 1;padding-top: 24px;padding-bottom: 24px}
.tournament-podium-item--slot3 {order: 3;padding-top: 12px;padding-bottom: 12px}
.tournament-podium-item--slot1 .tournament-podium-place {width: 48px;height: 48px}
.tournament-podium-item--slot1 .tournament-podium-no {font-size: 19px}
.tournament-podium-item--slot1 .tournament-podium-name {font-size: 15px}
.tournament-podium-user {flex-direction: column;gap: 6px;max-width: 100%}
.tournament-podium-name {max-width: 100%}}
@media (min-width: 900px) {.tournament-detail-grid {grid-template-columns: 340px minmax(0, 1fr);gap: 18px}
.tournament-detail-side .tournament-section-title {margin-top: 14px}
.tournament-profile-section .tournament-mini-list {grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (prefers-reduced-motion: reduce) {.tournament-badge-dot {animation: none}
.tournament-card,
.tournament-mini {transition: none}
.tournament-card:hover,
.tournament-mini:hover {transform: none}}