:root{color-scheme:dark;--bg:#101113;--panel:#191b1e;--line:#34373a;--text:#f2f1ed;--muted:#a9acb0;--lime:#c3f36b;font-family:Arial,'Noto Sans JP',sans-serif;background:var(--bg);color:var(--text);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:5px}p{line-height:1.8}h1,h2,h3,p{margin-top:0}button{color:inherit;background:none;border:1px solid var(--line);min-height:44px;padding:10px 18px;border-radius:4px}button:hover,a.button:hover{background:#30342b}button[aria-pressed=true]{background:var(--lime);color:#101113;border-color:var(--lime)}.skip{position:absolute;top:-80px;background:var(--lime);color:#101113;padding:15px;z-index:20}.skip:focus{top:0}.header,main,footer{max-width:1320px;margin:auto}.header{padding:28px 40px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.brand{font-weight:900;font-size:14px;letter-spacing:-.4px;display:flex;align-items:center;gap:12px;line-height:1.05}.brand-dot{color:var(--lime)}.mark{background:var(--lime);color:#101113;width:40px;height:40px;display:grid;place-content:center;font-size:29px;position:relative;border-radius:7px}.mark span{position:absolute;font-size:15px;right:4px;top:3px}.header nav{display:flex;gap:28px;margin-left:auto;font-size:13px}.header nav a{padding:14px 0}.header-note{color:var(--muted);font-size:9px;line-height:1.6;letter-spacing:1px;margin-left:24px}main{padding:0 40px}.intro{padding:65px 0 42px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin-bottom:22px}.signal{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:100%;margin-right:7px}h1{font-size:clamp(44px,6vw,82px);line-height:1.2;letter-spacing:-4px;font-weight:800;margin-bottom:24px}h1 span{color:var(--lime)}.intro-bottom{display:flex;justify-content:space-between;align-items:end}.intro-bottom p{color:var(--muted);font-size:14px;margin:0}.text-link{font-size:13px;display:inline-flex;align-items:center;gap:30px;min-height:44px;border-bottom:1px solid #60665b}.text-link span{color:var(--lime);font-size:22px}.spotlight{margin-top:24px;display:grid;grid-template-columns:1.45fr 1fr;border:1px solid var(--line);min-height:440px;background:#191b20;overflow:hidden;border-radius:8px}.spotlight-art{position:relative;min-height:400px;overflow:hidden}.racing{background:radial-gradient(ellipse at 50% 40%,#8e336c44,transparent 65%),linear-gradient(#10132a,#27213a 58%,#111328 59%);position:relative;overflow:hidden}.sun{position:absolute;width:180px;height:180px;left:calc(50% - 90px);top:13%;background:repeating-linear-gradient(0deg,transparent 0 4px,#fb857e 4px 12px);border-radius:50%;box-shadow:0 0 100px #ee565e33}.city{position:absolute;inset:27% 0 36%;background:repeating-linear-gradient(90deg,#101525 0 22px,transparent 22px 31px);clip-path:polygon(0 35%,10% 35%,10% 0,17% 0,17% 50%,27% 50%,27% 22%,34% 22%,34% 78%,65% 78%,65% 38%,73% 38%,73% 8%,82% 8%,82% 58%,90% 58%,90% 22%,100% 22%,100% 100%,0 100%)}.track{position:absolute;inset:55% -25% -15%;background:repeating-linear-gradient(0deg,transparent 0 45px,#d95e9e44 45px 47px),repeating-linear-gradient(90deg,transparent 0 120px,#52d9de88 120px 122px);transform:perspective(160px) rotateX(45deg)}.track:after{content:'';position:absolute;inset:0 34%;border-left:4px solid #55eaf3;border-right:4px solid #f05ea4;box-shadow:0 0 24px #32b4c2}.car{position:absolute;left:calc(50% - 70px);bottom:16%;width:140px;height:43px;background:linear-gradient(#273b59 20%,#080e1c 20% 54%,#ff727e 54% 64%,#0d1423 64%);clip-path:polygon(15% 0,85% 0,100% 70%,95% 100%,5% 100%,0 70%);filter:drop-shadow(0 10px 14px #fa3265)}.art-label{position:absolute;bottom:14px;left:18px;color:#d5d1e0;font-size:8px;letter-spacing:1.5px;z-index:2}.spotlight-copy{padding:35px 40px;display:flex;flex-direction:column;align-items:start;justify-content:center}.spotlight-copy .eyebrow{width:100%;display:flex;justify-content:space-between;margin-bottom:30px;font-size:9px}.genre{font-size:10px;letter-spacing:2px;color:var(--lime);font-weight:700;margin:0 0 14px}.spotlight h1{font-size:clamp(35px,4vw,55px);line-height:.99;letter-spacing:-2px;margin-bottom:22px}.spotlight h1 em{font-style:normal;color:var(--lime)}.spotlight-copy>p:not(.genre):not(.eyebrow){font-size:13px;color:#c7c9ce}.button{display:inline-flex;justify-content:space-between;gap:32px;align-items:center;min-height:48px;padding:14px 24px;border-radius:4px;font-size:13px;font-weight:700;background:var(--lime);color:#101113}.button.light{background:var(--text)}.availability{font-size:10px;color:var(--muted);margin-top:14px}.section{padding:65px 0 0;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:12px}h2{font-size:26px;letter-spacing:-.8px;margin-bottom:0}.small{font-size:10px;letter-spacing:.5px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{font-size:12px;border-radius:100px;padding:9px 18px}.muted{color:var(--muted);font-size:12px}.game-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.game-card{grid-column:span 2;border-bottom:1px solid var(--line);padding-bottom:22px;min-width:0}.game-card.feature{grid-column:span 3}.game-art{height:170px;border-radius:6px;margin-bottom:20px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#1d2428}.feature .game-art{height:255px}.game-art .art-title{font-weight:900;font-size:33px;letter-spacing:-2px;z-index:2;text-align:center;text-shadow:0 2px 15px #000}.game-art.racing:before{content:'';position:absolute;width:240px;height:220px;border:1px solid #7ee7ef;transform:perspective(80px) rotateX(45deg);bottom:-130px;box-shadow:0 0 75px #ef477d}.game-art.lantern{background:radial-gradient(ellipse at 50% 60%,#79622c55,transparent 50%),linear-gradient(130deg,#111f22,#212e29,#0c151b)}.lantern:before{content:'';position:absolute;width:110px;height:185px;bottom:-15px;border:30px solid #081516;border-radius:70px 70px 0 0;box-shadow:0 0 0 22px #2d3d3780,0 0 0 50px #20352d80,0 0 0 80px #182a2580}.lantern:after{content:'✦';color:#ffdba1;font-size:40px;position:absolute;bottom:35px;text-shadow:0 0 25px #ffb65c}.lantern .art-title{transform:translateY(-27px);font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:2px}.stack .art-title{color:#c3f36b;font-size:70px;transform:rotate(-10deg)}.stack{background:linear-gradient(140deg,#26372a,#171c20)}.dodge{background:repeating-linear-gradient(90deg,#1c1c30 0 32%,#393254 32% 33%)}.dodge .art-title{color:#b9b2fb;font-size:70px}.memory .art-title{color:#f7ae87;font-size:50px;letter-spacing:10px}.memory{background:linear-gradient(120deg,#3e2927,#29232c)}.card-topline{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);letter-spacing:1px}.game-card h3{font-size:20px;margin:12px 0 8px}.game-card h3 a{display:flex;justify-content:space-between;align-items:center;min-height:44px}.game-card h3 a:hover{color:var(--lime)}.game-card p{font-size:12px;color:var(--muted);margin-bottom:20px}.card-foot{display:flex;gap:12px;justify-content:space-between;font-size:10px;color:var(--muted)}.card-foot .status{color:var(--lime)}.editorial-row{display:grid;grid-template-columns:1fr 1fr;gap:70px}.round-icon{display:grid;place-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--lime);font-size:24px}.empty{padding:30px 0 10px;font-size:23px;color:var(--muted)}.ranking-row{border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:20px 0}.ranking-row b{font-size:26px;color:var(--lime)}.update-row{border-bottom:1px solid var(--line);padding:20px 0;display:block}.update-row time{font-size:10px;color:var(--muted)}.update-row strong{display:block;font-size:13px;margin:8px 0}.update-row p{font-size:12px;color:var(--muted);margin:0}.save-note{display:flex;gap:24px;border:1px solid var(--line);padding:35px;margin-top:65px;border-radius:6px}.save-note .eyebrow{margin-bottom:10px}.save-note p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:16px}.ad-slot{margin:50px 0 30px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:22px;text-align:center;color:var(--muted)}.ad-slot span{font-size:9px;letter-spacing:3px}.ad-slot p{font-size:10px;margin:8px 0 0}footer{padding:30px 40px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line)}footer p,footer>a:not(.brand),footer small{font-size:10px;color:var(--muted);margin:0}footer p{margin-right:auto}.subpage{max-width:920px;padding-top:45px;padding-bottom:60px}.subpage h1{font-size:clamp(32px,5vw,60px);margin-top:35px;letter-spacing:-1.5px}.subpage h2{margin:32px 0 20px}.subpage p{color:#bcc0c4;font-size:14px}.subpage .game-art{height:300px}.subpage .game-art .art-title{font-size:44px}.details-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;margin:35px 0}.panel{border:1px solid var(--line);padding:25px;border-radius:6px;margin:24px 0}.panel h2{margin-top:0}.panel label{display:block;font-size:13px;margin:16px 0 8px}textarea,input{background:#101113;color:var(--text);border:1px solid #51555a;padding:12px;max-width:100%;border-radius:4px}textarea{width:100%;resize:vertical}input{min-height:44px}.notice{border-left:2px solid var(--lime);padding:12px 18px;background:#1a2017;font-size:13px;color:#d5dccd!important}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.comment{border-bottom:1px solid var(--line);padding:18px 0;white-space:pre-wrap;overflow-wrap:anywhere}.comment p{margin-bottom:0}.save-result{min-height:30px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px}.table-wrap{overflow:auto}[hidden]{display:none!important}@media(max-width:760px){.header{padding:20px;gap:16px}.header-note{display:none}.header nav{gap:18px;font-size:11px}.brand{font-size:11px}.mark{width:32px;height:32px;font-size:24px}main{padding:0 20px}.intro{padding-top:42px}h1{letter-spacing:-2px;font-size:47px}.intro-bottom{display:block}.intro-bottom .text-link{margin-top:18px}.spotlight{grid-template-columns:1fr}.spotlight-art{min-height:270px}.spotlight-copy{padding:26px}.spotlight h1{font-size:43px}.spotlight-copy .eyebrow{margin-bottom:20px}.section{padding-top:45px}.section-heading>.small{display:none}h2{font-size:23px}.game-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.game-card,.game-card.feature{grid-column:span 1}.feature .game-art{height:190px}.game-card.feature{grid-column:span 2}.game-art{height:140px}.game-card h3{font-size:15px}.game-card p{font-size:11px}.card-topline,.card-foot{font-size:9px;flex-wrap:wrap}.editorial-row{grid-template-columns:1fr;gap:0}.save-note{padding:25px;gap:15px}.save-note>.round-icon{display:none}footer{padding:25px 20px}.details-grid{grid-template-columns:1fr;gap:0}.subpage{padding-top:30px}.subpage .game-art .art-title{font-size:30px}}@media(max-width:360px){.header nav{gap:12px}.header .brand{font-size:10px}.header .mark{display:none}h1{font-size:40px}.game-card{grid-column:span 2}.game-art{height:160px}.filters{gap:6px}.filters button{padding:8px 13px;font-size:11px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
.header nav a,footer a{display:inline-flex;align-items:center;min-height:44px}
#view-note{margin-top:16px}
.game-art.racing{background:radial-gradient(ellipse at 50% 45%,#853d6555,transparent 65%),linear-gradient(#151b34,#252238 65%,#111728)}
@media(max-width:760px){.intro h1{font-size:clamp(34px,10.6vw,44px)}}

.game-art.neon-rift{background:radial-gradient(ellipse at 78% 18%,#83ffdf33,transparent 48%),radial-gradient(ellipse at 18% 88%,#ff628c26,transparent 52%),linear-gradient(135deg,#080c18,#0f1c2e 55%,#071019)}
.game-art.neon-rift:before{content:'';position:absolute;width:62%;height:1px;left:-8%;top:62%;background:linear-gradient(90deg,transparent,#83ffdf,transparent);transform:rotate(-24deg);box-shadow:0 0 18px #83ffdf}
.game-art.neon-rift .art-title{color:#edf5ff;font-size:40px;line-height:.95;letter-spacing:-2px}

.ver{display:inline-block;margin-left:8px;padding:1px 9px;border:1px solid #4b5a2c;border-radius:20px;font:700 11px/1.7 monospace;letter-spacing:.5px;color:var(--lime);vertical-align:middle}
.game-art.generic{background:radial-gradient(ellipse at 78% 18%,#ffffff12,transparent 50%),linear-gradient(135deg,#0d1114,#151c24 60%,#0a0e12)}
.game-art.generic:before{content:'';position:absolute;width:62%;height:1px;left:-8%;top:62%;background:linear-gradient(90deg,transparent,var(--accent,#83ffdf),transparent);transform:rotate(-24deg);box-shadow:0 0 18px var(--accent,#83ffdf)}
.game-art.generic .art-title{color:var(--accent,#edf5ff);font-size:40px;line-height:.95;letter-spacing:-2px}
.update-row .ver{margin:0 8px 0 0}
.storage-note{padding:18px 0;border-top:1px solid var(--line)}.storage-note h3{margin:0 0 8px}.storage-note p{margin:0 0 6px}

/* spotlight: playable feature with a real gameplay screenshot */
.spotlight-art.shot{background:#070b12}
.spotlight-art.shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.spotlight-art.shot .art-label{background:#070b12;padding:3px 8px;bottom:10px;left:10px;border-radius:3px;color:#d5dde8}
.spotlight-notes{list-style:none;margin:0 0 22px;padding:0;font-size:12px;line-height:1.7;color:#aeb4bd}
.spotlight-notes li+li{margin-top:6px}.spotlight-notes b{display:inline-block;margin-right:8px;padding:0 7px;border:1px solid var(--line);border-radius:3px;font-size:10px;letter-spacing:1px;color:var(--text)}
.spotlight-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.spotlight-actions .text-link{display:inline-flex;align-items:center;min-height:48px}
.button.play-now{min-width:200px}
/* games that cannot be played yet are marked on the card and kept visually apart */
.game-card.soon{border-style:dashed}
.game-card.soon .game-art{filter:saturate(.45) brightness(.8)}
.game-card.soon .card-topline span:last-child{color:#ffd48a}
.game-card.playable .status{color:var(--lime)}
@media(max-width:760px){.spotlight-art.shot{min-height:0;aspect-ratio:934/574}.spotlight-notes{font-size:12px}.button.play-now{width:100%;min-width:0}.spotlight-actions{width:100%}}
@media(min-width:761px){.spotlight:has(.spotlight-art.shot){grid-template-columns:1.9fr 1fr}.spotlight-art.shot img{object-position:center}}
@media(min-width:761px){.spotlight:has(.spotlight-art.shot){min-height:0}.spotlight:has(.spotlight-art.shot) .spotlight-art{min-height:0;aspect-ratio:934/574}.spotlight:has(.spotlight-art.shot) .spotlight-copy{padding:24px 36px}.spotlight:has(.spotlight-art.shot) .spotlight-copy .eyebrow{margin-bottom:18px}.spotlight:has(.spotlight-art.shot) h2{margin-bottom:14px}.spotlight-notes{margin-bottom:16px}}

/* GAME AISTRUM logo: the reverse SVG (wordmark white; shapes and blue unchanged) sits directly on the dark header */
.brand.aistrum{display:flex;align-items:center;flex:none;min-height:44px}
.brand.aistrum img{display:block;height:36px;width:auto}
.brand.aistrum.aistrum-foot img{height:30px}
.brand.aistrum:focus-visible{outline:2px solid var(--lime);outline-offset:4px;border-radius:3px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main>.spotlight:first-child{margin-top:28px}
@media(max-width:760px){.brand.aistrum img{height:28px}.brand.aistrum.aistrum-foot img{height:26px}}
@media(max-width:360px){.header{gap:10px}.brand.aistrum img{height:24px}}
/* the play button comes right after the title, before the description and notes */
.spotlight-copy h1+.spotlight-actions{margin:0 0 20px}
@media(max-width:760px){.spotlight-copy h1+.spotlight-actions .button.play-now{width:100%}}
