/* WOLF ZONE — competition and title composition system, audit1607.
   Live-app surfaces only. No exported canvas/layout is modified here.
   All three themes inherit the same geometry from --ui-* tokens. */

/* Canonical source owner for shared participant cells and league controls. */
/* The shared participant cells must use theme tokens, never hardcoded navy. */
#app #view :is(.participants,.wolf-ko-roster,.league-player-table) .participant-table tbody td{
  background:var(--ui-inner)!important;
  border-top-color:rgba(var(--ui-rgb),.48)!important;
  border-bottom-color:rgba(var(--ui-rgb),.48)!important;
  color:var(--ui-ink)!important;
}
#app #view :is(.participants,.wolf-ko-roster,.league-player-table) .participant-table tbody td:first-child{border-right-color:var(--ui-accent)!important}
#app #view :is(.participants,.wolf-ko-roster,.league-player-table) .participant-table tbody td:last-child{border-left-color:var(--ui-accent)!important}
/* Common match and round panels no longer retain the navy layer in burgundy/ivory. */
#app #view :is(.league-start-tools,.league-fixtures,.league-matches-board,.league-matches-list,.league-round-list,.league-round-card,.league-rounds,.league-matches-panel,.league-round-preview,.quick-tools-control){
  --league-deep:var(--ui-inner);--league-accent:var(--ui-accent);--league-ink:var(--ui-ink);
}
body:is(.burgundy,.light) #app #view :is(.league-start-tools,.league-round-card,.league-matches-board,.league-rounds){background-color:var(--ui-surface)!important;border-color:var(--ui-accent)!important;}
#app #view .league-page :is(.league-start-tools,.quick-tools-control) button.action{
  min-width:0!important;min-height:var(--ui-control-height)!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;box-sizing:border-box!important;
}
#app #view .league-page .league-dates-unified .league-start-date-card{min-height:96px!important;max-height:none!important;padding:var(--ui-space-sm,10px)!important;}

/* Live iOS save-dialog fallback links (not PNG export styling). */
/* Fallback links for iOS when system share rejects multiple PNG files. */
.league-export-file-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:42vh;overflow:auto;padding:8px 2px;}
.league-export-file-links .notice{grid-column:1/-1;font-size:var(--ui-small-size);line-height:1.5;}
.league-export-file-links a.action{display:grid;place-items:center;min-height:var(--ui-control-height);padding:7px;font-size:var(--ui-small-size);text-decoration:none;color:var(--ui-ink);border:1px solid var(--ui-accent);border-radius:12px;background:var(--ui-inner);}
@media(max-width:340px){.league-export-file-links{grid-template-columns:minmax(0,1fr)}}

#app #view .home-title.home-title-svg,
#app #view .home-title.home-title-svg.mode-page-title,
#app #view .mode-page-title.home-title-svg {
  background:transparent!important;background-color:transparent!important;
  background-image:none!important;border:0!important;outline:0!important;
  box-shadow:none!important;clip-path:none!important;overflow:visible!important;
  isolation:isolate;
}
#app #view .home-title-svg::before,
#app #view .home-title-svg::after,
#app #view .mode-page-title::before,
#app #view .mode-page-title::after {
  content:none!important;display:none!important;
}
#app #view .home-title-svg .title-frame {
  display:block;position:absolute;inset:0;width:100%;height:100%;
  background:transparent!important;isolation:isolate;
}
#app #view :is(.home-showcase,.home-simple,.quick-normal-page,.knockout-page,.league-page,
 .management-hub-page,.records-menu-page,.honor-page,.settings-page) {
  background:transparent!important;background-color:transparent!important;
  background-image:none!important;
}
/* Native themed surfaces prevent burgundy/ivory pages inheriting dark-blue cards. */
#app #view .league-page :is(.league-board-banner,.league-standings-card,.league-stage,
 .league-round-group,.league-fixtures,.league-table-wrap),
#app #view .knockout-page :is(.ko-current-round,.knockout-control-card,.round-banner),
#app #view :is(.standalone-controls-card,.quick-tools-control) {
  --competition-panel:var(--ui-surface);
  --competition-inner:var(--ui-inner);
  --competition-stroke:rgba(var(--ui-rgb),.62);
  --competition-glow:rgba(var(--ui-rgb),.26);
  border-color:var(--competition-stroke)!important;
  color:var(--ui-ink)!important;
}
#app #view .league-page :is(.league-stage,.league-round-group,.league-fixtures),
#app #view .knockout-page .ko-current-round {
  background:var(--ui-surface)!important;
  background-image:none!important;
  border-color:rgba(var(--ui-rgb),.5)!important;
  box-shadow:var(--ui-neon-card-shadow)!important;
}
#app #view .league-page .league-board-banner,
#app #view .knockout-page .round-banner {
  background:var(--ui-surface)!important;
  background-image:none!important;
  border-color:rgba(var(--ui-rgb),.62)!important;
  box-shadow:var(--ui-neon-card-shadow)!important;
}
#app #view .league-page .league-round-group {
  box-sizing:border-box!important;min-width:0!important;
  margin:0 0 var(--ui-row-gap,14px)!important;padding:var(--ui-space,14px)!important;border-radius:var(--ui-radius,16px)!important;
}
#app #view .league-page .league-round {
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;
  justify-content:space-between!important;gap:var(--ui-space-sm)!important;
  margin:0 0 var(--ui-space-sm,10px)!important;min-height:var(--ui-control-height)!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
#app #view .league-page .league-round-name {
  flex:1 1 auto!important;min-width:0!important;
  color:var(--ui-ink)!important;font-size:var(--ui-round-subtitle-size)!important;
  font-weight:800!important;line-height:1.4!important;
}
#app #view .league-page .league-round-meta {
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  flex:0 1 auto!important;gap:var(--ui-space-xs,7px)!important;min-width:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
#app #view .league-page .league-round-progress,
#app #view .league-page .league-round-date {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:31px!important;min-width:0!important;
  padding:5px 9px!important;border-radius:9px!important;
  box-sizing:border-box!important;font-size:var(--ui-small-size)!important;
  line-height:1.4!important;font-variant-numeric:tabular-nums;
  direction:ltr;unicode-bidi:isolate;white-space:normal!important;
  color:var(--ui-ink)!important;background:var(--ui-inner)!important;
  border:1px solid rgba(var(--ui-rgb),.52)!important;
  box-shadow:0 0 7px rgba(var(--ui-rgb),.12)!important;
}
#app #view .league-page .league-round-bye {flex:1 0 100%;margin:0!important;color:var(--ui-muted)!important;}
#app #view .league-page .league-round-group .competition-match {
  max-width:100%!important;min-width:0!important;
  background:var(--ui-inner)!important;border-color:rgba(var(--ui-rgb),.48)!important;
  box-shadow:0 0 8px rgba(var(--ui-rgb),.12)!important;
}
#app #view .league-page .league-match .ko-player {
  min-width:0!important;color:var(--ui-ink)!important;
  background:var(--ui-surface)!important;border-color:rgba(var(--ui-rgb),.62)!important;
}
#app #view .league-page .league-match .ko-player.winner {border-color:var(--ui-gold,#E2BC61)!important;}
#app #view .league-page .league-draw-btn {background:var(--ui-inner)!important;border-color:rgba(var(--ui-rgb),.65)!important;color:var(--ui-ink)!important;}
#app #view .league-page .league-table-wrap {width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;background:var(--ui-surface)!important;}
#app #view .league-page .league-table {table-layout:fixed!important;width:100%!important;min-width:0!important;direction:rtl!important;border-collapse:separate!important;border-spacing:0 4px!important;}
#app #view .league-page .league-table :is(th,td) {
  box-sizing:border-box!important;min-width:0!important;white-space:nowrap!important;
  text-align:center!important;padding:9px 2px!important;
  font-size:clamp(11px,3.0vw,15px)!important;line-height:1.45!important;
  color:var(--ui-ink)!important;
}
#app #view .league-page .league-table :is(th,td):nth-child(1){width:9%!important;}
#app #view .league-page .league-table :is(th,td):nth-child(2){width:28%!important;max-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:right!important;padding-inline:6px!important;}
#app #view .league-page .league-table :is(th,td):nth-child(n+3):nth-child(-n+6){width:10.5%!important;}
#app #view .league-page .league-table :is(th,td):nth-child(7){width:21%!important;}
#app #view .league-page .league-table tbody tr {background:var(--ui-inner)!important;background-image:none!important;}
#app #view .league-page .league-table tbody td {background:var(--ui-inner)!important;border-color:rgba(var(--ui-rgb),.23)!important;}
#app #view .league-page .league-rank span {color:var(--ui-ink)!important;border-color:rgba(var(--ui-rgb),.7)!important;}
#app #view .league-page .league-table .league-points {font-weight:850!important;color:var(--ui-ink)!important;}
#app #view .league-page .wolf-league-side-labels {background:transparent!important;box-shadow:none!important;}
#app #view .league-page .wolf-league-side-labels > b {font-size:clamp(23px,6.5vw,30px)!important;color:var(--ui-accent)!important;text-shadow:0 0 10px rgba(var(--ui-rgb),.31)!important;}
/* Control bars are at the end of the page and are equally clickable on phone. */
#app #view :is(.league-page,.knockout-page) .standalone-controls-card {
  margin:var(--ui-section-gap) 0 calc(var(--ui-section-gap) * 2)!important;padding:var(--ui-space-sm)!important;
  background:var(--ui-surface)!important;background-image:none!important;
  border:1px solid rgba(var(--ui-rgb),.58)!important;
  box-shadow:var(--ui-neon-card-shadow)!important;
}
#app #view .league-page .league-tools.league-tools-top,
#app #view .knockout-page .ko-actions.ko-actions-top {
  display:grid!important;direction:rtl!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:var(--ui-space-sm)!important;width:100%!important;min-width:0!important;
  padding:0!important;margin:0!important;
  background:transparent!important;background-image:none!important;
  border:0!important;box-shadow:none!important;
}
#app #view .knockout-page .ko-actions.ko-actions-top>.locked-draw {
  grid-column:1/-1!important;min-height:34px!important;font-size:var(--ui-small-size)!important;
}
#app #view :is(.league-page,.knockout-page) :is(.league-tools-top,.ko-actions-top)>button.action {
  box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;
  min-height:var(--ui-competition-action-height)!important;padding:9px 5px!important;margin:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:4px!important;font-size:var(--ui-small-size)!important;
  line-height:1.35!important;font-weight:750!important;
  white-space:normal!important;word-break:keep-all!important;
  color:var(--ui-ink)!important;background:var(--ui-inner)!important;
  background-image:none!important;border-color:rgba(var(--ui-rgb),.62)!important;
  box-shadow:0 0 9px rgba(var(--ui-rgb),.19)!important;
}
#app #view :is(.league-page,.knockout-page) :is(.league-tools-top,.ko-actions-top)>button.action .control-icon,
#app #view :is(.league-page,.knockout-page) :is(.league-tools-top,.ko-actions-top)>button.action .camera-line {
  flex:0 0 20px!important;min-width:20px!important;height:20px!important;
}
#app #view .knockout-page .ko-actions.ko-actions-top>button.action:last-child:nth-child(even) {grid-column:auto!important;}
/* Overlay palette comes from the selected theme, not the old navy popup. */
.league-save-overlay {
  background:rgba(0,0,0,.72)!important;
  padding:clamp(12px,4vw,20px)!important;
  overscroll-behavior:contain;
}
.league-save-overlay .league-save-dialog.wz-premium-export-dialog {
  box-sizing:border-box!important;width:min(100%,var(--ui-dialog-width))!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;
  color:var(--ui-ink)!important;background:var(--ui-surface)!important;
  background-image:none!important;border:1.5px solid rgba(var(--ui-rgb),.82)!important;
  border-radius:var(--ui-dialog-radius)!important;padding:var(--ui-dialog-padding)!important;
  gap:var(--ui-row-gap)!important;box-shadow:0 0 20px rgba(var(--ui-rgb),.29)!important;
}
.league-save-overlay .league-save-dialog h3 {color:var(--ui-ink)!important;font-size:clamp(21px,5.5vw,24px)!important;}
.league-save-overlay .league-save-dialog p {color:var(--ui-muted)!important;font-size:var(--ui-small-size)!important;line-height:1.6!important;}
.league-save-overlay .league-save-dialog .action {
  box-sizing:border-box!important;min-width:0!important;min-height:var(--ui-dialog-action-height)!important;padding:var(--ui-space-sm) var(--ui-space)!important;color:var(--ui-ink)!important;white-space:normal!important;word-break:keep-all!important;
  background:var(--ui-inner)!important;border:1px solid rgba(var(--ui-rgb),.7)!important;
  box-shadow:0 0 9px rgba(var(--ui-rgb),.22)!important;
}
.league-save-overlay .league-save-dialog .wz-export-menu-icon {color:var(--ui-accent)!important;box-shadow:none!important;}
.league-save-overlay .league-export-file-links {grid-template-columns:1fr!important;max-height:40dvh!important;}
.league-save-overlay .league-export-file-links .notice {color:var(--ui-muted)!important;}
@media(max-width:355px){
 #app #view .league-page .league-round {flex-direction:column!important;align-items:stretch!important;}
 #app #view .league-page .league-round-meta {justify-content:flex-start!important;}
 #app #view :is(.league-page,.knockout-page) :is(.league-tools-top,.ko-actions-top) {gap:var(--ui-space-xs)!important;}
 #app #view :is(.league-page,.knockout-page) :is(.league-tools-top,.ko-actions-top)>button.action {font-size:var(--ui-small-size)!important;padding:8px 5px!important;}
}
/* Earlier releases used !important declarations inside the named identity
   layer. The canonical live-competition surfaces must override those *within*
   that same layer, otherwise their old navy gradients win the cascade. */
@layer identity {
  #app #view .league-page .league-round-group,
  #app #view .league-page .league-stage,
  #app #view .league-page .league-fixtures,
  #app #view .league-page .league-round-card {
    background:var(--ui-surface)!important;
    background-image:none!important;
    border-color:rgba(var(--ui-rgb),.54)!important;
    box-shadow:0 0 12px rgba(var(--ui-rgb),.20)!important;
  }
  #app #view .league-page .league-round-group .league-match,
  #app #view .league-page .league-round-group .competition-match {
    background:var(--ui-inner)!important;
    background-image:none!important;
    border-color:rgba(var(--ui-rgb),.50)!important;
  }
  #app #view .league-page .league-board-banner,
  #app #view .knockout-page .round-banner {
    background:var(--ui-surface)!important;
    background-image:none!important;
    border-color:rgba(var(--ui-rgb),.62)!important;
  }
  #app #view .league-page .league-round-progress,
  #app #view .league-page .league-round-date {
    background:var(--ui-inner)!important;
    background-image:none!important;
    color:var(--ui-ink)!important;
    border-color:rgba(var(--ui-rgb),.52)!important;
  }
  #app #view .league-page .league-tools.league-tools-top,
  #app #view .knockout-page .ko-actions.ko-actions-top {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    background:transparent!important;background-image:none!important;border:0!important;
  }
  #app #view .knockout-page .ko-actions.ko-actions-top > .action:last-child:nth-child(even) {grid-column:auto!important;}
  #app #view .league-page .league-tools.league-tools-top > .action,
  #app #view .knockout-page .ko-actions.ko-actions-top > .action {
    width:100%!important;min-width:0!important;min-height:var(--ui-competition-action-height)!important;
    display:flex!important;flex-direction:column!important;
    gap:4px!important;padding:9px 5px!important;
    font-size:var(--ui-small-size)!important;
    background:var(--ui-inner)!important;background-image:none!important;
    border-color:rgba(var(--ui-rgb),.62)!important;
    color:var(--ui-ink)!important;
  }
  #app #view .league-page .league-save-overlay .league-save-dialog,
  body .league-save-overlay .wz-premium-export-dialog {
    background:var(--ui-surface)!important;
    background-image:none!important;
    color:var(--ui-ink)!important;
    border-color:var(--ui-accent)!important;
  }
}
@layer identity {
  #app #view .knockout-page .knockout-control-card .ko-actions.ko-actions-top {
    background:transparent!important;border:0!important;box-shadow:none!important;
  }
  #app #view .knockout-page .knockout-control-card .ko-actions.ko-actions-top > button.action:last-child:nth-child(even) {
    grid-column:auto!important;
  }
  #app #view .knockout-page .knockout-control-card .ko-actions.ko-actions-top > button.action {
    flex-direction:column!important;width:100%!important;min-height:var(--ui-competition-action-height)!important;
    font-size:var(--ui-small-size)!important;padding:9px 5px!important;
  }
}


/* WOLF ZONE 1608 — coherent native competition layouts.
   Deliberately one final source for these surfaces, not duplicated theme CSS. */
@layer identity {
  body {
    --wz-competition-shell:var(--ui-surface);
    --wz-competition-control:var(--ui-inner);
    --wz-competition-button:var(--ui-inner);
    --wz-competition-number:var(--ui-inner);
  }
  /* A single page-head contract for every branded secondary route.  The
     empty legacy title element is also removed in shell(), not painted over. */
  #app #view > .page-brand:not(.home-showcase) {
    display:flex!important;flex-direction:column!important;align-items:center!important;
    justify-content:center!important;min-width:0!important;max-width:100%!important;
    margin-inline:auto!important;background:transparent!important;background-image:none!important;
    border:0!important;box-shadow:none!important;overflow:visible!important;
  }
  #app #view > .page-brand:not(.home-showcase) > img {
    display:block!important;object-fit:contain!important;max-width:100%!important;
    max-height:var(--ui-logo-size)!important;margin-inline:auto!important;
    filter:none!important;background:transparent!important;box-shadow:none!important;
  }
  #app #view > .page-brand:not(.home-showcase) .channel {
    position:relative!important;z-index:1!important;max-width:calc(100% - 18px)!important;
    white-space:normal!important;overflow-wrap:normal!important;word-break:keep-all!important;
    text-align:center!important;line-height:1.55!important;font-weight:850!important;
    color:var(--ui-ink)!important;
    background:var(--wz-competition-control)!important;background-image:none!important;
    border:1.5px solid rgba(var(--ui-rgb),.78)!important;
    border-radius:999px!important;
    box-shadow:0 0 9px rgba(var(--ui-rgb),.38),0 0 19px rgba(var(--ui-rgb),.16)!important;
  }
  #app #view :is(.league-page,.knockout-page,.quick-normal-page,.records-menu-page,
    .management-hub-page,.record-detail-page,.settings-page,.honor-studio-page,
    .account-management-page,.backup-page) {
    box-sizing:border-box!important;max-width:100%!important;min-width:0!important;
    overflow-wrap:break-word;
  }
  #app #view :is(.league-page,.knockout-page,.quick-normal-page,
    .records-menu-page,.management-hub-page,.settings-page) > .mode-page-title {
    margin-block:4px 20px!important;max-width:100%!important;
    background:transparent!important;background-image:none!important;
    box-shadow:none!important;border:0!important;
  }
  #app #view :is(.league-page,.knockout-page,.quick-normal-page,
    .records-menu-page,.management-hub-page,.settings-page) > .mode-page-title:not(.royal-tier-page) .title-copy {
    max-width:calc(100% - 30px)!important;margin-inline:auto!important;
    font-size:clamp(21px,5.7vw,29px)!important;font-weight:850!important;
    text-align:center!important;line-height:1.42!important;
  }
  #app #view :is(.league-page,.knockout-page,.quick-normal-page,
    .records-menu-page,.management-hub-page,.settings-page) .card {
    box-sizing:border-box!important;max-width:100%!important;min-width:0!important;
  }
  #app #view :is(.league-page,.knockout-page,.quick-normal-page,
    .records-menu-page,.management-hub-page,.settings-page) :is(h2,h3,.league-section-heading b) {
    line-height:1.55!important;letter-spacing:0!important;
  }
  #app #view :is(.league-page,.knockout-page,.quick-normal-page,
    .records-menu-page,.management-hub-page,.settings-page) :is(button.action,.iconbtn,.mode-card) {
    touch-action:manipulation;box-sizing:border-box!important;min-width:0!important;
  }
  #app #view :is(.league-page,.knockout-page,.quick-normal-page,
    .records-menu-page,.management-hub-page,.settings-page) :is(button,a,input,select,textarea):focus-visible {
    outline:2px solid var(--ui-accent)!important;outline-offset:3px!important;
  }
  /* Only direct header titles are ribbons. No extra full-width, opaque title slab. */
  #app #view > .title:empty{display:none!important;}
  @media(max-width:390px){
    #app #view > .page-brand:not(.home-showcase) .channel {
      font-size:var(--ui-small-size)!important;padding:6px 11px!important;
    }
    #app #view :is(.league-page,.knockout-page,.quick-normal-page) .league-board-banner b {
      font-size:clamp(20px,5.8vw,27px)!important;
    }
  }
  /* Management, records, settings and awards share the SAME three theme surfaces.
     These are live-screen rules, never applied to image-export sheets. */
  #app #view :is(.management-hub-page,.records-menu-page,.record-detail-page,
    .account-management-page,.backup-page,.settings-page,.honor-studio-page) :is(
    .card:not(.record-card):not(.records-menu-card):not(.settings-section):not(.account-card):not(.admin-activity-card):not(.user-management-card):not(.home-entry)) {
    background-color:var(--ui-surface)!important;
    background-image:linear-gradient(145deg,rgba(var(--ui-rgb),.045),transparent 65%)!important;
    border-color:var(--wolf-box-neon-edge,var(--ui-accent))!important;
    color:var(--ui-ink)!important;
    box-shadow:var(--wolf-box-neon-rim,inset 0 0 11px rgba(var(--ui-rgb),.18),0 0 15px rgba(var(--ui-rgb),.52))!important;
  }
  #app #view :is(.records-menu-page,.record-detail-page,.management-hub-page,
    .account-management-page,.backup-page,.settings-page) :is(
    .record-visual-icon,.record-symbol,.records-admin-tool-icon,
    .record-action-icon,.mode-title-icon) {
    color:var(--ui-accent)!important;
    border-color:rgba(var(--ui-rgb),.78)!important;
    filter:none!important;
  }
  #app #view :is(.records-menu-page,.record-detail-page,.management-hub-page,
    .account-management-page,.backup-page,.settings-page) :is(
    .records-admin-tool-icon,.record-action-icon,.mode-title-icon) svg {
    color:var(--ui-accent)!important;stroke:currentColor!important;
    filter:drop-shadow(0 0 3px rgba(var(--ui-rgb),.42))!important;
  }
  #app #view :is(.record-detail-page,.account-management-page,.settings-page,
    .backup-page) :is(input.input,select.input,textarea.input) {
    box-sizing:border-box!important;max-width:100%!important;min-width:0!important;
    background:var(--wz-competition-button)!important;
    color:var(--ui-ink)!important;
    border-color:rgba(var(--ui-rgb),.66)!important;
  }
  #app #view :is(.record-detail-page,.account-management-page,.settings-page,
    .backup-page) :is(input.input,textarea.input)::placeholder {
    color:var(--ui-muted)!important;opacity:1!important;
  }
  body.light #app #view :is(.records-menu-page,.record-detail-page,.management-hub-page,
    .account-management-page,.backup-page,.settings-page) :is(.card,.home-entry,.record-card) {
    box-shadow:0 0 10px rgba(172,120,34,.19),0 8px 22px rgba(98,68,19,.09)!important;
  }
  /* Page-header rhythm: back action aligns with logo, caption and title get independent air. */
  #app #view > .page-brand.normal-brand {
    display:flex!important;flex-direction:column!important;align-items:center!important;
    justify-content:center!important;max-width:100%!important;
    padding:clamp(7px,2vw,15px) 8px 0!important;
    margin:0 auto clamp(20px,5vw,26px)!important;
    background:transparent!important;border:0!important;box-shadow:none!important;
  }
  #app #view > .page-brand.normal-brand > img {
    display:block!important;object-fit:contain!important;width:clamp(115px,33vw,168px)!important;
    height:auto!important;max-height:128px!important;margin:0 auto!important;
    border:0!important;background:transparent!important;box-shadow:none!important;
  }
  #app #view > .page-brand.normal-brand .channel {
    display:table!important;max-width:min(94%,420px)!important;width:max-content!important;
    margin:12px auto 0!important;padding:6px 15px!important;
    background:var(--wz-competition-control)!important;color:var(--ui-ink)!important;
    border:1.5px solid rgba(var(--ui-rgb),.78)!important;border-radius:999px!important;
    font-size:var(--ui-small-size)!important;line-height:1.55!important;
    font-weight:800!important;white-space:normal!important;text-align:center!important;
    box-shadow:0 0 7px rgba(var(--ui-rgb),.32),0 0 20px rgba(var(--ui-rgb),.15)!important;
  }
  #app #view > .back {
    top:max(22px,calc(env(safe-area-inset-top) + 10px))!important;
    inset-inline-start:auto!important;right:clamp(12px,4vw,22px)!important;
    z-index:15!important;
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
    border:1.5px solid rgba(var(--ui-rgb),.82)!important;
    border-radius:15px!important;background:var(--wz-competition-control)!important;
    color:var(--ui-accent)!important;
    box-shadow:0 0 7px rgba(var(--ui-rgb),.36),0 0 15px rgba(var(--ui-rgb),.20)!important;
  }
  #app #view > .back svg {width:22px!important;height:22px!important;}
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) > .mode-page-title {
    margin:6px 0 clamp(20px,5vw,27px)!important;
    min-height:70px!important;
    max-width:100%!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) > .mode-page-title:not(.royal-tier-page) .title-copy {
    display:flex!important;align-items:center!important;justify-content:center!important;
    gap:clamp(8px,2.3vw,14px)!important;
    font-size:clamp(21px,5.8vw,29px)!important;
    font-weight:850!important;line-height:1.3!important;
    white-space:normal!important;text-align:center!important;
  }
  /* audit1849: quick challenge's short label MUST be one line and visually
     contained inside its original geometrical frame. Other, longer knockout
     and league titles keep their natural wrapping rules. */
  #app #view .quick-normal-page:not(.knockout-page) > .mode-page-title:not(.royal-tier-page) .title-copy {
    box-sizing:border-box!important;
    display:inline-flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    width:max-content!important;
    max-width:calc(100% - 46px)!important;
    gap:8px!important;
    line-height:1.22!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    font-size:clamp(19px,5.05vw,24px)!important;
  }
  #app #view .quick-normal-page:not(.knockout-page) > .mode-page-title:not(.royal-tier-page) .title-copy > span:last-child {
    flex:0 1 auto!important;
    min-width:0!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  @media(max-width:360px){
    #app #view .quick-normal-page:not(.knockout-page) > .mode-page-title:not(.royal-tier-page) .title-copy {
      font-size:clamp(18px,5.3vw,21px)!important;
      gap:5px!important;
      max-width:calc(100% - 34px)!important;
    }
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) > .mode-page-title .mode-title-icon,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) > .mode-page-title .mode-title-icon svg {
    flex-shrink:0!important;width:24px!important;height:24px!important;
  }
  /* No extra rectangular slab behind title ribbons (all three skins). */
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) > .mode-page-title::before,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) > .mode-page-title::after {
    content:none!important;display:none!important;
  }
  /* Consistent, DARK shell in navy/burgundy, with readable ivory treatment. */
  #app #view :is(.league-page,.knockout-page) :is(.league-control-card,.knockout-control-card){
    background:var(--wz-competition-control)!important;background-image:none!important;
    border:1.5px solid rgba(var(--ui-rgb),.72)!important;
    border-radius:19px!important;
    box-shadow:0 0 7px rgba(var(--ui-rgb),.34),0 0 18px rgba(var(--ui-rgb),.16),inset 0 0 15px rgba(var(--ui-rgb),.04)!important;
    margin:15px 0 21px!important;padding:11px!important;
  }
  #app #view :is(.league-page,.knockout-page) .league-start-tools{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;margin:0!important;padding:0!important;
    background:none!important;border:0!important;box-shadow:none!important;
  }
  #app #view :is(.league-page,.knockout-page) :is(.league-tools-top,.ko-actions-top){
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;margin:0!important;padding:0!important;
    background:none!important;border:0!important;box-shadow:none!important;
  }
  #app #view :is(.league-page,.knockout-page) :is(.league-start-tools,.league-tools-top,.ko-actions-top) > .action {
    display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;
    gap:9px!important;min-width:0!important;min-height:59px!important;
    padding:10px 6px!important;border-radius:14px!important;
    background:var(--wz-competition-button)!important;background-image:none!important;
    color:var(--ui-ink)!important;border:1.5px solid rgba(var(--ui-rgb),.80)!important;
    font-size:var(--ui-small-size)!important;line-height:1.4!important;
    font-weight:800!important;white-space:normal!important;
    box-shadow:0 0 6px rgba(var(--ui-rgb),.35),0 0 14px rgba(var(--ui-rgb),.14)!important;
  }
  #app #view :is(.league-page,.knockout-page) :is(.league-start-tools,.league-tools-top,.ko-actions-top) > .action:disabled {
    color:var(--ui-muted)!important;opacity:.56!important;
    box-shadow:none!important;
  }
  #app #view :is(.league-page,.knockout-page) :is(.league-start-tools,.league-tools-top,.ko-actions-top) > .action :is(svg,.control-icon,.camera-line){
    width:21px!important;height:21px!important;flex:0 0 21px!important;
    color:var(--ui-accent)!important;
  }
  #app #view .knockout-page .ko-actions-top > .locked-draw {
    grid-column:1/-1!important;justify-self:center!important;margin:0!important;
    font-size:var(--ui-small-size)!important;color:var(--ui-muted)!important;
  }
  /* Burgundy and ivory never inherit the old navy row-control background. */
  #app #view :is(.league-page,.knockout-page) :is(.league-board-banner,.round-banner,.league-standings-card,.league-stage,.league-fixtures,.league-round-group,.ko-current-round){
    background:var(--ui-surface)!important;background-image:none!important;
    border-color:rgba(var(--ui-rgb),.53)!important;
  }
  #app #view .league-page .league-board-banner {
    margin:12px 0 15px!important;min-width:0!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;
    padding:15px 12px!important;gap:6px!important;
  }
  #app #view .league-page .league-board-banner b {
    display:block!important;font-size:clamp(22px,6vw,30px)!important;
    color:var(--ui-ink)!important;font-weight:850!important;line-height:1.4!important;
    text-align:center!important;
  }
  #app #view .league-page .league-board-banner small {
    display:block!important;color:var(--ui-muted)!important;
    font-size:var(--ui-small-size)!important;line-height:1.5!important;
    text-align:center!important;
  }
  #app #view .league-page .league-standings-card {margin-block:14px 20px!important;padding:14px 10px!important;}
  #app #view .league-page .league-section-heading {gap:5px!important;padding:5px 4px 13px!important;}
  #app #view .league-page .league-table-wrap {background:transparent!important;}
  #app #view .league-page .league-table :is(th,td) {font-variant-numeric:tabular-nums;}
  #app #view .league-page .league-round {padding:0 0 10px!important;}
  #app #view .league-page .league-round-meta {gap:6px!important;}
  #app #view .league-page .league-round :is(.league-round-progress,.league-round-date) {
    background:var(--ui-inner)!important;color:var(--ui-ink)!important;
  }
  #app #view .league-page .league-round-group :is(.competition-match,.league-match) {background:var(--wz-competition-control)!important;}
  #app #view .league-page .league-match .ko-player {background:var(--wz-competition-button)!important;}
  /* Every roster row is a single colour field, with one continuous outline. */
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table {
    border-collapse:separate!important;border-spacing:0 8px!important;table-layout:fixed!important;
    background:transparent!important;
  }
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table thead tr {
    background:var(--ui-surface)!important;
  }
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table thead th {
    background:transparent!important;background-image:none!important;
    box-shadow:none!important;border:0!important;
    border-bottom:1px solid rgba(var(--ui-rgb),.40)!important;
    color:var(--ui-ink)!important;
  }
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table tbody td {
    background:var(--wz-competition-control)!important;background-image:none!important;
    border-top:1.5px solid rgba(var(--ui-rgb),.80)!important;
    border-bottom:1.5px solid rgba(var(--ui-rgb),.80)!important;
    border-left:0!important;border-right:0!important;
    box-shadow:none!important;
  }
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table tbody td:first-child {
    border-right:1.5px solid rgba(var(--ui-rgb),.80)!important;
    border-radius:0 14px 14px 0!important;
    color:var(--ui-ink)!important;
  }
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table tbody td:last-child {
    border-left:1.5px solid rgba(var(--ui-rgb),.80)!important;
    border-radius:14px 0 0 14px!important;
  }
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table .participant-name {
    font-size:clamp(15px,4.1vw,19px)!important;font-weight:800!important;
  }
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table .participant-controls .iconbtn {
    border:1px solid rgba(var(--ui-rgb),.76)!important;
    background:var(--wz-competition-button)!important;color:var(--ui-accent)!important;
    border-radius:12px!important;box-shadow:0 0 7px rgba(var(--ui-rgb),.17)!important;
  }
  #app #view .knockout-page .wolf-ko-roster h2 small,
  #app #view .league-page .league-participants-card h2 small,
  #app #view .quick-normal-page .participants h2 small {
    background:var(--wz-competition-number)!important;color:var(--ui-ink)!important;
    border:1.5px solid rgba(var(--ui-rgb),.84)!important;
    opacity:1!important;
    box-shadow:inset 0 0 8px rgba(var(--ui-rgb),.10),0 0 7px rgba(var(--ui-rgb),.38),0 0 14px rgba(var(--ui-rgb),.13)!important;
  }
}
/* Dialogs are attached to body rather than #view: scope to their own class. */
body .league-save-overlay .league-save-dialog.wz-premium-export-dialog {
  width:min(94vw,550px)!important;max-width:550px!important;
  max-height:min(88dvh,820px)!important;overflow-y:auto!important;
  background:var(--ui-surface)!important;
  border-color:rgba(var(--ui-rgb),.84)!important;
  padding:clamp(18px,5vw,30px)!important;
  border-radius:24px!important;gap:12px!important;
  box-shadow:0 0 10px rgba(var(--ui-rgb),.36),0 0 25px rgba(var(--ui-rgb),.18)!important;
}
body .league-save-overlay .league-save-dialog :is(.action,button) {
  width:100%!important;min-height:var(--ui-dialog-action-height,58px)!important;
  background:var(--ui-inner)!important;color:var(--ui-ink)!important;
  border:1px solid rgba(var(--ui-rgb),.80)!important;
  box-shadow:0 0 10px rgba(var(--ui-rgb),.21)!important;
}
@media(max-width:370px){
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table th:first-child {width:39px!important;}
  #app #view :is(.wolf-ko-roster,.league-participants-card) .participant-table th:last-child {width:94px!important;}
}
/* Export-only typography/geometry: one larger, readable sheet per league day. */
@layer identity {
  
  
  
  
  
  
  
  
  
  
  /* Higher specificity than the legacy radial-gradient controls, while retaining glow outside. */
  body #app #view :is(.league-page,.knockout-page) .standalone-controls-card :is(.league-start-tools,.league-tools-top,.ko-actions-top,.quick-tools-control)>button.action {
    background:var(--wz-competition-button)!important;background-image:none!important;
    color:var(--ui-ink)!important;
    border:1.5px solid rgba(var(--ui-rgb),.74)!important;
    box-shadow:0 0 7px rgba(var(--ui-rgb),.30),0 0 15px rgba(var(--ui-rgb),.13)!important;
  }
}

/* audit1610: canonical native participant + face-off component, three modes.
   Colors are taken from the established theme tokens above; no default blue
   subpanels can appear inside the burgundy or ivory selections. */
@layer identity {
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .participant-table tbody td {
    background:var(--wz-competition-control)!important;
    background-image:none!important;
    border-block:1.5px solid rgba(var(--ui-rgb),.86)!important;
    box-shadow:none!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .participant-table tbody td:first-child {
    background:var(--wz-competition-control)!important;
    border-inline-start:1.5px solid rgba(var(--ui-rgb),.86)!important;
    border-radius:0 13px 13px 0!important;
    color:var(--ui-ink)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .participant-table tbody td:last-child {
    border-inline-end:1.5px solid rgba(var(--ui-rgb),.86)!important;
    border-radius:13px 0 0 13px!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .participant-table :is(.iconbtn,.num) {
    color:var(--ui-ink)!important;
    border-color:rgba(var(--ui-rgb),.73)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.competition-match,.league-match,.ko-match,.quick-match) {
    background:var(--wz-competition-control)!important;background-image:none!important;
    border-color:rgba(var(--ui-rgb),.70)!important;
    box-shadow:0 0 10px rgba(var(--ui-rgb),.18)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.competition-match,.league-match,.ko-match,.quick-match) :is(.ko-player,.match-player,.player-slot) {
    background:var(--wz-competition-button)!important;background-image:none!important;
    border-color:rgba(var(--ui-rgb),.78)!important;
    color:var(--ui-ink)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.competition-match,.league-match,.ko-match,.quick-match) :is(.winner,.selected-winner) {
    border-color:var(--ui-winner-edge)!important;
    box-shadow:0 0 9px rgba(233,188,89,.28)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .participants h2 small,
  #app #view .league-page .league-count {
    background:var(--wz-competition-control)!important;
    color:var(--ui-ink)!important;
    border-color:rgba(var(--ui-rgb),.83)!important;
    box-shadow:0 0 8px rgba(var(--ui-rgb),.24)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.card,.smart-entry-card,.league-control-card,.knockout-control-card) {
    border-color:rgba(var(--ui-rgb),.70)!important;
  }
}


/* WOLF ZONE audit1615 — shared visual legibility and enhanced layered neon.
   One canonical cross-page polish pass. Theme colours come only from tokens;
   winners, disabled controls, and export canvases are intentionally excluded. */
@layer identity {
  /* One shared visual scale for all skins; only accent RGB changes by theme. */
  body {
    --wz-copy-weight:700;--wz-title-weight:850;
    --wz-card-radius:var(--ui-radius,16px);
    --wz-button-radius:var(--ui-control-radius,13px);
    --wz-control-height:var(--ui-control-height,52px);
    --wz-neon-major:var(--wolf-neon-tier-strong);
    --wz-neon-normal:var(--wolf-neon-tier-medium);
    --wz-neon-soft:var(--wolf-neon-tier-soft);
  }
  /* Theme text colors belong exclusively to the identity palette;
     do not override --ui-muted here or navy captions become brown. */
  /* These are *not* large blur filters: keep the iOS PWA paint cost bounded. */
  #app #view :is(.quick-normal-page,.knockout-page,.league-page,.management-hub-page,
    .records-menu-page,.record-detail-page,.account-management-page,.backup-page,
    .settings-page,.honor-studio-page,.home-main-menu) :is(h2,h3,.section-title,.league-section-heading,.league-matches-title) {
    color:var(--ui-ink)!important;
    font-weight:var(--wz-title-weight)!important;
    line-height:1.42!important;
    text-shadow:var(--wolf-neon-tier-title)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page,.management-hub-page,
    .records-menu-page,.record-detail-page,.account-management-page,.backup-page,
    .settings-page,.honor-studio-page,.home-main-menu) :is(.hint,.description,.subtitle,
    .helper-text,.form-hint,.help-text,.ko-roster-help,.league-calendar-hint,
    .league-round-bye,.muted,.notice,.menu-copy small,.mode-copy small,.record-copy small) {
    color:var(--ui-muted)!important;
    font-weight:600!important;
    line-height:1.6!important;
  }
  #app #view > .page-brand:not(.home-showcase) {
    gap:8px!important;
    padding-bottom:10px!important;
    margin-bottom:15px!important;
  }
  #app #view > .page-brand:not(.home-showcase) .channel {
    font-size:var(--ui-small-size)!important;
    font-weight:850!important;
    padding:6px 12px!important;
    max-width:calc(100% - 6px)!important;
    text-align:center!important;
    text-shadow:var(--wolf-neon-tier-title)!important;
    box-shadow:inset 0 0 12px rgba(var(--wolf-head-neon-rgb),.20),0 0 9px rgba(var(--wolf-head-neon-rgb),.68),0 0 20px rgba(var(--wolf-head-neon-rgb),.43),0 0 31px rgba(var(--wolf-head-neon-rgb),.19)!important;
  }
  #app #view > .back {
    border-color:rgba(var(--ui-rgb),.84)!important;
    color:var(--ui-accent)!important;
    box-shadow:inset 0 0 10px rgba(var(--ui-rgb),.18),0 0 10px rgba(var(--ui-rgb),.46),0 0 20px rgba(var(--ui-rgb),.22)!important;
  }
  #app #view .mode-page-title .title-copy {
    color:var(--ui-ink)!important;
    text-shadow:0 0 4px rgba(var(--ui-rgb),.14)!important;
  }
  #app #view .mode-page-title .mode-title-icon,
  #app #view :is(.management-hub-page,.records-menu-page,.record-detail-page,
    .settings-page,.account-management-page,.backup-page) :is(.record-visual-icon,.record-symbol,.records-admin-tool-icon,.record-action-icon) {
    color:var(--ui-accent)!important;
    opacity:1!important;
  }
  #app #view .mode-page-title .mode-title-icon svg,
  #app #view :is(.management-hub-page,.records-menu-page,.record-detail-page,
    .settings-page,.account-management-page,.backup-page) :is(.record-visual-icon,.record-symbol,.records-admin-tool-icon,.record-action-icon) svg {
    stroke:currentColor!important;opacity:1!important;
    filter:var(--wolf-neon-tier-icon)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(
    .card,.standalone-controls-card,.league-standings-card,.league-stage,
    .league-round-group,.league-board-banner,.wolf-ko-roster,.participants,
    .league-participants-card,.smart-entry-card,.round-banner) {
    border-color:rgba(var(--ui-rgb),.68)!important;
    border-radius:var(--wz-card-radius)!important;
    box-shadow:var(--wz-neon-normal)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(
    .competition-match,.quick-match,.ko-match,.league-match) {
    border-color:rgba(var(--ui-rgb),.76)!important;
    box-shadow:var(--wz-neon-normal)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(
    .competition-match,.quick-match,.ko-match,.league-match) :is(.ko-player,.player-slot,.match-player):not(.winner):not(.selected-winner) {
    border-color:rgba(var(--ui-rgb),.82)!important;
    box-shadow:var(--wolf-neon-tier-soft)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .participant-table th {
    color:var(--ui-muted)!important;
    font-weight:800!important;
    font-size:var(--ui-small-size)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .participant-table :is(.participant-name,.num),
  #app #view .league-page .league-table tbody td,
  #app #view .league-page .league-table th {
    color:var(--ui-ink)!important;
    opacity:1!important;
  }
  /* The ornamental title SVG already carries its own glow. Do not cast a
     rectangular shadow on its transparent h1 wrapper. */
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.league-start-button,.quick-qualify.next-round-action) {
    box-shadow:var(--wz-neon-major)!important;
  }
  #app #view .league-page .league-table thead th {
    font-weight:850!important;
    border-bottom:1px solid rgba(var(--ui-rgb),.52)!important;
  }
  #app #view .league-page .league-table tbody td {
    border-bottom-color:rgba(var(--ui-rgb),.32)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(
    .action,.iconbtn,.league-draw-btn,.league-date-button):not(:disabled):not([disabled]):not([aria-disabled="true"]) {
    opacity:1!important;
    box-shadow:var(--wolf-neon-tier-medium)!important;
  }
  /* Muted disabled state is useful affordance, not a rendering defect. */
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(
    .action,.iconbtn):disabled {opacity:.50!important;}
}
/* Canonical league setup: one theme-owned surface system, one SVG calendar icon.
   This intentionally replaces the obsolete nested icon frames and oversized checkbox. */
@layer identity {
  #app #view .league-page .league-system-card {
    padding:13px!important;margin:9px 0!important;
    background:var(--ui-surface)!important;background-image:none!important;
  }
  #app #view .league-page .league-section-heading {
    display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;
    gap:3px!important;padding:0 0 8px!important;margin:0 0 9px!important;
    background:transparent!important;background-image:none!important;
    border:0!important;border-bottom:1px solid rgba(var(--ui-rgb),.36)!important;
    box-shadow:none!important;
  }
  #app #view .league-page :is(.league-mode,.league-scoring-picker) {
    gap:9px!important;margin:0 0 9px!important;
  }
  #app #view .league-page :is(.league-mode,.league-scoring-picker)>button {
    min-height:70px!important;height:auto!important;padding:9px 6px!important;
    gap:3px!important;line-height:1.35!important;
    background:var(--ui-inner)!important;color:var(--ui-ink)!important;
    border:1.5px solid rgba(var(--ui-rgb),.55)!important;
    border-radius:13px!important;
  }
  #app #view .league-page :is(.league-mode,.league-scoring-picker)>button.selected {
    border-color:var(--ui-accent)!important;
    box-shadow:inset 0 0 8px rgba(var(--ui-rgb),.08),0 0 9px rgba(var(--ui-rgb),.26)!important;
  }
  #app #view .league-page .league-date-caption {
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:9px!important;margin:10px 0 5px!important;padding:0!important;
    background:transparent!important;background-image:none!important;box-shadow:none!important;
  }
  #app #view .league-page .league-calendar-wrap {
    display:grid!important;gap:8px!important;min-width:0!important;
    background:transparent!important;background-image:none!important;
    padding:4px 0 0!important;margin:0!important;box-shadow:none!important;
  }
  #app #view .league-page .league-dates-unified {
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;overflow:visible!important;
    background:transparent!important;background-image:none!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
  }
  #app #view .league-page .league-dates-unified .league-start-date-card {
    display:flex!important;position:relative!important;flex-direction:column!important;
    justify-content:center!important;align-items:center!important;text-align:center!important;
    min-width:0!important;min-height:90px!important;max-height:none!important;
    padding:10px 7px!important;margin:0!important;gap:4px!important;
    border:1.5px solid rgba(var(--ui-rgb),.66)!important;border-radius:14px!important;
    background:var(--ui-inner)!important;background-image:none!important;color:var(--ui-ink)!important;
    box-shadow:0 0 9px rgba(var(--ui-rgb),.18)!important;opacity:1!important;
  }
  #app #view .league-page .league-dates-unified .league-calendar-symbol,
  #app #view .league-page .league-dates-unified :is(.league-calendar-start,.league-calendar-end) {
    display:grid!important;place-items:center!important;position:static!important;
    box-sizing:border-box!important;flex:0 0 29px!important;
    width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;
    padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
    background:transparent!important;background-image:none!important;
    color:var(--ui-accent)!important;box-shadow:none!important;filter:none!important;transform:none!important;
  }
  #app #view .league-page .league-dates-unified .league-calendar-symbol::before,
  #app #view .league-page .league-dates-unified .league-calendar-symbol::after {
    display:none!important;content:none!important;
  }
  #app #view .league-page .league-dates-unified svg.wolf-date-calendar {
    display:block!important;box-sizing:content-box!important;
    width:29px!important;height:29px!important;max-width:29px!important;max-height:29px!important;
    padding:0!important;border:0!important;background:transparent!important;
    stroke:currentColor!important;stroke-width:1.9!important;
    filter:none!important;transform:none!important;
  }
  #app #view .league-page .league-dates-unified .league-start-date-card input[type=date] {
    z-index:2!important;position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;opacity:0!important;
    cursor:pointer!important;
  }
  #app #view .league-page .league-dates-unified .league-end-date-card input[type=date]:disabled {
    pointer-events:none!important;cursor:default!important;
  }
  #app #view .league-page .league-dates-unified .league-date-copy {
    display:flex!important;flex-direction:column!important;align-items:center!important;
    gap:2px!important;min-width:0!important;width:100%!important;
  }
  #app #view .league-page .league-dates-unified .league-date-copy small {
    font-size:var(--ui-small-size)!important;font-weight:700!important;line-height:1.3!important;
    color:var(--ui-ink)!important;opacity:.88!important;
  }
  #app #view .league-page .league-dates-unified .league-date-copy b {
    display:block!important;max-width:100%!important;white-space:nowrap!important;
    font-size:var(--ui-small-size)!important;font-weight:800!important;
    line-height:1.4!important;overflow:visible!important;
    color:var(--ui-ink)!important;direction:ltr!important;unicode-bidi:isolate!important;
    font-variant-numeric:tabular-nums!important;
  }
  #app #view .league-page .league-auto-end-toggle {
    box-sizing:border-box!important;display:flex!important;align-items:center!important;
    justify-content:flex-start!important;flex-direction:row!important;
    gap:10px!important;width:100%!important;min-height:var(--ui-control-height)!important;height:auto!important;
    margin:0!important;padding:8px 11px!important;
    border:1px solid rgba(var(--ui-rgb),.38)!important;border-radius:12px!important;
    background:var(--ui-inner)!important;background-image:none!important;
    color:var(--ui-ink)!important;box-shadow:none!important;
    font-size:var(--ui-small-size)!important;font-weight:750!important;line-height:1.4!important;
  }
  #app #view .league-page .league-auto-end-toggle input[type=checkbox] {
    display:block!important;box-sizing:border-box!important;
    appearance:auto!important;-webkit-appearance:checkbox!important;
    flex:0 0 22px!important;width:22px!important;min-width:22px!important;
    height:22px!important;min-height:22px!important;max-height:22px!important;
    margin:0!important;padding:0!important;accent-color:var(--ui-accent)!important;
    box-shadow:none!important;
  }
  #app #view .league-page .league-auto-end-toggle span {
    flex:1 1 auto!important;min-width:0!important;margin:0!important;
    line-height:1.4!important;
  }
  #app #view .league-page .league-calendar-hint {
    margin:0!important;font-size:var(--ui-small-size)!important;line-height:1.4!important;
    color:var(--ui-muted)!important;text-align:center!important;
  }
  #app #view .league-page .league-title-input {
    display:block!important;width:100%!important;
    margin-bottom:10px!important;background:var(--ui-inner)!important;
    color:var(--ui-ink)!important;border:1.5px solid rgba(var(--ui-rgb),.78)!important;
    border-radius:13px!important;box-shadow:0 0 9px rgba(var(--ui-rgb),.22)!important;
  }
  #app #view .league-page .league-title-input::placeholder {color:var(--ui-muted)!important;opacity:.95!important;}
  @media(max-width:340px){
    #app #view .league-page .league-dates-unified {gap:6px!important;}
    #app #view .league-page .league-dates-unified .league-date-copy b {
      font-size:var(--ui-small-size)!important;
      white-space:normal!important;overflow-wrap:anywhere!important;
    }
  }
}
/* Approved league presentation: current fixture day open, remaining days compact. */
@layer identity {
  #app #view .league-page .league-round-toggle-row {display:flex;justify-content:flex-start;align-items:center;margin:4px 0 10px;}
  #app #view .league-page .league-toggle-all-rounds {
    width:auto!important;min-width:0!important;min-height:39px!important;
    border:1px solid rgba(var(--ui-rgb),.72)!important;border-radius:12px!important;
    background:var(--ui-inner)!important;color:var(--ui-ink)!important;
    font-size:var(--ui-small-size)!important;font-weight:800!important;
    padding:8px 14px!important;box-shadow:0 0 9px rgba(var(--ui-rgb),.16)!important;
  }
  #app #view .league-page details.league-round-group {margin:0 0 9px!important;padding:8px 12px!important;}
  #app #view .league-page details.league-round-group:not([open]) {padding-block:7px!important;}
  #app #view .league-page details.league-round-group > summary.league-round {
    cursor:pointer!important;list-style:none!important;margin:0!important;
    min-height:41px!important;padding:3px 0!important;
  }
  #app #view .league-page details.league-round-group > summary.league-round::-webkit-details-marker {display:none;}
  #app #view .league-page details.league-round-group > summary.league-round::before {
    content:'⌄';flex:0 0 16px;display:inline-block;
    font-size:22px;font-weight:700;color:var(--ui-accent);
    transform:rotate(0deg);transition:transform .15s ease;
  }
  #app #view .league-page details.league-round-group[open] > summary.league-round::before {transform:rotate(180deg);}
  #app #view .league-page details.league-round-group[open] > summary.league-round {margin-bottom:10px!important;}
  #app #view .league-page .league-round-bye {
    display:inline-flex!important;flex:1 0 100%!important;
    color:var(--ui-ink)!important;background:var(--ui-inner)!important;
    border:1px solid rgba(var(--ui-rgb),.30)!important;
    border-radius:9px!important;padding:5px 9px!important;
    font-size:var(--ui-small-size)!important;
  }
  #app #view .league-page .league-result-state.pending {color:var(--ui-muted)!important;opacity:1!important;font-weight:700!important;}
  #app #view .league-page .league-stage {padding:12px!important;margin-block:12px!important;}
  #app #view .league-page .league-match.competition-match {padding:12px!important;margin-block:8px!important;}
  #app #view .league-page .league-table :is(th,td) {padding-block:7px!important;}
  @media (prefers-reduced-motion:reduce){#app #view .league-page details.league-round-group > summary.league-round::before{transition:none;}}
}
/* Common fixed competition action dock: same button language as Quick Challenge,
   independent of the growing participant list/knockout tree/league fixtures. */
@layer identity {
  #app #view :is(.league-page,.knockout-page) {
    padding-bottom:calc(118px + env(safe-area-inset-bottom, 0px))!important;
  }
  #app #view :is(.league-page,.knockout-page) .standalone-controls-card:is(.league-control-card,.knockout-control-card) {
    position:fixed!important;z-index:48!important;box-sizing:border-box!important;
    left:50%!important;right:auto!important;top:auto!important;
    bottom:calc(8px + env(safe-area-inset-bottom, 0px))!important;
    transform:translateX(-50%)!important;
    width:min(calc(100vw - 20px),680px)!important;max-width:680px!important;
    margin:0!important;padding:8px!important;border-radius:17px!important;
    background:var(--ui-surface)!important;
    border:1.5px solid rgba(var(--ui-rgb),.76)!important;
    box-shadow:0 0 11px rgba(var(--ui-rgb),.33),0 0 24px rgba(var(--ui-rgb),.13)!important;
    isolation:isolate;
  }
  #app #view :is(.league-page,.knockout-page) .standalone-controls-card :is(.league-start-tools,.league-tools-top,.ko-actions-top,.quick-tools-control) {
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;padding:0!important;margin:0!important;
    background:none!important;border:0!important;box-shadow:none!important;
  }
  #app #view :is(.league-page,.knockout-page) .standalone-controls-card :is(.league-tools-top,.ko-actions-top) {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #app #view :is(.league-page,.knockout-page) .standalone-controls-card :is(.league-start-tools,.league-tools-top,.ko-actions-top,.quick-tools-control) > button.action {
    box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
    justify-content:center!important;align-items:center!important;
    min-height:61px!important;width:100%!important;min-width:0!important;
    margin:0!important;padding:6px 3px!important;gap:3px!important;
    font-size:var(--ui-small-size)!important;line-height:1.3!important;
    white-space:normal!important;word-break:keep-all!important;
    text-align:center!important;overflow:visible!important;
    border-radius:11px!important;
    color:var(--ui-ink)!important;background:var(--ui-inner)!important;
    border:1px solid rgba(var(--ui-rgb),.75)!important;
    box-shadow:0 0 7px rgba(var(--ui-rgb),.23)!important;
  }
  #app #view :is(.league-page,.knockout-page) .standalone-controls-card button.action :is(.control-icon,.camera-line,.ko-save-icon,svg) {
    width:19px!important;height:19px!important;max-width:19px!important;
    flex:0 0 19px!important;color:var(--ui-accent)!important;
  }
  #app #view :is(.league-page,.knockout-page) .standalone-controls-card button.action:disabled {
    opacity:.43!important;pointer-events:none!important;box-shadow:none!important;
  }
}

/* audit1619: in-page roster, same UX in all three competitions. */
@layer identity {
  #app #view .wolf-smart-roster {padding:var(--ui-space-sm) var(--ui-space)!important;overflow:visible!important;}
  #app #view .wolf-smart-roster > h2 {
    display:flex!important;align-items:center!important;gap:8px!important;
    min-height:var(--ui-control-height)!important;margin:0!important;font-size:var(--ui-body-size)!important;
  }
  /* RTL: names + arrow on the right; participants and count on the left. */
  #app #view .wolf-smart-roster > h2 > span:first-of-type {margin-inline-start:auto!important;order:1;}
  #app #view .wolf-smart-roster > h2 > small {order:2;margin:0!important;}
  #app #view .wolf-roster-open-btn {
    order:0;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    flex:none;gap:6px!important;padding:7px 10px!important;min-height:var(--ui-tap-area)!important;
    border-radius:11px!important;background:var(--ui-inner)!important;color:var(--ui-ink)!important;
    border:1px solid rgba(var(--ui-rgb),.60)!important;font-size:var(--ui-small-size)!important;font-weight:800!important;
  }
  #app #view .wolf-roster-open-btn svg{width:24px!important;height:24px!important;color:var(--ui-accent)!important;transition:transform .18s ease;}
  #app #view .wolf-roster-open .wolf-roster-open-btn svg{transform:rotate(180deg);}
  #app #view .wolf-smart-roster:not(.wolf-roster-open) .wolf-roster-body{display:none!important;}
  #app #view .wolf-smart-roster.wolf-roster-open .wolf-roster-body{display:block!important;margin-top:9px!important;}
  #app #view .wolf-roster-close{display:none!important;}
  #app #view .wolf-smart-roster .wolf-roster-add{display:flex!important;gap:7px;margin:0 0 9px;}
  #app #view .wolf-smart-roster .wolf-roster-name-input{flex:1;min-width:0;min-height:var(--ui-control-height);}
  #app #view .wolf-smart-roster .wolf-roster-add .action{min-height:var(--ui-control-height);min-width:var(--ui-player-add-width);}
  #app #view .wolf-smart-roster .participant-table :is(th,td){padding:7px!important;}
  #app #view :is(.league-page,.knockout-page){padding-bottom:24px!important;}
  #app #view :is(.league-page,.knockout-page) .standalone-controls-card:is(.league-control-card,.knockout-control-card){
    position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;
    left:auto!important;transform:none!important;z-index:2!important;display:block!important;
    width:100%!important;max-width:100%!important;margin:9px 0 13px!important;
  }
  #app #view .league-page :is(.league-stage,.league-standings-card,.league-board-banner,.league-round-group){padding:8px!important;margin-block:7px!important;}
  #app #view .league-page .league-match.competition-match{padding:8px!important;margin-block:6px!important;}
  #app #view .league-page .league-match :is(button,.ko-player){min-height:var(--ui-tap-area,44px);}
  #app #view .league-page .league-table :is(th,td){padding-block:6px!important;}
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .mode-page-title {
    background:none!important;background-image:none!important;box-shadow:none!important;border:0!important;filter:none!important;isolation:isolate!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .mode-page-title::before,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .mode-page-title::after {content:none!important;display:none!important;}
  #app #view > .back{color:var(--ui-accent)!important;}
  /* Ivory navigation colours are owned by the shared identity rule. */
}
@layer identity {
 #app #view .league-page details.league-standings-card {margin:9px 0!important;padding:10px 12px!important;}
 #app #view .league-page .league-standings-summary {cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;list-style:none;min-height:var(--ui-tap-area,44px);color:var(--ui-ink);}
 #app #view .league-page .league-standings-summary::-webkit-details-marker {display:none;}
 #app #view .league-page .league-standings-summary b {font-size:var(--ui-body-size,18px);font-weight:850;}
 #app #view .league-page .league-standings-summary small {color:var(--ui-muted)!important;font-size:var(--ui-small-size);flex:1;min-width:0;text-align:end;white-space:normal;overflow-wrap:anywhere;}
 #app #view .league-page .league-standings-summary:after {content:'⌄';font-size:24px;color:var(--ui-accent);}
 #app #view .league-page details.league-standings-card[open] .league-standings-summary:after {transform:rotate(180deg);}
 #app #view .league-page details.league-standings-card[open] .league-standings-summary {margin-bottom:10px;}
}


/* audit1619: common visual grammar for competition panels; thematic semantics unchanged. */
@layer identity {
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .add-player-btn {
    min-width:74px!important;max-width:100%!important;
    min-height:54px!important;height:auto!important;padding:7px 5px!important;
    font-size:var(--ui-small-size)!important;gap:var(--ui-space-xs,7px)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .add-player-btn .control-icon {width:22px!important;height:22px!important;}
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .competition-stats .stat {
    background:var(--ui-inner)!important;color:var(--ui-ink)!important;
    border:1px solid rgba(var(--ui-rgb),.58)!important;box-shadow:0 0 10px rgba(var(--ui-rgb),.15)!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .competition-stats .stat b,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .competition-stats .stat span{color:var(--ui-ink)!important;}
  #app #view .league-page .league-round-group {
    background:var(--ui-surface)!important;border:1px solid rgba(var(--ui-rgb),.52)!important;
    box-shadow:0 0 9px rgba(var(--ui-rgb),.12)!important;
  }
  #app #view .league-page .league-round {
    background:transparent!important;box-shadow:none!important;border:0!important;
    min-height:var(--ui-control-height)!important;padding:7px 8px!important;margin:0!important;
    display:flex!important;align-items:center!important;gap:8px!important;
  }
  #app #view .league-page .league-round::before{background:none!important;box-shadow:none!important;}
  #app #view .league-page .league-round-name{color:var(--ui-ink)!important;-webkit-text-fill-color:var(--ui-ink)!important;font-size:var(--ui-round-subtitle-size)!important;font-weight:850!important;}
  #app #view .league-page .league-round-meta{display:inline-flex!important;align-items:center!important;gap:6px!important;}
  #app #view .league-page :is(.league-round-date,.league-round-progress){background:var(--ui-inner)!important;color:var(--ui-ink)!important;box-shadow:none!important;}
  #app #view .league-page .league-match.competition-match {
    background:var(--ui-surface)!important;box-shadow:none!important;
    border-color:rgba(var(--ui-rgb),.45)!important;
  }
  #app #view .league-page .league-result-row{background:transparent!important;box-shadow:none!important;}
  #app #view .league-page .league-round-group:not([open]) {padding-block:3px!important;}
  #app #view .knockout-page .round-banner {padding:10px 14px!important;min-height:0!important;gap:3px!important;}
  #app #view .knockout-page .round-banner b {font-size:clamp(22px,6vw,30px)!important;line-height:1.3!important;}
  #app #view .knockout-page .round-banner small{font-size:var(--ui-small-size)!important;line-height:1.4!important;}
  #app #view .knockout-page .ko-round-heading{background:transparent!important;box-shadow:none!important;}
  /* Competition page headings keep their approved full-size geometry without scale overflow. */
  #app #view .wolf-match-search{margin:10px 0 12px;padding:0;max-width:100%;}
  #app #view .wolf-search-label{display:flex;align-items:center;gap:7px;background:var(--ui-inner);border:1px solid rgba(var(--ui-rgb),.65);border-radius:12px;padding:4px 12px;color:var(--ui-accent);min-height:var(--ui-control-height);box-sizing:border-box;}
  #app #view .wolf-search-input{min-height:39px;min-width:0;width:100%;background:transparent!important;color:var(--ui-ink)!important;border:0!important;box-shadow:none!important;font:inherit;font-size:16px!important;outline:0;}
  #app #view .wolf-search-input::placeholder{color:var(--ui-muted);opacity:.9;}
  #app #view .wolf-search-results:not([hidden]){display:grid;gap:4px;max-height:280px;overflow:auto;margin-top:6px;padding:7px;border-radius:12px;background:var(--ui-surface);border:1px solid rgba(var(--ui-rgb),.55);}
  #app #view .wolf-search-result{display:block;text-align:right;width:100%;min-height:var(--ui-control-height);background:var(--ui-inner);border:1px solid rgba(var(--ui-rgb),.35);border-radius:9px;color:var(--ui-ink);font:inherit;font-size:var(--ui-small-size);font-weight:700;padding:7px 10px;}
  #app #view .wolf-search-results p{margin:7px;color:var(--ui-muted);font-size:var(--ui-small-size);}
  #app #view .wolf-search-hit{outline:3px solid var(--ui-accent)!important;outline-offset:3px;box-shadow:0 0 18px rgba(var(--ui-rgb),.30)!important;}
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .standalone-controls-card .camera-line,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .standalone-controls-card .ko-save-icon {background:none!important;}
}

@layer identity {
  #app #view .wolf-resume-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:var(--ui-control-height);padding:11px 16px;margin:var(--ui-row-gap,14px) auto;border-radius:14px;border:1.5px solid var(--ui-accent);background:var(--ui-inner);color:var(--ui-ink);box-shadow:0 0 12px rgba(var(--ui-rgb),.20);font:inherit;font-size:var(--ui-body-size,18px);font-weight:800;}
  #app #view .wolf-resume-card small{font-size:var(--ui-small-size);color:var(--ui-accent);}
}

/* Shared winner-mode control surfaces — consolidated from audit1703, original rules retired. */
/* Search works directly by typing. Winning is a separate explicit, reversible mode. */
#app #view .wolf-win-mode{display:flex;justify-content:flex-start;margin-bottom:9px}
#app #view .wolf-win-mode button{font:700 var(--ui-small-size)/1.5 var(--ui-font)!important;min-height:var(--ui-control-height);min-width:0;border:1px solid var(--ui-accent);border-radius:var(--ui-control-radius);padding:8px 13px;background:var(--ui-surface);color:var(--ui-ink)}
#app #view .wolf-win-mode button.selected{box-shadow:0 0 10px rgba(var(--ui-rgb),.38);background:var(--ui-inner)!important}
#app #view .wolf-win-confirm{display:flex;align-items:center;gap:var(--ui-space-sm);flex-wrap:wrap;margin-top:var(--ui-space-sm);padding:var(--ui-space-sm);border:1px solid var(--ui-accent);border-radius:var(--ui-control-radius);background:var(--ui-surface)}
#app #view .wolf-win-confirm[hidden]{display:none!important}
#app #view .wolf-win-confirm .wolf-win-selected{width:100%;font-size:var(--ui-small-size);font-weight:700;margin:0;color:var(--ui-ink)}
#app #view .wolf-win-confirm button{flex:1;min-width:110px}
#app #view .wolf-search-result[aria-pressed="true"]{outline:2px solid var(--ui-accent);outline-offset:-2px;box-shadow:0 0 12px rgba(var(--ui-rgb),.3)!important}


/* Winner confirmation and multi-name approval — consolidated from audit1703, original rules retired. */
/* audit1639 — Confirmed winner entry, shared across all tournament pages/themes.
   The same surface variables already power the three palettes; no white inserts. */
#app #view :is(.quick-normal-page,.knockout-page,.league-page) .wolf-match-search[data-wolf-mode="win"]{
  padding:clamp(16px,4vw,24px)!important;gap:14px!important;
  border:2px solid var(--ui-accent)!important;border-radius:19px!important;
  background:var(--ui-surface)!important;color:var(--ui-ink)!important;
  box-shadow:0 0 0 1px rgba(var(--ui-rgb),.3),0 0 23px rgba(var(--ui-rgb),.2),inset 0 0 15px rgba(var(--ui-rgb),.09)!important;
}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-win-mode{margin:0!important}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-win-mode button{min-height:var(--ui-control-height)!important;padding:10px 17px!important;font-size:var(--ui-small-size)!important;border-radius:12px!important}
#app #view .wolf-winner-guide:not([hidden]){display:grid;gap:4px;text-align:right;direction:rtl}
#app #view .wolf-winner-guide strong{font:800 clamp(21px,5.4vw,27px)/1.4 var(--ui-font)!important;color:var(--ui-ink)}
#app #view .wolf-winner-guide span{font:650 var(--ui-small-size)/1.6 var(--ui-font)!important;color:var(--ui-muted)}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-search-label{min-height:64px!important;padding:9px 15px!important;border:1.5px solid var(--ui-accent)!important;border-radius:var(--ui-control-radius)!important;background:var(--ui-inner)!important;box-shadow:0 0 12px rgba(var(--ui-rgb),.14)!important}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-search-input{min-height:var(--ui-control-height)!important;font-size:clamp(17px,4.5vw,20px)!important;font-weight:750!important}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-search-results:not([hidden]){max-height:285px!important;gap:8px!important;padding:10px!important}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-search-result{min-height:56px!important;padding:12px!important;font-size:var(--ui-small-size)!important;line-height:1.65!important}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-win-confirm{margin:0!important;padding:14px!important;gap:11px!important;background:var(--ui-inner)!important;border:1.5px solid var(--ui-accent)!important;box-shadow:0 0 14px rgba(var(--ui-rgb),.16)!important}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-win-selected{font-size:clamp(16px,4vw,18px)!important;line-height:1.8!important;overflow-wrap:anywhere}
#app #view .wolf-match-search[data-wolf-mode="win"] [data-wolf-confirm]{flex:2;min-height:58px!important;font-size:19px!important;font-weight:900!important;border-radius:12px!important;box-shadow:0 0 14px rgba(var(--ui-rgb),.26)!important}
#app #view .wolf-match-search[data-wolf-mode="win"] [data-wolf-cancel]{flex:1;min-height:var(--ui-control-height)!important;font-size:var(--ui-small-size)!important;border-radius:12px!important}
#app #view .wolf-match-search[data-wolf-mode="win"] :is(.wolf-fixture-filters,.wolf-match-progress,.wolf-next-fixture,.wolf-copy-fixtures){display:none!important}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-search-result[aria-pressed="true"]{border:2px solid var(--ui-accent)!important;background:var(--ui-surface)!important}
/* The shared identity layer controls button heights with !important. Keep the
   winner-confirm action intentionally larger within that same canonical layer. */
@layer identity {
  body #app #view :is(.quick-normal-page,.knockout-page,.league-page) .wolf-match-search[data-wolf-mode="win"] button[data-wolf-confirm]{
    min-height:58px!important;height:auto!important;padding-block:12px!important;
    font-size:19px!important;line-height:1.5!important;font-weight:900!important;
  }
}

/* audit1652: independent per-name approval, shared by quick/KO/league and all themes. */
#app #view .wolf-match-search .wolf-batch-label,
#app #view .wolf-match-search .wolf-batch-results{display:none}
#app #view .wolf-match-search[data-wolf-mode="win"] :is(.wolf-search-label,.wolf-search-results,.wolf-win-confirm){display:none!important}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-batch-label{display:grid!important;gap:9px;direction:rtl;font:750 var(--ui-small-size)/1.6 var(--ui-font);color:var(--ui-ink)}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-batch-results{display:grid!important;gap:var(--ui-space-sm);max-height:min(52vh,550px);overflow-y:auto;overscroll-behavior:contain}
#app #view .wolf-match-search .wolf-batch-input{width:100%;min-height:96px;max-height:185px;resize:vertical;direction:rtl;text-align:right;box-sizing:border-box;overflow-y:auto;border:1.5px solid var(--ui-accent);border-radius:var(--ui-control-radius);padding:11px 13px;background:var(--ui-inner);color:var(--ui-ink);font:750 17px/1.7 var(--ui-font);-webkit-text-size-adjust:100%;outline-offset:2px;box-shadow:inset 0 0 10px rgba(var(--ui-rgb),.1)}
#app #view .wolf-match-search .wolf-batch-input:focus{outline:2px solid var(--ui-accent)}
#app #view .wolf-match-search .wolf-batch-status{display:none;margin:0;text-align:right;direction:rtl;color:var(--ui-muted);font:700 var(--ui-small-size)/1.5 var(--ui-font)}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-batch-status{display:block}
#app #view .wolf-batch-row{display:grid;gap:var(--ui-space-sm);padding:var(--ui-space-sm);border:1px solid var(--ui-accent);background:var(--ui-inner);border-radius:var(--ui-control-radius);direction:rtl;min-width:0;text-align:right}
#app #view .wolf-batch-head{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap}
#app #view .wolf-batch-head strong{font:800 var(--ui-small-size)/1.45 var(--ui-font);color:var(--ui-ink);overflow-wrap:anywhere}
#app #view .wolf-batch-state{font:700 var(--ui-small-size)/1.4 var(--ui-font);color:var(--ui-muted)}
#app #view .wolf-batch-done{border-color:var(--ui-accent);box-shadow:inset 0 0 8px color-mix(in srgb,var(--ui-gold) 13%,transparent)}
#app #view .wolf-batch-done .wolf-batch-state{color:var(--ui-gold);font-weight:900;font-size:var(--ui-small-size)}
#app #view .wolf-batch-match{margin:0;line-height:1.7;font-size:var(--ui-small-size);color:var(--ui-ink);overflow-wrap:anywhere}
#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-batch-confirm{min-height:var(--ui-control-height)!important;max-width:240px;justify-self:stretch;font-size:var(--ui-small-size)!important;font-weight:850!important}
#app #view .wolf-batch-choices{display:grid;gap:var(--ui-space-xs)}
#app #view .wolf-batch-choice{border:1px solid var(--ui-accent);background:var(--ui-surface);color:var(--ui-ink);min-height:var(--ui-control-height);border-radius:var(--ui-control-radius);text-align:right;direction:rtl;padding:9px 11px;font:700 var(--ui-small-size)/1.55 var(--ui-font)}

#app #view .wolf-match-search[data-wolf-mode="win"] .wolf-batch-complete{display:block;min-height:var(--ui-control-height)!important;min-width:0;width:min(100%,240px);justify-self:stretch;border:1px solid var(--ui-gold);border-radius:var(--ui-control-radius);color:var(--ui-gold);background:color-mix(in srgb,var(--ui-gold) 13%,transparent);font:850 var(--ui-small-size)/1.4 var(--ui-font);opacity:1!important;cursor:default;}




/* League fixture stage — authoritative live component styles. */
/* audit1693 | League matches section: one readable framed heading and
   true equal-size controls across navy, burgundy and warm ivory.  Scope only
   to the league fixture stage, never to the league standings header or KO. */
#app #view .league-page .league-stage > summary.wolf-league-stage-heading {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  direction:rtl!important;
  text-align:right!important;
  width:calc(100% - 24px)!important;
  box-sizing:border-box!important;
  min-height:61px!important;
  margin:12px 12px 0!important;
  padding:11px 17px!important;
  border:1.5px solid rgba(var(--ui-rgb),.72)!important;
  border-radius:15px!important;
  background:var(--ui-inner)!important;
  color:var(--ui-ink)!important;
  box-shadow:inset 0 0 15px rgba(var(--ui-rgb),.08),0 0 12px rgba(var(--ui-rgb),.19)!important;
  font-size:clamp(20px,5vw,24px)!important;
  font-weight:900!important;
  line-height:1.35!important;
  list-style:none!important;
}
#app #view .league-page .league-stage > summary.wolf-league-stage-heading::-webkit-details-marker {display:none!important;}
#app #view .league-page .league-stage > summary.wolf-league-stage-heading .wolf-league-stage-heading-label {
  display:block;
  min-width:0;
  font-size:inherit!important;
  font-weight:900!important;
  line-height:inherit!important;
  color:inherit!important;
}
#app #view .league-page .league-stage > .league-round-toggle-row {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:12px!important;
  margin:14px 12px 17px!important;
  width:calc(100% - 24px)!important;
  box-sizing:border-box!important;
}
#app #view .league-page .league-stage > .league-round-toggle-row > :is(.wolf-copy-fixtures,.league-toggle-all-rounds) {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:var(--ui-control-height)!important;
  min-height:var(--ui-control-height)!important;
  max-height:none!important;
  margin:0!important;
  padding:9px 8px!important;
  box-sizing:border-box!important;
  flex:none!important;
  border:1.5px solid rgba(var(--ui-rgb),.72)!important;
  border-radius:14px!important;
  background:var(--ui-inner)!important;
  color:var(--ui-ink)!important;
  box-shadow:inset 0 0 12px rgba(var(--ui-rgb),.08),0 0 12px rgba(var(--ui-rgb),.20)!important;
  font-family:var(--ui-font)!important;
  font-size:var(--ui-small-size)!important;
  font-weight:850!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:normal!important;
}
@media(max-width:345px){
  #app #view .league-page .league-stage > .league-round-toggle-row {gap:8px!important;}
  #app #view .league-page .league-stage > .league-round-toggle-row > :is(.wolf-copy-fixtures,.league-toggle-all-rounds) {
    font-size:var(--ui-small-size)!important;
    padding-inline:5px!important;
    min-height:60px!important;
  }
}

/* Preview remaining-count note should never inherit navy on burgundy / ivory. */
#app #view .league-page .league-preview-more{
  background:var(--ui-surface)!important;
  border:1.5px solid var(--ui-accent)!important;
  color:var(--ui-ink)!important;
  border-radius:var(--ui-control-radius)!important;
  box-shadow:0 0 13px rgba(var(--ui-rgb),.19)!important;
}
#app #view .league-page .league-live-preview .league-fixtures{
  background:transparent!important;box-shadow:none!important;
}


/* Shared fixture-search layout; live UI only. */
#app #view .wolf-match-search{display:grid;gap:var(--ui-space-sm);margin:var(--ui-space) auto;padding:var(--ui-space);border:1px solid var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-surface);max-width:100%;box-sizing:border-box}

/* Canonical live competitions: former mixed audit1703 live rules, relocated once. */
#app #view .wolf-smart-roster .wolf-roster-body .wolf-roster-add{display:none!important}
#app #view .wolf-search-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-sm)}
#app #view .wolf-search-modes button{min-height:var(--ui-control-height);font:inherit;font-weight:700;font-size:var(--ui-small-size);line-height:1.4;overflow-wrap:anywhere;border-radius:var(--ui-control-radius);padding:7px;border:1px solid var(--ui-accent);color:var(--ui-ink);background:transparent;cursor:pointer}
#app #view .wolf-search-modes button.selected{border-color:var(--ui-accent);background:var(--ui-inner);box-shadow:0 0 9px rgba(var(--ui-rgb),.30)}
#app #view .wolf-search-result:disabled{opacity:.5;cursor:not-allowed}
#app #view .league-page .league-round-bye{display:flex;align-items:center;justify-content:center;margin:10px 8px 12px;padding:9px 12px;border:1px dashed var(--ui-accent);border-radius:var(--ui-control-radius);font-weight:800;font-size:var(--ui-small-size);line-height:1.5;color:var(--ui-ink);background:var(--ui-inner);box-shadow:0 0 8px rgba(var(--ui-rgb),.25)}
#app #view .league-round-toggle-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px!important}
#app #view .wolf-copy-fixtures{min-height:var(--ui-control-height)!important;font-size:var(--ui-small-size)!important}
#app #view .wolf-fixture-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-space-xs)}
#app #view .wolf-fixture-filters button{font:inherit;font-size:var(--ui-small-size);font-weight:800;min-height:var(--ui-control-height);line-height:1.4;overflow-wrap:anywhere;padding:8px 4px;border-radius:var(--ui-control-radius);border:1px solid var(--ui-accent);background:transparent;color:var(--ui-ink)}
#app #view .wolf-fixture-filters button.selected{border-color:var(--ui-accent);box-shadow:0 0 8px rgba(var(--ui-rgb),.25);background:var(--ui-inner)}
#app #view .wolf-filter-hidden{display:none!important}
#app #view .wolf-match-search > .wolf-copy-fixtures{min-height:var(--ui-control-height)!important;font-size:var(--ui-small-size)!important}
#app #view #matches .match.wolf-next-match{outline:1.5px solid var(--ui-accent);outline-offset:2px;box-shadow:var(--ui-glow),inset 0 0 10px rgba(var(--ui-rgb),.12)!important}
#app #view .match-panel[hidden],#app #view #tournamentBoard[hidden]{display:none!important}
#app #view .wolf-match-progress{margin:0!important;padding:0!important;line-height:1.5!important;text-align:center;font-weight:700;font-size:var(--ui-small-size);color:var(--ui-ink);opacity:.9}
#app #view .wolf-next-fixture{min-height:var(--ui-control-height)!important;font-size:var(--ui-small-size)!important}
#app #view .stats.competition-stats .stat{background:var(--ui-surface)!important;box-sizing:border-box}
#app #view .stats.competition-stats .stat.green{background:var(--ui-surface)!important}
#app #view .stats.competition-stats .stat b{font-variant-numeric:tabular-nums}
#app #view .wolf-search-more{width:100%;min-height:var(--ui-control-height)!important;margin-top:6px;font-size:var(--ui-small-size)!important}
#app #view .wolf-ko-rounds{display:flex;flex-wrap:wrap;gap:var(--ui-space-xs);justify-content:center;margin:var(--ui-space) auto}
#app #view .wolf-ko-round-link{background:var(--ui-surface);color:var(--ui-ink);border:1px solid var(--ui-accent);border-radius:var(--ui-control-radius);padding:8px 11px;font:inherit;font-weight:800;font-size:var(--ui-small-size);min-height:var(--ui-control-height)}
#app #view .wolf-ko-round-link.selected{border-color:var(--ui-accent);box-shadow:0 0 10px rgba(var(--ui-rgb),.30)}
#app #view .wolf-ko-round-link:disabled{opacity:.42;cursor:not-allowed}
#app #view .wolf-ko-histories{display:grid;gap:var(--ui-space-sm);margin:9px auto 18px}
#app #view .wolf-ko-history{background:var(--ui-surface);border:1px solid var(--ui-accent);border-radius:var(--ui-control-radius);overflow:hidden}
#app #view .wolf-ko-history>summary{list-style:revert;cursor:pointer;font:inherit;font-weight:800;font-size:var(--ui-small-size);padding:12px 16px;min-height:var(--ui-control-height);box-sizing:border-box}
#app #view .wolf-ko-history-pairs{padding:6px 12px 12px;display:grid;gap:var(--ui-space-sm)}
#app #view .wolf-ko-history .ko-history-player{cursor:default;opacity:1;pointer-events:none}
#app #view .wolf-ko-history .match{background:transparent;min-height:var(--ui-control-height)}
#app #view .participant-controls{white-space:normal;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px}
#app #view #quickPlayerSummary[hidden],#app #view .quick-control-card[hidden]{display:none!important}
@media (max-width:430px){#app #view :is(.league-page,.knockout-page,.quick-normal-page) .standalone-controls-card button{min-width:0;overflow-wrap:anywhere;}}
.league-match:has(.league-result-state.void){opacity:.76}
.league-match .league-result-state.void{color:var(--text-color,currentColor);font-weight:750}
.league-match:has(.league-result-state.void) .ko-player{cursor:default}

/* audit1831 — compact competition setup/live chrome, only within #view. */
@layer identity {
  #app #view :is(.quick-normal-page,.league-page,.knockout-page){gap:11px!important;}
  #app #view :is(.quick-normal-page,.league-page,.knockout-page) > .mode-page-title{margin:0 auto var(--wolf-head-title-content-gap,18px)!important;}
  #app #view :is(.quick-normal-page,.league-page,.knockout-page) :is(.game-select-card,.tournament-setup,.competition-meta-card,.league-system-card,.smart-entry-card,.participants,.league-live-roster,.league-standings-card,.knockout-control-card,.league-control-card){padding:11px 12px!important;margin-block:7px!important;}
  #app #view :is(.quick-normal-page,.league-page,.knockout-page) :is(h2,.league-section-heading>b,.league-choice-head>.field-label){font-size:clamp(18px,4.8vw,22px)!important;line-height:1.38!important;}
  #app #view :is(.quick-normal-page,.league-page,.knockout-page) :is(.smart-entry-hint,.ko-roster-help,.league-section-heading small,.league-choice-head small){font-size:14px!important;line-height:1.4!important;}
  #app #view :is(.quick-normal-page,.league-page,.knockout-page) :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions){gap:7px!important;}
  #app #view :is(.quick-normal-page,.league-page,.knockout-page) .standalone-controls-card{padding:9px!important;margin-block:9px!important;}
  #app #view :is(.quick-normal-page,.league-page,.knockout-page) .standalone-controls-card .action{min-height:48px!important;font-size:clamp(14px,3.9vw,17px)!important;line-height:1.28!important;}
  #app #view .league-page .league-round-group{margin-block:7px!important;}
  #app #view .league-page .league-round{padding-block:7px!important;}
  #app #view .knockout-page .ko-current-round{margin-block:8px!important;padding:10px!important;}
}

/* audit1832 — full-width, last-in-list automatic qualifiers in the live UI only. */
#app #view .quick-normal-page .quick-bye-match,
#app #view .knockout-page .ko-bye-match{display:flex!important;align-items:center!important;justify-content:center!important;min-height:96px!important;padding:12px!important;margin-top:12px!important;grid-template-columns:minmax(0,1fr)!important;}
#app #view .quick-normal-page .quick-bye-match>.quick-bye-card{display:flex!important;flex-direction:column!important;grid-column:1/-1!important;grid-row:auto!important;width:100%!important;min-height:78px!important;align-items:center!important;justify-content:center!important;gap:3px!important;}
#app #view .quick-normal-page .quick-bye-match>.matchno{display:none!important;}
#app #view .knockout-page .ko-bye-match>.ko-bye-display{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:76px;border:2px dashed #D4A83D;border-radius:16px;background:rgba(174,124,32,.13);color:var(--ui-ink);box-shadow:0 0 14px rgba(194,149,42,.2);}
#app #view .knockout-page .ko-bye-display strong{font-size:var(--ui-card-size);font-weight:700;}
#app #view .knockout-page .ko-bye-display small{font-size:var(--ui-small-size);color:var(--ui-ink);}

/* recovery2148 — fixed, always-open game settings (not a toggle). Live UI only. */
#app #view .wolf-setup-disclosure{margin:8px 0 10px;border:1.5px solid var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--wolf-neon-tier-soft);overflow:clip;}
#app #view .wolf-setup-disclosure>.wolf-setup-heading{display:flex;align-items:center;justify-content:flex-start;min-height:48px;margin:0;padding:8px 14px;color:var(--ui-ink);font:700 17px/1.45 var(--ui-font);}
#app #view .wolf-setup-disclosure>.card{margin:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:0!important;box-shadow:none!important;}

/* audit1849: Byes are qualifiers, not matches. Exported after the last real row. */
.statistics-export.quick-round-image .quick-export-auto-qualified {
  box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:14px;width:min(83%,750px);margin:21px auto 7px;direction:rtl;
}
.statistics-export.quick-round-image .quick-export-auto-name {
  box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;
  flex:1 1 240px;max-width:100%;min-height:91px;padding:10px 17px;
  border:2px solid #C9A252;border-radius:14px;background:#483618;color:#F7DFA7;text-align:center;
}
.statistics-export.quick-round-image .quick-export-auto-name strong {
  font-size:27px;font-weight:800;line-height:1.3;overflow-wrap:anywhere;
}
.statistics-export.quick-round-image .quick-export-auto-name small {
  font-size:16px;font-weight:700;line-height:1.35;color:#F6D99C;
}



/* audit1843 — competition live chrome polish.
   Quick challenge, knockout and league share tighter setup/control cards and
   clearer winner/search typography. Match geometry and export layouts are intact. */
@layer identity {
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) {
    --wolf1843-competition-shadow:inset 0 0 10px rgba(var(--ui-rgb),.10),0 0 11px rgba(var(--ui-rgb),.26),0 3px 10px rgba(0,0,0,.12);
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.smart-entry-card,.game-select-card,.tournament-setup,.competition-meta-card,
      .league-system-card,.participants,.league-live-roster,.league-standings-card,
      .standalone-controls-card,.knockout-control-card,.league-control-card,.wolf-match-search) {
    box-shadow:var(--wolf1843-competition-shadow)!important;
    border-radius:15px!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions,.unified-control-strip) {
    gap:5px!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions,.unified-control-strip) > .action {
    min-height:44px!important;
    border-radius:12px!important;
    box-shadow:0 0 10px rgba(var(--ui-rgb),.18)!important;
  }
  #app #view .wolf-compact-winner .wolf-batch-input,
  #app #view .wolf-compact-winner .wolf-fixture-filters button,
  #app #view .wolf-compact-winner .wolf-match-extra-tools > .action {
    border-radius:12px!important;
  }
  #app #view .wolf-compact-winner .wolf-batch-input,
  #app #view .wolf-compact-winner .wolf-winner-heading,
  #app #view .wolf-compact-winner .wolf-match-progress,
  #app #view .wolf-compact-winner .wolf-fixture-filters button {
    color:var(--ui-ink)!important;
    -webkit-text-fill-color:var(--ui-ink)!important;
  }
  @media (max-width:480px) {
    #app #view :is(.quick-normal-page,.knockout-page,.league-page)
      :is(.smart-entry-card,.game-select-card,.tournament-setup,.competition-meta-card,
      .league-system-card,.participants,.league-live-roster,.league-standings-card,
      .standalone-controls-card,.knockout-control-card,.league-control-card,.wolf-match-search) {
      padding:8px 9px!important;
      margin-block:5px!important;
    }
  }

  /* audit1849: collapsed league rounds stay genuinely compact; actual match
     lists remain freely scrollable and none of the fixture rows are hidden. */
  #app #view .league-page details.league-round-group:not([open]) {
    padding-block:6px!important;
    margin-block:4px!important;
  }
  #app #view .league-page details.league-round-group > summary.league-round {
    min-height:44px!important;
    margin:0!important;
  }
  #app #view :is(.league-page,.knockout-page) :is(.round-banner,.league-board-banner) {
    padding-block:7px!important;
    margin-block:5px!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .wolf-roster-open-btn {
    min-height:44px!important;
  }
}

/* recovery1911 — live competition setup card rhythm (exports untouched). */
@layer identity {
  #app #view.wolf-layout-page :is(.quick-normal-page,.knockout-page,.league-page)
    > :is(.card,.ui-section-card,.setup-card,.participants,.standalone-controls-card){
    box-sizing:border-box!important;min-inline-size:0!important;max-inline-size:100%!important;
    margin-block:8px 12px!important;
    padding-inline:clamp(10px,3vw,15px)!important;
  }
  #app #view.wolf-layout-page :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.smart-entry-card,.participants,.league-standings-card,.competition-meta-card){
    min-inline-size:0!important;max-inline-size:100%!important;
  }
  #app #view.wolf-layout-page :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.smart-entry-card,.participants,.league-standings-card,.competition-meta-card)
    :is(input,select,textarea){box-sizing:border-box!important;min-inline-size:0!important;max-inline-size:100%!important;}
}


/* recovery1925 — consolidated 44px page-back control; no layout scaling.
   Theme tokens come from identity.css. Inner/outer neon stays on the plate,
   a sharp small shadow stays on the SVG glyph. */
#app #view > :is(button.back,button.back.back-system){
  box-sizing:border-box!important;
  width:44px!important;height:44px!important;
  min-width:44px!important;min-height:44px!important;
  max-width:44px!important;max-height:44px!important;
  padding:7px!important;
  display:grid!important;place-items:center!important;
  border:1.6px solid var(--wolf-back-edge)!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 58%),var(--wolf-back-plate)!important;
  color:var(--wolf-back-glyph)!important;
  box-shadow:inset 0 0 9px rgba(var(--wolf-back-rgb),.21),
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 8px rgba(var(--wolf-back-rgb),.64),
    0 0 18px rgba(var(--wolf-back-rgb),.28)!important;
  filter:none!important;
}
#app #view > :is(button.back,button.back.back-system) svg{
  display:block!important;
  width:22px!important;height:22px!important;
  min-width:22px!important;min-height:22px!important;
  max-width:22px!important;max-height:22px!important;
  stroke:currentColor!important;stroke-width:2.8!important;
  color:var(--wolf-back-glyph)!important;
  fill:none!important;
  filter:drop-shadow(0 0 5px rgba(var(--wolf-back-rgb),.76))!important;
}
#app #view > :is(button.back,button.back.back-system):active{
  box-shadow:inset 0 0 12px rgba(var(--wolf-back-rgb),.24),
    0 0 12px rgba(var(--wolf-back-rgb),.7)!important;
}


/* recovery1928 — ivory-only champagne back key; other themes untouched. */
body.light #app #view > :is(button.back,button.back.back-system){
  background:linear-gradient(150deg,#F2DEB1 0%,#DBB875 53%,#BD9251 100%)!important;
  border:1.6px solid #B67F28!important;
  color:#583716!important;
  box-shadow:inset 0 0 11px rgba(255,243,208,.72),inset 0 1px 0 rgba(255,255,255,.8),
    0 0 10px rgba(192,137,43,.48),0 0 19px rgba(192,137,43,.27)!important;
}
body.light #app #view > :is(button.back,button.back.back-system) svg{
  color:#583716!important;stroke:currentColor!important;
  filter:drop-shadow(0 0 3px rgba(248,219,155,.85))!important;
}

/* recovery1945: Knockout uses the same quick-challenge component rhythm in every theme.
   These styles change view composition only; they never reposition bracket slots. */
#app #view.quick-challenge-view .wolf-ko-quick-parity .wolf-ko-title-field{display:grid;gap:7px;margin-top:var(--ui-space-sm);min-width:0}
#app #view.quick-challenge-view .wolf-ko-quick-parity .wolf-ko-title-field .field-label{margin:0;text-align:right}
#app #view.quick-challenge-view .wolf-ko-quick-parity .wolf-ko-title-field .input{width:100%;min-width:0;box-sizing:border-box}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-current-round.match-panel{min-width:0;box-sizing:border-box}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-current-round .ko-round-heading.match-title-row{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:8px!important;padding:0!important;margin:0 0 6px!important;border:0!important;background:transparent!important;box-shadow:none!important}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-round-heading.match-title-row h2{font-size:var(--ui-page-title-size,23px)!important;line-height:1.35!important;margin:0!important}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-round-step{font-size:var(--ui-small-size)!important;line-height:1.45!important;max-width:100%;white-space:normal}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-round-help{margin:5px 0 11px!important;font-size:var(--ui-small-size)!important;line-height:1.5!important}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-fixture-list{display:grid;gap:var(--ui-space-sm);min-width:0;width:100%}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-fixture-list>.match{box-sizing:border-box;width:100%;min-width:0;margin:0!important}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-bye-display{box-sizing:border-box;border-style:solid!important;border-color:var(--ui-gold,#d3a33e)!important;border-radius:var(--ui-control-radius)!important;background:color-mix(in srgb,var(--ui-gold,#d3a33e) 13%,var(--ui-surface))!important;box-shadow:0 0 8px color-mix(in srgb,var(--ui-gold,#d3a33e) 21%,transparent)!important}
#app #view.quick-challenge-view .wolf-ko-quick-parity .knockout-control-card.quick-control-card .quick-tools{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;direction:rtl!important;gap:7px!important}
#app #view.quick-challenge-view .wolf-ko-quick-parity .knockout-control-card.quick-control-card .quick-control{min-width:0!important;min-height:48px!important;padding:7px 3px!important;white-space:normal!important;overflow-wrap:anywhere!important}
#app #view.quick-challenge-view .wolf-ko-quick-parity .ko-next-round{width:100%!important}
@media(max-width:360px){#app #view.quick-challenge-view .wolf-ko-quick-parity .knockout-control-card.quick-control-card .quick-control{font-size:12px!important;padding-inline:2px!important}}

/* No decorative check over selected game tiles: selection is the tile's light. */
#app #view :is(.quick-normal-page,.knockout-page,.league-page) .game-card-picker .game-card-option.selected::after{content:none!important;display:none!important}
#app #view :is(.quick-normal-page,.knockout-page,.league-page) .game-card-picker .game-card-option.selected{border:2px solid var(--ui-accent)!important;outline:1px solid color-mix(in srgb,var(--ui-accent) 48%,transparent)!important;outline-offset:1px;box-shadow:0 0 0 1px color-mix(in srgb,var(--ui-accent) 30%,transparent),0 0 15px color-mix(in srgb,var(--ui-accent) 54%,transparent),inset 0 0 7px color-mix(in srgb,var(--ui-accent) 24%,transparent)!important}
#app #view :is(.quick-normal-page,.knockout-page,.league-page) .game-card-picker .game-card-option:not(.selected):not(:disabled){opacity:.86!important;filter:none!important}
body.burgundy #app #view :is(.quick-normal-page,.knockout-page,.league-page) .game-card-picker .game-card-option.selected{border-color:#c78460!important;outline-color:#b57454!important;box-shadow:0 0 14px rgba(193,115,78,.52),inset 0 0 8px rgba(193,115,78,.24)!important}
body.light #app #view :is(.quick-normal-page,.knockout-page,.league-page) .game-card-picker .game-card-option.selected{border-color:#b98822!important;outline-color:#d6a442!important;box-shadow:0 0 12px rgba(189,137,39,.43),inset 0 0 7px rgba(214,164,66,.22)!important}

/* The full royal-gold winner card replaces the obsolete check image. */
#app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.quick-player,.ko-player,.league-player).winner{
  color:#ffe8a5!important;border-color:#edbe54!important;background:#594018!important;
  box-shadow:inset 0 0 8px rgba(255,211,107,.13),0 0 12px rgba(237,190,84,.27)!important;
}
#app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.quick-player,.ko-player,.league-player).winner :is(.quick-player-name,.ko-player-name,.league-player-name){color:#ffe8a5!important}
body.light #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.quick-player,.ko-player,.league-player).winner{
  color:#3B2914!important;border-color:#B58430!important;background:#F4EADB!important;
  box-shadow:inset 0 0 5px rgba(255,252,244,.30),0 0 9px rgba(181,132,48,.23)!important;
}
body.light #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.quick-player,.ko-player,.league-player).winner :is(.quick-player-name,.ko-player-name,.league-player-name){color:#3B2914!important;-webkit-text-fill-color:#3B2914!important}

/* recovery1946: unified league layout; all three themes inherit --ui-* tokens. */
@layer identity {
 #app #view .league-page {--league-tight-gap:8px;}
 #app #view .league-page .league-setup-card,
 #app #view .league-page .league-system-card,
 #app #view .league-page .league-add-card,
 #app #view .league-page .league-participants-card,
 #app #view .league-page .league-control-card {margin-block:var(--league-tight-gap)!important;padding:11px 12px!important;}
 #app #view .league-page .league-section-heading {margin:0 0 8px!important;min-height:0!important;padding:0!important;}
 #app #view .league-page .league-section-heading:after {content:none!important;display:none!important;}
 #app #view .league-page .league-setup-card .field-label {margin:6px 0 3px!important;}
 #app #view .league-page .league-title-input {min-height:var(--ui-control-height,44px)!important;}
 #app #view .league-page :is(.league-mode,.league-scoring-picker)>button {min-height:var(--ui-tap-area,44px)!important;height:auto!important;padding:9px 7px!important;box-shadow:none!important;}
 #app #view .league-page :is(.league-mode,.league-scoring-picker)>button.selected {border-color:var(--ui-accent)!important;box-shadow:0 0 7px rgba(var(--ui-rgb),.3),inset 0 0 6px rgba(var(--ui-rgb),.12)!important;}
 #app #view .league-page .league-dates-unified .league-start-date-card {min-height:76px!important;padding:7px 6px!important;gap:3px!important;box-shadow:inset 0 0 5px rgba(var(--ui-rgb),.08)!important;}
 #app #view .league-page .league-dates-unified .league-calendar-symbol {width:25px!important;height:25px!important;min-height:25px!important;min-width:25px!important;flex-basis:25px!important;}
 #app #view .league-page .league-dates-unified svg.wolf-date-calendar {width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important;}
 #app #view .league-page .league-field-hint {display:block;min-height:1em;font-size:var(--ui-small-size);font-weight:650;color:var(--ui-muted);margin:2px 0 4px;}
 #app #view .league-page .league-field-hint:empty {display:none;}
 #app #view .league-page .league-calendar-hint {font-size:var(--ui-small-size);color:var(--ui-muted);padding:4px 2px!important;}
 #app #view .league-page .league-start-area {margin:10px 0 6px!important;}
 #app #view .league-page .league-start-button {min-height:var(--ui-tap-area,44px)!important;}
 #app #view .league-page .league-control-card {box-shadow:none!important;}
 #app #view .league-page .league-live-overview {display:block!important;padding:0!important;margin:8px 0!important;}
 #app #view .league-page .league-live-overview>summary {min-height:var(--ui-tap-area,44px)!important;display:flex!important;flex-direction:column;align-items:center;gap:2px;cursor:pointer;list-style:none;padding:9px;}
 #app #view .league-page .league-live-overview>summary::-webkit-details-marker {display:none;}
 #app #view .league-page .league-overview-facts {display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px;padding:0 8px 10px;font-size:var(--ui-small-size);font-weight:700;color:var(--ui-ink);}
 #app #view .league-page .league-live-roster>summary {display:flex;justify-content:space-between;align-items:center;min-height:var(--ui-tap-area,44px);cursor:pointer;list-style:none;font-weight:800;}
 #app #view .league-page .league-live-roster>summary::-webkit-details-marker {display:none;}
 #app #view .league-page .league-live-roster:not([open]) {padding-block:4px!important;}
 #app #view .league-page .league-fixture-controls-anchor {height:0;overflow:hidden;}
 #app #view .league-page .league-match.competition-match {box-shadow:none!important;margin-block:5px!important;}
 #app #view .league-page details.league-round-group[hidden],
 #app #view .league-page details.league-stage[hidden] {display:none!important;}
 #app #view .league-page .league-round-progress {font-variant-numeric:tabular-nums;}
 #app #view .league-page .league-table-wrap {overflow-x:auto;overscroll-behavior-inline:contain;}
 #app #view .league-page .league-table {font-variant-numeric:tabular-nums;}
 #app #view .league-page .league-table .league-points {color:var(--ui-ink)!important;font-weight:900;}
 #app #view .league-page .league-player-name {font-weight:800;}
 #app #view .league-page :is(.league-save-overlay,.league-save-dialog) {color:var(--ui-ink);}
}

/* Winner filters remain visible for all competition formats in entry mode. */
@layer identity {
 #app #view :is(.quick-normal-page,.knockout-page,.league-page)
 .wolf-match-search[data-wolf-mode="win"] .wolf-fixture-filters {
   display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page)
 .wolf-fixture-filters>button {font-variant-numeric:tabular-nums;min-height:44px!important;}
}

@layer identity {
 #app #view .league-page .league-match .ko-player.winner {
   background:linear-gradient(140deg,#624516,#B48635,#755015)!important;
   border-color:#F1D48B!important;color:#FFF4D7!important;
   box-shadow:inset 0 0 6px rgba(255,238,192,.19),0 0 9px rgba(224,177,70,.31)!important;
 }
 body.light #app #view .league-page .league-match .ko-player.winner {
   background:#F4EADB!important;
   color:#3B2914!important;border-color:#B58430!important;
   box-shadow:inset 0 0 5px rgba(255,252,244,.30),0 0 9px rgba(181,132,48,.23)!important;
 }
 #app #view .league-page .league-match .ko-player.winner .league-player-name {color:inherit!important;}
}

/* Strictly league skin accents, without changing the other approved screens. */
@layer identity {
 body.burgundy #app #view .league-page {
  --ui-accent:#C58D68!important;--ui-rgb:197,141,104!important;
  --ui-muted:#E6CFC4!important;--ui-icon:#F2CFAB!important;
  --wz-theme-neon-edge:#C58D68!important;
 }
 body.light #app #view .league-page {
  --ui-accent:#A77B32!important;--ui-rgb:167,123,50!important;
  --ui-icon:#815A1D!important;--wz-theme-neon-edge:#B88B3D!important;
 }
 body.burgundy #app #view .league-page :is(.league-start-date-card,.league-mode>button,.league-scoring-picker>button,.league-match .ko-player,.league-fixture-filters button){
  border-color:rgba(197,141,104,.62)!important;
 }
 body.light #app #view .league-page :is(.league-start-date-card,.league-mode>button,.league-scoring-picker>button,.league-match .ko-player,.league-fixture-filters button){
  border-color:rgba(167,123,50,.67)!important;
 }
}

/* recovery1947 — unified approved controls and all-page neon hierarchy.
   Keep geometry stable; use theme tokens instead of overlaying fixed navy/pink. */
@layer identity {
 body.burgundy #app #view {
   --ui-accent:#CF986C!important;--ui-rgb:207,152,108!important;
   --ui-muted:#F0D9CD!important;--ui-icon:#F4D2AC!important;
   --wz-theme-neon-edge:#CF986C!important;
 }
 body.light #app #view {
   --ui-accent:#B58430!important;--ui-rgb:181,132,48!important;
   --ui-icon:#865B18!important;--ui-muted:#6A4C26!important;
   --wz-theme-neon-edge:#C29840!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.setup-card,.game-select-card,.smart-entry-card,.participants,.match-panel,.standalone-controls-card,.league-board-banner,.league-stage,.league-round-group,.wolf-match-search){
   border-color:rgba(var(--ui-rgb),.50)!important;
   box-shadow:inset 0 0 7px rgba(var(--ui-rgb),.055),0 0 9px rgba(var(--ui-rgb),.16)!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.wolf-batch-input,.smart-player-input,.quick-event-owner-input,.input,.league-title-input){
   background:var(--ui-inner)!important;border-color:rgba(var(--ui-rgb),.57)!important;color:var(--ui-ink)!important;
   box-shadow:inset 0 0 6px rgba(var(--ui-rgb),.065)!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.wolf-batch-input,.smart-player-input,.quick-event-owner-input,.input,.league-title-input):focus-visible{
   border-color:var(--ui-accent)!important;outline:1px solid var(--ui-accent)!important;outline-offset:1px;
   box-shadow:inset 0 0 7px rgba(var(--ui-rgb),.12),0 0 12px rgba(var(--ui-rgb),.32)!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.smart-entry-hint,.quick-game-status,.wolf-search-label,.ko-round-help,.league-field-hint){color:var(--ui-muted)!important;opacity:1!important}
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.quick-control,.add-player-btn,.wolf-batch-choice,.wolf-fixture-filters>button){
   border-color:rgba(var(--ui-rgb),.61)!important;color:var(--ui-ink)!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.wolf-fixture-filters>button.selected,.wolf-batch-choice:focus-visible,.game-card-option.selected){
   border-color:var(--ui-accent)!important;box-shadow:0 0 12px rgba(var(--ui-rgb),.36),inset 0 0 7px rgba(var(--ui-rgb),.14)!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.quick-player,.ko-player).winner {
   background:#59401B!important;color:#FFE7A2!important;border:2px solid #E6B85D!important;
   box-shadow:inset 0 0 8px rgba(255,227,168,.16),0 0 13px rgba(230,184,93,.38)!important;
 }
 /* Ivory winner material matches the cream-gold card adopted for the
    league; no changes to winner semantics or the navy/burgundy themes. */
 body.light #app #view :is(.quick-normal-page,.knockout-page) :is(.quick-player,.ko-player).winner {
   background:#F4EADB!important;
   color:#3B2914!important;border-color:#B58430!important;
   box-shadow:inset 0 0 5px rgba(255,252,244,.30),0 0 9px rgba(181,132,48,.23)!important;
   -webkit-text-fill-color:#3B2914!important;
 }
 body.light #app #view :is(.quick-normal-page,.knockout-page) :is(.quick-player,.ko-player).winner
 :is(.quick-player-name,.ko-player-name) {
   color:#3B2914!important;-webkit-text-fill-color:#3B2914!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) .wolf-fixture-filters>button {font-variant-numeric:tabular-nums;min-height:44px!important;}
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) .ko-bye-display,
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) .quick-bye-match {
   border-color:rgba(208,171,90,.58)!important;box-shadow:0 0 6px rgba(208,171,90,.12)!important;
 }
}

/* recovery1947: source-wide burgundy/ivory palette. All pages and popups inherit
   these shared color tokens; spacing and geometry remain untouched. */
@layer identity {
 body.burgundy {
  --ui-accent:#CF986C!important;--ui-rgb:207,152,108!important;
  --ui-icon:#F4D2AC!important;--ui-muted:#E8CFC0!important;
  --wz-theme-neon-edge:#CF986C!important;
  --wolf-glow-icon:rgba(207,152,108,.49)!important;
 }
 body.light {
  --ui-accent:#B58430!important;--ui-rgb:181,132,48!important;
  --ui-icon:#865B18!important;--ui-muted:#6A4C26!important;
  --wz-theme-neon-edge:#B88B3D!important;
  --wolf-glow-icon:rgba(181,132,48,.35)!important;
 }
 body.burgundy #app #view :is(.menu-chevron,.home-entry .home-icon,.mode-card svg,.control-icon svg,.league-calendar-symbol,.add-player-btn svg) {
  color:var(--ui-icon)!important;stroke:currentColor!important;
  filter:drop-shadow(0 0 3px rgba(201,146,107,.31))!important;
 }
 body.light #app #view :is(.menu-chevron,.home-entry .home-icon,.mode-card svg,.control-icon svg,.league-calendar-symbol,.add-player-btn svg) {
  color:var(--ui-icon)!important;stroke:currentColor!important;
  filter:drop-shadow(0 0 2px rgba(170,124,46,.21))!important;
 }
 #app #view .game-card-picker.wz-honor-game-tiles>button.game-card-option.selected::after {
  content:none!important;display:none!important;
 }
 #app #view .game-card-picker.wz-honor-game-tiles>button.game-card-option.selected {
  border:2px solid var(--ui-accent)!important;
  box-shadow:0 0 12px rgba(var(--ui-rgb),.36),inset 0 0 7px rgba(var(--ui-rgb),.14)!important;
 }
 #app #view :is(.settings-page,.management-hub-page,.records-menu-page,.honor-page,.team-hub-page,.accounts-page) :is(.input,button.action,select,textarea) {
  border-color:rgba(var(--ui-rgb),.60)!important;
 }
 #app #view :is(.settings-page,.management-hub-page,.records-menu-page,.honor-page,.team-hub-page,.accounts-page) :is(.input,button.action,select,textarea):focus-visible {
  outline:2px solid var(--ui-accent)!important;outline-offset:2px;
 }
}

@layer identity {
 #app #view .wolf-ko-review-tools {display:grid;gap:9px;padding:12px!important;margin-bottom:12px!important;
  color:var(--ui-ink);background:var(--ui-surface);border:1px solid rgba(var(--ui-rgb),.53);border-radius:var(--ui-radius);
  box-shadow:0 0 10px rgba(var(--ui-rgb),.17);text-align:center;}
 #app #view .wolf-ko-review-tools strong {font-size:var(--ui-subsection-title-size);color:var(--ui-ink);}
 #app #view .wolf-ko-review-rounds {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
 #app #view .wolf-ko-review-rounds .action {min-height:44px!important;font-size:var(--ui-small-size);padding:7px 5px!important;}
}

/* Competition panels: one section outline, no redundant inset wrapper/match box. */
@layer identity {
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.game-select-card,.league-setup-card) > :is(.game-picker,.game-card-picker) {
  background:transparent!important;background-image:none!important;
  border:0!important;box-shadow:none!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page) :is(#matches,.ko-fixture-list) > .match:not(.quick-bye-match):not(.ko-bye-match):not(.quick-invalid-match) {
  background:transparent!important;background-image:none!important;
  border:0!important;outline:0!important;box-shadow:none!important;
 }
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(.smart-entry-hint,.quick-game-status,.league-field-hint,.wolf-match-progress) {
  font-size:var(--ui-small-size)!important;line-height:1.55!important;
 }
}

@layer identity {#app #view .ko-next-hint{display:block;color:var(--ui-muted);font-size:var(--ui-small-size);text-align:center;line-height:1.5;padding:4px;} }

/* recovery1950: aligned type, compact live league, visible instructions. */
@layer identity {
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(
   .smart-entry-hint,.quick-game-status,.league-field-hint,.wolf-match-progress,
   .league-calendar-hint,.league-date-caption small,.wolf-batch-status,
   .league-system-card .league-section-heading small
 ) {font-size:clamp(16px,4.2vw,18px)!important;line-height:1.5!important;color:var(--ui-muted)!important;opacity:1!important;}
 #app #view :is(.quick-normal-page,.knockout-page,.league-page) :is(
   .smart-player-input,.quick-event-owner-input,.league-player-input,.league-title-input,
   .smart-entry-card input,.competition-meta-card input
 )::placeholder{font-size:clamp(16px,4.2vw,18px)!important;color:var(--ui-muted)!important;opacity:1!important;}
 #app #view :is(.quick-normal-page,.knockout-page) :is(.game-select-card,.competition-meta-card,.smart-entry-card){
   padding:10px 12px!important;margin-block:8px!important;}
 #app #view :is(.quick-normal-page,.knockout-page) .game-select-card .game-card-picker{margin-block:8px!important;}
 #app #view .league-page #leagueLiveBoard{display:grid!important;gap:8px!important;}
 #app #view .league-page #leagueLiveBoard>:is(.card,.league-stage,.round-banner,.wolf-match-search){margin:3px 0!important;}
 #app #view .league-page #leagueLiveBoard .league-board-banner{padding:9px 11px!important;}
 #app #view .league-page #leagueLiveBoard .league-board-banner summary{padding:4px!important;min-height:46px!important;gap:1px!important;}
 #app #view .league-page #leagueLiveBoard .league-board-banner b{font-size:clamp(21px,5.5vw,26px)!important;line-height:1.3!important;}
 #app #view .league-page #leagueLiveBoard .league-board-banner small{font-size:clamp(15px,4vw,17px)!important;color:var(--ui-muted)!important;}
 #app #view .league-page #leagueLiveBoard :is(.league-standings-card,.wolf-match-search,.league-stage){padding:9px 10px!important;}
 #app #view .league-page #leagueLiveBoard .league-table :is(th,td){padding:6px 3px!important;font-size:clamp(12px,3.5vw,15px)!important;line-height:1.4!important;}
 #app #view .league-page #leagueLiveBoard .league-standings-summary{gap:6px!important;margin-bottom:4px!important;}
 #app #view .league-page #leagueLiveBoard .league-standings-summary b{font-size:clamp(19px,5vw,23px)!important;}
 #app #view .league-page #leagueLiveBoard .league-standings-summary small{font-size:clamp(12px,3.6vw,15px)!important;}
 #app #view .league-page #leagueLiveBoard .wolf-match-search .wolf-batch-input{min-height:76px!important;max-height:148px!important;}
 #app #view .league-page #leagueLiveBoard .wolf-fixture-filters button{min-height:44px!important;padding:6px 3px!important;font-size:clamp(14px,3.9vw,17px)!important;}
 #app #view .league-page .wolf-league-live-status{display:grid;gap:7px;padding:10px 12px;margin-block:3px;
   background:var(--ui-surface);border:1px solid rgba(var(--ui-rgb),.58);border-radius:var(--ui-radius);
   box-shadow:0 0 8px rgba(var(--ui-rgb),.16);}
 #app #view .league-page .wolf-league-live-status-top{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;
   color:var(--ui-ink);font-size:clamp(14px,4vw,17px);}
 #app #view .league-page .wolf-league-live-status-top>b{font-weight:850;}
 #app #view .league-page .wolf-league-live-status-top span{color:var(--ui-muted);font-weight:750;}
 #app #view .league-page .wolf-league-progress-track{height:5px;border-radius:99px;background:rgba(var(--ui-rgb),.15);overflow:hidden;}
 #app #view .league-page .wolf-league-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--ui-accent);transition:width .2s ease;}
 #app #view .league-page .wolf-league-jump{justify-self:start;min-height:44px;padding:7px 12px;
   border:1px solid var(--ui-accent);border-radius:10px;background:var(--ui-inner);color:var(--ui-ink);
   font:800 clamp(14px,4vw,16px)/1.3 WolfTajawal,Tajawal,sans-serif;}
 #app #view .league-page .wolf-league-jump[hidden]{display:none!important;}
 #app #view .league-page .league-round-group{scroll-margin-top:24px;}
 body.light #app #view .league-page #leagueLiveBoard :is(.league-board-banner,.league-standings-card,.wolf-match-search){color:#382812!important;}
 body.light #app #view .league-page #leagueLiveBoard :is(.league-board-banner small,.league-standings-summary small){color:#594427!important;}
}

/* recovery1951: explicit inline review before a winner correction; no overlays. */
@layer identity {
  #app #view .wolf-batch-row.wolf-batch-correction{
    border-inline-start:3px solid var(--ui-winner-edge,#D8B46C)!important;
    background:color-mix(in srgb,var(--ui-winner-bg,#493817) 12%,var(--ui-surface))!important;
  }
  #app #view .wolf-batch-row.wolf-batch-correction .wolf-batch-state{
    color:var(--ui-winner-ink,#FFE5A5)!important;
    font-weight:700!important;opacity:1!important;
  }
  #app #view .wolf-batch-row.wolf-batch-conflict .wolf-batch-state{
    color:var(--ui-ink)!important;font-weight:700!important;opacity:1!important;
  }
  body.light #app #view .wolf-batch-row.wolf-batch-correction .wolf-batch-state{color:#523918!important;}
}


/* recovery1970 — unified control spacing across quick challenge, league and knockout.
   Visual only: same actions, same order, no tree geometry touched. */
@layer identity {
  #app #view :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions,.unified-control-strip) {
    gap:8px!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions,.unified-control-strip) > .action,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .add-player-btn,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .wolf-roster-open-btn {
    gap:7px!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions,.unified-control-strip) > .action {
    padding:8px 4px!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions,.unified-control-strip) > .action > span:last-child,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .add-player-btn > span:last-child,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .wolf-roster-open-btn > span:last-child {
    line-height:1.28!important;
  }
  #app #view :is(.quick-normal-page,.knockout-page,.league-page)
    :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions,.unified-control-strip) > .action :is(.control-icon,.camera-line,.ko-save-icon,svg),
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .add-player-btn .control-icon,
  #app #view :is(.quick-normal-page,.knockout-page,.league-page) .wolf-roster-open-btn svg {
    transform:translateY(-1px)!important;
  }
  @media (max-width:430px) {
    #app #view :is(.quick-normal-page,.knockout-page,.league-page)
      :is(.quick-tools,.league-tools,.league-start-tools,.ko-actions,.unified-control-strip) > .action {
      gap:8px!important;
      padding:8px 3px!important;
    }
  }
}
