@charset "UTF-8";.hero-card{position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-tint) 80%,var(--surface)) 0%,var(--surface) 55%,var(--surface-2) 100%);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6) var(--s-6) var(--s-5);box-shadow:var(--shadow-md);overflow:hidden}.hero-card:after{content:"";position:absolute;right:-32px;bottom:-32px;width:220px;height:220px;pointer-events:none;background-image:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 18%,transparent) 0%,transparent 70%);opacity:.6}.hero-card__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "stats" "meta";gap:var(--s-5) var(--s-6);align-items:start}.hero-card__corner{position:absolute;width:28px;height:28px;border:2px solid color-mix(in srgb,var(--accent) 55%,transparent);opacity:.7;pointer-events:none;z-index:0}.hero-card__corner--tl{top:10px;left:10px;border-right:none;border-bottom:none;border-top-left-radius:6px}.hero-card__corner--tr{top:10px;right:10px;border-left:none;border-bottom:none;border-top-right-radius:6px}:root[data-aesthetic=minimal] .hero-card__corner,:root[data-aesthetic=legacy] .hero-card__corner{display:none}.hero-card__identity{grid-area:identity;display:flex;align-items:center;gap:var(--s-5);min-width:0}.hero-card__avatar-frame{position:relative;flex-shrink:0;width:112px;height:112px}.hero-card__avatar-img,.hero-card__avatar-fallback{width:100%;height:100%;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--surface);border:3px solid var(--surface);box-shadow:var(--shadow-md)}.hero-card__avatar-fallback{background:var(--surface-2);color:var(--text-faint);font-size:3rem}.hero-card__avatar-edit{display:block;position:absolute;inset:0;border-radius:50%;text-decoration:none;color:inherit;z-index:0}.hero-card__avatar-edit:hover .hero-card__avatar-img,.hero-card__avatar-edit:hover .hero-card__avatar-fallback,.hero-card__avatar-edit:focus-visible .hero-card__avatar-img,.hero-card__avatar-edit:focus-visible .hero-card__avatar-fallback{filter:brightness(.82)}.hero-card__avatar-edit:hover .hero-card__avatar-edit-badge,.hero-card__avatar-edit:focus-visible .hero-card__avatar-edit-badge{transform:scale(1.08)}.hero-card__avatar-edit:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px}.hero-card__avatar-edit-badge{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent-strong);color:var(--text-on-accent);border:2px solid var(--surface);box-shadow:var(--shadow-sm);font-size:.85rem;transition:transform .12s ease-out}.hero-card__avatar-ring{position:absolute;inset:-4px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-strong) 25%,transparent);pointer-events:none}.hero-card__name-block{min-width:0;flex:1}.hero-card__name{margin:0 0 var(--s-2);font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text)}.hero-card__morale-row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.hero-card__morale-value{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-ui)}.hero-card__morale-value strong{margin-left:.25em;color:var(--text)}.hero-card__morale-value.is-positive strong{color:var(--good)}.hero-card__morale-value.is-negative strong{color:var(--hot)}.hero-card__morale-rank{display:inline-flex;align-items:center;padding:.1em .6em;border-radius:var(--radius-pill, 999px);border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.hero-card__morale-rank.is-positive{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,var(--border))}.hero-card__morale-rank.is-negative{color:var(--hot);border-color:color-mix(in srgb,var(--hot) 40%,var(--border))}.hero-card__bio{margin:var(--s-3) 0 0;max-width:48ch;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.hero-card__stats{grid-area:stats;display:flex;flex-wrap:wrap;gap:var(--s-3)}.hero-card__meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5);padding-top:var(--s-3);border-top:1px dashed var(--border);color:var(--text-muted);font-size:var(--text-sm)}.hero-card__meta-item{display:inline-flex;align-items:center;gap:var(--s-2)}.hero-card__meta-item strong{color:var(--text);font-weight:var(--weight-semibold)}.hero-card__meta-item i{color:var(--accent-strong)}.hero-card__public-link{margin-left:auto;color:var(--link);text-decoration:none;font-weight:var(--weight-semibold);display:inline-flex;align-items:center;gap:var(--s-2)}.hero-card__public-link:hover{color:var(--link-hover)}.hero-stat{position:relative;display:inline-grid;grid-template-columns:auto auto;grid-template-rows:auto auto;grid-template-areas:"icon value" "icon label";gap:0 var(--s-3);padding:var(--s-2) calc(var(--s-4) + 2px) var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);text-decoration:none;color:var(--text);min-width:max-content;flex-shrink:0;transition:transform .18s ease,border-color .18s ease,background .18s ease}.hero-stat:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent-tint) 60%,var(--surface));color:var(--text)}.hero-stat__icon{grid-area:icon;align-self:center;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,var(--surface-2));color:var(--accent-strong);font-size:var(--text-base);flex-shrink:0}.hero-stat__value{grid-area:value;align-self:end;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1;color:var(--text);white-space:nowrap}.hero-stat__label{grid-area:label;align-self:start;font-family:var(--font-eyebrow);font-variant-caps:var(--font-eyebrow-caps, normal);font-weight:var(--weight-semibold);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.hero-stat--quiet{background:var(--surface-2);cursor:default}.hero-stat--quiet:hover{transform:none;border-color:var(--border);background:var(--surface-2)}@media(max-width:767.98px){.hero-card{padding:var(--s-4)}.hero-card__inner{grid-template-columns:1fr;grid-template-areas:"identity" "stats" "meta"}.hero-card__avatar-frame{width:84px;height:84px}.hero-card__avatar-edit-badge{width:26px;height:26px;font-size:.72rem}.hero-card__name{font-size:var(--text-xl)}}.rating-val{font-variant-numeric:tabular-nums;font-weight:var(--weight-bold)}.rating-delta{font-size:.72rem;font-weight:var(--weight-semibold);white-space:nowrap;font-variant-numeric:tabular-nums}.rating-delta--up{color:var(--good)}.rating-delta--down{color:var(--hot)}.rating-delta--neutral{color:var(--text-faint)}.tournament-format__note{margin-block:var(--s-1) 0;line-height:1.5}.glass-ui__content .breadcrumb-page-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);margin-bottom:.5rem}.glass-ui__content .breadcrumb-ancestors{margin-bottom:1rem}.glass-ui__content .breadcrumb-ancestors .breadcrumb-item{font-size:.8125rem;color:var(--text-muted)}.glass-ui__content .breadcrumb-ancestors .breadcrumb-item a{color:var(--link);text-decoration:none}.glass-ui__content .breadcrumb-ancestors .breadcrumb-item a:hover{text-decoration:underline;color:var(--link-hover)}.glass-ui__content .breadcrumb-ancestors .breadcrumb-item+.breadcrumb-item:before{color:var(--text-faint)}.glass-ui__content .breadcrumb-collapsed{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;padding:.375rem .75rem;background:var(--surface-2);border-radius:6px;cursor:pointer;margin-bottom:1rem;color:var(--text-muted)}.glass-ui__content .breadcrumb-collapsed-link{color:var(--link);text-decoration:none}.glass-ui__content .breadcrumb-collapsed-link:hover{text-decoration:underline;color:var(--link-hover)}.glass-ui__content .breadcrumb-collapsed-sep,.glass-ui__content .breadcrumb-collapsed-ellipsis{color:var(--text-faint)}.glass-ui__content .breadcrumb-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:1rem;padding:.5rem 0}.glass-ui__content .breadcrumb-dropdown-item{padding:.5rem 1rem;display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.glass-ui__content .breadcrumb-dropdown-item a{color:var(--text);text-decoration:none}.glass-ui__content .breadcrumb-dropdown-item a:hover{color:var(--link)}.glass-ui__content .breadcrumb-dropdown-icon{color:var(--text-faint);font-size:var(--text-sm)}:root{--tournament-hall-bg-1: #17244a;--tournament-hall-bg-2: #0e1730;--tournament-hall-gold: #c9a227;--tournament-hall-gold-lift: #f5c842;--tournament-hall-ink: rgba(255, 255, 255, .92);--tournament-hall-ink-soft: rgba(255, 255, 255, .55);--tournament-hall-ink-faint: rgba(255, 255, 255, .32);--tournament-hall-rule: rgba(201, 162, 39, .22);--tournament-hall-rule-soft: rgba(201, 162, 39, .12)}.tournament-compact-summary{background:linear-gradient(135deg,var(--tournament-hall-bg-1) 0%,var(--tournament-hall-bg-2) 100%);border:1px solid var(--tournament-hall-rule);border-radius:10px;padding:.875rem 1.25rem;box-shadow:var(--shadow-md),inset 0 1px #c9a22726;position:relative;margin-top:1rem}.tournament-compact-summary:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--tournament-hall-gold) 40%,var(--tournament-hall-gold-lift) 50%,var(--tournament-hall-gold) 60%,transparent);border-radius:10px 10px 0 0}.tournament-compact-summary .bi-trophy{color:var(--tournament-hall-gold);filter:drop-shadow(0 0 4px rgba(201,162,39,.5));flex-shrink:0}.tournament-compact-summary .fw-semibold{color:var(--tournament-hall-ink);letter-spacing:.03em}.tournament-compact-summary .badge{font-size:var(--text-2xs);padding:.2rem .55rem;font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;border-radius:4px}.tournament-compact-summary .badge-success,.tournament-compact-summary .bg-success{background:#1a6b3ccc!important;color:#86efac!important;border:1px solid rgba(134,239,172,.3)}.tournament-compact-summary .badge-info,.tournament-compact-summary .bg-info{background:#1e40afcc!important;color:#93c5fd!important;border:1px solid rgba(147,197,253,.3)}.tournament-compact-summary .badge-secondary,.tournament-compact-summary .bg-secondary{background:#503219b3!important;color:#d4a574!important;border:1px solid var(--tournament-hall-rule)}.tournament-compact-summary .btn{font-size:.8rem;padding:.2rem .5rem;background:#ffffff0f;border:1px solid rgba(201,162,39,.2);color:var(--tournament-hall-ink-soft);border-radius:6px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.tournament-compact-summary .btn:hover{background:#c9a22726;border-color:#c9a22780;color:var(--tournament-hall-gold-lift);box-shadow:0 0 6px #c9a22733}.tournament-compact-summary .btn.active,.tournament-compact-summary .btn[aria-current=page]{background:#c9a2272e;border-color:#c9a22799;color:var(--tournament-hall-gold-lift);box-shadow:0 0 8px #c9a22740}.tournament-compact-summary .btn i.bi{color:inherit}.tournament-announcement-header{display:flex;align-items:center;gap:.4rem;font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:.3rem;padding-left:.25rem}.topic-pinned-post>*{border-left:3px solid var(--accent-strong)!important;border-radius:0 8px 8px 0;background:var(--accent-tint)}.badge-win{background:var(--accent-tint);color:var(--accent-strong);border:1px solid color-mix(in srgb,var(--accent-strong) 40%,transparent)}.badge-draw{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border-strong)}.tournament-report{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-4);margin-bottom:var(--s-3);box-shadow:var(--shadow-sm)}.tournament-report--approved{border-left-color:var(--good)}.tournament-report--rejected{border-left-color:var(--hot)}.tournament-report--discarded{border-left-color:var(--text-faint)}.tournament-report--pending{border-left-color:var(--bs-warning)}.tournament-report__header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--border)}.tournament-report__title{font-weight:var(--weight-semibold);color:var(--text)}.tournament-report__title .bi{color:var(--accent-strong);margin-right:.2em}.tournament-report__status-badge{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:var(--r-sm);border:1px solid currentColor}.tournament-report__status-badge--approved{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.tournament-report__status-badge--rejected{color:var(--hot);background:color-mix(in srgb,var(--hot) 12%,transparent)}.tournament-report__status-badge--discarded{color:var(--text-faint);background:var(--surface-2)}.tournament-report__status-badge--pending{color:color-mix(in srgb,var(--bs-warning) 70%,var(--text));background:color-mix(in srgb,var(--bs-warning) 14%,transparent)}.tournament-report__matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--s-3);align-items:start}.tournament-report__player{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.tournament-report__player--right{text-align:right}.tournament-report__player--right .tournament-report__player-head{flex-direction:row-reverse}.tournament-report__player-head{display:flex;align-items:center;gap:var(--s-2);min-width:0}.tournament-report__player-name{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-report__flag{width:22px;height:22px;border-radius:3px;border:1px solid var(--border);object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm)}.tournament-report__emblems{display:flex;gap:var(--s-3);flex-wrap:wrap}.tournament-report__emblems--right{justify-content:flex-end}.tournament-report__fallback{list-style:none;padding:0;margin:0;font-size:var(--text-sm);color:var(--text-muted)}.tournament-report__fallback li{margin-bottom:.15rem}.tournament-report__fallback strong{color:var(--text);font-weight:var(--weight-semibold)}.tournament-report__result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-1);min-width:64px;padding:0 var(--s-2)}.tournament-report__result-icon{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.tournament-report__result-label{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-align:center}.tournament-report__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s-3);margin:var(--s-3) 0 0;padding-top:var(--s-3);border-top:1px solid var(--border)}.tournament-report__meta>div{margin:0}.tournament-report__meta dt{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.15rem}.tournament-report__meta dd{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.tournament-report__actions{display:flex;gap:var(--s-2);margin-top:var(--s-3)}.tournament-report__footnote{margin:var(--s-3) 0 0;font-size:var(--text-sm)}.tournament-report__footnote--good{color:var(--good)}.tournament-report__footnote--hot{color:var(--hot)}.tournament-report__footnote--muted{color:var(--text-faint)}.tournament-emblem{display:inline-flex;flex-direction:column;align-items:center;gap:.2rem;min-width:60px;font-size:var(--text-2xs);color:var(--text-muted);line-height:1.2}.tournament-emblem__icon{width:44px;height:44px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);object-fit:cover;box-shadow:var(--shadow-sm)}.tournament-emblem__icon--faction{padding:2px}.tournament-emblem__icon--hero{object-fit:cover}.tournament-emblem__icon--placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--text-faint);font-weight:var(--weight-bold)}.tournament-emblem__caption{font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:.62rem}.tournament-emblem__label{font-weight:var(--weight-medium);color:var(--text);max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.tournament-report__matchup{grid-template-columns:1fr}.tournament-report__result{flex-direction:row;justify-content:center;padding:var(--s-2) 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border)}.tournament-report__player--right{text-align:left}.tournament-report__player--right .tournament-report__player-head{flex-direction:row}.tournament-report__player--right .tournament-report__emblems--right{justify-content:flex-start}}.report-rating-impact{background:var(--accent-tint);border:1px solid color-mix(in srgb,var(--accent-strong) 25%,transparent);border-radius:6px;padding:.6rem .875rem .5rem;margin-top:.875rem}.report-rating-impact__header{font-size:.68rem;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);display:flex;align-items:center;gap:.3rem;margin-bottom:.45rem}.report-rating-impact__header .bi{font-size:.72rem}.report-rating-impact__row{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .45rem;font-size:.8rem;line-height:1.4}.report-rating-impact__player-name{font-weight:var(--weight-semibold);color:var(--text);min-width:90px;flex-shrink:0}.report-rating-impact__before{color:var(--text-faint);font-variant-numeric:tabular-nums}.report-rating-impact__arrow{color:var(--border-strong);font-size:var(--text-2xs)}.report-rating-impact__after{font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.report-rating-impact__timestamp{font-size:.68rem;color:var(--text-faint);margin-top:.4rem}.report-rating-impact__archived-tag{margin-left:.4rem;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:.05rem .45rem}.report-rating-unrated{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.78rem;color:var(--text-muted);padding:.5rem .875rem}.report-rating-unrated .bi{font-size:.9rem}.report-rating-unrated__label{font-weight:600;text-transform:uppercase;letter-spacing:.03em}.report-rating-unrated__hint{color:var(--text-faint)}.player-games__rating-archived{font-size:.7rem;color:var(--text-faint);margin-top:.4rem}.player-games__rating-archived .bi{margin-right:.25rem}.tournament-unrated-note{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);background:var(--surface-muted, var(--surface));border:1px solid var(--border);border-radius:8px;padding:.6rem .9rem}.tournament-unrated-note .bi{font-size:1rem;flex-shrink:0}.tournaments-hall__filters .nav-link i{margin-right:.35em}.tournaments-hall__halls{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.tournaments-hall__halls--count-1>*{max-width:640px;margin-inline:auto;width:100%}.tournaments-hall__section{margin-bottom:var(--s-7)}.tournaments-hall__section-head{margin-bottom:var(--s-3)}.tournaments-hall__section-head h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text);margin:0 0 .25rem}.tournaments-hall__section-head h2 i{color:var(--accent-strong);margin-right:.35em}.tournaments-hall__section-sub{font-size:var(--text-sm);color:var(--text-muted);margin:0}.tournaments-about__grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tournaments-about__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3)}.tournaments-about__card p{margin:0 0 var(--s-2);color:var(--text);font-size:var(--text-sm);line-height:1.6}.tournaments-about__card p:last-child{margin-bottom:0}.tournaments-about__card-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text);margin:0 0 var(--s-2)}.tournaments-about__card-title i{color:var(--accent-strong);margin-right:.4em}.tournaments-about__note{font-size:var(--text-xs)!important;color:var(--text-muted)!important;border-left:2px solid var(--border);padding-left:var(--s-2)}.tournaments-about__note i{margin-right:.35em}.tournaments-promo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-7);padding:var(--s-4);border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent-tint)}.tournaments-promo__body{flex:1 1 320px;min-width:0}.tournaments-promo__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text);margin:0 0 var(--s-1)}.tournaments-promo__title i{color:var(--accent-strong);margin-right:.4em}.tournaments-promo__text{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--text-muted)}.tournaments-promo__action{flex:0 0 auto}.tournament-wizard__intro{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--s-4)}.tournament-wizard__step{margin-bottom:var(--s-6)}.tournament-wizard__step-title{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text);margin:0 0 var(--s-3)}.tournament-wizard__step-number{display:inline-flex;align-items:center;justify-content:center;inline-size:1.75rem;block-size:1.75rem;border-radius:50%;background:var(--accent-tint);color:var(--accent-strong);font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:0 0 auto}.tournament-wizard__game-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s-2)}.tournament-wizard__game-row .form-label{flex:0 0 auto;margin-bottom:0;align-self:center}.tournament-wizard__game-row .form-select{flex:1 1 220px;min-width:0}.tournament-wizard__game-icon{flex:0 0 auto;inline-size:2rem;block-size:2rem;object-fit:contain;border-radius:var(--r-sm, 4px)}.tournament-wizard__continue{flex:0 0 auto}.tournament-wizard__hint{margin:var(--s-2) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.tournament-wizard__editor{min-height:1px}.tournament-picker{display:flex;align-items:center;gap:var(--s-2);min-width:0}.tournament-picker__icon{flex:0 0 auto;inline-size:1.75rem;block-size:1.75rem;object-fit:contain;border-radius:var(--r-sm, 4px)}.tournament-picker .form-select{flex:1 1 auto;min-width:0}.tournament-report__fallback--compact{margin-block:var(--s-2) 0}.hall-of-fame{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3);box-shadow:var(--shadow-sm)}.hall-of-fame__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s-2);padding-bottom:var(--s-2);border-bottom:1px dashed var(--border)}.hall-of-fame__game{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text);margin:0}.hall-of-fame__count{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.hall-of-fame__empty{padding:var(--s-5);text-align:center;color:var(--text-faint)}.hall-of-fame__empty .bi{font-size:1.5rem;display:block;margin-bottom:.35rem}.hall-of-fame__list{list-style:none;padding:0;margin:0;counter-reset:hof-rank}.hall-of-fame__row{display:grid;grid-template-columns:1.5rem 2.25rem 1fr auto auto;align-items:center;gap:var(--s-2);padding:.5rem .25rem;border-bottom:1px solid var(--border)}.hall-of-fame__row:last-child{border-bottom:none}.hall-of-fame__row--top{background:var(--accent-tint);border-radius:var(--r-sm);padding-left:.5rem}.hall-of-fame__row--top-1 .hall-of-fame__rank{color:var(--accent-strong)}.hall-of-fame__row--top-2 .hall-of-fame__rank{color:var(--text-muted)}.hall-of-fame__row--top-3 .hall-of-fame__rank{color:var(--text-faint)}.hall-of-fame__avatar{width:2.25rem;height:2.25rem;border-radius:50%;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.hall-of-fame__avatar img{width:100%;height:100%;object-fit:cover}.hall-of-fame__avatar .bi{color:var(--text-faint);font-size:1.1rem}.hall-of-fame__name--unlinked{color:var(--text-muted);cursor:default}.hall-of-fame__rank{font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--text-faint);text-align:center}.hall-of-fame__player{min-width:0}.hall-of-fame__name{display:block;color:var(--text);font-weight:var(--weight-semibold);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hall-of-fame__name:hover{color:var(--link-hover);text-decoration:underline}.hall-of-fame__wdl{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.hall-of-fame__games{color:var(--text-faint)}.hall-of-fame__rating{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.hall-of-fame__rating-val{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.hall-of-fame__tier{font-size:.55rem}.hall-of-fame__games-link{color:var(--text-faint);padding:.25rem .4rem;border-radius:var(--r-sm);transition:color .15s,background .15s}.hall-of-fame__games-link:hover{color:var(--text);background:var(--surface-2)}.hall-of-fame__games-link--disabled{visibility:hidden;pointer-events:none}.tournament-chronicles{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.tournament-chronicles__row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--s-3);padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.tournament-chronicles__row--active{border-left-color:var(--good)}.tournament-chronicles__row--upcoming{border-left-color:var(--bs-info)}.tournament-chronicles__row--ended{border-left-color:var(--text-faint)}.tournament-chronicles__main{min-width:0}.tournament-chronicles__title{display:block;color:var(--text);font-size:var(--text-md);font-weight:var(--weight-semibold);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-chronicles__title:hover{color:var(--link);text-decoration:underline}.tournament-chronicles__meta{display:flex;gap:var(--s-3);align-items:center;margin-top:.15rem;font-size:var(--text-xs);color:var(--text-muted)}.tournament-chronicles__game{font-weight:var(--weight-bold);color:var(--accent-strong);text-transform:uppercase;letter-spacing:.05em}.tournament-chronicles__stats{display:flex;gap:var(--s-3);color:var(--text-muted);font-size:var(--text-sm)}.tournament-chronicles__stats i{margin-right:.2em;color:var(--text-faint)}.tournament-chronicles__state{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:var(--r-sm);border:1px solid currentColor}.tournament-chronicles__state--active{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.tournament-chronicles__state--upcoming{color:var(--bs-info);background:color-mix(in srgb,var(--bs-info) 12%,transparent)}.tournament-chronicles__state--ended{color:var(--text-faint);background:var(--surface-2)}.player-games{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-3)}.player-games__header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-3)}.player-games__player{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text);margin:0}.player-games__profile-link{font-size:var(--text-xs);color:var(--link);text-decoration:none}.player-games__profile-link:hover{color:var(--link-hover);text-decoration:underline}.player-games__filter{list-style:none;padding:0;margin:0;display:flex;gap:var(--s-1)}.player-games__filter li{display:inline-flex}.player-games__filter-link{padding:.35rem .85rem;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none}.player-games__filter-link:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.player-games__filter-link.is-active{color:var(--text-on-accent);background:var(--accent-strong);border-color:var(--accent-strong)}.player-games__rating-card{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3);background:var(--accent-tint);border:1px solid color-mix(in srgb,var(--accent-strong) 22%,transparent);border-radius:var(--r-md);margin-bottom:var(--s-4);flex-wrap:wrap}.player-games__rating-figure{display:flex;align-items:center;gap:var(--s-2)}.player-games__rating-val{font-size:var(--text-2xl)}.player-games__rating-stats{display:flex;gap:var(--s-4);color:var(--text-muted);font-size:var(--text-sm)}.player-games__rating-stats div{font-variant-numeric:tabular-nums}.player-game{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-3);box-shadow:var(--shadow-sm)}.player-game--win{border-left-color:var(--good)}.player-game--loss{border-left-color:var(--hot)}.player-game--draw{border-left-color:var(--text-faint)}.player-game__head{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);font-size:var(--text-sm)}.player-game__outcome{font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;padding:.15rem .5rem;border-radius:var(--r-sm)}.player-game__outcome--win{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent)}.player-game__outcome--loss{color:var(--hot);background:color-mix(in srgb,var(--hot) 14%,transparent)}.player-game__outcome--draw{color:var(--text-muted);background:var(--surface-2)}.player-game__tournament{color:var(--text);text-decoration:none;font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.player-game__tournament:hover{color:var(--link-hover);text-decoration:underline}.player-game__date{color:var(--text-faint);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.player-game__matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--s-3);align-items:center;padding:var(--s-2) 0}.player-game__side{min-width:0}.player-game__side--opponent{text-align:right}.player-game__side-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.player-game__side--opponent .player-game__side-head{flex-direction:row-reverse}.player-game__side-name{font-weight:var(--weight-semibold);color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-game__side-name:hover{color:var(--link-hover);text-decoration:underline}.player-game__flag{width:18px;height:18px;border-radius:3px;border:1px solid var(--border);object-fit:cover}.player-game__flag-placeholder{width:18px;text-align:center;color:var(--text-faint)}.player-game__emblems{display:flex;gap:var(--s-2);flex-wrap:wrap}.player-game__emblems--right{justify-content:flex-end}.player-game__emblem{min-width:44px}.player-game__emblem .tournament-emblem__icon{width:34px;height:34px}.player-game__emblem .tournament-emblem__caption,.player-game__emblem .tournament-emblem__label{display:none}.player-game__fallback{font-size:var(--text-sm);color:var(--text-muted)}.player-game__fallback--right{text-align:right}.player-game__vs{display:flex;flex-direction:column;align-items:center;gap:.15rem}.player-game__result-icon{width:36px;height:36px;object-fit:contain}.player-game__vs-label{font-size:var(--text-2xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em}.player-game__meta{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px dashed var(--border);font-size:var(--text-xs);color:var(--text-muted)}.player-game__meta .bi{color:var(--text-faint);margin-right:.2em}.player-game__report-link{color:var(--link);text-decoration:none}.player-game__report-link:hover{color:var(--link-hover);text-decoration:underline}.player-game__report-link .bi{color:inherit}.tournament-overview-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent-strong);border-radius:var(--r-md);padding:var(--s-4);box-shadow:var(--shadow-sm)}.tournament-overview-card__label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.2rem}.tournament-overview-card__value{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text);font-variant-numeric:tabular-nums}.tournament-overview-card__date{font-size:var(--text-sm);color:var(--text);font-weight:var(--weight-semibold)}.tournament-state-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);border:1px solid currentColor}.tournament-state-badge--upcoming{color:var(--bs-info);background:color-mix(in srgb,var(--bs-info) 12%,transparent)}.tournament-state-badge--active{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent)}.tournament-state-badge--ended{color:var(--text-faint);background:var(--surface-2)}.tournament-standings{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow:hidden}.tournament-standings__header{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--accent-tint);border-bottom:1px solid var(--border);color:var(--text)}.tournament-standings__header .bi{color:var(--accent-strong);font-size:1.1em}.tournament-standings__header strong{color:var(--text);font-weight:var(--weight-semibold)}.tournament-standings__count{margin-left:auto;font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong);background:var(--surface);border:1px solid color-mix(in srgb,var(--accent-strong) 30%,transparent);padding:.2rem .5rem;border-radius:var(--r-sm)}.tournament-standings__body{padding:0}.tournament-standings__body .table{margin-bottom:0;color:var(--text)}.tournament-standings__body .table thead{background:var(--surface-2);color:var(--text)}.tournament-standings__body .table thead th{font-weight:var(--weight-semibold);color:var(--text);border-bottom:1px solid var(--border)}.tournament-standings__body .table tbody td{border-color:var(--border)}.tournament-standings__footer{padding:var(--s-2) var(--s-4);text-align:center;font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-2);border-top:1px solid var(--border)}.tournament-standings__footer a{color:var(--link)}.tournament-standings__footer a:hover{color:var(--link-hover)}.tournament-archive{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3);box-shadow:var(--shadow-sm)}.tournament-archive__head{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s-2);padding-bottom:var(--s-2);border-bottom:1px dashed var(--border)}.tournament-archive__head .bi{color:var(--accent-strong)}.tournament-archive__title{color:var(--text-muted)}.tournament-archive__archived{font-weight:var(--weight-semibold);letter-spacing:.02em;text-transform:none;color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:.05rem .45rem}.tournament-archive__all{margin-left:auto;color:var(--link);text-decoration:none;font-weight:var(--weight-semibold);text-transform:none;letter-spacing:0}.tournament-archive__all:hover{color:var(--link-hover);text-decoration:underline}.tournament-archive__ratings{display:flex;flex-direction:column;gap:var(--s-1);margin-bottom:var(--s-2);padding-bottom:var(--s-2);border-bottom:1px dashed var(--border)}.tournament-archive__rating{display:flex;align-items:center;gap:.5rem}.tournament-archive__rating-version{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.05em;color:var(--accent-strong);min-width:1.6rem}.tournament-archive__rating-val{font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.tournament-archive__wdl{margin-left:auto;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.tournament-archive__sep{color:var(--text-faint);margin:0 .15rem}.tournament-archive__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.tournament-archive__row{padding:var(--s-1) 0;border-bottom:1px solid var(--border)}.tournament-archive__row:last-child{border-bottom:none}.tournament-archive__row-title{display:block;color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-archive__row-title:hover{color:var(--link-hover);text-decoration:underline}.tournament-archive__meta{display:flex;gap:var(--s-2);font-size:var(--text-xs);color:var(--text-muted);margin-top:.15rem}.tournament-archive__game{font-weight:var(--weight-bold);color:var(--accent-strong);text-transform:uppercase;letter-spacing:.05em}.tournament-archive__games{margin-left:auto;font-variant-numeric:tabular-nums}.empty-state{padding:var(--s-7) var(--s-3);text-align:center;color:var(--text-faint);background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--r-md)}.empty-state .bi{font-size:2rem;display:block;margin-bottom:var(--s-2)}.empty-state p{margin:0;font-size:var(--text-sm)}@media(max-width:768px){.player-game__matchup{grid-template-columns:1fr}.player-game__side--opponent{text-align:left}.player-game__side--opponent .player-game__side-head{flex-direction:row}.player-game__side--opponent .player-game__emblems--right{justify-content:flex-start}.player-game__side--opponent .player-game__fallback--right{text-align:left}.tournament-chronicles__row{grid-template-columns:1fr auto}.tournament-chronicles__row .tournament-chronicles__stats{grid-column:1/-1}}@media(max-width:575.98px){.glass-ui__content .breadcrumb-page-title{font-size:var(--text-base)}.tournament-compact-summary{padding:.5rem .75rem}.hall-of-fame__row{grid-template-columns:1.5rem 1.75rem 1fr auto}.hall-of-fame__row .hall-of-fame__games-link{display:none}}.tournament-bracket{margin-top:var(--s-4)}.tournament-bracket__scroll{display:flex;gap:var(--s-5);overflow-x:auto;padding-bottom:var(--s-2)}.tournament-bracket__round{display:flex;flex-direction:column;gap:var(--s-3);min-width:12rem;flex:0 0 auto}.tournament-bracket__round-body{display:flex;flex-direction:column;justify-content:space-around;gap:var(--s-3);flex:1}.tournament-bracket__round-title{font-size:var(--text-xs, .75rem);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;margin-bottom:var(--s-1)}.tournament-bracket__match{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);overflow:hidden}.tournament-bracket__match--bye{opacity:.7}.tournament-bracket__match--awaitingresult{border-color:var(--border-strong)}.tournament-bracket__seat{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-2) var(--s-3);font-size:var(--text-sm, .875rem)}.tournament-bracket__seat+.tournament-bracket__seat{border-top:1px solid var(--border)}.tournament-bracket__seat.is-winner{background:var(--accent-tint);color:var(--good);font-weight:600}.tournament-bracket__seat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-bracket__pick{--bs-btn-padding-y: .1rem;--bs-btn-padding-x: .35rem;--bs-btn-font-size: var(--text-xs, .75rem);line-height:1;flex:0 0 auto}.tournament-standings__col-rank{width:50px}.tournament-standings__col-rating{min-width:100px}.tournament-participants__col-rank{width:30px}.tournament-standings__ratio-bar{height:20px}.tournament-filter-select{width:auto}.tournament-reason-input{max-width:300px}#global-modal .modal-dialog:has(.tournament-report-editor){max-width:min(920px,100vw - 2rem)}.post-signature{position:relative;margin-top:var(--s-3);padding-top:var(--s-3);font-family:var(--font-prose);font-size:var(--text-sm);line-height:1.4;color:var(--text-muted)}.post-signature:before{content:"";position:absolute;top:0;left:0;width:10rem;max-width:40%;border-top:1px solid var(--border-subtle, rgba(128, 128, 128, .3))}.post-signature__toggle{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) 0;background:none;border:0;color:inherit;font:inherit;cursor:pointer}.post-signature__toggle:hover{color:var(--text-body, inherit)}.post-signature__toggle:focus-visible{outline:2px solid var(--focus-ring, currentColor);outline-offset:2px;border-radius:var(--radius-sm, 3px)}.post-signature__chevron{font-size:.75em;transition:transform .15s ease}.post-signature__chevron.is-open{transform:rotate(180deg)}.post-signature__body{display:none;overflow-wrap:break-word}.post-signature__body.is-open{display:block}.post-signature__body img{max-width:100%;height:auto}.post-signature__body pre{overflow-x:auto;overflow-wrap:normal;word-break:normal}.post-signature__body table{max-width:100%}.post-signature__body h1,.post-signature__body h2,.post-signature__body h3,.post-signature__body h4,.post-signature__body h5,.post-signature__body h6{font-size:1em;margin:0}.post-signature__body font[size="5"],.post-signature__body font[size="6"],.post-signature__body font[size="7"]{font-size:1.25em}@media(min-width:768px){.post-signature__toggle{display:none}.post-signature__body{display:block}}.manage-signature-editor{margin-bottom:var(--s-2)}.manage-signature-help{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.manage-signature-count{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--text-muted)}.manage-signature-count.is-over{color:var(--bs-danger, #dc3545);font-weight:600}.manage-signature-preview{padding:var(--s-3);border:1px dashed var(--border-subtle, rgba(128, 128, 128, .35));border-radius:var(--radius-md, 6px);background:var(--surface-sunken, rgba(128, 128, 128, .06))}.manage-signature-preview__label{margin-bottom:var(--s-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.manage-signature-anchor{scroll-margin-top:calc(var(--header-height, 108px) + 12px)}.profile-signature-empty__text{color:var(--text-muted);font-size:.9rem}.profile-signature__edit{flex:0 0 auto;white-space:nowrap}
