:root{color-scheme:dark;--brand:hsl(262 60% 54%);--brand-strong:hsl(262 75% 72%);--accent:hsl(42 95% 58%);--bg:hsl(250 22% 9%);--surface:hsl(250 18% 13%);--surface-raised:hsl(250 16% 17%);--border:hsl(250 12% 26%);--text:hsl(250 15% 92%);--text-muted:hsl(250 10% 68%);--success:hsl(145 55% 55%);--warning:hsl(38 90% 60%);--error:hsl(0 75% 68%);--info:hsl(205 80% 65%);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-12:48px;--s-16:64px;--font:system-ui,-apple-system,"Segoe UI",sans-serif;--fs-sm:0.833rem;--fs-base:1rem;--fs-md:1.2rem;--fs-lg:1.44rem;--fs-xl:1.728rem;--fs-2xl:2.488rem;--radius:10px;--radius-sm:6px;--shadow:0 4px 16px hsl(250 30% 4%/0.5);--focus-ring:2px solid var(--accent)}*,:after,:before{box-sizing:border-box}body,html{overflow-x:hidden}body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:1.6;background:var(--bg);color:var(--text)}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.2;margin:0 0 var(--s-4)}h1{font-size:var(--fs-2xl)}h1,h2{font-weight:700}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-md);font-weight:600}p{margin:0 0 var(--s-4)}a{color:var(--brand-strong)}:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:hsl(250 30% 10%);padding:var(--s-3) var(--s-4);border-radius:0 0 var(--radius-sm) 0;font-weight:600}.skip-link:focus{left:0}.container{max-width:1080px;margin-inline:auto;padding-inline:var(--s-4)}main{min-height:60vh;padding-block:var(--s-8) var(--s-16)}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.site-header .container{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;padding-block:var(--s-3)}.logo{font-weight:700;font-size:var(--fs-md);color:var(--text);text-decoration:none;margin-right:auto}.logo .dot{color:var(--accent)}.site-nav{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.site-nav a{color:var(--text-muted);text-decoration:none;padding:var(--s-3) var(--s-3);border-radius:var(--radius-sm);min-height:48px;display:inline-flex;align-items:center}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text);background:var(--surface-raised)}.site-nav a.btn-primary{color:white;background:var(--brand)}.site-nav a.btn-primary:hover{background:var(--brand-strong);color:hsl(250 30% 10%)}.site-footer{border-top:1px solid var(--border);padding-block:var(--s-8);color:var(--text-muted);font-size:var(--fs-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:48px;padding:var(--s-3) var(--s-6);font:600 var(--fs-base) var(--font);border-radius:var(--radius);border:1px solid transparent;cursor:pointer;text-decoration:none;text-align:center}.btn-primary{background:var(--brand);color:white}.btn-primary:hover{background:var(--brand-strong)}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-raised)}.btn-danger{background:transparent;color:var(--error);border-color:var(--error)}.btn:disabled{opacity:.6;cursor:not-allowed}.form{display:grid;grid-gap:var(--s-4);gap:var(--s-4);max-width:420px}.field{display:grid;grid-gap:var(--s-1);gap:var(--s-1)}.field label{font-weight:600;font-size:var(--fs-sm)}.field input{font-size:16px;padding:var(--s-3) var(--s-4);min-height:48px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm)}.field input:focus-visible{outline:var(--focus-ring);outline-offset:1px}.field-error{color:var(--error);font-size:var(--fs-sm)}.form-error{background:hsl(0 40% 18%);border:1px solid var(--error);color:var(--text);padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm)}.form-hint{color:var(--text-muted);font-size:var(--fs-sm)}.form-success{background:hsl(145 40% 16%);border:1px solid var(--success);color:var(--text);padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm)}.password-wrap{position:relative;display:flex}.password-wrap input{flex:1 1;-webkit-padding-end:4rem;padding-inline-end:4rem}.password-toggle{position:absolute;inset-inline-end:var(--s-1);top:50%;transform:translateY(-50%);min-height:40px;padding-inline:var(--s-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--brand-strong);font:600 var(--fs-sm) var(--font);cursor:pointer}.password-toggle:hover{background:var(--surface-raised)}.hero{padding-block:var(--s-12);text-align:left;max-width:720px}.hero .kicker{color:var(--accent);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:var(--fs-sm);margin-bottom:var(--s-2)}.hero p.lede{font-size:var(--fs-md);color:var(--text-muted);max-width:56ch}.hero-actions{display:flex;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-6)}.feature-grid{display:grid;grid-gap:var(--s-4);gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-block:var(--s-8)}.feature{background:var(--surface);border-radius:var(--radius);padding:var(--s-6)}.feature h3{margin-bottom:var(--s-2)}.feature p{color:var(--text-muted);margin:0;overflow-wrap:break-word}.price-grid{display:grid;grid-gap:var(--s-4);gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-block:var(--s-8);align-items:start}.price-card{background:var(--surface);border-radius:var(--radius);padding:var(--s-6);border:1px solid var(--border);display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.price-card.featured{border-color:var(--brand);box-shadow:var(--shadow)}.price{font-size:var(--fs-xl);font-weight:700}.price small{font-size:var(--fs-sm);color:var(--text-muted);font-weight:400}.price-card ul{margin:0;padding-left:1.2em;color:var(--text-muted)}.price-card li{margin-bottom:var(--s-1)}.catalog-toolbar{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--s-6)}.chip{display:inline-flex;align-items:center;min-height:48px;padding:var(--s-2) var(--s-4);border-radius:999px;border:1px solid var(--border);color:var(--text-muted);text-decoration:none;font-size:var(--fs-sm);font-weight:600}.chip[aria-current=true]{background:var(--brand);border-color:var(--brand);color:white}.chip:not([aria-current=true]):hover{color:var(--text);background:var(--surface-raised)}.game-grid{display:grid;grid-gap:var(--s-4);gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.game-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:var(--text);transition:transform .12s ease,box-shadow .12s ease}.game-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.game-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.game-card-body{padding:var(--s-4);display:grid;grid-gap:var(--s-1);gap:var(--s-1);align-content:start}.game-card-body h3{margin:0;overflow-wrap:break-word}.game-card-meta{color:var(--text-muted);display:flex;gap:var(--s-2);flex-wrap:wrap}.badge,.game-card-meta{font-size:var(--fs-sm);align-items:center}.badge{display:inline-flex;padding:2px var(--s-2);border-radius:999px;font-weight:600}.badge-owned{background:hsl(145 40% 20%);color:var(--success)}.badge-genre{background:var(--surface-raised);color:var(--text-muted)}.game-detail{display:grid;grid-gap:var(--s-8);gap:var(--s-8);grid-template-columns:1fr}@media (min-width:760px){.game-detail{grid-template-columns:3fr 2fr;align-items:start}}.game-detail img{border-radius:var(--radius);width:100%}.buy-panel{background:var(--surface);border-radius:var(--radius);padding:var(--s-6);display:grid;grid-gap:var(--s-4);gap:var(--s-4)}.topic-list{margin:0;padding-left:1.2em}.topic-list li{margin-bottom:var(--s-1);overflow-wrap:break-word}.meta-row{color:var(--text-muted);font-size:var(--fs-sm)}.panel{background:var(--surface);border-radius:var(--radius);padding:var(--s-6);margin-bottom:var(--s-6)}.panel h2{font-size:var(--fs-lg)}.device-row{display:flex;align-items:center;gap:var(--s-3);padding-block:var(--s-3);border-top:1px solid var(--border);flex-wrap:wrap}.device-row:first-of-type{border-top:0}.device-row .grow{flex:1 1 200px;min-width:0;overflow-wrap:break-word}.token-reveal{background:var(--bg);border:1px dashed var(--accent);border-radius:var(--radius-sm);padding:var(--s-4);font-family:ui-monospace,monospace;font-size:var(--fs-sm);overflow-wrap:break-word;word-break:break-all}.status-line{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.status-ok{color:var(--success);font-weight:600}.status-warn{color:var(--warning);font-weight:600}[aria-live] .ok{color:var(--success)}[aria-live] .err{color:var(--error)}.steps{list-style:none;margin:0 0 var(--s-8);padding:0;grid-gap:var(--s-4)}.step,.steps{display:grid;gap:var(--s-4)}.step{grid-template-columns:auto 1fr;grid-gap:var(--s-4);background:var(--surface);border-radius:var(--radius);padding:var(--s-6)}.step h2{font-size:var(--fs-lg);margin-bottom:var(--s-2)}.step p{overflow-wrap:break-word}.step p:last-child{margin-bottom:0}.step-num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--brand);color:white;font-weight:700;font-size:var(--fs-md)}.platform-cards{display:flex;gap:var(--s-3);flex-wrap:wrap;margin:var(--s-4) 0}.platform-card{display:flex;flex-direction:column;gap:var(--s-1);min-width:140px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.platform-name{font-weight:600;font-size:var(--fs-md)}.coming-soon{font-size:var(--fs-sm);color:var(--accent);font-weight:600}.platform-card-ready{text-decoration:none;color:var(--text);border-color:var(--brand)}.platform-card-ready:hover{background:var(--surface-raised)}.download-cta{font-size:var(--fs-sm);color:var(--brand-strong);font-weight:700}@media (max-width:600px){.step{grid-template-columns:1fr}.step-num{width:36px;height:36px}}.empty{text-align:center;padding:var(--s-12) var(--s-4);color:var(--text-muted);background:var(--surface);border-radius:var(--radius)}.empty h2{color:var(--text)}@media (max-width:600px){.hero{padding-block:var(--s-8)}.buy-panel,.feature,.panel,.price-card{padding:var(--s-4)}}