@import url('https://fonts.googleapis.com/css2?family=Rye&family=Roboto+Slab:wght@400;700;900&family=Permanent+Marker&display=swap');
:root{--red:#9f1717;--dark:#151313;--cream:#f5e5bd;--gold:#d59b24;--paper:#ead8a9}
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:#241714;color:var(--dark);font-family:'Roboto Slab',serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#5b2415 1px,transparent 1px);background-size:7px 7px;opacity:.08}
.page{max-width:1100px;margin:auto;background:var(--cream);min-height:100vh;box-shadow:0 0 45px #000;padding:18px;border-left:5px solid #8d1515;border-right:5px solid #8d1515}
.brand{text-align:center;padding:8px 12px 14px;border-top:12px solid var(--red);border-bottom:8px solid var(--dark);background:linear-gradient(#f7e9c6,#e9d19c)}
.brand-top{font-family:'Rye';font-size:30px;letter-spacing:5px;text-align:left;margin-left:8%}.brand-canton,.brand-clucker{font-family:'Rye';font-size:clamp(55px,10vw,112px);line-height:.83;text-shadow:3px 4px 0 #fff,-2px 2px 0 #fff;color:var(--red);letter-spacing:2px}.brand-clucker{color:#111;font-size:clamp(48px,9vw,100px)}.brand-bingo{font-family:'Rye';font-size:clamp(24px,4.5vw,48px);margin-top:10px}.brand-bingo span{color:var(--red)}.brand-bingo b{color:#111}
.hero-copy,.script.red,.side-copy strong{color:var(--red)}.badge span{color:#e3a51c}
.live-panel,.games-list,.board-wrap{background:#f2e0b5;border:5px solid #181414;box-shadow:7px 7px 0 var(--red);margin:20px 4px;padding:14px}.panel-heading,.board-title{font-family:'Rye';background:#111;color:#f5e5bd;text-align:center;padding:10px;font-size:25px}.game-meta{display:flex;justify-content:space-around;align-items:center;padding:12px;font-weight:900}.game-number{font-size:28px;color:var(--red)}.status{background:var(--red);color:white;padding:7px 12px}.winner-card{text-align:center;background:#fff0c9;border:4px dashed var(--red);padding:18px}.winner-label{font-weight:900}.winner-number{font-family:'Rye';font-size:70px;color:var(--red)}.winner-name{font-size:25px;font-weight:900}.winner-prize{color:#9b1717;font-size:20px}.waiting{text-align:center;font-family:'Permanent Marker';font-size:28px;padding:25px}
.board{display:grid;grid-template-columns:repeat(11,1fr);border:4px solid #111;margin-top:14px}.square{aspect-ratio:1;border:1px solid #6e5434;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:clamp(13px,2.2vw,25px);background:#f5e8c6}.square.win{background:#c92323;color:#fff}.games{display:grid;gap:7px;margin-top:12px}.game-row{display:grid;grid-template-columns:100px 1fr 120px 2fr;gap:10px;padding:10px;border:2px solid #8d6d43;background:#f8ebcb}.game-row.live{border-color:var(--red);background:#ffe2c8}.game-row.complete{opacity:.75}
footer{margin:25px 4px 5px;text-align:center;border-top:10px solid #111;padding:15px;background:linear-gradient(#e5cf9b,#f2e0b5)}.footer-date{font-family:'Rye';font-size:30px}.footer-location{font-size:22px;color:var(--red)}.footer-location b{color:#111;font-size:35px}.footer-note{font-weight:900;letter-spacing:2px}
button{background:var(--red);color:#fff2d2;border:3px solid #111;padding:10px 16px;font-weight:900;cursor:pointer}button:hover{transform:translateY(-1px)}input,select,textarea{font:inherit;padding:10px;border:2px solid #7d603d;background:#fff7df}.admin-login{min-height:100vh;display:grid;place-items:center;background:#241714}.admin-card,.admin-page{max-width:1100px;margin:auto}.admin-card{background:var(--cream);padding:40px;border:6px solid #111;box-shadow:10px 10px 0 var(--red);text-align:center}.brand-small{font-family:'Rye';font-size:24px;color:var(--red)}.admin-card input{display:block;width:100%;margin:20px 0}.admin-page{background:var(--cream);min-height:100vh;padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;border-bottom:7px solid #111;padding-bottom:15px}.admin-header h1{font-family:'Rye';margin:5px 0}.admin-section{margin:20px 0;padding:18px;border:4px solid #111;background:#f1dfb4;box-shadow:6px 6px 0 var(--red)}.section-head{display:flex;justify-content:space-between;align-items:center}.edit-game{display:grid;grid-template-columns:80px 1fr 1fr 1fr 1.4fr 1fr;gap:7px;margin:10px 0}.game-tag{font-weight:900;padding:10px}.save{margin-top:10px}.remove-form{display:inline-block;margin:8px 5px 0 0}.danger{background:#111;color:#fff}.admin-section textarea{width:100%;font-family:monospace}.error{background:#ffd3c9;border:3px solid #a00;padding:10px;margin:10px 0;font-weight:900}
@media(max-width:800px){
  body{font-size:15px}
  .page{width:100%;padding:8px;border-left:3px solid #8d1515;border-right:3px solid #8d1515}
  .brand{padding:5px 6px 10px;border-top-width:8px}
  .brand-top{font-size:20px;letter-spacing:3px;text-align:center;margin:0}
  .brand-canton{font-size:clamp(42px,16vw,78px);line-height:.88}
  .brand-clucker{font-size:clamp(38px,14vw,70px);line-height:.88}
  .brand-bingo{font-size:clamp(19px,6vw,32px);line-height:1.05;margin-top:7px}
  

  
  .hero-copy,
  
  

  .live-panel,.games-list,.board-wrap{margin:14px 0;padding:8px;border-width:3px;box-shadow:4px 4px 0 var(--red)}
  .panel-heading,.board-title{font-size:18px;padding:8px}
  .game-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;text-align:center;padding:9px}
  .game-number{font-size:22px}
  .game-time{font-size:14px}
  .status{font-size:12px;padding:6px;grid-column:1/-1}
  .winner-card{padding:12px}
  .winner-number{font-size:52px}
  .winner-name{font-size:19px}
  .winner-prize{font-size:16px}
  .waiting{font-size:21px;padding:18px}

  .board{grid-template-columns:repeat(11,minmax(0,1fr));border-width:3px;margin-top:8px;width:100%}
  .square{font-size:clamp(9px,3.1vw,18px);min-width:0;border-width:1px}

  .games{gap:5px}
  .game-row{grid-template-columns:1fr 1fr;gap:4px;padding:8px;font-size:12px}
  .game-row b{font-size:14px}
  .game-row span:nth-child(2){text-align:right}
  .game-row span:nth-child(3){font-weight:900}
  .game-row strong{grid-column:1/-1}

  footer{margin:15px 0 3px;padding:10px;border-top-width:7px}
  .footer-date{font-size:19px;line-height:1.2}
  .footer-location{font-size:15px}
  .footer-location b{font-size:23px;display:block}
  .footer-note{font-size:11px;letter-spacing:1px}

  /* Admin on phones */
  .admin-page{width:100%;padding:10px}
  .admin-header{align-items:flex-start;gap:10px}
  .admin-header h1{font-size:24px}
  .brand-small{font-size:16px}
  .admin-header a{font-size:12px}
  .admin-section{padding:10px;border-width:3px;box-shadow:4px 4px 0 var(--red)}
  .section-head{gap:8px;align-items:flex-start}
  .section-head h2,.admin-section h2{font-size:19px}
  .edit-game{grid-template-columns:1fr 1fr;gap:6px}
  .game-tag{grid-column:1/-1;padding:6px;background:#111;color:#fff2d2;text-align:center}
  .edit-game input,.edit-game select{width:100%;min-width:0;font-size:14px}
  .edit-game input:nth-of-type(3),
  .edit-game input:nth-of-type(4),
  .edit-game input:nth-of-type(5){grid-column:1/-1}
  .remove-form{display:block;margin:6px 0}
  .remove-form button{width:100%}
  .admin-section textarea{font-size:11px;line-height:1.3;min-height:180px}
  .admin-login{padding:15px}
  .admin-card{width:100%;padding:25px 15px}
  button,input,select,textarea{min-height:42px}
}

@media(max-width:420px){
  .brand-canton{font-size:16vw}
  .brand-clucker{font-size:14vw}
  .brand-bingo{font-size:5.4vw}
  
  .square{font-size:clamp(8px,3vw,13px)}
  .footer-date{font-size:16px}
}

/* FLYER-MATCH HEADER */
.site-header{
  text-align:center;
  position:relative;
  padding:18px 18px 14px;
  background:#f4dfad;
  border-top:12px solid #9d1518;
  border-bottom:6px solid #111;
  overflow:hidden;
}
.site-header:before{
  content:"";
  position:absolute;
  inset:8px;
  border:2px solid #9d1518;
  pointer-events:none;
}
.brand{
  position:relative;
  z-index:1;
  padding:8px 8px 12px;
  text-align:center;
}
.brand-top{
  display:block;
  width:min(900px,100%);
  margin:0 auto -2px;
  text-align:left;
  padding-left:9%;
  color:#111;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:900;
  font-size:clamp(18px,2.7vw,38px);
  letter-spacing:2px;
  line-height:1;
}
.brand-canton{
  display:block;
  color:#a8181b;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:900;
  font-size:clamp(58px,9vw,125px);
  line-height:.86;
  letter-spacing:2px;
  text-shadow:3px 3px 0 #fff, -2px -2px 0 #fff, 5px 5px 0 #111;
  -webkit-text-stroke:2px #fff;
}
.brand-clucker{
  display:block;
  color:#111;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:900;
  font-size:clamp(54px,8.3vw,116px);
  line-height:.9;
  letter-spacing:1px;
  text-shadow:3px 3px 0 #fff, -2px -2px 0 #fff;
  -webkit-text-stroke:2px #fff;
}
.brand-bingo{
  display:block;
  margin:14px auto 10px;
  color:#111;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:900;
  font-size:clamp(25px,4vw,54px);
  line-height:1;
  letter-spacing:-1px;
}
.brand-bingo::first-letter{color:#a8181b}
.location-ribbon{
  display:inline-block;
  margin-top:8px;
  padding:9px 28px;
  background:#a8181b;
  color:#fff4d4;
  border:3px solid #111;
  box-shadow:5px 5px 0 #111;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:900;
  font-size:clamp(12px,1.5vw,21px);
  letter-spacing:1.5px;
  text-transform:uppercase;
}
@media(max-width:800px){
  .site-header{padding:12px 10px 12px;border-top-width:8px}
  .site-header:before{inset:5px}
  .brand-top{padding-left:6%;font-size:17px}
  .brand-canton{font-size:17vw}
  .brand-clucker{font-size:15vw}
  .brand-bingo{font-size:6vw;margin-top:10px}
  .location-ribbon{font-size:11px;padding:7px 14px;box-shadow:3px 3px 0 #111}
}
