@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap');

:root { color-scheme:light; font-family:'DM Sans',Arial,sans-serif; --bg:#f8f7f3; --ink:#29243b; --muted:#716c7c; --accent:#7562dd; --line:#e9e5e6; }
* { box-sizing:border-box; }
html,body { margin:0; width:100%; height:100%; overflow:hidden; }
body { background:var(--bg); color:var(--ink); }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button:focus-visible,a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
[hidden] { display:none !important; }
.site-shell { display:flex; flex-direction:column; min-height:100vh; height:100dvh; overflow:hidden; }
.site-header { height:82px; flex:none; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; padding:0 clamp(24px,5vw,88px); background:#fffdfa; border-bottom:1px solid var(--line); position:relative; z-index:5; }
.brand { display:inline-flex; align-items:baseline; justify-self:start; font:700 27px/.9 'Outfit',Arial,sans-serif; letter-spacing:-.065em; }
.brand span { color:var(--accent); }
.brand i { display:block; align-self:flex-start; width:6px; height:6px; margin-left:4px; border-radius:50%; background:#ffab8d; }
.primary-nav { align-self:stretch; display:flex; align-items:center; gap:8px; }
.nav-link { display:flex; align-items:center; padding:10px 17px; border-radius:999px; color:#797386; font-size:13px; font-weight:600; transition:background .2s,color .2s; }
.nav-link:hover { color:var(--ink); background:#f2eef7; }
.nav-link.is-active { background:#ece7fb; color:#5c4ab9; }
.asset-nav { justify-self:end; display:inline-flex; align-items:center; gap:17px; padding:13px 18px; border-radius:999px; background:#f1effb; color:#5e4bb8; font-size:12px; font-weight:700; white-space:nowrap; transition:background .2s,transform .2s; }
.asset-nav:hover,.asset-nav.is-current { background:#e5ddfa; transform:translateY(-2px); }
.asset-nav span { font-size:17px; line-height:0; font-weight:400; }
.home-main { flex:1; min-height:0; position:relative; }
.view { position:relative; width:100%; height:100%; overflow:hidden; }
.games-view { background:radial-gradient(circle at 9% 88%,#f0e8ff 0,transparent 38%),#fbfaf7; }
.game-image { position:absolute; inset:24px 28px 24px 46%; overflow:hidden; border-radius:34px; background:#1c1827; box-shadow:0 18px 45px rgba(0,0,0,.3); }
.steam-slides { position:absolute; inset:0; }
.steam-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .55s ease; }
.steam-slide.is-active { opacity:1; }
.game-image::after { content:""; position:absolute; inset:42% 0 0; z-index:1; background:linear-gradient(180deg,transparent,rgba(12,10,18,.56)); pointer-events:none; }
.carousel-arrow { position:absolute; top:50%; z-index:2; display:grid; place-items:center; width:46px; height:46px; padding:0 0 4px; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(23,19,31,.56); color:#fff; font-family:'Outfit',Arial,sans-serif; font-size:34px; line-height:1; cursor:pointer; opacity:.78; transform:translateY(-50%); backdrop-filter:blur(8px); transition:opacity .2s,background .2s,transform .2s; }
.carousel-arrow:hover { opacity:1; background:rgba(23,19,31,.86); transform:translateY(-50%) scale(1.06); }
.carousel-prev { left:18px; }
.carousel-next { right:18px; }
.carousel-footer { position:absolute; right:20px; bottom:18px; left:20px; z-index:2; display:flex; align-items:center; gap:14px; color:#fff; }
.carousel-caption { font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.carousel-count { color:rgba(255,255,255,.72); font-size:10px; font-variant-numeric:tabular-nums; }
.carousel-dots { display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-left:auto; }
.carousel-dot { width:8px; height:8px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.52); cursor:pointer; transition:width .2s,background .2s; }
.carousel-dot.is-active { width:22px; background:#c2afff; }
.view-content { height:100%; position:relative; z-index:1; padding:clamp(28px,4.4vh,52px) clamp(24px,5vw,88px); display:flex; flex-direction:column; }
.game-content { pointer-events:none; }
.game-content a,.game-content button { pointer-events:auto; }
.eyebrow { display:flex; align-items:center; gap:11px; color:#7e758d; font-size:12px; font-weight:600; white-space:nowrap; }
.eyebrow-line { width:9px; height:9px; border-radius:50%; background:#ffaf91; flex:none; }
.eyebrow-number { margin-left:clamp(12px,3vw,40px); color:var(--accent); }
.game-copy { margin:auto 0; max-width:42%; padding-bottom:2%; }
.small-label { margin:0 0 15px; font-size:11px; font-weight:700; letter-spacing:.11em; color:var(--accent); }
h1 { font-family:'Outfit',Arial,sans-serif; font-weight:600; letter-spacing:-.055em; }
.game-copy h1 { margin:0 0 20px; font-size:clamp(66px,7.8vw,122px); line-height:.95; }
.game-copy.has-long-title h1 { max-width:7ch; font-size:clamp(52px,6.5vw,96px); line-height:.9; }
.period { color:#ffad8b; }
.lead { max-width:450px; margin:0; color:#686373; font-size:clamp(16px,1.27vw,19px); line-height:1.56; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:29px; }
.platform-links { display:flex; flex-wrap:wrap; gap:8px; max-width:550px; }
.platform-link { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; min-height:46px; padding:0; border:1px solid rgba(236,226,255,.14); border-radius:15px; background:rgba(37,32,48,.88); color:#eee8f7; transition:background .2s,border-color .2s,transform .2s; }
.platform-link::after { display:none; }
.platform-link img { display:block; width:23px; height:23px; object-fit:contain; filter:brightness(0) invert(1); }
.platform-link:hover { transform:translateY(-2px); border-color:#8371b1; background:#39314b; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-width:160px; padding:16px 21px; border-radius:999px; font-size:13px; font-weight:700; white-space:nowrap; transition:transform .2s,background .2s,box-shadow .2s; }
.button:hover { transform:translateY(-3px); background:#634fc9; box-shadow:0 10px 20px rgba(94,75,184,.2); }
.button-primary { background:var(--accent); color:#fff; }
.button span { font-size:18px; font-weight:400; line-height:0; }
.action-note { color:#8a8492; font-size:11px; white-space:nowrap; }
.game-picker { display:flex; width:min(540px,42vw); gap:7px; }
.game-choice { flex:1; display:flex; align-items:center; justify-content:center; gap:7px; min-width:0; padding:12px 10px; border:1px solid #e7e2eb; border-radius:999px; background:#fff; color:#76707d; cursor:pointer; box-shadow:0 3px 10px rgba(59,43,88,.03); transition:background .2s,color .2s,border-color .2s,transform .2s; }
.game-choice:hover { transform:translateY(-2px); border-color:#cabeee; }
.game-choice.is-selected { background:#ece7fb; border-color:#d8cdf6; color:#5f4bbb; }
.choice-index { font-size:10px; font-weight:700; opacity:.68; }
.choice-name { font-family:'Outfit',Arial,sans-serif; font-size:clamp(12px,1vw,14px); font-weight:600; white-space:nowrap; }
.vertical-caption { position:absolute; right:47px; bottom:43px; padding:10px 13px; border-radius:999px; background:rgba(255,255,255,.87); color:#554a6f; font-size:10px; font-weight:700; letter-spacing:.08em; }
.publishing-view { background:radial-gradient(circle at 83% 60%,#e9ddff 0,#f7f1ff 42%,#fbfaf7 75%); }
.publishing-art { position:absolute; width:min(51vw,680px); aspect-ratio:1; left:54%; top:50%; transform:translateY(-50%); border-radius:48% 52% 51% 49%; background:radial-gradient(circle at 36% 32%,#fff2de 0,#ffd9c7 29%,#caaff9 67%,#9c87e7 100%); box-shadow:inset -30px -45px 75px rgba(124,88,198,.12),0 32px 75px rgba(130,103,185,.17); }
.publishing-content { justify-content:space-between; }
.publishing-copy { max-width:650px; }
.publishing-copy h1,.assets-intro h1 { margin:0 0 22px; font-size:clamp(64px,7vw,112px); line-height:.98; }
h1 em { color:var(--accent); font-style:normal; }
.publishing-copy .button,.assets-intro .button { margin-top:28px; }
.publishing-footnote,.assets-intro-bottom { margin:0; color:#8f8899; font-size:12px; }
.site-footer { height:58px; flex:none; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding:0 clamp(24px,5vw,88px); border-top:1px solid var(--line); color:#898291; font-size:11px; background:#fffdfa; }
.footer-center { text-align:center; }
.footer-links { justify-self:end; display:flex; gap:26px; }
.footer-links a:hover { color:var(--accent); }

.assets-main { flex:1; min-height:0; display:grid; grid-template-columns:46% 54%; gap:26px; padding:24px 28px; background:#fbfaf7; }
.assets-intro { padding:clamp(19px,2.5vw,38px) clamp(10px,3vw,48px); display:flex; flex-direction:column; justify-content:space-between; min-width:0; border-radius:30px; background:radial-gradient(circle at 75% 90%,#eee4fc 0,transparent 52%),#f5f0fa; }
.assets-intro h1 { font-size:clamp(59px,6.2vw,103px); }
.assets-list { min-height:0; display:grid; grid-template-rows:repeat(3,1fr); gap:12px; }
.asset-card { display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; align-items:end; gap:5px; min-height:0; position:relative; padding:clamp(17px,2.2vw,30px); border-radius:26px; background:#f2f0fa; overflow:hidden; transition:background .2s,transform .2s; }
.asset-card:nth-child(2) { background:#fff0e8; }
.asset-card:nth-child(3) { background:#eef4ed; }
.asset-card:hover { transform:translateX(-4px); background:#ebe5fb; }
.asset-card:nth-child(2):hover { background:#ffe7da; }
.asset-card:nth-child(3):hover { background:#e2efdf; }
.asset-card::before { content:""; position:absolute; width:40%; aspect-ratio:1; right:8%; top:8%; border:1px solid rgba(111,96,157,.12); border-radius:50%; }
.asset-number { grid-column:1/-1; align-self:start; z-index:1; color:#8271ad; font-size:10px; font-weight:700; letter-spacing:.08em; }
.asset-name { z-index:1; font-family:'Outfit',Arial,sans-serif; font-size:clamp(25px,2.4vw,42px); font-weight:600; line-height:1.06; letter-spacing:-.04em; }
.asset-arrow { z-index:1; font-size:28px; color:var(--accent); }

@keyframes rise-in {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes image-in {
  from { opacity:.35; transform:scale(1.025); }
  to { opacity:1; transform:scale(1); }
}
@keyframes game-change {
  0% { opacity:.5; transform:scale(1.018); }
  100% { opacity:1; transform:scale(1); }
}
@keyframes float-art {
  0%,100% { transform:translateY(-50%) rotate(-3deg); }
  50% { transform:translateY(calc(-50% - 12px)) rotate(2deg); }
}
.games-view.is-visible .game-image { animation:image-in .9s cubic-bezier(.2,.75,.25,1) both; }
.games-view.is-visible .eyebrow { animation:rise-in .55s .08s both; }
.games-view.is-visible .game-copy { animation:rise-in .65s .2s both; }
.games-view.is-visible .game-choice { animation:rise-in .45s .38s both; }
.games-view.is-visible .game-choice:nth-child(2) { animation-delay:.46s; }
.games-view.is-visible .game-choice:nth-child(3) { animation-delay:.54s; }
.games-view.is-visible .game-choice:nth-child(4) { animation-delay:.62s; }
.games-view.is-visible .game-image.is-changing { animation:game-change .48s ease-out both; }
.publishing-view.is-visible .publishing-copy { animation:rise-in .65s .12s both; }
.publishing-view.is-visible .publishing-content > .eyebrow,
.publishing-view.is-visible .publishing-footnote { animation:rise-in .55s .25s both; }
.publishing-view.is-visible .publishing-art { animation:float-art 8s ease-in-out infinite; }
.assets-page .assets-intro { animation:rise-in .6s .08s both; }
.assets-page .asset-card { animation:rise-in .55s both; }
.assets-page .asset-card:nth-child(2) { animation-delay:.12s; }
.assets-page .asset-card:nth-child(3) { animation-delay:.24s; }
.button,.asset-nav,.nav-link,.game-choice,.asset-card { transition-duration:.24s; }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

@media (max-width:1000px) {
  .site-header { height:70px; padding:0 24px; }
  .view-content { padding:30px 28px; }
.game-image { inset:18px 18px 18px 47%; }
  .game-copy { max-width:44%; }
  .game-copy h1 { font-size:clamp(54px,7.2vw,82px); }
  .game-copy.has-long-title h1 { font-size:clamp(48px,6vw,64px); }
  .game-picker { width:44%; }
  .choice-index { display:none; }
  .vertical-caption { right:33px; bottom:32px; }
  .assets-main { gap:14px; padding:16px; }
}
@media (max-width:650px) {
  .site-header { height:90px; grid-template-columns:1fr auto; grid-template-rows:50px 40px; gap:0; padding:0 18px; }
  .brand { font-size:23px; }
  .primary-nav { grid-column:1/-1; grid-row:2; justify-self:stretch; gap:4px; }
  .nav-link { padding:8px 14px; font-size:12px; }
  .asset-nav { grid-column:2; grid-row:1; padding:9px 12px; font-size:10px; gap:9px; }
  .view-content { padding:20px 20px 22px; }
  .eyebrow { font-size:10px; }
  .eyebrow-number { margin-left:10px; }
  .game-image { inset:49px 18px auto; height:36%; border-radius:22px; }
  .carousel-arrow { width:34px; height:34px; font-size:25px; }
  .carousel-prev { left:10px; }
  .carousel-next { right:10px; }
  .carousel-footer { right:12px; bottom:11px; left:12px; gap:9px; }
  .carousel-caption { font-size:8px; }
  .carousel-count { font-size:9px; }
  .carousel-dots { gap:4px; }
  .carousel-dot { width:6px; height:6px; }
  .carousel-dot.is-active { width:16px; }
  .game-content { justify-content:flex-end; }
  .game-content .eyebrow { position:absolute; top:19px; left:22px; }
  .game-copy { max-width:none; margin:0 0 15px; padding:0; }
  .game-copy h1 { font-size:clamp(53px,14vw,76px); margin-bottom:7px; }
  .small-label { margin-bottom:6px; font-size:9px; }
  .lead { max-width:420px; font-size:13px; line-height:1.35; }
  .actions { margin-top:13px; gap:11px; }
  .platform-links { gap:6px; max-width:100%; }
  .platform-link { width:40px; height:40px; min-height:40px; padding:0; border-radius:13px; }
  .button { min-width:145px; padding:12px 16px; font-size:11px; }
  .action-note { font-size:10px; }
  .game-picker { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; gap:5px; }
  .game-choice { justify-content:center; padding:8px 5px; border-radius:16px; }
  .choice-name { width:100%; font-size:clamp(9px,2.7vw,11px); line-height:1.08; white-space:normal; text-align:center; text-wrap:balance; }
  .game-copy.has-long-title h1 { max-width:7ch; font-size:clamp(42px,11vw,58px); }
  .vertical-caption { display:none; }
  .publishing-art { width:88vw; left:43%; top:39%; opacity:.52; }
  .publishing-content { padding:23px 22px; }
  .publishing-copy { margin:auto 0; }
  .publishing-copy h1 { font-size:clamp(48px,11vw,75px); }
  .publishing-copy .button { margin-top:20px; }
  .site-footer { height:47px; grid-template-columns:1fr auto; padding:0 18px; font-size:10px; }
  .footer-center { display:none; }
  .footer-links { gap:14px; }
  .assets-main { display:flex; flex-direction:column; gap:9px; padding:9px; }
  .assets-intro { flex:none; height:45%; padding:16px 17px 12px; border-radius:22px; }
  .assets-intro h1 { font-size:clamp(42px,10vw,60px); margin-bottom:7px; }
  .assets-intro .lead { font-size:11px; line-height:1.32; }
  .assets-intro .button { margin-top:9px; padding:9px 13px; }
  .assets-intro-bottom { display:none; }
  .assets-list { flex:1; gap:7px; }
  .asset-card { padding:9px 17px; border-radius:18px; }
  .asset-name { font-size:clamp(20px,5vw,27px); }
  .asset-number { font-size:8px; }
  .asset-arrow { font-size:21px; }
}
@media (max-height:670px) {
  .game-copy h1 { font-size:clamp(50px,7vw,85px); }
  .game-copy .lead { line-height:1.3; }
  .game-copy .small-label { margin-bottom:6px; }
  .actions { margin-top:11px; }
  .publishing-copy h1 { font-size:clamp(48px,6.3vw,80px); }
  .publishing-copy .button { margin-top:17px; }
  .assets-intro h1 { font-size:clamp(43px,6vw,78px); margin-bottom:8px; }
  .assets-intro .button { margin-top:10px; }
}
@media (max-width:380px) and (max-height:650px) {
  .game-image { height:33%; }
  .game-copy h1 { font-size:51px; }
  .game-copy .lead { font-size:12px; }
  .action-note { display:none; }
  .assets-intro { height:52%; }
  .assets-intro h1 { font-size:39px; }
  .assets-intro .lead { font-size:10px; line-height:1.25; }
  .asset-name { font-size:19px; }
}

/* Dark theme */
:root { color-scheme:dark; --bg:#14121a; --ink:#f4f0f8; --muted:#b6afc2; --accent:#ad98f2; --line:rgba(239,231,255,.12); }
body { background:var(--bg); color:var(--ink); }
.site-header,.site-footer { background:#191720; border-color:var(--line); }
.brand span { color:var(--accent); }
.brand i,.eyebrow-line { background:#f2aa9c; }
.nav-link { color:#b8b1c2; }
.nav-link:hover { color:var(--ink); background:#292532; }
.nav-link.is-active { color:#ded3ff; background:#302a3c; }
.asset-nav { background:#302a3c; color:#ded3ff; }
.asset-nav:hover,.asset-nav.is-current { background:#403653; color:#fff; }
.games-view { background:radial-gradient(circle at 9% 88%,#29213a 0,transparent 42%),#14121a; }
.game-image { box-shadow:0 18px 45px rgba(0,0,0,.3); }
.eyebrow,.action-note { color:#c1b9cb; }
.eyebrow-number,.small-label { color:#c2afff; }
.period { color:#f2aa9c; }
.lead { color:#c8c1d0; }
.button-primary { background:#a894e9; color:#1b1725; }
.button:hover { background:#c0b0fa; box-shadow:0 10px 24px rgba(138,113,212,.22); }
.game-choice { color:#c0b9c8; border-color:rgba(236,226,255,.13); background:#211e29; box-shadow:0 3px 10px rgba(0,0,0,.12); }
.game-choice:hover { border-color:#746493; }
.game-choice.is-selected { background:#332c43; border-color:#5c4e7a; color:#eee7ff; }
.choice-index { color:#c2afff; }
.vertical-caption { background:rgba(29,25,38,.84); color:#eee7f7; }
.publishing-view { background:radial-gradient(circle at 83% 60%,#302640 0,#201b29 42%,#14121a 76%); }
h1 em { color:#c2afff; }
.publishing-footnote,.assets-intro-bottom { color:#b5adbf; }
.footer-links a:hover { color:#c2afff; }
.assets-main { background:#14121a; }
.assets-intro { background:radial-gradient(circle at 75% 90%,#312641 0,transparent 54%),#201d27; }
.asset-card { background:#262330; }
.asset-card:nth-child(2) { background:#302423; }
.asset-card:nth-child(3) { background:#222b27; }
.asset-card:hover { background:#332d42; }
.asset-card:nth-child(2):hover { background:#3b2b2b; }
.asset-card:nth-child(3):hover { background:#29362f; }
.asset-card::before { border-color:rgba(221,205,255,.16); }
.asset-number { color:#c2afff; }
.asset-arrow { color:#c2afff; }
.platform-link { background:rgba(42,36,55,.9); }
.platform-link:hover { background:#39314b; }

/* Cosmic atmosphere */
:root { --bg:#080a13; --ink:#f4f1ff; --muted:#b9b4ce; --accent:#b7a2ff; --line:rgba(196,183,255,.15); }
body { background:#080a13; }
.site-header,.site-footer { background:rgba(8,10,19,.92); border-color:var(--line); backdrop-filter:blur(16px); }
.site-header { box-shadow:0 8px 30px rgba(0,0,0,.18); }
.brand span { text-shadow:0 0 18px rgba(183,162,255,.68); }
.nav-link.is-active { background:rgba(149,119,239,.18); box-shadow:inset 0 0 0 1px rgba(183,162,255,.16); color:#e4dcff; }
.asset-nav { background:linear-gradient(110deg,rgba(143,113,239,.24),rgba(61,136,194,.16)); box-shadow:inset 0 0 0 1px rgba(196,183,255,.16); }
.games-view { background:radial-gradient(ellipse at 11% 78%,rgba(106,51,185,.3),transparent 38%),radial-gradient(ellipse at 75% 8%,rgba(30,103,151,.2),transparent 34%),linear-gradient(130deg,#090a16,#0d0d1a 56%,#080a13); }
.games-view::before,.publishing-view::before,.assets-main::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.56; background-image:radial-gradient(1px 1px at 17px 23px,rgba(255,255,255,.85) 98%,transparent),radial-gradient(1px 1px at 83px 67px,rgba(190,178,255,.75) 98%,transparent),radial-gradient(1.5px 1.5px at 143px 119px,rgba(255,255,255,.7) 98%,transparent),radial-gradient(1px 1px at 211px 34px,rgba(139,202,255,.7) 98%,transparent); background-size:257px 173px; animation:star-drift 48s linear infinite,star-twinkle 4.8s ease-in-out infinite alternate; }
.games-view::after,.publishing-view::after,.assets-main::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.22; background-image:radial-gradient(1.5px 1.5px at 39px 104px,rgba(210,198,255,.95) 98%,transparent),radial-gradient(1px 1px at 177px 41px,rgba(255,255,255,.85) 98%,transparent),radial-gradient(1px 1px at 263px 181px,rgba(137,208,255,.9) 98%,transparent); background-size:331px 227px; animation:star-drift-reverse 83s linear infinite,star-twinkle 6.4s ease-in-out -2.1s infinite alternate; }
.game-image,.publishing-art { z-index:1; }
.game-content,.publishing-content { z-index:2; }
.game-image { border:1px solid rgba(194,177,255,.18); box-shadow:0 22px 65px rgba(0,0,0,.56),0 0 55px rgba(105,73,183,.13); }
.game-image::after { background:linear-gradient(180deg,transparent 58%,rgba(6,8,18,.72)); }
.carousel-arrow { border-color:rgba(216,205,255,.24); background:rgba(11,12,25,.64); box-shadow:0 0 22px rgba(155,125,244,.13); }
.carousel-dot.is-active { background:#b8a4ff; box-shadow:0 0 12px rgba(184,164,255,.78); }
.eyebrow { color:#c4bfd5; }
.eyebrow-line { box-shadow:0 0 14px rgba(242,170,156,.72); }
.small-label { color:#c6b2ff; }
.lead { color:#d0ccdc; }
.period { text-shadow:0 0 26px rgba(242,170,156,.42); }
.platform-link { border-color:rgba(197,183,255,.17); background:rgba(17,16,31,.78); backdrop-filter:blur(12px); }
.platform-link:hover { border-color:rgba(183,162,255,.62); background:rgba(58,47,91,.78); box-shadow:0 0 22px rgba(130,99,216,.16); }
.button-primary { background:linear-gradient(115deg,#b6a2ff,#9e9bf8); box-shadow:0 8px 28px rgba(130,102,226,.22); }
.button:hover { background:linear-gradient(115deg,#d2c5ff,#b8b4ff); box-shadow:0 10px 30px rgba(142,119,237,.35); }
.game-choice { background:rgba(17,16,29,.78); border-color:rgba(198,184,255,.15); backdrop-filter:blur(12px); }
.game-choice:hover { border-color:rgba(183,162,255,.52); }
.game-choice.is-selected { background:linear-gradient(110deg,rgba(134,102,215,.28),rgba(71,95,157,.18)); border-color:rgba(183,162,255,.5); color:#f0ebff; box-shadow:0 0 25px rgba(117,85,194,.15); }
.publishing-view { background:radial-gradient(ellipse at 77% 49%,rgba(91,59,163,.24),transparent 39%),radial-gradient(ellipse at 20% 90%,rgba(24,104,144,.16),transparent 35%),linear-gradient(135deg,#090a16,#0d0d1a 60%,#080a13); }
.publishing-art { border-radius:0; background:none; box-shadow:none; object-fit:contain; filter:drop-shadow(0 18px 45px rgba(104,78,188,.22)); }
h1 em { color:#c6b2ff; text-shadow:0 0 34px rgba(151,120,239,.22); }
.publishing-footnote,.assets-intro-bottom { color:#bcb6cd; }
.site-footer { color:#a8a2b8; }
.footer-links a:hover { color:#c6b2ff; }
.assets-main { position:relative; isolation:isolate; background:radial-gradient(ellipse at 17% 86%,rgba(90,53,154,.2),transparent 38%),radial-gradient(ellipse at 90% 10%,rgba(24,105,151,.16),transparent 31%),#080a13; }
.assets-intro { position:relative; z-index:1; background:radial-gradient(circle at 75% 90%,rgba(111,72,176,.25),transparent 54%),rgba(17,16,29,.92); border:1px solid rgba(196,183,255,.14); }
.assets-list { position:relative; z-index:1; }
.asset-card,.asset-card:nth-child(2),.asset-card:nth-child(3) { background:linear-gradient(135deg,rgba(28,26,46,.96),rgba(17,20,37,.94)); border:1px solid rgba(196,183,255,.13); }
.asset-card:hover,.asset-card:nth-child(2):hover,.asset-card:nth-child(3):hover { background:linear-gradient(135deg,rgba(52,42,81,.96),rgba(24,39,62,.96)); border-color:rgba(183,162,255,.4); box-shadow:0 12px 38px rgba(0,0,0,.24); }
.asset-card::before { border-color:rgba(173,180,255,.22); box-shadow:0 0 45px rgba(119,97,206,.13); }
.asset-number,.asset-arrow { color:#c4afff; }
@keyframes star-drift { from { background-position:0 0; } to { background-position:257px 173px; } }
@keyframes star-drift-reverse { from { background-position:0 0; } to { background-position:-331px 227px; } }
@keyframes star-twinkle { from { opacity:.22; } to { opacity:.66; } }

@media (prefers-reduced-motion:reduce) {
  .games-view::before,.publishing-view::before,.assets-main::before,.games-view::after,.publishing-view::after,.assets-main::after { animation:none; }
}
