*{box-sizing:border-box}body{margin:0}.hub{--ink:#213c35;--paper:#f5f2e9;--quiet:#67756b;background:var(--paper);color:var(--ink);min-height:100vh;font-family:Arial,"Microsoft YaHei",sans-serif;padding:0 6vw}.hub a{color:inherit;text-decoration:none}.hub a:focus-visible{outline:3px solid #b45b37;outline-offset:6px}.hub .skip-link{position:absolute;top:-90px}.hub .skip-link:focus{top:12px;background:var(--paper);padding:12px;z-index:10}.hub-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #213c3525;max-width:1280px;margin:auto}.hub-brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:24px;letter-spacing:2px}.hub-brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:3px}.hub-mark{display:grid;place-items:center;background:var(--ink);color:var(--paper);width:46px;height:46px;border-radius:12px;font-size:25px;transform:rotate(-5deg)}.hub-header nav{display:flex;gap:36px;font-size:14px}.hub-header nav .current{border-bottom:2px solid var(--ink);padding-bottom:5px}.hub main,.hub-footer{max-width:1280px;margin:auto}.hub-intro{display:flex;align-items:center;justify-content:space-between;padding:70px 0 60px;gap:24px}.hub-kicker{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 18px;color:var(--quiet)}.hub h1{font-size:clamp(36px,4.5vw,64px);line-height:1.3;letter-spacing:-2px;font-weight:650;margin:0 0 20px}.hub-description{font-size:16px;line-height:1.9;color:var(--quiet);margin:0}.mobile-break{display:none}.hub-intro-note{display:flex;align-items:center;gap:20px;transform:rotate(-4deg);padding:20px 26px;border-left:1px solid #213c3533}.hub-intro-note>span{font-size:64px;color:#b96742}.hub-intro-note p{font-size:14px;line-height:2;color:var(--quiet)}.hub-intro-note b{font-weight:400;color:var(--ink)}.library-heading{border-top:1px solid #213c3525;padding-top:27px;display:flex;align-items:end;justify-content:space-between;margin-bottom:27px;gap:20px}.library-heading .hub-kicker{font-size:9px}.library-heading h2{font-size:26px;margin:8px 0 0;font-weight:600}.library-count{font-size:12px;color:var(--quiet)}.game-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:28px}.game-card{border:1px solid #d6d9cd;background:#fffdf8;border-radius:6px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.game-art{position:relative;overflow:hidden;min-height:405px;background:#101b22}.game-art img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:52% center;transition:transform .35s}.game-art:hover img{transform:scale(1.04)}.game-art:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0c1c26ed);pointer-events:none}.game-status{position:absolute;top:18px;left:18px;background:#f7f2e8;color:#263c34;font-size:11px;padding:7px 10px;border-radius:3px;display:flex;gap:6px;align-items:center}.game-status i{height:6px;width:6px;border-radius:50%;background:#45886c}.game-art-caption{position:absolute;bottom:25px;left:22px;right:12px;font-family:Georgia,serif;font-size:22px;letter-spacing:2px;z-index:1;color:#ead8af;line-height:1.4}.game-info{padding:30px 25px;display:flex;flex-direction:column}.game-tags{display:flex;flex-wrap:wrap;gap:6px}.game-tags span{font-size:10px;padding:4px 7px;background:#e9ede3;color:#52634e}.game-info h3{font-size:23px;line-height:1.45;font-weight:650;margin:19px 0 12px}.game-info>p{font-size:13px;line-height:1.9;color:var(--quiet);margin:0 0 20px}.game-details{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;margin-bottom:30px;color:#50654f}.game-enter{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--paper)!important;border-radius:3px;padding:14px 18px;font-size:14px;margin-top:auto;transition:background .2s}.game-enter:hover{background:#35604f}.game-local{font-size:11px;color:var(--quiet)!important;margin-top:16px}.game-local:hover{text-decoration:underline}.game-coming{border:1px dashed #bbc5b5;background:#ecefe5;border-radius:6px;padding:38px 34px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.coming-symbol{display:flex;margin-bottom:32px;padding-left:6px}.coming-symbol span{display:block;height:45px;width:34px;border:1px solid #91a18c;background:#e0e7d9;border-radius:4px;transform:rotate(-17deg)}.coming-symbol span:nth-child(2){transform:rotate(0deg);margin-left:-10px;margin-top:-6px;background:#cad5c2}.coming-symbol span:nth-child(3){transform:rotate(17deg);margin-left:-10px}.game-coming .hub-kicker{font-size:9px}.game-coming h3{font-size:25px;line-height:1.55;margin:0 0 14px;font-weight:500}.game-coming>p:not(.hub-kicker){font-size:13px;line-height:1.9;color:var(--quiet);margin:0 0 22px}.coming-label{font-size:11px;border-bottom:1px solid #a4b19a;padding-bottom:4px;color:#64745a}.hub-how{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:38px 0;margin:16px 0 28px}.hub-how>div{display:flex;gap:17px;align-items:start}.hub-how>div>span{font:italic 25px Georgia,serif;color:#a3ac97}.hub-how p{margin:0;font-size:12px;line-height:1.9;color:var(--quiet)}.hub-how b{display:block;color:var(--ink);font-size:14px;font-weight:500;margin-bottom:4px}.hub-footer{padding:26px 0;border-top:1px solid #213c3525;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:13px}.hub-footer small{font-size:9px;letter-spacing:1px}.hub-footer p,.hub-unofficial{font-size:11px;color:var(--quiet)}
@media(max-width:1100px){.game-grid{grid-template-columns:1.7fr 1fr;gap:18px}.game-card{grid-template-columns:1fr}.game-art{min-height:260px}.game-info{padding:26px}.game-art-caption{font-size:26px}.hub-intro-note{padding:12px}.hub-intro-note>span{font-size:46px}}@media(max-width:700px){.hub{padding:0 22px}.hub-header{height:84px}.hub-brand{font-size:20px;gap:9px}.hub-mark{width:38px;height:38px;font-size:22px}.hub-header nav{gap:18px;font-size:12px}.hub-intro{padding:42px 0 38px}.hub-intro-note{display:none}.mobile-break{display:block}.hub h1{font-size:43px;letter-spacing:0}.hub-description{font-size:14px}.library-heading{align-items:start;flex-direction:column;gap:12px}.library-heading h2{font-size:23px}.game-grid{grid-template-columns:1fr}.game-art{min-height:280px;display:block}.game-card{display:block}.game-info h3{font-size:25px}.game-coming{padding:28px;min-height:280px}.coming-symbol{margin-bottom:22px}.game-coming h3{font-size:23px}.hub-how{grid-template-columns:1fr;gap:22px;padding:28px 0;margin-bottom:10px}.hub-footer{align-items:start;flex-direction:column;gap:8px}.hub-footer p{margin:0}.hub-brand small{font-size:8px}}@media(prefers-reduced-motion:reduce){.hub *{transition:none!important}}
