
:root{color-scheme:dark;--bg:#101922;--panel:#17232e;--ink:#f2f4f6;--muted:#b8c5cf;--accent:#efc17d;--line:#35434f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.8 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}a{color:var(--accent);text-underline-offset:5px}a:hover{color:#fff}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.wrap{max-width:1100px;margin:auto;padding:0 32px}.skip{position:absolute;top:-100px;left:16px;background:var(--bg);padding:8px}.skip:focus{top:10px;z-index:3}header{border-bottom:1px solid var(--line)}header .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:23px;padding-bottom:23px}.brand{font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:.06em}nav{display:flex;gap:25px;flex-wrap:wrap}nav a{font-size:15px}h1,h2,h3{line-height:1.3}h1{font-family:Georgia,"Songti SC",SimSun,serif;font-size:clamp(38px,6vw,74px);font-weight:500;margin:16px 0 28px}h2{font-size:27px;font-weight:600;margin:0 0 16px}h3{font-size:19px}p{margin:0 0 18px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:14px}.hero{padding:88px 0 76px;max-width:840px}.lead{font-size:21px;color:var(--muted);max-width:650px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}.button{display:inline-block;padding:12px 24px;background:var(--accent);color:#17212b;border:1px solid var(--accent);border-radius:4px;font-weight:600;text-decoration:none}.button:hover{background:#ffdaa3;color:#101922}.button.secondary{background:none;color:var(--ink);border-color:var(--line)}.grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:72px}.grid section{padding:32px 32px 24px 0}.grid section+section{padding-left:32px;border-left:1px solid var(--line)}.muted{color:var(--muted)}.meta{font-size:14px;color:var(--muted);overflow-wrap:anywhere}footer{padding:28px 0 36px;border-top:1px solid var(--line)}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer p{margin:0}.draft{background:#382c1b;color:#ffe1ac;border-left:4px solid var(--accent);padding:14px 18px;margin-top:24px;font-size:15px}.policy-head{padding:58px 0 24px}.policy-head h1{font-size:48px}.policy-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:54px;padding-bottom:70px}.toc{align-self:start;position:sticky;top:25px}.toc a{display:block;margin:0 0 10px;font-size:15px}.policy section{padding:20px 0 24px;border-top:1px solid var(--line);scroll-margin-top:20px}.policy p,.policy li{color:#d6dfe5}.policy ul{padding-left:24px}.policy table{border-collapse:collapse;width:100%;font-size:16px}.policy th,.policy td{padding:15px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.policy th{color:var(--accent)}.table-scroll{overflow-x:auto}.placeholder{color:#ffce80;overflow-wrap:anywhere}code{font-family:ui-monospace,monospace;font-size:.9em;overflow-wrap:anywhere}
@media(max-width:700px){.wrap{padding:0 22px}header .wrap{align-items:flex-start;flex-direction:column;gap:12px}.hero{padding:55px 0 48px}.lead{font-size:19px}.grid{grid-template-columns:1fr;margin-bottom:45px}.grid section,.grid section+section{padding:26px 0;border-left:0}.grid section+section{border-top:1px solid var(--line)}.policy-layout{grid-template-columns:1fr;gap:20px}.toc{position:static;border-bottom:1px solid var(--line);padding-bottom:15px;display:flex;gap:10px 20px;flex-wrap:wrap}.toc a{margin:0}.policy-head h1{font-size:38px}.policy th,.policy td{min-width:140px}.actions{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Studio homepage */
.studio-site{--bg:#0d131b;--panel:#141d28;--accent:#efc17d}.studio-site .wrap{max-width:1320px;padding-left:48px;padding-right:48px}.studio-brand{display:flex;align-items:center;gap:13px;font-size:20px}.studio-brand small{display:block;font-size:11px;letter-spacing:.2em;color:var(--muted);font-weight:400}.studio-mark{border:1px solid var(--accent);color:var(--accent);font-family:SimSun,serif;font-size:26px;width:43px;height:48px;display:grid;place-items:center}.studio-site header .wrap{padding-top:21px;padding-bottom:21px}.studio-site header nav a{color:var(--ink);text-decoration:none}.studio-hero{padding:76px 0 72px;border-bottom:1px solid var(--line);background:#101923}.hero-layout{display:grid;grid-template-columns:.88fr 1.25fr;align-items:center;gap:42px}.hero-copy h1{font-size:clamp(36px,4vw,59px);line-height:1.4;letter-spacing:.015em;margin:20px 0 24px}.hero-copy>p:not(.eyebrow){color:var(--muted);font-size:17px}.english{color:#a9b7c5;font-size:14px}.hero-copy .button{margin-top:20px;display:inline-flex;gap:34px;align-items:center}.hero-art{margin:0;min-width:0}.hero-art img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:1px solid #6e5236}.hero-art figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:14px;color:var(--muted)}.hero-art figcaption span{font-size:12px;letter-spacing:.13em}.games-section{padding-top:70px!important;padding-bottom:65px!important;scroll-margin-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:36px}.section-heading h2{font-size:33px;margin:0}.section-heading .eyebrow{margin-bottom:9px}.edition{color:var(--muted);font-size:14px}.game-info{display:grid;grid-template-columns:92px 1fr;gap:25px;max-width:850px;margin-bottom:35px}.game-icon{width:92px;height:92px;border-radius:18px;border:1px solid var(--line)}.game-info h3{font-size:32px;margin:2px 0 15px}.game-info .eyebrow{font-size:13px;margin-bottom:5px}.game-summary{color:#d2dbe2;max-width:760px}.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.art-grid figure{margin:0;background:#141d28;border:1px solid var(--line)}.art-grid a{display:block;overflow:hidden}.art-grid img{display:block;width:100%;height:auto;aspect-ratio:16/9;transition:transform .25s ease}.art-grid a:hover img{transform:scale(1.025)}.art-grid figcaption{padding:20px 22px}.art-grid figcaption>span{float:right;font-size:13px;color:var(--accent)}.art-grid h4{font-size:20px;margin:0 0 8px;font-weight:600}.art-grid p{font-size:15px;color:var(--muted);margin:0}.art-note{font-size:13px;color:var(--muted);margin:16px 0 0}.about-section{padding:65px 0;background:#131e2a;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.about-intro{font-size:27px;line-height:1.65;font-family:Georgia,SimSun,serif}.studio-footer{padding:48px 0;border:0}.studio-footer .footer-layout{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:35px}.studio-footer h2{font-size:18px}.studio-footer p{font-size:15px;margin:5px 0;color:var(--muted)}.footer-links{align-self:end}.footer-links>a{font-size:14px}.studio-site .eyebrow{font-size:12px}
@media(max-width:950px){.studio-site .wrap{padding-left:28px;padding-right:28px}.hero-layout{grid-template-columns:1fr;gap:36px}.hero-copy h1{font-size:46px}.hero-art{max-width:100%}.art-grid{gap:14px}.art-grid figcaption{padding:15px}.about-layout{gap:35px}.studio-footer .footer-layout{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}}
@media(max-width:600px){.studio-site .wrap{padding-left:22px;padding-right:22px}.studio-site header .wrap{gap:18px}.studio-site nav{gap:24px}.studio-hero{padding:35px 0 38px}.hero-copy h1{font-size:37px}.hero-copy .eyebrow{font-size:11px}.hero-copy .button{margin-top:10px}.hero-art figcaption{font-size:12px}.games-section{padding-top:40px!important;padding-bottom:40px!important}.section-heading{align-items:start;flex-direction:column;gap:12px}.section-heading h2{font-size:28px}.game-info{grid-template-columns:66px 1fr;gap:16px}.game-icon{width:66px;height:66px;border-radius:13px}.game-info h3{font-size:25px}.game-info .eyebrow{font-size:11px}.art-grid{grid-template-columns:1fr;gap:22px}.art-grid figcaption{padding:19px}.about-layout{grid-template-columns:1fr;gap:10px}.about-intro{font-size:23px}.about-section{padding:40px 0}.studio-footer .footer-layout{grid-template-columns:1fr;gap:26px}.footer-links{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.art-grid img{transition:none}}

/* Two-game directory and portrait ranch artwork */
.game-directory{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 44px}.game-directory a{display:flex;align-items:center;gap:16px;padding:18px 22px;border:1px solid var(--line);background:var(--panel);color:var(--ink);text-decoration:none}.game-directory a:hover{border-color:var(--accent)}.game-directory img{width:54px;height:54px;border-radius:12px}.game-directory small{display:block;color:var(--muted);font-size:13px;margin-top:2px}.game-feature{scroll-margin-top:28px}.ranch-feature{margin-top:60px;padding-top:50px;border-top:1px solid var(--line);--accent:#c0d878}.ranch-gallery{max-width:1060px;margin:auto;gap:28px}.ranch-gallery img{aspect-ratio:auto;height:auto;width:100%;object-fit:contain}.ranch-gallery a:hover img{transform:none}.ranch-feature .game-icon{border-color:#77864a}
@media(max-width:600px){.game-directory{grid-template-columns:1fr;gap:12px;margin-bottom:32px}.game-directory a{padding:14px 17px}.ranch-feature{margin-top:40px;padding-top:35px}.ranch-gallery{max-width:380px;gap:24px}}

.ranch-heading h3{font-size:32px;margin:5px 0 18px}.ranch-cover{margin:30px 0 0}.ranch-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:1px solid var(--line)}.ranch-cover a{display:block}@media(max-width:600px){.ranch-heading h3{font-size:25px}}
/* Bilingual privacy policy */
.toc{flex-direction:column;gap:0}.policy-layout{margin-top:18px}.policy section>div{color:#d6dfe5}.policy section li{margin-bottom:12px}.policy .button{margin:8px 0 12px}.english-policy-title{font-size:38px;margin:56px 0 24px;padding-top:35px;border-top:2px solid var(--accent)}.policy section a{overflow-wrap:anywhere}.policy-head nav{margin-bottom:14px}#policy-zh,#policy-en{scroll-margin-top:20px}@media(max-width:700px){.toc{flex-direction:row;gap:10px 20px}.policy .button{max-width:100%;white-space:normal}}
