
:root{--bg:#0B1220;--card:#121B30;--line:#22305c;--line-soft:#1a2748;--ink:#EDF1F9;--muted:#8B96B3;--accent:#E8B84B;--accent-2:#FFD37A;--emerald:#34D399;--emerald-2:#6EE7B0;--radius-lg:20px;--radius-md:14px;}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{background:radial-gradient(900px 500px at 50% -8%, #16214d 0%, transparent 60%), var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}.top{padding:16px 20px;border-bottom:1px solid var(--line-soft)}
.brand{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;font-weight:800;letter-spacing:-.01em;font-size:.95rem}
main{max-width:600px;margin:0 auto;padding:36px 18px 60px}
.hero{text-align:center;margin-bottom:34px}
.hero-icon{width:80px;height:80px;margin:0 auto 18px;filter:drop-shadow(0 8px 20px rgba(232,184,75,.35));border-radius:18px}
h1{margin:0 0 10px;font-size:1.55rem;line-height:1.35;font-weight:800;letter-spacing:-.01em;background:linear-gradient(155deg,#fff 30%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{margin:0;color:var(--muted);font-size:.94rem;max-width:38ch;margin-inline:auto}
.notice{margin:0 0 22px;padding:14px 16px;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);font-size:.88rem;color:var(--muted)}
.game-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:30px}
.game-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:16px;display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease;min-width:0;max-width:100%}
.game-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.game-icon{width:64px;height:64px;border-radius:14px;object-fit:cover;flex:none;border:1px solid var(--line-soft);background:#fff}
.game-info{flex:1;min-width:0}
.game-name{font-weight:700;font-size:1rem;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-req{color:var(--muted);font-size:.8rem;line-height:1.4;overflow-wrap:anywhere;}
.store-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;background:linear-gradient(155deg,var(--accent-2),var(--accent));color:#241705;font-weight:800;font-size:.88rem;text-decoration:none;white-space:nowrap;transition:transform .15s ease;flex-shrink:0;}
.store-btn svg{width:18px;height:18px}
.offer-btn svg{width:16px;height:16px;flex:none}
.brand-logo{display:block;height:32px;width:auto;max-width:200px;object-fit:contain}
.offers{grid-template-columns:minmax(0,1fr)}.offers>li{min-width:0}.offer-link{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media (max-width: 374px){.offer-link{flex-wrap:wrap!important}.offer-btn{flex:1 1 100%!important;justify-content:center;padding:11px 16px!important}.game-card{flex-wrap:wrap}.game-card .store-btn{flex:1 1 100%;padding:11px 16px}}
.foot{margin:30px 0 0;font-size:.76rem;color:#5E6889;line-height:1.6;text-align:center}
@media (max-width: 480px){.game-card{padding:13px;gap:13px}.game-icon{width:52px;height:52px;border-radius:13px}.store-btn{padding:9px 14px;gap:6px;font-size:.82rem;border-radius:999px}.store-btn svg{width:16px;height:16px}}
@media (prefers-reduced-motion: reduce){.game-card{transition:none}.store-btn{transition:none}}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}
