@font-face{font-family:'General Sans';src:url('fonts/general-sans-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'General Sans';src:url('fonts/general-sans-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'General Sans';src:url('fonts/general-sans-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'General Sans';src:url('fonts/general-sans-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--max:100rem;--gutter:2rem;--cube-framing:1.09;--radius:.75rem;--ease:cubic-bezier(.22,1,.36,1)}
body{font-family:'General Sans',system-ui,sans-serif;font-weight:500}
::selection{background:var(--ink);color:var(--paper)}
.site-header{max-width:none;min-height:5.5rem;padding:1.2rem var(--gutter);justify-content:space-between;gap:1.5rem;border-bottom:0}
.wordmark{display:flex;align-items:center;gap:.8rem;font-size:1.3rem;font-weight:700;letter-spacing:-.05em}
.wordmark span{display:block;border:0;padding:0;margin:0;font:inherit}
.wordmark .brand-cube{width:2.3rem;height:2.3rem;background:var(--ink);border-radius:.6rem;position:relative;rotate:-10deg;transition:rotate .4s var(--ease)}
.brand-cube:before,.brand-cube:after{content:'';position:absolute;background:var(--page)}.brand-cube:before{width:1px;height:100%;left:50%}.brand-cube:after{height:1px;width:100%;top:50%}
.wordmark:hover .brand-cube{rotate:0deg}.wordmark small{display:block;font-size:.7rem;font-weight:500;letter-spacing:0;line-height:1.7}
.header-season{font-size:.8rem;color:var(--muted);margin-left:auto;margin-right:2rem}
.wallet-button{font-size:.8rem;background:var(--ink);color:var(--paper);border-color:var(--ink);min-height:2.8rem;padding:.7rem 1.1rem}
.wallet-button:hover{background:var(--ink);translate:0 -2px;box-shadow:0 3px 0 rgb(20 43 165 / .18)}
main.game-layout{max-width:var(--max);padding:0 var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) 21.5rem;gap:2rem}
.arena{min-width:0;position:relative;padding:1.5rem 0 1.2rem}
.arena-hero{position:relative;pointer-events:none;z-index:1;padding:0}
.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:0;margin:0 0 1.4rem;color:var(--muted)}
h1{font-size:clamp(3.3rem,5.2vw,5.2rem);font-weight:600;line-height:.94;letter-spacing:-.065em;margin:0 0 1.3rem}
.arena-hero>p:last-child{font-size:.85rem;line-height:1.55;color:var(--muted);margin:0;max-width:27ch}
#scene{position:relative;height:36.5rem;margin:-8.5rem 0 0 7.5rem;touch-action:none}
canvas{cursor:grab;user-select:none}canvas[data-mode=area]{cursor:crosshair}canvas.is-dragging[data-mode=rotate]{cursor:grabbing}
.area-marquee{position:absolute;pointer-events:none;border:1px solid var(--ink);background:rgb(20 43 165 / .12);z-index:2;border-radius:3px}
.scene-controls{display:flex;align-items:center;gap:1.1rem;padding:.3rem 0 1.25rem}
.mode-switch{display:flex;padding:4px;border:1px solid var(--line);border-radius:14px;gap:4px;flex-shrink:0}
.mode-switch button{font-size:.75rem;padding:.5rem .9rem;min-height:2.4rem;font-weight:500;border-radius:10px}
.mode-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.mode-switch button:hover:not([aria-pressed=true]){background:var(--paper);translate:0 -2px}
.scene-controls p{font-size:.75rem;color:var(--muted);margin:0;max-width:31ch;line-height:1.5}
.scene-controls>.text-button{margin-left:auto;font-size:.75rem;white-space:nowrap}
.arena-progress{border-top:1px solid var(--line);padding-top:1rem}
.arena-progress>div:first-child{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}
.arena-progress strong{font-weight:600;color:var(--ink)}
.season-track{height:4px;margin:.75rem 0 1.2rem;border-radius:2px;overflow:hidden}
.activity-section{border-top:1px solid var(--line);padding-top:.7rem}
.section-heading{margin-bottom:.7rem}.section-heading h2{font-size:.85rem;font-weight:600}
.section-heading>div>span{font-size:.7rem}.section-heading .text-button{font-size:.75rem;min-height:2rem}
#activityList{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}
.activity-item{display:flex;flex-direction:column;align-items:start;border:0;padding:0;gap:.25rem;min-height:4.9rem;font-size:.75rem}
.activity-item strong{font-size:.75rem;font-weight:600}.activity-item .block-info{font-size:.65rem;line-height:1.4;margin-top:.2rem}
.activity-item .event-result,.activity-item time{font-size:.65rem}.activity-item time{margin-top:auto}
.control-panel{min-width:0;background:var(--paper);border:1px solid rgb(196 188 114 / .7);border-radius:1.25rem;padding:1.6rem 1.5rem;margin:1rem 0 1.5rem;align-self:start}
.panel-title{font-size:1.75rem;line-height:1.1;letter-spacing:-.05em;font-weight:600;margin:0 0 .5rem}
.panel-intro{font-size:.8rem;color:var(--muted);margin:0 0 1.5rem}
.compact-round{padding:0 0 1.2rem;border-bottom:1px solid var(--line);margin-bottom:.85rem}
.round-top h3{font-size:.8rem;font-weight:600;margin:0}.round-top>span{font-size:.7rem;background:var(--page);border-radius:5px;padding:.15rem .5rem}
.round-meter{height:3px;margin:.6rem 0;border-radius:2px;overflow:hidden}
.round-bottom{font-size:.68rem;gap:.5rem;letter-spacing:-.02em}
.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2rem;font-size:.8rem;font-weight:600}
.selection-heading .text-button{font-size:.75rem;font-weight:500;min-height:2rem}
.selection-preview{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2.5rem;margin:.5rem 0 .2rem}
.selection-preview:has(.hint){min-height:0;margin:0}.selection-preview>.hint{display:none}
.selection-chip{font-size:.75rem;border:1px solid var(--line);padding:.35rem .5rem;min-height:2rem;border-radius:7px;font-variant-numeric:tabular-nums}
.selection-chip:hover{background:var(--page);translate:0 -2px}.selection-more{font-size:.75rem;color:var(--muted)}
.add-ids{font-size:.75rem;min-height:2.25rem;text-decoration:underline;text-underline-offset:.2rem;margin-bottom:.65rem}
.selection-price{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-top:1px solid var(--line);padding:1rem 0;font-size:.8rem}
.selection-price small{display:block;font-size:.7rem;color:var(--muted);margin-top:.15rem}
.selection-price strong{font-size:1.2rem;letter-spacing:-.04em;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.control-panel .primary{min-height:3.3rem;text-align:center;font-size:.95rem;font-weight:600;letter-spacing:-.02em}
.control-panel .primary:disabled{background:#e3dc9c;color:var(--muted);border:1px solid var(--line)}
.primary:hover:not(:disabled){background:var(--action);translate:0 -2px;box-shadow:0 4px 0 rgb(200 47 34 / .18)}
#gameStatus{font-size:.75rem;line-height:1.5;min-height:2.3rem;margin:.7rem 0 1.2rem;color:var(--muted)}
.personal-result{padding:1rem;margin:0 0 1rem;background:var(--page);border-radius:10px;border:0}.personal-result>strong{font-size:1.3rem}.personal-result p{font-size:.75rem}
.rail-jackpot{border-top:1px solid var(--line);padding-top:1rem;margin:0}
.rail-jackpot>.label{font-size:.75rem;font-weight:500}
.rail-jackpot>p{margin:.25rem 0;line-height:1.25}.rail-jackpot strong{font-size:2.3rem;letter-spacing:-.06em;font-weight:600;font-variant-numeric:tabular-nums}
.rail-jackpot p>span{font-size:.75rem;margin-left:.4rem}.rail-jackpot .hint{font-size:.7rem;margin:.5rem 0 1.15rem}
.balance-panel{border:0;border-top:1px solid var(--line);padding:1rem 0 0;margin:0}
.balance-panel .section-heading{flex-wrap:wrap;gap:.5rem}.balance-panel h2{font-size:.85rem}.balance-panel .section-heading>span{font-size:.7rem}.balance-panel .hint{font-size:.75rem;margin:.7rem 0}
.balance-panel dl>div{font-size:.75rem;padding:.35rem 0}.balance-panel .secondary{width:100%;font-size:.8rem;margin-top:.65rem;min-height:2.75rem;background:transparent}
.secondary:hover:not(:disabled){background:var(--page);translate:0 -2px}
.text-button,.text-link{transition:translate .25s var(--ease),background .25s var(--ease),color .25s var(--ease)}
.text-button:hover:not(:disabled),.text-link:hover{translate:0 -2px;text-decoration:underline}
button{transition:translate .25s var(--ease),background .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease)}
button:active:not(:disabled){translate:0 1px;transform:none;box-shadow:none}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
footer{max-width:var(--max);padding:1rem var(--gutter);font-size:.75rem;gap:1.5rem}footer .text-button{font-size:.75rem}footer .text-button:last-child{margin-left:0}
input[type=text]{border:1px solid var(--control-line);background:var(--paper);padding:.7rem;min-height:var(--control);width:100%;min-width:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1600px){#scene{height:40rem;margin-left:10rem}}
@media(max-width:1100px){:root{--gutter:1.5rem}main.game-layout{grid-template-columns:minmax(0,1fr) 20rem;gap:1.5rem}.control-panel{padding:1.4rem 1.2rem}.header-season{display:none}h1{font-size:3.6rem}#scene{height:33rem;margin-top:-3.5rem;margin-left:0}.scene-controls{flex-wrap:wrap;gap:.5rem}.scene-controls p{order:3;max-width:none;width:100%}.scene-controls>.text-button{margin-left:auto}#activityList{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-item:nth-child(n+4){display:none}}
@media(max-width:800px){main.game-layout{display:flex;flex-direction:column;gap:0}.arena{display:contents}.arena-hero{order:0;padding-top:1rem}#scene{order:1;flex:none;margin:-3rem 0 0 6rem;height:29rem}.scene-controls{order:2}.control-panel{order:3;margin:0 0 1.5rem;padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}.control-panel>*{grid-column:1}.rail-jackpot{grid-column:2;grid-row:1 / span 4;border-top:0;padding-top:0}.balance-panel{grid-column:2;grid-row:5 / span 8}.arena-progress{order:4}.activity-section{order:5;padding-bottom:1.5rem}.panel-intro{margin-bottom:1rem}footer{flex-wrap:wrap}}
@media(max-width:600px){:root{--gutter:1rem;--cube-framing:1.08}.site-header{padding:.9rem 1rem;min-height:4.4rem;gap:1rem}.wordmark{font-size:1.1rem;gap:.6rem}.wordmark .brand-cube{width:1.9rem;height:1.9rem;border-radius:.5rem}.wordmark small{font-size:.65rem}.wallet-button{font-size:.75rem;padding:.6rem .85rem;min-height:2.65rem}.arena-hero{padding-top:1.1rem}.eyebrow{font-size:.7rem;margin-bottom:.65rem}h1{font-size:2.3rem;letter-spacing:-.06em;line-height:1.02;margin-bottom:.6rem}h1 br{display:none}h1 br:after{content:' '}.arena-hero>p:last-child{font-size:.75rem;max-width:none;line-height:1.5}.arena-hero>p:last-child br{display:none}.arena-hero>p:last-child br:after{content:' '}
#scene{height:18rem;margin:0 -.5rem;--cube-framing:1.08}.scene-controls{padding:.15rem 0 .9rem;gap:.4rem}.mode-switch{padding:3px;gap:3px;border-radius:12px}.mode-switch button{font-size:.75rem;padding:.5rem .7rem;min-height:2.35rem}.scene-controls>.text-button{font-size:.7rem}.scene-controls p{font-size:.7rem;margin-top:.1rem}
.control-panel{display:flex;flex-direction:column;gap:0;padding:1.25rem 1rem;border-radius:1rem;margin-bottom:1.5rem}.panel-title{font-size:1.5rem;margin-bottom:1rem}.panel-intro{display:none}.compact-round{padding-bottom:.9rem;margin-bottom:.5rem}.round-bottom{font-size:.7rem}.round-top h3{font-size:.8rem}.selection-heading{font-size:.8rem}.add-ids{margin-bottom:.45rem;align-self:flex-start}.selection-price{padding:.8rem 0}.selection-price strong{font-size:1.15rem}#gameStatus{margin:.65rem 0 1rem;min-height:0}.rail-jackpot{border-top:1px solid var(--line);padding-top:1rem}.rail-jackpot strong{font-size:2.1rem}.balance-panel{padding-top:1rem}.balance-panel .section-heading{margin-bottom:.4rem}.balance-panel .secondary{margin-top:.25rem}
.arena-progress>div:first-child{font-size:.7rem;gap:.5rem}#activityList{display:flex;flex-direction:column;gap:0}.activity-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) 2.8rem;align-items:center;gap:.5rem;min-height:3.5rem;border-top:1px solid var(--line);padding:.6rem 0}.activity-item time{margin-top:0}.activity-item:nth-child(n+4){display:none}.activity-item strong{font-size:.75rem}.activity-item .event-result,.activity-item .block-info,.activity-item time{font-size:.7rem}.section-heading>div>span{display:none}footer{font-size:.7rem;gap:.5rem 1rem}footer p{order:4;width:100%;font-size:.7rem}footer .text-button{font-size:.7rem;margin-left:auto}dialog{padding:1.3rem}.wallet-dialog{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}button:hover,.text-button:hover,.text-link:hover{translate:none!important}}
body.reduced *{transition:none!important;animation:none!important}body.reduced button:hover,body.reduced .text-button:hover{translate:none!important}
h1 span{display:block}
@media(max-width:600px){h1 span{display:inline}}
@media(min-width:1101px){#scene{margin-top:-13rem}.arena-hero>p:last-child{max-width:36ch}}
@media(max-width:600px){.control-panel{width:100%;align-self:stretch}.arena-hero .eyebrow{display:none}#scene{height:17rem;--cube-framing:1.02}.panel-title{margin-bottom:.85rem}}
.wallet-button{margin-left:auto}
.mode-switch button:hover{translate:0 -2px;box-shadow:0 2px 0 rgb(20 43 165 / .14)}
@media(max-width:600px){#scene{height:16.5rem}.arena-hero>p:last-child{white-space:normal}}
.control-panel .primary[aria-busy=true]{background:var(--action);color:var(--on-action);border-color:transparent;cursor:progress}
