/* //DOJO competitions -- a Dojo's page (dojo/competition.php) on the shell. Archivo, ink #0a0a0a, //ADAPT green,
   2px rules. No artwork: an empty cover or entry is type on hatching. */
.dcp { --ink: #0a0a0a; --paper: #fff; --ground: #ededea; --mute: #4a4a46; --faint: #77776f; --line: #e3e2df; --green: #00FF50; --pale: #f4fff7;
  background: var(--ground); color: var(--ink); font-family: 'Archivo', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.dcp *, .dcp *::before, .dcp *::after { box-sizing: border-box; }
.dcp [hidden] { display: none !important; }
.dcp :focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.dcp-in { max-width: 1440px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 40px); }
.dcp-k { margin: 0 0 6px; font: 800 10px 'Archivo', sans-serif; letter-spacing: .16em; }

/* the cover */
.dcp-hero { position: relative; background: var(--ink) var(--cover, none) center/cover no-repeat; color: #f5f5f3; padding: 110px 0 34px; overflow: hidden; }
.dcp-hero:not(.has-img) { background-image: repeating-linear-gradient(135deg, transparent 0 13px, rgba(0,255,80,.12) 13px 14px); }
.dcp-hero-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,10,.96) 10%, rgba(10,10,10,.45)); }
.dcp-hero-in { position: relative; }
.dcp-crumb { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dcp-crumb a { color: #f5f5f3; font: 800 11px 'Archivo', sans-serif; letter-spacing: .16em; text-decoration: none; }
.dcp-crumb a:hover { color: var(--green); }
.dcp-chip { padding: 4px 8px; font: 800 9.5px 'Archivo', sans-serif; letter-spacing: .14em; background: var(--green); color: var(--ink); }
.dcp-chip.is-private { background: #f5f5f3; }
.dcp-chip.is-phase { background: transparent; color: #f5f5f3; border: 1px solid #f5f5f3; }
.dcp-chip.is-running { border-color: var(--green); color: var(--green); }
.dcp-h1 { font: 900 clamp(44px, 7vw, 112px)/.86 'Archivo', sans-serif; letter-spacing: -.06em; margin: 16px 0 0; max-width: 16ch; overflow-wrap: anywhere; }
.dcp-lede { max-width: 62ch; margin: 18px 0 0; font: 600 16px/1.5 'Archivo', sans-serif; color: #d0d0cc; }
.dcp-hero-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 30px; flex-wrap: wrap; }
.dcp-cd { min-width: 0; }
.dcp-cd-n { margin: 0; display: flex; align-items: baseline; gap: 6px; font: 900 clamp(34px, 4vw, 56px)/1 'Archivo', sans-serif; letter-spacing: -.04em; }
.dcp-cd-n i { font: 800 12px 'Archivo', sans-serif; font-style: normal; letter-spacing: .1em; color: var(--green); margin-right: 10px; }
.dcp-cd-txt { margin: 0; max-width: 40ch; font: 600 14px/1.5 'Archivo', sans-serif; color: #d0d0cc; }
.dcp-cta { width: min(420px, 100%); background: var(--paper); color: var(--ink); border: 2px solid var(--ink); padding: 16px; box-shadow: 6px 6px 0 var(--green); }
.dcp-places { margin: 0 0 8px; font: 800 10px 'Archivo', sans-serif; letter-spacing: .14em; color: var(--mute); text-transform: uppercase; }
.dcp-cta-t { margin: 0 0 12px; font: 800 15px/1.35 'Archivo', sans-serif; }
.dcp-cta-t.is-in { color: #1f7a37; }
.dcp-note { margin: 0 0 12px; font: 600 13px/1.5 'Archivo', sans-serif; color: var(--mute); }
.dcp-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.dcp-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 16px; border: 2px solid var(--ink); background: var(--green); color: var(--ink); font: 800 11.5px 'Archivo', sans-serif; letter-spacing: .12em; text-decoration: none; cursor: pointer; }
.dcp-btn:hover { background: var(--ink); color: var(--green); }
.dcp-btn.ghost { background: var(--paper); }
.dcp-btn:disabled { opacity: .5; cursor: wait; }
.dcp-text { margin-top: 10px; padding: 0; border: 0; background: none; font: 700 12px 'Archivo', sans-serif; color: var(--mute); text-decoration: underline; cursor: pointer; }
.dcp-msg { display: block; margin-bottom: 10px; }
.dcp-msg textarea { width: 100%; border: 2px solid var(--ink); padding: 8px 10px; font: 500 13.5px/1.5 'Archivo', sans-serif; resize: vertical; }
.dcp-err { margin: 10px 0 0; padding: 8px 10px; background: #ff6b4a; font: 700 12.5px/1.4 'Archivo', sans-serif; }

/* the body */
.dcp-body { padding-top: 22px; padding-bottom: 90px; display: flex; flex-direction: column; gap: 14px; }
.dcp-sec { background: var(--paper); border: 2px solid var(--ink); min-width: 0; }
.dcp-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; padding: 14px 20px; border-bottom: 2px solid var(--ink); }
.dcp-head > span:first-child { font: 800 11px 'Archivo', sans-serif; letter-spacing: .2em; }
.dcp-head h2 { margin: 0; font: 900 24px 'Archivo', sans-serif; letter-spacing: -.03em; }
.dcp-head-sub { font: 600 12.5px 'Archivo', sans-serif; color: var(--mute); }
.dcp-pad { padding: 18px 20px 20px; margin: 0; }
.dcp-pad-t0 { padding-top: 0; }
.dcp-mute { color: var(--mute); }
.dcp-two { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 14px; align-items: start; }
.dcp-brief { font: 500 15px/1.65 'Archivo', sans-serif; overflow-wrap: anywhere; }
.dcp-video { margin-top: 16px; aspect-ratio: 16 / 9; border: 2px solid var(--ink); background: var(--ink); }
.dcp-video iframe { width: 100%; height: 100%; border: 0; display: block; }
.dcp-side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.dcp-prize { background: var(--ink); color: #f5f5f3; padding: 18px; border: 2px solid var(--ink); }
.dcp-prize .dcp-k { color: var(--green); }
.dcp-prize-t { margin: 0; font: 900 24px/1.1 'Archivo', sans-serif; letter-spacing: -.02em; overflow-wrap: anywhere; }
.dcp-tag { background: var(--paper); border: 2px solid var(--ink); padding: 18px; }
.dcp-tag p { margin: 10px 0 0; font: 600 13px/1.5 'Archivo', sans-serif; color: var(--mute); }
.dcp-tag-b { display: inline-block; max-width: 100%; padding: 8px 10px; background: var(--ink); color: var(--green); border: 0; font: 900 16px 'Archivo', sans-serif; cursor: copy; overflow-wrap: anywhere; text-align: left; }
.dcp-facts { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dcp-facts div { padding: 14px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-width: 0; }
.dcp-facts dt { font: 800 10px 'Archivo', sans-serif; letter-spacing: .14em; color: var(--faint); }
.dcp-facts dd { margin: 6px 0 0; font: 800 14px/1.35 'Archivo', sans-serif; }
.dcp-pad-t0 { padding-top: 16px; }
.dcp-tl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), minmax(64px, 1fr)); border: 2px solid var(--ink); overflow-x: auto; }
.dcp-tl li { padding: 10px 8px; border-right: 1px solid var(--ink); min-width: 64px; }
.dcp-tl li:nth-child(n+13) { border-top: 1px solid var(--ink); }
.dcp-tl li.is-past { color: var(--faint); }
.dcp-tl li.is-now { background: var(--ink); color: #f5f5f3; }
.dcp-tl li.is-rev:not(.is-now) { background: var(--green); }
.dcp-tl b { display: block; font: 900 13px 'Archivo', sans-serif; }
.dcp-tl i { display: block; font: 700 10.5px 'Archivo', sans-serif; font-style: normal; margin-top: 4px; opacity: .8; }
.dcp-tl em { display: inline-block; margin-top: 8px; padding: 2px 5px; background: var(--ink); color: var(--green); font: 800 8.5px 'Archivo', sans-serif; letter-spacing: .08em; font-style: normal; white-space: nowrap; }
.dcp-revs { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font: 600 13px 'Archivo', sans-serif; }
.dcp-revs b { font-weight: 800; }
.dcp-revs span { color: var(--mute); }
.dcp-revs em { color: #1f7a37; font-style: normal; font-weight: 800; }

/* the jury */
.dcp-jury { list-style: none; margin: 0; padding: 16px 20px 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.dcp-jury li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 2px solid var(--ink); min-width: 0; }
.dcp-jury li div { min-width: 0; flex: 1; }
.dcp-jury a { display: block; font: 900 14px 'Archivo', sans-serif; color: var(--ink); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcp-jury small { display: block; font: 600 11.5px 'Archivo', sans-serif; color: var(--mute); }
.dcp-av { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 999px; background: var(--ink) center/cover no-repeat; color: var(--green); font: 900 12px 'Archivo', sans-serif; }
.dcp-av.sm { width: 24px; height: 24px; font-size: 9px; }
.dcp-lead { padding: 2px 6px; background: var(--ink); color: var(--green); font: 800 9px 'Archivo', sans-serif; letter-spacing: .1em; }

/* the winners */
.dcp-win { background: var(--ink); color: #f5f5f3; }
.dcp-win .dcp-head { border-color: var(--green); }
.dcp-podium { list-style: none; margin: 0 auto; max-width: 960px; padding: 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: end; }
.dcp-podium li.is-p1 { order: 2; } .dcp-podium li.is-p2 { order: 1; } .dcp-podium li.is-p3 { order: 3; }
.dcp-pod-img { display: block; aspect-ratio: 4 / 3; background: #1a1a1a center/cover no-repeat; border: 2px solid var(--green); color: #f5f5f3; text-decoration: none; }
.is-p1 .dcp-pod-img { aspect-ratio: 1 / 1; }
.dcp-podium li { min-width: 0; }
.dcp-pod-img.is-type { background-image: repeating-linear-gradient(135deg, transparent 0 11px, rgba(0,255,80,.16) 11px 12px); display: flex; align-items: flex-end; padding: 12px; font: 800 15px/1.3 'Archivo', sans-serif; }
.dcp-pod-n { display: flex; align-items: baseline; gap: 10px; margin: 10px 0 0; }
.dcp-pod-n b { font: 900 44px/1 'Archivo', sans-serif; color: var(--green); }
.dcp-pod-n a { color: #f5f5f3; font: 800 15px 'Archivo', sans-serif; text-decoration: none; }

.dcp-fb ul { list-style: none; display: flex; flex-direction: column; gap: 10px; font: 500 14px/1.55 'Archivo', sans-serif; }
.dcp-fb b { font: 900 12px 'Archivo', sans-serif; margin-right: 8px; }

/* the entries */
.dcp-filter { display: flex; gap: 5px; flex-wrap: wrap; padding: 14px 20px 0; }
.dcp-filter button { padding: 7px 10px; border: 2px solid var(--ink); background: var(--paper); font: 800 11px 'Archivo', sans-serif; cursor: pointer; }
.dcp-filter button.is-on { background: var(--ink); color: var(--green); }
.dcp-grid { list-style: none; margin: 0; padding: 14px 20px 20px; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.dcp-card { position: relative; display: block; border: 2px solid var(--ink); color: var(--ink); text-decoration: none; background: var(--paper); }
.dcp-card:hover { box-shadow: 4px 4px 0 var(--green); }
.dcp-card-img { display: block; aspect-ratio: 4 / 3; background: #eee center/cover no-repeat; }
.dcp-card.is-type .dcp-card-img { background: repeating-linear-gradient(135deg, transparent 0 9px, rgba(10,10,10,.07) 9px 10px), #f5f5f3; display: flex; align-items: flex-end; padding: 12px; font: 800 14px/1.35 'Archivo', sans-serif; overflow: hidden; }
.dcp-card-step { position: absolute; top: 8px; left: 8px; padding: 2px 6px; background: var(--ink); color: var(--green); font: 800 9.5px 'Archivo', sans-serif; letter-spacing: .1em; }
.dcp-card-by { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-top: 2px solid var(--ink); font: 700 12px 'Archivo', sans-serif; }
.dcp-card-by b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcp-card-by i { font-style: normal; color: var(--mute); }
.dcp-empty { margin: 20px; padding: 40px 20px; text-align: center; background: repeating-linear-gradient(135deg, transparent 0 11px, rgba(10,10,10,.06) 11px 12px); border: 2px dashed var(--ink); }
.dcp-empty p { margin: 0 0 8px; font: 800 15px 'Archivo', sans-serif; }
.dcp-empty span { font: 900 clamp(22px, 3vw, 36px) 'Archivo', sans-serif; letter-spacing: -.03em; color: rgba(10,10,10,.3); overflow-wrap: anywhere; }

@media (max-width: 1000px) { .dcp-two { grid-template-columns: minmax(0, 1fr); } .dcp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dcp-jury { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .dcp-hero { padding-top: 96px; }
  .dcp-facts, .dcp-jury { grid-template-columns: minmax(0, 1fr); }
  .dcp-podium { grid-template-columns: minmax(0, 1fr); }
  .dcp-podium li.is-p1, .dcp-podium li.is-p2, .dcp-podium li.is-p3 { order: 0; }
  .dcp-head, .dcp-pad, .dcp-facts div, .dcp-grid, .dcp-filter, .dcp-jury { padding-left: 14px; padding-right: 14px; }
  .dcp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dcp-cta { box-shadow: 4px 4px 0 var(--green); }
}
