:root{color-scheme:dark;--bg:#111b1e;--panel:#182629;--line:#2c3b3d;--ink:#f2ead8;--muted:#9aaead;--gold:#ddbd81;--teal:#98c8b5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Trebuchet MS',sans-serif;font-size:14px}button,a,select{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0;color:inherit;background:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{height:96px;max-width:1440px;padding:0 60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:auto;gap:20px}.brand{display:flex;gap:13px;align-items:center;letter-spacing:2px;font-size:12px;font-weight:bold}.brand img{width:42px;height:42px}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--muted);margin-top:6px;font-weight:normal}nav{height:100%;display:flex;gap:34px}.nav{position:relative;color:var(--muted);padding:0 4px}.nav.active{color:var(--ink)}.nav.active:after{content:'';position:absolute;bottom:0;height:2px;left:0;right:0;background:var(--gold)}.icon-btn{border:1px solid var(--line);border-radius:7px;padding:10px 14px;color:var(--muted);display:inline-flex;gap:8px;align-items:center}.icon-btn:hover{color:var(--ink);border-color:#657572}main{max-width:1320px;margin:auto;padding:40px 0 0}.hero-banner{position:relative;min-height:394px;border:1px solid #38433e;border-radius:14px;background:radial-gradient(ellipse at 72% 50%,#2a4341 0,#1b2c2e 47%,#19272a 80%);overflow:hidden;display:flex;align-items:center}.hero-copy{padding:41px 45px;z-index:1;width:60%}.eyebrow{font-size:10px;font-weight:normal;letter-spacing:2.3px;color:var(--gold);margin:0 0 16px;text-transform:uppercase}.live-dot{display:inline-block;width:6px;height:6px;background:var(--teal);border-radius:50%;margin-right:8px;vertical-align:middle;box-shadow:0 0 9px #98c8b544}.hero-copy h1{font-family:Georgia,serif;font-size:49px;line-height:1.13;letter-spacing:-1.6px;font-weight:normal;margin:0 0 20px}.intro{line-height:1.8;font-size:14px;color:#b3c2bb;margin-bottom:26px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--gold);color:#1b2525;border:1px solid var(--gold);border-radius:6px;padding:14px 19px;font-weight:bold;font-size:12px;transition:transform .15s,background .15s}.primary:hover{background:#efd39f;transform:translateY(-1px)}.primary span{font-size:21px;line-height:.5}.hero-caption{font-size:8px;letter-spacing:1.5px;color:#91a49c;margin:23px 0 0}.hero-caption span{margin-left:18px;color:#798e85}.hero-art{position:absolute;width:57%;right:-3%;bottom:0;top:0;display:flex;align-items:center}.hero-art svg{width:100%;height:100%;object-fit:cover}.library-section{margin-top:42px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}.section-head .eyebrow{color:var(--muted);margin-bottom:10px;font-size:9px}h2{font-family:Georgia,serif;font-size:27px;font-weight:normal;margin:0}h2 span{font-family:'Trebuchet MS',sans-serif;font-size:10px;margin-left:13px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 9px;vertical-align:middle;letter-spacing:1px}.filters{display:flex;gap:6px}.filters button{padding:8px 13px;font-size:11px;color:var(--muted);border:1px solid transparent;border-radius:6px}.filters .selected{color:var(--gold);background:#293532;border-color:#4a5144}.games-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.game-card{border:1px solid var(--line);border-radius:10px;background:#182427;overflow:hidden;text-align:left;padding:0;transition:transform .18s,border-color .18s;display:flex;flex-direction:column}.game-card:hover{transform:translateY(-4px);border-color:#7a846a}.thumbnail{aspect-ratio:1.62;background:#22383b;position:relative;overflow:hidden}.thumbnail canvas{width:100%;height:100%;object-fit:cover}.thumbnail:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#121c1f55,transparent 65%);pointer-events:none}.card-no{position:absolute;top:12px;left:12px;font-size:9px;letter-spacing:1px;background:#101c23b3;padding:5px 7px;border:1px solid #778b8133;border-radius:3px}.card-category{position:absolute;bottom:12px;left:14px;color:#d8d9cb;text-transform:uppercase;font-size:8px;letter-spacing:1.5px;z-index:1}.card-content{padding:19px;display:flex;flex-direction:column;flex:1}.game-card h3{font-family:Georgia,serif;font-weight:normal;font-size:20px;margin:0 0 8px}.game-card p{line-height:1.7;color:#92a6a3;font-size:11px;margin:0 0 22px;min-height:38px}.card-bottom{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;align-items:center;margin-top:auto}.card-bottom span{font-size:9px;color:#a5b6b1}.card-bottom strong{font-size:10px;color:var(--gold);font-weight:normal}.library-foot{display:flex;justify-content:space-between;color:#708884;font-size:10px;margin:22px 0 37px}footer{max-width:1320px;margin:20px auto 0;padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#6e837f;font-size:9px;letter-spacing:1px}footer b{color:#9d946f;margin:0 12px}.player-heading{display:flex;align-items:center;gap:24px;margin:0 0 25px}.text-btn{color:var(--muted);font-size:12px}.text-btn:hover{color:var(--gold)}.player-heading h1{font-family:Georgia,serif;font-size:28px;font-weight:normal;margin:5px 0}.player-heading .eyebrow{font-size:9px}.player-actions{margin-left:auto;display:flex;gap:9px}.player-frame{max-width:1100px;margin:auto;background:#152529;border:1px solid #3c5355;border-radius:12px;overflow:hidden}.player-frame:fullscreen{max-width:none;background:#101c20;display:flex;flex-direction:column;justify-content:center}.hud{min-height:61px;display:flex;gap:32px;padding:14px 24px;border-bottom:1px solid #34474b;justify-content:center}.hud-item{display:flex;gap:9px;align-items:baseline}.hud-item small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.hud-item b{font-size:14px;color:#eed4a0;font-weight:normal}.canvas-wrap{position:relative;aspect-ratio:16/9;max-height:calc(100vh - 160px);margin:auto;width:100%}#gameCanvas{display:block;width:100%;height:100%;touch-action:none;object-fit:contain}.game-overlay{position:absolute;inset:0;background:#081419b8;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}.overlay-panel{max-width:510px;width:100%;text-align:center;background:#17292ef2;border:1px solid #7b897467;border-radius:14px;padding:26px 32px;box-shadow:0 12px 50px #07121755}.overlay-panel .eyebrow{margin-bottom:12px}.overlay-panel h2{font-size:31px;margin-bottom:12px}.overlay-panel p{color:#9fb6b1;font-size:12px;line-height:1.65;margin-bottom:20px}.setup-row{display:flex;gap:12px;margin:18px 0;text-align:left}.setup-row label{flex:1;color:#9db3ad;font-size:10px;letter-spacing:1px;text-transform:uppercase}select{display:block;width:100%;padding:11px;border:1px solid #4b605b;background:#233b40;color:#ead8b4;font:12px 'Trebuchet MS',sans-serif;margin-top:7px;border-radius:5px}.overlay-buttons{display:flex;gap:12px;justify-content:center;align-items:center}.secondary{padding:12px 17px;border:1px solid #4b625b;border-radius:6px;font-size:12px;color:#c2d0c8}.secondary:hover{border-color:var(--gold)}.player-bottom{padding:14px 23px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a0b8b1;line-height:1.6;border-top:1px solid #34474b}.pause-hint{white-space:nowrap;color:#728c85}kbd{font-family:inherit;font-size:9px;border:1px solid #446259;border-radius:3px;padding:3px 5px;margin:0 3px}.how-to{max-width:1100px;margin:20px auto 32px;display:flex;gap:22px;align-items:baseline}.how-to .eyebrow{white-space:nowrap;color:var(--gold)}.how-to p{font-size:12px;color:#95aca5;line-height:1.8;margin:0}.touch-controls{display:none;justify-content:space-between;gap:10px;padding:10px 15px;border-top:1px solid #3b5152}.touch-group{display:flex;gap:7px}.touch-controls button{min-width:44px;min-height:44px;border-radius:7px;border:1px solid #536c67;color:#e5ce9e;background:#253d41;touch-action:none;user-select:none}.touch-controls button:active{background:#496a65}dialog{width:min(580px,92vw);background:#18292d;border:1px solid #567069;border-radius:13px;color:var(--ink);padding:28px}dialog::backdrop{background:#071218b8;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading .eyebrow{margin-bottom:7px}.muted{font-size:12px;color:var(--muted);line-height:1.8}.record-row{padding:15px 0;border-bottom:1px solid #354b4c;display:flex;justify-content:space-between;gap:20px;align-items:center}.record-row span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.record-row strong{font-family:Georgia,serif;font-size:21px;font-weight:normal;color:var(--gold)}.record-row h3{font-size:13px;font-weight:normal;margin:0}.record-score{color:var(--gold);font-family:Georgia,serif;font-size:28px}.error-note{color:#ffc8b3!important}.game-card{animation:arrive .35s ease-out backwards}.game-card:nth-child(2){animation-delay:.05s}.game-card:nth-child(3){animation-delay:.1s}.game-card:nth-child(4){animation-delay:.15s}@keyframes arrive{from{opacity:0;transform:translateY(8px)}}
@media(min-width:1600px){main,footer{max-width:1400px}.hero-banner{min-height:420px}.hero-copy h1{font-size:55px}.thumbnail{aspect-ratio:1.65}}@media(max-width:1440px){main,footer{margin-left:5%;margin-right:5%}.topbar{padding:0 5%}}@media(max-width:1000px){.hero-copy{width:65%;padding:32px}.hero-copy h1{font-size:39px}.hero-art{width:57%;right:-8%}.games-grid{grid-template-columns:repeat(2,1fr)}.thumbnail{aspect-ratio:1.85}.section-head{align-items:flex-start}.hero-caption span{display:none}.touch-controls{display:flex}.hud{gap:17px}.hud-item{flex-direction:column;gap:3px}.player-actions .icon-btn span{display:none}.game-overlay{backdrop-filter:blur(3px)}}@media(max-width:600px){.topbar{height:80px;flex-wrap:wrap;gap:0}.brand{font-size:9px;letter-spacing:1.3px}.brand img{width:31px}.brand small{font-size:7px;letter-spacing:2px}nav{order:3;width:100%;height:25px;justify-content:center;gap:30px}.nav{font-size:10px}.topbar>.icon-btn{border:0;font-size:16px;padding:5px}.topbar>.icon-btn span{display:none}main{padding-top:23px}.hero-banner{min-height:352px}.hero-copy{padding:24px;width:100%}.hero-copy h1{font-size:34px;max-width:340px}.hero-art{opacity:.35;right:-27%;width:86%;top:42%}.hero-copy .intro{font-size:12px;max-width:260px}.desktop-break{display:none}.hero-caption{font-size:7px}.primary{font-size:11px;gap:18px;padding:13px 16px}.library-section{margin-top:30px}.section-head{display:block}h2{font-size:24px}.filters{margin-top:16px;gap:2px}.filters button{padding:7px 10px;font-size:10px}.games-grid{gap:12px}.thumbnail{aspect-ratio:1.48}.card-content{padding:12px}.game-card h3{font-size:18px}.game-card p{font-size:10px;min-height:55px;margin-bottom:12px}.card-bottom{display:block;padding-top:10px}.card-bottom strong{display:block;margin-top:8px}.card-no{top:7px;left:7px;font-size:7px}.card-category{font-size:6px;bottom:6px;left:8px}.library-foot{display:block;font-size:9px;line-height:2}.library-foot>span{display:block}footer{font-size:8px;gap:15px;flex-wrap:wrap}footer>span:nth-child(2){display:none}.player-heading{gap:12px;flex-wrap:wrap}.player-heading>.text-btn{width:100%;text-align:left}.player-heading h1{font-size:23px}.player-actions{gap:5px}.player-actions .icon-btn{padding:8px}.hud{padding:10px 12px;gap:14px;flex-wrap:wrap;min-height:53px}.hud-item small{font-size:7px}.hud-item b{font-size:11px}.canvas-wrap{min-height:260px;aspect-ratio:auto}#gameCanvas{position:absolute;inset:0}.overlay-panel{padding:18px 15px}.overlay-panel h2{font-size:24px}.overlay-panel p{font-size:10px;margin:8px 0 12px}.setup-row{margin:12px 0;gap:8px}.setup-row label{font-size:8px}select{padding:8px;font-size:10px}.game-overlay{padding:10px}.player-bottom{padding:12px;font-size:9px}.pause-hint{display:none}.how-to{display:block}.how-to p{font-size:11px}.touch-controls{padding:8px;gap:5px}.touch-controls button{min-width:40px;min-height:40px;font-size:11px}.touch-group{gap:4px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
