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