:root{color-scheme:dark;--bg:#141715;--surface:#202620;--ink:#f2f3e9;--muted:#b6bdb1;--accent:#d4f77c;--accent-ink:#19210e;--small: .875rem;--body:1rem;--lead:1.25rem;--head:clamp(2rem,3.5vw,3.4rem);--display:clamp(3.5rem,7vw,7.25rem);font-family:"Arial","Noto Sans TC","Microsoft JhengHei",sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:7px}a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--accent-ink)}p,h1,h2,h3,dl,dd{margin:0}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;background:var(--accent);color:var(--accent-ink);padding:15px;z-index:10}.skip:focus{top:15px}
.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:14px;font-weight:800;letter-spacing:.035em;font-size:var(--body);min-height:44px}.mark{display:block;width:40px;height:40px}.site-header nav{display:flex;gap:36px;font-size:var(--small)}nav a{display:inline-flex;align-items:center;gap:12px;min-height:44px}nav a:hover,.text-link:hover,.site-footer>a:last-child:hover{color:var(--accent)}
.intro{padding-top:65px;padding-bottom:76px;display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:end}h1{font-size:var(--display);letter-spacing:-.055em;line-height:1.16;font-weight:800}h1 span{color:var(--accent)}.intro-aside{padding-bottom:9px}.intro-aside p{font-size:var(--body);line-height:1.9;margin:28px 0 25px}.cross{display:block;width:47px;height:47px;background:var(--accent);clip-path:polygon(34% 0,66% 0,66% 34%,100% 34%,100% 66%,66% 66%,66% 100%,34% 100%,34% 66%,0 66%,0 34%,34% 34%)}.text-link{display:inline-flex;align-items:center;gap:40px;font-size:var(--body);min-height:44px}
.library{scroll-margin-top:25px}.library-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px}.library-heading h2{font-size:var(--lead);font-weight:600}.library-heading p{font-size:var(--small);color:var(--muted);display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;background:var(--accent);border-radius:50%}.game{display:grid;grid-template-columns:1.15fr 1fr;background:var(--surface)}.game-cover{display:block;position:relative;overflow:hidden;min-height:460px;background:var(--accent-ink)}.game-cover img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;transition:transform 250ms ease}.game-cover:hover img{transform:scale(1.025)}.cover-caption{position:absolute;bottom:0;left:0;right:0;background:var(--accent-ink);color:var(--ink);display:flex;justify-content:space-between;gap:10px;padding:16px 24px;font-size:var(--small);letter-spacing:.06em;font-weight:600}.cover-caption>span{color:var(--accent)}.game-details{padding:36px 32px}.game-index{display:flex;justify-content:space-between;gap:15px;font-size:var(--small);color:var(--muted);margin-bottom:22px}.game-index>span{letter-spacing:0}h3{font-size:var(--head);line-height:1.05;letter-spacing:-.045em;font-weight:800}.description{margin-top:24px;font-size:var(--body);line-height:1.85;text-wrap:pretty}.facts{display:grid;gap:10px;margin:24px 0 28px;font-size:var(--small)}.facts>div{display:flex;gap:20px}.facts dt{color:var(--muted);min-width:28px}.play{display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--accent);color:var(--accent-ink);font-size:var(--body);font-weight:700;padding:17px 22px;min-height:56px;transition:background 180ms ease,transform 180ms ease}.play:hover{background:var(--ink);transform:translateY(-2px)}.play:active{transform:translateY(0)}.game-note{font-size:var(--small);line-height:1.7;color:var(--muted);margin-top:14px}
.afterword{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:86px 96px}.afterword>p{font-size:var(--head);line-height:1.25;font-weight:700;letter-spacing:-.04em}.afterword>div{max-width:48ch}.afterword>div p{font-size:var(--body);line-height:1.9}.afterword>div p+p{margin-top:16px;color:var(--muted)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-bottom:38px}.site-footer .wordmark{font-size:var(--lead);letter-spacing:-.035em}.footer-plus{color:var(--accent);margin-left:14px}.site-footer p,.site-footer>a:last-child{font-size:var(--small);color:var(--muted);line-height:1.7;min-height:44px;display:flex;align-items:center}
@media(min-width:1500px){.intro{padding-top:80px;padding-bottom:90px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.intro{grid-template-columns:1fr 230px;padding-top:48px;gap:24px}.game{grid-template-columns:1.1fr 1fr}.game-details{padding:28px}.game-index{flex-direction:column;gap:7px}.cover-caption{padding:15px;font-size:13px}.game-cover{min-height:470px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{min-height:88px;gap:16px}.wordmark{font-size:var(--small);gap:9px}.site-header nav{gap:18px}.intro{grid-template-columns:1fr;gap:28px;padding-top:35px;padding-bottom:48px}h1{font-size:clamp(3.5rem,13vw,5.5rem)}.intro-aside{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.cross{display:none}.intro-aside p{margin:0;font-size:var(--small);line-height:1.8}.text-link{gap:18px;font-size:var(--small)}.library-heading{margin-bottom:16px}.game{grid-template-columns:1fr}.game-cover{min-height:0;aspect-ratio:16/10}.game-cover img{object-fit:contain}.cover-caption{font-size:13px;padding:12px 14px}.game-details{padding:26px 24px 28px}.game-index{flex-direction:row;font-size:13px;margin-bottom:20px}h3{font-size:clamp(2rem,8vw,3rem)}h3{max-width:none}.description{margin-top:20px;max-width:none}.facts{margin-block:22px 24px}.game-note{font-size:13px}.afterword{grid-template-columns:1fr;gap:24px;padding-block:48px 52px}.afterword>p{font-size:2rem}.afterword>p br{display:none}.site-footer{flex-wrap:wrap;gap:8px 24px;padding-bottom:24px}.site-footer .wordmark{width:100%}.site-footer p{flex:1}.site-footer>a:last-child{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.not-found{min-height:calc(100svh - 112px);display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(40px,7vw,100px);padding-block:60px 120px}.error-code{color:var(--accent);font-size:clamp(8rem,18vw,17rem);line-height:.9;font-weight:800;letter-spacing:-.09em}.error-content{min-width:0}.not-found h1{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.18;letter-spacing:-.04em;white-space:nowrap}.error-copy{font-size:var(--body);line-height:1.9;margin-block:28px 32px;text-wrap:pretty}.error-content .play{max-width:360px}@media(max-width:700px){.not-found{min-height:calc(100svh - 88px);grid-template-columns:1fr;align-content:center;gap:40px;padding-block:40px 72px}.error-code{font-size:clamp(8rem,35vw,12rem)}.not-found h1{font-size:clamp(2rem,8vw,3rem)}.error-copy{margin-block:24px 28px}.error-content .play{max-width:none}}
.site-header .brand-logo{display:block;width:auto;height:40px;max-width:100%}@media(max-width:700px){.site-header .brand-logo{height:36px}}
