/* RUN RIOT / Compact Punk v0.3.1 — UI-only overrides, intentionally scoped. */
.punk-v3 .wrap{padding-top:10px;padding-bottom:18px}
.punk-v3 .topbar{min-height:46px;padding-bottom:8px}
.punk-v3 .brand{font-size:23px}
.punk-v3 .brand-skull{font-size:24px}
.punk-v3 .admin-entry{padding:7px 12px;font-size:10px}
.punk-v3 .hero{height:194px;min-height:194px;padding:11px 0 0;display:block}
.punk-v3 .hero-copy{padding:0;max-width:75%;align-self:start}
.punk-v3 .eyebrow{font-size:9px;letter-spacing:1.4px}
.punk-v3 h1#page-title{font-size:clamp(58px,5.3vw,76px);line-height:.85;margin:9px 0 0;white-space:nowrap;max-width:none;letter-spacing:-.8px;transform:none}
.punk-v3 h1#page-title>span{display:inline;margin-left:.11em}
.punk-v3 h1#page-title small{display:block;font-size:clamp(15px,1.7vw,23px);line-height:1;padding:5px 0 0 3px;letter-spacing:2.2px}
.punk-v3 .hero-lead{font-size:clamp(16px,1.43vw,21px);line-height:1.04;margin:10px 0 0}
.punk-v3 .hero-desc{font-size:11px;line-height:1.25;margin:5px 0 8px;max-width:435px}
.punk-v3 .hero-label{padding:5px 10px;font-size:12px;line-height:1;box-shadow:3px 3px 0 #0009}
.punk-v3 .hero-label span{font-size:15px}
.punk-v3 .hero-runner{height:188px;width:min(21vw,188px);right:11%;bottom:-3px}
.punk-v3 .hero-runner img{height:105%;max-width:100%}
.punk-v3 .runner-halo{bottom:10%;border-width:3px}
.punk-v3 .runner-badge{right:-17%;bottom:5%;padding:5px 7px;font-size:11px}
.punk-v3 .skull-wall{right:1%;top:22px;width:65px;opacity:.77}
.punk-v3 .scribble-word{right:27%;top:10px;font-size:clamp(17px,1.7vw,25px)}
.punk-v3 .spray-cross{left:55%;top:9%;font-size:49px}
.punk-v3 .tag-679{right:24%;bottom:1%;font-size:120px;letter-spacing:-6px}
.punk-v3 .stats-grid{gap:8px;margin:0 0 13px}
.punk-v3 .stat-box{min-height:68px;max-height:70px;padding:8px 13px;box-shadow:3px 3px 0 #0009}
.punk-v3 .stat-box strong{font-size:clamp(31px,3.15vw,43px);line-height:.96}
.punk-v3 .stat-box>span:last-child{margin-top:4px;font-size:9px;letter-spacing:.6px}
.punk-v3 .stat-icon{top:4px;right:9px;font-size:17px}
.punk-v3 .stat-orange{border-bottom-width:3px}
.punk-v3 .browser-header{min-height:35px;padding:0;align-items:center}
.punk-v3 .browser-header h2{font-size:clamp(22px,2.3vw,30px);line-height:1.05;margin:2px 0 4px}
.punk-v3 .browser-header .eyebrow{font-size:8px;line-height:1}
.punk-v3 .browser-skull{width:36px;height:36px;margin-right:12px}
.punk-v3 .browser-controls{min-height:40px;padding:4px 9px;margin:3px 0 8px;gap:7px}
.punk-v3 .filterbar{gap:5px}
.punk-v3 .filter{min-width:64px;font-size:11px;padding:7px 9px}
.punk-v3 .chip-filter{font-size:10px;padding:6px 9px}
.punk-v3 .search-box{padding:4px 9px;min-width:170px}
.punk-v3 .search-box input{font-size:10px}
.punk-v3 .races-section{margin-bottom:10px}
.punk-v3 .race-section-header{min-height:33px;margin:0 0 8px;padding-bottom:4px;gap:9px;border-bottom-width:1px}
.punk-v3 .section-name{gap:7px}
.punk-v3 .section-name h2{font-size:clamp(23px,2.2vw,31px)}
.punk-v3 .section-english{font-size:14px}
.punk-v3 .section-star{width:26px;height:26px;font-size:18px}
.punk-v3 .section-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px}
.punk-v3 .section-counter{font-size:9px;letter-spacing:.5px;white-space:nowrap}
.punk-v3 .race-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.punk-v3 .race-tile{min-height:139px;padding:9px 11px 8px;box-shadow:3px 3px 0 #050805}
.punk-v3 .tile-top{min-height:16px;gap:4px}
.punk-v3 .tile-location{font-size:8px;line-height:1.15;letter-spacing:.5px;max-width:85%}
.punk-v3 .tile-symbol{font-size:20px}
.punk-v3 .tile-center{margin:auto 0 6px}
.punk-v3 .tile-date{font-size:8px;letter-spacing:.4px}
.punk-v3 .tile-name{font-size:clamp(19px,1.75vw,25px);line-height:.93;margin:4px 0}
.punk-v3 .tile-distance{font-size:14px;padding:3px 6px}
.punk-v3 .tile-foot{min-height:18px;padding-top:4px;margin-bottom:5px}
.punk-v3 .tile-pace>span{font-size:8px}
.punk-v3 .tile-pace strong{font-size:13px}
.punk-v3 .tile-finish-time{font-size:10px}
.punk-v3 .tile-plan{font-size:8px;padding:3px 5px}
.punk-v3 .tile-future{font-size:8px}
.punk-v3 .tile-click{font-size:9px;line-height:1.05;letter-spacing:.5px}
.punk-v3 .show-more{background:transparent;border:1px solid #96ba50;padding:4px 7px;font-size:11px;color:var(--acid);box-shadow:none;transform:rotate(-2deg);white-space:nowrap}
.punk-v3 .show-more:hover{background:var(--acid);color:#141a12}
.punk-v3 footer{margin-top:13px;padding-top:10px;font-size:10px}
/* Slightly denser decoration: street-art wall, not a sterile dashboard. */
.punk-v3 .race-browser:before{content:'✳';position:absolute;top:49px;right:-18px;color:#c8fc3466;font-size:19px;transform:rotate(21deg);pointer-events:none}
.punk-v3 .race-tile:after{opacity:.22}
@media(max-width:1100px){
 .punk-v3 .hero{height:195px;min-height:195px}
 .punk-v3 .hero-runner{width:190px;right:7%}
 .punk-v3 .race-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
 .punk-v3 .race-tile{min-height:151px}
 .punk-v3 .tile-name{font-size:23px}
}
@media(max-width:760px){
 .punk-v3 .wrap{padding:10px 13px 18px}
 .punk-v3 .topbar{min-height:40px;padding-bottom:5px;gap:8px}
 .punk-v3 .brand{font-size:22px}
 .punk-v3 .top-nav{order:3;padding-top:4px;gap:18px}
 .punk-v3 .top-nav a{font-size:9px}
 .punk-v3 .filterbar{order:0}
 .punk-v3 .extra-filters{order:1}
 .punk-v3 .admin-entry{font-size:9px;padding:6px 8px}
 .punk-v3 .hero{height:204px;min-height:204px;padding:11px 0 0;display:block}
 .punk-v3 .hero-copy{max-width:73%;padding:0}
 .punk-v3 h1#page-title{font-size:clamp(41px,8vw,63px);margin-top:9px}
 .punk-v3 h1#page-title small{font-size:clamp(14px,3.3vw,20px);letter-spacing:1px}
 .punk-v3 .hero-lead{font-size:clamp(12px,3vw,18px);line-height:1.13;max-width:250px;margin-top:11px}
 .punk-v3 .hero-desc{font-size:10px;max-width:235px;margin:5px 0 8px}
 .punk-v3 .hero-label{font-size:10px;padding:5px 8px}
 .punk-v3 .hero-runner{position:absolute;height:205px;width:160px;right:3%;bottom:0;margin:0;z-index:2}
 .punk-v3 .hero-runner img{height:104%}
 .punk-v3 .runner-badge{font-size:10px;right:-2%;bottom:2%}
 .punk-v3 .skull-wall{width:37px;top:7px;right:0}
 .punk-v3 .scribble-word{right:15%;top:2px;font-size:15px}
 .punk-v3 .tag-679{top:38%;right:9%;bottom:auto;font-size:76px;letter-spacing:-4px}
 .punk-v3 .spray-cross{left:62%;font-size:33px}
 .punk-v3 .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:13px}
 .punk-v3 .stat-box{min-height:65px;max-height:none;padding:8px 6px}
 .punk-v3 .stat-box strong{font-size:clamp(23px,4.6vw,35px);letter-spacing:0}
 .punk-v3 .stat-box>span:last-child{font-size:8px;line-height:1.1;letter-spacing:0}
 .punk-v3 .stat-icon{right:3px;top:3px;font-size:11px}
 .punk-v3 .browser-header h2{font-size:22px}
 .punk-v3 .browser-skull{width:30px;height:30px;margin:0}
 .punk-v3 .browser-controls{margin:3px 0 8px;padding:6px 8px;flex-wrap:wrap}
 .punk-v3 .race-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .punk-v3 .race-tile{min-height:150px;padding:9px}
 .punk-v3 .tile-name{font-size:clamp(19px,3.4vw,25px)}
 .punk-v3 .tile-distance{font-size:14px}
 .punk-v3 .section-name h2{font-size:24px}
 .punk-v3 .section-counter{font-size:8px}
 .punk-v3 footer{margin-top:12px}
}
@media(max-width:440px){
 .punk-v3 .hero{height:183px;min-height:183px}
 .punk-v3 .hero-copy{max-width:78%}
 .punk-v3 h1#page-title{font-size:clamp(37px,10vw,44px);letter-spacing:-.5px}
 .punk-v3 h1#page-title small{font-size:13px}
 .punk-v3 .eyebrow{font-size:8px;letter-spacing:.7px}
 .punk-v3 .hero-lead{font-size:12px;max-width:205px}
 .punk-v3 .hero-desc{font-size:9px;max-width:190px}
 .punk-v3 .hero-runner{height:165px;width:133px;right:-1%;bottom:0}
 .punk-v3 .runner-badge{right:1%;font-size:8px;padding:3px 5px}
 .punk-v3 .scribble-word{top:2px;right:8%;font-size:12px}
 .punk-v3 .skull-wall{width:27px;top:38px}
 .punk-v3 .tag-679{font-size:60px}
 .punk-v3 .stat-box{min-height:59px;max-height:none;padding:6px 5px}
 .punk-v3 .stat-box strong{font-size:clamp(20px,6vw,27px)}
 .punk-v3 .stat-box>span:last-child{font-size:7px}
 .punk-v3 .browser-header h2{font-size:19px}
 .punk-v3 .browser-header h2 span{display:inline}
 .punk-v3 .browser-header .eyebrow{font-size:7px}
 .punk-v3 .filter{min-width:57px;font-size:10px;padding:6px 8px}
 .punk-v3 .extra-filters{width:100%;gap:6px}
 .punk-v3 .search-box{flex:1;min-width:0}
 .punk-v3 .search-box input{width:100%;min-width:0}
 .punk-v3 .section-name{gap:5px}
 .punk-v3 .section-name h2{font-size:22px}
 .punk-v3 .section-english{font-size:12px}
 .punk-v3 .section-star{width:22px;height:22px;font-size:16px}
 .punk-v3 .section-actions{gap:5px}
 .punk-v3 .section-counter{display:none}
 .punk-v3 .show-more{font-size:10px;padding:4px 6px}
 .punk-v3 .race-tiles{gap:7px}
 .punk-v3 .race-tile{min-height:144px;padding:8px}
 .punk-v3 .tile-name{font-size:clamp(18px,5vw,22px)}
 .punk-v3 .tile-foot{gap:3px}
 .punk-v3 .tile-future{font-size:7px}
 .punk-v3 .tile-click{font-size:8px}
}

/* v0.3.2: logo slot instead of a generic asterisk. Artwork never stretches. */
.punk-v3 .tile-symbol { flex:0 0 38px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#071108a8;border:1px solid #b5e43b5c;border-radius:4px;overflow:hidden;filter:none }
.punk-v3 .tile-logo{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.punk-v3 .tile-logo-fallback{font:900 15px var(--heavy);color:#b7db7780;line-height:1}
.punk-v3 .official-link{display:inline-block;margin:2px 0 14px;padding:8px 11px;border:1px solid var(--acid);font:900 12px var(--body);text-decoration:none;color:var(--acid)}
.punk-v3 .official-link:hover{background:var(--acid);color:#122015}
@media(max-width:440px){.punk-v3 .tile-symbol{flex-basis:30px;width:30px;height:30px}}
/* v0.3.3 — larger, readable event crests without changing compact card height. */
.punk-v3 .race-tile .tile-top{padding-right:48px;min-height:16px;}
.punk-v3 .race-tile .tile-symbol{
  position:absolute;z-index:2;right:9px;top:7px;
  flex:none;width:48px;height:48px;
  background:#0d1512;border:1px solid #b7e8499b;
  box-shadow:0 2px 0 #0508069e;border-radius:4px;
  padding:2px;overflow:hidden;
}
.punk-v3 .race-tile .tile-logo{display:block;width:100%;height:100%;object-fit:contain}
.punk-v3 .race-tile .tile-logo-fallback{font-size:23px;line-height:1}
@media(max-width:760px){
  .punk-v3 .race-tile .tile-symbol{width:42px;height:42px;top:7px;right:6px;padding:2px}
  .punk-v3 .race-tile .tile-top{padding-right:39px}
}
@media(max-width:440px){
  .punk-v3 .race-tile .tile-symbol{width:36px;height:36px;top:6px;right:5px;padding:2px}
  .punk-v3 .race-tile .tile-top{padding-right:33px}
  .punk-v3 .race-tile .tile-logo-fallback{font-size:20px}
}
