/* v1.1.1: v1.0.4 artwork with the public/member catalog introduced in v1.1.0. */
.public-site [hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.public-site{font-size:16px;overflow-wrap:anywhere}
.public-site :focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.public-site button{font:inherit;color:inherit;cursor:pointer}
.public-site button:disabled{cursor:wait;opacity:.65}
.public-site .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;text-align:center}
.public-site .section{width:100%;max-width:1280px;padding:64px 50px;scroll-margin-top:88px}
.public-site .section.alt{max-width:none;padding-inline:max(50px,calc((100% - 1180px)/2))}
.public-site .section.alt>*{max-width:1180px}
.public-site .section h2,.public-site .contact h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.public-site .section-head{gap:24px;margin-bottom:24px}
.public-nav{gap:24px}
.public-nav>nav{gap:22px;margin-left:auto}
.public-nav .account-nav{gap:8px;align-items:center}
.public-nav .account-nav a,.public-nav .account-nav button{display:inline-flex;align-items:center;min-height:42px;padding:9px 13px;border:1px solid #31516b;border-radius:10px;background:#0b1b2a;color:#e3f1fb;font-size:.82rem;font-weight:750;white-space:nowrap}
.public-nav .account-nav [data-home-signout]{background:transparent}
.public-nav .account-nav .admin-nav-link{border-color:#2d765a;background:#092116;color:#7cecb8}
.public-nav .account-confirming,.public-nav .account-loading{font-size:.78rem;color:var(--muted)}
.public-nav .language-trigger{min-height:44px}
.public-nav .language-menu a{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:8px;font-size:.9rem}
.public-nav .language-menu a:hover,.public-nav .language-menu a[aria-current]{background:#16344b;color:#e4f6ff}
.public-nav .language-menu a[aria-current] .lang-check{opacity:1}
.public-site .public-home-hero{height:clamp(600px,72svh,740px);min-height:600px;padding:130px max(50px,calc((100% - 1180px)/2)) 110px;background:#06090f}
.public-home-hero .hero-inner{width:100%;max-width:1180px}
.public-home-hero .bg-video{display:block;opacity:.58}
.public-site .public-home-hero h1{font-size:clamp(4rem,7.2vw,7rem);margin:22px 0 26px;max-width:1100px}
.public-site .public-home-hero h1 .hero-brand{font-size:1em;line-height:1;letter-spacing:.035em}
.public-site .public-home-hero h1 .hero-accent{font-size:.43em;line-height:1.4;margin-top:18px;letter-spacing:-.025em}
.public-site .public-home-hero p{max-width:710px;margin:0;font-size:clamp(1rem,1.35vw,1.2rem)}
.public-home-hero .cta{margin-top:30px}
.hero-video-toggle{position:absolute;bottom:70px;right:max(24px,calc((100% - 1180px)/2));z-index:3;min-width:44px;min-height:44px;padding:8px 13px;border:1px solid #7c9bbc66;border-radius:24px;background:#081321a8;color:#e3effa;font-size:.8rem!important;backdrop-filter:blur(8px)}
.public-site .public-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100% - 100px);max-width:1180px;margin:-52px auto 0;padding:0}
.public-stats>div{padding:23px 14px}
.public-stats strong{font-size:1.35rem}
.public-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.public-category-card{display:flex;flex-direction:column;position:relative;min-width:0;overflow:hidden;border:1px solid #29415c;border-radius:16px;background:linear-gradient(155deg,#102236,#09131f);box-shadow:0 12px 30px #0002;transition:transform .2s,border-color .2s}
.public-category-card:hover{transform:translateY(-3px);border-color:#4ea1ff}
.public-category-cover{position:relative;aspect-ratio:16/9;background:radial-gradient(ellipse at 70% 20%,#1c3d60,#0b1421);overflow:hidden}
.public-category-cover img{display:block;width:100%;height:100%;object-fit:cover}
.public-category-placeholder{display:grid;place-items:center;height:100%;font-weight:900;letter-spacing:.08em;color:#82bdf4}
.public-category-copy{padding:19px 20px 20px;flex:1}
.public-category-card h3{margin:0 0 8px;font-size:1.1rem;line-height:1.4;color:#f1f7ff}
.public-category-card p{margin:0 0 14px;color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.public-category-card .public-category-copy>span{color:#81c4ff;font-size:.86rem;font-weight:650}
.public-site .game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.public-site .public-game-card{position:relative;display:block;min-height:0;height:auto;aspect-ratio:auto;padding:0;overflow:hidden;border-radius:16px;background:#0c1421}
.public-site .public-game-card:after{display:none}
.public-site .public-game-card .game-main-link{display:block;position:relative;aspect-ratio:16/11;overflow:hidden;isolation:isolate}
.public-site .public-game-card .game-main-link:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#03070cf5,rgba(3,7,12,.22) 70%,rgba(3,7,12,.04));pointer-events:none}
.public-site .public-game-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:1;filter:none}
.public-site .public-game-card .game-placeholder{position:absolute;inset:0;width:100%;height:100%;display:grid;place-content:center;background:radial-gradient(ellipse at 75% 20%,#214d78,#0a1423);color:#7fb5e2}
.public-site .public-game-card .info{position:absolute;left:17px;right:17px;bottom:16px;padding:0;background:none;z-index:2;max-width:none}
.public-site .public-game-card h3{margin:0;font-size:1rem;line-height:1.35;white-space:normal}
.public-site .public-game-card .en-name{font-size:.75rem;color:#aebbd0;white-space:normal}
.public-card-hint{display:block;margin-top:9px;color:#93d5ff;font-size:.78rem;font-weight:650}
.public-series{border-top:1px solid var(--line);font-size:.85rem;background:#0b1422}
.public-series summary{padding:10px 16px;cursor:pointer;min-height:44px}
.public-series ul{margin:0;padding:0 16px 12px 30px}
.public-series li a{display:block;padding:7px 0;text-decoration:underline;text-underline-offset:3px}
.public-catalog-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px}
.public-catalog-actions>span{color:var(--muted);font-size:.85rem}
.public-site .search-wrap{display:flex;gap:8px;min-width:min(100%,320px)}
.public-site .search-wrap input{min-width:0;width:100%;font-size:16px}
.public-site .letters{overflow-x:auto;flex-wrap:wrap}
.public-site .letters a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.public-site .letters a.active,.public-pagination a[aria-current]{background:#1f6fc9;border-color:#3d91ef;color:white}
.public-pagination{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.public-pagination a{min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px}
.public-site .steps,.public-site .features{margin-top:28px}
.public-faq-answer{padding:0 20px 20px;color:var(--muted)}
.public-review-player{width:100%;aspect-ratio:16/9;border:0;border-radius:18px}
.public-site .contact{padding:64px 24px}
.public-site .contact .cta{justify-content:center}
.public-policy-link{display:block;background:none;border:0;color:var(--muted)!important;padding:6px 0;text-align:left}
.public-policy-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 48px);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:24px;overflow:auto}
.public-policy-dialog::backdrop{background:#000b}
#policyClose{float:right;border:1px solid var(--line);border-radius:8px;background:transparent;min-width:44px;min-height:44px}
.public-error{min-height:100dvh;max-width:1000px;margin:auto;padding:80px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.public-directory main,.public-game main,.public-store main{padding-top:72px}
.public-site .public-detail-intro,.public-site section.public-store{max-width:1340px;padding-top:32px}
.public-site .game-hero{position:relative;display:flex;align-items:flex-end;isolation:isolate;height:auto;min-height:300px;margin:24px 0 26px;padding:34px;border:1px solid #28415c;border-radius:22px;background:radial-gradient(ellipse at 80% 10%,#244f76,#0a1420);overflow:hidden}
.public-site .game-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.65;z-index:0}
.public-site .game-hero.banner-position-left>img{object-position:left center}
.public-site .game-hero.banner-position-center>img{object-position:center}
.public-site .game-hero.banner-position-right>img{object-position:right center}
.public-site .game-hero.banner-overlay-light>img{opacity:.85}
.public-site .game-hero.banner-overlay-dark>img{opacity:.4}
.public-site .game-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,10,17,.84),rgba(4,10,17,.18)),linear-gradient(0deg,rgba(4,10,17,.76),transparent 75%)}
.public-site .game-hero .hero-content{position:relative;z-index:2;max-width:900px}
.public-site .game-hero h1{font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.2;margin:14px 0 0;max-width:100%;color:#f3f8ff;background:none;-webkit-text-fill-color:initial;animation:none;text-shadow:0 3px 20px #0008}
.public-site .game-hero h1:after{display:none}
.public-site .public-game-copy{padding:0 4px 20px;border-bottom:1px solid var(--line)}
.public-prose{white-space:pre-line;color:#aabbce;max-width:90ch;font-size:.98rem;line-height:1.85;margin:0}
.public-member-gate{padding:34px;border:1px solid #29415c;border-radius:18px;background:radial-gradient(ellipse at 50% 0,#112b42,#0b1421 75%);text-align:center;margin-top:28px}
.public-site .public-member-gate h2{font-size:1.6rem;margin:0 0 12px}
.public-member-gate p{color:var(--muted);margin:0 0 24px}
.public-member-gate .cta{justify-content:center;margin-top:22px}
.public-game-versions{margin:24px 0;border:1px solid var(--line);border-radius:12px;padding:8px 16px}
.public-game-versions summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.public-site .public-store-hero{margin-top:24px;min-height:250px}
.public-store .public-category-grid{margin:28px 0}
.public-store .public-category-card[aria-current]{border-color:#62bdff;box-shadow:0 0 0 1px #62bdff55}
.public-member-error{padding:24px;border:1px solid #a86c2c;border-radius:12px;margin-top:24px}
.public-member-error p{margin-top:0}
.public-site #memberProducts{scroll-margin-top:88px}
.public-site .product-grid-v3{grid-template-columns:repeat(3,minmax(0,1fr))}
.public-site .product-card-cover,.public-site .store-product-cover{background:radial-gradient(ellipse at 75% 20%,#1c3d60,#0b1421)}
.public-site .store-product-cover img{width:100%;height:100%;object-fit:cover}
.public-site .store-search button{min-height:44px}
@media(max-width:1180px){.public-nav>nav{margin-left:0}.public-nav.open .mobile-account-nav{display:flex}.public-site .section{padding:48px 32px}.public-site .section.alt{padding-inline:32px}.public-site .public-home-hero{padding-inline:40px}.public-site .public-stats{width:calc(100% - 64px)}.public-site .game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.public-site .section-head{flex-wrap:wrap;align-items:stretch}.public-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site .product-grid-v3{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site .public-home-hero{height:auto;min-height:610px;padding:138px 32px 125px}.public-site .public-home-hero h1{font-size:clamp(3rem,9vw,5.4rem)}.public-site .search-wrap{min-width:0}.public-site .game-hero{min-height:260px}}
@media(max-width:580px){.public-site .section,.public-site .section.alt{padding:40px 20px}.public-site .section-head{gap:18px}.public-site .section h2{font-size:1.8rem}.public-site .public-home-hero{min-height:565px;padding:124px 22px 130px}.public-site .public-home-hero h1{font-size:clamp(2.4rem,10.2vw,3.7rem);letter-spacing:0;line-height:1.1}.public-site .public-home-hero h1 .hero-accent{font-size:.54em;line-height:1.4;margin-top:17px}.public-home-hero .eyebrow{font-size:.65rem;letter-spacing:.18em}.public-site .public-home-hero .cta{display:flex;flex-direction:row;gap:10px;margin-top:26px}.public-home-hero .cta .btn{font-size:.88rem;padding:12px 15px;width:auto}.public-site .public-home-hero p{font-size:.98rem;line-height:1.8}.public-site .public-stats{width:calc(100% - 32px);border-radius:16px;margin-top:-48px}.public-stats>div{padding:18px 6px}.public-stats strong{font-size:1.03rem}.public-stats span{font-size:.69rem}.hero-video-toggle{right:20px;bottom:68px}.public-category-grid,.public-site .game-grid{gap:12px}.public-category-copy{padding:14px 12px 15px}.public-category-card h3{font-size:.97rem}.public-category-card p{font-size:.8rem;margin-bottom:10px}.public-category-card .public-category-copy>span{font-size:.78rem}.public-site .public-game-card .game-main-link{aspect-ratio:4/5}.public-site .public-game-card .info{left:12px;right:12px;bottom:13px}.public-site .public-game-card h3{font-size:.9rem}.public-site .public-game-card .en-name{font-size:.69rem}.public-card-hint{font-size:.71rem}.public-catalog-actions{gap:12px}.public-catalog-actions>.btn{width:100%}.public-site .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-site .steps article{padding:16px}.public-site .steps h3{font-size:1rem}.public-site .steps p{font-size:.86rem}.public-site .game-hero{min-height:220px;padding:24px;margin-top:20px;border-radius:18px}.public-site .game-hero h1{font-size:2rem}.public-site .game-hero .eyebrow{font-size:.6rem;letter-spacing:.12em}.public-site .product-grid-v3{grid-template-columns:1fr}.public-member-gate{padding:26px 18px}.public-member-gate .cta{flex-wrap:wrap;gap:10px}.public-member-gate .cta .btn{width:100%}.public-site .public-detail-intro,.public-site section.public-store{padding-top:24px}.public-site .contact .cta{flex-direction:row}}
@media(max-width:350px){.public-site .section,.public-site .section.alt{padding-inline:16px}.public-category-grid{grid-template-columns:1fr}.public-site .public-home-hero{padding-inline:18px}.public-site .public-home-hero .cta{flex-wrap:wrap}.public-stats strong{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.public-site *{animation:none!important;transition:none!important}}

@media(min-width:1200px){.public-category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.public-category-copy{padding:16px}.public-category-card h3{font-size:1rem}.public-category-card p{font-size:.83rem}}
