/* pixelpokal.css — V1 appearance. See DESIGN-HANDOVER.md. */


/* Qualification */

.pixel-highlight {
  border:2px solid var(--accent);
  background:linear-gradient(120deg,#26392d,#1d2339);
}

.pixel-tabs {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:24px 0;
}

.pixel-tabs a {
  padding:10px 18px;
  border:1px solid var(--input-border);
  border-radius:8px;
  text-decoration:none;
}

.pixel-tabs a[aria-current=page] {
  background:var(--accent);
  color:#132208;
  font-weight:700;
}

.pixel-page {
  max-width:900px;
}

.pixel-rules {
  margin:24px 0;
}

.pixel-rules summary {
  padding:12px 0;
}

.pixel-rows {
  list-style:none;
  margin:0;
  padding:0;
}

.pixel-row {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:18px 0;
  border-bottom:1px solid var(--border-color);
}

.pixel-rank {
  min-width:32px;
}

.pixel-row img {
  flex:0 0 44px;
  image-rendering:pixelated;
}

.pixel-identity {
  min-width:0;
  overflow-wrap:anywhere;
}

.pixel-identity p {
  margin:4px 0;
  color:var(--subtle);
  font-size:15px;
}

.pixel-identity .pixel-place {
  color:var(--accent);
}

.pixel-form {
  max-width:760px;
}

.pixel-form label {
  margin-bottom:8px;
}

.pixel-form p {
  margin:20px 0;
}

.pixel-form input, .pixel-form select, .pixel-form textarea {
  display:block;
  width:100%;
}

.pixel-form .helptext {
  display:block;
  margin-top:6px;
  color:var(--subtle);
  font-size:14px;
}

.pixel-seed {
  overflow-wrap:anywhere;
}

@media(max-width:600px) {
.pixel-tabs {
  gap:8px;
}


.pixel-tabs a {
  flex:1;
  text-align:center;
  padding:10px;
}


.pixel-row {
  gap:10px;
}


.pixel-form button {
  width:100%;
}
}

.pixel-capacity {
  margin:24px 0;
  padding:16px;
  border-left:4px solid var(--accent);
  background:rgba(120,220,100,.08);
}

.pixel-capacity strong {
  font-size:1.2rem;
}

.pixel-capacity p {
  margin:8px 0 0;
}

.pixel-form details {
  margin:20px 0;
}

.pixel-form input, .pixel-form select {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}


.event-person {
  padding:16px 0;
  border-bottom:1px solid #454759;
}

.event-person details {
  margin:12px 0;
}

.event-card h3 {
  overflow-wrap:anywhere;
}


/* Seat management */

.pixel-seat-card {
  border:1px solid #7e884f;
  border-radius:12px;
  padding:20px;
  margin:0 0 24px;
  overflow-wrap:anywhere;
}

.pixel-seat-pending {
  border:2px solid #f1c75b;
  background:#292716;
}

.pixel-seat-card h2 {
  margin-top:0;
}

.pixel-seat-actions {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  align-items:center;
}

.pixel-seat-actions form {
  margin:0;
}

.pixel-secondary {
  background:transparent;
  color:var(--text,#eee);
  border:1px solid #707080;
}

.pixel-people {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:12px;
  margin:16px 0;
}

.pixel-person {
  border:1px solid #45485c;
  border-radius:8px;
  padding:14px;
  margin:8px 0;
  min-width:0;
  overflow-wrap:anywhere;
}

.pixel-person h3 {
  font-size:1.1rem;
  margin:0;
}

.pixel-person p {
  margin:8px 0;
}

.pixel-person details {
  margin-top:14px;
}

.pixel-person textarea {
  max-width:100%;
  box-sizing:border-box;
}

.pixel-golden {
  border:4px solid #f1c75b;
  max-width:100%;
  height:auto;
  box-sizing:border-box;
}

.pixel-search {
  margin:20px 0;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.pixel-search input {
  min-width:0;
  max-width:100%;
}

@media(max-width:600px) {
.pixel-seat-card {
  padding:16px;
}


.pixel-seat-actions {
  display:grid;
  gap:18px;
}


.pixel-search {
  display:grid;
}


.pixel-person {
  padding:12px;
}
}

.pixel-ready {
  color:#b0f765;
  font-weight:700;
}

.pixel-connect-alternative {
  margin-top:24px;
}

.pixel-task-action {
  color:#b0f765;
  font-weight:700;
  cursor:pointer;
  padding:8px 0;
}

.pixel-create-event input, .pixel-connect-alternative select {
  max-width:100%;
  box-sizing:border-box;
}

.pixel-confirmation {
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.pixel-confirmation input {
  width:auto;
  flex:none;
}

#id_participating_locations label {
  display:flex;
  gap:10px;
  align-items:center;
  padding:8px 0;
}

#id_participating_locations input {
  width:auto;
  flex:none;
}


/* Public event presentation */

.pixel-public {
  max-width:1040px;
  margin:auto;
}

.pixel-hero {
  padding:24px 0 30px;
  border-bottom:1px solid #4a6543;
}

.pixel-hero h1 {
  font-size:clamp(36px,6vw,68px);
  margin-bottom:20px;
  overflow-wrap:anywhere;
}

.pixel-hero-line {
  display:flex;
  align-items:center;
  gap:26px;
  margin:0;
}

.pixel-hero-line>strong {
  font-size:clamp(86px,12vw,144px);
  line-height:1;
  color:var(--accent);
  letter-spacing:-5px;
}

.pixel-hero-line>span {
  font-size:clamp(22px,3vw,32px);
  font-weight:750;
  line-height:1.25;
}

.pixel-hero-date {
  font-size:20px;
  margin-bottom:0;
}

.pixel-personal {
  border:2px solid #a7f36b;
  background:#202d28;
  border-radius:14px;
  padding:24px;
  margin:28px 0 36px;
}

.pixel-personal h2 {
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--accent);
  margin:0 0 12px;
}

.pixel-status-title {
  font-size:24px;
  font-weight:750;
  margin:10px 0;
}

.pixel-personal details {
  margin-top:18px;
}

.pixel-personal summary {
  font-size:15px;
}

.pixel-paths {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.pixel-path {
  display:block;
  text-decoration:none;
  color:var(--ink);
  border:1px solid #66728f;
  border-top:4px solid #a7f36b;
  border-radius:12px;
  background:var(--panel);
  padding:22px;
}

.pixel-path>span {
  font-size:28px;
}

.pixel-path h3 {
  margin:10px 0;
  font-size:23px;
}

.pixel-path strong {
  color:var(--accent);
  font-size:21px;
}

.pixel-path p {
  margin-bottom:0;
  font-size:16px;
}

.pixel-modern {
  border-top-color:#82c9ff;
}

.pixel-xp {
  border-top-color:#ffc877;
}

.pixel-qualify h2 {
  max-width:700px;
}

.pixel-qualification-end {
  margin-top:24px;
}

.pixel-steps {
  color:var(--subtle);
  margin:32px 0 0;
  font-size:15px;
}

@media(max-width:650px) {
.pixel-hero {
  padding-top:4px;
}


.pixel-hero-line {
  gap:18px;
}


.pixel-hero-date {
  font-size:17px;
}


.pixel-personal {
  padding:20px 18px;
}


.pixel-paths {
  grid-template-columns:1fr;
}


.pixel-path {
  padding:18px;
  display:grid;
  grid-template-columns:40px 1fr;
  column-gap:12px;
}


.pixel-path>span {
  grid-row:1/4;
}


.pixel-path h3 {
  margin:0 0 6px;
}


.pixel-path p {
  grid-column:2;
  margin-top:5px;
}


.pixel-status-title {
  font-size:22px;
}
}

.pixel-qualification {
  max-width:960px;
  margin:auto;
}

.pixel-qualification h1 {
  font-size:clamp(34px,5vw,56px);
}

.pixel-qualification-subtitle {
  font-size:20px;
}

.pixel-qualification .pixel-capacity {
  border:1px solid #506b43;
  border-left:5px solid var(--accent);
  border-radius:10px;
  padding:20px 24px;
}

.pixel-qualification .pixel-capacity strong {
  font-size:26px;
  color:var(--accent);
}

.pixel-qualification .pixel-personal {
  margin:24px 0;
}

.pixel-cutoff-summary {
  border:1px solid #74889d;
  border-left:5px solid #82c9ff;
  border-radius:10px;
  padding:18px 22px;
  margin:24px 0;
  background:#20283c;
}

.pixel-cutoff-summary h2 {
  font-size:17px;
  margin:0 0 8px;
}

.pixel-cutoff-summary p {
  margin:6px 0;
}

.pixel-qualification .pixel-row {
  padding:14px 12px;
}

.pixel-qualification .pixel-row:nth-child(odd) {
  background:#1d2339;
  border-radius:8px;
}

.pixel-empty {
  padding:20px 0;
  color:var(--subtle);
}

.pixel-start-notice {
  padding:18px;
  background:#203529;
  border-radius:10px;
}

.pixel-qualification .pixel-rules {
  border-top:1px solid #4a6543;
  margin-top:28px;
  padding-top:8px;
}

@media(max-width:650px) {
.pixel-qualification .pixel-capacity {
  padding:16px;
}


.pixel-qualification .pixel-capacity strong {
  font-size:23px;
}
}


/* Live event operation */

.day-team {
  --team:#899;
  display:block;
  padding:22px;
  border:3px solid var(--team);
  border-radius:12px;
  background:#20263b;
  color:#fff;
  font-size:24px;
  overflow-wrap:anywhere;
}

.day-team.red {
  --team:#ff727a;
  background:#481f2d;
}

.day-team.blue {
  --team:#72b7ff;
  background:#142e50;
}

.day-team.green {
  --team:#9fea86;
  background:#203d26;
}

.day-team.yellow {
  --team:#ffe879;
  background:#443b17;
}

.day-team small {
  display:block;
  font-size:14px;
  letter-spacing:1px;
  color:var(--team);
}

.day-team strong {
  display:block;
}

.day-team b {
  display:block;
  font-size:34px;
}

.day-team:disabled {
  opacity:.55;
  cursor:not-allowed;
}

.day-players, .day-teams, .day-score-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:20px 0;
}

.day-teams button, .day-players button {
  width:100%;
  height:100%;
  min-height:110px;
}

.day-teams form, .day-players form {
  margin:0;
}

.day-primary {
  width:100%;
  font-size:clamp(23px,3vw,36px);
  padding:25px;
  margin:20px 0;
  min-height:88px;
}

.day-referee {
  max-width:1000px;
  margin:auto;
}

.day-referee h1 {
  font-size:clamp(30px,5vw,48px);
}

.day-referee .day-players {
  grid-template-columns:1fr 1fr;
}

.day-referee .day-team {
  font-size:32px;
  padding:30px;
}

.day-option {
  padding:14px 0;
  border-bottom:1px solid #556;
}

.day-launch {
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  margin:26px 0;
}

.day-scoreboard {
  margin:28px 0;
}

.day-winner {
  font-size:24px;
  font-weight:800;
  color:var(--accent);
}

.day-stations {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}

.day-stage main {
  max-width:none;
  padding:30px;
}

.day-stage h1 {
  font-size:clamp(36px,4vw,66px);
}

.day-stage h2 {
  font-size:clamp(28px,3vw,46px);
}

.day-stage h3 {
  font-size:clamp(26px,2.6vw,40px);
}

.day-stage p {
  font-size:24px;
}

.day-stage .day-players {
  grid-template-columns:1fr 1fr;
}

.day-stage .day-players strong {
  font-size:clamp(28px,3vw,54px);
}

@media(max-width:800px) {
.day-score-grid, .day-teams {
  grid-template-columns:1fr 1fr;
}


.day-stations {
  grid-template-columns:1fr;
}


.day-team {
  padding:16px;
  font-size:22px;
}


.day-referee .day-team {
  font-size:24px;
  padding:20px;
}


.day-referee .day-players {
  grid-template-columns:1fr;
}


.day-primary {
  padding:20px;
}


.day-stage main {
  padding:16px;
}
}

.day-stage main {
  padding:24px;
  line-height:1.2;
}

.day-stage h1 {
  font-size:clamp(32px,3.5vw,58px);
  margin:0 0 24px;
}

.day-stage h2 {
  font-size:clamp(26px,2.5vw,40px);
  margin:0 0 12px;
}

.day-stage h3 {
  font-size:clamp(24px,2.3vw,36px);
  margin:12px 0;
}

.day-stage p {
  font-size:22px;
  margin:12px 0;
}

.day-stage .day-players {
  margin:16px 0;
}

.day-stage .day-team {
  padding:16px;
}

.day-stage .day-players strong {
  font-size:clamp(28px,2.6vw,44px);
  margin-top:8px;
}

.day-stage .day-score-grid {
  margin:12px 0 24px;
}

.day-stage .day-score-grid .day-team {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.day-stage .day-score-grid b {
  font-size:32px;
}

.day-stage .day-stations+section {
  margin-top:12px;
}

@media(max-width:800px) {
.day-stage main {
  padding:16px;
}


.day-stage .day-stations {
  gap:22px;
}
}

.day-feature {
  border:2px solid #f5ca69;
  background:#292638;
  border-radius:14px;
  padding:28px;
  margin:24px 0 32px;
}

.day-feature h2 {
  font-size:clamp(26px,4vw,38px);
  margin:0 0 12px;
  overflow-wrap:anywhere;
}

.day-entry {
  font-size:22px;
  padding:20px 28px;
  margin-top:10px;
}

.day-destinations {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:24px 0;
}

.day-destination {
  display:flex;
  flex-direction:column;
  border:2px solid #7da85c;
  background:#1d2339;
  border-radius:14px;
  padding:24px;
  min-width:0;
}

.day-destination h2 {
  font-size:24px;
  margin:0;
}

.day-destination p {
  flex:1;
}

.day-destination .button {
  padding:20px 16px;
  text-align:center;
  overflow-wrap:anywhere;
}

.day-live-title, .day-ready {
  color:#a7f36b;
}

.day-ready, .day-attendance {
  font-size:24px;
}

.day-hub h1 {
  overflow-wrap:anywhere;
}

.day-start {
  margin-top:24px;
}

@media(max-width:1000px) {
.day-destinations {
  grid-template-columns:1fr;
}


.day-destination {
  padding:20px;
}


.day-feature {
  padding:20px;
}


.day-entry {
  display:block;
  text-align:center;
  padding:18px;
  font-size:20px;
}


.day-attendance {
  font-size:21px;
}
}

.day-connection {
  padding:16px;
  border:2px solid #f5ca69;
  border-radius:8px;
  color:#ffe4a8;
}

.day-selected strong {
  text-transform:uppercase;
  font-size:clamp(36px,5vw,64px);
}

.day-secondary-link {
  display:inline-block;
  padding:12px 0;
}

.day-discipline {
  padding:12px 0;
  border-bottom:1px solid #46506c;
}

.day-discipline h3, .day-discipline p {
  margin:6px 0;
}

.day-person::before {
  content:'●';
  margin-right:6px;
}

.day-person.red {
  color:#ff9298;
}

.day-person.blue {
  color:#88c7ff;
}

.day-person.green {
  color:#b2f8a0;
}

.day-person.yellow {
  color:#ffe879;
}

.day-team-options .day-team {
  min-height:210px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.day-team-options b {
  font-size:42px;
  line-height:1.1;
}

.day-team-options small {
  letter-spacing:0;
  font-size:18px;
}

.day-team-options .day-team:disabled {
  opacity:.45;
}

.day-team-chosen {
  padding:40px;
  margin:24px 0;
  min-height:220px;
}

.day-team-chosen h2 {
  font-size:clamp(36px,5vw,60px);
  margin:16px 0;
}

.day-leave {
  margin-top:38px;
}

.day-leave button {
  font-size:16px;
}

.day-player.team-red {
  --identity:#ff727a;
  --identity-bg:#481f2d;
}

.day-player.team-blue {
  --identity:#72b7ff;
  --identity-bg:#142e50;
}

.day-player.team-green {
  --identity:#9fea86;
  --identity-bg:#203d26;
}

.day-player.team-yellow {
  --identity:#ffe879;
  --identity-bg:#443b17;
}

.day-player-status {
  background:var(--identity-bg);
  border-width:4px;
  padding:30px;
}

.day-player-status h2 {
  font-size:clamp(32px,4vw,54px);
  line-height:1.1;
  margin:20px 0;
}

.day-player-status .day-team-identity {
  color:var(--identity);
  font-weight:800;
  font-size:18px;
}

.day-player-status .day-instruction {
  font-weight:750;
  font-size:clamp(24px,3vw,36px);
}

.day-player-status.day-called {
  min-height:300px;
  box-shadow:0 0 0 5px var(--identity-bg);
  border-color:var(--identity);
}

.day-player-status.day-called h2 {
  font-size:clamp(42px,6vw,76px);
}

.day-player .day-scoreboard .day-team {
  padding:16px;
  font-size:19px;
}

.day-player .day-scoreboard small {
  font-size:13px;
  letter-spacing:0;
}

.day-personal-result {
  border-left:5px solid var(--identity,#a7f36b);
  padding:6px 20px;
  margin:26px 0;
}

.day-personal-result h2 {
  margin:6px 0;
}

.day-personal-result p {
  font-size:24px;
  margin:8px 0;
}

.day-individual {
  list-style:none;
  padding-left:0;
}

.day-individual li {
  padding:8px 0;
  border-bottom:1px solid #414b66;
}

.day-stage .day-stations {
  gap:0;
}

.day-station {
  min-width:0;
  padding-right:26px;
}

.day-station+ .day-station {
  border-left:4px solid #a0adc8;
  padding:0 0 0 26px;
}

.day-stage .day-station-number {
  font-size:16px;
  color:#bac4de;
  margin:0 0 8px;
}

.day-stage .day-stage-game {
  font-size:clamp(32px,3.3vw,58px);
  line-height:1.1;
  overflow-wrap:anywhere;
}

.day-stage .day-stage-round {
  font-size:23px;
}

.day-stage .day-players .day-team {
  padding:20px;
  min-height:140px;
}

.day-stage .day-players strong {
  font-size:clamp(38px,3.8vw,72px);
  line-height:1.1;
}

.day-stage .day-players small {
  font-size:12px;
}

.day-stage .day-station-score p {
  font-size:17px;
}

.day-stage .day-station-score .day-team {
  font-size:18px;
  padding:10px;
}

.day-stage .day-station-score b {
  font-size:24px;
}

.day-stage .is-calling .day-station-score {
  opacity:.75;
}

.day-stage .day-stage-win {
  padding:28px;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.day-stage .day-stage-win>p:first-child {
  color:var(--team);
  font-weight:800;
}

.day-stage .day-stage-win h2 {
  font-size:28px;
}

.day-stage .day-stage-win strong {
  font-size:clamp(60px,7vw,130px);
  line-height:1.1;
  overflow-wrap:anywhere;
}

.day-stage .day-win-word {
  font-size:40px;
  margin:10px 0;
}

.day-stage .day-stage-total {
  margin-top:24px;
}

.day-stage .day-stage-total h2 {
  font-size:26px;
}

.day-stage .day-stage-total .day-team {
  padding:12px;
  font-size:22px;
}

@media(max-width:800px) {
.day-station {
  padding:0 0 24px;
}


.day-station+.day-station {
  border-left:0;
  border-top:4px solid #a0adc8;
  padding:24px 0 0;
}


.day-stage .day-players .day-team {
  padding:16px;
  min-height:115px;
}


.day-stage .day-players strong {
  font-size:36px;
}


.day-team-options .day-team {
  min-height:180px;
  gap:10px;
  padding:16px;
}


.day-team-options b {
  font-size:32px;
}


.day-player-status {
  padding:22px;
}


.day-player-status.day-called {
  min-height:270px;
}


.day-team-chosen {
  padding:26px;
}
}

.day-player-status.day-called .day-call-game {
  font-size:clamp(28px,4vw,44px);
  font-weight:850;
  line-height:1.15;
  margin:20px 0;
}

.day-player .day-scoreboard .day-team {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  min-height:230px;
  padding:16px 12px;
}

.day-player .day-scoreboard .day-team strong {
  order:0;
  font-size:22px;
  font-weight:850;
  line-height:1.2;
}

.day-player .day-scoreboard .day-team b {
  order:1;
  font-size:56px;
  line-height:1.05;
}

.day-player .day-scoreboard .day-team small {
  order:2;
  font-size:18px;
  line-height:1.35;
  letter-spacing:0;
  color:#fff;
}

.day-player .day-scoreboard .day-team small:first-of-type {
  text-transform:uppercase;
  font-weight:750;
}

.day-player .day-scoreboard .day-team small:last-of-type {
  order:3;
}


/* Accepted compact layouts */

.pixel-list-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

/* Wrap between complete qualification paths, never within a path. */
.pixel-quota-paths>span { display:inline-block; white-space:nowrap; }
