:root{color-scheme:dark;--ink:#f4f4ff;--muted:#aeb8d1;--violet:#ae91ff;--line:#ffffff1b;--navy:#080e25;--panel:#141d38}*{box-sizing:border-box}html{min-height:100%;background:var(--navy)}body{margin:0;min-height:100vh;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse 70% 35% at 85% 2%,#302457 0%,transparent 68%),radial-gradient(ellipse 40% 30% at 4% 50%,#132744 0%,transparent 70%),#080e25}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #e3cbff;outline-offset:3px}[hidden]{display:none!important}.topbar{border-bottom:1px solid #c4c5ff20;background:#090e21e8}.topbar-inner{max-width:1320px;margin:auto;min-height:88px;padding:10px clamp(18px,4vw,48px);display:flex;align-items:center;gap:20px}.brand-logo{width:150px;max-width:39vw;height:66px;object-fit:contain;object-position:left center;display:block}.header-copy{border-left:1px solid #ffffff2b;padding-left:20px;display:grid;gap:3px}.header-copy span,.eyebrow{font-size:.68rem;letter-spacing:.18em;font-weight:800;color:#bda9f4}.header-copy strong{font-size:.9rem;font-weight:600;color:#e7eafd}.offline-badge{margin-left:auto;border:1px solid #ffffff26;background:#ffffff08;color:#cad4e8;border-radius:100px;padding:9px 13px;font-size:.72rem;font-weight:700;white-space:nowrap}.offline-badge span{color:#7fe2c2;font-size:.7rem;margin-right:5px}.main{max-width:1320px;margin:auto;padding:32px clamp(18px,4vw,48px) 64px}.hero{min-height:295px;position:relative;overflow:hidden;border:1px solid #c4b5ff37;border-radius:22px;background:radial-gradient(ellipse at 76% 54%,#6650a9 0%,#2b2958 30%,transparent 62%),linear-gradient(118deg,#192744,#191b3c 63%,#262148);box-shadow:0 20px 55px #0004}.hero:before{content:"";position:absolute;inset:0;opacity:.24;background:linear-gradient(151deg,transparent 39%,#dcdafa 39.2%,transparent 39.6%),linear-gradient(166deg,transparent 52%,#a5a4d3 52.15%,transparent 52.5%),linear-gradient(140deg,transparent 68%,#c4bdff 68.2%,transparent 68.5%);pointer-events:none}.hero-text{position:relative;z-index:1;max-width:650px;padding:clamp(28px,5vw,58px)}.eyebrow{margin:0 0 12px}.eyebrow span{color:#d9cbff;margin-left:6px}h1,h2,p{margin-top:0}.hero h1{font-size:clamp(2.1rem,5vw,3.8rem);line-height:1.07;letter-spacing:-.045em;margin-bottom:17px}.hero h1 em{font-style:normal;color:#d7c5ff}.hero-description{max-width:460px;color:#d3d8ed;line-height:1.6;margin-bottom:23px;font-size:.96rem}.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:.76rem;color:#c3cce1}.hero-meta b{color:white}.meta-dot{color:#bda5ff}.hero-art{position:absolute;right:8%;top:50%;width:230px;height:230px;transform:translateY(-50%);display:grid;place-items:center}.orbit{position:absolute;border:1px solid #d5c8ff68;border-radius:50%;width:190px;height:190px;box-shadow:0 0 40px #b191f72b,inset 0 0 40px #b191f72b}.orbit-two{width:150px;height:150px;border-color:#ddd4ff40}.hero-gem{font-size:100px;color:#e5dbff;text-shadow:0 0 35px #ad8bff;line-height:1}.star{position:absolute;color:#e7e1ff}.star-one{top:0;left:30px}.star-two{bottom:9px;right:14px}.star-three{top:50px;right:0}.shelf-heading{display:flex;justify-content:space-between;align-items:end;margin:48px 0 20px}.shelf-heading h2{font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.035em;margin:0 0 6px}.muted{color:var(--muted);font-size:.88rem;margin:0}.shelf-mark{font-size:2rem;color:#ad98e5}.filters{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 12px;margin-bottom:12px;scrollbar-width:thin}.filter{flex:none;min-height:44px;padding:10px 18px;border-radius:100px;border:1px solid #ffffff2b;background:#ffffff08;color:#c9d0e1;font-weight:700;font-size:.82rem}.filter:hover{background:#ffffff15}.filter.active{background:#e8defe;color:#201a3c;border-color:#e8defe}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}.game-card{min-width:0;min-height:190px;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:18px;text-align:left;border:1px solid #d0d6ff24;border-radius:16px;background:linear-gradient(145deg,#1d2945,#151d37 70%);color:var(--ink);box-shadow:0 8px 24px #0002}.game-card.playable:hover{transform:translateY(-3px);border-color:#c5acff8c;box-shadow:0 12px 30px #0005;transition:transform .18s,border-color .18s}.game-card[disabled]{cursor:default;color:var(--ink);opacity:1}.game-card:before{content:"";position:absolute;inset:0;background:linear-gradient(148deg,transparent 42%,#e9e9fa0a 42.3%,transparent 42.8%),linear-gradient(166deg,transparent 74%,#c8b9ff0a 74.2%,transparent 74.6%);pointer-events:none}.card-top,.card-title,.card-category,.card-bottom{position:relative}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:auto}.game-icon{width:47px;height:47px;border-radius:13px;display:grid;place-items:center;font-size:1.5rem;color:#e4daff;background:linear-gradient(145deg,#705caa,#393b6b);border:1px solid #e3d8ff42;box-shadow:inset 0 1px 2px #ffffff2b}.card-status{font-size:.64rem;letter-spacing:.055em;text-transform:uppercase;font-weight:800;padding:6px 8px;border-radius:100px;background:#a7e7d51a;color:#a5e6d1;white-space:nowrap}.card-status.soon{background:#ffffff0c;color:#aab4c9}.card-title{font-size:1.05rem;font-weight:750;letter-spacing:-.015em;margin:18px 0 4px}.card-category{font-size:.76rem;color:#aebbd2}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff13;margin-top:14px;padding-top:11px;color:#c6b5f8;font-size:.73rem;font-weight:750}.game-card[disabled] .card-bottom{color:#8e99b1}.card-arrow{font-size:1rem}.play-view{min-height:60vh}.play-heading{display:flex;align-items:center;gap:24px;margin:4px 0 24px}.play-heading h1{font-size:clamp(1.5rem,4vw,2.2rem);margin:0}.play-heading .eyebrow{margin:0 0 5px}.back-button{min-height:48px;padding:10px 16px;border:1px solid #c4b5ff66;border-radius:12px;background:#272c4d;color:white;font-weight:700;white-space:nowrap}.back-button:hover{background:#3a3765}.game-root{min-height:200px;border:1px solid #ffffff22;border-radius:18px;padding:clamp(12px,3vw,28px);background:linear-gradient(145deg,#1b2641,#10182e);overflow:auto}.game-error{padding:16px;border-radius:12px;background:#5b293b;color:white}.footer{max-width:1320px;margin:auto;padding:25px clamp(18px,4vw,48px) 35px;border-top:1px solid #ffffff18;display:flex;justify-content:space-between;gap:12px;color:#8e9bb7;font-size:.7rem;letter-spacing:.08em;font-weight:700}.loading{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at center,#28214b,#080d20 70%);display:grid;place-items:center;padding:24px}.loading-card{width:min(360px,100%);text-align:center}.loading-logo{display:block;width:min(290px,80vw);height:auto;max-height:180px;object-fit:contain;margin:0 auto 28px}.loading-card p{font-size:.88rem;color:#d8def2;letter-spacing:.03em;margin:18px 0}.loading-line{height:3px;overflow:hidden;background:#ffffff1c;border-radius:9px}.loading-line span{display:block;height:100%;width:40%;border-radius:9px;background:linear-gradient(90deg,transparent,#c5a5ff,#eef0ff);animation:loading 1.2s ease-in-out infinite}@keyframes loading{from{transform:translateX(-120%)}to{transform:translateX(350%)}}@media(max-width:700px){.topbar-inner{min-height:74px;gap:10px}.brand-logo{width:130px;height:54px}.header-copy{display:none}.offline-badge{font-size:.66rem;padding:8px 10px}.main{padding-top:20px}.hero{min-height:0}.hero-text{padding:30px 24px}.hero-art{opacity:.22;right:-45px;transform:translateY(-50%) scale(.8)}.hero-text{max-width:460px}.hero-description{max-width:320px}.shelf-heading{margin-top:36px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card{padding:14px;min-height:180px}.card-title{font-size:.95rem}.game-icon{width:42px;height:42px}.card-status{font-size:.58rem;padding:5px}.play-heading{align-items:flex-start;flex-direction:column;gap:18px}.footer{font-size:.62rem}}@media(max-width:360px){.game-grid{grid-template-columns:1fr}.game-card{min-height:165px}.hero-meta .meta-dot{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}
