:root {
  color-scheme: light;
  --bg:#f2f7fb; --panel:#fff; --raised:#e7f1f8; --text:#19334f;
  --muted:#49617b; --line:#c6d8e5; --cyan:#b9eee2; --accent:#147978;
  --gold:#ffe6a7; --radius:22px; --shadow:0 8px 24px #19334f0c;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text); background:var(--bg); font-synthesis:none;
}
* {box-sizing:border-box}
body {margin:0;background:radial-gradient(ellipse at 5% 2%,#def5ee,transparent 42%),radial-gradient(ellipse at 95% 10%,#e9e7fc,transparent 35%)}
[hidden] {display:none!important}
a {color:var(--accent);text-decoration:none}
button,input,select {font:inherit}
button,select {cursor:pointer}
button,a,input,select {-webkit-tap-highlight-color:transparent}
a,button {touch-action:manipulation}
button:disabled {cursor:default;opacity:.64}
:focus-visible {outline:3px solid var(--accent);outline-offset:4px}
h1,h2,h3,p {margin:0}
h1,h2,h3 {line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}
h1 {font-size:clamp(2rem,4.4vw,3.65rem);font-weight:850}
h2 {font-size:clamp(1.4rem,2.3vw,1.9rem);font-weight:800}
h3 {font-size:1.32rem}
p,li {line-height:1.65}
img {max-width:100%;height:auto;display:block}
main,.site-header,.site-footer {width:min(1240px,calc(100% - 48px));margin-inline:auto}
main {min-height:60vh}
.skip-link {position:fixed;z-index:100;top:-80px;left:20px;background:white;border:2px solid var(--accent);border-radius:10px;padding:12px 20px}
.skip-link:focus {top:12px}
.site-header {min-height:84px;display:flex;align-items:center;gap:30px}
.studio-brand {display:flex;align-items:center;gap:12px;color:var(--text);flex-shrink:0;letter-spacing:-.045em;font-size:1.25rem;min-height:48px}
.studio-mark {width:34px;height:34px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-6deg)}
.studio-mark i {background:#68d9c3;border-radius:5px;box-shadow:inset 0 -2px #19334f18}
.studio-mark i:nth-child(2) {background:#b3a0eb}
.studio-mark i:nth-child(3) {background:#ffcc79}
.studio-mark i:nth-child(4) {background:#79b9ee}
.site-header nav,.site-footer nav {display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.site-header nav a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:12px;color:var(--muted);font-size:.9rem;font-weight:650;transition:color .15s,background .15s}
.site-header .games-link {background:#fff9;color:var(--text)}
.site-header .languages {margin-left:auto;padding:3px;gap:1px;border:1px solid var(--line);border-radius:15px;background:#ffffff9c;flex-wrap:nowrap}
.site-header .languages a {min-width:44px;padding:8px;font-size:.78rem}
.languages [aria-current] {background:var(--text);color:#fff!important;box-shadow:0 3px 8px #19334f1a}
.portal-hero {display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(24px,4vw,64px);padding:40px;margin:16px 0 48px;border:1px solid #fff;border-radius:30px;background:linear-gradient(125deg,#e5f5ed,#eaf2fc 54%,#efebfa);box-shadow:var(--shadow);animation:arrive .28s ease-out both}
.hero-copy>p:not(.eyebrow):not(.hero-note) {color:var(--muted);margin:22px 0;font-size:1rem;max-width:510px}
.eyebrow {color:var(--accent);font-size:.73rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.hero-copy>.eyebrow {margin-bottom:16px}
.hero-note {display:flex;gap:8px;align-items:center;color:var(--muted);margin-top:16px;font-size:.83rem}
.hero-note span {color:var(--accent)}
.button,.quiet-button {display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 22px;border-radius:14px;border:1px solid #7bbcad;border-bottom-width:3px;font-weight:750;color:var(--text);background:var(--cyan);box-shadow:0 3px 6px #19334f0a;transition:transform .16s,background .16s,box-shadow .16s}
.button:active,.quiet-button:active {transform:translateY(2px) scale(.98);box-shadow:none}
.quiet-button {background:var(--panel);border-color:var(--line);font-size:.88rem}
.featured-card {display:block;min-width:0;border-radius:24px;overflow:hidden;color:var(--text);background:white;border:1px solid white;box-shadow:0 14px 34px #26496b18,0 3px 0 #c7dce488;transform:rotate(1.25deg);transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s}
.featured-art,.card-art {position:relative;overflow:hidden;aspect-ratio:16/9;background:#d9e9f5}
.featured-art img,.card-art img {width:100%;height:100%;object-fit:cover;transition:transform .25s ease-out}
.featured-badge,.card-badge {position:absolute;left:16px;top:16px;padding:6px 12px;font-size:.7rem;font-weight:750;color:var(--text);background:#fff0ca;border:1px solid #fff8;border-radius:9px}
.featured-copy {padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.featured-copy h2 {margin:6px 0 8px;font-size:clamp(1.4rem,2.3vw,1.9rem)}
.featured-copy div>span:last-child {color:var(--muted);font-size:.86rem}
.play-orb {display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:var(--text);width:48px;height:48px;flex-shrink:0;font-size:1.5rem}
.section-heading {display:flex;gap:16px;align-items:center;justify-content:space-between}
.section-lead {color:var(--muted);margin:10px 0 24px}
.result-count {color:var(--muted);font-size:.8rem;background:var(--raised);border-radius:10px;padding:6px 12px;text-align:center;flex-shrink:0}
.catalog-section {scroll-margin-top:20px}
.catalog-filters {display:flex;align-items:end;gap:14px;margin:0 0 24px;padding:18px;background:white;border:1px solid var(--line);border-radius:18px}
.catalog-filters label {display:grid;gap:8px;color:var(--muted);font-size:.8rem;font-weight:650;flex:1;min-width:0}
.catalog-filters label:last-child {max-width:280px}
.catalog-filters input,.catalog-filters select {width:100%;min-width:0;min-height:48px;padding:12px 14px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:12px;font-size:1rem;transition:border-color .15s,background .15s}
.catalog-filters input::placeholder {color:var(--muted);opacity:1}
.catalog-filters input:focus,.catalog-filters select:focus {background:white;border-color:var(--accent)}
.game-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:24px;align-items:stretch}
.game-card {border-radius:var(--radius);background:white;border:1px solid var(--line);box-shadow:var(--shadow);min-width:0;transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .2s}
.game-card-link {display:flex;flex-direction:column;height:100%;color:var(--text);border-radius:inherit}
.card-art {border-radius:21px 21px 0 0}
.card-badge {left:12px;top:12px;background:#edf5fcf5;font-size:.65rem;padding:5px 8px}
.card-copy {display:flex;flex-direction:column;flex:1;padding:22px}
.card-copy h3 {margin:7px 0 12px}
.card-copy p {color:var(--muted);font-size:.88rem;margin-bottom:20px}
.card-action {margin-top:auto;padding-top:16px;border-top:1px solid #e4edf4;display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:750;color:var(--accent)}
.card-action span {display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7f6ef;font-size:1.1rem}
[data-empty] {padding:32px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:white}
.studio-section {display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px;margin:56px 0;border:1px solid var(--line);border-radius:24px;background:linear-gradient(110deg,#fff,#edf6f4)}
.studio-section h2 {margin:10px 0 14px}
.studio-section p:not(.eyebrow) {color:var(--muted);max-width:600px}
.studio-note {display:flex;gap:14px;align-items:center;font-size:.88rem;max-width:260px!important}
.studio-note span {display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--gold);font-size:1.4rem;flex-shrink:0}
.site-footer {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0 40px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
.site-footer>div {display:grid;gap:8px}
.footer-brand {color:var(--text);font-weight:800;font-size:1rem}
.site-footer nav a {min-height:44px;display:flex;align-items:center;padding:8px 12px;color:var(--muted)}
.breadcrumb {display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;font-weight:650;margin:6px 0 16px}
.web-ad-section {padding:6px 12px 12px;margin-bottom:40px;border:1px solid #d7e2eb;border-radius:14px;background:#eaf0f5;text-align:center}
.ad-label {display:block;color:#597085;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;line-height:20px}
.web-ad-slot {display:grid;place-items:center;min-height:90px;overflow:hidden}
.web-ad-slot p {margin:0;color:#597085;font-size:.8rem}
.game-heading {display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-bottom:24px}
.game-heading h1 {font-size:clamp(1.9rem,4vw,2.8rem);margin-top:8px}
.game-meta,.category-links {display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--muted)}
.game-meta span,.game-meta a,.category-links a {padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:white}
.game-meta a,.category-links a {min-height:44px;display:inline-flex;align-items:center;font-weight:650}
.game-arena {padding:24px 24px 10px;background:radial-gradient(ellipse at 0 25%,#daf0eb,transparent 65%),radial-gradient(ellipse at 100% 75%,#e5e1f8,transparent 65%),#e5eff6;border:1px solid #cddde9;border-radius:26px;box-shadow:var(--shadow)}
.game-stage {position:relative;width:min(100%,var(--game-max-width,540px));aspect-ratio:var(--game-ratio,9/16);margin:0 auto;overflow:hidden;background:#344f71;border:1px solid #819eb6;border-radius:18px;box-shadow:0 12px 30px #19334f25}
.game-stage iframe {position:absolute;inset:0;width:100%;height:100%;border:0;background:#344f71}
.game-launch {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;padding:30px;background:radial-gradient(ellipse at top,#647cb2,transparent),linear-gradient(150deg,#294b69,#3d416c);text-align:center}
.game-launch img {width:auto;max-width:100%;max-height:42%;object-fit:contain;border-radius:14px;box-shadow:0 12px 20px #192d4a33}
.game-launch p {max-width:340px;color:#e1ecfc;font-size:.82rem}
.game-launch .button {background:#c2f2e6;border-color:#a2d8cb}
.game-tools {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 20px;padding-top:12px;min-height:62px;font-size:.84rem}
.game-tools a {display:inline-flex;align-items:center;min-height:44px;text-align:center;font-weight:650}
.game-status {min-height:24px;color:var(--muted);text-align:center;font-size:.86rem;margin-top:8px}
.retry-button {display:flex;margin:12px auto}
.game-stage[data-state="loading"] {outline:3px solid #9bd6cd;outline-offset:3px}
.game-stage[data-state="ready"] iframe {animation:game-ready .2s ease-out}
.game-information {display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin:28px 0 44px}
.game-information section {padding:28px;border:1px solid var(--line);border-radius:22px;background:white}
.game-information h2 {font-size:1.4rem;margin-bottom:18px}
.game-information p {color:var(--muted);margin-top:12px}
.game-information ol {list-style:none;counter-reset:steps;margin:0;padding:0}
.game-information li {counter-increment:steps;position:relative;padding-left:44px;color:var(--muted);margin:16px 0}
.game-information li::before {content:counter(steps);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;color:var(--text);background:#e3f5ee;border-radius:10px;font-weight:750;font-size:.85rem}
.related-section {margin:44px 0 24px}
.related-section h2 {margin-bottom:24px}
.related-empty {display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px;border-radius:20px;border:1px dashed var(--line);background:#fff8;color:var(--muted)}
.related-empty p {max-width:700px}
.related-empty a {flex-shrink:0}
.category-links {margin-bottom:44px}
.category-links>span {margin-right:10px}
.legal-content {max-width:860px;margin:32px auto 64px;padding:32px;background:white;border-radius:22px;border:1px solid var(--line);overflow-wrap:anywhere}
.legal-content h1 {font-size:2rem;margin-bottom:24px}
.legal-content h2 {margin:30px 0 16px;font-size:1.4rem}
.legal-content p {margin:16px 0}
.legal-content a {text-decoration:underline}
.noscript {padding:20px;margin:16px;text-align:center;background:white}
.game-stage:fullscreen {width:min(100vw,calc(100dvh * var(--game-scale,.5625)));height:min(100dvh,calc(100vw / var(--game-scale,.5625)));max-width:none;border:0;border-radius:0;margin:auto}
.game-stage::backdrop {background:#24354c}
@keyframes arrive {from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes game-ready {from{opacity:.8}to{opacity:1}}
@media (hover:hover) and (pointer:fine) {
  .site-header nav a:not([aria-current]):hover {background:#fff;color:var(--accent)}
  .button:not(:disabled):hover {background:#a6e6d7;transform:translateY(-2px);box-shadow:0 6px 12px #19334f16}
  .quiet-button:hover {background:#e6f7ef}
  .game-card:hover {transform:translateY(-4px);box-shadow:0 16px 32px #19334f1a;border-color:#7ab8b0}
  .game-card:hover img {transform:scale(1.025)}
  .featured-card:hover {transform:rotate(0) translateY(-3px);box-shadow:0 20px 36px #26496b24}
  .site-footer a:hover,.breadcrumb:hover {color:var(--accent);text-decoration:underline}
}
.game-card:active,.featured-card:active {transform:scale(.985)}
@media (min-width:1100px) {
  .game-stage {width:min(100%,var(--game-max-width,540px),calc((100svh - 100px) * var(--game-scale,.5625)))}
}
@media (max-width:900px) {
  .portal-hero {padding:28px;gap:26px}
  .site-header {gap:16px}
  .about-link {display:none!important}
  .studio-section {padding:28px}
  .game-information {grid-template-columns:1fr;gap:16px}
}
@media (max-width:640px) {
  main,.site-header,.site-footer {width:calc(100% - 32px)}
  .site-header {min-height:78px;gap:10px}
  .studio-brand {font-size:1.08rem;gap:8px}
  .site-header>nav:not(.languages) {display:none}
  .site-header .languages a {min-width:44px}
  .portal-hero {grid-template-columns:1fr;padding:26px;margin:8px 0 34px;border-radius:24px;gap:28px}
  .hero-copy h1 {max-width:450px}
  .hero-copy>p:not(.eyebrow):not(.hero-note) {margin:16px 0;font-size:.94rem}
  .hero-note {display:inline-flex;margin:12px 0 0 10px;font-size:.78rem}
  .featured-card {transform:none}
  .featured-copy {padding:18px}
  .featured-copy h2 {font-size:1.4rem}
  .studio-section,.site-footer,.related-empty {align-items:start;flex-direction:column}
  .studio-section {margin:36px 0}
  .site-footer nav {gap:2px 8px}
  .site-footer nav a {padding-left:0}
  .catalog-filters {padding:14px;gap:12px}
  .catalog-filters label:last-child {max-width:43%}
  .game-grid {gap:18px}
  .web-ad-section {margin-bottom:32px}
  .web-ad-slot {min-height:100px}
  .game-heading {margin-bottom:18px;gap:12px}
  .game-arena {padding:8px 0;border-radius:18px}
  .game-stage {border-radius:14px}
  .game-tools {padding:10px 12px 0;gap:10px}
  .game-information section {padding:22px}
  .legal-content {padding:22px}
}
@media (max-width:380px) {
  main,.site-header,.site-footer {width:calc(100% - 24px)}
  .studio-brand {font-size:.95rem;gap:6px}
  .studio-mark {width:28px;height:28px}
  .site-header .languages a {min-width:44px;padding:8px 6px}
  .portal-hero {padding:20px}
  .hero-note {display:flex;margin-left:0}
  .catalog-filters {flex-direction:column;align-items:stretch}
  .catalog-filters label:last-child {max-width:none}
  .section-heading {flex-wrap:wrap;gap:10px}
  .game-meta span,.game-meta a {font-size:.74rem;padding:8px 9px}
  .game-tools,.game-tools .quiet-button {font-size:.78rem}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .game-card:hover,.game-card:active,.featured-card,.featured-card:hover,.featured-card:active,.button:hover,.button:active,.quiet-button:active,.game-card:hover img {transform:none!important}
}
