@font-face{font-family:'Merchant Copy';src:url('Merchant Copy.woff2') format('woff2');font-weight:normal;font-style:normal;font-display:swap}:root{--font-mono:'Merchant Copy',monospace,'Courier New',Courier;--color-bg:#1a1a1a;--color-paper:#fff;--color-dark:#222;--color-mid:#666;--color-light:#aaa;--text-sm:0.75rem;--text-base:1.25rem;--text-lg:2rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:2.5rem;--receipt-width:35rem;--receipt-padding:4rem}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--color-bg);font-family:var(--font-mono);display:flex;flex-direction:column;align-items:center;padding:var(--space-lg) 1.25rem;min-height:100vh;letter-spacing:.03125rem;text-transform:uppercase}header{width:100%;text-align:center}.page-title{color:var(--color-mid);font-family:var(--font-mono);font-size:var(--text-base);font-weight:normal;margin-bottom:var(--space-lg)}#content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:75rem}.no-games{color:var(--color-mid);font-size:var(--text-base);text-align:center;margin-top:3.75rem}.loading{color:var(--color-mid);font-size:var(--text-base);margin-top:3.75rem}.keyboard{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;max-width:50rem;margin:0 auto var(--space-lg)}.key{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:7.5rem;min-width:7.5rem;max-width:7.5rem;height:7.5rem;min-height:7.5rem;max-height:7.5rem;flex-shrink:0;flex-grow:0;overflow:hidden;background:linear-gradient(180deg,#363636 0%,#2a2a2a 100%);border:1px solid #404040;border-bottom:4px solid #181818;border-radius:.75rem;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .1s ease,border-color .1s ease,color .1s ease;font-family:var(--font-mono);color:#ccc;box-shadow:0 4px 0 #111,0 5px 10px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06)}.key:hover{background:linear-gradient(180deg,#404040 0%,#333 100%);border-color:#505050;transform:translateY(-1px);box-shadow:0 5px 0 #111,0 6px 12px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);color:#fff}.key:active{transform:translateY(4px);box-shadow:0 0 0 #111,0 1px 2px rgba(0,0,0,.3),inset 0 2px 4px rgba(0,0,0,.3);border-bottom-width:1px;background:linear-gradient(180deg,#282828 0%,#2e2e2e 100%)}.key-active{background:linear-gradient(180deg,#333 0%,#2e2e2e 100%);border-color:#555;color:#fff;box-shadow:0 0 0 #111,0 1px 2px rgba(0,0,0,.3),inset 0 2px 4px rgba(0,0,0,.3);transform:translateY(4px);border-bottom-width:1px}.key-logo{width:2.25rem;height:2.25rem;filter:grayscale(80%) brightness(1.2);pointer-events:none}.key:hover .key-logo,.key-active .key-logo{filter:grayscale(0%) brightness(1)}.key-name{font-size:1.25rem;pointer-events:none}.key-score{font-size:1.125rem;color:var(--color-light);pointer-events:none}.receipt-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:flex-end;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease;overflow-y:auto}.receipt-overlay.visible{opacity:1;pointer-events:auto}.printer-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;width:var(--receipt-width);max-width:100%}.printer-body{position:sticky;bottom:0;width:120%;height:4rem;background:#333;border-radius:10px 10px 0 0;box-shadow:0 -2px 8px rgba(0,0,0,.5)}.printer-bar{position:relative;z-index:3;width:90%;height:1rem;margin:0 auto;bottom:-1rem;background:var(--color-bg);overflow:visible}.printer-mask{position:absolute;bottom:0;left:0;right:0;height:2rem;background:#333;z-index:10}.receipt-slide{position:absolute;bottom:-1rem;left:50%;transform:translateX(-50%) translateY(100%);width:var(--receipt-width);max-width:100%}.receipt-overlay.visible .receipt-slide{animation:receipt-print 3s steps(18,end) forwards}@keyframes receipt-print{0%{transform:translateX(-50%) translateY(100%)}6%{transform:translateX(-50%) translateY(80%)}10%{transform:translateX(-50%) translateY(80%)}16%{transform:translateX(-50%) translateY(60%)}20%{transform:translateX(-50%) translateY(60%)}26%{transform:translateX(-50%) translateY(44%)}28%{transform:translateX(-50%) translateY(44%)}34%{transform:translateX(-50%) translateY(30%)}36%{transform:translateX(-50%) translateY(30%)}42%{transform:translateX(-50%) translateY(20%)}44%{transform:translateX(-50%) translateY(20%)}50%{transform:translateX(-50%) translateY(12%)}52%{transform:translateX(-50%) translateY(12%)}58%{transform:translateX(-50%) translateY(6%)}60%{transform:translateX(-50%) translateY(6%)}68%{transform:translateX(-50%) translateY(3%)}70%{transform:translateX(-50%) translateY(3%)}80%{transform:translateX(-50%) translateY(1%)}84%{transform:translateX(-50%) translateY(1%)}92%{transform:translateX(-50%) translateY(0)}96%{transform:translateX(-50%) translateY(0)}100%{transform:translateX(-50%) translateY(0)}}.receipt{background:var(--color-paper);width:var(--receipt-width);max-width:100%;padding:var(--space-lg) var(--receipt-padding) var(--space-lg);position:relative;box-shadow:0 .25rem .375rem rgba(0,0,0,.3),0 .625rem 2.5rem rgba(0,0,0,.4);color:var(--color-dark);font-size:var(--text-base);line-height:1;transform:rotate(var(--receipt-rotation,0deg))}.receipt::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 70%,rgba(0,0,0,.4) 95%,rgba(0,0,0,.2) 100%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 70%,rgba(0,0,0,.4) 95%,rgba(0,0,0,.2) 100%)}.receipt .receipt-thermal-fade{position:absolute;bottom:1rem;left:0;right:0;height:30%;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.3) 100%);pointer-events:none;z-index:1}.receipt-header{text-align:center;margin-bottom:var(--space-md)}.receipt-logo{width:5rem;height:5rem;margin:0 auto;display:block;filter:grayscale(100%) contrast(1.5)}.receipt-team-name{font-size:var(--text-base);text-transform:uppercase}.receipt-tagline{text-transform:uppercase}.receipt-divider{border:none;border-top:.125rem dashed var(--color-light);margin:var(--space-md) 0}.receipt-order{font-size:var(--text-base)}.receipt-datetime{color:var(--color-dark)}.receipt-line-item{display:flex;justify-content:space-between;font-size:var(--text-base)}.receipt-player-name{overflow:hidden;white-space:nowrap}.receipt-player-pts{white-space:nowrap;padding-left:var(--space-sm)}.receipt-line-extra{font-size:var(--text-base);padding-left:var(--space-md)}.receipt-summary{margin-top:var(--space-sm);margin-bottom:var(--space-md)}.receipt-summary-line{display:flex;justify-content:space-between;font-size:var(--text-base)}.receipt-total-line{display:flex;justify-content:space-between;font-size:var(--text-lg)}.receipt-result{text-align:center;font-size:var(--text-base);margin-bottom:var(--space-sm)}.receipt-footer{text-align:center;margin-top:var(--space-md)}.receipt-thanks{font-size:var(--text-base);margin-bottom:var(--space-md)}.receipt-qr-link{display:inline-block;margin-bottom:var(--space-sm)}.receipt-qr-link img{display:block;width:4rem;height:4rem}.receipt-overlay.closing .receipt-slide{animation:receipt-tear .4s ease-in forwards}.receipt-overlay.closing{transition:opacity .3s ease .2s}@keyframes receipt-tear{0%{transform:translateX(-50%) translateY(0) rotate(0deg)}40%{transform:translateX(-50%) translateY(5%) rotate(-1deg)}100%{transform:translateX(-50%) translateY(-120%) rotate(-3deg)}}.receipt-line-item,.receipt-line-extra{opacity:0;animation:line-print .15s ease forwards}.receipt-line-item.printed,.receipt-line-extra.printed{opacity:1}@keyframes line-print{from{opacity:0;filter:blur(1px)}to{opacity:1;filter:blur(0)}}.key[data-team-color]{--glow:var(--team-color,#666)}.key[data-team-color]:hover{box-shadow:0 5px 0 #111,0 6px 12px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08),0 0 15px color-mix(in srgb,var(--glow) 50%,transparent);border-color:color-mix(in srgb,var(--glow) 40%,#505050)}.receipt-paper-curl{position:absolute;bottom:1rem;left:0;right:0;height:3rem;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.04));pointer-events:none;z-index:1}.date-label{color:var(--color-light);font-family:var(--font-mono);font-size:var(--text-base);text-align:center;width:100%;margin:var(--space-lg) 0 var(--space-md)}.date-label:first-child{margin-top:0}.previous-games-grid{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:50rem;margin:0 auto var(--space-lg)}.day-group{display:flex;flex-direction:column;align-items:center}.day-group-label{color:var(--color-mid);font-family:var(--font-mono);font-size:var(--text-sm);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05rem}.keyboard-sm{margin:0;gap:.5rem}.key-sm{width:5.5rem;min-width:5.5rem;max-width:5.5rem;height:5.5rem;min-height:5.5rem;max-height:5.5rem;gap:.25rem;border-radius:.5rem}.key-sm .key-logo{width:1.75rem;height:1.75rem}.key-sm .key-name{font-size:1rem}.key-sm .key-score{font-size:.875rem}@media(max-width:48rem){:root{--receipt-width:100%;--receipt-padding:2.5rem}.keyboard{max-width:100%;gap:.5rem}.key{width:6rem;min-width:6rem;max-width:6rem;height:6rem;min-height:6rem;max-height:6rem}.key-sm{width:5rem;min-width:5rem;max-width:5rem;height:5rem;min-height:5rem;max-height:5rem}.printer-wrapper{width:75vw}.printer-body{position:sticky;bottom:0;width:120%;height:4rem;background:#333;border-radius:10px 10px 0 0;box-shadow:0 -2px 8px rgba(0,0,0,.5)}.printer-mask{position:absolute;bottom:0;left:0;right:0;height:2rem;background:#333;z-index:10}}@media(max-width:30rem){:root{--receipt-padding:1.5rem;--text-base:1.125rem;--text-sm:.625rem;--text-lg:1.5rem}body{padding:var(--space-md) .75rem}.page-title{font-size:var(--text-base)}.keyboard{gap:.375rem}.key{width:5.25rem;min-width:5.25rem;max-width:5.25rem;height:5.25rem;min-height:5.25rem;max-height:5.25rem;gap:.25rem;border-radius:.5rem}.key-logo{width:1.75rem;height:1.75rem}.key-name{font-size:1rem}.key-score{font-size:.875rem}.printer-wrapper{width:75%}.printer-body{position:sticky;bottom:0;width:120%;height:4rem;background:#333;border-radius:10px 10px 0 0;box-shadow:0 -2px 8px rgba(0,0,0,.5)}.printer-mask{position:absolute;bottom:0;left:0;right:0;height:2rem;background:#333;z-index:10}.receipt-logo{width:5rem;height:5rem}.key-sm{width:4.25rem;min-width:4.25rem;max-width:4.25rem;height:4.25rem;min-height:4.25rem;max-height:4.25rem}.key-sm .key-logo{width:1.5rem;height:1.5rem}.key-sm .key-name{font-size:.875rem}.key-sm .key-score{font-size:.75rem}}