@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
.hero .hero-art{background-image:url('/hero-arcade-wall.png')}.share-button{display:inline-flex;gap:12px;align-items:center;min-height:44px;margin-top:14px;padding:8px 0;background:transparent;color:#c5ff41;font-size:14px}.share-button:hover{color:#e0ffa3}#share-url{margin:12px 0 18px;background:#10150e;border:1px solid #3d4733;font-size:16px}#share-dialog label{font-size:14px}#copy-share{width:100%}@media(max-width:760px){.hero .hero-content{padding-bottom:120px}.hero .hero-actions{gap:16px}.hero .share-button{min-height:48px}.hero .hero-tags{flex-wrap:wrap}.header .brand{gap:10px}.header .brand-name{letter-spacing:0}#share-dialog{overflow-wrap:anywhere}}
:root{color-scheme:dark;--bg:#101210;--surface:#191c19;--green:#c5ff41;--text:#f3f4ed;--muted:#999e94;--line:#ffffff17}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans SC',sans-serif;font-size:16px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:5px}button:disabled{cursor:default;opacity:.55}.header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#101210;position:relative;z-index:4}.brand{display:flex;align-items:center;gap:15px}.brand-name{font-size:19px;font-weight:800;letter-spacing:1px}.brand-name small{display:block;font-size:9px;font-weight:500;letter-spacing:2.5px;margin-top:6px;color:#a1a99a}.header nav{display:flex;align-items:center;gap:38px;height:100%;font-size:14px;color:#b4b8ad}.header nav a{display:flex;height:100%;align-items:center;position:relative}.header nav a:hover,.header nav .active{color:var(--green)}.header nav .active:after{content:'';position:absolute;bottom:0;height:3px;background:var(--green);width:24px;left:calc(50% - 12px)}.hero{position:relative;min-height:715px;overflow:hidden;border-bottom:1px solid var(--line);background:#151b15}.hero-art{position:absolute;inset:0;background-size:cover;background-position:center 38%;opacity:.76}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111510 0%,#111510ee 23%,#10151080 50%,#10151015 78%),linear-gradient(0deg,#101210 0%,transparent 35%,#10121030 100%)}.hero-content{position:relative;max-width:1400px;padding:68px 5% 105px;margin:auto}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--green);margin:0 0 24px;display:flex;align-items:center;gap:12px}.tiny-line{width:28px;height:2px;background:var(--green)}h1{font-size:clamp(50px,5.7vw,84px);line-height:1.24;letter-spacing:-3px;font-weight:900;margin:0 0 25px}h1>span{color:var(--green)}.hero-description{line-height:1.95;color:#c0c7bb;font-size:17px;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:30px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:var(--green);color:#18200e;font-weight:700;padding:19px 24px;font-size:16px;min-height:58px;transition:background .2s,transform .2s}.primary:hover{background:#d8ff86;transform:translateY(-2px)}.primary svg{height:20px;width:20px}.primary>span{margin-left:15px;font-size:23px;line-height:1}.section-wrap{padding-left:5%;padding-right:5%;max-width:1540px;margin:0 auto}.advantages,.games{padding-top:85px;padding-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:24px}.section-heading .eyebrow{font-size:11px;margin-bottom:16px}h2{font-size:34px;letter-spacing:-1px;line-height:1.4;margin:0;font-weight:800}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature{padding:32px 33px 30px 0}.feature+.feature{border-left:1px solid var(--line);padding-left:33px}h3{font-size:21px;margin:0 0 13px;font-weight:700}.feature p{color:var(--muted);font-size:14px;line-height:1.9;max-width:340px;margin:0 0 26px}.games{padding-top:80px}.game-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px}.game-card{min-width:0}.game-graphic{height:268px;position:relative;overflow:hidden;background:var(--card-bg);border:1px solid #ffffff16;transition:transform .25s,border-color .25s}.game-card:hover .game-graphic{transform:translateY(-6px);border-color:#c5ff4180}.game-one{--card-bg:linear-gradient(145deg,#525736,#22281a);--card-color:#e0e5a4}.game-two{--card-bg:linear-gradient(145deg,#343e55,#1c202c);--card-color:#b6d1ec}.game-three{--card-bg:linear-gradient(145deg,#634936,#251e18);--card-color:#e4c098}.game-four{--card-bg:linear-gradient(145deg,#543339,#23191e);--card-color:#e6a5a3}.game-five{--card-bg:linear-gradient(145deg,#45405b,#211d2e);--card-color:#cab7ed}.game-info{padding-top:18px}.game-info p{font-size:11px;color:var(--muted);margin:0 0 8px}.game-info h3{font-size:19px}.download-section{padding-top:66px;padding-bottom:70px}.download-panel{background:#1d2417;border:1px solid #c5ff4124;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:30px}.download-panel .eyebrow{font-size:11px;margin-bottom:12px}.download-panel h2{font-size:48px}.download-panel h2 span{color:var(--green)}.download-panel p:not(.eyebrow){font-size:14px;color:#a2ad96;margin-bottom:0}.download-cta p{text-align:center!important;font-size:12px!important}footer{display:flex;flex-wrap:wrap;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:30px;padding-bottom:30px;color:#7e8677;font-size:12px}.footer-brand{font-size:27px;font-style:italic;letter-spacing:-2px;font-weight:900;color:var(--green)}.footer-brand span{font-size:14px;font-style:normal;letter-spacing:0;color:#bbbfb3;margin-left:10px}footer>span{margin-left:auto}footer small{flex-basis:100%;font-size:11px;color:#626b5c}dialog{width:min(460px,calc(100% - 32px));padding:38px;border:1px solid #555e45;background:#181d16;color:var(--text);max-height:90vh;overflow:auto}dialog::backdrop{background:#060906d9;backdrop-filter:blur(8px)}.close{position:absolute;top:12px;right:14px;width:36px;height:36px;background:transparent;color:#aeb6a5;font-size:27px}dialog .eyebrow{font-size:10px;margin-bottom:12px}dialog h2{font-size:28px}.modal-description{font-size:14px;color:#acb5a1;line-height:1.9}form label{display:block;font-size:13px;margin:20px 0 10px}input{min-width:0;width:100%;background:transparent;color:#f5f6ef;border:none;padding:15px 12px;font-size:14px}input:focus-visible{outline-offset:0}.form-status{font-size:12px;line-height:1.7;color:#d7dfbc;min-height:22px}.submit,.dismiss{width:100%}@media(min-width:1600px){.hero-content{max-width:1540px}}@media(max-width:1050px){.header nav{gap:22px}.brand-name{font-size:16px}.hero{min-height:670px}.hero-content{padding-top:65px}.hero-art{background-position:60% center}.section-heading{align-items:flex-start}.game-grid{gap:12px}.game-graphic{height:235px}.feature h3{font-size:18px}.download-panel{padding:32px}.download-panel h2{font-size:40px}}@media(max-width:760px){.header{height:77px;padding:0 6%}.brand-name{font-size:15px}.brand-name small{font-size:8px;letter-spacing:1px}.header nav{display:none}.hero{min-height:650px}.hero-art{background-position:64% center;opacity:.55}.hero-art:after{background:linear-gradient(90deg,#111510ed,#11151080),linear-gradient(0deg,#101210,transparent 80%)}.hero-content{padding:52px 6% 100px}h1{font-size:57px;letter-spacing:-2px}.hero-description{font-size:14px}.hero-actions{gap:20px;flex-wrap:wrap}.primary{font-size:14px;padding:17px 18px;min-height:54px}.primary>span{margin-left:6px}.section-wrap{padding-left:6%;padding-right:6%}.advantages,.games{padding-top:53px}.section-heading{display:block;margin-bottom:25px}h2{font-size:27px}.feature-grid{grid-template-columns:1fr}.feature,.feature+.feature{padding:26px 0;border-left:none}.feature+.feature{border-top:1px solid var(--line)}.feature p{max-width:none;margin-bottom:15px}.feature h3{font-size:21px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.game-grid .game-card:last-child{grid-column:1/-1}.game-card:last-child .game-graphic{height:190px}.game-card:last-child .game-letter{top:60px;display:flex;gap:12px;align-items:center}.game-graphic{height:235px}.download-section{padding-top:37px;padding-bottom:42px}.download-panel{padding:29px 24px;display:block}.download-panel h2{font-size:39px}.download-cta{margin-top:28px}.download-cta .primary{width:100%}footer{gap:12px}footer>p{display:none}footer>span{font-size:10px}dialog{padding:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Workshop covers: preserve original artwork and embedded titles on every screen. */
.games .game-graphic{height:auto;aspect-ratio:4/3;background:#171b17}.game-cover{display:block;width:100%;height:100%;object-fit:contain}.games .game-info{padding-top:15px}@media(max-width:1050px) and (min-width:761px){.games .game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px}}@media(max-width:760px){.games .game-card:last-child{grid-column:auto}.games .game-card:last-child .game-graphic{height:auto;aspect-ratio:4/3}}@media(max-width:420px){.games .game-grid{grid-template-columns:minmax(0,1fr);gap:26px}.games .game-info h3{font-size:21px}}

.web-platform-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:58px;padding:17px 22px;border:1px solid #c5ff4166;color:var(--green);font-size:16px;font-weight:600}.web-platform-button:hover{background:#c5ff4110;border-color:var(--green)}.download-cta .web-platform-button{display:flex}#download-dialog .web-platform-button{display:flex;margin:20px 0 12px}@media(max-width:760px){.hero-actions .primary,.hero-actions .web-platform-button{width:100%;font-size:14px}.hero-actions{align-items:stretch}.web-platform-button{font-size:14px}}

/* Editorial simplification: fewer labels, clear headings and open download layout. */
.hero-content{padding-bottom:72px}.hero{min-height:650px}.hero .eyebrow{font-size:14px;letter-spacing:1px}.hero .download-note{font-size:14px}.feature{padding-top:35px;padding-bottom:35px}.feature h3{font-size:27px;margin-bottom:18px}.feature p{font-size:16px;line-height:1.9;margin-bottom:0}.game-info p{font-size:14px}.game-info h3{font-size:21px}.download-panel{background:transparent;border:0;border-top:1px solid var(--line);padding:58px 0 12px;gap:45px}.download-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:430px}.download-cta .web-platform-button{grid-column:1/-1;margin:0}@supports selector(:has(*)){.download-cta:not(:has(.secondary-download)) .web-platform-button{grid-column:auto;min-height:58px}}.download-cta p{grid-column:1/-1;margin-top:0}.download-panel>div>p{font-size:16px!important}.download-panel h2{font-size:48px}.games{padding-bottom:0}.brand-name{font-size:19px}.hero-description{max-width:550px}
@media(max-width:1050px){.download-panel{flex-direction:column;align-items:flex-start;gap:28px}.download-cta{min-width:0;width:100%;max-width:600px}}@media(max-width:760px){.hero{min-height:0}.hero .hero-content{padding-bottom:48px}.feature h3{font-size:25px}.download-panel{padding:35px 0 0}.download-cta{margin-top:0;grid-template-columns:1fr}.download-panel h2{font-size:38px}.game-info p{font-size:14px}.download-cta .primary{padding:14px;gap:8px}.download-cta .web-platform-button{padding:14px;min-height:52px}.download-cta .primary>span{display:none}}

.hero-art{opacity:1;background-position:center center}.hero-art:after{background:linear-gradient(90deg,#101210c9 0%,#101210b0 27%,#10121025 56%,transparent 80%),linear-gradient(0deg,#101210 0%,transparent 18%)}@media(max-width:760px){.hero-art{background-position:65% center;opacity:.68}.hero-art:after{background:linear-gradient(90deg,#101210ed,#10121055),linear-gradient(0deg,#101210,transparent 80%)}}

/* Supplied VG artwork; crop its outer padding in layout without altering the logo. */
.logo-frame{display:block;position:relative;width:52px;height:52px;overflow:hidden;flex-shrink:0;border-radius:50%}.logo-frame img{position:absolute;display:block;width:150%;height:150%;max-width:none;left:-25%;top:-25%;object-fit:contain}.footer-brand{display:inline-flex;align-items:center;gap:10px}.footer-brand .logo-frame{width:40px;height:40px}.footer-brand>span:last-child{margin-left:0}.modal-logo .logo-frame{width:64px;height:64px}@media(max-width:760px){.brand .logo-frame{width:42px;height:42px}}

/* Compact sports wordmark: heavier, forward-leaning type with a green VG accent. */
.header .brand-name{display:flex;align-items:baseline;gap:7px;white-space:nowrap;transform:skewX(-10deg);transform-origin:left center;line-height:1.25;letter-spacing:0}.wordmark-vg{font-family:Arial Black,Arial,sans-serif;font-size:31px;font-weight:900;letter-spacing:-2px;color:var(--green)}.wordmark-name{font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;font-size:23px;font-weight:900;letter-spacing:1px;color:#f3f4ed;text-shadow:.5px 0 currentColor}.header .brand{gap:13px}@media(max-width:760px){.header .brand-name{gap:5px}.wordmark-vg{font-size:25px}.wordmark-name{font-size:18px;letter-spacing:0}.header .brand{gap:9px}}@media(max-width:380px){.wordmark-vg{font-size:22px}.wordmark-name{font-size:16px}.header .brand .logo-frame{width:36px;height:36px}}

/* Preserve the complete user-supplied logo; shared header/footer lettering. */
.logo-frame,.brand .logo-frame,.footer-brand .logo-frame{width:58px;height:58px;border-radius:0;overflow:visible}.logo-frame img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}.brand-name,.header .brand-name,.footer-brand .brand-name{display:flex;align-items:baseline;gap:7px;white-space:nowrap;transform:skewX(-10deg);transform-origin:left center;line-height:1.25;letter-spacing:0;font-style:normal;margin:0}.wordmark-vg,.wordmark-name{color:#f3f4ed}.footer-brand .wordmark-vg{font-size:31px}.footer-brand .wordmark-name{font-size:23px;margin:0;letter-spacing:1px}.brand,.footer-brand{gap:10px}@media(max-width:760px){.brand .logo-frame,.footer-brand .logo-frame{width:42px;height:42px}.footer-brand .wordmark-vg{font-size:25px}.footer-brand .wordmark-name{font-size:18px;letter-spacing:0}}@media(max-width:380px){.header .brand .logo-frame{width:38px;height:38px}}

/* Real Workshop artwork, each cover appears once. No generated lettering in this layer. */
.hero .hero-art{background-image:none;opacity:1;isolation:isolate;background:radial-gradient(ellipse at 80% 35%,#2b353a 0%,#151a1c 45%,#101210 78%)}
.arcade-wall{position:absolute;top:20px;right:-1%;width:68%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;transform:perspective(1600px) rotateY(-10deg) rotateZ(-7deg);transform-origin:center center;z-index:0}
.arcade-tile{aspect-ratio:4/3;overflow:hidden;box-shadow:0 0 0 1px #e5f5ff40,0 5px 22px #0009;background:#171d20;border-radius:3px}
.arcade-tile img{display:block;width:100%;height:100%;object-fit:contain}
.hero .hero-art:after{z-index:2;background:linear-gradient(90deg,#101210 0%,#101210f2 27%,#101210b0 38%,#10121024 57%,transparent 72%),linear-gradient(0deg,#101210 0%,transparent 14%)}
.hero-content{z-index:3}
.arcade-wall{grid-template-columns:repeat(5,minmax(0,1fr));transform:perspective(1600px) rotateY(-8deg) rotateZ(-4deg)}
.footer-brand .wordmark-name,.footer-brand .wordmark-vg{color:#f3f4ed}
@media(min-width:1700px){.arcade-wall{top:-35px;width:66%}}
@media(max-width:1050px){.arcade-wall{width:85%;right:-20%;gap:9px}.hero .hero-art:after{background:linear-gradient(90deg,#101210f7 0%,#101210c9 40%,#10121030 80%),linear-gradient(0deg,#101210,transparent 22%)}}
@media(max-width:760px){.arcade-wall{width:135%;right:-55%;top:8%;gap:8px;transform:rotate(-9deg)}.hero .hero-art:after{background:linear-gradient(90deg,#101210f5 0%,#101210d6 40%,#10121088 100%),linear-gradient(0deg,#101210,transparent 30%)}}
/* 语言切换器：默认收起为一枚「语言」按钮（隐藏菜单），展开后是三种语言的下拉。
   用原生 <details>：不引脚本、无 JS 也能展开并换语言；每页语言烘死在 <html lang> 上，
   故分支用属性选择器。下拉是绝对定位的浮层，不占位、不挤动导航。 */
.lang-menu{position:relative;display:flex;align-items:center;height:auto;font-size:14px;color:#b4b8ad}
.lang-menu-toggle{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;white-space:nowrap;color:#b4b8ad}
.lang-menu-toggle::-webkit-details-marker{display:none}
.lang-menu-toggle:after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .15s}
.lang-menu[open] .lang-menu-toggle{color:var(--green)}
.lang-menu[open] .lang-menu-toggle:after{transform:rotate(-135deg) translateY(-1px)}
.lang-menu-toggle:hover{color:var(--green)}
.lang-menu-list{position:absolute;top:calc(100% + 8px);right:0;z-index:5;display:flex;flex-direction:column;min-width:130px;padding:6px;background:#191c19;border:1px solid var(--line);box-shadow:0 12px 30px #0009}
.lang-menu-list a{display:block;padding:9px 14px;white-space:nowrap;color:#b4b8ad}
.lang-menu-list a:hover{background:#ffffff0f;color:var(--green)}
.lang-menu-list a.current{color:var(--green);font-weight:600}
html:not([lang="zh-Hans"]) .wordmark-name{font-family:Arial Black,Arial,sans-serif;font-size:19px;font-weight:900;letter-spacing:-.5px;text-shadow:none}
html:not([lang="zh-Hans"]) .footer-brand .wordmark-name{font-size:19px}
/* 窄屏：既有设计在 760px 以下隐藏主导航（一页锚点导航在手机上是冗余），语言菜单必须保留
   —— 覆盖要打在 nav 容器（.lang-switcher）上盖过 `.header nav{display:none}`；details 本身
   不受影响。下拉在窄屏右对齐，宽度随内容。 */
@media(max-width:760px){.header nav.lang-switcher{display:flex}.lang-menu-list{min-width:120px}.header .lang-menu{font-size:12px}.wordmark-name{font-size:16px}html:not([lang="zh-Hans"]) .wordmark-name{display:none}}
@media(max-width:380px){.header .lang-menu{font-size:11px}}