:root{color-scheme:dark;--bg:#0e1119;--surface:#161b28;--line:#222a3e;--ink:#fafbfd;--muted:#919ec2;--purple:#b8c5e8;--lime:#a3b4e0;--radius:20px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink)}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit}button{border:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--lime);outline-offset:5px}button{touch-action:manipulation}[hidden]{display:none!important}.site-header{height:100px;max-width:1536px;padding:0 5%;margin:auto;display:flex;align-items:center;gap:60px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:43px;letter-spacing:-2.6px;line-height:1}.brand svg{color:var(--purple);width:32px;height:32px;stroke-width:5}.brand-period{color:var(--purple)}.main-nav{display:flex;gap:32px;align-items:center;height:100%;font-size:15px;font-weight:600}.main-nav a,.main-nav button{height:100%;display:flex;align-items:center;background:none;color:var(--muted);position:relative;padding:0}.main-nav .nav-active{color:var(--ink)}.nav-active:after{content:"";position:absolute;height:3px;left:0;right:0;bottom:0;background:var(--purple);border-radius:3px}.main-nav button:hover{color:var(--ink)}.main-nav button span{color:var(--purple);margin-left:7px}.header-note{margin-left:auto;color:var(--muted);font-size:14px}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:transparent;flex-shrink:0;transition:background .2s,transform .2s}.icon-button:hover{background:#252d44;transform:translateY(-1px)}.icon-button svg{width:20px;height:20px}.site-header>.icon-button{margin-left:-40px}main{max-width:1536px;padding:0 5%;margin:auto}.welcome{display:flex;align-items:center;justify-content:space-between;padding:41px 0 29px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:var(--muted);margin:0 0 12px;line-height:1.5}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(34px,3.55vw,54px);letter-spacing:-2px;margin:0;line-height:1.1;font-weight:800}.lavender{color:var(--purple)}.shuffle-button{border:1px solid #333e5d;background:none;border-radius:40px;padding:14px 21px;display:flex;gap:10px;align-items:center;font-size:14px;font-weight:650;transition:.2s}.shuffle-button svg{width:19px;height:19px;color:var(--purple)}.shuffle-button:hover{background:#1e2436;border-color:var(--purple);transform:translateY(-2px)}.featured-grid{display:grid;grid-template-columns:1.96fr 1fr;gap:20px}.hero-game{border-radius:var(--radius);overflow:hidden;min-height:435px;position:relative;background:#2d3651;isolation:isolate}.hero-art,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-art{object-position:65% 50%;transition:transform .8s ease}.hero-game:hover .hero-art{transform:scale(1.025)}.hero-shade{background:linear-gradient(90deg,rgba(23,11,48,.88),rgba(34,17,57,.34) 52%,rgba(36,13,68,0)),linear-gradient(0deg,rgba(25,13,47,.28),transparent 35%)}.hero-content{position:relative;padding:32px 36px 38px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;min-height:435px}.feature-label{border:1px solid #ffffff3c;border-radius:30px;padding:7px 10px;letter-spacing:1px;font-size:12px;font-weight:700;background:#ffffff09;color:#e5e9f6;display:flex;align-items:center;gap:6px}.tiny-star{font-size:15px;color:var(--lime)}.hero-content h2{font-size:clamp(46px,5.1vw,77px);line-height:.92;font-weight:900;letter-spacing:-3px;margin:25px 0 18px;font-family:Arial,"Segoe UI",sans-serif}.hero-content h2 span{color:var(--lime)}.hero-content p{font-size:16px;line-height:1.55;margin:0;color:#dbe1f3}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:25px}.play-primary{background:var(--lime);color:#202715;border-radius:11px;font-size:15px;padding:14px 20px;font-weight:750;display:inline-flex;justify-content:center;align-items:center;gap:24px;box-shadow:0 0 0 transparent;transition:background .2s,transform .2s,box-shadow .2s;min-height:49px}.play-primary:hover{background:#bec9e9;transform:translateY(-2px);box-shadow:0 5px 25px #9aa6c71c}.play-primary svg{width:18px;height:18px;fill:currentColor;stroke:none}.hero-actions>span{font-size:13px;color:#cbd4ee;display:flex;align-items:center;gap:7px}.hero-actions i{width:3px;height:3px;border-radius:50%;background:#cbd4ee}.hero-edition{position:absolute;right:23px;bottom:23px;font-size:12px;letter-spacing:1px;z-index:2;color:#f8f9fc9f}.hero-edition>span{display:block;font-size:12px;letter-spacing:1px;margin-top:5px}.side-features{display:grid;grid-template-rows:1fr 1fr;gap:20px}.side-game{position:relative;isolation:isolate;text-align:left;overflow:hidden;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;padding:22px 25px;background:#252d42;min-height:204px}.side-art,.side-shade{position:absolute;inset:0;z-index:-2;transition:transform .6s}.side-art{background-repeat:no-repeat;background-size:200% 200%}.art-pong{background-image:url('/assets/arcade.webp');background-position:0 100%}.art-pulse{background-image:url('/assets/ingenio.webp');background-position:0 100%}.side-game:hover .side-art{transform:scale(1.045)}.side-shade{z-index:-1;background:linear-gradient(0deg,rgba(12,12,30,.88),rgba(17,12,30,0) 75%)}.side-top{display:flex;align-items:center;justify-content:space-between}.pill{font-size:12px;letter-spacing:1px;font-weight:800;display:inline-flex;padding:6px 9px;border-radius:5px;line-height:1.25}.pill-lime{background:var(--lime);color:#243319}.pill-glass{background:#ffffff20;border:1px solid #ffffff33;backdrop-filter:blur(10px)}.diagonal-arrow{font-size:21px;background:#0e111925;border:1px solid #ffffff3c;border-radius:50%;width:31px;height:31px;text-align:center;line-height:28px}.side-copy{display:flex;flex-direction:column;gap:5px}.side-copy strong{font-size:27px;letter-spacing:-.8px;line-height:1.1}.side-copy>span{font-size:14px;color:#d6def2}.benefits{display:flex;align-items:center;gap:27px;border-bottom:1px solid var(--line);padding:24px 0;color:#99abdd;font-size:13px;line-height:1.4}.benefits>span{display:flex;align-items:center;gap:8px}.benefits svg{width:17px;height:17px;color:var(--purple);stroke-width:1.5}.benefits .benefit-last{margin-left:auto;color:#6577aa;font-size:12px}.benefit-last span{font-size:20px;margin-left:7px;color:var(--purple)}.catalog{padding:44px 0 0;scroll-margin-top:25px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.catalog-heading .eyebrow{font-size:12px;letter-spacing:1.2px;margin-bottom:9px}.catalog-heading h2{font-size:32px;letter-spacing:-1.1px;line-height:1.2;margin:0}.search-box{background:#161a27;border:1px solid #273048;border-radius:10px;display:flex;align-items:center;padding:0 12px;gap:10px;min-height:45px;width:295px}.search-box svg{width:18px;height:18px;color:var(--muted)}.search-box input{background:transparent;border:0;outline:none;color:var(--ink);min-width:0;width:100%;font-size:14px;height:44px}.search-box:focus-within{border-color:var(--purple);outline:2px solid #b8c5e82b}.search-box input:focus-visible{outline:none}.search-box input::placeholder{color:#8291ba}.search-box>span{border:1px solid #323d5c;border-radius:4px;padding:0 6px;font-size:13px;color:#7686b3}.catalog-tools{display:flex;justify-content:space-between;align-items:center;padding:25px 0 22px;gap:15px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.3;padding:10px 16px;border-radius:30px;border:1px solid var(--line);background:transparent;color:#95a7dc;white-space:nowrap;transition:.18s}.filter.active{color:#181d2b;background:var(--purple);border-color:var(--purple);font-weight:650}.filter:not(.active):hover{border-color:var(--purple);color:white}.filter>span{font-size:12px;border-radius:20px;background:#20273b26;padding:1px 5px}.filter svg{width:16px;height:16px}.catalog-count{font-size:12px;color:#7687b4}.games-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 19px}.game-card{display:block;background:none;padding:0;text-align:left;width:100%;min-width:0;border-radius:14px}.card-art{display:block;position:relative;width:100%;aspect-ratio:1.56;border-radius:14px;overflow:hidden;background:#1c2233;border:1px solid #ffffff08}.card-image{position:absolute;inset:0;background-size:200% 200%;transition:transform .5s ease;background-repeat:no-repeat}.art-orbit{background-image:url('/assets/orbita.webp');background-size:cover;background-position:72% 50%}.art-snake{background-image:url('/assets/arcade.webp');background-position:0 0}.art-breakout{background-image:url('/assets/arcade.webp');background-position:100% 0}.art-fusion{background-image:url('/assets/arcade.webp');background-position:100% 100%}.art-memory{background-image:url('/assets/ingenio.webp');background-position:0 0}.art-mines{background-image:url('/assets/ingenio.webp');background-position:100% 0}.card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b0d1335,transparent 60%);pointer-events:none}.card-time{position:absolute;top:11px;left:11px;z-index:1;background:#0e111a85;backdrop-filter:blur(8px);padding:4px 7px;border:1px solid #ffffff1c;border-radius:5px;color:#eef1f9;font-size:12px}.card-player{position:absolute;top:11px;right:11px;z-index:1;color:#fdfcfc;font-size:12px;background:#0e111a85;backdrop-filter:blur(8px);border:1px solid #ffffff1c;border-radius:5px;padding:4px 7px}.card-player.is-duo{background:var(--lime);color:#22321c}.card-play{position:absolute;bottom:13px;right:13px;width:38px;height:38px;background:var(--ink);color:#1d2335;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:0;transform:translateY(7px);transition:.25s;z-index:2;padding-left:2px}.game-card:hover .card-image,.game-card:focus-visible .card-image{transform:scale(1.055)}.game-card:hover .card-play,.game-card:focus-visible .card-play{opacity:1;transform:translateY(0)}.card-title{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:700;letter-spacing:-.35px;padding:13px 1px 0;gap:8px;line-height:1.4}.card-title>span{font-size:17px;color:#546698;transition:.2s}.game-card:hover .card-title>span{color:var(--purple);transform:translate(2px,-2px)}.card-description{display:block;margin:4px 0 0;font-size:13px;color:#919ec2;line-height:1.5}.card-category{display:block;font-size:12px;letter-spacing:.4px;color:#586ba0;margin-top:9px}.last-call{margin:55px 0 38px;padding:31px 35px;border:1px solid #2d3753;border-radius:17px;background:linear-gradient(110deg,#1c2334,#151a27 67%);display:flex;align-items:center;gap:28px;overflow:hidden}.last-asterisk{font-size:95px;color:var(--purple);line-height:1}.last-call h2{font-size:25px;letter-spacing:-.7px;line-height:1.1;margin:0}.last-call h2 br{display:none}.last-call p{font-size:14px;color:#8da1d9;margin:8px 0 0}.last-call button{margin-left:auto;background:transparent;border:1px solid #536597;border-radius:30px;padding:13px 19px;display:flex;align-items:center;gap:21px;font-size:14px}.last-call button:hover{background:var(--purple);color:#1c2334;border-color:var(--purple)}.last-call button>span{font-size:22px;line-height:1}footer{max-width:1536px;margin:auto;padding:25px 5% 37px;display:flex;align-items:center;gap:22px;border-top:1px solid var(--line)}footer .brand{font-size:33px}footer p{font-size:13px;color:#7384b2}footer>span{margin-left:auto;font-size:12px;color:#56699d;letter-spacing:1.1px}.empty-state{text-align:center;padding:60px 20px;background:var(--surface);border-radius:15px}.empty-state>span{font-size:50px;color:var(--purple)}.empty-state h3{margin:8px 0;font-size:23px}.empty-state p{font-size:16px;color:var(--muted)}.empty-state .play-primary{margin-top:10px}
/* The arcade cabinet */
#game-dialog{border:1px solid #384466;border-radius:22px;padding:0;background:#11141e;color:var(--ink);width:min(1030px,96vw);max-width:1030px;max-height:96dvh;overflow:auto;box-shadow:0 25px 130px #000b}#game-dialog::backdrop{background:#080a0fde;backdrop-filter:blur(14px)}body:has(#game-dialog[open]){overflow:hidden}.game-shell{width:100%;background:#11141e}.game-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;gap:12px;border-bottom:1px solid var(--line)}.game-heading{display:flex;align-items:center;gap:13px}.game-mark{font-size:37px;color:var(--purple);line-height:1}.game-heading p{font-size:12px;letter-spacing:1.5px;color:var(--muted);margin:0 0 4px}.game-heading h2{font-size:21px;letter-spacing:-.5px;margin:0}.game-controls{display:flex;gap:8px}.game-controls .icon-button{width:35px;height:35px}.game-controls .icon-button svg{width:17px;height:17px}.close-game{margin-left:7px;background:#21283c}.game-hud{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 24px;font-size:13px;color:#99a5c7;min-height:44px;font-variant-numeric:tabular-nums}.game-hud span:first-child{color:var(--lime);font-weight:600}.game-viewport{aspect-ratio:8/5;position:relative;overflow:hidden;background:#0c0f16;isolation:isolate;max-height:66dvh;min-height:310px;display:flex;justify-content:center;align-items:center}.game-viewport canvas{display:block;width:100%;height:100%;object-fit:contain;touch-action:none;max-height:66dvh}.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 10%,#2e3853cc,#10131cf8 76%);padding:25px 28px;text-align:center;z-index:2;overflow:auto}.overlay-icon{font-size:55px;line-height:1;color:var(--purple);margin:0 0 15px}.game-overlay .eyebrow{font-size:12px}.game-overlay h3{font-size:clamp(27px,4vw,43px);letter-spacing:-1.3px;margin:0 0 12px;line-height:1.1}.game-overlay>p:not(.eyebrow){font-size:16px;line-height:1.6;color:#a5b5e1;max-width:490px;margin:0}.instructions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:13px;color:#adbce4;margin:20px 0}.instructions kbd{border:1px solid #45547e;min-width:30px;text-align:center;display:inline-block;border-radius:5px;padding:5px 7px;margin:0 4px 0 0;font:inherit;color:var(--ink);box-shadow:0 2px 0 #273048;background:#21293d}.mode-choices{display:flex;gap:7px;margin-top:20px;background:#0e111a;border:1px solid #2c3650;padding:4px;border-radius:10px}.mode-button{background:transparent;padding:9px 12px;border-radius:6px;font-size:13px;color:#a2b3e0}.mode-button.selected{background:#3d4a6f;color:#fff}.game-overlay>.play-primary{min-width:200px}.quiet-button{background:none;color:#9bacde;font-size:13px;margin-top:14px;padding:6px}.quiet-button:hover{color:#fff}.game-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:15px}.game-bottom p{font-size:12px;color:#8da1d9;margin:0;line-height:1.4}.text-button{background:transparent;font-size:13px;color:#d2daf0;white-space:nowrap;padding:8px;border-radius:6px}.text-button:hover{background:#273048}.touch-controls{display:none;gap:10px;justify-content:center;padding:0 18px 15px}.touch-controls button{width:48px;height:44px;background:#273048;border:1px solid #435179;border-radius:9px;font-size:19px;touch-action:none}.touch-controls .action-touch{width:auto;min-width:110px;padding:0 15px;font-size:14px;color:var(--lime)}.touch-controls .touch-note{font-size:13px;text-align:center;margin:5px;color:var(--muted)}
/* HTML board games, playable with a keyboard too */
#board-game{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:14px;touch-action:none}.fusion-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#1f2639;border:1px solid #384465;padding:10px;border-radius:14px;width:min(440px,90%);aspect-ratio:1;max-height:100%}.fusion-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;background:#283048;color:#1c2233;font-size:clamp(20px,3.5vw,39px);font-weight:800;transition:background .12s;letter-spacing:-1px}.fusion-cell.pop{animation:tile-pop .15s ease}.memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:min(590px,94%);height:94%;max-height:470px}.memory-cell{border:1px solid #404d73;background:linear-gradient(145deg,#2c3650,#1a2030);border-radius:12px;color:#8ea2d9;font-size:30px;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s;min-height:0;padding:0}.memory-cell:hover{border-color:var(--purple);transform:translateY(-2px)}.memory-cell.flipped{background:#aab9e2;color:#232a3f;transform:rotateY(0)}.memory-cell.matched{background:#344738;border-color:#638251;color:var(--lime)}.mines-wrap{height:100%;width:100%;display:flex;align-items:center;justify-content:center;gap:22px}.mines-board{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;width:min(440px,90%);aspect-ratio:1;max-height:100%}.mine-cell{background:#252d42;border:1px solid #3d4b70;border-radius:5px;font-weight:700;font-size:18px;min-width:0;min-height:0;padding:0;aspect-ratio:1}.mine-cell:hover{background:#313b58}.mine-cell.revealed{background:#111520;border-color:#1d2335}.mine-cell.exploded{background:#682940;color:#ff859d}.mines-options{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.flag-toggle{font-size:13px;padding:12px 15px;background:#242b40;border:1px solid #3d4b70;border-radius:8px}.flag-toggle.active{background:var(--lime);color:#26321b}.mines-options p{font-size:12px;color:var(--muted);line-height:1.7;max-width:130px;margin:0}.game-viewport:has(.fusion-board),.game-viewport:has(.memory-board),.game-viewport:has(.mines-board){background:radial-gradient(ellipse at top,#1a1f2e,#0d1019 70%)}
@keyframes tile-pop{from{transform:scale(.86)}to{transform:scale(1)}}
@media(min-width:1600px){.hero-game,.hero-content{min-height:470px}.hero-content h2{font-size:83px}.hero-content{padding:38px 42px}.hero-actions{margin-top:30px}.side-copy strong{font-size:31px}}
@media(max-width:1150px){.site-header{gap:35px}.site-header>.icon-button{margin-left:-18px}.header-note{font-size:12px}.featured-grid{grid-template-columns:1.7fr 1fr}.hero-content{padding:29px}.hero-game,.hero-content{min-height:420px}.hero-content h2{font-size:65px}.hero-edition{display:none}.side-copy strong{font-size:25px}.benefits{gap:22px}.benefits .benefit-last{display:none}.games-grid{gap:26px 16px}.card-title{font-size:17px}.last-call{gap:20px}.last-call h2{font-size:23px}}
@media(max-width:850px){.header-note{display:none}.site-header>.icon-button{margin-left:auto}.site-header{height:84px}.brand{font-size:38px}.brand svg{width:28px;height:28px}.welcome{padding-top:32px}.welcome h1{font-size:39px}.welcome .eyebrow{font-size:12px}.featured-grid{gap:15px;grid-template-columns:1.45fr 1fr}.side-features{gap:15px}.hero-content h2{font-size:58px}.hero-content{padding:24px}.hero-game,.hero-content{min-height:420px}.feature-label{font-size:12px;padding:6px 8px;letter-spacing:.6px}.hero-actions{gap:10px}.hero-actions>span{font-size:12px}.hero-actions .play-primary{padding:13px 14px;gap:13px}.side-game{padding:19px;min-height:180px}.side-copy strong{font-size:23px}.side-copy>span{font-size:12px}.benefits{font-size:12px;gap:20px;justify-content:space-between}.catalog-heading h2{font-size:28px}.search-box{width:250px}.catalog-count{display:none}.games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.last-call{padding:25px}.last-asterisk{font-size:70px}.last-call h2 br{display:block}.last-call p{max-width:290px;line-height:1.5}.last-call button{max-width:160px;text-align:left}.game-overlay{padding:20px}.overlay-icon{font-size:40px;margin-bottom:10px}.instructions{margin:16px 0}.game-overlay h3{font-size:32px}}
@media(max-width:600px){.site-header{padding:0 5%;height:76px;gap:25px}.brand{font-size:35px;gap:8px}.brand svg{width:25px;height:25px}.main-nav{gap:20px;font-size:13px}.site-header>.icon-button{width:34px;height:34px}.site-header>.icon-button svg{width:16px;height:16px}.welcome{padding:30px 0 22px;align-items:flex-end;gap:10px}.welcome h1{font-size:32px;letter-spacing:-1.4px}.welcome .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:9px}.shuffle-button{padding:10px;font-size:0;gap:0;width:40px;height:40px;justify-content:center}.shuffle-button svg{width:20px;height:20px}.featured-grid{grid-template-columns:1fr;gap:13px}.hero-game,.hero-content{min-height:373px}.hero-content{padding:26px}.hero-content h2{font-size:62px;margin-top:24px;margin-bottom:16px}.hero-content p{font-size:14px;line-height:1.5}.hero-art{object-position:63% 50%}.hero-shade{background:linear-gradient(90deg,#161a27db,#171c2950 70%,transparent)}.hero-actions{margin-top:23px;gap:15px}.hero-actions .play-primary{padding:13px 16px;font-size:14px}.hero-actions>span{font-size:12px}.feature-label{font-size:12px}.side-features{grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:13px}.side-game{min-height:182px;padding:14px;border-radius:15px}.side-copy strong{font-size:21px;line-height:1.05;letter-spacing:-.5px}.side-copy>span{font-size:12px;line-height:1.4}.pill{font-size:12px;letter-spacing:.5px;padding:5px 6px}.diagonal-arrow{display:none}.benefits{padding:19px 0;font-size:12px;gap:15px;flex-wrap:wrap;justify-content:center}.benefits svg{width:15px;height:15px}.benefits>span{gap:5px}.benefits>span:nth-child(3){display:none}.catalog{padding-top:30px}.catalog-heading{flex-direction:column;align-items:stretch;gap:19px}.catalog-heading h2{font-size:28px}.catalog-heading .eyebrow{font-size:12px}.search-box{width:100%}.catalog-tools{padding:18px 0;overflow:visible}.filters{gap:6px}.filter{font-size:12px;padding:8px 11px;gap:5px}.filter svg{width:14px;height:14px}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 13px}.card-art{aspect-ratio:1.1;border-radius:12px}.card-title{font-size:16px;padding-top:10px;line-height:1.2}.card-title>span{font-size:15px}.card-description{font-size:12px;line-height:1.45;margin-top:6px}.card-category{font-size:12px;margin-top:7px}.card-time,.card-player{font-size:12px;padding:3px 5px;top:8px}.card-time{left:8px}.card-player{right:8px}.card-play{opacity:1;transform:none;width:28px;height:28px;font-size:12px;bottom:10px;right:10px;background:#ecf0f9c7}.last-call{margin:35px 0 25px;padding:22px;flex-wrap:wrap;gap:14px}.last-asterisk{font-size:59px}.last-call>div{flex:1}.last-call h2{font-size:21px}.last-call p{font-size:12px;line-height:1.5}.last-call button{margin-left:73px;max-width:100%;font-size:13px;padding:10px 16px}footer{padding-top:22px;padding-bottom:28px;gap:15px;flex-wrap:wrap}footer p{font-size:12px}footer>span{font-size:12px;margin-left:0;width:100%}.game-header{padding:14px;gap:8px}.game-mark{display:none}.game-heading h2{font-size:18px}.game-heading p{font-size:12px}.game-controls{gap:5px}.game-controls .icon-button{width:31px;height:31px}.game-controls .icon-button svg{width:15px;height:15px}.close-game{margin-left:0}.game-hud{padding:11px 14px;font-size:12px}.game-viewport{aspect-ratio:4/5;max-height:61dvh;min-height:320px}.game-viewport canvas{height:100%;object-fit:contain}.game-overlay{padding:20px 17px}.game-overlay h3{font-size:29px}.game-overlay>p:not(.eyebrow){font-size:14px;line-height:1.5;max-width:330px}.game-overlay .eyebrow{font-size:12px}.overlay-icon{font-size:35px;margin-bottom:15px}.instructions{font-size:12px;gap:7px;margin:17px 0;line-height:1.5}.instructions kbd{min-width:23px;padding:3px 6px}.game-overlay>.play-primary{min-height:45px;padding:12px 16px;font-size:14px}.mode-choices{margin-top:16px;gap:4px}.mode-button{font-size:12px;padding:8px}.game-bottom{padding:9px 14px;gap:8px}.game-bottom p{font-size:12px;max-width:75%}.text-button{font-size:12px}.memory-board{gap:8px;height:90%;width:100%}.memory-cell{border-radius:9px;font-size:25px}.fusion-board{width:96%;gap:8px;padding:8px}.fusion-cell{font-size:29px}.mines-wrap{flex-direction:column;gap:10px}.mines-board{width:min(100%,310px);gap:3px;max-height:80%}.mine-cell{font-size:15px}.mines-options{flex-direction:row;align-items:center;gap:12px}.flag-toggle{font-size:12px;padding:8px 10px}.mines-options p{font-size:12px;line-height:1.3;max-width:190px}#game-dialog{border-radius:16px;width:97vw;max-height:98dvh}.quiet-button{margin-top:8px}}
@media(pointer:coarse){.touch-controls:not([hidden]){display:flex}.card-play{opacity:1;transform:none}.game-viewport{max-height:58dvh}}
@media(max-width:370px){.main-nav{gap:14px}.site-header{gap:18px}.brand{font-size:31px}.brand svg{width:22px;height:22px}.site-header>.icon-button{display:none}.hero-content h2{font-size:56px}.filter{padding:8px 9px;font-size:12px}.side-copy strong{font-size:19px}.game-controls .icon-button{width:29px;height:29px}.game-heading h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Readable labels and proportionate illustration crops. */
.card-description,.side-copy>span,.search-box input,.filter,.mode-button,.game-bottom p,.text-button,.instructions,.quiet-button,.mines-options p,.flag-toggle{font-size:.875rem}
.card-category{color:#95a2c5}.benefits .benefit-last,footer>span{color:#8a98bf}
/* Only atlas covers need their background replaced by a cropped pseudo-element. */
.side-art:where(.art-snake,.art-breakout,.art-pong,.art-fusion,.art-memory,.art-mines,.art-pulse),.card-image:where(.art-snake,.art-breakout,.art-pong,.art-fusion,.art-memory,.art-mines,.art-pulse){background-image:none}
.art-snake{--asset:url('/assets/arcade.webp');--x:0%;--y:-25%}.art-breakout{--asset:url('/assets/arcade.webp');--x:-100%;--y:-25%}.art-pong{--asset:url('/assets/arcade.webp');--x:0%;--y:-75%}.art-fusion{--asset:url('/assets/arcade.webp');--x:-100%;--y:-75%}
.art-memory{--asset:url('/assets/ingenio.webp');--x:0%;--y:-25%}.art-mines{--asset:url('/assets/ingenio.webp');--x:-100%;--y:-25%}.art-pulse{--asset:url('/assets/ingenio.webp');--x:0%;--y:-75%}
.card-image:where(.art-snake,.art-breakout,.art-pong,.art-fusion,.art-memory,.art-mines,.art-pulse,.art-rally,.art-fugaz,.art-chispa):before,.side-art:where(.art-snake,.art-breakout,.art-pong,.art-fusion,.art-memory,.art-mines,.art-pulse):before{content:"";position:absolute;width:200%;aspect-ratio:1;left:var(--x);top:50%;transform:translateY(var(--y));background-image:var(--asset);background-size:100% 100%;background-repeat:no-repeat}
.game-overlay{justify-content:safe center}.game-hud{font-size:.875rem}.game-bottom{align-items:flex-start}.game-bottom p{line-height:1.5}
@media(max-width:600px){.hero-game,.hero-content{min-height:388px}.side-game{min-height:210px}.side-copy>span{font-size:.875rem;line-height:1.4}.pill{letter-spacing:.2px;font-size:12px}.side-top{align-items:flex-start}.welcome .eyebrow{font-size:12px;max-width:255px}.filter{padding:8px 12px}.card-category{font-size:12px}.game-hud{font-size:12px;flex-wrap:wrap}.game-overlay .eyebrow{font-size:12px}.instructions{font-size:14px}.mines-options p{font-size:12px}.mines-options{gap:8px}.mines-board{max-height:78%}.game-viewport:has(.mines-board){min-height:380px}.last-call button{margin-left:0}.side-copy strong{font-size:23px}.header-note{display:none}}
@media(max-width:420px){.pill{font-size:12px;max-width:125px;line-height:1.35}.side-game{padding:12px}.side-copy strong{font-size:21px}.hero-content{padding:23px}.game-viewport:has(.mines-board){min-height:355px}}

/* Keep the live canvas isolated from catalog and HUD repaints. */
.game-viewport{contain:layout paint}.game-hud{contain:layout paint}
.game-running #game-dialog::backdrop{backdrop-filter:none;background:#080a0ff2}
.game-running #game-dialog{box-shadow:0 20px 70px #0009}

.mine-cell.detonated{position:relative;z-index:1;background:#b33250;color:#fff;border-color:#ffb1bc;box-shadow:0 0 0 2px #ff8fa7,0 0 22px #ff607777;animation:mine-impact .4s ease-out}
@keyframes mine-impact{0%{transform:scale(1)}40%{transform:scale(1.15)}100%{transform:scale(1)}}

/* A shared table for the online arcade. */

.multiplayer-panel{padding:38px 0 6px;scroll-margin-top:20px}.rooms-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.rooms-heading h2{margin:0;font-size:32px;letter-spacing:-1.1px;line-height:1.2}.rooms-heading .eyebrow{margin-bottom:9px}.room-badge{border:1px solid #3e4b70;color:#c7d1ec;background:#1b2132;border-radius:30px;font-size:.875rem;padding:9px 13px;white-space:nowrap}
.room-entry{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #384465;border-radius:20px;overflow:hidden;background:#151a26}.room-intro{padding:38px;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:radial-gradient(ellipse at 10% 10%,#35405f99,transparent 75%)}.room-game-symbol{font-size:65px;color:var(--lime);line-height:1;margin:0 0 24px}.room-intro .eyebrow{color:#95a8dc}.room-intro h3{font-size:34px;letter-spacing:-1.1px;line-height:1.1;margin:0 0 14px}.room-intro>p:not(.eyebrow){color:#a8b7e2;font-size:1rem;line-height:1.65;margin:0}.room-meta{display:block;color:#8ca1d9;font-size:.875rem;margin-top:28px;line-height:1.6}.room-form{padding:32px 38px;border-left:1px solid #323d5a;display:flex;flex-direction:column;gap:10px;background:#10141e}.room-form label{font-size:.875rem;color:#dce3f3;font-weight:600}.room-form input{border:1px solid #3d4b70;background:#1a1f2e;color:var(--ink);border-radius:9px;padding:13px 14px;width:100%;min-width:0;font-size:1rem}.room-form input::placeholder{color:#8b99bf}.room-form>.play-primary{width:100%;margin-top:4px;justify-content:space-between}.room-form-divider{position:relative;text-align:center;margin:10px 0;color:#91a5da;font-size:.875rem;display:flex;gap:12px;align-items:center}.room-form-divider:before,.room-form-divider:after{content:"";height:1px;background:#2c3650;flex:1}.room-form-divider span{flex-shrink:0}.room-join-row{display:flex;gap:10px}.room-join-row input{letter-spacing:3px;font-weight:650;text-transform:uppercase}.room-secondary{border:1px solid #4c5d8b;background:#252d43;border-radius:9px;padding:12px 18px;line-height:1.4;font-size:.9375rem;font-weight:650}.room-secondary:hover{border-color:var(--purple);background:#313c59}.room-secondary[aria-pressed=true]{border-color:var(--lime);color:var(--lime);background:#2c3525}.room-help{font-size:.875rem;line-height:1.5;color:#91a5da;margin:5px 0 0}.multiplayer-panel button:disabled{opacity:.45;transform:none;box-shadow:none}.room-message{font-size:.9375rem;line-height:1.6;padding:13px 17px;border-radius:10px;background:#293623;color:#c2cceb;border:1px solid #52633f;margin:14px 0 0}.room-message.is-error{background:#3b2031;color:#ffcad4;border-color:#804452}
.room-active{border:1px solid #3a4669;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 310px;background:#121620}.room-stage{padding:26px 32px;min-height:500px;background:radial-gradient(ellipse at 40% 0%,#2c365066,transparent 70%);display:flex;flex-direction:column}.room-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9ca8c8;font-size:.8125rem;letter-spacing:.8px}.room-stage-heading span:last-child{color:var(--lime);font-size:.875rem;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}.room-stage-copy{margin:34px 0 24px;text-align:center}.room-stage-copy .eyebrow{color:var(--purple);font-size:.8125rem;letter-spacing:1.6px}.room-stage-copy h3{font-size:clamp(26px,3.2vw,39px);letter-spacing:-1.1px;line-height:1.15;margin:0 0 12px}.room-stage-copy>p:last-child{font-size:1rem;color:#a0b1e0;line-height:1.6;margin:0 auto;max-width:470px}.room-seats{display:flex;justify-content:center;gap:18px;margin:22px 0 38px}.room-seat{width:76px;height:90px;border:1px dashed #495986;background:#181e2d;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:29px;color:#687aac}.room-seat.is-occupied{border:1px solid #96a9dc;background:#4e5f8e;color:#f9fafd;box-shadow:0 10px 30px #07090e40}.room-seat.is-occupied[data-color="1"]{background:#3c6564;border-color:#90ccc2}.room-seat.is-occupied[data-color="2"]{background:#704352;border-color:#e4a3b6}.room-seat.is-occupied[data-color="3"]{background:#3e4c72;border-color:#99abdd}.room-turn-note{font-size:.875rem;text-align:center;color:#8ea2d9;margin:20px 0 0;font-variant-numeric:tabular-nums}.room-sidebar{padding:27px 23px;border-left:1px solid #2e3854;background:#151925;display:flex;flex-direction:column}.room-invite .eyebrow{font-size:.8125rem;letter-spacing:1px}.room-share-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:10px 0}.room-share-row>strong{font-size:30px;font-weight:750;letter-spacing:3px;font-variant-numeric:tabular-nums;color:var(--lime)}#room-connection{font-size:.8125rem;line-height:1.5;color:#90a4da;margin:12px 0 24px}#room-connection[data-state="offline"]{color:#ffb1be}.room-roster-heading{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:#90a4da}.room-roster-heading h4{font-size:.9375rem;font-weight:600;color:#e9edf8;margin:0}.room-players{padding:0;list-style:none;margin:12px 0 24px;display:flex;flex-direction:column;gap:5px}.room-players li{display:flex;align-items:center;gap:10px;padding:10px 0;border-radius:8px}.room-players li.is-turn{background:#b8c5e810}.room-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:38px;border:1px solid #7484b2;border-radius:8px;flex-shrink:0;background:#3a476a;color:#eaeef8;font-size:1rem;font-weight:650}.room-avatar[data-color="1"]{background:#284847;border-color:#558e85}.room-avatar[data-color="2"]{background:#573340;border-color:#976278}.room-avatar[data-color="3"]{background:#2d3752;border-color:#526496}.room-player-name{display:flex;flex-direction:column;gap:4px;min-width:0}.room-player-name strong{font-size:.875rem;font-weight:600;overflow-wrap:anywhere;line-height:1.4}.room-player-name>span{font-size:.75rem;color:#8da1d9;line-height:1.4}.room-player-mark{font-size:.75rem;margin-left:auto;color:#8da1d9;white-space:nowrap}.room-player-mark.is-ready{color:var(--lime)}.room-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto}.room-actions .play-primary{gap:12px}.room-actions .room-help{font-size:.8125rem;text-align:center}.room-actions .quiet-button{margin:4px 0 0;min-height:38px}.online-memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;width:min(470px,100%);margin:0 auto}.online-memory-cell{aspect-ratio:1.1;border-radius:12px;border:1px solid #4e5f8e;background:linear-gradient(145deg,#333e5c,#20273a);font-size:clamp(26px,4vw,39px);color:#93a0c3;min-width:0;padding:0;transition:background .15s,transform .15s}.online-memory-cell:not(:disabled):hover{transform:translateY(-3px);border-color:#b7c4e7;background:#394668}.multiplayer-panel .online-memory-cell:disabled{opacity:1;cursor:default}.online-memory-cell.is-revealed{background:#a8b7e2;color:#22293d;border-color:#cfd8ef}.online-memory-cell.is-matched{background:#35462d;color:var(--lime);border-color:#849e5d}.room-stage:has(.online-memory-board:not([hidden])) .room-stage-copy{margin:24px 0 22px}.room-stage:has(.online-memory-board:not([hidden])) .room-stage-copy h3{font-size:29px}.room-stage:has(.online-memory-board:not([hidden])) .room-stage-copy>p:last-child{font-size:.875rem}
@media(max-width:1000px){.header-note{display:none}.site-header>.icon-button{margin-left:auto}.room-intro{padding:30px}.room-form{padding:28px}.room-active{grid-template-columns:minmax(0,1fr) 280px}.room-stage{padding:24px}.room-sidebar{padding:24px 18px}.room-share-row>strong{font-size:26px;letter-spacing:2px}.room-seats{gap:11px}.room-seat{width:60px;height:75px}}
@media(max-width:700px){.rooms-heading{align-items:flex-start;flex-direction:column;gap:14px}.rooms-heading h2{font-size:28px}.room-entry{grid-template-columns:1fr}.room-intro{padding:26px}.room-intro h3{font-size:29px}.room-game-symbol{font-size:45px;margin-bottom:18px}.room-meta{margin-top:18px}.room-form{border-left:0;border-top:1px solid #323d5a;padding:26px}.room-active{grid-template-columns:1fr}.room-sidebar{border-left:0;border-top:1px solid #323d5a;padding:24px}.room-stage{min-height:350px;padding:24px 20px}.room-stage-copy{margin-top:30px}.room-seats{gap:14px;margin:12px 0 20px}.room-seat{width:63px;height:79px}.room-share-row{justify-content:flex-start;gap:25px}.room-share-row>strong{font-size:30px}.room-players{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.room-player-mark{font-size:.75rem}.room-invite{position:relative}#room-connection{margin-bottom:24px}.online-memory-board{max-width:400px}.online-memory-cell{font-size:33px}.room-actions{display:grid;grid-template-columns:1fr 1fr}.room-actions .room-help,.room-actions .quiet-button{grid-column:1/-1}.room-actions .play-primary:only-of-type{grid-column:auto}}
@media(max-width:600px){.site-header{gap:18px}.main-nav{gap:16px}.multiplayer-panel{padding-top:30px}.room-badge{font-size:.8125rem;padding:8px 12px}.rooms-heading .eyebrow{font-size:.75rem}.room-intro>p:not(.eyebrow){font-size:.9375rem}.room-form{padding:22px}.room-players{grid-template-columns:1fr}.room-player-name>span,.room-player-mark{font-size:.8125rem}.room-stage:has(.online-memory-board:not([hidden])) .room-stage-copy h3{font-size:25px}.room-stage-heading{font-size:.75rem;letter-spacing:.3px}.room-stage-copy>p:last-child{font-size:.9375rem}.room-actions{display:flex}.online-memory-board{gap:9px}.room-seats{gap:10px}.room-seat{width:56px;height:71px}}

/* Multiplayer belongs to the game cabinet, alongside its other play modes. */
.mode-choices{width:min(450px,100%);background:none;border:0;padding:0;gap:10px;margin:20px 0 0;align-items:stretch}.mode-button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #475681;background:#191f2e;border-radius:11px;padding:13px 15px;color:#adbce4;line-height:1.4}.mode-button strong{font-size:.9375rem;font-weight:650}.mode-button>span{font-size:.8125rem;color:#98aadc}.mode-button.selected{background:#354161;border-color:#aebce4;color:#fff;box-shadow:inset 0 0 0 1px #aebce4}.mode-button.selected>span{color:#d3dbf0}.mode-button:hover{border-color:var(--purple)}
.multiplayer-panel{padding:0 22px 24px}.multiplayer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 16px}.multiplayer-toolbar>span{font-size:.875rem;color:#a6b6e1;line-height:1.4}.multiplayer-toolbar .text-button{font-size:.875rem;white-space:normal;text-align:left}.room-entry{display:block;width:min(520px,100%);margin:8px auto 12px;border:0;border-radius:0;background:none;overflow:visible}.room-entry-heading{text-align:center;margin:0 0 22px}.room-entry-heading h3{font-size:29px;letter-spacing:-.8px;line-height:1.2;margin:0 0 10px}.room-entry-heading p{font-size:1rem;color:#9daede;line-height:1.6;margin:0}.room-form{padding:24px;border:1px solid #384567;border-radius:14px;background:#141925}.room-form .room-help{margin-top:5px}.room-active{border-radius:14px}.room-stage{min-height:440px;padding:22px}.online-memory-board{width:min(350px,100%);gap:9px}.room-stage:has(.online-memory-board:not([hidden])) .room-stage-copy{margin:18px 0}.room-stage:has(.online-memory-board:not([hidden])) .room-stage-copy .eyebrow{margin-bottom:7px}.room-stage:has(.online-memory-board:not([hidden])) .room-stage-copy h3{font-size:27px;margin-bottom:8px}.room-turn-note{margin-top:16px}.room-sidebar{padding:22px 20px}.room-stage-heading{letter-spacing:.3px}
@media(max-width:700px){.multiplayer-panel{padding:0 16px 20px}.room-stage{min-height:330px;padding:22px 18px}.room-sidebar{padding:22px}.room-seats{margin-bottom:18px}.room-entry{margin-top:8px}.room-entry-heading h3{font-size:26px}}
@media(max-width:600px){.multiplayer-panel{padding:0 12px 16px}.multiplayer-toolbar{padding:9px 0 14px}.multiplayer-toolbar>span{font-size:.8125rem}.multiplayer-toolbar .text-button{font-size:.8125rem;padding:7px 4px}.room-form{padding:20px}.room-entry-heading{margin-bottom:18px}.room-entry-heading p{font-size:.9375rem}.room-stage-heading{flex-wrap:wrap}.room-stage:has(.online-memory-board:not([hidden])) .room-stage-copy h3{font-size:25px}.mode-choices{gap:8px;margin-top:16px}.mode-button{padding:11px 8px}.mode-button strong{font-size:.875rem}.mode-button>span{font-size:.75rem}.online-memory-board{width:min(350px,100%)}}

/* Micro Rally shares the arcade cabinet; the circuit is the main surface. */
.card-image.art-rally:before{width:100%;height:100%;aspect-ratio:auto;left:0;top:0;transform:none;background:url('/assets/rally.webp') 62% 50%/cover no-repeat}
.is-rally .game-viewport:not(:has(#game-overlay:not([hidden]))){aspect-ratio:8/5;min-height:0;max-height:none}
.is-rally .game-viewport:has(#game-overlay:not([hidden])){min-height:480px;max-height:none}
.rally-entry{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:2px 0 8px}.rally-preview{position:relative;isolation:isolate;overflow:hidden;border-radius:14px;min-height:440px;background:#1b2030}.rally-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 35%;z-index:-2}.rally-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#11141e 0%,#11141ebb 40%,transparent 90%);z-index:-1}.rally-preview>div{position:absolute;bottom:0;left:0;right:0;padding:28px}.rally-preview h3{font-size:clamp(29px,3.6vw,42px);line-height:1.02;letter-spacing:-1.5px;margin:16px 0}.rally-preview p{font-size:1rem;line-height:1.6;color:#becaea;max-width:330px}.rally-preview .eyebrow{font-size:.8125rem;color:var(--lime)}.rally-next{display:inline-block;background:#a3b4e014;border:1px solid #a3b4e055;border-radius:7px;color:var(--lime);font-size:.875rem;padding:8px 11px;margin-top:8px}.rally-entry .room-form{padding:25px;border:1px solid #3c496e;gap:11px}.rally-entry .play-primary{font-size:.9375rem;line-height:1.5;gap:10px}.rally-entry .room-help{font-size:.875rem;line-height:1.6;margin-top:9px}.rally-entry .room-join-row input{letter-spacing:2px}
.rally-session{border:1px solid #3b486b;border-radius:14px;overflow:hidden;background:#121620}.rally-room-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 19px;background:#191f2e;border-bottom:1px solid #313c59;font-size:.875rem;color:#a2b3e0}.rally-room-bar>span:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rally-room-bar strong{color:var(--lime);font-size:1.125rem;letter-spacing:2px}.rally-room-bar .text-button{font-size:.875rem;padding:5px 0;color:#c2cdeb}#rally-connection{font-size:.875rem;white-space:nowrap}#rally-connection[data-state=offline]{color:#adbce4}.rally-wait{position:relative;isolation:isolate;min-height:285px;display:flex;align-items:flex-end;padding:30px}.rally-wait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 45%;z-index:-2;opacity:.55}.rally-wait:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111520fa,#11152099 65%,#11152055)}.rally-wait h3{font-size:clamp(32px,4.5vw,51px);font-variant-numeric:tabular-nums;letter-spacing:-1.5px;line-height:1.1;margin:14px 0}.rally-wait .eyebrow{color:var(--lime);font-size:.8125rem}.rally-wait p:last-child{color:#c4cfec;font-size:1rem;line-height:1.6;max-width:400px;margin:0}.rally-grid{list-style:none;padding:18px;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rally-grid li{padding:12px 10px;border:1px dashed #394567;border-radius:10px;display:flex;align-items:center;gap:11px;min-width:0;background:#161b29}.rally-grid .is-occupied{border-style:solid;border-color:#44537c}.rally-grid .is-self{border-color:var(--car-color);background:#a3b4e00a}.rally-car-number{font-size:1.375rem;font-weight:800;letter-spacing:-1px;color:var(--car-color);font-variant-numeric:tabular-nums;flex-shrink:0}.rally-grid li>div{min-width:0;display:flex;flex-direction:column;gap:5px}.rally-grid strong{font-size:.875rem;overflow-wrap:anywhere;line-height:1.4}.rally-grid li>div>span{font-size:.8125rem;color:#9fb0df;line-height:1.3}.rally-session-bottom{display:flex;align-items:center;justify-content:flex-end;padding:0 18px 16px;gap:20px}.rally-session-bottom p{font-size:.875rem;color:#9aacdd;line-height:1.5;margin:0;max-width:450px}.rally-session-bottom .quiet-button{font-size:.875rem;white-space:nowrap;margin:0;min-height:40px}
.rally-hud{display:flex;align-items:center;gap:20px;padding:12px 20px;border-bottom:1px solid #3e4b70;background:#1f2639;font-size:.875rem;font-variant-numeric:tabular-nums}.rally-hud>strong{color:var(--lime);font-size:1rem}.rally-hud>label{display:flex;align-items:center;gap:8px;margin-left:auto;color:#b0bee5}.rally-hud meter{width:75px;height:12px;accent-color:var(--lime)}.rally-hud meter::-webkit-meter-bar{background:#2e3854;border:0;border-radius:5px}.rally-hud meter::-webkit-meter-optimum-value{background:var(--lime);border-radius:5px}#rally-canvas{display:block;width:100%;height:auto;aspect-ratio:8/5;outline-offset:-3px;touch-action:none;contain:layout paint}.rally-driving-help{font-size:.875rem;line-height:1.6;color:#a4b4e1;text-align:center;margin:0;padding:9px 16px;border-bottom:1px solid #2f3955}.rally-touch{display:none;padding:12px;gap:8px;justify-content:center;border-top:1px solid #303a57}.rally-touch button{min-width:44px;min-height:46px;padding:8px 12px;border:1px solid #55679a;border-radius:8px;background:#2b354f;color:#fff;font-size:.9375rem;touch-action:none;user-select:none}.rally-touch .action-touch{color:#202719;background:var(--lime);border-color:var(--lime);font-weight:750}.rally-touch button:active{transform:scale(.96);background:#526495}
.rally-results{padding:29px 30px 25px;background:radial-gradient(ellipse at 50% 0%,#39466855,transparent 75%);text-align:center}.rally-results>.eyebrow{color:var(--lime);font-size:.8125rem}.rally-results h3{font-size:clamp(25px,3.4vw,36px);line-height:1.15;letter-spacing:-1px;margin:12px 0 24px;overflow-wrap:anywhere}.rally-results ol{list-style:none;padding:0;margin:0 auto 23px;max-width:550px;text-align:left}.rally-results li{display:flex;gap:14px;align-items:center;padding:13px 15px;border-bottom:1px solid #3b476a;font-size:.9375rem;min-width:0}.rally-results li>strong{font-size:1.125rem;color:#95a8dc;min-width:25px}.rally-results li>span{overflow-wrap:anywhere}.rally-results li>b{margin-left:auto;font-size:.875rem;white-space:nowrap;font-variant-numeric:tabular-nums}.rally-results li.is-self{background:#a3b4e010;color:var(--lime);border:1px solid #a3b4e066;border-radius:8px}.rally-results .play-primary{margin:0 auto}.rally-results:not([hidden])~.rally-grid{display:none}
@media(max-width:700px){.rally-entry{grid-template-columns:1fr}.rally-preview{min-height:260px}.rally-preview>div{padding:24px}.rally-preview h3{font-size:33px;margin:12px 0}.rally-preview h3 br{display:none}.rally-preview>img{object-position:65% 42%}.rally-preview p{max-width:350px;margin:8px 0}.rally-preview:after{background:linear-gradient(90deg,#11141efa,#11141e88 85%)}.rally-entry .room-form{padding:22px}.rally-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:9px}.rally-room-bar{flex-wrap:wrap;padding:12px 15px;gap:8px}.rally-wait{padding:24px;min-height:270px}.rally-hud{gap:12px;padding:10px 13px;flex-wrap:wrap}.rally-hud>label{margin-left:auto}.rally-hud meter{width:55px}.rally-results{padding:25px 15px}.rally-results li{padding:12px 10px;gap:9px}.rally-session-bottom{padding:0 14px 15px;align-items:flex-start;gap:12px}.rally-session-bottom .quiet-button{white-space:normal;flex-shrink:0;max-width:100px}.is-rally .game-viewport:has(#game-overlay:not([hidden])){min-height:490px}}
@media(pointer:coarse){.rally-touch{display:flex}.rally-driving-help{display:none}.is-rally .touch-controls{flex-wrap:wrap;gap:7px}.is-rally .touch-controls button{min-width:44px;min-height:44px;font-size:.875rem;padding:9px}}
@media(max-width:400px){.rally-touch{gap:5px;padding:9px}.rally-touch button{padding:8px;min-width:42px}.rally-hud{font-size:.8125rem;gap:10px}.rally-hud>strong{font-size:.875rem}.rally-grid{gap:7px;padding:11px}.rally-grid li{padding:10px 7px;gap:8px}.rally-car-number{font-size:1.25rem}}

.rally-visibility{font-weight:700;font-size:.8125rem;letter-spacing:.04em;color:#b5c2e6}.rally-start{margin-top:20px;min-height:48px;padding:13px 20px;font-size:1rem}.rally-wait #rally-wait-copy{color:#c4cfec;font-size:1rem;line-height:1.6;max-width:460px;margin:0}.rally-results .play-primary:disabled{opacity:.7;cursor:default;white-space:normal}

.card-image.art-fugaz:before{width:100%;height:100%;aspect-ratio:auto;left:0;top:0;transform:none;background:url('/assets/fugaz.png') 50% 55%/cover no-repeat}
#fugaz-canvas{display:block;width:100%;height:auto;aspect-ratio:8/5;touch-action:none;outline-offset:-3px;contain:layout paint}
#fugaz-wait-copy{color:#c4cfec;font-size:1rem;line-height:1.6;max-width:460px;margin:0}
#fugaz-connection{font-size:.875rem;white-space:nowrap}#fugaz-connection[data-state=offline]{color:#adbce4}
#game-dialog[data-game=fugaz] .game-viewport:has(#game-overlay:not([hidden])){min-height:480px}

/* Invitation recipients choose a name and join the supplied room. */
.room-form[data-invite]>label:not([for$="-name"]),.room-form[data-invite]>select,.room-form[data-invite]>.room-form-divider,.room-form[data-invite]>.room-join-row,.room-form[data-invite]>.room-help,.room-form[data-invite]>button.room-secondary{display:none!important}
.invitation-note{font-size:1rem;color:var(--lime);line-height:1.5;margin:0 0 6px;overflow-wrap:anywhere}
#room-entry.has-invitation>.room-entry-heading{display:none}
.invitation-status{margin:16px 0;padding:18px;border:1px solid #55679a;border-radius:12px;background:#181d2c;color:#f1f3fa;line-height:1.5}
