:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#122f2d;color:#f2f1e7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 90% 35%,#254940 0%,#122f2d 55%)}button{font:inherit;cursor:pointer}.tv-header{display:flex;align-items:center;gap:25px;padding:25px 4vw;border-bottom:1px solid #ffffff17}.tv-brand{display:flex;align-items:center;gap:14px;color:#f2f1e7;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:2px}.tv-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eceee2;color:#173c32;font-size:30px;font-weight:800;position:relative}.tv-logo>span{position:absolute;right:4px;top:-9px;color:#e6b083}.live-tag{font-size:9px;letter-spacing:1.5px;color:#b8d6ad;padding:7px 10px;border:1px solid #bddba833;border-radius:4px;margin-left:auto}.live-tag.offline{color:#ffb39d;border-color:#ffb39d66}.tv-controls{display:flex;gap:7px}.tv-controls button{border:1px solid #ffffff23;border-radius:5px;background:transparent;color:#c7d6c8;font-size:10px;padding:7px 10px}main{padding:24px 4vw 20px;max-width:2200px;margin:auto}.tv-title{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 0 24px}.eyebrow{font-size:9px;letter-spacing:2px;color:#b4c9b6;margin:0 0 12px;font-weight:600}h1{font-size:clamp(24px,3.2vw,47px);font-weight:550;letter-spacing:-1.6px;line-height:1;margin:0}.next-game{display:flex;gap:22px;align-items:center;background:#ffffff05;border:1px solid #e8f2d32b;border-radius:10px;padding:12px 20px;white-space:nowrap}.next-game p{font-size:9px;letter-spacing:1px;color:#bfd0bf;line-height:1.8;margin:0}.next-game strong{display:block;font-size:17px;color:#e8ede2}.next-game>div{font-size:33px;letter-spacing:-1px;font-family:ui-monospace,Consolas,monospace;color:#ecc59c;line-height:1}.tv-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px}.board-panel{padding:20px 23px;border:1px solid #d4e5c32e;border-radius:12px;background:#0e27278c}.board-heading{display:flex;justify-content:space-between;align-items:center;color:#b8c8b7;font-size:9px;letter-spacing:1px;margin-bottom:20px;gap:10px}.board-heading strong{color:#f2f1e7;font-size:14px;margin-left:6px}#game-status{color:#d6c4aa;font-size:9px}#clock{font-family:ui-monospace,Consolas,monospace;font-size:10px;letter-spacing:0}.tv-board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:9px}.tv-number{aspect-ratio:1.35;border:1px solid #9dbf9a25;border-radius:7px;background:#26463f59;color:#b2c3b2;display:grid;place-items:center;font-size:clamp(14px,2vw,33px);font-weight:550;transition:background .2s,color .2s,transform .2s}.tv-number.hit{background:#d6dfac;color:#163b30;border-color:#d6dfac;box-shadow:0 2px 10px #0001;font-weight:700}.tv-number.last{background:#e9b184;border-color:#e9b184;color:#173c30;animation:number-pop .4s ease-out}.tv-number:nth-child(n+41):nth-child(-n+50){margin-top:8px}.board-legend{display:flex;align-items:center;gap:22px;margin-top:20px;font-size:9px;color:#c1d0bd}.board-legend>span{display:flex;align-items:center;gap:7px}.board-legend>span:last-child{margin-left:auto;font-size:8px;letter-spacing:1px;color:#94ad9a}.board-legend i{display:block;width:9px;height:9px;border-radius:2px}.legend-hit{background:#d6dfac}.legend-last{background:#e9b184}.draw-panel{padding:20px 12px;display:flex;flex-direction:column;align-items:center;text-align:center}.latest-ball{height:137px;width:137px;border-radius:50%;background:#ebbd96;color:#153a30;display:grid;place-items:center;font-size:69px;font-weight:700;letter-spacing:-4px;box-shadow:inset -12px -13px 0 #9e713f12,0 0 0 12px #e9b18409,0 0 0 23px #e9b18404;margin:12px 0 28px;font-variant-numeric:tabular-nums}.latest-ball.pop{animation:ball-pop .42s ease-out}#draw-progress{font-size:11px;color:#d3dfc8}.progress-track{height:3px;background:#98af9927;width:170px;border-radius:3px;margin:14px 0 28px;overflow:hidden}#progress-fill{height:100%;width:0;background:#e9b184;transition:width .4s}.sequence-label{margin-bottom:13px}.draw-sequence{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;width:100%;max-width:215px}.sequence-ball{height:33px;border:1px solid #acbb9a30;border-radius:50%;display:grid;place-items:center;color:#b8cdb8;font-size:12px;background:#274b4080}.sequence-ball.empty{color:#799782;background:transparent}.sequence-ball.new{background:#e9b184;color:#173c30;animation:number-pop .4s}.draw-note{font-size:9px;line-height:1.8;color:#a9bda8;margin-top:auto;padding-top:20px}.recent-panel{display:flex;align-items:flex-start;gap:22px;border-top:1px solid #a1b79523;padding-top:17px;margin-top:22px}.recent-title{font-size:9px;letter-spacing:1.5px;color:#aabfaa;white-space:nowrap;padding-top:5px}#recent-games{flex:1;display:grid;gap:7px}.recent-game{display:flex;align-items:center;gap:15px;font-size:10px;color:#b6cab4}.recent-game>strong{color:#e9eadd;font-size:10px;min-width:53px}.recent-numbers{display:flex;gap:12px;flex-wrap:wrap}.recent-game .missed{color:#edb39b}footer{display:flex;justify-content:space-between;gap:20px;padding:16px 4vw 20px;color:#9db69f;letter-spacing:1.2px;font-size:8px;border-top:1px solid #abc49815;margin-top:10px}footer>span:first-child{font-weight:650;color:#c3d0bb}@keyframes number-pop{0%{transform:scale(.83)}60%{transform:scale(1.08)}100%{transform:scale(1)}}@keyframes ball-pop{0%{transform:scale(.88);opacity:.7}75%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}@media(min-width:1650px){main{padding-top:32px}.tv-layout{grid-template-columns:minmax(0,1fr) 325px}.tv-board{gap:12px}.tv-number{aspect-ratio:1.5;font-size:36px}.board-panel{padding:25px 30px}.latest-ball{width:170px;height:170px;font-size:85px;margin-top:20px}.draw-sequence{max-width:260px;gap:10px}.sequence-ball{height:41px;font-size:15px}.draw-panel>.eyebrow{font-size:11px}.board-heading{margin-bottom:24px}.recent-panel{margin-top:28px}.recent-game{font-size:12px}.recent-numbers{gap:18px}}
@media(max-width:900px){.tv-layout{grid-template-columns:minmax(0,1fr) 180px;gap:15px}.tv-board{gap:5px}.board-panel{padding:14px}.latest-ball{height:100px;width:100px;font-size:53px;margin-bottom:25px}.draw-panel{padding:15px 4px}.draw-sequence{gap:4px}.sequence-ball{height:27px;font-size:10px}.board-heading{font-size:8px}#clock{display:none}.board-legend>span:last-child{display:none}h1{font-size:28px}.next-game{padding:10px;gap:10px}.next-game>div{font-size:28px}.next-game p{font-size:7px}.tv-controls button{font-size:8px}.tv-header{padding-top:16px;padding-bottom:16px}.tv-brand{font-size:11px}.recent-numbers{gap:8px}}
@media(max-width:600px){.tv-layout{display:flex;flex-direction:column}.tv-title{align-items:flex-start;margin-bottom:18px}.tv-title h1{font-size:23px;line-height:1.1;max-width:190px}.tv-title .eyebrow{font-size:6px;letter-spacing:1px;max-width:170px;line-height:1.5}.next-game{flex-direction:column;gap:4px;align-items:center;padding:8px 10px;text-align:center}.next-game strong{font-size:13px;display:inline}.next-game>div{font-size:25px}.tv-board{gap:4px}.tv-number{font-size:16px;aspect-ratio:1}.tv-header{gap:10px}.tv-brand{font-size:9px;letter-spacing:1px}.tv-logo{width:31px;height:31px;font-size:23px;border-radius:8px}.live-tag{font-size:6px;padding:5px;letter-spacing:.5px}.tv-controls{display:none}.draw-panel{display:grid;grid-template-columns:95px 1fr;gap:8px 20px;align-items:center;text-align:left;padding:10px 0}.draw-panel>.eyebrow{display:none}.latest-ball{grid-row:1/4;width:85px;height:85px;font-size:45px;margin:0}.progress-track{margin:0;width:100%}.draw-sequence{grid-template-columns:repeat(10,1fr);max-width:100%;gap:4px}.sequence-ball{height:22px;font-size:9px}.draw-note{display:none}.recent-panel{display:block}.recent-title{margin-bottom:12px}.recent-numbers{gap:7px}.recent-game{gap:8px}.recent-game>strong{min-width:40px}footer{font-size:6px;letter-spacing:.7px}footer>span:first-child{display:none}.board-heading{margin-bottom:12px}.board-legend{margin-top:13px;font-size:8px}}
/* A TV board must fit the screen height, including history and footer. */
@media(min-width:901px){
  body{height:100svh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
  main{height:100%;min-height:0;width:100%;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-top:22px;padding-bottom:14px}
  .tv-title{margin-bottom:18px}.tv-layout{min-height:0}
  .board-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
  .tv-board{min-height:0;grid-template-rows:repeat(8,minmax(0,1fr))}
  .tv-number{aspect-ratio:auto;min-height:0}
  .draw-panel{min-height:0;padding:14px 10px}
  .latest-ball{width:clamp(88px,13vh,160px);height:clamp(88px,13vh,160px);font-size:clamp(48px,6.8vh,82px);margin:8px 0 22px;flex-shrink:0}
  .progress-track{margin:12px 0 18px;flex-shrink:0}.draw-sequence{gap:6px;max-width:235px}
  .sequence-ball{height:clamp(24px,3.2vh,38px)}.draw-note{padding-top:10px}
  .recent-panel{margin-top:16px;padding-top:12px}footer{margin-top:0;padding-top:12px;padding-bottom:12px}
}
@media(min-width:901px) and (max-height:800px){
  .tv-header{padding-top:12px;padding-bottom:12px}.tv-logo{height:34px;width:34px;font-size:25px}
  main{padding-top:14px;padding-bottom:10px}.tv-title{margin-bottom:12px}.tv-title h1{font-size:30px}
  .tv-title .eyebrow{margin-bottom:8px}.next-game{padding:8px 14px}.next-game>div{font-size:27px}
  .board-panel{padding:14px 18px}.board-heading{margin-bottom:12px}.board-legend{margin-top:12px}
  .tv-board{gap:6px}.tv-number{font-size:clamp(17px,3.7vh,28px)}
  .draw-panel{padding:7px 10px}.draw-panel>.eyebrow{font-size:8px;margin-bottom:8px}
  .latest-ball{height:88px;width:88px;font-size:48px;margin:5px 0 15px}
  .progress-track{margin:9px 0 12px}.sequence-ball{height:25px}.draw-note{display:none}
  .recent-game:nth-child(n+2){display:none}.recent-panel{margin-top:12px;padding-top:10px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
