@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color-scheme:dark;--bg:#0b1426;--surface:#142440;--surface2:#1a3054;--text:#f5f8ff;--muted:#a9b9d3;--line:#344763;--accent:#8cbcff;--accentstrong:#5298f8;--input:#11213b;--chip:#1b2e4b;--buttonText:#0b1c34}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.wrap{width:min(1140px,calc(100% - 48px));margin:auto}.site-shell{overflow:hidden}.skip-link{position:absolute;top:-100px;left:1rem;background:white;color:black;padding:10px;z-index:20}.skip-link:focus{top:1rem}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px}.brand-symbol{width:46px;height:46px;display:grid;place-items:center;background:#1d3964;border:1px solid #3c68a4;border-radius:13px;color:#b6dbff;font-size:31px}.brand-type{display:flex;flex-direction:column;gap:5px}.brand-type strong{font-family:Outfit,system-ui,sans-serif;letter-spacing:2.4px;line-height:.93;font-size:15px}.brand-type small{font-size:8px;letter-spacing:2px;color:var(--muted);white-space:nowrap}.nav{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:700;color:var(--muted)}.nav a:hover,.nav a:focus-visible{color:var(--text)}.icon-button{background:var(--chip);color:var(--text);border:1px solid var(--line);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:20px}.hero{min-height:500px;display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:20px;padding:36px 0 84px}.eyebrow{color:#a1ccff;letter-spacing:2.2px;font-size:11px;font-weight:800}.sparkle{font-size:15px;margin-right:8px}.hero h1{font-family:Outfit,sans-serif;font-weight:700;font-size:clamp(42px,5vw,73px);line-height:1.09;letter-spacing:-2px;margin:24px 0}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#8fc1ff,#d0baff);color:transparent;background-clip:text}.hero-content>p{max-width:480px;color:var(--muted);font-size:18px;line-height:1.65}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:11px;padding:14px 21px;font-size:13px;font-weight:800;border:1px solid transparent}.button.primary{color:#07182d;background:linear-gradient(100deg,#8fc4ff,#b5d3ff)}.button.primary:hover{filter:brightness(1.09)}.button.secondary{border-color:var(--line);color:var(--text);background:var(--chip)}.button.light-outline{border-color:#809cc9;color:white;white-space:nowrap}.hero-foot{color:var(--muted);font-size:12px;display:flex;gap:9px;align-items:center}.tiny-dot{width:7px;height:7px;border-radius:50%;background:#88e3b9}.hero-art{height:420px;position:relative}.orb{position:absolute;border-radius:50%;filter:blur(6px)}.orb-one{inset:27px 44px 8px 19px;background:radial-gradient(circle at 35% 34%,#345a9b,#172d57 55%,transparent 74%);opacity:.85}.orb-two{width:180px;height:180px;right:-30px;bottom:20px;background:radial-gradient(#7c65b6,transparent 70%);opacity:.34}.orbit{border-radius:50%;border:1px solid #6c9ce040;position:absolute;left:10%;top:6%;height:88%;width:82%;transform:rotate(-28deg)}.orbit-two{transform:rotate(44deg);width:73%;left:16%;border-style:dashed}.art-card{position:absolute;border:1px solid #719bca88;box-shadow:0 25px 70px #030e2688;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;backdrop-filter:blur(12px);font-family:Outfit,sans-serif;font-weight:800}.art-card small{font-size:10px;letter-spacing:2.2px;color:#dbe9ff}.art-emoji{top:24px;left:28%;width:173px;height:190px;border-radius:23px;background:linear-gradient(145deg,#355f9a99,#273d7399);font-size:83px;transform:rotate(-11deg)}.art-letter{right:8%;top:127px;width:167px;height:173px;background:linear-gradient(140deg,#594a9899,#2d316cdd);border-radius:22px;font-size:77px;transform:rotate(13deg)}.art-star{left:15%;bottom:8px;width:164px;height:156px;background:linear-gradient(140deg,#246e83dd,#234c7999);border-radius:22px;font-size:85px;transform:rotate(-8deg);color:#9ceadb}.twinkle{position:absolute;color:#b6caff}.t1{top:10px;right:13%;font-size:30px}.t2{top:52%;left:4%;font-size:22px}.t3{bottom:14px;right:6%;font-size:30px}.catalog-section{padding:32px 0 100px;scroll-margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-heading h2,.manifesto h2{font-family:Outfit,sans-serif;font-size:clamp(28px,3.4vw,40px);letter-spacing:-1px;margin:13px 0}.section-heading p{color:var(--muted);font-size:15px}.collection-count{font-size:10px;letter-spacing:2px;color:var(--muted);white-space:nowrap}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:35px 0 24px}.filter-group{display:flex;gap:7px;flex-wrap:wrap}.filter{background:transparent;color:var(--muted);border:1px solid var(--line);padding:11px 16px;border-radius:9px;font-weight:700;font-size:12px}.filter.active{background:var(--accent);color:#08203e;border-color:var(--accent)}.search{width:240px;background:var(--input);border:1px solid var(--line);border-radius:9px;padding:10px 13px;display:flex;gap:9px;color:var(--muted)}.search input{background:transparent;border:0;outline:0;width:100%;min-width:0;color:var(--text);font-size:12px}.search:focus-within{outline:2px solid var(--accent)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.game-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-4px);border-color:#79a4dc}.card-art{height:180px;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden}.card-art:before{content:'';position:absolute;width:230px;height:230px;border:1px solid #ffffff3b;border-radius:50%;left:-58px;top:-110px}.card-art:after{content:'';position:absolute;width:140px;height:140px;border:1px solid #ffffff2a;border-radius:30%;right:-30px;bottom:-80px;transform:rotate(35deg)}.card-art .art-symbol{font-size:83px;filter:drop-shadow(0 12px 20px #06152b77);line-height:1}.card-art .letter-symbol{font-family:Outfit,sans-serif;font-size:82px;font-weight:700;color:#f5e9ff}.card-art[data-art="emoji"]{background:linear-gradient(135deg,#3157a1,#6d5bb1)}.card-art[data-art="memory"]{background:linear-gradient(135deg,#1a678e,#2a8da0)}.card-art[data-art="tap"]{background:linear-gradient(135deg,#7142a6,#c1649c)}.card-art[data-art="alchemy"]{background:linear-gradient(135deg,#2a7676,#5ba369)}.card-art[data-art="goblin"]{background:linear-gradient(135deg,#83602e,#b0914a)}.card-art[data-art="tongue"]{background:linear-gradient(135deg,#5d4eae,#9772bd)}.art-badge{position:absolute;top:15px;left:15px;border-radius:7px;padding:7px 9px;color:#f5f8ff;background:#0d1c35ac;font-size:10px;font-weight:800;letter-spacing:.6px}.card-content{padding:20px;display:flex;flex:1;flex-direction:column}.card-category{color:var(--accent);font-size:10px;letter-spacing:1.4px;font-weight:800;text-transform:uppercase}.card-content h3{font-family:Outfit,sans-serif;font-size:23px;letter-spacing:-.3px;margin:10px 0}.card-content p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 22px}.card-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.status{font-size:11px;color:var(--muted)}.card-action{border:0;background:transparent;font-weight:800;color:var(--accent);font-size:12px;padding:7px 0}.card-action:hover{text-decoration:underline}.empty-state{text-align:center;padding:40px;color:var(--muted)}.manifesto{display:flex;justify-content:space-between;gap:28px;align-items:center;background:linear-gradient(115deg,#1a3865,#273c74 60%,#4d3d79);padding:45px;border-radius:20px;color:white}.manifesto-mark{font-size:70px;color:#b9d7ff;flex-shrink:0}.manifesto>div{max-width:580px}.manifesto .eyebrow{color:#b9d7ff}.manifesto h2{margin:12px 0}.manifesto p{color:#d0dcf4;font-size:14px;line-height:1.6}.footer{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:54px 0 46px;color:var(--muted);font-size:12px}.footer-brand{color:var(--text);letter-spacing:1.5px;font-size:12px}.footer-brand:first-letter{color:#91beff}.footer small{font-size:11px}dialog{width:min(460px,calc(100% - 30px));border:1px solid var(--line);background:var(--surface);color:var(--text);padding:30px;border-radius:20px;box-shadow:0 35px 100px #0009}dialog::backdrop{background:#020918c4;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:15px;width:32px;height:32px;font-size:15px}.detail-hero{font-size:65px;margin:12px 0}.detail-type{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:800}.detail-title{font-family:Outfit,sans-serif;font-size:32px;margin:10px 0}.detail-description{line-height:1.7;color:var(--muted);font-size:14px}.detail-note{margin:20px 0;padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:13px;line-height:1.6}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}body.light{color-scheme:light;--bg:#f6f8fd;--surface:#fff;--surface2:#eaf0fb;--text:#17243b;--muted:#63728b;--line:#dbe3ef;--accent:#285caa;--accentstrong:#286ac2;--input:#fff;--chip:#eaf0fa;--buttonText:#fff}body.light .hero h1 em{background:linear-gradient(90deg,#2169b7,#7553af);color:transparent;background-clip:text}body.light .brand-symbol{background:#e0ecff;color:#366aa9;border-color:#b0cef5}body.light .hero-art{filter:saturate(1.1)}body.light .orb-one{background:radial-gradient(circle at 35% 34%,#91baf1,#d6e5fa 55%,transparent 74%)}body.light .art-card{box-shadow:0 25px 70px #7b93bd66}body.light .button.primary{background:#296cc4;color:white}body.light .filter.active{background:#296cc4;color:white}body.light .card-action{color:#2864ac}body.light .art-badge{color:white}body.light .manifesto{color:white}body.light .manifesto h2{color:white}body.light .footer-brand{color:#17243b}@media(max-width:920px){.hero{grid-template-columns:1.1fr .8fr}.hero-art{transform:scale(.85);transform-origin:center}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manifesto{flex-wrap:wrap}.manifesto-mark{display:none}}@media(max-width:650px){.wrap{width:min(100% - 32px,1140px)}.site-header{height:86px}.brand-type strong{font-size:12px;letter-spacing:1.8px}.brand-type small{font-size:7px}.brand-symbol{width:40px;height:40px}.nav{gap:12px}.nav a{font-size:11px}.nav a:first-child{display:none}.hero{padding:40px 0 70px;grid-template-columns:1fr;min-height:0}.hero h1{font-size:clamp(42px,10vw,58px)}.hero-art{height:260px;max-width:400px;width:100%;margin:0 auto;transform:scale(.75);transform-origin:center}.art-emoji{top:0}.art-letter{top:70px}.art-star{bottom:0}.hero-content>p{font-size:16px}.hero-actions{margin:25px 0}.section-heading{align-items:flex-start}.collection-count{display:none}.toolbar{flex-direction:column;align-items:stretch}.filter-group{gap:6px}.filter{padding:10px 12px}.search{width:100%}.catalog-grid{gap:12px}.card-art{height:140px}.card-art .art-symbol{font-size:65px}.card-content{padding:15px}.card-content h3{font-size:19px}.card-content p{font-size:12px}.card-bottom{align-items:flex-start;flex-direction:column}.manifesto{padding:26px}.footer{flex-direction:column;align-items:flex-start;gap:12px}}@media(max-width:380px){.nav a:nth-child(3){display:none}.catalog-grid{grid-template-columns:1fr}.card-art{height:180px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.game-card{transition:none}}
/* The full card is the launch target, including touch and keyboard use. */
.game-card{position:relative;cursor:pointer}
.card-hit-target{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;border-radius:inherit;cursor:pointer}
.game-card:focus-within{outline:3px solid var(--accent);outline-offset:3px;border-color:var(--accent)}
.card-hit-target:focus-visible{outline:none}
.card-action{pointer-events:none}
