@font-face{font-family:'Lilita One';font-style:normal;font-weight:400;font-display:swap;src:url('assets/lilita-one.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 500;font-display:swap;src:url('assets/dm-sans.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600 700;font-display:swap;src:url('assets/dm-sans-bold.ttf') format('truetype')}
:root{--paper:#faf9f6;--ink:#292337;--body:#514a5c;--purple:#6b48a4;--deep:#30263f;--line:#c9c2d0;--font:'DM Sans',sans-serif;--gutter:clamp(24px,5.5vw,88px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px;scrollbar-color:#92869e var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.7}::selection{background:#dcd0ee;color:var(--ink)}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7552a6;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font);font-weight:700;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}h2{font-size:clamp(34px,3.4vw,48px)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.wrap{width:min(100% - var(--gutter)*2,1280px);margin-inline:auto}.section{padding-block:100px}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:white;padding:12px 20px;border-radius:8px}.skip-link:focus{top:16px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:700;letter-spacing:-.8px;line-height:1}.brand img{width:49px;height:37px;object-fit:contain;mix-blend-mode:multiply}.header nav{display:flex;align-items:center;gap:40px;font-size:17px;font-weight:700}.header nav a{display:inline-flex;align-items:center;min-height:44px}.header nav a:hover{color:var(--purple)}.header nav a{border-bottom:2px solid transparent}.header nav a:hover,.header nav a:focus-visible{border-bottom-color:currentColor}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;background:#eee3d5}.hero-art{position:absolute;inset:0;z-index:-2}.lifestyle-image{width:100%;height:100%;object-fit:cover;object-position:center 12%}.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f5ece4bf 0%,#f5ece459 30%,transparent 53%);pointer-events:none}.hero-inner{min-height:680px;display:flex;align-items:center}.hero-copy{padding-block:72px;width:560px;max-width:47%;padding-bottom:105px}.hero h1{font-size:clamp(48px,5vw,72px);line-height:1.08;letter-spacing:-.04em}.hero-copy>p{color:#443c4d;line-height:1.7;margin-top:30px;font-size:20px;max-width:460px}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;min-height:66px;padding:18px 32px;border-radius:6px;font-size:18px;font-weight:700;letter-spacing:.005em;max-width:100%;transition:background .2s var(--ease),transform .2s var(--ease)}.primary{background:var(--deep);color:white;margin-top:32px}.primary:hover{background:#4c3763;transform:translateY(-2px)}.primary:active{transform:translateY(0)}.game-index{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-block:28px;border-bottom:1px solid var(--line)}.game-index a{display:flex;align-items:center;gap:14px;padding:8px 0;min-height:68px}.game-index img{width:54px;height:54px;border-radius:12px;flex-shrink:0}.game-index span{font-weight:700;font-size:17px;line-height:1.4}.game-index small{display:block;color:var(--body);font-size:14px;font-weight:400;margin-top:6px}.game-index a:hover span{color:var(--purple)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:48px}.section-heading>p{color:var(--body);font-size:18px;line-height:1.75;max-width:440px;padding-bottom:2px}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 48px}.game-card{min-width:0;scroll-margin-top:32px}.game-art{position:relative;aspect-ratio:1.47;overflow:hidden;border-radius:12px;background:#f0edf6}.game-screen{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.arrow .game-screen{object-position:50% 38%}.mahjong .game-screen{object-position:50% 26%}.water .game-screen{object-position:50% 35%}.wool .game-screen{object-position:50% 23%}.game-art figcaption{position:absolute;bottom:16px;left:16px;background:#faf9f6;color:var(--ink);padding:8px 14px;border-radius:5px;font-size:14px;font-weight:700}.game-body{padding:26px 0 0}.game-body h3{font-size:36px;letter-spacing:-.025em;line-height:1.2}.game-subtitle{font-size:15px;color:var(--body);margin-top:5px}.game-description{font-size:18px;line-height:1.8;color:var(--body);margin:18px 0 12px;max-width:52ch;min-height:56px}.store-link{display:inline-flex;align-items:center;margin-left:-12px;line-height:0;min-height:60px}.store-link img{width:216px;height:auto;object-fit:contain}.store-link:hover{opacity:.8}.game-details{margin-top:12px;border-top:1.5px solid var(--line)}.game-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:700;min-height:64px;font-size:16px;gap:20px}.game-details summary::-webkit-details-marker{display:none}.game-details summary svg{width:24px;height:24px;transition:transform .2s}.game-details[open] summary svg{transform:rotate(180deg)}.game-details summary:hover{color:var(--purple)}.game-instructions{color:var(--body);font-size:16px;line-height:1.85;padding:4px 0 16px}.game-instructions ul{padding-left:20px;margin:12px 0 0}.game-instructions li{padding:2px 0}.about{background:#eeece8;padding-block:88px}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start}.about h2{font-size:clamp(34px,3.4vw,48px)}.about-copy p{color:#534e59;line-height:1.9;max-width:52ch;font-size:18px}.about-copy p+p{margin-top:22px}.support{background:var(--deep);color:#faf9f6;padding-block:76px}.support-inner{display:flex;justify-content:space-between;align-items:center;gap:48px}.support h2{font-size:clamp(34px,3.3vw,46px)}.support p{font-size:18px;color:#e2dbe9;line-height:1.85;margin-top:24px}.contact-actions{text-align:right;flex-shrink:0}.contact-button{background:#faf9f6;color:var(--deep);min-width:170px}.contact-button:hover{background:#e5deed}.email-link{display:block;font-size:15px;color:#e2dbe9;margin-top:18px;overflow-wrap:anywhere}.email-link:hover{text-decoration:underline}.footer{padding-block:44px 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top p{font-size:15px;color:var(--body)}.footer .brand{font-size:23px}.footer .brand img{width:42px;height:32px}.back-top{display:inline-flex;gap:8px;align-items:center;min-height:48px;font-size:15px;font-weight:600}.back-top svg{width:22px;height:22px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:30px;font-size:13px;color:var(--body);border-top:1.5px solid var(--line);padding-top:18px}.footer-bottom a{display:flex;align-items:center;min-height:44px}.footer-bottom>span{align-self:center}.footer a:hover{text-decoration:underline}
@media(min-width:1800px){.hero-inner{min-height:780px}.hero-copy{width:500px}.hero h1{font-size:82px}}
@media(max-width:1100px){.hero-inner{min-height:600px}.hero-copy{max-width:45%;padding-bottom:75px}.hero h1{font-size:58px}.hero-copy>p{font-size:18px}.hero-copy>p br{display:none}.game-index{gap:20px}.game-index a{gap:10px}.game-index span{font-size:16px}.game-index img{width:42px;height:42px}.game-index small{font-size:13px}.game-grid{gap:48px 32px}.section-heading{gap:32px}.section-heading>p{max-width:380px;font-size:16px}.about-inner{gap:48px}.support-inner{gap:32px}.support p br{display:none}.support p{max-width:45ch}}
@media(max-width:800px){:root{--gutter:28px}.header{height:84px}.header nav{gap:24px;font-size:16px}.brand{font-size:23px}.hero-inner{min-height:540px}.hero-copy{max-width:44%;padding-bottom:60px}.hero h1{font-size:48px}.hero-copy>p{font-size:17px;line-height:1.75;margin-top:22px}.button{font-size:17px;gap:24px;padding:16px 24px;min-height:62px}.game-index{grid-template-columns:1fr 1fr;gap:10px 24px;padding-block:20px}.game-index span{font-size:16px}.game-index small{font-size:13px}.game-index img{width:44px;height:44px}.section{padding-block:64px}.section-heading{align-items:start;gap:24px;flex-direction:column;margin-bottom:36px}.section-heading>p{max-width:44ch}.game-grid{gap:40px 24px}.game-art{aspect-ratio:1.15}.game-body{padding-top:20px}.game-body h3{font-size:30px}.game-description{font-size:16px;margin-top:16px;min-height:112px}.store-link img{width:200px}.about{padding-block:64px}.about-inner{gap:32px}.about-copy p{font-size:16px}.support{padding-block:64px}.support-inner{align-items:start;flex-direction:column;gap:32px}.support p{margin-top:20px}.contact-actions{text-align:left}.footer-top p{display:none}}
@media(max-width:600px){:root{--gutter:24px}.header{height:76px}.brand{font-size:22px;gap:9px}.brand img{width:43px;height:32px}.menu-toggle{display:grid;place-items:center;width:44px;height:44px;background:none;border:1px solid #c9c3d0;border-radius:6px}.header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);border:1px solid var(--line);padding:12px 20px;border-radius:8px;box-shadow:0 12px 28px #30204f20}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header nav a{padding:10px 0}.header nav a:last-child{padding:10px 0;border:0}.hero{display:flex;flex-direction:column;background:#f0e8df}.hero::after{display:none}.hero-inner{order:0;min-height:0}.hero-copy{max-width:100%;width:100%;padding:40px 0 36px}.hero h1{font-size:clamp(43px,10.5vw,60px);letter-spacing:-.04em;max-width:440px}.hero-copy>p{max-width:36ch;margin-top:20px;line-height:1.8}.primary{margin-top:24px}.hero-art{position:relative;order:1;z-index:0;height:360px;aspect-ratio:auto;width:100%}.lifestyle-image{position:absolute;inset:0;object-position:79% 24%;object-fit:cover;width:100%;height:100%}.game-index{padding-block:18px;gap:8px 16px}.game-index a{gap:9px}.game-index img{width:44px;height:44px;border-radius:10px}.game-index span{font-size:14px}.game-index small{font-size:12px;margin-top:5px}.section{padding-block:52px}.section-heading{margin-bottom:30px;gap:18px}.section-heading h2{font-size:34px;max-width:14ch}.section-heading>p{max-width:38ch;font-size:16px}.section-heading>p br{display:none}.game-grid{grid-template-columns:1fr;gap:36px}.game-art{aspect-ratio:1.25}.game-body{padding-top:22px}.game-body h3{font-size:32px}.game-subtitle{font-size:14px;margin-top:6px}.game-description{font-size:16px;margin:16px 0 10px;max-width:45ch;min-height:0}.store-link{margin-left:-11px}.store-link img{width:200px}.game-details{margin-top:8px}.game-art figcaption{font-size:13px;bottom:13px;left:13px}.about{padding-block:52px}.about-inner{grid-template-columns:1fr;gap:26px}.about h2{font-size:34px;max-width:17ch}.about h2 br{display:none}.about-copy p{font-size:16px}.support{padding-block:52px}.support h2{font-size:34px}.support p{font-size:16px;max-width:39ch}.footer{padding-top:28px}.footer-top{gap:18px}.footer .brand{font-size:20px;gap:7px}.footer .brand img{width:34px;height:26px}.back-top{font-size:14px}.footer-bottom{margin-top:20px;flex-wrap:wrap;gap:8px;font-size:13px}.footer-bottom>span{flex-basis:100%;min-height:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Native language selection remains available independently of the mobile menu. */
.header-actions{display:flex;align-items:center;gap:28px;min-width:0}
.header-actions nav{order:0}
.language-switcher{order:1;display:flex;align-items:center;gap:7px;min-height:52px;border:1.5px solid #b8adbf;border-radius:6px;padding:0 12px;color:var(--ink);background:var(--paper)}
.language-switcher svg{width:22px;height:22px}
.language-switcher select{width:138px;min-height:48px;padding:0 3px;border:0;background:transparent;color:inherit;font:inherit;font-size:16px;cursor:pointer}
.language-switcher:focus-within{outline:2px solid #7552a6;outline-offset:4px}
.language-switcher select:focus{outline:none}
.menu-toggle{order:2;flex-shrink:0}
.hero h1,.hero-copy>p,.section-heading>p,.about h2,.support p{white-space:pre-line}
html:not(:lang(en)) .hero h1{font-size:clamp(40px,4.6vw,66px);overflow-wrap:anywhere}
html:lang(ja){--font:'Yu Gothic','Meiryo',sans-serif}
html:lang(ko){--font:'Malgun Gothic','Apple SD Gothic Neo',sans-serif}
html:lang(zh){--font:'Microsoft JhengHei','PingFang TC',sans-serif}
html:lang(hi){--font:'Nirmala UI','Mangal',sans-serif}
html:lang(th){--font:'Leelawadee UI','Tahoma',sans-serif}
html:lang(ja) h1,html:lang(ja) h2,html:lang(ko) h1,html:lang(ko) h2,html:lang(zh) h1,html:lang(zh) h2,html:lang(hi) h1,html:lang(th) h1{letter-spacing:0;line-height:1.3}
html:lang(hi) body,html:lang(th) body{line-height:1.9}
@media(max-width:1100px){.header-actions{gap:18px}.header nav{gap:22px}.language-switcher select{width:112px}}
@media(max-width:1180px){.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);border:1px solid var(--line);padding:12px 20px;border-radius:8px;box-shadow:0 12px 28px #30204f20}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header nav a{padding:10px 0}.header nav a:last-child{padding:10px 0;border:0}.menu-toggle{display:grid;place-items:center;width:44px;height:44px;background:none;border:1px solid #c9c3d0;border-radius:6px}}
@media(max-width:600px){.header{gap:12px}.header-actions{gap:8px}.header>.brand{gap:7px;font-size:18px}.header>.brand img{width:34px;height:28px}.language-switcher{padding:0 6px;gap:4px}.language-switcher svg{width:20px;height:20px}.language-switcher select{width:76px;font-size:14px}.menu-toggle{width:40px}.header nav{top:68px}html:not(:lang(en)) .hero h1{font-size:clamp(35px,9vw,50px)}.hero-copy>p,.section-heading>p,.support p{white-space:normal}.about h2{white-space:normal}.game-index small{overflow-wrap:anywhere}.email-link{overflow-wrap:anywhere}}
@media(max-width:380px){.header>.brand span{display:none}.header>.brand img{width:42px;height:32px}.language-switcher select{width:106px}}

/* Optical weight: consistent controls, clear directional cues and comfortable reading. */
.button svg{width:30px;height:30px;stroke-width:2.4}
.button>span{min-width:0;overflow-wrap:anywhere}
.header nav a{font-weight:700}
@media(max-width:1180px){.menu-toggle{width:48px;height:48px;border-width:1.5px}.header nav{top:90px}.header nav a{font-size:17px}}
@media(max-width:600px){.header{height:84px}.header nav{top:76px}.language-switcher{min-height:48px}.language-switcher select{min-height:44px}.menu-toggle{width:44px;height:48px}.button{width:min(100%,340px);justify-content:space-between;min-height:62px}.button svg{width:28px;height:28px}.contact-actions{width:100%;max-width:380px}.hero-copy>p{font-size:17px}.game-description{line-height:1.8}.game-index a{min-width:0}.game-index span{min-width:0}.game-index img{width:42px;height:42px}.section-heading>p,.about-copy p,.support p{line-height:1.8}}

/* Phone-only language popup. Desktop retains its native select. */
.mobile-language{display:none}
@media(max-width:600px){
  .has-mobile-picker{display:none!important}
  .mobile-language{display:block;min-width:0}
  .language-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:132px;min-height:44px;padding:0 5px;border:0;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer}
  .language-trigger::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin:0 3px 4px}
  .language-options{position:fixed;z-index:1000;width:min(240px,calc(100vw - 24px));overflow-y:auto;overscroll-behavior:contain;padding:6px;background:#fffcf7;border:1px solid #c9c2d0;border-radius:10px;box-shadow:0 10px 32px #30204f26;color:#30204f;text-align:left}
  .language-options[hidden]{display:none}
  .language-options button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:15px;line-height:1.4;text-align:left;cursor:pointer}
  .language-options button[aria-pressed=true]{background:#eee7f5;font-weight:700}
  .language-options button[aria-pressed=true]::after{content:'✓'}
  .language-options button:focus-visible,.language-trigger:focus-visible{outline:2px solid #7552a6;outline-offset:-2px}
  .policy-tools .mobile-language{border:1.5px solid #b8adbf;border-radius:6px;padding:0 6px}
}
/* A clean circular white backing for the brand mark. */
.brand img{width:60px;height:60px;padding:8px;flex-shrink:0;border-radius:50%;background:#fff;object-fit:contain;mix-blend-mode:normal}
.footer .brand img{width:50px;height:50px;padding:7px}
@media(max-width:600px){.header>.brand img{width:40px;height:40px;padding:5px}.footer .brand img{width:40px;height:40px;padding:5px}}
