:root{color-scheme:dark;--ink:#0b1722;--muted:#adc0cd;--mint:#93e9d0;--gold:#ffdc87}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#f4f6f1;font:16px/1.55 system-ui,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header,main,footer{max-width:1280px;margin:auto;padding:0 44px}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:13px;font-weight:900;letter-spacing:.18em}.brand span{color:var(--mint)}nav{display:flex;gap:32px;font-size:13px;color:var(--muted)}nav a:hover{color:#fff}.intro{padding:70px 0 50px;display:grid;grid-template-columns:1.6fr 1fr;gap:90px;align-items:end}.eyebrow{font-weight:800;font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--mint);margin:0 0 14px}h1{font-size:clamp(35px,4.1vw,57px);line-height:1.12;letter-spacing:-.045em;margin:0;font-weight:750}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}.intro>p{color:var(--muted);font-size:16px;max-width:350px;margin:0 0 3px}.collection-bar{display:flex;justify-content:space-between;padding:20px 0 18px;border-top:1px solid #30404c;font-size:12px;color:var(--muted)}.collection-bar>span:first-child{color:#fff;font-weight:700}.games{display:grid;grid-template-columns:1fr 1fr;gap:26px}.game-card{border:1px solid #324752;border-radius:20px;overflow:hidden;background:#132632;transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-4px);border-color:var(--mint)}.featured{grid-column:1/-1;display:grid;grid-template-columns:1.65fr 1fr}.art{position:relative;overflow:hidden;isolation:isolate;height:290px;background-size:cover;background-position:center}.featured .art{height:380px}.mistral-art{background-image:url('mistral-background.png')}.chip{position:absolute;top:22px;left:22px;border:1px solid #ffffff75;background:#102b37c9;color:#f6f8ec;padding:6px 11px;border-radius:50px;font-size:11px;z-index:3;backdrop-filter:blur(5px)}.art-word{position:absolute;bottom:15px;left:22px;font-size:clamp(45px,6vw,86px);font-weight:900;line-height:1;letter-spacing:-.065em;color:#fffdf1;text-shadow:0 4px 25px #15302c66;z-index:2}.hero-sprite,.runner-sprite{background:url('mistral-sprites.png') no-repeat;background-size:200% 200%;width:280px;height:280px;position:absolute;right:4%;bottom:12%;filter:drop-shadow(0 15px 15px #18382f44)}.hero-sprite{background-position:100% 0;transform:rotate(-8deg)}.kart-art{background:#407f75}.track-ring{width:480px;height:265px;border:57px solid #344c58;border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-15deg);outline:8px solid #f3d39b;box-shadow:0 0 0 14px #24595e}.kart-sprite{position:absolute;width:190px;height:190px;background:url('kart-sprites.png') 0 0/200% 200%;top:20px;right:30px;transform:rotate(45deg);filter:drop-shadow(0 16px 12px #12394055)}.elan-art{background-image:url('mistral-forest.png');background-position:center 60%}.runner-sprite{width:215px;height:215px;bottom:0;right:35px;transform:rotate(-6deg)}.game-info{padding:28px 30px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}.featured .game-info{padding:38px;justify-content:center;gap:30px}.game-info h2{font-size:34px;line-height:1;letter-spacing:-.045em;margin:0 0 14px}.featured h2{font-size:47px}.game-info p{color:var(--muted);font-size:14px;max-width:365px;margin:0}.play{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:800;color:var(--gold);border-top:1px solid #37505c;padding-top:18px}.play b{font-size:22px}.worlds{margin:80px 0;display:grid;grid-template-columns:.75fr 1.6fr;gap:70px}h2{font-size:32px;line-height:1.2;letter-spacing:-.04em}.worlds h2{margin:0 0 20px}.worlds p{color:var(--muted);font-size:14px}.worlds ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}.worlds li a{display:flex;align-items:center;gap:20px;padding:8px;border:1px solid #30434f;border-radius:12px;background:#11232d;transition:background .2s}.worlds li a:hover{background:#23403e}.worlds img{width:86px;height:54px;object-fit:cover;border-radius:7px}.worlds span{font-size:14px}.worlds small{color:var(--mint);font-size:11px;margin-right:16px}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;padding:35px 0 65px;border-top:1px solid #30404c}.notes span{font-size:12px;color:var(--mint)}.notes h3{font-size:15px;margin:16px 0 8px}.notes p{color:var(--muted);font-size:13px;margin:0}footer{border-top:1px solid #30404c;display:flex;justify-content:space-between;gap:20px;padding-top:28px;padding-bottom:35px;color:var(--muted);font-size:12px}@media(max-width:800px){header,main,footer{padding-left:22px;padding-right:22px}.topbar{height:75px}.intro{gap:30px;grid-template-columns:1fr;padding:36px 0}.intro>p{max-width:540px;font-size:14px}h1{font-size:42px}.featured{display:block}.featured .art{height:310px}.featured .game-info{padding:25px;gap:20px}.featured h2{font-size:34px}.art{height:230px}.game-info{padding:23px}.games{gap:18px}.hero-sprite{width:260px;height:260px;right:8%;bottom:0}.art-word{font-size:65px}.worlds{gap:30px;margin:55px 0}.notes{gap:22px}.kart-sprite{right:0;width:170px;height:170px}.runner-sprite{right:0;width:180px;height:180px}}@media(max-width:540px){h1{font-size:34px}.topbar nav{gap:16px;font-size:11px}.brand{font-size:11px}.collection-bar{font-size:10px}.games{grid-template-columns:1fr}.art,.featured .art{height:270px}.featured .art{height:300px}.hero-sprite{right:0}.game-info,.featured .game-info{padding:25px}.worlds{grid-template-columns:1fr;gap:15px}.worlds h2 br{display:none}.notes{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.notes h3{margin:5px 0}.notes span{float:left;margin-right:14px;margin-top:5px}.notes p{margin-left:28px}footer{flex-wrap:wrap}.intro{padding-top:28px}.art-word{font-size:65px}.runner-sprite{right:25px;width:210px;height:210px}.kart-sprite{right:20px;width:200px;height:200px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.duel-art{background:#241d3c url('duel-cover.svg') center/cover no-repeat}.quest-art{background:#1d4d3d url('reliques-cover.svg') center/cover no-repeat}.squad-art{background:#59788c url('escadron-cover.svg') center/cover no-repeat}.art-word{font-size:clamp(40px,6vw,74px)}.arcade-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.arcade-filters button{padding:9px 17px;border:1px solid #405460;border-radius:50px;background:transparent;color:#b1c6cf;font:600 12px system-ui;min-height:40px;cursor:pointer}.arcade-filters button[aria-pressed="true"]{background:#99e4c7;color:#143c33;border-color:#99e4c7}.game-card[hidden]{display:none}.games .game-card:not(.featured) .art{height:310px}.games .game-card:not(.featured) .game-info{min-height:250px}.game-card:not(.featured) .hero-sprite{width:180px;height:180px;right:35px;bottom:20px}.game-card .chip{max-width:calc(100% - 24px)}.duel-art .art-word{font-size:52px;text-shadow:0 3px 20px #122}.games .featured .duel-art{min-height:410px}@media(max-width:700px){.games .game-card:not(.featured) .art{height:300px}.games .featured .duel-art{min-height:300px}.duel-art .art-word{font-size:39px}.arcade-filters button{padding:9px 13px;font-size:11px}}
/* Cover images are captures of the games themselves, rather than mockups. */
.frontier-art{background-image:url('characters-2d/frontieres.png')}.duel-art{background-image:url('characters-2d/neon-duel.png')}.quest-art{background-image:url('characters-2d/reliques-aster.png')}.mistral-art{background-image:url('characters-2d/mistral.png')}.kart-art{background-image:url('characters-2d/virage.png')}.squad-art{background-image:url('characters-2d/elan-escadron.png')}.art{background-size:cover;background-position:center}.art .hero-sprite,.art .kart-sprite,.art .track-ring{display:none}.art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#12303a12 50%,#10212cb0);z-index:1}.frontier-art .art-word{font-size:clamp(38px,5.5vw,76px)}.games .featured .frontier-art{min-height:390px}@media(max-width:700px){.games .featured .frontier-art{min-height:320px}.frontier-art .art-word{font-size:38px}}

/* Approved 2D cast on the game covers. */
.art.frontier-art,.art.duel-art,.art.quest-art,.art.mistral-art,.art.kart-art,.art.squad-art{background-size:400% 300%;background-position:0 0;background-color:#315449;background-repeat:no-repeat}.art-word{z-index:2;position:relative}.classic-art{background-size:400% 300%;background-position:0 0;background-repeat:no-repeat;background-color:#29453e}

/* Élan: new illustrated stellar crossing. */
.art.squad-art{background-image:linear-gradient(0deg,#051224b0,transparent 70%),url('elan-assets/azur.png');background-size:cover!important;background-position:center 25%!important}.squad-art:before{content:'';position:absolute;right:10%;bottom:20%;width:130px;height:150px;background:url('characters-2d/elan-escadron.png') 0 0/400% 300% no-repeat;filter:drop-shadow(0 0 12px #9adaff70)}
