@font-face{font-family:Outfit;src:url("assets/fonts/outfit-400.ttf") format("truetype");font-display:swap;font-weight:400}
@font-face{font-family:Outfit;src:url("assets/fonts/outfit-600.ttf") format("truetype");font-display:swap;font-weight:500 650}
@font-face{font-family:Outfit;src:url("assets/fonts/outfit-800.ttf") format("truetype");font-display:swap;font-weight:700 900}
.game-artwork{position:relative;display:block;overflow:hidden;isolation:isolate}
.game-cover .game-artwork{position:absolute;inset:0}
.game-artwork img.art-background{width:100%;height:100%;object-fit:cover;object-position:center}
.game-artwork img.art-character{position:absolute;inset:auto 0 0;width:100%;height:100%;object-fit:contain;object-position:center bottom;z-index:1}
.game-artwork img.art-logo{position:absolute;left:4%;bottom:9%;width:92%;height:auto;max-height:42%;object-fit:contain;z-index:2;filter:drop-shadow(0 4px 7px #0009)}
.game-artwork[data-artwork="puff-panic"] img.art-logo{top:7%;bottom:auto}
.game-artwork[data-artwork="puff-panic"] img.art-character{bottom:-5%;height:93%}
.game-artwork[data-artwork="top-that"] img.art-character{bottom:22%;height:auto}
.game-artwork[data-artwork="top-that"] img.art-logo{bottom:11%}
.game-artwork .art-title{position:absolute;z-index:2;top:7%;left:4%;right:4%;font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;font-size:clamp(26px,3.2vw,48px);text-align:center;line-height:1.05;letter-spacing:2px;color:#ffe3c3;text-shadow:0 2px #411615,0 0 12px #ff402c,0 3px 9px #000}
.art-title span{display:block}
.game-artwork[data-artwork="nothing-to-declare"] img.art-courier-sprite{position:absolute;top:24%;left:-2%;width:400%;height:auto;max-width:none;clip-path:inset(0 75% 75% 0);z-index:1}
.game-artwork[data-artwork="nothing-to-declare"] .art-title{font-family:Outfit,Arial,sans-serif;font-weight:900;letter-spacing:-1.5px;transform:rotate(-3deg);color:#fff1cc;line-height:.98;text-shadow:0 3px #183d36,2px 5px #183d36,0 0 12px #183d36;-webkit-text-stroke:1px #183d36;paint-order:stroke fill}
#details-art{min-height:380px;aspect-ratio:2/3}
#intro-art{width:120px;height:180px;border-radius:12px;margin:0 auto 20px;box-shadow:0 10px 40px #0007}
.player-intro #intro-art img{border-radius:0;margin:0;box-shadow:none}
.player-intro .art-title{font-size:22px}
@media(max-width:540px){#details-art{height:300px;min-height:0;width:200px;margin:18px auto 0;border-radius:10px}}
:root{color-scheme:dark;--bg:#080e20;--surface:#101a30;--line:#23304a;--muted:#96a3bb;--orange:#ff812b;--yellow:#ffc357;--text:#f6f7fc;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Outfit,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}button{border:0}img{display:block;max-width:100%}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}button svg{pointer-events:none}[hidden]{display:none!important}
.skip{position:fixed;top:-100px;left:20px;background:var(--orange);color:#080e20;padding:12px;z-index:100}.skip:focus{top:16px}.header{height:88px;border-bottom:1px solid #ffffff0d;background:#080e20ed}.header-inner{height:100%;max-width:1440px;margin:auto;padding:0 48px;display:flex;align-items:center;gap:66px}.brand{width:182px;flex:none;overflow:hidden}.brand img{width:100%;height:61px;object-fit:contain}.header nav{display:flex;align-items:center;gap:32px;height:100%}.nav-link{background:none;font-size:13px;font-weight:650;color:var(--muted);height:100%;display:flex;align-items:center;position:relative;gap:8px;white-space:nowrap}.nav-link:hover,.nav-link.active{color:white}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--orange)}.nav-link span{font-size:10px;display:grid;place-items:center;width:19px;height:19px;background:#ffffff0e;border-radius:5px}.demo-badge{margin-left:auto;font-size:9px;letter-spacing:1.2px;font-weight:700;white-space:nowrap;color:#c1cbdf;display:flex;gap:9px;align-items:center}.demo-badge i,.spotlight-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 15px #ff812b77}.shell{max-width:1440px;padding:32px 48px 0;margin:auto}.hero{isolation:isolate;position:relative;overflow:hidden;min-height:420px;border:1px solid #31405a;border-radius:22px;background:#101c34;display:flex;align-items:center}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#101c34 0%,#101c34f7 31%,#101c348c 51%,#101c3400 72%),linear-gradient(0deg,#07101be8 0%,transparent 30%)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px #ffffff10}.hero-art{position:absolute;z-index:-2;inset:0 0 0 34%;background:url("assets/games/campanas-landscape-v1.png") center 48%/cover no-repeat}.hero-content{position:relative;padding:44px 40px 50px;width:60%}.eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:2px;font-weight:750;color:#d8dfed}.orange-dash{width:20px;height:2px;background:var(--orange)}h1{font-size:clamp(30px,3vw,44px);line-height:1.18;letter-spacing:-1.8px;margin:22px 0 17px;font-weight:800}h1 span{color:#ffb260}.hero-content>p{font-size:13px;line-height:1.9;color:#b6c4dc;margin:0 0 27px}.button{min-height:46px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;font-size:12px;font-weight:800;border:1px solid transparent;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.primary{background:linear-gradient(110deg,#ffbd53,#ff7926);color:#1a160d;box-shadow:0 5px 22px #fb92241f}.primary:hover{background:var(--yellow)}.secondary{background:#17243a;border-color:#344059;color:#e2e9f5}.play-icon{font-size:11px}.hero-explore{display:inline-flex;align-items:center;gap:15px;margin-left:22px;color:#c2ccde;font-size:11px}.hero-explore:hover{color:white}.hero-caption{position:absolute;bottom:24px;right:28px;display:flex;align-items:center;gap:13px}.hero-caption small{display:block;font-size:8px;letter-spacing:1.5px;color:#bdc8db;margin-bottom:5px}.hero-caption strong{font-size:13px;font-weight:700}.caption-tag{font-size:9px;padding:6px 10px;border:1px solid #ffffff33;border-radius:5px;background:#ffffff0b;margin-left:12px}.collection-strip{display:flex;align-items:center;gap:20px;padding:20px 0 26px;color:var(--muted);font-size:11px;border-bottom:1px solid #ffffff0a}.collection-strip b{color:var(--yellow);margin-right:5px;font-size:13px}.strip-divider{height:12px;width:1px;background:var(--line)}.strip-end{margin-left:auto;font-size:10px}.strip-end>span{border:1px solid #414b5d;border-radius:50%;padding:4px;font-size:8px;margin-right:7px}
.catalog-section{padding-top:35px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.muted{font-size:8px;color:#8395b2;letter-spacing:1.7px}.section-heading h2{font-size:25px;letter-spacing:-.8px;margin:7px 0 0;line-height:1.4}.section-heading h2 span{color:var(--orange)}.search{display:flex;align-items:center;gap:11px;background:#111a2c;border:1px solid #263147;border-radius:9px;padding:0 14px;width:255px;min-height:42px;color:#8291ac}.search svg{width:16px;height:16px;flex:none}.search input{background:none;border:0;outline:none!important;color:white;min-width:0;width:100%;font-size:11px;padding:10px 0}.search:focus-within{border-color:var(--orange)}.search input::placeholder{color:#8291ac}.catalog-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 23px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{background:transparent;color:#9cabc2;border-radius:7px;padding:10px 15px;font-size:11px;border:1px solid transparent;display:flex;align-items:center;gap:8px;min-height:38px}.filter:hover{background:#182237;color:#fff}.filter.active{background:#ff8d2717;color:#ffb566;border-color:#ff9d3f50}.filter span{font-size:11px}.filter[data-filter=all] span{background:#ffb05a22;border-radius:4px;padding:1px 5px;font-size:9px}.results-count{font-size:10px;color:#7486a4;white-space:nowrap}.game-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 20px}.game-card{position:relative;min-width:0}.game-cover{position:relative;overflow:hidden;display:block;aspect-ratio:2/3;border-radius:13px;background:#142038;border:1px solid #ffffff14}.game-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#081024a6,transparent 27%);pointer-events:none}.game-cover img{height:100%;width:100%;object-fit:cover;object-position:center 41%;transition:transform .45s ease,filter .3s}.game-card:hover .game-cover img{transform:scale(1.04)}.game-cover:hover img{filter:brightness(.64)}.cover-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-40%);background:var(--yellow);color:#151921;padding:12px 17px;border-radius:8px;font-size:11px;font-weight:800;white-space:nowrap;opacity:0;transition:.2s}.game-cover:hover .cover-play,.game-cover:focus-visible .cover-play{opacity:1;transform:translate(-50%,-50%)}.favorite-button{position:absolute;right:10px;top:10px;z-index:2;width:32px;height:32px;background:#060e1dc2;border:1px solid #ffffff29;display:grid;place-items:center;border-radius:50%;backdrop-filter:blur(8px);color:white}.favorite-button svg{width:16px;height:16px}.favorite-button:hover{background:#182039}.favorite-button[aria-pressed=true]{color:var(--yellow)}.favorite-button[aria-pressed=true] svg{fill:var(--yellow);stroke:var(--yellow)}.card-kicker{position:absolute;bottom:12px;left:12px;z-index:1;text-transform:uppercase;font-size:7px;letter-spacing:1.3px;background:#080e2099;padding:5px 7px;border-radius:4px;backdrop-filter:blur(5px);color:#e7edfa}.card-body{padding:13px 2px 0;display:flex;gap:6px;align-items:flex-start}.card-body>div{min-width:0;flex:1}.card-body h3{font-size:12px;line-height:1.5;margin:0 0 4px;font-weight:750}.card-body h3 a:hover{color:var(--yellow)}.card-meta{font-size:9px;color:#8193b3;line-height:1.5;margin:0}.card-meta span{color:#465773;margin:0 5px}.info-button{background:transparent;color:#687b9b;padding:3px;display:grid;place-items:center;min-width:30px;min-height:30px;border-radius:6px}.info-button:hover{color:var(--yellow);background:#14213a}.info-button svg{width:17px;height:17px}.empty-state{text-align:center;padding:70px 20px;background:#101a2d;border:1px dashed #2b3a56;border-radius:15px}.empty-state h3{margin:15px 0 10px;font-size:21px}.empty-state p{color:var(--muted);line-height:1.8}.empty-icon{font-size:45px;color:var(--orange)}.empty-state .button{margin-top:12px}
.closing{display:flex;align-items:center;gap:20px;margin:45px 0 35px;border:1px solid #253350;border-radius:13px;padding:26px 30px;background:linear-gradient(110deg,#14203a,#0d1426)}.closing-icon{font-size:32px;color:var(--orange)}.closing h2{font-size:17px;letter-spacing:-.5px;margin:0 0 7px}.closing p{font-size:11px;color:var(--muted);margin:0}.outline-label{margin-left:auto;font-size:8px;letter-spacing:1.8px;color:#6e84aa;border-left:1px solid #293956;padding:12px 0 12px 30px}.footer{max-width:1440px;margin:auto;padding:0 48px 28px;display:flex;justify-content:space-between;gap:20px;color:#7384a1;font-size:10px;line-height:1.8}.footer strong{font-size:13px;color:#c5d0e1}.footer strong span{font-size:10px;color:#7384a1;font-weight:400}.footer p{margin:6px 0 0}.footer>p{text-align:right}.footer>p>span{color:#536580}
.details-dialog{padding:0;max-width:760px;width:calc(100% - 32px);border:1px solid #34425e;border-radius:18px;background:#111b30;color:white;overflow:hidden}.details-dialog[open]{display:grid;grid-template-columns:40% 1fr}.details-dialog::backdrop{background:#030815c9;backdrop-filter:blur(9px)}.details-dialog>img{width:100%;height:100%;object-fit:cover}.details-copy{padding:42px 32px}.details-copy .eyebrow{font-size:8px;color:var(--orange)}.details-copy h2{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:16px 0}.details-copy p{font-size:12px;line-height:1.9;color:#afbdd4}.details-copy dl{display:flex;gap:22px;padding:16px 0 24px;margin:0;flex-wrap:wrap}.details-copy dt{font-size:9px;color:#7e91af;margin-bottom:6px}.details-copy dd{margin:0;font-size:12px;font-weight:700}.details-note{display:block;font-size:9px;color:#798ba8;margin-top:16px}.close-dialog{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;background:#081124cc;color:white;font-size:22px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);border:1px solid #596785;background:#1b2b45;color:white;z-index:20;padding:12px 20px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 8px 30px #0005}.toast.visible{opacity:1;transform:translate(-50%,0)}
.player-shell{max-width:1440px;margin:0 auto;padding:26px 36px}.player-toolbar{display:flex;align-items:center;gap:22px;margin-bottom:20px}.back-link{font-size:12px;color:#abbad2;padding:10px 0;white-space:nowrap}.player-heading{padding-left:22px;border-left:1px solid var(--line)}.player-heading h1{font-size:19px;letter-spacing:-.5px;margin:0 0 4px}.player-heading p{font-size:10px;color:var(--muted);margin:0}.player-actions{margin-left:auto;display:flex;gap:9px}.player-actions .button{min-height:38px;font-size:10px;padding:0 13px}.player-stage{position:relative;background:#030713;border:1px solid #263751;border-radius:15px;overflow:hidden;width:100%;height:min(73vh,820px);min-height:400px;display:grid;place-items:center}.player-stage:fullscreen{border:0;border-radius:0;height:100vh;max-height:none}.player-stage iframe{border:0;width:100%;height:100%;position:absolute;inset:0;background:#000}.player-intro{text-align:center;padding:28px;max-width:530px}.player-intro img{width:120px;height:150px;object-fit:cover;border-radius:12px;margin:0 auto 20px;box-shadow:0 10px 40px #0007}.player-intro h2{font-size:23px;margin:0 0 10px}.player-intro p{color:#9aaccc;font-size:12px;line-height:1.9;margin:0 0 18px}.player-notice{font-size:11px;line-height:1.8;color:#869ab8;margin:14px 0;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.player-notice a{text-decoration:underline;text-underline-offset:3px}.load-status{position:absolute;z-index:3;left:18px;bottom:18px;background:#111d33e8;color:#d6e1f4;border:1px solid #36445c;padding:10px 14px;border-radius:8px;max-width:calc(100% - 36px);font-size:11px;pointer-events:none}.player-error{text-align:center;padding:50px 25px}.player-error p{color:var(--muted);line-height:1.8}
@media(min-width:1500px){.hero{min-height:440px}.game-cover{aspect-ratio:2/3}}
@media(max-width:1100px){.header-inner{gap:36px;padding:0 28px}.shell{padding:25px 28px 0}.footer{padding:0 28px 25px}.hero-content{padding:35px 28px;width:68%}h1{font-size:35px}.hero-explore{display:flex;margin:20px 0 0}.hero{min-height:410px}.game-grid{gap:23px 15px}.game-cover{aspect-ratio:2/3}.card-body h3{font-size:11px}.demo-badge{font-size:8px;letter-spacing:.8px}.collection-strip{gap:12px}.strip-end{font-size:9px}.hero-caption{right:18px;bottom:20px}.caption-tag{display:none}}
@media(max-width:800px){.header-inner{gap:28px}.brand{width:145px}.header{height:76px}.header nav{gap:20px}.nav-link{font-size:11px}.demo-badge{display:none}.header nav{margin-left:auto}.hero{min-height:380px}.hero-content{width:78%}.hero-art{left:20%;opacity:.8}.hero:before{background:linear-gradient(90deg,#101c34,#101c34e6 35%,#101c3433),linear-gradient(0deg,#07101be8,transparent 40%)}h1{font-size:32px}.hero-caption{display:none}.collection-strip{font-size:10px}.strip-end{display:none}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 18px}.game-cover{aspect-ratio:2/3}.section-heading h2{font-size:23px}.search{width:220px}.filter{padding:8px 10px;font-size:10px}.results-count{display:none}.outline-label{display:none}.footer{font-size:9px}.player-actions .external-label{display:none}}
@media(max-width:540px){html{scroll-padding-top:20px}.header-inner{padding:0 18px;gap:15px}.brand{width:132px}.header nav{gap:17px}.nav-link{font-size:10px}.nav-link span{width:17px;height:17px;font-size:9px}.shell{padding:18px 18px 0}.hero{min-height:470px;border-radius:16px;align-items:flex-start}.hero-content{width:100%;padding:28px 24px}.hero .eyebrow{font-size:7px;letter-spacing:1.8px}.hero-art{inset:36% -25% -6% 0;background-position:65% center;opacity:1}.hero:before{background:linear-gradient(180deg,#101c34 0%,#101c34 25%,#101c34d9 46%,#101c3400 72%),linear-gradient(0deg,#07101ba6,transparent 30%)}h1{font-size:30px;line-height:1.15;letter-spacing:-1.3px;margin:18px 0 13px}.hero-content>p{font-size:11px;line-height:1.8;margin-bottom:20px}.button{font-size:11px;min-height:43px}.hero-explore{display:none}.hero-caption{display:flex;left:22px;right:auto;bottom:19px}.hero-caption strong{font-size:12px}.hero-caption small{font-size:7px}.hero-caption .spotlight-dot{display:none}.collection-strip{gap:10px;padding:17px 0 21px;font-size:8px}.collection-strip b{font-size:11px}.catalog-section{padding-top:25px}.section-heading{display:block}.section-heading h2{font-size:24px}.muted{font-size:7px;letter-spacing:1.5px}.search{width:100%;margin-top:20px}.catalog-controls{margin:17px 0 20px}.filters{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:3px 2px 6px;gap:5px;scrollbar-width:thin}.filter{white-space:nowrap;font-size:10px;padding:8px 11px;flex-shrink:0}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}.game-cover{aspect-ratio:2/3;border-radius:11px}.card-body{padding-top:10px}.card-body h3{font-size:11px}.card-meta{font-size:8px}.card-meta span{margin:0 3px}.card-kicker{font-size:6px;left:9px;bottom:9px;padding:4px 6px}.favorite-button{width:30px;height:30px;top:8px;right:8px}.closing{margin:30px 0 24px;padding:21px 19px;gap:15px}.closing h2{font-size:14px}.closing p{font-size:9px;line-height:1.8}.closing-icon{font-size:25px}.footer{padding:0 20px 25px;display:block}.footer>p{text-align:left;margin-top:18px}.details-dialog[open]{display:block;max-width:360px}.details-dialog>img{height:180px;object-position:50% 30%}.details-copy{padding:26px}.details-copy h2{font-size:24px}.details-copy p{font-size:11px}.details-copy dl{padding-bottom:18px}.toast{width:max-content;max-width:calc(100% - 30px);font-size:11px;text-align:center}.player-shell{padding:18px 14px}.player-toolbar{flex-wrap:wrap;gap:12px}.player-heading{padding-left:12px}.player-heading h1{font-size:15px}.player-actions{width:100%;margin:0;justify-content:flex-end}.player-stage{min-height:480px;height:72svh;border-radius:10px}.player-notice{font-size:10px}.player-intro{padding:24px}.player-intro h2{font-size:21px}.player-intro img{width:100px;height:140px}.player-actions .external-label{display:inline}}
/* TechFusion brand integration and interaction polish. */
body{background:radial-gradient(ellipse at 48% -15%,#142343 0,transparent 48%),var(--bg)}
.header{height:94px;background:#080e20e8;position:relative;border-bottom:1px solid #a6c4ff12}
.header:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent 2%,#ffb742 18%,#ff722d 36%,#2466d555 66%,transparent 96%)}
.header-inner{gap:48px}
.brand{width:225px;overflow:visible;transition:opacity .2s}
.brand:hover{opacity:.88}
.brand img{width:100%;height:74px;object-fit:contain}
.header nav{height:auto;gap:8px;padding-left:26px;border-left:1px solid #ffffff12}
.nav-link{gap:9px;height:44px;padding:0 16px;border-radius:9px;font-size:12px;font-weight:600;transition:background .2s,color .2s}
.nav-link svg{width:17px;height:17px;flex:none;stroke-width:1.7;color:#889dbe}
.nav-link:hover{background:#ffffff05}
.nav-link.active{background:#15223a;color:#fff;box-shadow:inset 0 0 0 1px #7a9ddf16}
.nav-link.active svg{color:var(--yellow)}
.nav-link.active:after{display:none}
.nav-link .nav-label{display:inline;width:auto;height:auto;background:none;border-radius:0;font-size:inherit}
.nav-link #favorite-count{background:#ffffff09;color:#a6b8d2;width:19px;height:19px}
.demo-badge{letter-spacing:1px;font-size:9px;padding:10px 13px;border:1px solid #3e52722e;border-radius:30px;background:#0e1829}
.shell{padding-top:30px}
.hero{border-color:#7295cc36;box-shadow:0 18px 50px -24px #0009;border-radius:24px}
.hero-content{padding-top:48px;padding-bottom:56px}
.hero .eyebrow{color:#c4d2e9;letter-spacing:1.8px}
.hero-content h1{font-weight:700;line-height:1.14;letter-spacing:-1.6px}
.hero-content>p{font-size:14px;line-height:1.8}
.primary{box-shadow:0 6px 28px #fb922428,inset 0 1px #fff4}
.button{min-height:48px;border-radius:9px;font-weight:600;font-size:13px}
.hero-explore{font-size:12px}
.hero-caption{background:#07102080;backdrop-filter:blur(14px);border:1px solid #ffffff12;border-radius:12px;padding:13px 16px;bottom:23px;right:24px}
.hero-caption strong{font-size:14px}
.hero-caption small{font-size:8px;letter-spacing:1.4px}
.hero-caption .caption-tag{background:#ffffff08;border-color:#ffffff1c}
.collection-strip{padding-top:22px;padding-bottom:27px;font-size:12px}
.strip-end{font-size:10px}
.catalog-section{padding-top:37px}
.section-heading h2{font-size:28px;letter-spacing:-.8px;font-weight:600}
.muted{font-size:9px;letter-spacing:1.6px;color:#91a5c5}
.search{min-height:46px;border-radius:11px;background:#101a2e;border-color:#7998ca25;width:270px;transition:border-color .2s,box-shadow .2s}
.search:focus-within{box-shadow:0 0 0 3px #ff9f2b12}
.search input{font-size:12px;padding-top:12px;padding-bottom:12px}
.filter{font-size:12px;padding:10px 15px;min-height:42px;border-radius:8px}
.results-count{color:#8b9fbe;font-size:11px}
.game-grid{row-gap:30px}
.game-cover{border-color:#ffffff19;box-shadow:0 8px 24px -16px #000b;transition:transform .25s,border-color .25s,box-shadow .25s}
.game-cover:hover,.game-cover:focus-visible{transform:translateY(-5px);border-color:#f2b65b70;box-shadow:0 17px 32px -16px #000d,0 0 0 1px #ffb34717}
.game-card:hover .game-cover img{transform:scale(1.025)}
.game-cover:hover img{filter:brightness(.72)}
.cover-play{background:linear-gradient(110deg,#ffc257,#ff862d);font-size:12px;font-weight:600;box-shadow:0 5px 22px #0004}
.favorite-button{width:36px;height:36px;transition:background .18s,transform .18s}
.favorite-button:hover{transform:scale(1.08)}
.favorite-button[aria-pressed=true]{background:#332718de;border-color:#ffc35760}
.card-body{padding-top:14px}
.card-body h3{font-size:14px;line-height:1.4;font-weight:600;margin-bottom:6px}
.card-meta{font-size:11px;color:#92a5c2}
.card-kicker{font-size:8px;font-weight:500;letter-spacing:1px}
.info-button{min-height:34px;min-width:34px;color:#8a9dbc}
.closing{border-color:#7896c326;background:linear-gradient(110deg,#142440,#0e182c);padding:28px 30px}
.closing h2{font-weight:600;font-size:19px}
.closing p{font-size:12px}
.footer{align-items:center;padding-top:0;font-size:11px;padding-bottom:32px}
.footer-brand{display:block;width:161px;margin-bottom:9px}
.footer-brand img{width:100%;height:48px;object-fit:contain;object-position:left center}
.footer p{color:#8b9db9}
.footer>p>span{color:#7186a6}
.player-toolbar .button{font-weight:500}
.player-shell{padding-top:28px}
.player-intro .button{min-width:170px}
.details-copy h2{font-weight:600}
.close-dialog{width:38px;height:38px}
.details-copy p{font-size:13px}
@media(max-width:1100px){
  .header-inner{gap:25px}.brand{width:205px}.header nav{padding-left:22px}.nav-link{padding:0 12px}.demo-badge{padding:9px 10px;font-size:8px}
  .hero-content h1{font-size:34px}.hero-content>p{font-size:13px}.hero-caption strong{font-size:12px}
  .card-body h3{font-size:12px}.card-meta{font-size:10px}.strip-end{font-size:9px}
}
@media(max-width:800px){
  .header{height:84px}.brand{width:190px}.brand img{height:62px}.header-inner{gap:18px}.header nav{padding-left:18px;margin-left:auto}.nav-link{font-size:11px;padding:0 11px}.nav-link svg{width:15px;height:15px}
  .hero-content{padding-top:37px;padding-bottom:40px}.hero-caption{display:none}.hero-content>p{font-size:13px}
  .collection-strip{font-size:11px}.search{width:235px}.section-heading h2{font-size:26px}
  .card-body h3{font-size:14px}.card-meta{font-size:11px}.card-kicker{font-size:8px}
}
@media(max-width:540px){
  .header{height:120px}.header-inner{position:relative;flex-wrap:wrap;justify-content:center;gap:0;padding:7px 18px 9px}
  .brand{width:195px;margin:0 auto;height:58px}.brand img{height:58px}
  .header nav{width:100%;justify-content:center;border-left:0;border-top:1px solid #ffffff0a;padding:5px 0 0;margin:0;gap:8px}
  .nav-link{height:35px;padding:0 13px;gap:8px;font-size:11px;border-radius:7px}.nav-link #favorite-count{width:17px;height:17px;font-size:9px}
  .header-inner>.demo-badge{display:none}
  .shell{padding-top:18px}.hero{border-radius:18px;min-height:475px}
  .hero:before{background:linear-gradient(180deg,#101c34 0%,#101c34 45%,#101c3400 70%),linear-gradient(0deg,#07101ba6,transparent 30%)}
  .hero-content{padding:28px 23px}.hero-content h1{font-size:30px;line-height:1.15;letter-spacing:-1.1px}
  .hero-content>p{font-size:12px;line-height:1.75}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}
  .button{font-size:12px;min-height:45px}
  .hero-caption{display:flex;padding:10px 13px;bottom:17px;left:18px;right:auto}.hero-caption strong{font-size:12px}.hero-caption small{font-size:7px}.hero-caption .caption-tag{display:none}
  .collection-strip{padding:19px 0 22px;gap:10px;font-size:9px}
  .catalog-section{padding-top:27px}.section-heading h2{font-size:26px}.muted{font-size:8px;letter-spacing:1.3px}
  .search{width:100%;min-height:46px;margin-top:20px}.search input{font-size:12px}
  .filter{font-size:11px;min-height:42px;padding:8px 12px}.game-grid{gap:26px 13px}
  .card-body h3{font-size:12px}.card-meta{font-size:10px;line-height:1.6}.card-meta span{margin:0 3px}.card-kicker{font-size:7px;padding:5px 7px}
  .favorite-button{width:36px;height:36px;top:7px;right:7px}.info-button{min-width:30px}
  .closing{padding:23px 18px}.closing h2{font-size:16px}.closing p{font-size:11px}
  .footer{font-size:10px;padding-bottom:28px}.footer-brand{width:151px;margin-bottom:7px}.footer-brand img{height:45px}.footer>p{margin-top:17px}
  .player-header{height:80px}.player-header .header-inner{justify-content:flex-start}.player-header .brand{margin:0}
  .player-shell{padding-top:18px}
}
@media(hover:none){
  .game-cover:hover,.game-cover:focus-visible{transform:none}
  .game-cover:hover img{filter:none}
  .game-cover:hover .cover-play{opacity:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.details-dialog{max-height:calc(100svh - 32px);overflow-y:auto}

@font-face{font-family:DeadEnd;src:url("assets/fonts/dead-end-display.woff2") format("woff2");font-display:swap}
.game-artwork[data-artwork="dead-end-motel"] .art-title{font-family:DeadEnd,Impact,sans-serif;top:auto;bottom:10%;color:#fff2e4}

/* A language choice stays visible in the lobby and beside the player. */
.header-inner{gap:24px}
.language-picker{display:flex;flex-direction:column;gap:4px;flex:none;min-width:104px;color:#9caeca;font-size:9px;letter-spacing:.3px}
.language-picker>span{padding-left:2px}
.language-picker select{width:100%;min-height:36px;border:1px solid #3c506e;border-radius:8px;padding:6px 9px;background:#111d32;color:#f6f7fc;font:inherit;font-size:12px;cursor:pointer}
.language-picker select:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.hero-content h1 .hero-title-main,.section-heading h2 .catalog-title-main{color:var(--text)}
.filter[data-filter=all] .filter-label{background:none;padding:0;font-size:inherit}
.strip-end>.strip-disclaimer{border:0;border-radius:0;padding:0;font-size:inherit;margin:0}
.card-meta .card-grid,.card-meta .card-tag{color:inherit;margin:0}
@media(max-width:1100px){
  .header-inner{gap:18px}.header-inner>.demo-badge{display:none}.language-picker{margin-left:auto}
  .header nav{padding-left:18px}
}
@media(max-width:840px){
  .header{height:124px}
  .header-inner{flex-wrap:wrap;justify-content:space-between;gap:0 8px;padding-top:5px;padding-bottom:9px}
  .header .brand{order:1;width:min(205px,calc(100% - 118px));height:58px;margin:0}
  .header .brand img{height:58px}
  .language-picker{order:2;margin-left:auto;min-width:104px}
  .header nav{order:3;width:100%;height:auto;justify-content:center;border-left:0;border-top:1px solid #ffffff0a;padding:6px 0 0;margin:0;gap:8px}
  .nav-link{height:37px;padding:0 13px;font-size:11px}
  .player-header{height:80px}
  .player-header .header-inner{flex-wrap:nowrap}
}

/* Play in place: the catalogue stays behind a native, keyboard-safe dialog. */
body.demo-modal-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
.game-modal{width:min(1480px,calc(100vw - 40px));height:min(960px,calc(100dvh - 40px));max-width:none;max-height:none;padding:0;margin:auto;border:1px solid #405171;border-radius:18px;background:#070d1a;color:var(--text);box-shadow:0 30px 120px #000a;overflow:hidden}
.game-modal::backdrop{background:#02050ed9;backdrop-filter:blur(12px)}
.game-modal-shell{height:100%;width:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#070d1a}
.game-modal-shell:fullscreen{width:100vw;height:100dvh;max-width:none;border-radius:0}
.game-modal-bar{display:flex;align-items:center;gap:24px;padding:13px 18px 13px 24px;min-height:82px;background:linear-gradient(105deg,#15223a,#0c1425);border-bottom:1px solid #ffffff10}
.game-modal-heading{display:flex;align-items:center;gap:13px;min-width:0;flex:1}
.game-modal-heading>div{min-width:0}
.game-modal-indicator{width:7px;height:28px;flex:none;border-radius:4px;background:linear-gradient(#ffc357,#ff812b);box-shadow:0 0 22px #ff9d3940}
.game-modal-heading h2{font-size:21px;line-height:1.2;letter-spacing:-.4px;margin:0 0 5px;font-weight:600}
.game-modal-heading p{font-size:11px;line-height:1.5;color:#95a9c9;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-modal-controls{display:flex;align-items:center;gap:10px;flex:none}
.game-modal-controls .language-picker{margin:0 8px 0 0;min-width:100px}
.game-modal-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border:1px solid #3b4a65;border-radius:9px;background:#19253b;color:#bdcbe0}
.game-modal-icon:hover{background:#253653;color:#fff;border-color:#657fa5}
.game-modal-close{color:#fff;background:#263149}
.game-modal-close:hover{background:#6a352b;border-color:#d08869}
.game-modal-icon svg{width:19px;height:19px}
.game-modal-stage{position:relative;min-height:0;min-width:0;background:#030712;overflow:hidden}
.game-modal-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.game-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 20px;min-height:48px;border-top:1px solid #ffffff0e;background:#0d1628;color:#8ea2c0;font-size:10px}
.game-modal-footer>div{display:flex;align-items:center;gap:19px}
.demo-text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:none;color:#b6c6de;font:inherit;font-size:11px;padding:8px 0;min-height:38px;white-space:nowrap}
.demo-text-button:hover{color:#ffc357}
.demo-loading{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;background:radial-gradient(ellipse at center,#17253e,#070d1c);text-align:center;color:#b8c8e2}
.demo-loading p{max-width:460px;font-size:13px;line-height:1.7;margin:0}
.demo-spinner{width:36px;height:36px;border:3px solid #314462;border-top-color:#ffb849;border-radius:50%;animation:demo-spin .8s linear infinite}
.demo-loading.is-problem{inset:auto 16px 16px;display:flex;flex-direction:row;gap:16px;justify-content:space-between;padding:15px 18px;text-align:left;border:1px solid #6a5844;border-radius:10px;background:#162136f5;box-shadow:0 8px 30px #0005}
.demo-loading.is-problem p{font-size:12px;max-width:none}
.demo-loading.is-problem .button{flex:none;min-height:40px}
@keyframes demo-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .game-modal{width:100vw;height:100dvh;border:0;border-radius:0;margin:0}
  .game-modal-bar{gap:10px;padding:calc(10px + env(safe-area-inset-top)) 10px 10px 14px;min-height:72px}
  .game-modal-heading{gap:8px}.game-modal-indicator{width:4px;height:24px}
  .game-modal-heading h2{font-size:16px;line-height:1.2;margin-bottom:4px}
  .game-modal-heading p{font-size:9px}
  .game-modal-controls{gap:6px}
  .game-modal-controls .language-picker{min-width:86px;width:86px;margin:0 2px 0 0}
  .game-modal-controls .language-picker>span{display:none}
  .game-modal-controls select{min-height:38px;font-size:11px;padding:6px}
  .game-modal-icon{width:38px;height:38px;border-radius:8px}
  .game-modal-footer{justify-content:center;flex-wrap:wrap;gap:0;padding:5px 12px calc(4px + env(safe-area-inset-bottom));font-size:9px}
  .game-modal-footer>span{width:100%;text-align:center;line-height:1.6}
  .game-modal-footer>div{gap:24px}
  .demo-text-button{min-height:32px;font-size:10px}
  .demo-loading.is-problem{inset:auto 10px 10px;padding:12px;gap:12px;flex-wrap:wrap}
  .demo-loading.is-problem p{font-size:11px}
  .player-actions{flex-wrap:wrap}
}
