:root{color-scheme:light;--paper:#142331;--ink:#e8ecea;--muted:#a1adb6;--line:#ffffff16;--accent:#c7b899;--serif:"Noto Serif SC","Songti SC","STSong",serif;--sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.page{max-width:1112px;margin:auto;padding:0 48px}.masthead{height:93px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:20px;letter-spacing:2px;font-weight:600}.header-note{font-size:11px;letter-spacing:1px;color:var(--muted)}
.intro{display:flex;align-items:center;justify-content:space-between;padding:67px 0 61px}.eyebrow{font-size:11px;color:var(--accent);letter-spacing:2px;margin:0 0 22px;display:flex;align-items:center;gap:9px}.eyebrow span{width:5px;height:5px;border-radius:50%;background:var(--accent)}h1{font-size:clamp(34px,4.2vw,46px);font-family:var(--sans);font-weight:500;letter-spacing:2px;line-height:1.25;margin:0}.intro-copy{font-size:13px;color:var(--muted);line-height:1.8;margin:19px 0 0;letter-spacing:.3px}.mobile-break{display:none}.intro-symbol{width:132px;margin-right:13px;opacity:.62}.intro-symbol svg{width:100%;fill:none;stroke:#b9a98c;stroke-width:.8}.intro-symbol path{fill:#d2c09b14;stroke:#b6a486}.intro-symbol circle:last-child{fill:#cbb58f;stroke:none}
.library-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line);gap:12px}.library-heading{display:flex;align-items:center;gap:12px}h2{font-size:16px;font-weight:600;margin:0;letter-spacing:1px}.count{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.filters{display:flex;gap:4px}.filters button{border:0;background:transparent;padding:8px 13px;color:var(--muted);font-family:inherit;font-size:11px;cursor:pointer;border-radius:5px;min-height:34px}.filters button[aria-pressed=true]{background:#2a3b48;color:#d8c5a3}.filters button:hover{color:var(--ink)}button:focus-visible,a:focus-visible{outline:2px solid #c7b899;outline-offset:4px}
.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding:28px 0 50px}.game-card{min-width:0;display:flex;flex-direction:column}.cover-link{display:block;text-decoration:none;position:relative;aspect-ratio:16/10;border-radius:11px;overflow:hidden;border:1px solid #ffffff16;isolation:isolate;transition:transform .2s}.cover-link:hover{transform:translateY(-3px)}.cover-link:active{transform:translateY(0)}.cover{position:absolute;inset:0;overflow:hidden}.cover-character{background:#1d3140}.cover-character:before{content:"";position:absolute;left:-22%;top:24%;width:145%;height:96%;border:1px solid #d4c6aa28;border-radius:50%;transform:rotate(-16deg)}.card-art{position:absolute;right:-3%;bottom:-14%;height:124%;max-width:80%;object-fit:contain;object-position:center bottom;opacity:.92;mask-image:linear-gradient(to bottom,#000 78%,transparent)}.card-mark{position:absolute;left:9%;top:23%;color:#d3c5ac;font-family:var(--serif);font-size:clamp(26px,3.3vw,41px);font-weight:500;letter-spacing:5px;line-height:1.5;z-index:1;text-shadow:0 2px 10px #132432}.card-mark small{display:block;font:10px var(--sans);letter-spacing:3px;color:#aebec5;margin-top:10px}
.cover-scene{background:#8bc1d7}.expedition-art{width:100%;height:100%;object-fit:cover;object-position:50% 69%;filter:saturate(.87)}.cover-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#12242400 44%,#142b2840)}.cover-label{position:absolute;left:16px;bottom:15px;border:1px solid #ffffff3d;padding:5px 9px;background:#16272bc7;color:#fff;font-size:10px;letter-spacing:1px;z-index:2;border-radius:4px}.cover-open{position:absolute;right:16px;top:15px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #ffffff40;background:#12202950;color:#fff;border-radius:50%;font-size:14px;z-index:2}
.card-copy{padding:20px 2px 0;flex:1;display:flex;flex-direction:column}.card-title-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.game-title{font-size:21px;letter-spacing:1px;font-weight:600;margin:0}.game-type{font-size:10px;color:var(--muted);white-space:nowrap}.description{flex:1;font-size:12px;color:var(--muted);line-height:1.9;margin:9px 0 16px;max-width:90%}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px}.tags{display:flex;align-items:center;gap:10px;color:#91a2ac;font-size:10px;flex-wrap:wrap}.tags span+span:before{content:"·";margin-right:10px;color:#566873}.play-link{font-size:12px;color:#d2c09b;text-decoration:none;display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #617486;padding:4px 0;white-space:nowrap;min-height:30px}.play-link:hover{border-color:#c7b899}.status{font-size:13px;color:var(--muted);grid-column:1/-1;min-height:80px;display:flex;align-items:center}.error{color:#a36252}footer{border-top:1px solid var(--line);height:93px;display:flex;align-items:center;gap:28px;font-size:10px;color:#91a2ac}footer>span:first-child{letter-spacing:2px;color:#c6b999}footer p{margin:0}.footer-mark{margin-left:auto;font-size:16px;color:#a99777}
@media(min-width:1400px){.intro{padding-block:80px}.game-grid{padding-bottom:62px}}@media(max-width:650px){.page{padding:0 23px}.masthead{height:76px}.wordmark{font-size:18px}.wordmark img{width:23px;height:23px}.header-note{display:none}.intro{padding:43px 0 38px}.eyebrow{margin-bottom:18px;font-size:10px}.intro-copy{font-size:12px;margin-top:16px}.intro-symbol{width:73px;margin-right:-6px;opacity:.48}.intro h1{font-size:32px;letter-spacing:1px}.mobile-break{display:block}.library-top{padding-bottom:15px}.library-heading{gap:7px}h2{font-size:14px}.filters button{padding:7px 9px;font-size:10px}.game-grid{grid-template-columns:1fr;gap:35px;padding:23px 0 35px}.cover-link{aspect-ratio:16/10;border-radius:9px}.card-mark{font-size:35px}.game-title{font-size:20px}.card-copy{padding-top:17px}.description{margin-bottom:12px}.card-art{max-width:78%}.count{font-size:9px}footer{height:76px;gap:18px;font-size:9px}.cover-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.cover-link{transition:none}}
