:root{color-scheme:dark;--bg:#101523;--panel:#191f30;--ink:#f5f2eb;--muted:#b3b8ca;--gold:#f5ce8e;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 80% 7%,#34325366,transparent 42%),var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #f5ce8e;outline-offset:5px}button,a.primary,.play-link,.guide-link{min-height:44px}.shell{max-width:1392px;margin:auto;padding:0 48px}header{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:750;letter-spacing:-.6px}.brand-light{font-weight:400;color:#c2c6d4}.brand small{display:block;font-size:9px;letter-spacing:2.1px;color:#b1bacd;margin-top:5px}.brand-icon{font-size:28px;background:var(--gold);color:#172032;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;position:relative}.brand-icon span{position:absolute;right:5px;top:0;font-size:15px}.guide-link{display:flex;align-items:center;gap:9px;font-size:12px;color:#d3d6e3}.guide-link span{color:var(--gold)}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;min-height:440px;gap:25px;padding:46px 0 40px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--gold);margin:0 0 19px}.status-dot{display:inline-block;width:6px;height:6px;background:#8fe1c6;border-radius:50%;margin-right:8px;box-shadow:0 0 12px #8fe1c6}h1{font-size:clamp(34px,4.2vw,60px);line-height:1.08;letter-spacing:-2.5px;margin:0 0 20px;font-weight:750}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--gold);letter-spacing:-1.9px}.intro{font-size:15px;line-height:1.7;color:#c4c8d8;margin:0}.chinese{font-size:12px;line-height:1.9;color:#b3b8ca;margin:12px 0 24px}.primary{display:inline-flex;align-items:center;gap:26px;padding:15px 22px;border-radius:9px;background:var(--gold);color:#242334;font-size:13px;font-weight:750;box-shadow:0 8px 25px #f5ce8e13}.primary span{font-size:11px;font-weight:500}.hero-notes{display:flex;flex-wrap:wrap;gap:22px;margin-top:26px;color:#9ea8bf;font-size:9px;letter-spacing:1px}.orbit-art{height:330px;position:relative;display:grid;place-items:center;isolation:isolate}.orbit{position:absolute;width:340px;height:210px;border:1px solid #e7d3aa35;border-radius:50%;transform:rotate(-24deg)}.orbit-two{width:280px;height:320px;transform:rotate(36deg);border-color:#939bec25}.planet{width:178px;height:178px;border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 30% 24%,#a6acdc,#535d95 40%,#263252 75%);box-shadow:inset -14px -8px 30px #111a32,0 0 75px #ac9add25;transform:rotate(-12deg)}.planet>span{font:italic 85px Georgia;color:#e2deef;text-shadow:0 6px 15px #121c4770}.planet i{position:absolute;width:230px;height:62px;border:10px solid #d5b88788;border-radius:50%;transform:rotate(-24deg);box-shadow:0 2px 4px #0c1533}.planet b{position:absolute;bottom:26px;font-size:7px;letter-spacing:3px}.satellite{position:absolute;display:grid;place-items:center;box-shadow:0 12px 20px #0004;font-weight:750;animation:float 5s ease-in-out infinite}.sat-cyber{left:12%;top:40px;width:65px;height:65px;background:#285b66;border:1px solid #8ce5dc;border-radius:17px;transform:rotate(-12deg);color:#a0ffe9;font-family:monospace;font-size:23px;line-height:1}.sat-cyber span{font-size:18px}.sat-graph{right:0;top:112px;width:82px;height:65px;background:#315a4c;border:1px solid #97d5ad;border-radius:17px;color:#cfefd7;display:flex;justify-content:center;gap:8px;animation-delay:-1.8s}.sat-graph i{font-size:30px;color:#f9cf8d}.sat-factory{bottom:26px;left:22%;width:64px;height:64px;background:#8b6142;border:1px solid #f2c486;border-radius:18px;font-size:42px;color:#ffe2b4;animation-delay:-3.1s}.spark{position:absolute;color:var(--gold)}.s1{right:22%;top:20px;font-size:24px}.s2{left:3%;bottom:80px;font-size:22px}.s3{right:7%;bottom:52px;color:#9aa9e4}.orbit-label{position:absolute;bottom:-10px;right:10%;font-size:8px;letter-spacing:2px;color:#a7adc8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:24px 0}.section-heading .eyebrow{margin-bottom:10px}h2{font-size:27px;letter-spacing:-.8px;margin:0}.filters{display:flex;gap:5px;padding:5px;border:1px solid #343a4c;border-radius:11px}.filters button{border:0;border-radius:7px;color:#c8ccdb;background:transparent;padding:10px 14px;font-size:12px}.filters button span{font-size:10px;margin-left:4px}.filters button[aria-pressed=true]{background:#31384b;color:#fff}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.game-card{border:1px solid #343b50;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,#1e2536,#181e2d);transition:transform .2s,border-color .2s;--accent:#98e6de}.game-card:hover{transform:translateY(-5px);border-color:var(--accent)}.game-card[hidden]{display:none}.graph{--accent:#b6dbb4}.factory{--accent:#f4cc8e}.card-art{height:218px;position:relative;overflow:hidden;border-bottom:1px solid #ffffff15}.card-art svg{width:100%;height:100%;object-fit:cover}.cyber-art{background:radial-gradient(ellipse at 50% 70%,#2d5265,#172635 75%)}.graph-art{background:radial-gradient(ellipse at 50% 70%,#48806c,#203e3c 85%)}.factory-art img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.factory-art:after{content:'';position:absolute;inset:0;background:linear-gradient(#10172855,transparent 50%)}.world-number,.playable{position:absolute;top:16px;z-index:1;font-size:8px;letter-spacing:1px}.world-number{left:17px;color:#e2e6ee}.playable{right:13px;color:#dcf8e5;background:#142d2cbd;padding:6px 8px;border-radius:5px;top:11px}.card-copy{padding:24px}.subject{font-size:8px;letter-spacing:1.1px;color:var(--accent);margin:0 0 12px;font-weight:750}h3{margin:0;font-size:23px;letter-spacing:-.7px}.tagline{font-size:12px;color:#dadce4;margin:9px 0 13px}.description{font-size:12px;color:#b7bdd0;line-height:1.9;min-height:46px;margin:0 0 18px}.game-details{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;color:#c6ccdc;font-size:9px;padding-bottom:20px;border-bottom:1px solid #ffffff10}.play-link{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;padding:12px 13px;background:var(--accent);border-radius:8px;color:#152b31;font-size:11px;font-weight:750}.play-link span{font-size:10px;font-weight:500}.choice-note{text-align:center;color:#a8b1c6;font-size:11px;line-height:1.8;margin:23px 0 52px}.choice-note span{margin-left:12px}.field-guide{display:grid;grid-template-columns:1fr 1.7fr;padding:34px 36px;border:1px solid #343b50;border-radius:17px;background:#1a2030;gap:32px}.field-guide h2{line-height:1.25;font-size:25px}.field-guide .eyebrow{font-size:9px;margin-bottom:12px}.field-guide ol{margin:0;padding:0;list-style:none;display:grid;gap:22px}.field-guide li{display:flex;gap:16px}.field-guide li>span{color:#ddbd86;font:italic 22px Georgia}.field-guide h3{font-size:13px;letter-spacing:0}.field-guide h3 small{font-size:10px;color:#aeb8ce;font-weight:400;margin-left:9px}.field-guide p{color:#b2bbce;font-size:12px;line-height:1.65;margin:6px 0 0}.local-note{display:flex;gap:16px;align-items:center;margin:25px 0 35px;color:#aeb7cb;font-size:11px;line-height:1.9}.local-note>span{font-size:30px;color:#bdc6de}.local-note strong{color:#dadfe9;font-weight:600}.local-note p{margin:0}footer{display:flex;justify-content:space-between;gap:16px;padding:25px 0;border-top:1px solid #ffffff12;font-size:8px;letter-spacing:1px;color:#a4afc7}footer b{color:#e1bf88;padding:0 8px}.skip{position:absolute;top:-70px;background:#f5ce8e;color:#141c2e;padding:15px;z-index:5}.skip:focus{top:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes float{50%{translate:0 -8px}}@media(min-width:1500px){.hero{min-height:470px}}@media(max-width:1100px){.shell{padding:0 28px}.game-grid{gap:14px}.card-copy{padding:18px}h3{font-size:20px}.card-art{height:190px}.orbit-art{scale:.85}.play-link{align-items:start;flex-direction:column}.subject{min-height:20px}.hero{grid-template-columns:1.4fr 1fr}}@media(max-width:800px){.hero{grid-template-columns:1fr;padding:38px 0 24px;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:1}.orbit-art{position:absolute;right:-170px;top:25px;opacity:.18;pointer-events:none;width:380px}.hero h1{font-size:45px}.game-grid{grid-template-columns:1fr}.game-card{display:grid;grid-template-columns:.9fr 1.2fr}.card-art{height:100%;min-height:250px;border-bottom:0;border-right:1px solid #ffffff15}.card-art svg{min-height:250px}.play-link{flex-direction:row;align-items:center}.section-heading{align-items:start;flex-direction:column}.field-guide{grid-template-columns:1fr;padding:26px}.subject{min-height:0}.card-copy{padding:22px}.choice-note span{display:block;margin:4px 0 0}footer{flex-wrap:wrap}}@media(max-width:520px){.shell{padding:0 20px}header{padding:20px 0}.brand{font-size:17px}.brand-icon{width:38px;height:38px}.brand small{font-size:7px}.guide-link{font-size:10px;gap:5px}.guide-link span{display:none}.hero h1{font-size:36px;letter-spacing:-1.5px}.hero h1 em{letter-spacing:-1px}.intro{font-size:13px}.chinese{font-size:11px}.hero-notes{gap:14px;font-size:8px}.hero .primary{gap:19px;font-size:12px}.game-card{display:block}.card-art{height:210px;min-height:0;border-right:0}.card-art svg{min-height:0}.card-copy{padding:23px}.subject{font-size:9px}h3{font-size:25px}.play-link{font-size:12px;padding:15px}.tagline,.description{font-size:13px}.game-details{font-size:10px}.section-heading h2{font-size:25px}.field-guide{padding:24px}.local-note{align-items:start}.local-note>span{margin-top:5px}.filters{width:100%}.filters button{flex:1;padding:9px}.filters button span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.game-card:hover{transform:none}}
/* Container sizing also adapts the layout when page content is magnified. */
.shell{container-name:lobby;container-type:inline-size}
@container lobby (max-width:744px){.hero{grid-template-columns:1fr;padding:38px 0 24px;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:1}.orbit-art{position:absolute;right:-170px;top:25px;opacity:.18;pointer-events:none;width:380px}.hero h1{font-size:45px}.game-grid{grid-template-columns:1fr}.game-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.card-art{height:100%;min-height:250px;border-bottom:0;border-right:1px solid #ffffff15}.card-art svg{min-height:250px}.play-link{flex-direction:row;align-items:center}.section-heading{align-items:start;flex-direction:column}.field-guide{grid-template-columns:1fr;padding:26px}.subject{min-height:0}.card-copy{padding:22px}.choice-note span{display:block;margin:4px 0 0}footer{flex-wrap:wrap}}
@container lobby (max-width:480px){.hero h1{font-size:36px;letter-spacing:-1.5px}.hero h1 em{letter-spacing:-1px}.game-card{display:block}.card-art{height:210px;min-height:0;border-right:0}.card-art svg{min-height:0}.card-copy{padding:23px}.filters{width:100%}.filters button{flex:1;padding:9px}.filters button span{display:none}.hero-notes{gap:14px;font-size:8px}.intro{font-size:13px}.primary{gap:16px}}
