:root{color-scheme:dark;--paper:#eee9df;--muted:#a4aaa9;--gold:#ceb080;--gold-light:#ead0a3;--ink:#0c1215;--surface:#121b1f;--line:rgba(206,176,128,.2);--serif:"Noto Serif TC","Songti TC","Noto Serif CJK TC","PMingLiU",serif;--sans:"Helvetica Neue","Noto Sans CJK TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px}button:disabled{cursor:default}::selection{background:#786342;color:#fff}.content-width{width:calc(100% - 112px);max-width:1600px;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;background:var(--gold);color:var(--ink);padding:14px;z-index:20}.skip-link:focus{top:10px}
.site-header{height:96px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line);position:relative;z-index:2;background:#0c1215}.brand{display:flex;align-items:center;gap:14px}.brand-seal{font-family:var(--serif);font-size:29px;background:#9d3930;width:42px;height:44px;display:grid;place-items:center;border:1px solid #ca7e65;box-shadow:inset 0 0 0 3px #9d3930,inset 0 0 0 4px #ca7e65;transform:rotate(-3deg)}.brand>span:last-child{font-size:17px;letter-spacing:2.7px;font-weight:600}.brand small{display:block;font-family:var(--serif);font-size:10px;color:var(--gold);letter-spacing:5px;margin-top:7px}.main-nav{display:flex;gap:42px;align-self:stretch;align-items:center;font-size:13px;letter-spacing:2px}.main-nav a{height:100%;display:flex;align-items:center;gap:8px;position:relative;color:var(--muted)}.main-nav a:hover,.main-nav .active{color:var(--paper)}.main-nav .active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gold)}.main-nav span{color:var(--gold);font-size:17px}.player-button{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--line);padding:11px 16px;min-height:44px;color:var(--gold);max-width:210px}.player-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-button:hover{border-color:var(--gold)}.player-button svg{width:16px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;flex-shrink:0}
.showcase{position:relative;height:min(740px,calc(100svh - 96px));min-height:620px;overflow:hidden;background:#0c151d}.showcase-art{position:absolute;inset:0;background-image:url('../game-focus/assets/images/moon-sanctuary.webp');background-size:cover;background-position:center top;transition:opacity .4s ease;animation:arrive 1.2s ease-out both}.showcase-art.portrait{left:38%;background-size:cover;background-repeat:no-repeat;mask-image:linear-gradient(90deg,transparent,#000 26%)}.showcase-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,15,20,.88) 0%,rgba(7,15,20,.65) 29%,rgba(7,15,20,.12) 65%,rgba(7,15,20,.1)),linear-gradient(0deg,#0c1215 0%,rgba(12,18,21,.45) 15%,transparent 40%,rgba(8,14,18,.16) 80%,rgba(8,14,18,.3))}.hero-annotation{position:absolute;top:34px;left:56px;right:56px;display:flex;align-items:center;gap:18px;color:#b6b6ad;font-size:9px;letter-spacing:2.3px}.hero-annotation i{width:46px;height:1px;background:var(--line)}.hero-annotation span:last-child{margin-left:auto;color:var(--gold)}.hero-copy{position:absolute;left:max(7.5%,56px);top:50%;transform:translateY(-52%);max-width:560px;padding:25px 0 60px}.eyebrow{font-family:var(--sans);font-size:10px;line-height:1.5;color:var(--gold);letter-spacing:3px;margin:0 0 18px;display:flex;align-items:center;gap:12px}.gold-line{display:inline-block;width:30px;height:1px;background:var(--gold)}.hero-copy h1{font-family:var(--serif);font-weight:500;font-size:clamp(70px,7.6vw,112px);line-height:1.15;letter-spacing:.18em;margin:20px 0 12px;text-shadow:0 4px 35px #0008}.hero-copy h1.latin{font-family:Georgia,serif;letter-spacing:-.04em;font-size:clamp(62px,6.4vw,94px);line-height:1.02;max-width:360px}.hero-subtitle{font-family:var(--serif);font-size:23px;letter-spacing:.48em;color:var(--gold-light);margin:0 0 28px}.hero-description{color:#c4c7c3;letter-spacing:2px;font-family:var(--serif);font-size:14px;line-height:1.8;margin:0 0 32px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:52px;background:var(--gold);border:1px solid var(--gold);padding:15px 26px;color:#172025;font-size:13px;font-weight:600;letter-spacing:3px;transition:background .2s,transform .2s}.primary-button span{font-size:22px;line-height:1}.primary-button:hover{background:var(--gold-light);transform:translateY(-2px)}.hero-detail{display:flex;align-items:center;gap:14px;margin-top:24px;font-size:11px;letter-spacing:1.5px;color:#aab1b1}.hero-detail i{width:3px;height:3px;background:var(--gold);border-radius:50%}.hero-side-note{position:absolute;right:44px;top:41%;writing-mode:vertical-rl;color:#d1d0c0a6;letter-spacing:7px;font-family:var(--serif);font-size:11px}.showcase-bottom{position:absolute;bottom:22px;left:56px;right:56px;display:flex;align-items:center;gap:34px;border-top:1px solid var(--line);padding-top:22px}.feature-label{display:flex;align-items:center;gap:22px;flex-shrink:0}.feature-label>span{font-size:10px;color:#a7aaa4;letter-spacing:2px}.feature-label strong{font-family:Georgia,serif;color:var(--gold);font-size:29px;font-weight:400}.feature-label small{font-size:13px;color:#a7aaa4}.feature-tabs{display:flex;flex:1;justify-content:center;gap:8px}.feature-tab{padding:12px 18px;min-height:44px;border:0;background:transparent;color:#a5aba9;font-size:11px;letter-spacing:1px;position:relative;white-space:nowrap}.feature-tab:before{content:"";position:absolute;top:-24px;left:18px;right:18px;height:2px;background:transparent}.feature-tab[aria-selected=true]{color:var(--gold-light)}.feature-tab[aria-selected=true]:before{background:var(--gold)}.feature-tab:hover{color:var(--paper)}.feature-arrows{display:flex;gap:10px}.feature-arrows button{width:42px;height:42px;background:transparent;border:1px solid var(--line);color:var(--gold);font-size:20px}.feature-arrows button:hover{background:#ceb08020;border-color:var(--gold)}
.collection{padding-top:60px;padding-bottom:60px;scroll-margin-top:10px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px;gap:24px}.section-heading .eyebrow{margin-bottom:12px;font-size:9px}.section-heading h2{font-family:var(--serif);font-weight:400;font-size:29px;letter-spacing:5px;line-height:1;margin:0}.section-heading h2 span{font-family:Georgia,serif;letter-spacing:0;font-size:14px;color:var(--gold);vertical-align:top;display:inline-block;margin-left:16px}.filters{display:flex;gap:5px}.filters button{min-width:57px;min-height:44px;padding:10px 14px;letter-spacing:2px;font-size:12px;background:transparent;border:1px solid transparent;color:#a4aaa9}.filters button.selected{border-color:var(--line);background:#ceb0800c;color:var(--gold-light)}.filters button:hover{color:var(--paper)}.game-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.game-card{min-width:0;position:relative;transition:transform .3s ease}.game-card[hidden]{display:none}.game-link{display:block}.card-art{position:relative;aspect-ratio:4/5;overflow:hidden;background:#172125;border:1px solid var(--line)}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .7s ease;filter:saturate(.8)}.card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 40%,#0b1415b3);pointer-events:none}.game-card:hover .card-image{transform:scale(1.035);filter:saturate(1.05)}.game-card:hover{transform:translateY(-5px)}.card-number{position:absolute;top:14px;left:16px;z-index:1;color:#f1e3c9;font-size:11px;font-family:Georgia,serif;letter-spacing:1px}.card-symbol{position:absolute;bottom:20px;left:20px;z-index:1;font-family:var(--serif);font-size:40px;color:#f1e6d5;letter-spacing:8px;line-height:1.3;text-shadow:0 2px 18px #0008}.card-symbol.latin{font-family:Georgia,serif;font-size:28px;letter-spacing:-.5px;max-width:100px}.card-open{position:absolute;right:16px;bottom:20px;width:30px;height:30px;border:1px solid #d2b98e60;display:grid;place-items:center;z-index:1;color:var(--gold);font-size:18px;background:#0c121544}.card-copy{padding-top:19px}.card-category{font-size:9px;letter-spacing:2px;color:var(--gold);margin:0 0 9px}.game-title{font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:1px;margin:0 0 9px}.game-desc{font-family:var(--serif);font-size:11px;line-height:1.8;color:#a8b1b1;margin:0;letter-spacing:.5px}.card-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff0d;margin-top:17px;padding-top:13px;gap:8px;font-size:9px;color:#8c999c;letter-spacing:.6px}.card-meta span:last-child{color:#c2b398}.empty-note{font-size:12px;letter-spacing:1px;color:var(--muted)}
.journey{display:flex;align-items:center;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;position:relative}.journey-heading{display:flex;gap:20px;align-items:center}.journey-mark{width:52px;height:56px;display:grid;place-items:center;border:1px solid var(--line);font-family:var(--serif);font-size:30px;color:var(--gold)}.journey .eyebrow{font-size:8px;margin-bottom:8px;letter-spacing:2px}.journey h2{font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:4px;margin:0}.journey-metrics{display:flex;gap:48px;margin-left:auto;margin-right:40px}.journey-metrics div{display:flex;align-items:center;gap:15px}.journey-metrics strong{font:28px Georgia,serif;color:var(--gold-light)}.journey-metrics small{font-size:13px;color:var(--muted)}.journey-metrics span{font-size:11px;color:var(--muted);letter-spacing:1px}.recent-details{min-width:160px;border-left:1px solid var(--line);padding-left:30px}.recent-details summary{cursor:pointer;list-style:none;font-size:12px;letter-spacing:2px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px}.recent-details summary::-webkit-details-marker{display:none}.recent-details summary span{color:var(--gold);font-size:20px}.recent-details[open] summary span{transform:rotate(45deg)}#recentSessions{position:absolute;right:0;top:calc(100% - 12px);z-index:3;padding:20px 24px;background:#162126;border:1px solid var(--line);box-shadow:0 20px 40px #0004;width:340px;max-width:100%;}.recent-session{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.recent-session small{font-size:10px;color:var(--muted)}.recent-session strong{font-family:Georgia,serif;color:var(--gold)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:34px;padding-bottom:34px}.footer-brand{font-size:10px;letter-spacing:3px;font-weight:600;color:var(--gold)}.site-footer p{font-family:var(--serif);font-size:11px;letter-spacing:3px;color:#8e9999}.site-footer>span{font-size:10px;color:#8e9999;letter-spacing:.4px}
.player-dialog{background:#141e23;color:var(--paper);border:1px solid var(--line);padding:42px;max-width:calc(100% - 36px);width:420px;box-shadow:0 30px 150px #0008}.player-dialog::backdrop{background:#02080dcc;backdrop-filter:blur(6px)}.player-dialog h2{font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:3px;margin:0 0 30px}.player-dialog label{display:block;font-size:11px;letter-spacing:2px;color:var(--muted);margin-bottom:10px}.player-dialog input{width:100%;background:#0c1418;border:1px solid var(--line);padding:15px;color:var(--paper);border-radius:0}.player-dialog input:focus{outline:1px solid var(--gold)}.player-dialog .primary-button{width:100%}.close-dialog{position:absolute;top:12px;right:12px;width:40px;height:40px;background:none;border:0;font-size:24px;color:var(--muted)}.form-error{min-height:18px;font-size:11px;color:#e9ad96;margin:10px 0 16px}.feature-panel-change{animation:copy-arrive .4s ease-out}@keyframes arrive{from{opacity:.2;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes copy-arrive{from{opacity:.5;translate:0 5px}to{opacity:1;translate:0 0}}
@media(min-width:1800px){.hero-copy{left:max(calc((100% - 1540px)/2),7.5%)}.site-header{padding-inline:max(calc((100% - 1600px)/2),56px)}}
@media(max-width:1150px){.site-header{padding-inline:32px}.content-width{width:calc(100% - 64px)}.showcase{min-height:610px}.hero-annotation,.showcase-bottom{left:32px;right:32px}.hero-copy{left:7%}.showcase-bottom{gap:15px}.feature-label{gap:12px}.feature-tab{padding-inline:12px}.feature-tab:before{left:12px;right:12px}.feature-label>span{display:none}.game-grid{gap:15px}.card-symbol{font-size:33px;left:14px}.card-symbol.latin{font-size:24px}.card-open{right:10px;bottom:16px;width:25px;height:25px}.card-copy{padding-top:15px}.game-title{font-size:16px}.card-meta{flex-wrap:wrap}.journey{gap:20px}.journey-metrics{gap:24px;margin-right:10px}.journey-metrics div{gap:10px}.recent-details{padding-left:20px;min-width:140px}}
@media(max-width:800px){.site-header{height:80px;padding-inline:24px;gap:20px}.brand>span:last-child{font-size:14px;letter-spacing:2px}.brand small{font-size:9px;letter-spacing:3px}.brand-seal{width:35px;height:38px;font-size:25px}.main-nav{gap:22px;font-size:11px;letter-spacing:1px}.player-button{max-width:130px;padding:10px}.showcase{height:670px;min-height:0}.showcase-art{background-position:60% center}.showcase-shade{background:linear-gradient(90deg,#071019cc,transparent 95%),linear-gradient(0deg,#0c1215,transparent 70%)}.hero-copy{left:40px;top:46%;padding-bottom:20px}.hero-copy h1{font-size:90px}.hero-subtitle{font-size:20px}.hero-annotation{left:24px;right:24px;top:25px}.hero-side-note{right:20px}.showcase-bottom{left:24px;right:24px;bottom:20px;flex-wrap:wrap;gap:15px 20px}.feature-label{order:0}.feature-arrows{order:1;margin-left:auto}.feature-tabs{order:2;flex-basis:100%;justify-content:space-between;gap:2px}.feature-tab{padding:8px 10px;min-height:38px;font-size:10px}.feature-tab:before{top:auto;bottom:0;left:10px;right:10px}.feature-arrows button{width:36px;height:36px}.feature-label strong{font-size:24px}.content-width{width:calc(100% - 48px)}.collection{padding-block:45px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 18px}.card-symbol{font-size:36px}.card-copy{padding-top:16px}.card-meta{flex-wrap:nowrap}.journey{flex-wrap:wrap}.journey-metrics{margin-left:auto;margin-right:0;gap:20px}.journey-metrics div{display:block}.journey-metrics strong{display:block;margin-bottom:6px}.recent-details{flex-basis:100%;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:10px}.recent-details summary{min-height:38px}.site-footer{flex-wrap:wrap}.site-footer p{display:none}}
@media(max-width:540px){.site-header{height:76px;padding-inline:20px;gap:16px}.brand{gap:10px}.brand>span:last-child{font-size:12px;letter-spacing:1.6px}.brand small{font-size:8px;letter-spacing:2.5px;margin-top:5px}.main-nav{margin-left:auto;gap:16px}.main-nav a:first-child{display:none}.main-nav a{font-size:10px;white-space:nowrap}.player-button{border:0;padding:8px;max-width:65px;gap:0;min-width:32px}.player-button span{display:none}.player-button svg{width:18px;height:20px}.showcase{height:640px}.showcase-art{background-position:61% center}.showcase-art.portrait{left:0;background-size:auto 125%;mask-image:none}.hero-annotation{left:20px;right:20px;font-size:8px;letter-spacing:1.3px;gap:8px;top:22px}.hero-annotation i{width:20px}.hero-copy{left:28px;right:24px;top:43%;transform:translateY(-50%)}.hero-copy h1{font-size:78px;letter-spacing:.12em;margin-top:18px}.hero-copy h1.latin{font-size:66px;max-width:270px}.hero-copy .eyebrow{font-size:10px;letter-spacing:3px}.hero-subtitle{font-size:19px;margin-bottom:24px}.hero-description{font-size:12px;letter-spacing:1px;margin-bottom:26px}.primary-button{min-height:50px;padding:14px 23px;gap:35px;font-size:12px}.hero-detail{font-size:10px;gap:12px;margin-top:20px;letter-spacing:1px}.hero-side-note{display:none}.showcase-bottom{left:20px;right:20px;bottom:18px;padding-top:16px;gap:12px}.feature-tabs{gap:0}.feature-tab{padding-inline:5px;font-size:10px;letter-spacing:0;min-height:42px}.feature-tab:before{left:5px;right:5px}.feature-label>span{display:inline-block;font-size:9px}.feature-label{gap:16px}.content-width{width:calc(100% - 40px)}.collection{padding-top:36px;padding-bottom:38px}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:26px}.section-heading .eyebrow{font-size:8px;margin-bottom:10px}.filters{margin-top:24px;border-bottom:1px solid var(--line);gap:10px}.filters button{border:0;min-width:50px;padding:10px 12px;position:relative}.filters button.selected{background:none}.filters button.selected:after{position:absolute;bottom:-1px;left:10px;right:10px;height:2px;content:"";background:var(--gold)}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.card-art{aspect-ratio:3/4}.card-symbol{font-size:32px;bottom:18px;left:13px;letter-spacing:4px}.card-symbol.latin{font-size:25px}.card-open{right:11px;bottom:18px;width:23px;height:23px;font-size:16px}.card-number{top:12px;left:13px;font-size:10px}.game-title{font-size:15px}.game-desc{font-size:10px}.card-category{font-size:8px;letter-spacing:1.5px}.card-meta{font-size:8px;letter-spacing:0;gap:4px;flex-wrap:wrap}.journey{padding-block:24px;gap:20px 14px}.journey-mark{width:39px;height:44px;font-size:25px}.journey-heading{gap:12px}.journey h2{font-size:16px;letter-spacing:2px}.journey .eyebrow{font-size:7px;letter-spacing:1.4px}.journey-metrics{gap:20px}.journey-metrics strong{font-size:24px}.journey-metrics small{font-size:11px}.journey-metrics span{font-size:9px;letter-spacing:0}.recent-details{padding-top:9px}.site-footer{padding-block:25px;gap:14px}.footer-brand{font-size:9px;letter-spacing:2px}.site-footer>span{font-size:9px}.player-dialog{padding:32px 24px}}
@media(max-width:360px){.site-header{padding-inline:16px;gap:10px}.brand>span:last-child{font-size:11px}.main-nav{gap:10px}.showcase{height:610px}.hero-copy{left:24px}.hero-copy h1{font-size:70px}.hero-copy h1.latin{font-size:57px}.hero-description{font-size:11px;letter-spacing:0}.hero-annotation{font-size:7px}.content-width{width:calc(100% - 32px)}.game-grid{gap:24px 12px}.card-symbol{font-size:27px}.card-symbol.latin{font-size:22px}.card-open{right:8px;width:20px;height:20px}.journey-metrics{gap:12px}.journey-mark{display:none}.journey h2{font-size:15px}.journey-metrics span{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:540px){.game-grid[data-filter="all"] .game-card:last-child{grid-column:span 2}.game-grid[data-filter="all"] .game-card:last-child .card-art{aspect-ratio:16/9}.feature-arrows button{width:44px;height:44px}}
