@import "https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&family=IBM+Plex+Mono:wght@300;400;500;600;700&display=swap";
.CosmicFlowBackground-module__MwV62W__root{z-index:-3;pointer-events:none;background:radial-gradient(circle,#1a1a1d 0%,#050505 100%);position:fixed;inset:0;overflow:hidden}.CosmicFlowBackground-module__MwV62W__canvas{width:100%;height:100%;opacity:var(--cosmic-flow-opacity,.72);display:block}.CosmicFlowBackground-module__MwV62W__readabilityOverlay{background:radial-gradient(75% 55% at 50% 35%,#0505080f 0%,#05050833 68%,#05050857 100%),linear-gradient(#04040824 0%,#0404086b 66%,#0404088f 100%);position:absolute;inset:0}
:root{--bg-deep:#07080f;--bg-surface:#0d0f1a;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--text-primary:#f0f0ff;--text-secondary:#f0f0ff8c;--text-muted:#f0f0ff4d;--border:#ffffff14;--border-hover:#ffffff2e;--accent:#ba64f7;--accent-end:#5598f6;--accent-glow:#ba64f740;--text-gradient-from:#f43f5e;--text-gradient-mid:#e12afb;--text-gradient-to:#ff8b1a;--section-pad:clamp(5rem, 10vw, 9rem);--container:min(90rem, 90vw);--radius-card:1.5rem;--radius-btn:.75rem;--ease:cubic-bezier(.16, 1, .3, 1);--t-fast:.18s var(--ease);--t-mid:.32s var(--ease);--cosmic-flow-opacity:.86;--cosmic-stars-opacity:.42;--cosmic-ribbon-opacity:.62;--cosmic-glow-opacity:.38}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:110%}body{background:var(--bg-deep);color:var(--text-primary);font-family:Courier Prime,monospace;font-size:1.05rem;line-height:1.6;overflow-x:hidden}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;background:0 0;border:none}ul{list-style:none}.container{width:var(--container);margin-inline:auto}.section{padding-block:var(--section-pad)}.display{letter-spacing:-.02em;font-family:IBM Plex Mono,monospace;font-weight:700;line-height:1.1}.display-xl{font-size:clamp(2.8rem,7vw,6rem)}.display-lg{font-size:clamp(2rem,5vw,3.5rem)}.display-md{font-size:clamp(1.5rem,3.5vw,2.4rem)}.headline{font-family:IBM Plex Mono,monospace;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600}.body-lg{font-size:1.125rem}.body{font-size:1rem}.caption{font-family:IBM Plex Mono,monospace;font-size:.8125rem}.overline{letter-spacing:.15em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:700}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.gradient-text{background:linear-gradient(90deg, var(--text-gradient-from) 0%, var(--text-gradient-mid) 52%, var(--text-gradient-to) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);-webkit-backdrop-filter:blur(12px);transition:background var(--t-mid), border-color var(--t-mid), transform var(--t-mid), box-shadow var(--t-mid)}.glass-card:hover{background:var(--bg-card-hover);border-color:#fff3;transform:translateY(-4px);box-shadow:0 28px 64px #00000080,0 0 0 1px #ffffff0f}.btn{border-radius:var(--radius-btn);transition:all var(--t-fast);white-space:nowrap;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(90deg, var(--text-gradient-from) 0%, var(--text-gradient-mid) 52%, var(--text-gradient-to) 100%);color:#fff;box-shadow:0 4px 20px #f43f5e47}.btn-primary:hover{opacity:.88;transform:translateY(-2px);box-shadow:0 8px 32px #f43f5e61}.btn-ghost{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary)}.btn-ghost:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-2px)}.btn-store{color:var(--text-primary);transition:all var(--t-fast);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:.875rem;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-store:hover{background:#ffffff1f;border-color:#fff3;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.btn-store svg{flex-shrink:0}.btn-store-label{flex-direction:column;line-height:1.2;display:flex}.btn-store-label span:first-child{opacity:.7;font-size:.6rem;font-weight:400}.btn-store-label span:last-child{font-size:.875rem;font-weight:700}.divider{background:var(--border);width:100%;height:1px}.tag{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:99px;align-items:center;gap:.4rem;padding:.3rem .8rem;font-size:.75rem;font-weight:600;display:inline-flex}.asset-placeholder{color:var(--text-muted);letter-spacing:.06em;text-align:center;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#ffffff0a,#ffffff03);border:1.5px dashed #ffffff1f;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex;position:relative;overflow:hidden}.asset-placeholder:before{content:"";background:linear-gradient(135deg, var(--accent) 0%, var(--accent-end) 100%);opacity:.03;position:absolute;inset:0}.asset-placeholder-icon{opacity:.3;font-size:2rem}.app-icon-placeholder{background:linear-gradient(135deg, var(--accent), var(--accent-end));color:#fff;opacity:.9;border-radius:1.25rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:800;display:flex}.grid-2{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}@media (max-width:900px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){:root{--cosmic-flow-opacity:.72;--cosmic-stars-opacity:.3;--cosmic-ribbon-opacity:.48;--cosmic-glow-opacity:.26}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.fade-up{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(28px)}.fade-up.visible{opacity:1;transform:translateY(0)}
