html:has(.game-app){height:100%;background:var(--navy)}
.game-app{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:var(--navy);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;background:var(--navy);color:#fffef4;flex-shrink:0;border-bottom:1px solid #ffffff20}
.game-identity{display:flex;align-items:baseline;gap:14px}.game-identity h1{font:34px/1 var(--display);letter-spacing:-.5px;margin:0;color:var(--yellow)}.game-identity a{color:#b5dce9;font-size:12px;font-weight:700;text-decoration:none}.game-topbar>.text-button{color:#fffef4;font-size:13px;padding:10px 0}
.game-main{display:flex;flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:0}
.game-app .arcade{display:flex;flex-direction:column;flex:1;min-height:0;border:0;border-radius:0;box-shadow:none}
.game-app .dashboard{padding:14px 28px;gap:32px;flex-shrink:0;width:100%;max-width:1100px;align-self:center}.game-app .energy{max-width:none}.game-app .score,.game-app .clock{min-width:100px}
.game-app .yard{flex:1;height:auto;min-height:0;touch-action:manipulation;background-size:auto;box-shadow:inset 0 0 0 8px #ffffff13}.game-app .yard.low-energy{box-shadow:inset 0 0 0 8px #e99b3977}
.game-app .screen{padding:28px 24px;overflow:auto;overscroll-behavior:contain;place-items:safe center}.game-app .start-card{flex-shrink:0;max-width:100%;margin:auto;transform:rotate(-1deg)}
.game-app .game-footer{flex-shrink:0;padding:10px 24px;gap:15px;background:var(--navy);color:#d5eaf2;border-top:1px solid #ffffff20}.game-app .game-footer>div{display:flex;gap:8px;align-items:center}.game-app .small-button{background:#254b66;color:#fffef4;border-color:#618093;min-height:40px}.game-app .small-button:disabled{opacity:.45}.game-app .pile{width:80px;height:80px;font-size:54px}
.connection-note{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);z-index:5;pointer-events:none;width:max-content;max-width:90%;border-radius:8px;background:#fff1b4;color:var(--navy);padding:7px 12px;font-size:12px;text-align:center;margin:0;box-shadow:0 2px 8px #17365033}
@media(max-width:600px){.game-topbar{padding:10px 16px}.game-identity{gap:9px}.game-identity h1{font-size:29px}.game-identity a{font-size:10px}.game-topbar>.text-button{font-size:11px}.game-app .dashboard{padding:12px 16px;gap:18px}.game-app .score,.game-app .clock{min-width:60px}.game-app .score strong,.game-app .clock strong{font-size:29px}.game-app .stat-label{font-size:8px}.game-app .personal-best{font-size:10px}.game-app .screen{padding:20px 18px}.game-app .start-card{padding:25px 17px 22px}.game-app .start-card h2{font-size:39px}.game-app .compact h2{font-size:35px}.game-app .game-footer{padding:9px 12px;flex-wrap:wrap;justify-content:center;gap:6px}.game-app #hint{width:100%;text-align:center;font-size:10px}.game-app .small-button{font-size:11px;padding:8px 11px}.game-app .pile{width:60px;height:60px;font-size:40px}}
@media(max-height:650px){.game-topbar{padding-top:5px;padding-bottom:5px}.game-app .dashboard{padding-top:7px;padding-bottom:7px}.game-app .screen{padding:14px 20px}.game-app .start-card{padding:16px 22px;transform:none}.game-app .start-card h2{font-size:32px;margin-bottom:10px}.game-app .start-card p{font-size:13px;margin-bottom:10px}.game-app .round-label{font-size:10px}.game-app .compact .best-challenge{margin:8px 0}.game-app .compact>.text-button{margin-top:6px}.game-app .instructions{margin-top:10px}.game-app .game-footer{padding-top:5px;padding-bottom:5px}.game-app .primary{padding:10px 18px}.game-app .pile{width:52px;height:52px;font-size:36px}}
@media(max-height:450px) and (orientation:landscape){.game-identity h1{font-size:23px}.game-app .dashboard{padding:4px 22px;gap:25px}.game-app .score,.game-app .clock{display:flex;flex-direction:row;align-items:center;gap:10px}.game-app .score strong,.game-app .clock strong{font-size:23px}.game-app .personal-best{margin:0}.game-app .game-footer{flex-wrap:nowrap}.game-app #hint{width:auto}.game-app .start-card{width:min(600px,100%);padding:14px 22px}.game-app .start-card h2 br{display:none}.game-app .start-card h2{font-size:28px}.game-app .start-card .pitch,.game-app .instructions{display:none}.game-app .compact>.text-button{display:inline-block;margin:0 0 0 15px}.game-app .pile{width:42px;height:42px;font-size:29px}.game-app .yard-tag{font-size:8px;top:5px}.game-app .screen{padding:12px 20px}}
