:root{--navy: #222552;--gold: #ebc574;--light-gray: #f6f5f1;--border: #ddd;--text: #333;--ua-green: #007A33;--ua-dark-green: #275D38;--ua-gold: #F2CD00;--font-heading: "Alegreya Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-body: "Faustina", Georgia, "Times New Roman", "Liberation Serif", serif;--font-sans: var(--font-heading);--fs-2xs: .625rem;--fs-xs: .8rem;--fs-base: 1rem;--fs-lg: 1.25rem;--fs-xl: 1.5625rem;--fs-2xl: 2rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--fs-base);background-color:var(--light-gray);color:var(--text);line-height:1.6;overflow-x:hidden}h1,h2,h3,.btn,.stage-btn,.bracket-round__title,.auth-form__submit,.feedback-fab,.name-field__help,.bracket-round__info,.progress-text,.save-status,.header-user{font-family:var(--font-heading)}header{background-color:var(--ua-green);color:#fff;padding:12px 20px}.header-inner{max-width:1500px;margin:0 auto;display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}.header-title{flex:1 1 auto;min-width:0}header h1{font-size:clamp(1.05rem,2.4vw,var(--fs-2xl));line-height:1.2;margin-bottom:4px;font-weight:650}header p{color:#ffffffeb;font-size:var(--fs-xs);line-height:1.35;max-width:52rem}.header-actions{display:flex;flex:0 1 auto;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:8px;max-width:min(240px,28%);padding-top:2px}.header-actions .btn-ghost{background:transparent;color:#fff;border-color:#ffffffa6}.header-actions .btn-ghost:hover{background:#fff;color:var(--ua-green);box-shadow:none}.header-user{color:#fff;font-size:var(--fs-2xs);font-weight:600;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right}.container{max-width:1500px;margin:0 auto;padding:20px}#authSection.login-hero{width:100%;margin:0;padding-top:clamp(28px,6vh,80px);display:grid;grid-template-columns:1fr;gap:28px;align-items:center}.login-hero__content{min-width:0}.login-hero__headline{margin-bottom:14px;font-size:clamp(1.75rem,1.15rem + 2.2vw,2.75rem);line-height:1.12;font-weight:800;color:var(--navy);max-width:25ch}.login-hero__subline{margin-bottom:22px;font-size:clamp(1.125rem,1.02rem + .35vw,1.3125rem);line-height:1.45;font-weight:500;color:#4b5563;max-width:52ch}.login-hero__cta .auth-lead{margin-bottom:12px;font-size:var(--fs-base)}.login-hero__frame{width:100%;aspect-ratio:105 / 68;max-height:300px;border-radius:6px;overflow:hidden;position:relative;background-color:#3a7d52}.login-hero__markings{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.login-hero__stage{position:relative;width:100%;height:100%;z-index:3}.login-hero__players{position:absolute;top:0;right:0;bottom:0;left:0}.login-hero__player{position:absolute;left:0;top:0;font-size:.72rem;line-height:1;-webkit-user-select:none;user-select:none;pointer-events:none;will-change:transform}.login-hero__player--hidden{visibility:hidden}.login-hero__ball,.login-hero__scorer{position:absolute;left:0;top:0;line-height:1;will-change:transform;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:4}.login-hero__ball{font-size:.95rem}.login-hero__scorer{font-size:.85rem;z-index:5}.login-hero__scorer--hidden{display:none}@media (min-width: 769px){.login-hero__headline{margin-bottom:clamp(18px,2.5vh,32px)}.login-hero__subline{margin-bottom:clamp(32px,5vh,56px)}}@media (min-width: 1024px){#authSection.login-hero{grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:clamp(56px,12vw,180px);padding-top:40px;align-items:start}.login-hero__headline{max-width:30ch}.login-hero__frame{max-height:300px}}@media (min-width: 481px) and (max-width: 1023px){#authSection.login-hero{grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr);grid-template-rows:auto 1fr;gap:20px clamp(8px,2vw,24px);align-items:start;min-height:clamp(520px,78vh,680px)}.login-hero__content{grid-column:1;grid-row:1 / -1;padding-bottom:48px}.login-hero__headline{max-width:28ch}.login-hero__subline{margin-bottom:clamp(40px,7vh,72px);max-width:44ch}.login-hero__frame{grid-column:2;grid-row:2;align-self:end;justify-self:end;width:100%;max-width:min(100%,290px);max-height:185px;margin:0 0 8px;transform:translate(6%,10%)}}@media (max-width: 480px){.login-hero__frame{display:none}}.auth-form{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;max-width:420px}.auth-form__input{flex:1 1 auto;min-width:0;height:44px;padding:0 14px;border:1px solid var(--border);border-radius:999px;font-size:var(--fs-base);background:#fff}.auth-form__submit{flex:0 0 auto;width:44px;height:44px;padding:0;border:none;border-radius:999px;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background .2s ease,box-shadow .2s ease}.auth-form__submit:hover:not(:disabled){background:#1a1d4a;box-shadow:0 4px 12px #22255238}.auth-form__submit:disabled{opacity:.55;cursor:not-allowed}.auth-form__submit-icon{width:20px;height:20px;display:block;pointer-events:none}.auth-form__submit--sending .auth-form__submit-icon{opacity:.2}.auth-form__submit--sending:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:999px;animation:spin .8s linear infinite}.btn{padding:12px 20px;border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:8px;cursor:pointer;font-weight:700;font-size:var(--fs-xs);transition:all .2s ease}.btn:hover{background:var(--navy);color:var(--gold);box-shadow:0 3px 10px #2225524d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:8px 14px;border-color:var(--border);color:var(--navy)}.btn-ghost:hover{background:var(--light-gray);color:var(--navy);box-shadow:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite}.bracket-shell{display:flex;flex-direction:column;gap:18px}.panel-header h2{font-size:var(--fs-lg);color:var(--navy);margin-bottom:4px}.panel-header p{color:#4b5563;font-size:var(--fs-base);max-width:70ch}.panel-header{margin-bottom:18px}.panel-header__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-header__top h2{margin-bottom:0}.btn-help{flex:0 0 auto;white-space:nowrap}.instructions-callout{padding:12px 14px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px}.instructions-callout p{color:#374151}.instructions-callout p+p{margin-top:8px}.group-stage-lock-notice{margin:0 0 8px;padding:10px 12px;background:#fff7e6;border:1px solid var(--gold);border-radius:8px;color:#5c4a1a;font-weight:600}.bracket-section.is-group-stage-locked #bracket .team-row{cursor:default;pointer-events:none}.bracket-section.is-group-stage-locked #bracket .team-row:hover{border-color:var(--light-gray);background:var(--light-gray)}.bracket-section.is-group-stage-locked #bracket .team-row.is-ranked:hover{background:#eef2ff;border-color:#c7d2fe}.bracket-section.is-group-stage-locked #bracket .team-row.is-advancing:hover{background:#fff7e6;border-color:var(--gold)}.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.bracket-layout{display:grid;grid-template-columns:1fr;gap:18px}.bracket-layout--full{grid-template-columns:1fr}.bracket-layout--full .bracket-side{display:none}.bracket-side{order:-1;display:flex;flex-direction:column;gap:12px}.stage-nav{display:flex;gap:10px;overflow-x:auto;padding:12px 0 16px;margin-bottom:4px;-webkit-overflow-scrolling:touch}.stage-nav[hidden]{display:none}.stage-btn{flex:0 0 auto;padding:10px 16px;border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:10px;cursor:pointer;white-space:nowrap;font-weight:800;font-size:var(--fs-xs);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.stage-btn:hover:not(:disabled){background:var(--light-gray)}.stage-btn--active{background:var(--navy);color:var(--gold);border-color:var(--navy);box-shadow:0 3px 10px #007a3333}.stage-btn--completed:not(.stage-btn--active){background:#e8f5e9;border-color:var(--ua-green);color:#1b5e20}.stage-btn--completed:not(.stage-btn--active):before{content:"✓ ";font-weight:800}.stage-btn--disabled,.stage-btn:disabled{opacity:.45;cursor:not-allowed}.bracket-section:not(.is-stage-groups) .bracket-toolbar,.bracket-section:not(.is-stage-groups) .panel-header,.bracket-section:not(.is-stage-groups) .submit-bar-mobile{display:none}.official-bracket-info{display:none}.official-bracket-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:none;border-radius:0;padding:4px 0 12px;margin:0 auto 8px;max-width:1200px;box-shadow:none}.official-bracket-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;justify-content:flex-end}@media (max-width: 768px){.official-bracket-toolbar{flex-direction:column;align-items:stretch}.official-bracket-actions{margin-left:0;width:100%}.official-bracket-actions .btn{flex:1 1 auto;text-align:center}}.bracket-export--knockout .knockout-scroll{overflow:visible;background:#fff}.bracket-export--knockout .knockout-bracket{gap:28px}.bracket-export--knockout .bracket-center{min-width:560px}.bracket-export--knockout .knockout-bracket--endgame{max-width:980px;width:100%;margin-inline:auto}.bracket-export--knockout .knockout-bracket--endgame .bracket-center{min-width:0;width:100%;max-width:920px}.bracket-export--knockout .knockout-bracket--endgame .bracket-round--sf{transform:none;opacity:.8}.bracket-export--knockout .knockout-bracket--endgame .bracket-round--sf .bracket-team__name{overflow:visible;text-overflow:clip}.bracket-export--knockout .bracket-lines{color:#0f172a59}.third-place-info{background:var(--navy);color:#fff;padding:16px 20px;border-radius:14px;text-align:center;margin:0 auto 20px;max-width:640px}.third-place-info h2{margin:0 0 8px;font-size:var(--fs-lg);font-weight:800;color:var(--gold)}.third-place-info__lead{margin:0 0 12px;font-size:var(--fs-xs);line-height:1.5;color:#ffffffeb}.third-place-info__counter{font-size:var(--fs-lg);font-weight:800;color:var(--gold)}.third-place-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;max-width:1200px;margin:0 auto;width:100%}[data-stage-panel=third]{overflow-x:clip;max-width:100%}.third-place-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;gap:4px 10px;padding:12px 14px;border:2px solid var(--border);border-radius:14px;background:#fff;cursor:pointer;text-align:left;box-shadow:0 1px 3px #0f172a0f;transition:border-color .15s ease,background .15s ease,transform .15s ease}.third-place-card:hover{border-color:var(--ua-green);transform:translate(2px)}.third-place-card.is-selected{background:var(--gold);border-color:var(--navy)}.third-place-card__flag{grid-row:1 / span 2;width:1.75rem;height:1.31rem}.third-place-card__name{font-size:var(--fs-base);font-weight:700;color:var(--navy);line-height:1.25}.third-place-card__meta{grid-column:2;font-size:var(--fs-2xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.third-place-card__check{grid-row:1 / span 2;grid-column:3;width:26px;height:26px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--fs-xs)}.knockout-canvas{background:#fff;border-radius:14px;box-shadow:0 1px 2px #0f172a0f,0 8px 24px #0f172a12;padding:16px 12px 12px;position:relative}.knockout-scroll-hint{margin:0 8px 10px;padding:8px 12px;font-size:var(--fs-2xs);font-weight:700;color:var(--navy);background:#007a3314;border:1px solid rgba(0,122,51,.22);border-radius:8px;text-align:center;letter-spacing:.01em}.knockout-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0;padding:4px 8px 12px;scroll-padding-inline:24px}.knockout-podium-cta{display:flex;justify-content:center;padding:4px 8px 8px;border-top:1px solid rgba(15,23,42,.06)}.btn-sm{font-size:var(--fs-xs);padding:8px 14px}.knockout-bracket{display:flex;align-items:stretch;gap:clamp(24px,4vw,56px);min-width:min-content;padding:8px 4px 16px;--bracket-round-gap: clamp(20px, 3vw, 48px);position:relative}.bracket-lines{position:absolute;top:0;left:0;pointer-events:none;overflow:visible;z-index:0;color:#0f172a47}.knockout-bracket>.bracket-half,.knockout-bracket>.bracket-center{position:relative;z-index:1}.knockout-canvas--endgame .knockout-scroll{overflow-x:hidden;padding-inline:0}.knockout-bracket--endgame{justify-content:center;min-width:0;width:100%;max-width:1040px;margin-inline:auto;gap:0;padding-inline:8px}.knockout-bracket--endgame .bracket-center{min-width:0;width:100%;max-width:980px;padding:0}.knockout-bracket--endgame .bracket-center__final-row{display:grid;grid-template-columns:minmax(8rem,2.25fr) minmax(0,7.5fr) minmax(8rem,2.25fr);align-items:center;gap:clamp(8px,1.4vw,16px);width:100%}.knockout-bracket--endgame .bracket-round,.knockout-bracket--endgame .bracket-round--solo,.knockout-bracket--endgame .bracket-match,.knockout-bracket--endgame .bracket-round--final .bracket-match{min-width:0;width:100%}.knockout-bracket--endgame .bracket-round--sf{opacity:.78}.knockout-bracket--endgame .bracket-round--sf .bracket-round__title{font-size:.65rem;padding:0 0 4px;opacity:.75;letter-spacing:.06em;border-bottom-color:#0f172a14}.knockout-bracket--endgame .bracket-round--sf .bracket-match{padding:5px 6px;border-radius:6px;box-shadow:none}.knockout-bracket--endgame .bracket-round--sf .bracket-team{padding:4px 6px;gap:5px;margin-top:3px}.knockout-bracket--endgame .bracket-round--sf .bracket-team__flag{width:.9rem;height:auto}.knockout-bracket--endgame .bracket-round--sf .bracket-team__name{font-size:.72rem;font-weight:600;overflow:visible;text-overflow:clip}.knockout-bracket--endgame .bracket-round--third{width:100%}.knockout-bracket--endgame .bracket-center__third{width:min(100%,58%);max-width:480px;margin-inline:auto}.knockout-bracket--endgame .bracket-round--third .bracket-match{min-width:0}.knockout-bracket--endgame .bracket-round--third .bracket-round__title{font-size:var(--fs-xs);font-weight:800}.bracket-team__medal{flex:0 0 auto;margin-left:auto;font-size:1.05em;line-height:1;filter:drop-shadow(0 1px 1px rgba(15,23,42,.18))}.bracket-team.has-medal--gold{border-color:#d4af37a6;background:linear-gradient(90deg,rgba(212,175,55,.14),transparent 70%)}.bracket-team.has-medal--silver{border-color:#94a3b8b3;background:linear-gradient(90deg,rgba(148,163,184,.16),transparent 70%)}.bracket-team.has-medal--bronze{border-color:#b4783ca6;background:linear-gradient(90deg,rgba(180,120,60,.14),transparent 70%)}.knockout-bracket--from-r16,.knockout-bracket--from-qf{justify-content:center}.bracket-half{display:flex;align-items:center;gap:var(--bracket-round-gap);flex:1 1 auto}.bracket-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;flex:0 0 auto;min-width:min(100%,640px);padding:0 8px}.bracket-center__final-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:clamp(16px,2.5vw,32px);width:100%}.bracket-center__third{width:100%;max-width:240px}.bracket-center__third--locked .bracket-match{opacity:.72}.bracket-center__hint{margin:8px 0 0;font-size:var(--fs-2xs);color:#6b7280;text-align:center;line-height:1.4}.bracket-round{display:flex;flex-direction:column;gap:12px;flex:0 0 auto;min-width:200px}.bracket-round--solo{min-width:220px}.bracket-round__title{font-size:var(--fs-2xs);font-weight:700;color:#6b7280;text-align:center;margin:0;padding:0 2px 6px;background:none;border-radius:0;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(15,23,42,.12);display:flex;align-items:center;justify-content:center;gap:6px}.bracket-round__info{flex:0 0 auto;width:1.35rem;height:1.35rem;padding:0;border:1px solid var(--navy);border-radius:50%;background:#fff;color:var(--navy);font-size:var(--fs-2xs);font-weight:800;line-height:1;cursor:pointer}.bracket-round__info:hover{background:var(--light-gray)}.bracket-round--final .bracket-round__title{font-size:var(--fs-xl);font-weight:800;color:var(--ua-green);padding:0 2px 4px;background:none;border-bottom:none;letter-spacing:.04em;line-height:1.15}.bracket-round--final .bracket-match{min-width:248px;padding:12px 14px;border-width:2px;border-color:var(--ua-green);box-shadow:0 4px 14px #007a331f}.bracket-round--final .bracket-team__name{font-size:var(--fs-base)}.bracket-round__pairs{display:flex;flex-direction:column;gap:28px}.bracket-pair-matches{display:flex;flex-direction:column;gap:14px}.podium-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.podium-list__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--light-gray);border-radius:10px}.podium-list__place{font-size:var(--fs-xs);font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}.podium-list__team{font-size:var(--fs-sm);font-weight:700;color:var(--navy);text-align:right}.bracket-match{background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px;box-shadow:0 1px 3px #0f172a0f;min-width:200px}.bracket-match__head{margin-bottom:8px}.bracket-match__id{display:inline-block;font-size:var(--fs-2xs);font-weight:800;color:var(--navy);background:var(--light-gray);border-radius:4px;padding:2px 8px;letter-spacing:.04em}.bracket-team{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;margin-top:6px;border-radius:8px;background:var(--light-gray);border:1px solid transparent;cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:background .15s ease,border-color .15s ease}.bracket-team:first-of-type{margin-top:0}.bracket-team:disabled,.bracket-team.is-empty{opacity:.55;cursor:not-allowed}.bracket-team:hover:not(:disabled){border-color:var(--navy)}.bracket-team.winner{border-color:var(--gold);background:#fff7e6}.bracket-team.is-locked.winner{border-color:var(--ua-green);background:#e6f4ea;cursor:default}.bracket-team.is-locked.loser{opacity:.45;cursor:default}.bracket-match.is-locked{position:relative}.bracket-team__flag{width:1.4rem;height:1.05rem;flex:0 0 auto;object-fit:contain;border-radius:2px;box-shadow:0 0 0 1px #0f172a1a}.bracket-team__flag--empty{display:inline-block;background:#e5e7eb}.bracket-team__name{flex:1 1 auto;min-width:0;font-family:var(--font-body);font-size:var(--fs-xs);font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bracket-team__seed{flex:0 0 auto;font-size:var(--fs-2xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.champion-display{width:100%;border:2px solid var(--navy);border-radius:14px;padding:18px 16px;background:linear-gradient(145deg,var(--ua-green),var(--ua-dark-green));text-align:center;color:#fff}.champion-display__label{font-size:var(--fs-2xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ua-gold)}.champion-display__value{margin-top:8px;font-size:var(--fs-lg);font-weight:900;color:#fff}@media (max-width: 768px){.knockout-canvas{padding:12px 8px 8px}.knockout-scroll-hint{margin:0 4px 8px;padding:7px 10px}.knockout-bracket{gap:20px;padding-bottom:24px}.bracket-center__final-row{flex-direction:column;gap:16px}.knockout-bracket--endgame .bracket-center{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"final final" "third third" "sf1 sf2";gap:12px;width:100%}.knockout-bracket--endgame .bracket-center__final-row,.knockout-bracket--endgame .bracket-center__third{display:contents}.knockout-bracket--endgame .bracket-round--final{grid-area:final}.knockout-bracket--endgame .bracket-round--final .bracket-round__title{font-size:var(--fs-lg)}.knockout-bracket--endgame .bracket-center__final-row>:nth-child(1){grid-area:sf1}.knockout-bracket--endgame .bracket-center__final-row>:nth-child(3){grid-area:sf2}.knockout-bracket--endgame .bracket-round--third{grid-area:third}.knockout-bracket--endgame .bracket-center__hint{grid-column:1 / -1}.knockout-bracket--endgame .bracket-round--sf{transform:none;opacity:.7}.knockout-bracket--endgame .bracket-center__third{max-width:none;width:100%}.bracket-half{gap:16px}.bracket-round{min-width:180px}.bracket-match{min-width:180px;padding:8px}.bracket-round__pairs{gap:20px}.bracket-center{min-width:180px}.knockout-bracket--endgame .bracket-center,.knockout-bracket--endgame .bracket-round,.knockout-bracket--endgame .bracket-match{min-width:0}.bracket-lines{display:none}}@media (min-width: 769px) and (max-width: 1400px){.knockout-bracket{gap:clamp(16px,2.2vw,36px);--bracket-round-gap: clamp(14px, 2vw, 28px)}.bracket-round,.bracket-match{min-width:176px}.bracket-center{min-width:min(100%,520px)}.knockout-bracket--endgame .bracket-center,.knockout-bracket--endgame .bracket-round,.knockout-bracket--endgame .bracket-match{min-width:0}.bracket-round--final .bracket-match{min-width:200px}.knockout-bracket--endgame .bracket-round--final .bracket-match{min-width:0}}.side-messages:empty{display:none}@media (min-width: 1024px){.bracket-layout:not(.bracket-layout--full){grid-template-columns:minmax(0,4fr) minmax(220px,1fr);align-items:start}.bracket-side{order:0;position:sticky;top:0}.bracket-main .groups-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}}.group-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 1px 3px #0f172a0f}.group-card h3{margin-bottom:10px;color:var(--navy);font-size:var(--fs-base);font-weight:800}.group-card ul{list-style:none;display:flex;flex-direction:column;gap:8px}.team-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #e5e7eb}.team-row:first-child{border-top:0}.team-flag{width:1.4rem;height:1.05rem;flex:0 0 auto;object-fit:contain;border-radius:2px;box-shadow:0 0 0 1px #0f172a1a;vertical-align:middle}.team-name{font-weight:600;color:#1f2937;white-space:nowrap}.alert{padding:15px;border-radius:4px;margin-bottom:20px}.alert.error{background:#ffebee;color:#c62828;border:1px solid #ef5350}.alert.success{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.alert.info{background:#e3f2fd;color:#1565c0;border:1px solid #42a5f5}.page-tagline{margin-bottom:18px;font-size:clamp(1.25rem,1.05rem + 1vw,1.625rem);line-height:1.35;font-weight:600;color:var(--navy)}.auth-lead{margin-bottom:16px;max-width:70ch;color:#4b5563;line-height:1.5;font-size:var(--fs-lg)}.auth-lead strong{color:var(--navy)}.auth-confirm{font-size:var(--fs-xs);color:#4b5563}.modal__body.auth-confirm{max-width:none}.modal__body.auth-confirm .auth-confirm__copy{margin:0;line-height:1.5}.auth-confirm__copy strong{color:var(--navy)}.auth-confirm__meme{margin:12px 0 0}.auth-confirm__meme img{display:block;width:100%;max-width:360px;height:auto;border-radius:10px;border:1px solid var(--border)}.auth-confirm__meme figcaption{margin-top:6px;font-style:italic;color:#6b7280}.auth-confirm__help{margin:12px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.auth-confirm__help-btn{font-size:var(--fs-xs)}.auth-confirm__help-status{font-size:var(--fs-2xs);color:#6b7280}.auth-confirm__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.bracket-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:16px}.topbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.name-field{position:relative;display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:#6b7280}.name-field__label{display:inline-flex;align-items:center;gap:6px}.name-field__help{flex:0 0 auto;width:1.25rem;height:1.25rem;padding:0;border:1px solid currentColor;border-radius:50%;background:#fff;color:var(--navy);font-size:var(--fs-2xs);font-weight:800;line-height:1;cursor:pointer}.name-field__help:hover,.name-field__help[aria-expanded=true]{background:var(--navy);color:var(--gold);border-color:var(--navy)}.name-field__tip{position:absolute;top:calc(100% + 8px);left:0;z-index:40;max-width:min(280px,80vw);margin:0;padding:10px 12px;border-radius:8px;background:var(--navy);color:#fff;font-size:var(--fs-2xs);font-weight:600;line-height:1.45;box-shadow:0 8px 20px #0f172a33}.name-field__tip[hidden]{display:none}.name-field input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:var(--fs-base);max-width:160px}.feedback-fab{position:fixed;right:20px;bottom:20px;z-index:200;background:#fff;color:var(--navy);border:1px solid var(--border);border-radius:999px;padding:10px 16px;font-size:var(--fs-xs);font-weight:700;text-decoration:none;box-shadow:0 4px 14px #0f172a26}.feedback-fab:hover{background:var(--navy);color:var(--gold);box-shadow:0 6px 18px #0f172a38}.submit-bar-mobile{display:none}.submit-bar-mobile__status:empty{display:none}.submit-bar-mobile__status .alert{margin:0;padding:8px 12px;font-size:var(--fs-xs)}.toolbar-status{display:none}.toolbar-status .alert{margin:0;padding:8px 12px;font-size:var(--fs-xs)}.submit-bar-mobile__progress{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--fs-xs);font-weight:700;color:var(--navy)}.bracket-export{position:fixed;left:-10000px;top:0;width:1024px;background:#fff;padding:24px;box-sizing:border-box}.bracket-export__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:var(--ua-green);color:#fff;padding:14px 18px;border-radius:12px;margin-bottom:16px}.bracket-export__head h2{margin:0;font-family:var(--font-heading);font-size:var(--fs-2xl)}.bracket-export__head span{font-family:var(--font-heading);color:var(--ua-gold);font-weight:700;font-size:var(--fs-xs)}.bracket-toolbar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:18px;box-shadow:0 6px 18px #0f172a14}.bracket-progress{display:flex;flex-direction:column;gap:6px;min-width:200px;flex:1}.progress-text{font-size:var(--fs-xs);font-weight:700;color:var(--navy)}.progress-track{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill{height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:var(--gold);transition:transform .25s ease}.bracket-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.save-status{font-size:var(--fs-xs);color:#6b7280;min-width:110px;text-align:right}.btn-primary{background:var(--navy);color:var(--gold)}.btn-primary:hover{background:#1a1c40;color:var(--gold)}.group-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.group-card__head h3{margin:0}.group-card__count{font-size:var(--fs-xs);font-weight:700;color:#6b7280;background:var(--light-gray);border-radius:999px;padding:2px 8px}.group-card__head-actions{display:flex;align-items:center;gap:8px}.group-card__clear{border:1px solid var(--border);background:#fff;color:var(--navy);border-radius:999px;padding:2px 10px;font-size:var(--fs-2xs);font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.group-card__clear:hover{background:var(--navy);color:var(--gold)}.group-card.is-complete{border-color:var(--gold);box-shadow:0 1px 3px #22255214}.group-card ul{gap:6px}.group-card .team-row{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:var(--light-gray);cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:background .15s ease,border-color .15s ease}.group-card .team-row:hover{border-color:var(--navy)}.group-card .team-row.is-ranked{background:#eef2ff;border-color:#c7d2fe}.group-card .team-row.is-advancing{background:#fff7e6;border-color:var(--gold)}.rank-badge{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--fs-xs);font-weight:800;color:#9ca3af;background:#e5e7eb}.team-row.is-ranked .rank-badge{color:#fff;background:var(--navy)}.team-row.is-advancing .rank-badge{color:var(--navy);background:var(--gold)}.team-row .team-name{flex:1 1 auto;min-width:0}.advance-tag{flex:0 0 auto;margin-left:auto;white-space:nowrap;font-size:var(--fs-2xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);background:var(--gold);border-radius:999px;padding:2px 8px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.modal[hidden]{display:none}.modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a8c}.modal__dialog{position:relative;z-index:1;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 18px 50px #0f172a59}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.modal__head h2{font-size:var(--fs-xl);color:var(--navy)}.modal__close{flex:0 0 auto;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--navy);font-size:var(--fs-lg);line-height:1;cursor:pointer}.modal__close:hover{background:var(--light-gray)}.modal__body{padding:18px 20px}.modal__body h3{font-size:var(--fs-base);color:var(--navy);margin-top:16px;margin-bottom:4px}.modal__body p{color:#4b5563;font-size:var(--fs-base)}.modal__lead{margin-bottom:4px}.success-list{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:#4b5563;font-size:var(--fs-base)}.success-list strong{color:var(--navy)}.modal__foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.select-modes{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.select-mode{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.select-mode:hover{background:var(--light-gray)}.select-mode:has(input:checked){border-color:var(--ua-green);background:#f0fdf4}.select-mode input{margin-top:3px;flex:0 0 auto}.select-mode span{font-size:var(--fs-xs);color:#374151}.select-groups{border:1px solid var(--border);border-radius:10px;margin:12px 0 0;padding:10px 12px}.select-groups legend{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);padding:0 4px}.select-groups__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px 12px}.select-groups__item{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:#374151;cursor:pointer}.select-remember{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:var(--fs-xs);color:#374151}.select-remember input:disabled{cursor:not-allowed}.select-feedback{margin-top:12px;font-size:var(--fs-2xs);color:#6b7280}@media (max-width: 768px){.stage-nav{position:sticky;top:0;z-index:45;background:var(--light-gray);margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}#authSection.login-hero{padding-top:16px}header{padding:8px 12px}header h1{font-size:clamp(.95rem,4.2vw,1.2rem);font-weight:600;line-height:1.18}header p{font-size:.7rem;line-height:1.3}.header-actions{flex:0 0 auto;max-width:min(132px,34%);gap:6px}.header-actions .btn-ghost{padding:5px 10px;font-size:var(--fs-2xs)}.header-user{max-width:100%;font-size:.6rem}.bracket-toolbar{position:sticky;top:0;gap:8px;padding:8px 10px;margin-bottom:14px}.bracket-toolbar .bracket-progress,.bracket-toolbar .save-status{display:none}.bracket-actions{flex:1 1 100%;justify-content:center;gap:8px}.bracket-actions .btn-ghost{padding:7px 10px;font-size:var(--fs-2xs)}#saveBtn{display:none}.submit-bar-mobile{display:flex;flex-direction:column;align-items:stretch;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:150;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);box-shadow:0 -4px 14px #0f172a1a}.submit-bar-mobile__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.submit-bar-mobile__btn{flex:0 0 auto}.side-messages{display:none}body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.feedback-fab{bottom:calc(16px + env(safe-area-inset-bottom))}body.has-submit-bar-mobile .feedback-fab{bottom:calc(108px + env(safe-area-inset-bottom))}body.has-submit-bar-mobile{padding-bottom:calc(84px + env(safe-area-inset-bottom))}body:not(.has-submit-bar-mobile){padding-bottom:calc(24px + env(safe-area-inset-bottom))}}@media (min-width: 769px) and (max-width: 1023px){#authSection.login-hero{padding-top:36px}.toolbar-status{display:block;flex-basis:100%}.toolbar-status:empty{display:none}.side-messages{display:none}}
