/* Functional states and workflows absent from the supplied prototype.
   The exact tfcl-redesign.css is unchanged. No palette/font overrides here. */
[hidden]{display:none!important}button:disabled{cursor:not-allowed;opacity:.5}a[aria-disabled=true]{cursor:not-allowed;opacity:.5}
/* Discovery retains real server-authored records and filters in the owner shell.
   ID scope prevents generic legacy card/button helpers from adding a second box. */
.replacement-workflow #competition-discovery{padding:0;min-width:0}
.replacement-workflow #competition-discovery :is(h1,h2,h3,p,a){overflow-wrap:anywhere}
.replacement-workflow #competition-discovery .ev-hero{border-color:var(--line-2);border-radius:var(--r)}
.replacement-workflow #competition-discovery .ev-hero :is(h1,h2,h3){font-family:var(--f-d);line-height:1.05}
.replacement-workflow #competition-discovery .ev-tabs{width:100%;padding:0;border:0;border-radius:0;background:transparent;overflow:visible;gap:8px}
.replacement-workflow #competition-discovery .ev-tab{min-height:44px;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--ink-2);color:var(--soft)}
.replacement-workflow #competition-discovery .ev-tab[aria-current=page]{background:var(--gold-t);border-color:var(--gold);color:var(--paper)}
.replacement-workflow #competition-discovery .ev-tab:hover{border-color:var(--gold);color:var(--paper)}
.replacement-workflow #competition-discovery .ev-filters{margin:22px 0;padding:0;gap:14px}
.replacement-workflow #competition-discovery .ev-filters label{margin:0;min-width:0}
.replacement-workflow #competition-discovery .ev-filters :is(input,select){min-height:44px;min-width:0;margin:0;font:inherit;border-color:var(--line-2)}
.replacement-workflow #competition-discovery .ev-button{min-height:44px;border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--card-2);font:600 14px/1.4 var(--f-b);text-align:center}
.replacement-workflow #competition-discovery .ev-button.primary{background:var(--red);border-color:var(--red);color:var(--paper)}
.replacement-workflow #competition-discovery .ev-grid{gap:18px;align-items:stretch}
.replacement-workflow #competition-discovery .ev-card{margin:0;padding:0;border:1px solid var(--line-2);border-radius:var(--r);min-width:0;text-decoration:none}
/* The whole card is one anchor; never propagate a link underline through its copy. */
.replacement-workflow #competition-discovery .ev-card:is(:hover,:focus-visible){border-color:var(--gold);text-decoration:none}
.replacement-workflow #competition-discovery .ev-card:is(:hover,:focus-visible) .ev-open{text-decoration:underline;text-underline-offset:3px}
.replacement-workflow #competition-discovery .ev-card-art{flex-shrink:0}
.replacement-workflow #competition-discovery .ev-card-body{gap:4px;padding:20px}
.replacement-workflow #competition-discovery .ev-card h3{font-family:var(--f-d);line-height:1.12;margin:8px 0}
.replacement-workflow #competition-discovery .ev-organizer-card{display:flex;flex-direction:column;gap:12px;margin:0;padding:22px;border-color:var(--line-2);border-radius:var(--r)}
.replacement-workflow #competition-discovery .ev-organizer-card:first-child{border-color:var(--gold)}
.replacement-workflow #competition-discovery .ev-organizer-card :is(h3,p){margin:0;line-height:1.5}
.replacement-workflow #competition-discovery .ev-organizer-card .ev-button{margin-top:auto;width:100%}
.replacement-workflow #competition-discovery :is(a,button,input,select):focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.replacement-workflow #competition-discovery .ev-hero{padding:24px 20px}.replacement-workflow #competition-discovery .ev-tab{flex:1 1 calc(50% - 8px);justify-content:center;padding:10px}.replacement-workflow #competition-discovery .ev-filters{gap:12px}.replacement-workflow #competition-discovery .ev-organizer-card{padding:20px}}
/* Shared competitions: supporting anatomy only; supplied owner CSS stays exact. */
#competition-create{padding:28px 0 56px;min-width:0}
#competition-create :is(h1,h2,h3,p,a),#competition-stages :is(h2,h3,h4,p){overflow-wrap:anywhere}
#competition-create .ev-breadcrumb,#competition-preset-navigation{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;font-size:13px;color:var(--soft)}
#competition-create>.sec-head{padding:18px 0 8px}
#competition-create>.sec-head h1{font-size:clamp(38px,6vw,72px);line-height:1.05;margin-bottom:16px}
#competition-create>.sec-head p{max-width:66ch;line-height:1.7}
#competition-create .ways{align-items:stretch}
#competition-create .way{display:flex;flex-direction:column}
#competition-create .way .wb{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:12px}
#competition-create .way .wb .organizer-type-note{margin:6px 0 12px;font-size:12px;line-height:1.6}
#competition-create .way .wb>.btn{margin-top:auto;min-height:44px}
#competition-create>.organizer-record{margin-top:28px;line-height:1.7}
#p-organizer #tnw-group-fields{border:1px solid var(--line-2);border-radius:var(--r);background:var(--ink-2);padding:22px;min-width:0}
#p-organizer #tnw-group-fields legend{padding:0 8px;color:var(--gold);font:600 12px/1.5 var(--f-m)}
#p-organizer .tnw-group-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#p-organizer #tnw-group-fields label{margin:0}
#p-organizer #tnw-group-fields input{margin-top:10px}
#p-organizer #tnw-group-fields .tnw-help{grid-column:1/-1;margin:8px 0 0}
#p-organizer .tnw-bracket-option .tnw-toggle-card-title{font-size:24px;line-height:1.15}
#p-organizer .tnw-bracket-option:focus-within{border-color:var(--gold)}
#competition-detail,#competition-detail-header{max-width:1240px;width:100%;min-width:0;margin-inline:auto}
#competition-detail .tn-bracket-scroll{overflow:visible;min-width:0}
#competition-detail :is(.tn-panel,[data-event-management]){border-radius:var(--r);font-size:14px}
#competition-detail #tn-invite-display{min-width:0!important;overflow-wrap:anywhere}
#competition-detail-header h1{font:800 clamp(38px,5vw,64px)/1.05 var(--f-d);margin-block:14px}
#competition-stages{display:grid;gap:28px;max-width:100%;min-width:0;color:var(--paper)}
#competition-stages .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#competition-stages :is(.competition-overview,.competition-advance){padding:clamp(20px,3vw,32px)}
#competition-stages .competition-overview{border-top:3px solid var(--gold);display:grid;gap:28px}
#competition-stages .competition-overview h2{font:800 clamp(32px,4vw,48px)/1.08 var(--f-d);margin:16px 0 12px}
#competition-stages .competition-overview p{color:var(--soft);max-width:72ch;font-size:14px;line-height:1.7}
#competition-stages .competition-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--line-2);padding-top:20px;margin:0}
#competition-stages .competition-facts dt{font:500 11px/1.6 var(--f-m);text-transform:uppercase;letter-spacing:.06em;color:var(--soft)}
#competition-stages .competition-facts dd{font:700 clamp(20px,3vw,28px)/1.3 var(--f-d);margin:6px 0 0}
#competition-stages .competition-section-nav{display:flex;gap:8px;flex-wrap:wrap}
#competition-stages .competition-section-nav a{font:600 12px/1.5 var(--f-b);border:1px solid var(--line-2);border-radius:var(--r-s);padding:12px 16px;min-height:44px;color:var(--soft)}
#competition-stages .competition-section-nav a:hover{color:var(--gold);border-color:var(--gold);background:var(--gold-t)}
#competition-stages .competition-standings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}
#competition-stages .competition-group{padding:22px;min-width:0;overflow:hidden}
#competition-stages .competition-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
#competition-stages .competition-section-heading h3{font:700 28px/1.1 var(--f-d);margin:0}
#competition-stages .competition-section-heading p{font-size:13px;color:var(--soft);margin-top:8px;line-height:1.6}
#competition-stages .competition-label{font:500 10px/1.5 var(--f-m);color:var(--gold);white-space:nowrap}
#competition-stages .competition-table-scroll{overflow-x:auto;max-width:100%;border-radius:var(--r-s)}
#competition-stages table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}
#competition-stages :is(th,td){text-align:center;padding:13px 8px;border-bottom:1px solid var(--line-2);font-variant-numeric:tabular-nums}
#competition-stages thead th{font:500 10px/1.5 var(--f-m);text-transform:uppercase;color:var(--soft)}
#competition-stages :is(th,td):first-child{text-align:left}
#competition-stages tbody th{font-weight:500;white-space:normal;min-width:130px}
#competition-stages tbody tr:last-child :is(th,td){border-bottom:0}
#competition-stages .competition-rank{display:inline-block;color:var(--soft);font:500 11px var(--f-m);width:20px}
#competition-stages .competition-qualifier{background:var(--gold-t)}
#competition-stages .competition-qualification{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1px solid var(--gold);border-radius:4px;color:var(--gold);font:600 10px var(--f-m);margin-left:8px}
#competition-stages .competition-advance{display:flex;gap:24px;justify-content:space-between;align-items:center;border-color:var(--line-2)}
#competition-stages .competition-advance h3{font:700 26px/1.2 var(--f-d);margin:0 0 8px}
#competition-stages .competition-advance p{font-size:13px;color:var(--soft);line-height:1.6;max-width:60ch}
#competition-stages button{white-space:normal;max-width:100%;min-height:44px;flex-shrink:0}
#competition-stages :is(.competition-rules,.competition-group-results){border:1px solid var(--line-2);border-radius:var(--r);padding:18px 22px;min-width:0}
#competition-stages summary{cursor:pointer;font:600 13px/1.6 var(--f-b);color:var(--paper);min-height:24px}
#competition-stages summary>span{float:right;font:500 11px var(--f-m);color:var(--soft);padding-top:4px}
#competition-stages .competition-rules p{font-size:13px;color:var(--soft);line-height:1.8;margin-top:16px}
#competition-stages .competition-group-results[open]>.competition-stage{margin-top:26px}
#competition-stages .competition-stage{min-width:0;scroll-margin-top:110px}
#competition-stages .competition-bracket-board{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;max-width:100%;min-width:0;padding:2px 2px 16px;scrollbar-color:var(--gold) var(--ink-2);scrollbar-width:thin}
#competition-stages .competition-round{display:flex;flex-direction:column;gap:14px;flex:0 0 270px;min-width:0;scroll-snap-align:start}
#competition-stages .competition-round>h4{font:600 11px/1.6 var(--f-m);text-transform:uppercase;letter-spacing:.05em;color:var(--soft);border-bottom:1px solid var(--line-2);padding:10px 0;margin-bottom:2px}
#competition-stages .competition-match{border:1px solid var(--line-2);border-radius:var(--r-s);overflow:hidden;background:var(--card)}
#competition-stages .competition-match>header{display:flex;justify-content:space-between;gap:8px;background:var(--ink-2);padding:10px 12px;font:500 10px/1.4 var(--f-m);color:var(--soft)}
#competition-stages .tn-br-match{border:0;background:transparent}
#competition-stages .tn-br-cell{min-height:45px;padding:12px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important}
#competition-stages .tn-br-winner{color:var(--green);background:color-mix(in srgb,var(--green) 7%,transparent)!important;box-shadow:inset 3px 0 var(--green)}
#competition-stages .tn-br-cell span{font-size:14px!important}
#competition-stages .tn-br-cell span:last-child{font:600 14px/1.5 var(--f-m)!important;color:inherit}
#competition-stages .tn-br-meta{font:500 10px/1.5 var(--f-m);padding:8px;color:var(--soft)}
#competition-stages .tn-br-result-btn{min-height:44px;font:600 11px var(--f-b);color:var(--gold);background:var(--gold-t)}
#competition-stages :is(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#competition-stages #competition-group-standings{scroll-margin-top:110px}
@media(max-width:850px){#competition-stages .competition-standings-grid{grid-template-columns:1fr}#competition-stages .competition-advance{flex-direction:column;align-items:stretch}#competition-stages .competition-advance button{align-self:flex-start}}
@media(max-width:480px){#competition-create>.sec-head h1{font-size:38px}#p-organizer #tnw-group-fields{padding:16px}#p-organizer .tnw-group-settings-grid{grid-template-columns:1fr}#competition-stages{gap:22px}#competition-stages .competition-group{padding:16px}#competition-stages .competition-section-heading{gap:10px;flex-wrap:wrap}#competition-stages .competition-round{flex-basis:245px}#competition-stages .competition-facts{gap:10px}#competition-stages .competition-facts dt{font-size:9px}#competition-stages .competition-facts dd{font-size:20px}#competition-stages :is(.competition-rules,.competition-group-results){padding:16px}#competition-stages .competition-section-nav a{padding:10px 12px}#competition-stages summary>span{float:none;margin-left:10px}}
/* Not-found pages share the replacement chrome and source-owned design tokens. */
#p-not-found{padding:clamp(28px,6vw,80px) 0}
#p-not-found .not-found-card{max-width:780px;margin:0 auto;padding:clamp(24px,5vw,64px);text-align:center}
#p-not-found .not-found-code{font:800 clamp(96px,18vw,176px)/1 var(--f-d);color:var(--gold);margin:24px 0 12px}
#p-not-found h1{font:800 clamp(32px,6vw,56px)/1.1 var(--f-d);margin-bottom:18px}
#p-not-found .soft{max-width:460px;margin:0 auto;line-height:1.7}
#p-not-found .not-found-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
#p-not-found .not-found-actions .btn{min-height:44px;max-width:100%}
@media(max-width:480px){#p-not-found .not-found-actions{flex-direction:column}#p-not-found .not-found-actions .btn{width:100%;justify-content:center}}
/* Organizer controls absent from the supplied prototype. Source Compete hero,
   cards, ways and tabs use the exact owner stylesheet without legacy CSS. */
#p-organizer .organizer-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;padding:22px 0;color:var(--soft);font-size:13px}
#p-organizer .cp-copy h1{font-size:clamp(44px,5.5vw,76px)}
#p-organizer .organizer-kind-tabs{margin-top:22px}
#p-organizer .organizer-setup{max-width:1000px;margin:28px auto 60px}
#p-organizer .organizer-recovery{padding:22px;margin-bottom:24px;border-color:var(--gold)}
#p-organizer .organizer-recovery .btn{margin:12px 8px 0 0}
#p-organizer :is(.organizer-record,.organizer-empty){padding:24px}
#p-organizer .organizer-record{display:grid;gap:16px;align-content:start}
#p-organizer .organizer-record .chip,#p-organizer .organizer-record .btn{justify-self:start}
#p-organizer .organizer-type-note{margin:18px 0;color:var(--gold);min-height:44px}
#p-organizer :is(.sl-create-form,.cj-form){display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0;width:100%;max-width:none;margin:0}
#p-organizer :is(.sl-create-panel,.tnw-stage){display:none}
#p-organizer .sl-create-panel.is-active{display:grid;gap:22px}
#p-organizer .tnw-stage.is-active{display:block}
#p-organizer :is(.sl-create-panel,.tnw-panel,.organizer-cup-panel){padding:28px}
#p-organizer :is(.sl-section-head,.organizer-cup-panel h2){margin-bottom:20px}
#p-organizer :is(.sl-section-head p,.tnw-stage-sub,.tnw-help,small,.sl-create-callout,.tnw-toggle-card-sub){color:var(--soft);font-size:13px;line-height:1.6}
#p-organizer :is(.sl-create-form label,.cj-fieldlabel,.tnw-field-label){font-size:14px;display:block;margin-bottom:8px}
#p-organizer :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea){width:100%;min-width:0;max-width:100%;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--ink-2);color:var(--paper);font:15px/1.5 var(--f-b);color-scheme:dark}
#p-organizer textarea{resize:vertical;display:block}
#p-organizer :is(input[type=checkbox],input[type=radio]){accent-color:var(--gold);width:18px;height:18px;flex-shrink:0}
#p-organizer :is(.sl-create-grid,.cj-row,.tnw-field-row,.tnw-format-grid,.tnw-toggle-grid){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#p-organizer .cj-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}
#p-organizer :is(.sl-create-steps,.ev-step-nav,.tnw-steps){display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;padding:0;width:100%;min-width:0;overflow:visible;border-radius:var(--r-s)}
#p-organizer :is(.sl-create-step,.tnw-step){font:600 13px var(--f-b);padding:12px 18px;background:transparent;border:1px solid var(--line);border-radius:var(--r-s);color:var(--soft);cursor:pointer;display:flex;gap:8px;align-items:center}
#p-organizer :is(.sl-create-step.is-active,.tnw-step.is-active,.ev-step-nav [aria-current=step]){color:var(--gold);border-color:var(--gold);background:var(--gold-t)}
#p-organizer :is(.tnw-step-line,.tnw-format-card-bg,.tnw-format-card-shade,.tnw-format-card-check,.tnw-toggle-card-icon){display:none}
#p-organizer :is(.sl-create-actions,.tnw-nav,.organizer-actions){display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:22px}
#p-organizer .tnw-panel{margin-bottom:20px}
#p-organizer :is(.tnw-format-card,.tnw-toggle-card){position:relative;padding:20px;display:block;cursor:pointer}
#p-organizer :is(.tnw-format-card,.tnw-toggle-card):has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
#p-organizer :is(.tnw-format-card,.tnw-toggle-card)[data-selected=true]{border-color:var(--gold);background:var(--gold-t)}
#p-organizer :is(.tnw-format-title,.tnw-toggle-card-title){font:800 26px/1 var(--f-d);text-transform:uppercase;margin:12px 0}
#p-organizer :is(.tnw-format-desc,.tnw-help){font-size:13px;color:var(--soft)}
#p-organizer :is(.tnw-field,.tnw-roster-badge){margin-top:18px}
#p-organizer :is(.tnw-eyebrow,.tnw-field-label,.tnw-summary-item,.tnw-roster-badge){font-family:var(--f-m);font-size:12px}
#p-organizer .tnw-stage-title{margin:12px 0}
#p-organizer .tnw-summary{display:flex;flex-wrap:wrap;gap:18px;padding:18px;border-top:1px solid var(--line);margin-top:20px}
#p-organizer .tnw-hidden{display:none!important}
#p-organizer .tnw-region-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:340px;overflow:auto;margin:12px 0}
#p-organizer .tnw-region-card{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r-s);padding:12px;cursor:pointer;font-size:13px}
#p-organizer .tnw-region-card[data-selected=true]{border-color:var(--gold);background:var(--gold-t)}
#p-organizer :is(.tnw-continent-bar,.tnw-continent-tabs){display:flex;flex-wrap:wrap;gap:8px}
#p-organizer :is(.tnw-continent-btn,.tnw-continent-chip){padding:8px 12px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--card);cursor:pointer}
#p-organizer :is(.tnw-continent-btn.is-active,.tnw-continent-chip[data-active=true]){border-color:var(--gold);color:var(--gold)}
#p-organizer :is(.tnw-review-list,.sl-review-list,.organizer-review){display:grid;gap:12px;overflow-wrap:anywhere}
#p-organizer :is(.tnw-review-row,.sl-review-item){display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}
#p-organizer .sl-brand-preview{padding:22px;border:1px solid var(--line);border-radius:var(--r);margin-top:20px}
#p-organizer .sl-brand-preview-banner{min-height:130px;padding:22px;background:var(--ink-2);margin-bottom:14px}
#p-organizer .cj-banner{padding:18px;margin-bottom:18px}
#p-organizer :is(.tnw-stage,.card,.cj-row>*,.cj-row-3>*,.sl-create-grid>*){min-width:0;overflow-wrap:anywhere}
#p-organizer .tnw-success{padding:28px;border:1px solid var(--green);border-radius:var(--r)}
#p-organizer #tnw-create-msg{display:block!important}
#p-organizer #tnw-create-msg:empty{display:none!important}
#p-organizer .tnw-success-icon{color:var(--green)}
#p-organizer .btn-red{display:inline-flex;background:var(--red);border-radius:var(--r-s);padding:12px 20px}
@media(max-width:700px){#p-organizer :is(.sl-create-grid,.cj-row,.cj-row-3,.tnw-field-row,.tnw-format-grid,.tnw-toggle-grid){grid-template-columns:1fr}#p-organizer :is(.sl-create-panel,.tnw-panel,.organizer-cup-panel){padding:20px}#p-organizer :is(.sl-create-step,.tnw-step){padding:10px 12px}#p-organizer .sl-review-item{flex-direction:column;gap:6px}#p-organizer .organizer-breadcrumb{font-size:12px}}
/* Player profiles use the current source-owned page/card tokens. Their real
   match history, cosmetics and owner-only controls remain server-authored. */
#p-profile #profile-workspace{position:relative;isolation:isolate;min-width:0;padding-bottom:60px;color:var(--paper);overflow-wrap:anywhere}
#p-profile .profile-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;padding:22px 0;color:var(--soft);font-size:13px}
#p-profile .account-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.1;z-index:-1;pointer-events:none}
#p-profile .profile-hero{padding:0;border:1px solid var(--line-2);border-top:3px solid var(--account-accent,var(--gold));border-radius:var(--r);background:var(--card);overflow:hidden}
#p-profile .profile-cover{position:relative;height:240px;isolation:isolate;background:var(--ink-2)}
#p-profile .profile-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
#p-profile .profile-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--card),transparent 90%);z-index:-1}
#p-profile .profile-cover-label{position:absolute;left:28px;top:24px;font:500 11px/1.5 var(--f-m);letter-spacing:.12em;color:var(--paper)}
#p-profile .profile-identity-body{position:relative;margin-top:-42px;padding:0 28px 28px}
#p-profile .account-identity{display:flex;gap:24px;align-items:flex-end;min-width:0}
#p-profile .account-identity>div{min-width:0}
#p-profile .account-avatar{width:128px;height:128px;flex-shrink:0;object-fit:cover;border:4px solid var(--card);border-radius:var(--r);background:var(--ink-2)}
#p-profile .account-identity h1{font:800 clamp(36px,5vw,62px)/1.05 var(--f-d);margin:10px 0 12px;overflow-wrap:anywhere}
#p-profile .account-eyebrow{font:500 11px/1.5 var(--f-m);letter-spacing:.08em;color:var(--gold)}
#p-profile :is(.account-steam-name,.profile-member-since){font-size:12px;color:var(--soft);margin:10px 0}
#p-profile :is(.account-actions,.profile-section-nav){display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
#p-profile .account-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:11px 16px;font:600 13px/1.5 var(--f-b);border:1px solid var(--line-2);border-radius:var(--r-s);background:transparent;color:var(--paper);cursor:pointer;white-space:normal;text-align:center}
#p-profile .account-button.primary{background:var(--gold);border-color:var(--gold);color:var(--ink)}
#p-profile .account-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
#p-profile .account-stat{min-width:0;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
#p-profile .account-stat strong{display:block;font:800 36px/1.15 var(--f-d);margin-bottom:8px}
#p-profile .account-stat span{font:500 11px/1.5 var(--f-m);color:var(--soft)}
#p-profile .profile-section-nav{padding:10px 0 24px;margin:0}
#p-profile .profile-section-nav a{padding:10px 16px;min-height:44px;border:1px solid var(--line);border-radius:var(--r-s);color:var(--soft);font-size:13px}
#p-profile .profile-section-nav a:hover{color:var(--gold);border-color:var(--gold)}
#p-profile .account-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
#p-profile .account-grid>*,#p-profile .account-panel{min-width:0}
#p-profile .account-panel{padding:24px;margin-bottom:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);scroll-margin-top:110px}
#p-profile .account-panel h2{font:800 30px/1.15 var(--f-d);margin:10px 0 14px}
#p-profile .account-panel p{font-size:13px;line-height:1.75;color:var(--soft);margin:12px 0}
#p-profile .profile-section-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
#p-profile .profile-history-control{display:grid;gap:8px;font-size:12px;color:var(--soft);max-width:100%}
#p-profile .profile-history-control select{max-width:100%;padding:10px 14px;min-height:44px;border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--ink-2);color:var(--paper);font:13px var(--f-b);color-scheme:dark}
#p-profile .account-history{display:grid;gap:12px;margin-top:22px}
#p-profile .account-game{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--ink-2)}
#p-profile .account-game>div{min-width:0}
#p-profile .account-game a{font-size:14px;font-weight:600;color:var(--paper)}
#p-profile :is(.account-game small,.account-log small){display:block;color:var(--mute);font-size:11px;line-height:1.6;margin-top:6px}
#p-profile .account-result{display:inline-flex;font:500 11px/1.5 var(--f-m);padding:5px 8px;border:1px solid var(--line-2);border-radius:var(--r-s);color:var(--soft)}
#p-profile .account-result.win{color:var(--green);border-color:var(--green)}
#p-profile .account-result.loss{color:var(--red);border-color:var(--red)}
#p-profile .account-log{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}
#p-profile .account-log:last-child{border-bottom:0}
#p-profile .account-bio{white-space:pre-wrap}
#p-profile .account-panel small{color:var(--mute);line-height:1.6;overflow-wrap:anywhere}
#p-profile .account-panel ul{padding-left:20px;font-size:13px;line-height:1.7;color:var(--soft)}
#p-profile .account-notice{padding:16px;border:1px solid var(--gold);border-radius:var(--r-s);font-size:13px;margin-bottom:20px}
#p-profile #report-player-modal{margin:auto;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--paper)}
#p-profile #report-player-modal::backdrop{background:#000b}
#p-profile :is(a,button,select):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#p-profile #profile-history-status:not(:empty){padding:14px;border:1px solid var(--line-2);border-radius:var(--r-s)}
@media(max-width:1000px){#p-profile .account-grid{grid-template-columns:minmax(0,1fr)}#p-profile .account-grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}#p-profile .account-grid>aside .account-panel{margin-bottom:0}}
@media(max-width:700px){#p-profile .profile-cover{height:170px}#p-profile .profile-identity-body{padding:0 20px 20px}#p-profile .account-identity{align-items:flex-start;flex-direction:column;gap:16px}#p-profile .account-avatar{width:96px;height:96px}#p-profile .account-identity h1{font-size:38px}#p-profile .account-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#p-profile .account-stat{padding:18px}#p-profile .account-stat strong{font-size:30px}#p-profile .account-grid>aside{grid-template-columns:minmax(0,1fr)}#p-profile .account-panel{padding:20px}#p-profile .account-game{grid-template-columns:minmax(0,1fr);gap:12px}#p-profile .profile-cover-label{left:20px;font-size:10px}}
/* League management extends the current Compete design, not generated legacy
   styles. These rules also cover cards inserted by the existing controllers. */
#p-organizer [data-competition-management]{padding-bottom:60px}
#p-organizer [data-competition-management] :is(.la-wrap,.sl-wrap){max-width:none;margin:0;padding:0;min-width:0}
#p-organizer [data-competition-management] :is(h1,h2,h3,p,a,label,small,td){overflow-wrap:anywhere}
#p-organizer [data-competition-management] :is(.la-top,.sl-hero){padding:28px;margin-bottom:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
#p-organizer [data-competition-management] h1{font:800 clamp(32px,4vw,54px)/1.1 var(--f-d);margin:12px 0}
#p-organizer [data-competition-management] h2{font:800 28px/1.15 var(--f-d);margin:0 0 12px}
#p-organizer [data-competition-management] h3{font:700 22px/1.2 var(--f-d);margin:0 0 8px}
#p-organizer [data-competition-management] :is(.la-sub,.la-hint,.sl-muted,small){color:var(--soft);font-size:13px;line-height:1.65}
#p-organizer [data-competition-management] :is(.la-top,.sl-section-head){display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
#p-organizer [data-competition-management] .sl-section-head p{max-width:720px;margin:8px 0 0}
#p-organizer [data-competition-management] :is(.sl-pill,.la-badge){display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--ink-2);color:var(--soft);padding:5px 9px;font:500 11px/1.4 var(--f-m)}
#p-organizer [data-competition-management] .la-badge.owner{color:var(--gold);border-color:var(--gold)}
#p-organizer [data-competition-management] .la-badge.archived{color:var(--red)}
#p-organizer [data-competition-management] .la-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
#p-organizer [data-competition-management] .la-nav{display:grid;gap:6px;position:sticky;top:100px;align-self:start;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);min-width:0}
#p-organizer [data-competition-management] .la-nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:12px;text-align:left;white-space:normal;font:600 13px/1.4 var(--f-b);background:transparent;color:var(--soft);border:1px solid transparent;border-radius:var(--r-s);cursor:pointer}
#p-organizer [data-competition-management] .la-nav button:is(:hover,.is-active){color:var(--gold);border-color:var(--line-2);background:var(--gold-t)}
#p-organizer [data-competition-management] .la-nav .la-nav-danger{color:var(--red)}
#p-organizer [data-competition-management] .la-panel{display:none;border:0;background:transparent;border-radius:0}
#p-organizer [data-competition-management] .la-panel.is-active{display:grid;gap:20px}
#p-organizer [data-competition-management] :is(#la-content,.la-panel,.la-card,.la-form,.sl-form,.la-grid2,.la-pages){min-width:0}
#p-organizer [data-competition-management] :is(.la-card,.sl-panel,.sl-card,.sl-week-map){padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
#p-organizer [data-competition-management] .la-hint{margin:0 0 20px}
#p-organizer [data-competition-management] :is(.la-form,.sl-form,.ev-wizard-panel){display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:0}
#p-organizer [data-competition-management] :is(.la-form,.sl-form) label{display:grid;gap:8px;font-size:14px;margin:0;min-width:0}
#p-organizer [data-competition-management] label:has(>input[type=checkbox]){display:flex;gap:10px;align-items:center}
#p-organizer [data-competition-management] :is(.la-grid2,.la-pages){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#p-organizer [data-competition-management] :is(.la-btn,.sl-secondary,.sl-primary,.sl-form button){display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:8px;min-height:44px;max-width:100%;padding:11px 18px;border:1px solid var(--gold);border-radius:var(--r-s);background:var(--gold);color:var(--ink);font:700 13px/1.5 var(--f-b);text-align:center;text-decoration:none;cursor:pointer;white-space:normal}
#p-organizer [data-competition-management] :is(.la-btn.secondary,.sl-secondary,.sl-form .sl-secondary){background:transparent;color:var(--paper);border-color:var(--line-2)}
#p-organizer [data-competition-management] .la-btn.danger{background:var(--red);color:var(--paper);border-color:var(--red)}
#p-organizer [data-competition-management] .la-danger-zone{border-color:var(--red)}
#p-organizer [data-competition-management] .la-mini{padding:8px 12px;font-size:12px}
#p-organizer [data-competition-management] .la-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#p-organizer [data-competition-management] .la-stat{padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);min-width:0}
#p-organizer [data-competition-management] .la-stat b{display:block;font:500 11px/1.5 var(--f-m);color:var(--mute);margin-bottom:12px;text-transform:uppercase}
#p-organizer [data-competition-management] .la-stat span{font:800 28px/1.1 var(--f-d);overflow-wrap:anywhere}
#p-organizer [data-competition-management] .la-check{display:grid;gap:10px}
#p-organizer [data-competition-management] .la-check-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-s);font-size:13px;line-height:1.6;flex-wrap:wrap}
#p-organizer [data-competition-management] .la-check-item.done{color:var(--green)}
#p-organizer [data-competition-management] .la-check-item a{color:var(--gold);margin-left:auto;min-height:36px;display:inline-flex;align-items:center;white-space:nowrap}
#p-organizer [data-competition-management] :is(.la-season-card,.la-page-row){display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px;border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:12px;background:var(--ink-2)}
#p-organizer [data-competition-management] :is(.la-season-card,.la-page-row)>div{min-width:0;max-width:100%}
#p-organizer [data-competition-management] :is(.la-season-card p,.la-page-row small){display:block;color:var(--soft);font-size:12px;line-height:1.6;margin-top:8px}
#p-organizer [data-competition-management] .la-row-actions{display:flex;gap:8px;flex-wrap:wrap}
#p-organizer [data-competition-management] .la-table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse}
#p-organizer [data-competition-management] :is(th,td){padding:14px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}
#p-organizer [data-competition-management] th{color:var(--mute);font:500 11px var(--f-m);text-transform:uppercase}
#p-organizer [data-competition-management] .la-avatar{width:28px;height:28px;border-radius:50%;vertical-align:middle;margin-right:8px}
#p-organizer [data-competition-management] :is(.la-empty,.la-welcome,.la-preview-note){padding:20px;border:1px dashed var(--line-2);border-radius:var(--r-s);color:var(--soft);font-size:13px;line-height:1.65}
#p-organizer [data-competition-management] .la-welcome{border-style:solid;border-color:var(--green);margin-bottom:20px}
#p-organizer [data-competition-management] :is(.la-msg,#edit-msg,#msg):not(:empty){padding:14px;border:1px solid var(--line-2);border-radius:var(--r-s);font-size:13px;line-height:1.6;color:var(--soft)}
#p-organizer [data-competition-management] :is(.la-msg,#edit-msg,#msg):empty{display:none}
#p-organizer [data-competition-management] .la-msg.ok{color:var(--green);border-color:var(--green)}
#p-organizer [data-competition-management] .la-msg.err{color:var(--red);border-color:var(--red)}
#p-organizer [data-competition-management] #season-edit-form>section{padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
#p-organizer [data-competition-management] :is(#edit-map-fields,#weekly-maps){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#p-organizer [data-competition-management] #weekly-maps :is(h3,p){grid-column:1/-1}
#p-organizer [data-competition-management] .ev-step-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
#p-organizer [data-competition-management] .sl-form .ev-step-nav button{background:transparent;color:var(--soft);border-color:var(--line-2);flex:1}
#p-organizer [data-competition-management] .sl-form .ev-step-nav [aria-current=step]{color:var(--gold);border-color:var(--gold);background:var(--gold-t)}
#p-organizer [data-competition-management] .ev-step-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
#p-organizer [data-competition-management] .ev-review{padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);line-height:1.7;overflow-wrap:anywhere}
#p-organizer [data-competition-management] :is(a,button,input,textarea,select):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:1000px){#p-organizer [data-competition-management] .la-layout{grid-template-columns:1fr}#p-organizer [data-competition-management] .la-nav{position:static;grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){#p-organizer [data-competition-management] :is(.la-grid2,.la-pages,#edit-map-fields,#weekly-maps){grid-template-columns:1fr}#p-organizer [data-competition-management] :is(.la-nav,.la-stats){grid-template-columns:repeat(2,minmax(0,1fr))}#p-organizer [data-competition-management] :is(.la-top,.sl-hero,.la-card,#season-edit-form>section){padding:20px}#p-organizer [data-competition-management] .ev-step-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#p-organizer [data-competition-management] .ev-step-actions>*{flex:1}#p-organizer [data-competition-management] .la-check-item a{margin-left:0}}
/* Cup detail anatomy was absent from the legacy compatibility extraction.
   Rebuild its structure using the current tokens, without the old crate theme. */
html[data-frontend=replacement] .crater-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
html[data-frontend=replacement] .crater-page :is(.crater-main,.crater-sidebar){min-width:0}
html[data-frontend=replacement] .crater-page svg{width:22px;height:22px;flex-shrink:0;color:var(--gold)}
html[data-frontend=replacement] .crater-page svg:not([fill]){fill:currentColor}
html[data-frontend=replacement] .crater-page :is(.crater-back,.crater-meta-item){display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--soft)}
html[data-frontend=replacement] .crater-page .crater-back{min-height:44px;margin-bottom:18px}
html[data-frontend=replacement] .crater-page :is(.crater-crate,.crater-prizepool,.crater-chalk-note,.crater-prose,.crater-side-block){padding:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:20px;overflow-wrap:anywhere}
html[data-frontend=replacement] .crater-page :is(.crater-screw,.crater-hazard,.crater-stencil){display:none}
html[data-frontend=replacement] .crater-page .crater-cup-id{font:500 11px/1.5 var(--f-m);color:var(--mute);margin-bottom:16px}
html[data-frontend=replacement] .crater-page .crater-title{font:800 clamp(34px,4.5vw,58px)/1.1 var(--f-d);margin:18px 0}
html[data-frontend=replacement] .crater-page :is(.crater-eyebrow-stamps,.crater-meta){display:flex;gap:12px;flex-wrap:wrap;align-items:center}
html[data-frontend=replacement] .crater-page .crater-stamp{padding:5px 9px;font:500 11px/1.5 var(--f-m);border:1px solid var(--line-2);border-radius:var(--r-s);color:var(--gold)}
html[data-frontend=replacement] .crater-page :is(.crater-prizepool-head,.crater-panel-head,.crater-side-block h4){display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}
html[data-frontend=replacement] .crater-page :is(.crater-info-row,.crater-sidebar){display:grid;gap:20px}
html[data-frontend=replacement] .crater-page :is(.crater-prizepool p,.crater-chalk-note p,.crater-fact,.crater-empty){font-size:13px;line-height:1.7;color:var(--soft)}
html[data-frontend=replacement] .crater-page :is(.crater-fact,.crater-meta-item){overflow-wrap:anywhere}
html[data-frontend=replacement] .crater-page .crater-fact{display:flex;gap:12px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
html[data-frontend=replacement] .crater-page .crater-fact strong{max-width:65%;text-align:right;color:var(--paper)}
html[data-frontend=replacement] .crater-page :is(.crater-live,.crater-arrow,.crater-teamcount,.crater-subtitle){font:500 11px/1.5 var(--f-m);color:var(--mute)}
html[data-frontend=replacement] .crater-page .crater-teamcount{margin-left:auto}
html[data-frontend=replacement] .crater-page .crater-prose{line-height:1.7}
html[data-frontend=replacement] .crater-page .crater-prose>div{white-space:pre-wrap}
html[data-frontend=replacement] .crater-page .crater-prose summary{cursor:pointer;padding:16px 0;color:var(--gold)}
html[data-frontend=replacement] .crater-page :is(.crater-actions,.crater-alert){display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
html[data-frontend=replacement] .crater-page .crater-actions :is(a,button){display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:12px 18px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);border-radius:var(--r-s);font:700 13px var(--f-b)}
html[data-frontend=replacement] .crater-page .crater-admin-btn{display:flex;align-items:center;gap:10px;justify-content:flex-start}
html[data-frontend=replacement] .crater-page .crater-sb-header{display:none}
html[data-frontend=replacement] .crater-page .crater-sb-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start;font-size:13px}
html[data-frontend=replacement] .crater-page .crater-sb-row>div{min-width:0;overflow-wrap:anywhere}
html[data-frontend=replacement] .crater-page .crater-sb-status{grid-column:3;grid-row:1}
html[data-frontend=replacement] .crater-page :is(.crater-sb-payment,.crater-sb-seed,.crater-sb-roster,.crater-sb-reg){grid-column:2/-1;color:var(--soft);font-size:12px}
html[data-frontend=replacement] .crater-page .crater-sb-players{display:flex;gap:8px;flex-wrap:wrap}
html[data-frontend=replacement] .crater-page :is(.crater-player,.crater-tag){display:inline-flex;gap:6px;padding:5px 8px;border:1px solid var(--line-2);border-radius:var(--r-s);font-size:11px;background:var(--ink-2)}
html[data-frontend=replacement] .crater-page .crater-sb-team-name{font-weight:700;margin-bottom:6px}
html[data-frontend=replacement] .crater-page .crater-sb-team-sub{font-size:12px;color:var(--soft)}
@media(max-width:1000px){html[data-frontend=replacement] .crater-page{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){html[data-frontend=replacement] .crater-page :is(.crater-crate,.crater-prizepool,.crater-chalk-note,.crater-prose,.crater-side-block){padding:20px}html[data-frontend=replacement] .crater-page .crater-title{font-size:34px}}
/* Authorized cup/tournament controls keep their detail-page composition. */
html[data-frontend=replacement] [data-event-management]{padding:24px!important;border:1px solid var(--line-2);border-radius:var(--r);background:var(--card);color:var(--paper);min-width:0;overflow-wrap:anywhere}
html[data-frontend=replacement] [data-event-management] :is(h3,legend){font:800 24px/1.2 var(--f-d);color:var(--paper)}
html[data-frontend=replacement] [data-event-management] fieldset{padding:20px!important;border:1px solid var(--line-2);border-radius:var(--r-s);margin:20px 0}
html[data-frontend=replacement] [data-event-management] :is(input,textarea,select){width:100%;min-width:0;max-width:100%;padding:12px 14px;background:var(--ink-2);color:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-s);font:15px/1.5 var(--f-b);color-scheme:dark}
html[data-frontend=replacement] [data-event-management] .cj-fieldlabel{display:block;margin-bottom:8px;font:600 13px/1.5 var(--f-b);color:var(--soft)}
html[data-frontend=replacement] [data-event-management] button,html[data-frontend=replacement] #tn-actions button{min-height:44px;padding:11px 16px;font:700 13px/1.5 var(--f-b);border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--ink-2);color:var(--paper);white-space:normal;cursor:pointer;max-width:100%}
html[data-frontend=replacement] [data-event-management] button:is(.gold,.cta),html[data-frontend=replacement] [data-event-management] #cj-btn-edit-submit{background:var(--gold);color:var(--ink);border-color:var(--gold)}
html[data-frontend=replacement] [data-event-management] button:is(.danger,.event-danger-action),html[data-frontend=replacement] #tn-actions .event-danger-action{color:var(--red);border-color:var(--red);background:transparent}
html[data-frontend=replacement] [data-event-management] :is(.crater-admin-head,.crater-admin-body){display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:0;margin-bottom:18px}
html[data-frontend=replacement] [data-event-management] .crater-admin-body{flex-direction:column;align-items:stretch}
html[data-frontend=replacement] [data-event-management] .crater-admin-head svg{width:22px;height:22px;flex-shrink:0}
html[data-frontend=replacement] [data-event-management] .crater-admin-head h3{margin:0;flex:1}
html[data-frontend=replacement] [data-event-management] .crater-admin-head .crater-who{width:100%;color:var(--soft);font-size:12px}
html[data-frontend=replacement] [data-event-management] .crater-admin-hazard,html[data-frontend=replacement] [data-event-management] .crater-k{display:none}
html[data-frontend=replacement] [data-event-management] .crater-admin-foot{padding:14px 0 0;border-top:1px solid var(--line);font:500 11px var(--f-m);color:var(--mute)}
html[data-frontend=replacement] [data-event-management] :is(button,input,textarea,select):focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:700px){html[data-frontend=replacement] [data-event-management]{padding:20px!important}html[data-frontend=replacement] [data-event-management] [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}html[data-frontend=replacement] [data-event-management] button{width:100%}}
/* Centre HHH's torso axis at 70% of the selected portrait, not the axe-inclusive canvas. */
#p-fright .hw-mon-hhh{overflow:visible;z-index:1}
#p-fright .hw-mon-hhh img{transform-origin:70% 50%;transform:translateX(-70%)}
#p-fright .hw-mon-hhh:hover img{transform:translateX(-70%) translateY(-6px) scale(1.03)}
#p-fright .hw-mon-hhh>div{border-radius:0 0 19px 19px}
#p-fright #hw-connect{display:flex;flex-wrap:wrap;gap:12px;max-width:min(560px,100%);margin-top:14px}
#p-fright #hw-connect code{width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
#p-lobby .pl.open{width:100%;text-align:left;font:inherit;color:var(--paper)}
:is(#p-home,#p-play) .replacement-class-controls{border:0;padding:0;margin:14px 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0}
:is(#p-home,#p-play) .replacement-class-controls legend{font-size:12px;color:var(--mute);margin-bottom:8px}
:is(#p-home,#p-play) .replacement-format-picker{display:flex;gap:6px;flex-wrap:wrap}
:is(#p-home,#p-play) .replacement-format-picker [aria-pressed=true]{border-color:var(--red);color:var(--paper)}
:is(#p-home,#p-play) .replacement-class-controls label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--soft);max-width:100%}
:is(#p-home,#p-play) .replacement-class-controls select{max-width:100%;min-width:0}
#p-home #class-out,#p-play #mm-where{overflow-wrap:anywhere}
#p-lobby #room-feedback:empty{display:none}
#p-lobby #room-feedback{margin:12px 0;overflow-wrap:anywhere}
#p-lobby .room-extra-actions{display:flex;gap:8px;flex-wrap:wrap}
#p-lobby .replacement-room-tools{padding:24px;margin-top:20px;overflow-wrap:anywhere}
#p-lobby .replacement-room-tools :is(form,section){padding:20px 0;border-top:1px solid var(--line);margin-top:20px}
#p-lobby .replacement-room-tools label{display:block;margin:12px 0}
#p-lobby .replacement-room-tools :is(input,select){display:block;width:min(100%,520px);padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--ink-2);color:var(--paper);font:inherit}
#p-lobby #room-tools-output{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}
#p-lobby .replacement-room-tools nav{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){#p-lobby .replacement-room-tools{padding:16px}}
#p-lobby .room-map-more{grid-column:1/-1;font-size:12px;color:var(--mute)}
#p-lobby .room-map-more .mapvote{padding:12px 0 0}
/* Real room tags, countdowns and map filenames must fit, not hide behind clipping. */
#p-lobby .mapvote{grid-template-columns:repeat(3,minmax(0,1fr))}
#p-lobby .mv{min-width:0}
#p-lobby .mv span{overflow-wrap:anywhere;white-space:normal}
@media(max-width:600px){
 #p-lobby .room-head .in{padding:22px 20px;gap:18px;min-width:0}
 #p-lobby .room-head .in>div{min-width:0;max-width:100%}
 #p-lobby .room-head .in>div:first-child{flex:1 1 100%}
 #p-lobby .room-head :is(h1,.chip){max-width:100%;white-space:normal;overflow-wrap:anywhere}
 #p-lobby #room-phase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;gap:1px;border-radius:12px;background:var(--line)}
 #p-lobby #room-phase span{min-width:0;padding:10px 8px;white-space:normal;overflow-wrap:anywhere;line-height:1.4;border:0}
 #p-lobby .mapvote{grid-template-columns:repeat(2,minmax(0,1fr))}
 #p-lobby .mv{aspect-ratio:auto;display:flex;flex-direction:column}
 #p-lobby .mv img{display:block;width:100%;height:86px;object-fit:cover}
 #p-lobby .mv span{position:static;display:flex;align-items:center;justify-content:center;flex:1;width:100%;padding:8px;background:var(--ink-2);font-size:12px;line-height:1.4}
}
#p-lobby #room-connect{padding:20px;overflow-wrap:anywhere}
#p-lobby #room-connect .box-h{padding:0 0 12px}
#replacement-menu{width:min(1100px,94vw);max-height:85dvh;overflow:auto;padding:28px;color:var(--paper)}
#replacement-menu::backdrop{background:#000b}#replacement-menu section{display:flex;flex-direction:column;gap:8px;margin:20px 0}
#replacement-menu h4{margin:14px 0}#replacement-menu .btn{justify-content:flex-start}
#replacement-hud[hidden]{display:none!important}.replacement-feedback{padding:16px;margin:18px 0;border:1px solid var(--line);border-radius:var(--r);color:var(--soft);overflow-wrap:anywhere}
.replacement-workflow{padding-bottom:30px}.replacement-workflow>section,.replacement-workflow>div{margin:22px 0}
.replacement-workflow form{margin:20px 0}.replacement-workflow fieldset{border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:16px 0}
.replacement-workflow label{display:block;margin:12px 0}.replacement-workflow :is(input:not([type=checkbox]):not([type=radio]),textarea,select){max-width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--ink-2);color:var(--paper)}
.replacement-workflow textarea{width:100%;min-height:120px}.replacement-workflow button{cursor:pointer}.replacement-workflow :is(.card,.sv-notice):not(.live-res):not(.map-card){padding:20px;margin:16px 0}.replacement-workflow :is(h1,h2,h3){margin:18px 0}
.replacement-workflow p{margin:10px 0;line-height:1.6}.replacement-workflow table{width:100%;border-collapse:collapse}.replacement-workflow :is(th,td){padding:12px;border-bottom:1px solid var(--line);text-align:left}
.replacement-workflow :is(.sv-choices,.sv-options,.sv-tiers,.queue-classes){display:flex;gap:12px;flex-wrap:wrap}.replacement-workflow .sv-map img{width:190px;height:110px;object-fit:cover}.replacement-workflow .sv-region{display:grid;gap:5px;text-align:left;white-space:normal;height:auto;min-height:72px}.replacement-workflow .sv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.4fr);gap:24px}.replacement-workflow .sv-card-head{display:flex;gap:18px;align-items:center}.replacement-workflow .sv-card-head img{width:140px;height:88px;object-fit:cover}.replacement-workflow .sv-secret{display:flex;flex-wrap:wrap;gap:8px}.replacement-workflow .sv-secret input{min-width:0;flex:1}.replacement-workflow .sv-form-nav{display:flex;gap:12px;margin-top:18px}
#p-servers .replacement-workflow{margin-top:28px}.replacement-workflow .modal-overlay,.profile-card-modal-overlay{display:none}.replacement-workflow .modal-overlay.is-open,.profile-card-modal-overlay.open{display:flex;position:fixed;inset:0;z-index:95;background:#000b;align-items:center;justify-content:center}
.replacement-workflow .hidden{display:none!important}
.replacement-workflow .crater-stage-block{display:none}.replacement-workflow .crater-stage-block.active{display:block}
.replacement-workflow .crater-room{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}
.replacement-workflow .crater-panel{border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden;margin:18px 0}
.replacement-workflow .crater-panel-head{padding:18px;border-bottom:1px solid var(--line)}
.replacement-workflow .crater-panel-body{padding:18px}
.replacement-workflow .crater-stepper{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.replacement-workflow .crater-step{padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-s)}
.replacement-workflow .crater-step.current{color:var(--gold);border-color:var(--gold)}
@media(max-width:760px){.replacement-workflow .crater-room{grid-template-columns:1fr}}.modal-box,.profile-card-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;max-width:min(700px,94vw);max-height:85vh;overflow:auto}
.replacement-workflow .journey-intro ol{display:flex;gap:24px;flex-wrap:wrap}.replacement-workflow :is(.pug-grid,.player-grid,.ev-grid,.incentive-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.replacement-workflow :is(.pug-identity,.community-byline){display:flex;gap:10px;align-items:center}.replacement-workflow .pug-identity img{height:36px;width:36px;object-fit:cover;border-radius:50%}.replacement-workflow .pug-map{height:170px;width:100%;object-fit:cover}
/* Required chrome additions must not push sign-in outside the viewport. */
#replacement-header:not([data-signed-in]) #replacement-inbox{display:none}
#replacement-header .me:not(:has(img)){flex-shrink:0;justify-content:center;min-height:40px;padding:8px 16px;white-space:nowrap}
#replacement-header .me:not(:has(img)) span{display:block;white-space:nowrap;line-height:1.2}
@media(max-width:1450px){#replacement-header .search{width:40px;padding:0;justify-content:center}#replacement-header .search span,#replacement-header .search kbd{display:none}}
@media(max-width:760px){#replacement-menu .g3,.replacement-workflow .sv-grid,.replacement-workflow :is(.pug-grid,.player-grid,.ev-grid,.incentive-grid){grid-template-columns:1fr}.top-tools .me:has(img) span{display:none}.replacement-workflow .sv-card-head{flex-wrap:wrap}.replacement-workflow :is(table,.pug-table-scroll){display:block;overflow:auto}.replacement-workflow [style*="grid-template-columns"]{grid-template-columns:1fr!important}}
.replacement-footer-meta{max-width:1200px;margin:24px auto 0;padding:0 24px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}
/* Live shared queues use the prototype room composition without sample teams. */
[data-prototype-room] .room-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
[data-prototype-room] .room-count{display:grid;gap:8px;text-align:right;min-width:150px}
[data-prototype-room] .room-count strong{font:800 38px/1 var(--f-d)}
[data-prototype-room] .queue-panel{padding:20px}
[data-prototype-room] .queue-panel .box-h{padding:0 0 16px}
[data-prototype-room] .queue-actions{display:grid;gap:10px;margin:16px 0}
[data-prototype-room] .queue-classes{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
[data-prototype-room] .queue-classes .cls{display:grid;gap:6px;text-align:center;width:82px;height:auto;padding:8px}
[data-prototype-room] .queue-classes img{height:64px;object-fit:contain}
[data-prototype-room] fieldset{border:0;padding:0}
[data-prototype-room] :is(ul,ol){padding-left:22px;line-height:1.7}
[data-prototype-room] .queue-member{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}
[data-prototype-room] .queue-member img{width:36px;height:36px;border-radius:50%}
[data-prototype-room] .queue-match{padding:16px;border-bottom:1px solid var(--line)}
#server-workspace[data-frontend] :is(input:not([type=checkbox]):not([type=radio]),select){background:var(--ink-2);border:1px solid var(--line);color:var(--paper);padding:10px;border-radius:var(--r-s);max-width:100%}
#server-workspace[data-frontend] fieldset{border:0;padding:0;margin:0;min-width:0}
#server-workspace[data-frontend] #server-booking{min-width:0}
#server-workspace[data-frontend] .booking-options{margin:0 0 16px;font-size:13px;color:var(--soft)}
#server-workspace[data-frontend] .booking-options summary{cursor:pointer}
#server-workspace[data-frontend] .booking-options[open] summary{margin-bottom:12px}
#server-workspace[data-frontend] .booking-options :is(p,label){margin:12px 0;line-height:1.6}
#server-workspace[data-frontend] #map-hint{font-size:13px;margin-top:12px}
#server-workspace[data-frontend] .booking-review{margin:16px 0}
#server-workspace[data-frontend] .booking-review>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
#server-workspace[data-frontend] .booking-review dt{color:var(--mute)}
#server-workspace[data-frontend] .booking-review dd{text-align:right;font-weight:700}
#server-workspace[data-frontend] .sv-form-nav:not(:has(button:not([hidden]))){display:none}
#server-workspace[data-frontend] .sv-tiers{display:flex;flex-wrap:wrap;gap:20px}
#server-workspace[data-frontend] .sv-tiers small{display:block;color:var(--mute)}
#server-workspace[data-frontend] .filters{margin:18px 0}
#server-workspace[data-frontend] .sv-form-nav{display:flex;justify-content:flex-end;gap:12px;margin:18px 0}
@media(max-width:760px){[data-prototype-room] .room-head .in{align-items:flex-start}[data-prototype-room] .room-count{min-width:0;text-align:left}[data-prototype-room] .room-count strong{font-size:26px}}
/* Source-owned populated components, with only additional workflow controls. */
#p-you .goal .gx{min-width:0}
#p-you .goal [data-claim-goal]{margin-top:8px}
#p-you #party{flex-wrap:wrap;row-gap:8px}
#replacement-hud .hud-ring svg{width:24px;height:24px;color:var(--soft)}
#p-community .post .pb{min-width:0;overflow-wrap:anywhere}
#p-community .post .post-category{color:var(--gold)}
/* Individual discussions extend the owner's card/post anatomy, not the forum shell. */
#p-community [data-thread-only] .community-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}
#p-community [data-thread-only] #community-notice:empty{display:none}
#p-community [data-thread-only] #community-notice:not(:empty){padding:14px;border:1px solid var(--line);border-radius:var(--r-s);overflow-wrap:anywhere}
#p-community [data-thread-only] .community-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
#p-community [data-thread-only] .votes{border:0;color:inherit;cursor:pointer;min-height:44px}
#p-community [data-thread-only] .votes[aria-pressed=true]{color:var(--gold)}
#p-community [data-thread-only] .replacement-thread-post h2{font:800 clamp(24px,3vw,34px)/1.15 var(--f-d);margin:0 0 12px;overflow-wrap:anywhere}
#p-community [data-thread-only] .replacement-thread-byline{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;margin-bottom:14px;overflow-wrap:anywhere}
#p-community [data-thread-only] .post .replacement-thread-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:15px}
#p-community [data-thread-only] .replacement-thread-replies{margin-top:16px;overflow:hidden}
#p-community [data-thread-only] .replacement-thread-replies .post{border-bottom:1px solid var(--line)}
#p-community [data-thread-only] .replacement-thread-replies .post + .post{margin-top:0}
#p-community [data-thread-only] .replacement-thread-empty{padding:20px;overflow-wrap:anywhere}
#p-community [data-thread-only] #community-reply:not([hidden]){display:grid;gap:12px;padding:20px}
#p-community [data-thread-only] #community-reply .btn{justify-self:start}
#p-community [data-thread-only] #community-reply p{font-size:13px;line-height:1.5}
#p-community [data-thread-only] :is(#community-reply-body,#community-report-link){width:100%;min-width:0;max-width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--ink-2);color:var(--paper)}
#p-community [data-thread-only] #community-reply-body{resize:vertical;min-height:120px}
#p-community [data-thread-only] #community-post-controls:empty{display:none}
#p-community [data-thread-only] #community-post-controls label{display:grid;gap:6px;color:var(--soft);font-size:13px;max-width:100%}
#p-community [data-thread-only] #community-post-controls .select{max-width:100%}
#p-community [data-thread-only] #community-report-dialog{width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:28px;background:var(--card);color:var(--paper);border:1px solid var(--line);border-radius:var(--r);color-scheme:dark}
#p-community [data-thread-only] #community-report-dialog::backdrop{background:#000b}
#p-community [data-thread-only] #community-report-dialog :is(p,label,input){display:block;margin:12px 0}
@media(max-width:760px){#p-community [data-thread-only] .replacement-thread-post{flex-wrap:wrap}#p-community [data-thread-only] .replacement-thread-post>.pb{flex-basis:100%}#p-community [data-thread-only] #community-post-controls .btn{width:100%}}
/* Posting is a native modal within the supplied Community composition. */
#p-community #community-identity{margin:16px 0}
#p-community #community-composer{width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;overflow:auto;padding:28px;background:var(--card);color:var(--paper);border:1px solid var(--line);border-radius:var(--r);color-scheme:dark}
#p-community #community-composer::backdrop{background:#000b}
#p-community #community-post-form{display:grid;gap:12px;min-width:0}
#p-community #community-post-form h2{font-family:var(--f-d);font-size:34px;line-height:1.1}
:is(#p-community,.replacement-workflow) #community-composer .community-compose-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
:is(#p-community,.replacement-workflow) #community-composer .community-compose-heading h2{min-width:0;flex:1;margin:0}
:is(#p-community,.replacement-workflow) #community-composer .community-compose-x{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;padding:0;font-size:26px;line-height:1}
#p-community #community-post-form p{line-height:1.5;overflow-wrap:anywhere}
#p-community #community-post-form :is(label,p){margin:0}
#p-community #community-post-form :is(input:not([type=checkbox]),textarea){width:100%;min-width:0;max-width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--ink-2);color:var(--paper)}
#p-community #community-post-form select{width:100%;min-width:0;max-width:100%}
#p-community #community-post-form textarea{resize:vertical;min-height:140px}
#p-community #community-post-form .community-review{display:flex;align-items:flex-start;gap:10px;color:var(--soft);font-size:14px}
#p-community #community-public-review{flex-shrink:0;margin-top:4px;accent-color:var(--gold)}
#p-community #community-post-form .community-actions{display:flex;gap:10px;flex-wrap:wrap}
#p-community #community-compose-message:empty{display:none}
#p-community #community-compose-message:not(:empty){padding:12px;border:1px solid var(--line);border-radius:var(--r-s);color:var(--soft)}
@media(max-width:760px){#p-community #community-composer{padding:20px}#p-community #community-post-form .community-actions .btn{width:100%}}
.replacement-workflow #map-workspace[data-frontend] .map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.replacement-workflow #map-workspace[data-frontend] .map-card{min-width:0;font-size:15px}
.replacement-workflow #map-workspace[data-frontend] .map-card .mb{flex-wrap:wrap;gap:10px}
.replacement-workflow #map-workspace[data-frontend] .map-card small{overflow-wrap:anywhere}
.replacement-workflow #map-workspace[data-frontend] .replacement-map-placeholder{display:grid;place-items:center;height:100%;color:var(--mute);background:var(--ink-2);font-size:13px}
.replacement-workflow #map-workspace[data-frontend] .replacement-map-details{margin:0 16px 16px;font-size:12px;overflow-wrap:anywhere}
.replacement-workflow #map-workspace[data-frontend] .replacement-map-details summary{cursor:pointer;color:var(--soft)}
.replacement-workflow #server-workspace[data-mode=manage]{max-width:none;padding:0;color:var(--paper)}
.replacement-workflow #server-workspace[data-mode=manage] .sv-side{position:static}
.replacement-workflow #server-workspace[data-mode=manage] .live-res{padding:0}
.replacement-workflow #server-workspace[data-mode=manage] .lr-body h3{margin:0}
.replacement-workflow #server-workspace[data-mode=manage] .sv-secret{display:flex;gap:8px;flex-wrap:wrap}
.replacement-workflow #server-workspace[data-mode=manage] .sv-secret input{flex:1;min-width:0;font-family:var(--f-m)}
.replacement-workflow #server-workspace[data-mode=manage] .sv-secret button{flex-shrink:0}
@media(max-width:980px){.replacement-workflow #map-workspace[data-frontend] .map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.replacement-workflow #map-workspace[data-frontend] .map-grid{grid-template-columns:minmax(0,1fr)}.replacement-workflow #server-workspace[data-mode=manage] .sv-secret input{flex-basis:100%}}
/* Membership purchase/recovery controls retain their original IDs and controller. */
.replacement-workflow #membership-workspace .mw-hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);padding:32px}
.replacement-workflow #membership-workspace .mw-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;z-index:-1}
.replacement-workflow #membership-workspace .mw-hero>div{position:relative;max-width:64ch}
.replacement-workflow #membership-workspace .mw-hero-stamp{display:block;font:11px var(--f-m);color:var(--mute);margin-top:18px}
.replacement-workflow #membership-workspace .mw-actions,.replacement-workflow #membership-workspace .mw-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.replacement-workflow #membership-workspace .mw-heading{justify-content:space-between}
.replacement-workflow #membership-workspace .mw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);margin:22px 0;background:var(--card)}
.replacement-workflow #membership-workspace .mw-stats>div{display:flex;flex-direction:column;gap:8px;padding:20px;min-width:0}
.replacement-workflow #membership-workspace .mw-stats strong{font:700 28px var(--f-d);overflow-wrap:anywhere}
.replacement-workflow #membership-workspace .mw-workspace{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px}
.replacement-workflow #membership-workspace .mw-sidebar{align-self:start;position:sticky;top:24px}
.replacement-workflow #membership-workspace .mw-sidebar nav,.replacement-workflow #membership-workspace .mw-side-help{display:flex;flex-direction:column;gap:12px}
.replacement-workflow #membership-workspace .mw-side-help{margin-top:24px}
.replacement-workflow #membership-workspace .mw-content{min-width:0}
.replacement-workflow #membership-workspace .mw-content>section{margin:0 0 22px;scroll-margin-top:24px}
.replacement-workflow #membership-workspace .mw-eyebrow{font:11px var(--f-m);letter-spacing:.1em;color:var(--gold)}
.replacement-workflow #membership-workspace .mw-muted{font-size:14px;line-height:1.6;color:var(--soft)}
.replacement-workflow #membership-workspace #points-purchase-access{margin-top:16px;color:var(--soft);font-size:14px;line-height:1.7}
.replacement-workflow #membership-workspace #points-purchase-access a{margin:8px 0}
.replacement-workflow #membership-workspace #membership-auth:not(:empty),.replacement-workflow #membership-workspace #membership-feedback:not(:empty){border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:18px 0}
.replacement-workflow #membership-workspace #membership-dialog{width:min(580px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:var(--r);padding:24px;background:var(--card);color:var(--paper);color-scheme:dark}
.replacement-workflow #membership-workspace #membership-dialog::backdrop{background:#000b}
.replacement-workflow #membership-workspace #membership-dialog h2{font-size:32px;margin:0}
.replacement-workflow #membership-workspace #membership-dialog .mw-heading{align-items:flex-start;margin-bottom:20px}
.replacement-workflow #membership-workspace #membership-dialog .mw-check{display:flex;gap:10px;align-items:flex-start}
.replacement-workflow #membership-workspace #membership-dialog input[type=checkbox]{flex-shrink:0;margin-top:5px}
.replacement-workflow #membership-workspace #membership-dialog-message:not(:empty){border:1px solid var(--line);border-radius:var(--r-s);padding:14px;margin-top:16px;overflow-wrap:anywhere}
@media(max-width:760px){.replacement-workflow #membership-workspace .mw-workspace{grid-template-columns:1fr}.replacement-workflow #membership-workspace .mw-sidebar{position:static}.replacement-workflow #membership-workspace .mw-sidebar nav{flex-direction:row;flex-wrap:wrap}.replacement-workflow #membership-workspace .mw-side-help{display:none}.replacement-workflow #membership-workspace .mw-hero{padding:24px}.replacement-workflow #membership-workspace .mw-stats{grid-template-columns:1fr}.replacement-workflow #membership-workspace #membership-dialog{padding:20px}}
/* Honest guest/empty states retain the supplied component hierarchy and rhythm. */
.replacement-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 24px;text-align:center;min-height:220px;grid-column:1/-1}
.replacement-empty p{max-width:48ch;font-size:14px;line-height:1.6}
.replacement-empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--ink-2);color:var(--mute)}
#events>.replacement-empty,#teamcards>.replacement-empty,#shop>.replacement-empty,#posts>.replacement-empty{border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
#posts>.replacement-empty{min-height:330px}
#p-you .dash>.card:nth-child(-n+3):has(.replacement-empty){min-height:320px}
#p-you .dash>.card:nth-child(4):has(.replacement-empty){min-height:270px}
#p-you .classbars p{font-size:13px;line-height:1.6;margin:0 0 6px}
#p-you .cb .mute{font-size:11px}
#p-you .stats{gap:26px}
#p-you .name a{margin-top:12px}
#p-you .name h2{overflow-wrap:anywhere}
#p-you .replacement-empty{flex:1;min-height:220px}
#p-you #party .replacement-empty{min-height:120px;padding:16px 0;align-items:flex-start;text-align:left}
#p-you #party .replacement-empty-icon,#p-you #party .replacement-empty h4{display:none}
#p-you #replacement-goals .replacement-empty{padding-left:0;padding-right:0}
#p-rewards .pv-card>div{min-width:0}
#p-rewards .pv-card small{display:block;font-size:11px;line-height:1.6;margin-top:6px}
#p-rewards .pv-slot .nm{min-width:0}
#p-rewards .pv-slot .nm small{white-space:normal}
#p-rewards .rw-preview{gap:12px}
#p-rewards .fr-pick{min-height:48px}
#p-rewards .item .prev>img{max-width:100%;height:100%;object-fit:contain}
#server-workspace[data-frontend] #server-auth{margin:16px 0;color:var(--soft);font-size:13px}
#server-workspace[data-frontend] #server-auth p{margin:0}
#server-workspace[data-frontend] #booking-error:empty,#server-workspace[data-frontend] #reservation-feedback:empty{display:none}
#server-workspace[data-frontend] #prototype-region-tabs{margin:0;display:flex;flex-wrap:wrap}
#server-workspace[data-frontend] #prototype-region-tabs button{white-space:nowrap}
#server-workspace[data-frontend] .wmap svg{pointer-events:none}
/* The source uses #pins. The controller's renamed container needs the same containing box. */
#server-workspace[data-frontend] #prototype-region-pins{position:absolute;inset:0}
#server-workspace[data-frontend] .filters{display:flex;gap:14px;flex-wrap:wrap}
#server-workspace[data-frontend] .filters label{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mute)}
/* Dense geographic pins are desktop shortcuts. Mobile uses the same labelled city cards. */
@media(max-width:760px){#server-workspace[data-frontend] #prototype-region-pins{display:none}.replacement-empty{padding:26px 18px;min-height:190px}#p-you .dash>.card:nth-child(-n+3):has(.replacement-empty){min-height:270px}#p-you .prof .in{padding:0 20px 22px}#p-you .stats{gap:22px}#p-you .classbars .cb{grid-template-columns:28px 74px 1fr 36px}#server-workspace[data-frontend] .filters label{flex-wrap:wrap}}
/* Source Premium composition with the existing radios and protected workflow. */
.replacement-workflow #membership-workspace.premium-workspace .mw-workspace{display:block}
.replacement-workflow #membership-workspace.premium-workspace .mw-sidebar{position:static;margin:20px 0}
.replacement-workflow #membership-workspace.premium-workspace .mw-sidebar nav{flex-direction:row;flex-wrap:wrap}
.replacement-workflow #membership-workspace.premium-workspace .mw-side-help{display:none}
.replacement-workflow #membership-workspace.premium-workspace .prem,.replacement-workflow #membership-workspace.premium-workspace .compare{padding:0}
.replacement-workflow #membership-workspace.premium-workspace .prem p{margin:0;line-height:1.6}
.replacement-workflow #membership-workspace.premium-workspace .prem .pl-l>p{margin:12px 0}
.replacement-workflow #membership-workspace.premium-workspace .prem fieldset{padding:0;border:0;margin:20px 0;min-width:0}
.replacement-workflow #membership-workspace.premium-workspace .prem legend{font:11px var(--f-m);color:var(--mute);margin-bottom:10px}
.replacement-workflow #membership-workspace.premium-workspace .mw-toggle,.replacement-workflow #membership-workspace.premium-workspace .mw-plans{display:flex;flex-wrap:wrap;gap:8px}
.replacement-workflow #membership-workspace.premium-workspace .prem fieldset label{display:flex;align-items:center;gap:8px;margin:0;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-s);cursor:pointer;font-size:13px}
.replacement-workflow #membership-workspace.premium-workspace .prem fieldset label:has(:checked){border-color:var(--gold);background:var(--gold-d)}
.replacement-workflow #membership-workspace.premium-workspace .mw-plan{flex:1;min-width:96px;flex-wrap:wrap}
.replacement-workflow #membership-workspace.premium-workspace .mw-plan>span:not(.mw-plan-top),.replacement-workflow #membership-workspace.premium-workspace .mw-plan-top small{display:none}
.replacement-workflow #membership-workspace.premium-workspace .mw-plan strong{width:100%;font-size:18px}
.replacement-workflow #membership-workspace.premium-workspace .mw-plan strong small{font-size:11px;color:var(--mute)}
.replacement-workflow #membership-workspace.premium-workspace [data-action=review-premium]{width:100%;height:52px;background:var(--gold);color:var(--ink)}
.replacement-workflow #membership-workspace.premium-workspace #plan-selection,.replacement-workflow #membership-workspace.premium-workspace #premium-purchase-access{font-size:13px;color:var(--soft);margin:12px 0}
.replacement-workflow #membership-workspace.premium-workspace #premium-purchase-access a{margin-top:8px}
.replacement-workflow #membership-workspace.premium-workspace .premium-recovery-link{font-size:12px}
.replacement-workflow #membership-workspace.premium-workspace .perks .perk p{font-size:14px;color:var(--soft)}
.replacement-workflow #membership-workspace.premium-workspace .mw-panel,.replacement-workflow #membership-workspace.premium-workspace .mw-list-row{overflow-wrap:anywhere}
.replacement-workflow #membership-workspace.premium-workspace .mw-list-row{padding:16px 0;border-bottom:1px solid var(--line)}
@media(max-width:760px){.replacement-workflow #membership-workspace.premium-workspace .prem .pl-l{padding:24px}.replacement-workflow #membership-workspace.premium-workspace .price-big{font-size:60px}.replacement-workflow #membership-workspace.premium-workspace .perks{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:760px){#p-community #com-grid{grid-template-columns:minmax(0,1fr)!important}#p-compete .cp-copy{min-width:0}#p-compete .countdown{flex-wrap:wrap}#p-compete .cp-copy>p{max-width:100%}}
/* Shared workflow controls and long documents use the prototype tokens. */
.replacement-workflow h1{font-size:clamp(32px,4vw,56px);line-height:1.05}
.replacement-workflow h2{font-size:clamp(26px,3vw,38px);line-height:1.12}
.replacement-workflow{min-width:0;overflow-wrap:anywhere;--gold-d:var(--gold-t)}
.replacement-workflow :is(section,article,form,fieldset,header,aside){min-width:0;max-width:100%}
.replacement-workflow :is(button,input,select,textarea){font-family:var(--f-b);color:var(--paper)}
.replacement-workflow button:not(.btn){background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-s);padding:9px 14px;max-width:100%;white-space:normal}
.replacement-workflow :is(input[type=checkbox],input[type=radio]){accent-color:var(--gold)}
.replacement-workflow :is(pre,code,kbd){font-family:var(--f-m);font-size:.88em}
.replacement-workflow pre{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-s);padding:16px;max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.replacement-workflow :is(ul,ol){padding-left:24px;line-height:1.7}
.replacement-workflow li+li{margin-top:8px}
.replacement-workflow a:not(.btn):not([class*="nav-"]){text-underline-offset:3px}
.replacement-workflow a:not(.btn):hover{text-decoration:underline}
.replacement-workflow :is(.admin-nav-link.active,.tab-active){border-color:var(--gold);color:var(--gold)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page.on{animation:none}.ticker .track{animation:none}}
/* BEGIN REPLACEMENT COSMETICS */


 html[data-frontend="replacement"] .rainbow-name {
 background: linear-gradient(90deg,#ff3b30,#ff9500,#ffcc00,#34c759,#5ac8fa,#007aff,#5856d6,#ff2d55);
 -webkit-background-clip: text;
 background-clip: text;
 color: transparent;
 background-size: 200% 200%;
 animation: replacement-cosmetic-rainbow-shift 3s linear infinite;
 display: inline-block;
 }
 html[data-frontend="replacement"] .tfcl-badge {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 position: absolute;
 bottom: -4px;
 left: -4px;
 width: 18px;
 height: 18px;
 background: linear-gradient(135deg, #FFB800 0%, #FF8C00 100%);
 border: 2px solid #000;
 border-radius: 50%;
 font-size: 9px;
 line-height: 1;
 box-shadow: 0 0 6px rgba(255,184,0,0.55);
 z-index: 2;
 pointer-events: none;
 user-select: none;
 }
 html[data-frontend="replacement"] .tfcl-badge-inline {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 14px;
 height: 14px;
 background: linear-gradient(135deg, #FFB800 0%, #FF8C00 100%);
 border: 1.5px solid #000;
 border-radius: 50%;
 font-size: 7px;
 line-height: 1;
 box-shadow: 0 0 4px rgba(255,184,0,0.45);
 flex-shrink: 0;
 user-select: none;
 }
 html[data-frontend="replacement"] .lobby-slot-frame-gold,
 html[data-frontend="replacement"] .lobby-row-frame-gold,
 html[data-frontend="replacement"] .lobby-slot-gold,
 html[data-frontend="replacement"] .lobby-row-gold {
 border-color: rgba(255,184,0,0.55) !important;
 box-shadow: inset 0 0 0 1px rgba(255,184,0,0.18), 0 0 8px rgba(255,184,0,0.18);
 }
 html[data-frontend="replacement"] .lobby-row-frame-gold,
 html[data-frontend="replacement"] .lobby-row-gold {
 box-shadow: 0 0 6px rgba(255,184,0,0.15);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-neon,
 html[data-frontend="replacement"] .lobby-row-frame-neon {
 border-color: rgba(34,211,238,0.7) !important;
 box-shadow: 0 0 10px rgba(34,211,238,0.35), 0 0 18px rgba(56,189,248,0.25);
 animation: replacement-cosmetic-frame-neon-pulse 2.6s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .lobby-slot-frame-scout,
 html[data-frontend="replacement"] .lobby-row-frame-scout {
 border-color: rgba(79,195,247,0.7) !important;
 box-shadow: 0 0 8px rgba(79,195,247,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-soldier,
 html[data-frontend="replacement"] .lobby-row-frame-soldier {
 border-color: rgba(249,115,22,0.7) !important;
 box-shadow: 0 0 8px rgba(249,115,22,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-pyro,
 html[data-frontend="replacement"] .lobby-row-frame-pyro {
 border-color: rgba(239,68,68,0.75) !important;
 box-shadow: 0 0 8px rgba(239,68,68,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-demoman,
 html[data-frontend="replacement"] .lobby-row-frame-demoman {
 border-color: rgba(168,85,247,0.75) !important;
 box-shadow: 0 0 8px rgba(168,85,247,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-heavy,
 html[data-frontend="replacement"] .lobby-row-frame-heavy {
 border-color: rgba(161,98,7,0.8) !important;
 box-shadow: 0 0 8px rgba(161,98,7,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-engineer,
 html[data-frontend="replacement"] .lobby-row-frame-engineer {
 border-color: rgba(251,191,36,0.85) !important;
 box-shadow: 0 0 8px rgba(251,191,36,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-medic,
 html[data-frontend="replacement"] .lobby-row-frame-medic {
 border-color: rgba(34,197,94,0.75) !important;
 box-shadow: 0 0 8px rgba(34,197,94,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-sniper,
 html[data-frontend="replacement"] .lobby-row-frame-sniper {
 border-color: rgba(132,204,22,0.75) !important;
 box-shadow: 0 0 8px rgba(132,204,22,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-spy,
 html[data-frontend="replacement"] .lobby-row-frame-spy {
 border-color: rgba(99,102,241,0.8) !important;
 box-shadow: 0 0 8px rgba(99,102,241,0.35);
 }
 html[data-frontend="replacement"] .lobby-slot-frame-halloween,
 html[data-frontend="replacement"] .lobby-row-frame-halloween {
 border-color: rgba(249,115,22,0.8) !important;
 box-shadow: 0 0 10px rgba(249,115,22,0.35), 0 0 18px rgba(168,85,247,0.35);
 animation: replacement-cosmetic-frame-halloween-flicker 3s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .lobby-slot-frame-summer,
 html[data-frontend="replacement"] .lobby-row-frame-summer {
 border-color: rgba(34,211,238,0.8) !important;
 box-shadow: 0 0 10px rgba(34,211,238,0.35), 0 0 16px rgba(251,191,36,0.3);
 animation: replacement-cosmetic-frame-summer-wave 3s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .lobby-slot-frame-christmas,
 html[data-frontend="replacement"] .lobby-row-frame-christmas {
 border-color: rgba(34,197,94,0.8) !important;
 box-shadow: 0 0 10px rgba(34,197,94,0.35), 0 0 16px rgba(239,68,68,0.35);
 animation: replacement-cosmetic-frame-christmas-glow 3.2s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .avatar-supporter-glow {
 box-shadow: inset 0 0 0 2px #FFD480, 0 0 8px rgba(255,184,0,0.45), 0 0 16px rgba(255,184,0,0.25);
 animation: replacement-cosmetic-supporter-glow-pulse 2.4s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .lobby-slot-supporter,
 html[data-frontend="replacement"] .lobby-row-supporter {
 box-shadow: inset 0 0 0 1px rgba(255,212,128,0.45), 0 0 8px rgba(255,184,0,0.2);
 }
 html[data-frontend="replacement"] .supporter-tag {
 display: inline-flex;
 align-items: center;
 gap: 3px;
 font-weight: 700;
 letter-spacing: 0.06em;
 color: #FFD480;
 background: rgba(255,212,128,0.12);
 border: 1px solid rgba(255,212,128,0.4);
 border-radius: 999px;
 vertical-align: middle;
 text-transform: uppercase;
 animation: replacement-cosmetic-supporter-tag-pulse 2.4s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .profile-card-box.frame-gold,
 html[data-frontend="replacement"] .profile-card-box.gold-border {
 border: 2px solid #FFB800;
 box-shadow: 0 0 24px rgba(255,184,0,0.35), 0 0 0 1px rgba(255,184,0,0.15);
 }
 html[data-frontend="replacement"] .profile-card-box.frame-neon {
 border: 2px solid rgba(34,211,238,0.9);
 box-shadow: 0 0 18px rgba(34,211,238,0.5), 0 0 30px rgba(56,189,248,0.35);
 animation: replacement-cosmetic-frame-neon-pulse 2.6s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .profile-card-box.frame-scout { border: 2px solid rgba(79,195,247,0.9); box-shadow: 0 0 18px rgba(79,195,247,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-soldier { border: 2px solid rgba(249,115,22,0.9); box-shadow: 0 0 18px rgba(249,115,22,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-pyro { border: 2px solid rgba(239,68,68,0.9); box-shadow: 0 0 18px rgba(239,68,68,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-demoman { border: 2px solid rgba(168,85,247,0.9); box-shadow: 0 0 18px rgba(168,85,247,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-heavy { border: 2px solid rgba(161,98,7,0.95); box-shadow: 0 0 18px rgba(161,98,7,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-engineer { border: 2px solid rgba(251,191,36,0.95); box-shadow: 0 0 18px rgba(251,191,36,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-medic { border: 2px solid rgba(34,197,94,0.9); box-shadow: 0 0 18px rgba(34,197,94,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-sniper { border: 2px solid rgba(132,204,22,0.9); box-shadow: 0 0 18px rgba(132,204,22,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-spy { border: 2px solid rgba(99,102,241,0.95); box-shadow: 0 0 18px rgba(99,102,241,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-halloween {
 border: 2px solid rgba(249,115,22,0.95);
 box-shadow: 0 0 18px rgba(249,115,22,0.4), 0 0 28px rgba(168,85,247,0.45);
 animation: replacement-cosmetic-frame-halloween-flicker 3s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .profile-card-box.frame-summer {
 border: 2px solid rgba(34,211,238,0.95);
 box-shadow: 0 0 18px rgba(34,211,238,0.4), 0 0 26px rgba(251,191,36,0.35);
 animation: replacement-cosmetic-frame-summer-wave 3s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .profile-card-box.frame-christmas {
 border: 2px solid rgba(34,197,94,0.95);
 box-shadow: 0 0 18px rgba(34,197,94,0.4), 0 0 26px rgba(239,68,68,0.4);
 animation: replacement-cosmetic-frame-christmas-glow 3.2s ease-in-out infinite;
 }
 html[data-frontend="replacement"] .profile-card-box.frame-scout { background: repeating-linear-gradient(135deg, rgba(79,195,247,0.12) 0px, rgba(79,195,247,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(79,195,247,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-soldier { background: repeating-linear-gradient(135deg, rgba(249,115,22,0.12) 0px, rgba(249,115,22,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(249,115,22,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-pyro { background: repeating-linear-gradient(135deg, rgba(239,68,68,0.12) 0px, rgba(239,68,68,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(239,68,68,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-demoman { background: repeating-linear-gradient(135deg, rgba(168,85,247,0.12) 0px, rgba(168,85,247,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(168,85,247,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-heavy { background: repeating-linear-gradient(135deg, rgba(161,98,7,0.12) 0px, rgba(161,98,7,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(161,98,7,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-engineer { background: repeating-linear-gradient(135deg, rgba(251,191,36,0.12) 0px, rgba(251,191,36,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(251,191,36,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-medic { background: repeating-linear-gradient(135deg, rgba(34,197,94,0.12) 0px, rgba(34,197,94,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(34,197,94,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-sniper { background: repeating-linear-gradient(135deg, rgba(132,204,22,0.12) 0px, rgba(132,204,22,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(132,204,22,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-spy { background: repeating-linear-gradient(135deg, rgba(99,102,241,0.12) 0px, rgba(99,102,241,0.12) 8px, rgba(13,13,13,0.9) 8px, rgba(13,13,13,0.9) 16px), radial-gradient(circle at 20% 20%, rgba(99,102,241,0.2), rgba(13,13,13,0.95) 58%), #0D0D0D; }
 html[data-frontend="replacement"] .profile-card-box.frame-scout::before,
 html[data-frontend="replacement"] .profile-card-box.frame-soldier::before,
 html[data-frontend="replacement"] .profile-card-box.frame-pyro::before,
 html[data-frontend="replacement"] .profile-card-box.frame-demoman::before,
 html[data-frontend="replacement"] .profile-card-box.frame-heavy::before,
 html[data-frontend="replacement"] .profile-card-box.frame-engineer::before,
 html[data-frontend="replacement"] .profile-card-box.frame-medic::before,
 html[data-frontend="replacement"] .profile-card-box.frame-sniper::before,
 html[data-frontend="replacement"] .profile-card-box.frame-spy::before {
 content: '';
 position: absolute;
 inset: -10% 0 0 35%;
 background-repeat: no-repeat;
 background-position: top right;
 background-size: 75% auto;
 opacity: 0.12;
 pointer-events: none;
 filter: drop-shadow(0 0 18px rgba(0,0,0,0.45));
 }
 html[data-frontend="replacement"] .profile-card-box.frame-scout::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-scout.jpg'); }
 html[data-frontend="replacement"] .profile-card-box.frame-soldier::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-soldier.jpg'); }
 html[data-frontend="replacement"] .profile-card-box.frame-pyro::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-pyro.jpg'); }
 html[data-frontend="replacement"] .profile-card-box.frame-demoman::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-demoman.jpg'); }
 html[data-frontend="replacement"] .profile-card-box.frame-heavy::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-heavy.jpg'); }
 html[data-frontend="replacement"] .profile-card-box.frame-engineer::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-engineer.jpg'); }
 html[data-frontend="replacement"] .profile-card-box.frame-medic::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-medic.jpg'); }
 html[data-frontend="replacement"] .profile-card-box.frame-sniper::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-sniper.jpg'); }
 html[data-frontend="replacement"] .profile-card-box.frame-spy::before { background-image: url('https://cdn.tfcleague.com/2026/09/icons-frames-spy.jpg'); }
 html[data-frontend="replacement"] .profile-frame-ribbon {
 background: linear-gradient(90deg, rgba(255,255,255,0.06), transparent);
 border-bottom: 1px solid rgba(255,255,255,0.12);
 padding: 4px 12px;
 display: flex;
 align-items: center;
 gap: 6px;
 font-size: 0.6rem;
 font-weight: 700;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-gold { color: #FFB800; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-neon { color: #22D3EE; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-scout { color: #4FC3F7; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-soldier { color: #F97316; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-pyro { color: #EF4444; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-demoman { color: #A855F7; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-heavy { color: #A16207; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-engineer { color: #FBBF24; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-medic { color: #22C55E; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-sniper { color: #84CC16; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-spy { color: #6366F1; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-halloween { color: #F97316; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-summer { color: #22D3EE; }
 html[data-frontend="replacement"] .profile-frame-ribbon.frame-christmas { color: #22C55E; }
 html[data-frontend="replacement"] .frame-icon {
 width: 12px;
 height: 12px;
 border-radius: 999px;
 background-size: 80% 80%;
 background-position: center;
 background-repeat: no-repeat;
 display: inline-block;
 flex-shrink: 0;
 filter: drop-shadow(0 0 4px rgba(0,0,0,0.65));
 }
 html[data-frontend="replacement"] .frame-icon-animated { animation: replacement-cosmetic-frame-class-icon 2.8s ease-in-out infinite; }
 html[data-frontend="replacement"] .pc-avatar {
 width: 56px;
 height: 56px;
 border-radius: 8px;
 border: 2px solid #222;
 object-fit: cover;
 }
 html[data-frontend="replacement"] .profile-card-box.frame-gold .pc-avatar,
 html[data-frontend="replacement"] .profile-card-box.gold-border .pc-avatar { border-color: #FFB800; box-shadow: 0 0 10px rgba(255,184,0,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-neon .pc-avatar { border-color: #22D3EE; box-shadow: 0 0 10px rgba(34,211,238,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-scout .pc-avatar { border-color: #4FC3F7; box-shadow: 0 0 10px rgba(79,195,247,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-soldier .pc-avatar { border-color: #F97316; box-shadow: 0 0 10px rgba(249,115,22,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-pyro .pc-avatar { border-color: #EF4444; box-shadow: 0 0 10px rgba(239,68,68,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-demoman .pc-avatar { border-color: #A855F7; box-shadow: 0 0 10px rgba(168,85,247,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-heavy .pc-avatar { border-color: #A16207; box-shadow: 0 0 10px rgba(161,98,7,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-engineer .pc-avatar { border-color: #FBBF24; box-shadow: 0 0 10px rgba(251,191,36,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-medic .pc-avatar { border-color: #22C55E; box-shadow: 0 0 10px rgba(34,197,94,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-sniper .pc-avatar { border-color: #84CC16; box-shadow: 0 0 10px rgba(132,204,22,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-spy .pc-avatar { border-color: #6366F1; box-shadow: 0 0 10px rgba(99,102,241,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-halloween .pc-avatar { border-color: #F97316; box-shadow: 0 0 10px rgba(249,115,22,0.4); }
 html[data-frontend="replacement"] .profile-card-box.frame-summer .pc-avatar { border-color: #22D3EE; box-shadow: 0 0 10px rgba(34,211,238,0.35); }
 html[data-frontend="replacement"] .profile-card-box.frame-christmas .pc-avatar { border-color: #22C55E; box-shadow: 0 0 10px rgba(34,197,94,0.35); }
 html[data-frontend="replacement"] .pc-avatar.avatar-supporter-glow { box-shadow: inset 0 0 0 2px #FFD480, 0 0 10px rgba(255,184,0,0.5), 0 0 18px rgba(255,184,0,0.28); animation: replacement-cosmetic-supporter-glow-pulse 2.4s ease-in-out infinite; }

 @keyframes replacement-cosmetic-rainbow-shift {
 0% { background-position: 0% 50%; }
 100% { background-position: 100% 50%; }
 }
 @keyframes replacement-cosmetic-frame-neon-pulse {
 0% { box-shadow: 0 0 8px rgba(34,211,238,0.35), 0 0 14px rgba(56,189,248,0.25); }
 33% { box-shadow: 0 0 12px rgba(52,211,153,0.55), 0 0 22px rgba(16,185,129,0.35); }
 66% { box-shadow: 0 0 14px rgba(236,72,153,0.55), 0 0 24px rgba(168,85,247,0.35); }
 100% { box-shadow: 0 0 8px rgba(34,211,238,0.35), 0 0 14px rgba(56,189,248,0.25); }
 }
 @keyframes replacement-cosmetic-frame-halloween-flicker {
 0%, 100% { box-shadow: 0 0 10px rgba(249,115,22,0.4), 0 0 18px rgba(168,85,247,0.35); }
 50% { box-shadow: 0 0 14px rgba(249,115,22,0.6), 0 0 24px rgba(168,85,247,0.5); }
 }
 @keyframes replacement-cosmetic-frame-summer-wave {
 0%, 100% { box-shadow: 0 0 10px rgba(34,211,238,0.35), 0 0 16px rgba(251,191,36,0.3); }
 50% { box-shadow: 0 0 14px rgba(34,211,238,0.55), 0 0 22px rgba(251,191,36,0.45); }
 }
 @keyframes replacement-cosmetic-frame-christmas-glow {
 0%, 100% { box-shadow: 0 0 10px rgba(34,197,94,0.35), 0 0 18px rgba(239,68,68,0.35); }
 50% { box-shadow: 0 0 14px rgba(34,197,94,0.55), 0 0 24px rgba(239,68,68,0.5); }
 }
 @keyframes replacement-cosmetic-supporter-glow-pulse {
 0%, 100% { box-shadow: 0 0 8px rgba(255,212,128,0.4), 0 0 14px rgba(255,184,0,0.25); }
 50% { box-shadow: 0 0 14px rgba(255,212,128,0.7), 0 0 26px rgba(255,184,0,0.5); }
 }
 @keyframes replacement-cosmetic-supporter-tag-pulse {
 0%, 100% { opacity: 1; }
 50% { opacity: 0.65; }
 }
 @keyframes replacement-cosmetic-frame-class-icon {
 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 4px rgba(255,255,255,0.2)); }
 50% { transform: scale(1.08); filter: drop-shadow(0 0 8px rgba(255,255,255,0.45)); }
 }
 html[data-frontend="replacement"] .tfcl-name-color{color:var(--tfcl-name-color)!important}
 html[data-frontend="replacement"] .supporter-tag i{display:inline-block;width:1em;height:1em;font-style:normal}
 html[data-frontend="replacement"] .supporter-tag i::before{content:"";display:block;width:100%;height:100%;background:currentColor;mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2021%203%2012C-3%205%206-2%2012%205c6-7%2015%200%209%207Z%22%2F%3E%3C%2Fsvg%3E")!important;mask-size:contain;mask-repeat:no-repeat;mask-position:center}
 html[data-frontend="replacement"] .frame-icon-scout{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-scout.jpg")}
 html[data-frontend="replacement"] .frame-icon-soldier{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-soldier.jpg")}
 html[data-frontend="replacement"] .frame-icon-pyro{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-pyro.jpg")}
 html[data-frontend="replacement"] .frame-icon-demoman{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-demoman.jpg")}
 html[data-frontend="replacement"] .frame-icon-heavy{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-heavy.jpg")}
 html[data-frontend="replacement"] .frame-icon-engineer{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-engineer.jpg")}
 html[data-frontend="replacement"] .frame-icon-medic{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-medic.jpg")}
 html[data-frontend="replacement"] .frame-icon-sniper{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-sniper.jpg")}
 html[data-frontend="replacement"] .frame-icon-spy{background-image:url("https://cdn.tfcleague.com/2026/09/icons-frames-spy.jpg")}
 @media(prefers-reduced-motion:reduce){html[data-frontend="replacement"] :is(.rainbow-name,.avatar-supporter-glow,.supporter-tag,.frame-icon-animated,[class*="lobby-slot-frame-"],[class*="lobby-row-frame-"],.profile-card-box[class*="frame-"]){animation:none!important}}
/* END REPLACEMENT COSMETICS */
