/* A little copper, chrome and checkerboard. All effects belong to the menu. */
:root{--paper:#110c2b;--panel:#191432;--line:#554278;--ink:#fff5ed;--muted:#beb5d8;--lime:#f9db71;--demo-mono:"Courier New",ui-monospace,monospace}
body{isolation:isolate;background:radial-gradient(ellipse at 50% 0,#36206370,transparent 65%)}
.demo-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(#0a0820,#181033 55%,#100c25)}
.starfield{position:absolute;inset:-80px;background-repeat:repeat;will-change:transform;animation-play-state:paused!important}
.stars-near{background-image:radial-gradient(1.5px 1.5px at 38px 44px,#bdeaff 98%,transparent),radial-gradient(1px 1px at 150px 124px,#debbff 98%,transparent),radial-gradient(1px 1px at 270px 24px,#ffe4b5 98%,transparent);background-size:337px 211px;opacity:.52;animation:stars-drift 28s linear infinite}
.stars-far{background-image:radial-gradient(1px 1px at 84px 90px,#e6d8ff 98%,transparent),radial-gradient(1px 1px at 209px 60px,#677daa 98%,transparent);background-size:283px 173px;opacity:.38;animation:stars-drift 48s linear infinite reverse}
.site-header{height:68px;border-bottom:1px solid #5d498a;gap:12px;font-family:var(--demo-mono)}
.wordmark{font-family:inherit;font-size:1.5rem;letter-spacing:-.065em;text-shadow:2px 2px #553693}
.wordmark span{font-size:.85rem;color:#b5d7ff;text-shadow:none;letter-spacing:0}
nav{gap:16px;font-size:.75rem}
nav button{border:1px solid #716394;background:#292043;border-radius:2px;font-size:.72rem;padding:8px 12px;box-shadow:inset 0 1px #a29ac32e}
nav button:hover{background:#3a2c5b;border-color:#bcdcff}
#menu-motion{min-width:64px;color:#9ee9e0;font-weight:700;white-space:nowrap}
.saved-short{display:none}
.intro{position:relative;padding:35px 0 30px;gap:30px;align-items:center;min-height:190px;isolation:isolate}
.intro-copy{min-width:0;flex:1;max-width:1040px}
.intro .eyebrow{font:700 .67rem var(--demo-mono);letter-spacing:.16em;color:#9ee9e0;margin:0 0 18px}
.ready-light{display:inline-block;width:7px;height:7px;background:#9ee9e0;margin-right:6px;box-shadow:0 0 9px #8cddd088}
.intro h1{margin:0 0 17px;line-height:1;width:100%;filter:drop-shadow(0 0 18px #6b57ff44)}
.demo-logo{display:block;width:100%;height:auto;overflow:visible;max-height:132px}
.intro .lede{font-family:var(--demo-mono);font-size:.9rem;letter-spacing:.025em;color:#cbbadc}
.intro .lede strong{color:#ffdb86;font-weight:700}
.boing-scene{position:relative;flex:none;width:160px;height:164px;perspective:400px}
.boing-ball{position:absolute;top:0;left:10px;width:140px;height:140px;transform:rotate(-18deg);animation:boing 3.4s ease-in-out infinite;animation-play-state:paused!important}
.boing-ball img{display:block;width:100%;height:100%;filter:drop-shadow(4px 8px 0 #03020e55)}
.boing-shadow{position:absolute;left:32px;bottom:19px;width:96px;height:14px;border-radius:50%;background:#b0a0ff26;filter:blur(4px);animation:boing-shadow 3.4s ease-in-out infinite;animation-play-state:paused!important}
.boing-scene>span{position:absolute;bottom:0;left:0;width:100%;text-align:center;font:700 .59rem var(--demo-mono);letter-spacing:.05em;color:#afa0d3}
.demo-scroller{position:relative;overflow:hidden;max-width:100%;padding:13px 0 12px;background:#0a071ce6;border-block:1px solid #9278d3;box-shadow:0 -3px #342771,0 -5px #6962c8,0 -7px #b4c5ee,0 2px #37204c,0 4px #874163,0 6px #f8ad80,0 8px #75474f;margin:8px 0 32px}
.scroller-track{display:flex;width:max-content;white-space:nowrap;animation:demo-scroll 75s linear infinite;animation-play-state:paused!important;font:700 .8rem var(--demo-mono);letter-spacing:.08em;color:#ffe6a5;text-shadow:2px 2px #7c3d75}
.scroller-track>span{flex:none}
.catalogue-heading{border:0;padding-top:0;gap:10px}
.catalogue-heading h2{font:700 .81rem var(--demo-mono);letter-spacing:.07em;color:#fff3da}
.catalogue-heading h2 span{color:#a592cf;margin-left:10px}
.catalogue-heading>span{font: .7rem var(--demo-mono);color:#9cb6d7}
#library-status{font: .69rem var(--demo-mono);color:#ab9bcf;margin:10px 0 18px}
.game-grid{gap:24px;margin-top:0}
.game-card{position:relative;border:1px solid #746197;border-radius:2px;background:#191432;box-shadow:4px 4px 0 #08061b,inset 0 0 0 1px #a795c71a;overflow:hidden}
.game-card:focus-within{border-color:var(--accent);box-shadow:4px 4px 0 #08061b,0 0 0 2px var(--accent)}
.game-marquee{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(#302447,#231934);border-bottom:1px solid #736089;min-width:0;font:700 .62rem var(--demo-mono);text-transform:uppercase;letter-spacing:.06em}
.game-number{color:#150b2b;background:var(--accent);padding:3px 5px;flex:none}
.marquee-genre{color:#cfc3e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marquee-light{margin-left:auto;color:var(--accent);font-size:.6rem}
.game-art{border-bottom:1px solid #71628e;background:#070912;aspect-ratio:8/5;border-radius:0}
.game-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#0503140f 3px 4px)}
.game-art:focus-visible{outline-offset:-4px}
.art-play{border-radius:0;font-family:var(--demo-mono);background:#100b23e6;border-color:#c9b4e2}
.game-copy{padding:17px 18px 19px}
.game-copy .genre{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.game-copy h3{font-size:1.35rem;font-weight:850;letter-spacing:-.04em;color:#fff3ed;text-shadow:2px 2px #654085;margin-bottom:8px}
.description{font-size:.82rem;color:#bfb4d3;line-height:1.55}
.card-actions button,#start-game{background:var(--accent,var(--lime));border:1px solid #f9f0ff77;border-radius:2px;box-shadow:inset 0 2px #ffffff50,0 3px 0 #080619;color:#181029;font:700 .78rem var(--demo-mono);text-transform:uppercase;letter-spacing:.035em;min-height:46px}
.card-actions button:hover,#start-game:hover{background:#fff1b3;border-color:#fff9e8;box-shadow:inset 0 2px #ffffff50,0 3px 0 #080619,0 0 20px #f9db7122}
.download-state{font-family:var(--demo-mono);color:#a69bbc;font-size:.62rem}
#title-back{border-radius:2px;border-color:#716394;font:700 .8rem var(--demo-mono)}
#title-art{border:2px solid #9380b8;border-radius:2px;box-shadow:6px 6px #08061b}
.title-copy h1{color:#fff3ed;text-shadow:3px 3px #654085}
.title-copy .eyebrow,.title-copy h2{font-family:var(--demo-mono)}
footer{border-top:1px solid #554278;font: .65rem var(--demo-mono);color:#ae9fc8}
.footer-greeting{color:#9ee9e0}.footer-greeting span{color:#f5c47a;margin-left:10px}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #ffdf7f;outline-offset:3px}
body[data-motion=on]:not(.playing):not(.page-hidden) .starfield,body[data-motion=on]:not(.playing):not(.page-hidden) .boing-ball,body[data-motion=on]:not(.playing):not(.page-hidden) .boing-shadow,body[data-motion=on]:not(.playing):not(.page-hidden) .scroller-track{animation-play-state:running!important}
.playing>.demo-backdrop{display:none}
@keyframes stars-drift{to{transform:translate3d(-60px,60px,0)}}
@keyframes boing{0%,100%{transform:translateY(-7px) rotate(-18deg)}50%{transform:translateY(11px) rotate(8deg)}}
@keyframes boing-shadow{0%,100%{transform:scaleX(.75);opacity:.5}50%{transform:scaleX(1);opacity:1}}
@keyframes demo-scroll{to{transform:translateX(-50%)}}
@media(min-width:1001px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.intro{padding-block:28px}.boing-scene{width:120px;height:142px}.boing-ball{width:116px;height:116px;left:0}.boing-shadow{width:70px;left:24px}.game-grid{gap:18px}}
@media(max-width:600px){
  .site-header{height:62px;gap:8px}.wordmark{font-size:1.25rem}.wordmark span{font-size:.65rem}nav{gap:6px}nav button{padding:7px 8px;font-size:.64rem}#menu-motion{min-width:54px}.saved-long{display:none}.saved-short{display:inline}
  .intro{padding:27px 0 22px;min-height:0;gap:0}.intro-copy{position:relative;z-index:1;width:100%}.intro .eyebrow{font-size:.55rem;letter-spacing:.09em;margin-bottom:19px}.intro h1{margin-bottom:13px;padding-right:0}.intro .lede{font-size:.73rem}.boing-scene{position:absolute;width:64px;height:62px;right:0;top:1px;z-index:0;opacity:.95}.boing-ball{width:64px;height:64px;left:0}.boing-shadow,.boing-scene>span{display:none}
  .demo-scroller{margin:6px 0 25px;padding:11px 0}.scroller-track{font-size:.66rem;letter-spacing:.04em}.catalogue-heading h2{font-size:.69rem;letter-spacing:.02em}.catalogue-heading h2 span{margin-left:3px}.catalogue-heading>span{font-size:.58rem}#library-status{font-size:.62rem;margin-block:10px 14px}
  .game-grid{gap:14px 12px}.game-marquee{gap:5px;padding:6px;font-size:.48rem;letter-spacing:0}.game-number{padding:3px}.marquee-light{display:none}.game-copy{padding:12px 10px 13px}.game-copy h3{font-size:1.03rem;line-height:1.2;margin-bottom:8px;text-shadow:1px 2px #654085}.description{font-size:.72rem;line-height:1.5}.card-actions button{font-size:.68rem;padding:8px 5px;min-height:44px}.download-state{font-size:.57rem}.footer-greeting{max-width:138px;text-align:right;line-height:1.5}
}
@media(max-width:350px){.wordmark span{display:none}.game-grid{grid-template-columns:1fr}.game-marquee{font-size:.62rem;padding:8px 10px}.game-copy h3{font-size:1.25rem}.description{font-size:.82rem}.game-copy{padding:15px}.card-actions button{padding:9px 14px}.boing-scene{width:52px}.boing-ball{width:52px;height:52px}.intro .eyebrow{font-size:.5rem;letter-spacing:0}.catalogue-heading>span{font-size:.51rem}}
