*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:Arial,"Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{background:none;border:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--accent,#ff642e);outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}.site-header{position:absolute;top:0;left:0;width:100%;height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 4.3%;z-index:30}.brand{width:174px;flex-shrink:0}.brand img{width:100%;height:auto}.header-right{display:flex;align-items:center;gap:34px}#main-nav{display:flex;gap:42px;align-items:center}#main-nav a{font-size:14px;position:relative;padding:12px 0}#main-nav a:after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}#main-nav a:hover:after{transform:scaleX(1)}.language{min-width:42px;min-height:42px;border-left:1px solid var(--line);padding-left:22px;font-size:13px}.menu-button{display:none}.skip-link{position:fixed;z-index:200;top:-100px;left:24px;background:var(--ink);color:var(--bg);padding:14px}.skip-link:focus{top:12px}.eyebrow{font-family:"Courier New",monospace;font-size:11px;letter-spacing:.13em;font-weight:700;line-height:1.6}.primary-button{display:inline-flex;gap:40px;align-items:center;justify-content:space-between;min-height:58px;padding:17px 25px;background:var(--accent);color:var(--button-ink,var(--ink));font-weight:700;font-size:15px;transition:transform .25s,background .25s}.primary-button:hover{transform:translateY(-3px)}.primary-button>span:last-child{font-size:24px;line-height:1}.text-button{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600;padding:10px 0;transition:gap .25s}.text-button:hover{gap:40px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:70px}.section-heading h2{font-size:clamp(38px,5.2vw,76px);letter-spacing:-.055em;line-height:1.12;margin-top:25px}.section-description{font-size:14px;line-height:1.9;max-width:355px;opacity:.7}.game-art{display:block;position:relative;width:100%;padding:0;isolation:isolate}.game-art>img{width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.game-art:hover>img{transform:translateY(-7px)}.game-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-top:22px}.game-meta h3{font-size:21px;line-height:1.45;letter-spacing:-.035em}.game-status{display:inline-block;font-size:11px;line-height:1.6;letter-spacing:.04em;margin-top:8px}.game-status.is-archived{opacity:.6}.game-details{flex-shrink:0;white-space:nowrap;font-size:12px;padding:5px 0}.game-number{position:absolute;top:-16px;left:-16px;width:43px;height:43px;display:grid;place-items:center;font:13px "Courier New",monospace;background:var(--accent);color:var(--button-ink,var(--ink));z-index:3}.game-arrow{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:44px;height:44px;background:var(--bg);font-size:24px;opacity:0;transform:translateY(8px);transition:.25s}.game-art:hover .game-arrow,.game-art:focus-visible .game-arrow{opacity:1;transform:none}.featured-section{padding:100px 6%}.feature-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.feature-top h2{font-size:clamp(36px,4.2vw,62px);line-height:1.22;letter-spacing:-.045em;margin-top:15px;white-space:pre-line}.feature-tabs{display:flex;gap:20px;max-width:48%}.feature-tabs button{font-size:11px;border-bottom:1px solid var(--line);padding:12px 4px 16px;display:flex;gap:14px;align-items:center;line-height:1.6}.feature-tabs button>span{max-width:190px;text-align:left}.feature-tabs button[aria-selected=true]{border-color:var(--accent);box-shadow:0 2px 0 var(--accent)}.feature-panel{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:7%;align-items:center}.feature-art{padding:0;position:relative;display:block;width:100%}.feature-art>img{width:100%;height:auto}.image-invitation{position:absolute;right:0;bottom:0;padding:15px 22px;background:var(--accent);color:var(--button-ink,var(--ink));font-size:12px;display:flex;gap:24px;opacity:0;transform:translateY(8px);transition:.3s}.feature-art:hover .image-invitation,.feature-art:focus-visible .image-invitation{opacity:1;transform:none}.feature-status{font-size:12px;color:var(--muted)}.feature-title{font-size:clamp(26px,3vw,44px);margin:22px 0;line-height:1.2;letter-spacing:-.05em}.feature-description{font-size:14px;line-height:1.95;opacity:.75;margin-bottom:24px;max-width:440px}.about-section{padding:140px 8%;display:grid;grid-template-columns:.8fr 1.2fr;gap:13%;border-top:1px solid var(--line)}.about-one{display:block;font:clamp(100px,17vw,260px)/1 Impact,"Arial Narrow",sans-serif;letter-spacing:-.07em;margin-top:35px}.about-one>span{font-size:.28em;vertical-align:middle;margin-left:20px;opacity:.4}.about-copy h2{font-size:clamp(37px,4.4vw,68px);line-height:1.2;letter-spacing:-.05em}.about-copy h2 em{font-style:normal;color:var(--accent)}.about-copy>p{font-size:15px;line-height:2;max-width:490px;margin-top:30px;opacity:.75}.about-copy .about-tagline{opacity:1}.about-copy .text-button{margin-top:28px}.site-footer{padding:80px 6% 65px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:55px;align-items:center}.footer-title{font-size:clamp(38px,5vw,74px);line-height:1.15;white-space:pre-line;letter-spacing:-.05em}.footer-contact>p{font-size:13px;opacity:.6;margin-bottom:25px}.mail-link{font-size:clamp(21px,2.2vw,34px);display:flex;gap:25px;letter-spacing:-.04em}.social-link{font-size:12px;margin-top:22px;display:inline-block}.footer-bottom{border-top:1px solid var(--line);padding-top:35px;margin-top:75px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:10px}.footer-bottom>img{width:130px;height:auto}.opening{position:fixed;inset:0;z-index:70;display:grid;place-items:center;pointer-events:none;opacity:0;background:var(--bg);visibility:hidden}.opening-content{display:flex;flex-direction:column;align-items:center;gap:24px}.opening-content img{width:clamp(220px,30vw,390px);height:auto}.opening-content>span{font:10px "Courier New",monospace;letter-spacing:.20em}.opening-active .opening{visibility:visible;opacity:1}.skip-opening{position:fixed;bottom:26px;right:30px;z-index:75;display:none;border:1px solid currentColor;padding:10px 18px;font-size:12px;background:var(--bg)}.opening-active .skip-opening{display:block}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s}.reveal.is-visible{opacity:1;transform:none}.gpu-note{display:none;position:absolute;inset:25% 10%;place-items:center;font:60px/1 Impact,sans-serif;opacity:.25}.gpu-fallback .gpu-note{display:grid}.gpu-fallback canvas{visibility:hidden}.dialog-open{overflow:hidden}dialog{padding:0;border:0;width:min(920px,calc(100vw - 60px));max-height:calc(100svh - 64px);background:var(--bg);color:var(--ink);box-shadow:0 25px 100px #0007;overscroll-behavior:contain}dialog::backdrop{background:#050a0ce0;backdrop-filter:blur(8px)}.dialog-close{position:sticky;float:right;right:0;top:0;z-index:4;background:var(--bg);color:var(--ink);padding:14px 20px;font-size:12px;display:flex;align-items:center;gap:25px;margin-bottom:-50px}.dialog-close>span{font-size:23px}.dialog-art{width:100%;height:auto}.dialog-body{padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.dialog-body h2{font-size:29px;line-height:1.3;letter-spacing:-.035em;margin:14px 0 20px}.dialog-body p{font-size:13px;line-height:1.95}.dialog-info{border-left:1px solid var(--line);padding-left:28px}.dialog-note{opacity:.7}.dialog-info dl{font-size:12px;padding:15px 0;margin:5px 0 16px;border-bottom:1px solid var(--line)}.dialog-info dl>div{display:flex;gap:20px;justify-content:space-between;margin:10px 0}.dialog-info dt{opacity:.55}.dialog-info dd{margin:0;text-align:right}.dialog-info .primary-button{font-size:13px;min-height:46px;padding:12px 20px;gap:20px}.reduced-motion *, .reduced-motion *::before,.reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduced-motion .reveal{opacity:1;transform:none}.reduced-motion .portal-scene{transform:none!important}
/* 三维不可用时，展示从同一实时装置导出的静帧；隐藏没有实际效果的交互。 */
.gpu-still,.gpu-message{display:none}.gpu-fallback .gpu-still{display:block}.engine-hero.gpu-fallback .engine-type{opacity:1}.gpu-fallback .gpu-message{display:block;position:absolute;right:4%;bottom:8%;z-index:5;font-size:11px;max-width:310px;line-height:1.8;color:var(--muted)}
.play-scene .gpu-still{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.engine-hero>.gpu-still{position:absolute;inset:110px 0 60px;width:100%;max-width:none;height:calc(100% - 170px);object-fit:contain;pointer-events:none;z-index:2}
.gpu-fallback .engine-bottom .gpu-message{position:static;font-size:10px;line-height:1.8;max-width:310px}.gpu-fallback .engine-bottom .primary-button{margin-bottom:14px}
@media(min-width:1800px){.site-header{padding-left:6%;padding-right:6%}.games-section{max-width:1800px;margin:auto}}
@media(max-width:600px){.engine-hero>.gpu-still{inset:200px -22% 200px;width:144%;height:calc(100% - 400px);object-fit:cover}.gpu-fallback .gpu-message{left:7%;right:7%;bottom:115px;max-width:none;font-size:10px}.play-hero .hero-bottom{bottom:61px}.play-hero .hero-bottom>span:last-child{display:none}}
@media(max-width:900px){.site-header{height:85px;padding:0 5%}.brand{width:150px}#main-nav{gap:26px}.header-right{gap:24px}.section-heading{margin-bottom:45px}.section-description{max-width:270px;font-size:13px}.game-meta h3{font-size:18px}.game-meta{gap:12px}.game-details{font-size:11px}.featured-section{padding:70px 6%}.feature-top{display:block}.feature-tabs{margin-top:25px;max-width:none}.feature-panel{gap:5%;grid-template-columns:1.2fr 1fr}.feature-description{font-size:13px}.about-section{padding:85px 7%;gap:8%;grid-template-columns:1fr 1.7fr}.footer-top{align-items:flex-start;gap:30px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:last-of-type{display:none}.dialog-body{gap:24px;padding:28px}.dialog-info{padding-left:20px}}
@media(max-width:600px){html{scroll-padding-top:70px}.site-header{height:78px;padding:0 6%}.brand{width:133px}.header-right{gap:16px}.language{border:0;padding-left:0;min-width:30px}.menu-button{display:block;font-size:12px;min-height:42px;padding:8px 0}.site-header #main-nav{display:none;position:absolute;top:78px;left:0;width:100%;padding:20px 6%;background:var(--bg);color:var(--ink);box-shadow:0 12px 20px #0002;justify-content:space-around}.menu-open #main-nav{display:flex}.primary-button{min-height:52px;font-size:14px;padding:15px 22px}.section-heading{display:block}.section-heading h2{font-size:43px;margin-top:17px}.section-description{margin-top:24px;max-width:350px;font-size:13px}.game-meta h3{font-size:19px}.game-meta{padding-top:18px}.game-number{width:34px;height:34px;top:-10px;left:-10px;font-size:11px}.game-arrow{display:none}.featured-section{padding:65px 7%}.feature-top{margin-bottom:35px}.feature-top h2{font-size:36px}.feature-panel{display:flex;flex-direction:column;gap:30px}.feature-copy{width:100%}.feature-title{font-size:29px;margin:14px 0}.feature-description{margin-bottom:13px}.feature-tabs{gap:14px;justify-content:space-between}.feature-tabs button{gap:9px;font-size:10px;flex:1}.feature-tabs button>span{max-width:none}.about-section{padding:75px 7%;display:block}.about-kicker{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.about-one{font-size:96px;margin:0}.about-one>span{margin-left:10px}.about-copy h2{font-size:40px}.about-copy>p{font-size:14px;margin-top:23px}.site-footer{padding:65px 7% 90px}.footer-top{display:block}.footer-title{font-size:43px}.footer-contact{margin-top:40px}.footer-contact>p{font-size:12px;margin-bottom:18px}.mail-link{font-size:25px;justify-content:space-between}.footer-bottom{margin-top:50px;gap:25px;font-size:9px}.footer-bottom>img{width:115px}.footer-bottom>a{margin-left:auto}.footer-bottom>span{max-width:145px;text-align:right}.dialog-body{display:block;padding:25px}.dialog-info{padding:20px 0 0;margin-top:25px;border-left:0;border-top:1px solid var(--line)}.dialog-body h2{font-size:26px}dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.dialog-close{padding:9px 13px;gap:20px}.opening-content>span{font-size:8px}.skip-opening{bottom:24px;right:22px}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}
