:root{--bg:#fffaf1;--ink:#31283d;--muted:#7b7280;--orange:#f5773c;--purple:#7652ac;--line:#e8dfd2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--orange)}a:focus-visible{outline:3px solid var(--purple);outline-offset:5px}.page{max-width:1320px;padding:0 54px;margin:auto;min-height:100svh;display:flex;flex-direction:column}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:-1px;font-size:25px}.logo{display:grid;place-items:center;width:40px;height:40px;background:var(--orange);color:var(--bg);border-radius:13px;position:relative;font-size:27px;transform:rotate(-5deg)}.logo span{position:absolute;width:8px;height:8px;right:-2px;top:-2px;background:var(--purple);border:2px solid var(--bg);border-radius:50%}header p{font-size:12px;color:var(--muted)}.hello{font-size:12px;font-weight:bold;border:1px solid #dacfbf;padding:12px 19px;border-radius:30px}main{flex:1;display:flex;flex-direction:column;justify-content:center}.hero{display:flex;align-items:center;justify-content:space-between;padding:34px 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;margin:0 0 18px;color:var(--purple)}h1{font-size:clamp(58px,5.6vw,80px);letter-spacing:-4px;line-height:1.02;margin:0;font-weight:900}h1 span{color:var(--purple);position:relative}h1 span:after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:13px;border-bottom:5px solid var(--orange);border-radius:50%;transform:rotate(-3deg)}h1 em{font-style:normal;color:var(--orange)}.intro{font-size:14px;line-height:1.8;color:var(--muted);margin:27px 0 0}.art{width:320px;height:240px;position:relative;margin-right:30px}.face{position:absolute;left:70px;top:35px;width:164px;height:164px;background:#ffbb71;border-radius:47%;transform:rotate(-12deg);box-shadow:inset -8px -9px 0 #f9ab60,0 15px 30px #f9ad6030}.face i{position:absolute;left:48px;top:49px;width:12px;height:22px;background:var(--ink);border-radius:50%}.face i+i{left:103px}.face b{position:absolute;width:63px;height:35px;top:82px;left:51px;border:5px solid var(--ink);border-top:0;border-radius:0 0 50px 50px}.spark{position:absolute;right:5px;top:0;color:var(--purple);font-size:64px}.flower{position:absolute;bottom:10px;left:8px;color:var(--orange);font-size:58px}.art p{position:absolute;right:-15px;bottom:-12px;font-size:13px;line-height:1.5;color:var(--purple);transform:rotate(-7deg)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading h2{font-size:21px;letter-spacing:-.6px;margin:0}.section-heading h2 span{color:var(--orange)}.section-heading p{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}article{background:#fffdf9;border:1px solid var(--line);border-radius:18px;overflow:hidden}.cover{position:relative;aspect-ratio:16/9}.cover img{display:block;width:100%;height:100%;object-fit:cover}.cover span{position:absolute;bottom:12px;left:12px;background:#fffaf1f2;border-radius:20px;padding:7px 10px;font-size:8px;font-weight:bold;letter-spacing:1px}.copy{padding:16px 18px 18px}h3{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:17px;letter-spacing:-.3px;margin:0}small{font-size:10px;color:#ada3af;font-weight:normal}.copy p{font-size:12px;line-height:1.65;color:var(--muted);margin:9px 0 0}.manifesto{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0}.manifesto p{margin:0;font-size:13px;font-weight:700;display:flex;align-items:center;gap:12px}.manifesto span{font-size:27px;color:var(--orange)}.manifesto .values{font-size:10px;color:var(--muted);font-weight:normal}.values i{font-style:normal;color:#beafc4}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);min-height:64px;font-size:10px;color:var(--muted)}.legal-placeholder{color:#8f8395}
@media(min-width:900px) and (max-height:780px){header{height:70px}.hero{padding:24px 0}h1{font-size:64px}.art{height:216px}.cover{max-height:175px}.copy{padding:13px 16px}.manifesto{padding:16px 0}footer{min-height:52px}}
@media(max-width:900px){.page{padding:0 26px}.art{margin-right:0;width:250px;transform:scale(.85);transform-origin:right center}.grid{gap:14px}h3{font-size:15px}.copy{padding:13px}.footer-note{display:none}}
@media(max-width:650px){.page{padding:0 21px}header{height:76px}.brand{font-size:22px}header p{display:none}.hello{padding:10px 14px}.hero{display:block;padding:38px 0 28px;position:relative}h1{font-size:58px;letter-spacing:-3px}.eyebrow{font-size:8px;letter-spacing:1.4px}.intro{font-size:13px;max-width:340px}.intro br{display:none}.art{display:none}.section-heading h2{font-size:22px;max-width:260px;line-height:1.2}.section-heading p{display:none}.grid{grid-template-columns:1fr;gap:20px}.cover{max-height:none}.copy{padding:18px 20px}h3{font-size:20px}.copy p{font-size:13px}.cover span{font-size:9px}.manifesto{flex-direction:column;align-items:flex-start;padding:25px 0;gap:8px}.manifesto .values{margin-left:39px;gap:9px}footer{flex-direction:column;align-items:flex-start;padding:20px 0;gap:14px;font-size:11px}}
/* Three full-screen chapters. Content can grow on smaller screens. */
html{scroll-behavior:smooth}header nav{display:flex;gap:28px;font-size:12px;color:var(--muted)}main{display:block}.hero,.games,.spirit{position:relative;min-height:100svh;padding:90px 0 80px;scroll-margin-top:0}.hero{min-height:calc(100svh - 90px);gap:50px;padding-top:65px;padding-bottom:100px}.hero>div:first-child{max-width:670px}h1{font-size:clamp(70px,7.5vw,106px);letter-spacing:-5px}.intro{font-size:16px}.about-copy{max-width:490px;font-size:14px;line-height:1.9;color:var(--muted);margin:22px 0 28px}.explore{display:inline-flex;align-items:center;gap:35px;background:var(--orange);color:var(--ink);font-size:13px;font-weight:700;padding:16px 23px;border-radius:30px}.explore:hover{color:var(--ink);background:#ffae78}.art{flex-shrink:0;transform:scale(1.18);transform-origin:center;margin-right:20px}.screen-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.screen-bottom a{letter-spacing:0;font-size:12px}.games{border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.section-heading h2{font-size:clamp(38px,4.5vw,60px);letter-spacing:-2px;line-height:1.08}.section-heading>p{font-size:10px}.games-intro{font-size:15px;line-height:1.8;color:var(--muted);max-width:560px;margin:6px 0 35px}.grid{gap:24px}.cover{max-height:none}.copy{padding:23px}.copy h3{font-size:20px}.copy p{font-size:14px;line-height:1.8}.game-types{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.game-types span{font-size:10px;color:var(--purple);background:#f2ebf9;padding:7px 10px;border-radius:20px}.spirit{border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.spirit-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.spirit h2{font-size:clamp(40px,5.3vw,72px);line-height:1.08;letter-spacing:-3px;margin:0}.spirit h2 span{color:var(--purple)}.spirit-flower{font-size:140px;color:var(--orange);line-height:1;transform:rotate(15deg);margin-right:60px}.spirit-intro{font-size:16px;line-height:1.8;color:var(--muted);max-width:620px;margin:24px 0 40px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pillars article{padding:26px;background:#f6efdf;border:none;border-radius:20px}.pillars article:nth-child(2){background:#eee6f7}.pillars article:nth-child(3){background:#fbe9dd}.pillar-icon{display:block;font-size:38px;color:var(--purple);margin-bottom:20px}.pillar-label{display:block;font-size:9px;letter-spacing:1.2px;color:var(--muted);margin-bottom:12px}.pillars h3{font-size:24px;letter-spacing:-.8px}.pillars p{font-size:14px;line-height:1.8;color:var(--muted);margin:14px 0 0}.spirit-signoff{display:flex;align-items:center;justify-content:space-between;margin-top:35px;font-size:13px}.spirit-signoff span{font-weight:700}.spirit-signoff a{color:var(--purple)}footer{min-height:75px}
@media(max-width:1050px){h1{font-size:78px}.art{transform:scale(.95);width:270px}.copy{padding:18px}.copy h3{font-size:17px}.pillars{gap:16px}.pillars article{padding:22px}.pillars h3{font-size:21px}}
@media(max-width:750px){header nav{gap:16px;font-size:11px}.art{display:none}.hero{gap:0}h1{font-size:76px}.spirit-flower{font-size:90px;margin-right:5px}.grid{gap:14px}.copy{padding:14px}.copy p{font-size:12px}.copy h3{font-size:15px}}
@media(max-width:650px){header{height:76px}header nav{display:none}.hero{min-height:calc(100svh - 76px);display:flex;padding:60px 0 100px}h1{font-size:clamp(58px,12vw,76px);letter-spacing:-3px}.intro{font-size:15px}.about-copy{font-size:14px}.hero,.games,.spirit{scroll-margin-top:0}.games,.spirit{padding:65px 0 90px;min-height:100svh}.section-heading h2{font-size:40px;max-width:none;letter-spacing:-1.8px}.games-intro{font-size:14px;margin-bottom:28px}.grid{gap:24px}.copy{padding:20px}.copy h3{font-size:21px}.copy p{font-size:14px}.screen-bottom{font-size:8px;letter-spacing:1px;bottom:26px}.screen-bottom a{font-size:11px}.spirit h2{font-size:42px;letter-spacing:-2px}.spirit-flower{display:none}.spirit-intro{font-size:15px;margin-bottom:28px}.pillars{grid-template-columns:1fr;gap:16px}.pillars article{padding:25px}.pillar-icon{margin-bottom:12px;font-size:32px}.pillars h3{font-size:25px}.pillars p{font-size:14px}.spirit-signoff{font-size:12px;gap:20px;margin-top:28px}footer{min-height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:751px) and (max-width:1050px){.hero{gap:20px}h1{font-size:66px;letter-spacing:-3px}.art{width:235px;transform:scale(.85);transform-origin:right center}.hero>div:first-child{flex:1}.intro br{display:none}}
/* Legal navigation and document reading layout. */
footer nav{display:flex;gap:22px}.legal-main{display:block;max-width:820px;width:100%;margin:60px auto 80px}.back-home{display:inline-block;font-size:13px;color:var(--purple);margin-bottom:35px}.legal-main h1{font-size:54px;line-height:1.12;letter-spacing:-2px;margin:0 0 20px}.legal-company{font-size:12px;letter-spacing:1px;font-weight:700}.legal-date{font-size:13px;color:var(--muted);margin-bottom:30px}.legal-toc{background:#f1eaf8;padding:20px 24px;border-radius:16px;margin:30px 0}.legal-toc summary{font-size:14px;font-weight:700;cursor:pointer}.legal-toc ol{columns:2;margin-top:20px;padding-left:20px}.legal-toc li{font-size:12px;line-height:1.7;margin-bottom:9px;break-inside:avoid}.legal-body h2{font-size:24px;letter-spacing:-.6px;margin:38px 0 16px;scroll-margin-top:20px}.legal-body p,.legal-body li{font-size:15px;line-height:1.85;color:#5e5666;overflow-wrap:anywhere}.legal-body a{color:var(--purple);text-decoration:underline}.legal-body ul{padding-left:23px}.legal-body li{margin-bottom:10px}
@media(max-width:650px){header{height:auto;min-height:110px;align-items:flex-start;justify-content:center;flex-direction:column;gap:18px;padding:19px 0}header nav{display:flex;flex-wrap:wrap;gap:12px 19px;font-size:11px}.hero{min-height:calc(100svh - 110px)}.legal-main{margin:35px auto 50px}.legal-main h1{font-size:40px}.legal-toc ol{columns:1}.legal-body h2{font-size:22px}.legal-body p,.legal-body li{font-size:14px}}
/* Six games: two rows on desktop, space to grow with content. */
.games{padding-top:65px;padding-bottom:85px}.games .grid{row-gap:24px}.games .copy{padding:16px 18px}.games .copy h3{font-size:18px}.games .copy p{font-size:13px;line-height:1.7}.games .game-types{margin-top:14px}.games .section-heading h2{font-size:clamp(38px,4vw,52px)}.games .games-intro{margin-bottom:25px}
@media(min-width:651px) and (max-width:900px){.games .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.games{padding-top:65px;padding-bottom:90px}.games .copy{padding:20px}.games .copy h3{font-size:21px}.games .copy p{font-size:14px}.games .game-types{margin-top:18px}}
.games .grid>article{display:flex;flex-direction:column}.games .copy{flex:1;display:flex;flex-direction:column}.games .copy p{flex:1}.card-play{display:flex;align-items:center;justify-content:space-between;padding:12px 17px;margin-top:18px;border-radius:24px;background:var(--orange);color:var(--ink);font-size:13px;font-weight:700}.card-play:hover{background:#ffab76;color:var(--ink)}
/* Keep the play action beside the game tags. */
.card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.games .card-actions .game-types{margin-top:0;gap:6px}.card-actions .card-play{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:0;margin-top:0;padding:10px 16px;font-size:12px}.card-actions .game-types span{padding:7px 9px}
@media(max-width:1050px) and (min-width:901px){.card-actions{gap:7px}.card-actions .card-play{padding:9px 12px;gap:7px}.card-actions .game-types span{font-size:9px;padding:6px 8px}}
@media(max-width:380px){.card-actions{gap:7px}.card-actions .card-play{padding:9px 12px;gap:7px}.card-actions .game-types span{font-size:9px;padding:6px 8px}}
/* The Play link covers its card, so artwork and copy share the same destination. */
.games .grid>article{position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card-actions .card-play::after{content:"";position:absolute;inset:0;border-radius:18px;z-index:1;cursor:pointer}.games .grid>article:focus-within{outline:3px solid var(--purple);outline-offset:4px;box-shadow:0 12px 30px rgba(70,44,93,.12)}
@media(hover:hover) and (pointer:fine){.games .grid>article:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(70,44,93,.14);border-color:#d2bfdc}.games .grid>article:hover .card-play{background:#ffab76;color:var(--ink)}}
@media(prefers-reduced-motion:reduce){.games .grid>article{transition:none}.games .grid>article:hover{transform:none}}
/* Brand spirit cards share the gentle hover lift. */
.pillars article{transition:transform .22s ease,box-shadow .22s ease}
@media(hover:hover) and (pointer:fine){.pillars article:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(70,44,93,.14)}}
@media(prefers-reduced-motion:reduce){.pillars article{transition:none}.pillars article:hover{transform:none}}
/* Short drama feature */
.drama-feature{position:relative;min-height:100svh;padding:90px 0 80px;border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;scroll-margin-top:0}.drama-showcase{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(35px,7vw,100px);align-items:center;margin:20px auto 36px;width:min(100%,1000px)}.drama-poster{position:relative;display:block;max-width:360px;border-radius:24px;overflow:hidden;box-shadow:0 16px 40px rgba(63,43,80,.12);transition:transform .22s ease,box-shadow .22s ease}.drama-poster img{display:block;width:100%;height:auto}.poster-badge{position:absolute;top:16px;left:16px;background:#fffaf1ef;padding:9px 13px;border-radius:30px;font-size:10px;letter-spacing:1px;font-weight:bold;color:var(--purple)}.drama-copy{max-width:570px}.drama-kicker{font-size:10px;letter-spacing:1.8px;font-weight:bold;color:var(--orange)}.drama-copy h2{font-size:clamp(42px,5vw,68px);letter-spacing:-2.5px;line-height:1.02;margin:18px 0 24px}.drama-copy h2 span{color:var(--purple)}.drama-copy>p:not(.drama-kicker){font-size:15px;line-height:1.85;color:var(--muted);max-width:540px}.drama-meta{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:25px 0;font-size:9px;letter-spacing:1px;color:var(--muted)}.drama-meta i{width:3px;height:3px;background:var(--orange);border-radius:50%}.drama-watch{display:inline-flex;gap:35px;align-items:center;border-radius:30px;background:var(--orange);padding:15px 22px;font-size:13px;font-weight:bold;color:var(--ink)}.drama-watch:hover{background:#ffab76;color:var(--ink)}.drama-footnote{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:1px}.drama-poster:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.drama-poster:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(63,43,80,.2)}}
@media(max-width:650px){.drama-feature{padding:65px 0 90px;min-height:100svh}.drama-showcase{grid-template-columns:1fr;gap:26px;margin-top:18px}.drama-poster{width:min(100%,300px);margin:0 auto}.drama-copy h2{font-size:42px}.drama-copy>p:not(.drama-kicker){font-size:14px}.drama-footnote{font-size:8px;letter-spacing:.5px;bottom:25px}}
/* The updated two-part slogan needs a little more room on narrow screens. */
.hero h1{font-size:clamp(56px,6.8vw,92px);letter-spacing:-4.2px;line-height:1.04}
@media(min-width:751px) and (max-width:1050px){.hero h1{font-size:clamp(56px,6.6vw,68px);letter-spacing:-3px}}
@media(max-width:750px){.hero h1{font-size:clamp(42px,10.5vw,64px);letter-spacing:-2.8px;line-height:1.06}}
@media(max-width:380px){.hero h1{font-size:clamp(38px,10vw,48px);letter-spacing:-2.3px}}
/* Keep the primary links reachable on small screens instead of hiding them. */
@media(max-width:650px){.page>header,.drama-shell>header,.player-shell>header{height:auto;min-height:0;flex-wrap:wrap;justify-content:flex-start;gap:12px 0;padding:14px 0}.page>header nav[aria-label="Main navigation"],.drama-shell>header nav[aria-label="Main navigation"],.player-shell>header nav[aria-label="Main navigation"]{display:flex;flex:0 0 100%;flex-wrap:wrap;gap:12px 18px;font-size:12px}.page>header nav[aria-label="Main navigation"] a,.drama-shell>header nav[aria-label="Main navigation"] a,.player-shell>header nav[aria-label="Main navigation"] a{min-height:32px;display:inline-flex;align-items:center}}
@media(max-width:650px){.spirit-signoff{flex-wrap:wrap}}
.pillar-arrow{position:relative;width:40px;height:44px;font-size:0;color:var(--purple)}.pillar-arrow:before{content:"";position:absolute;left:17px;top:5px;width:3px;height:34px;background:currentColor;border-radius:2px;transform:rotate(45deg)}.pillar-arrow:after{content:"";position:absolute;left:21px;top:4px;width:12px;height:12px;border-top:3px solid currentColor;border-right:3px solid currentColor}
