/* Clash Arena V2 — tournament skin over the existing tournament client (structure from assets/cups/*.css).
   Only presentation: materials, buttons, tabs and dialogs follow the V2 design system. */
[data-custom-cups]{--cup-gold:var(--v2-gold);--cup-accent:var(--v2-gold-hi);--cup-line:rgba(242,195,95,.28);--cup-muted:var(--v2-text-2);--cup-panel:var(--v2-stone-1);min-height:0;overflow:clip}
[data-custom-cups] :is(h1,h2,h3){font-family:var(--v2-display);color:var(--v2-text);text-shadow:0 2px 0 rgba(0,0,0,.55)}
[data-custom-cups] p{color:var(--v2-text-2)}
.v2-cups-page .cup-main{max-width:var(--v2-max);padding:0 var(--v2-gutter) clamp(30px,5vw,60px)}
.v2-cups-page .cup-qa{background:#2a2117;color:var(--v2-gold-hi);text-align:center;padding:4px 12px;font:700 .8rem/1.5 var(--v2-body);letter-spacing:.2em}
.v2-cups-motion{display:flex;justify-content:center;margin:0 0 10px}
.v2-cups-page .cup-loading{padding:40px 0}

/* Hero */
.v2-cups-page .cup-hero{min-height:min(620px,calc(100svh - var(--v2-hud-h)))}
.v2-cups-page .cup-hero h1{font-size:var(--v2-fs-hero);line-height:.92}
.v2-cups-page .cup-hero h1 span{background:var(--v2-mat-gold);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 4px 0 #3b2306)}
.v2-cups-page .cup-kicker{font:800 .84rem/1.5 var(--v2-body)!important;letter-spacing:.18em}

/* Buttons → V2 game buttons */
[data-custom-cups] :is(.cup-button,.cb-button){--btn-mat:var(--v2-mat-go);--btn-ink:#fff;--btn-edge:#1d3d06;--btn-depth:#15120d;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.62em 1.35em;border:2px solid var(--btn-edge);border-radius:14px;background:var(--btn-mat);color:var(--btn-ink);
  font:700 1rem/1.1 var(--v2-display);letter-spacing:.02em;text-transform:none;text-decoration:none;text-shadow:0 2px 0 rgba(0,0,0,.45);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(0,0,0,.18),0 4px 0 var(--btn-depth),0 8px 16px rgba(0,0,0,.35);transition:transform var(--v2-fast) var(--v2-ease),box-shadow var(--v2-fast),filter var(--v2-fast)}
[data-custom-cups] :is(.cup-button,.cb-button):hover{filter:brightness(1.06);transform:none;color:var(--btn-ink)}
[data-custom-cups] :is(.cup-button,.cb-button):active{transform:translateY(3px);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 1px 0 var(--btn-depth),0 3px 8px rgba(0,0,0,.35)}
[data-custom-cups] :is(.cup-button,.cb-button):not(.secondary):not(.cb-secondary):not(.danger):not(.gold){background:transparent url("../art/icons/iron-go-button.webp") center/100% 100% no-repeat;border-color:transparent;box-shadow:none}
[data-custom-cups] :is(.cup-button.secondary,.cb-button.cb-secondary){--btn-mat:linear-gradient(180deg,#3a2f25,#271f18);--btn-ink:var(--v2-text);--btn-edge:#0e0a07;--btn-depth:#0b0806}
[data-custom-cups] :is(.cup-button.danger,.cb-button.cb-danger){--btn-mat:var(--v2-mat-danger);--btn-edge:#3b0c08;--btn-depth:#651510}
[data-custom-cups] .cup-button.gold{--btn-mat:var(--v2-mat-gold);--btn-ink:#3a2306;--btn-edge:#2a1d10;--btn-depth:#6d4512;text-shadow:none}
[data-custom-cups] .cup-quiet{min-height:44px;padding:.45em 1em;border:2px solid #0e0a07;border-radius:12px;background:linear-gradient(180deg,#3a2f25,#271f18);color:var(--v2-text);font:700 .9rem/1 var(--v2-display);box-shadow:0 3px 0 #0b0806}
[data-custom-cups] :is(.cup-button,.cb-button,.cup-quiet):disabled{filter:grayscale(.8) brightness(.7);cursor:not-allowed}

/* Filter tabs (rendered as .v2-tabs > button by the client) → plate tabs */
[data-custom-cups] .v2-tabs{display:flex;gap:8px;padding:6px;border-radius:18px;background:rgba(0,0,0,.35);border:1px solid var(--v2-stone-edge);overflow-x:auto;scrollbar-width:none}
[data-custom-cups] .v2-tabs button{flex:1 0 auto;min-height:44px;padding:.4em 1em;border-radius:12px;border:2px solid #241a10;background:var(--v2-mat-plate-dim);color:#fff;font:700 .95rem/1 var(--v2-display);text-shadow:0 2px 0 rgba(0,0,0,.45);box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 3px 0 #4a4235;white-space:nowrap}
[data-custom-cups] .v2-tabs button[aria-pressed=true],[data-custom-cups] .v2-tabs button[aria-selected=true]{background:var(--v2-mat-plate);color:var(--v2-plate-ink);text-shadow:none;box-shadow:inset 0 2px 0 #fff,0 3px 0 #6f6452}

/* Cards & panels → forged stone */
[data-custom-cups] :is(.cup-tile,.cup-entry-card,.cup-control,.cup-lobby,.cup-next-step,.cup-champion,.cup-stage){border:1px solid var(--v2-stone-edge);border-radius:var(--v2-r-lg);background:var(--v2-mat-panel);box-shadow:var(--v2-shadow-1)}
[data-custom-cups] :is(.cup-tile,.cup-entry-card):hover{border-color:rgba(242,195,95,.7);transform:translateY(-4px);box-shadow:var(--v2-shadow-2),0 0 26px rgba(242,195,95,.16)}
[data-custom-cups] .cup-tile-art{background:radial-gradient(80% 90% at 50% 100%,rgba(255,122,46,.25),transparent 70%),linear-gradient(180deg,#2c2219,#16110d)}
[data-custom-cups] .cup-tile-body h3{font-size:1.3rem}
[data-custom-cups] .cup-progress{height:8px;border-radius:99px;background:rgba(0,0,0,.45);overflow:hidden}
[data-custom-cups] .cup-progress i{display:block;height:100%;border-radius:99px;background:var(--v2-mat-go)}
[data-custom-cups] :is(.cup-tag,.cup-badge){border-radius:99px;font:800 .82rem/1 var(--v2-body);letter-spacing:.06em}
[data-custom-cups] .cup-badge.live{background:rgba(224,72,62,.9);color:#fff}
[data-custom-cups] .cup-badge.gold{background:var(--v2-mat-gold);color:#3a2306}
[data-custom-cups] .cup-detail-header{border-bottom-color:var(--v2-stone-line)}
[data-custom-cups] .cup-back{display:inline-flex;align-items:center;min-height:44px;font-weight:800;color:var(--v2-text-2);text-decoration:none}
[data-custom-cups] .cup-back:hover{color:var(--v2-gold-hi)}
[data-custom-cups] .v2-table-wrap{border-radius:18px;border:1px solid var(--v2-stone-edge);background:rgba(0,0,0,.25)}
[data-custom-cups] .v2-table th{font:800 .82rem/1 var(--v2-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-text-3)}
[data-custom-cups] .v2-table tbody tr.qualifies td:first-child{box-shadow:inset 3px 0 0 var(--v2-go)}
[data-custom-cups] .v2-match,[data-custom-cups] .cup-versus{border-radius:18px;border:1px solid var(--v2-stone-edge);background:linear-gradient(90deg,rgba(91,184,255,.07),rgba(0,0,0,.25) 40%,rgba(0,0,0,.25) 60%,rgba(255,90,74,.07))}
[data-custom-cups] .cup-toast{border-radius:16px;background:linear-gradient(180deg,#352a1f,#211a13);border:1px solid rgba(242,195,95,.45);box-shadow:var(--v2-shadow-2);font-weight:700}

/* Inputs */
[data-custom-cups] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:48px;padding:.6em .9em;border-radius:14px;border:2px solid #0d0906;background:linear-gradient(180deg,#120d0a,#1d1712);color:var(--v2-text);box-shadow:inset 0 3px 8px rgba(0,0,0,.55)}
[data-custom-cups] :is(input,select,textarea):focus{outline:none;border-color:var(--v2-gold);box-shadow:inset 0 3px 8px rgba(0,0,0,.55),0 0 0 3px rgba(242,195,95,.25)}

/* Dialogs (incl. the approved three-step builder) */
.v2-cups-page .cup-dialog{border:2px solid rgba(242,195,95,.55);border-radius:26px;background:linear-gradient(180deg,#2b2219,#17120e);box-shadow:var(--v2-shadow-2)}
.v2-cups-page .cup-dialog::backdrop{background:rgba(5,3,2,.72);backdrop-filter:blur(4px)}
.v2-cups-page .cup-dialog[open]{animation:v2-pop var(--v2-mid) var(--v2-ease-pop)}
[data-custom-cups] .v2-close{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;font-size:0;color:transparent;position:absolute;top:14px;right:14px;z-index:4;border:2px solid #3b0c08;border-radius:12px;background:var(--v2-mat-danger);box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -3px 0 rgba(0,0,0,.2),0 3px 0 #5a120c}
[data-custom-cups] .cup-dialog.is-builder{--cb-bg:#16110d;--cb-panel:#231b15;--cb-gold:var(--v2-gold);--cb-cream:var(--v2-text);--cb-muted:var(--v2-text-2);--cb-edge:var(--v2-stone-edge);--cb-focus:var(--v2-gold-hi);border:2px solid rgba(242,195,95,.55);border-radius:26px}
[data-custom-cups] .cb-footer{background:linear-gradient(180deg,#241c15,#16110d);border-top-color:rgba(242,195,95,.3)}
@media (max-width:640px){[data-custom-cups] .cb-button{min-width:0;padding:.6em 1em}}
@media (prefers-reduced-motion:reduce){[data-custom-cups] *{animation:none!important}}
/* Builder close (rendered as .cb-button.cb-close) → the V2 red close square */
[data-custom-cups] .cb-button.cb-close{--btn-mat:var(--v2-mat-danger);--btn-edge:#3b0c08;--btn-depth:#5a120c;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;font-size:0;color:transparent}
[data-custom-cups] .cb-button.cb-close::before{content:"";width:18px;height:18px;background:#fff;clip-path:polygon(18% 0,50% 32%,82% 0,100% 18%,68% 50%,100% 82%,82% 100%,50% 68%,18% 100%,0 82%,32% 50%,0 18%);filter:drop-shadow(0 2px 0 #6b120c)}
/* Destructive secondary actions (cancel / delete tournament): quiet stone button with a red edge */
[data-custom-cups] .cup-button.danger.secondary,[data-custom-cups] .cup-management-tools .v2-actions>.cup-button.danger.secondary{--btn-mat:linear-gradient(180deg,#3a2622,#24171a);--btn-ink:var(--v2-danger-hi);--btn-edge:#7a2a22;--btn-depth:#2a0e0b;background:var(--btn-mat);color:var(--btn-ink);border-color:var(--btn-edge)}
/* Comfortable touch targets for disclosure rows in the builder and management tools */
[data-custom-cups] :is(.cb-advanced,.cb-disclosure,.cup-management-tools,.cup-management-tools details)>summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer}

/* Clash touch (team feedback 30 Oct): in-game "stone tile" and "notice board" look, rebuilt in CSS from the team's UI
   references (no game screenshots shipped). Light stone body, dark outline, white Clash type with a black outline. */
[data-custom-cups] :is(.cup-entry-card,.cup-tile){--cup-stone:linear-gradient(180deg,#e4dfd2 0%,#d3cdbd 48%,#bfb8a6 100%);border:3px solid #221d18;border-radius:18px;box-shadow:inset 0 2px 0 rgba(255,255,255,.65),inset 0 -3px 0 rgba(0,0,0,.14),0 5px 0 #0d0a08,0 14px 26px rgba(0,0,0,.45)}
[data-custom-cups] .cup-entry-card{background:var(--cup-stone);color:#4a4035}
[data-custom-cups] .cup-entry-card :is(h3,p){color:inherit}
[data-custom-cups] :is(.cup-entry-card h3,.cup-tile-body h3){color:#fff;font-family:var(--v2-display);letter-spacing:.01em;text-shadow:0 3px 0 #1a1410,1.5px 1.5px 0 #1a1410,-1.5px -1.5px 0 #1a1410,1.5px -1.5px 0 #1a1410,-1.5px 1.5px 0 #1a1410,0 1.5px 0 #1a1410,0 -1.5px 0 #1a1410}
[data-custom-cups] .cup-entry-card p{font-weight:700;color:#4a4035}
[data-custom-cups] .cup-entry-card img{filter:drop-shadow(0 3px 0 rgba(0,0,0,.35))}
[data-custom-cups] .cup-tile{overflow:hidden;background:#1b1511}
[data-custom-cups] .cup-tile-art{border-bottom:3px solid #221d18}
[data-custom-cups] .cup-tile-body{background:var(--cup-stone);color:#4a4035}
[data-custom-cups] .cup-tile-body p,[data-custom-cups] .cup-tile-meta{color:#4a4035;font-weight:700}
[data-custom-cups] .cup-tile .cup-progress{background:rgba(34,29,24,.28);box-shadow:inset 0 2px 0 rgba(0,0,0,.18)}
[data-custom-cups] :is(.cup-tile,.cup-entry-card):hover{border-color:#221d18;transform:translateY(-4px);box-shadow:inset 0 2px 0 rgba(255,255,255,.65),inset 0 -3px 0 rgba(0,0,0,.14),0 9px 0 #0d0a08,0 20px 32px rgba(0,0,0,.5),0 0 0 3px rgba(242,195,95,.55)}
[data-custom-cups] :is(.cup-tile,.cup-entry-card):focus-visible{outline:3px solid var(--v2-gold-hi);outline-offset:3px}
