.play-section{padding:95px 0;background:#17191e;border-bottom:1px solid var(--line)}.play-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw}.play-copy h2{font-family:var(--display);font-size:clamp(80px,9vw,145px);font-weight:600;line-height:.86;letter-spacing:-.02em;margin:30px 0}.play-copy h2 em{font-style:normal;color:#7388ff}.play-copy>p{font-size:14px;line-height:1.9;color:#c0c1c7}.play-copy>p small{display:block;font-size:14px;color:#8f94a1;margin-top:12px;line-height:1.8}.play-path{display:flex;gap:18px;margin:30px 0;color:#9397a4;font-size:12px;letter-spacing:.06em}.play-path span{color:#d8dbe6}.play-primary{background:var(--blue);color:#fff;min-height:52px;padding:15px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:12px;font-weight:700}.play-primary:disabled{opacity:.5}.play-primary:hover{background:#4260ff}.play-sample{aspect-ratio:4/5;position:relative;max-width:460px;width:100%;justify-self:end;overflow:hidden;padding:0;background:#0f1014;text-align:left;isolation:isolate}.play-sample img{object-position:center 24%;transition:transform .7s}.play-sample:hover img{transform:scale(1.025)}.play-sample:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101113ef,transparent 60%)}.sample-label{position:absolute;top:20px;left:20px;font-size:12px;letter-spacing:.12em;z-index:1}.sample-ui{position:absolute;bottom:25px;left:22px;right:22px;z-index:1}.sample-name{display:inline-block;background:#4c7560;padding:6px 11px;font-size:12px;border-radius:8px 8px 0 0}.sample-line{border:1px solid #ffffff29;background:#100e16e8;padding:18px 16px;border-radius:0 12px 12px 12px;font-size:15px;line-height:1.8}.sample-line span{display:inline-block;border-bottom:1px solid #c6c7ce;min-width:45px;line-height:1.2;text-align:center;color:#c6c7ce}.sample-play{margin-top:14px;font-size:12px;display:flex;justify-content:space-between;color:#e6e6ed}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-play{display:inline-flex;align-items:center;gap:35px;background:var(--blue);padding:15px 18px;font-size:12px;letter-spacing:.06em;font-weight:800}.hero-play span{font-size:16px}.hero-actions .text-link{min-width:0;font-size:12px;gap:15px}.play-dialog{width:min(430px,96vw);height:min(820px,94svh);max-height:94svh;border:1px solid #ffffff35;border-radius:18px;overflow:hidden;max-width:100%;padding:0;background:#090a10}.play-dialog::backdrop{background:#080a13df;backdrop-filter:blur(12px)}.game{position:relative;width:100%;height:100%;display:flex;flex-direction:column;color:#fff;isolation:isolate}.game-bg,.game-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;z-index:-3}.game-video{z-index:-2;opacity:0;transition:opacity .2s}.game-video.ready{opacity:1}.game:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#08091260,transparent 30%,#08091220 50%,#080912b0 100%)}.game-top{padding:14px 15px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(#08091245,transparent)}.game-home,.game-close{min-width:42px;min-height:42px;border:1px solid #ffffff3a;background:#15141ab8;border-radius:50%;font-size:17px}.game-close{font-size:24px}.game-home:disabled{opacity:.3;cursor:default}.game-day{font-size:12px;font-weight:700;letter-spacing:.12em;text-shadow:0 1px 5px #000;line-height:1.9;text-align:center}.game-day small{display:block;font-size:12px;font-weight:400;letter-spacing:.02em;color:#ededf3}.game-track{margin:13px 18px 0;height:2px;background:#ffffff30}.game-track i{display:block;height:100%;width:0;background:white;transition:width .2s}.game-content{display:flex;flex:1;min-height:0;flex-direction:column;justify-content:flex-end;padding:18px 15px 20px;overflow:auto}.game-panel{width:100%;max-height:100%;overflow:auto}.game-heading{font-size:28px;line-height:1.4;margin:0 0 20px;letter-spacing:-.04em;font-weight:700;text-shadow:0 1px 10px #000}.game-location{font-size:12px;letter-spacing:.1em;margin-bottom:10px;display:block;color:#e2e4eb}.game-sentence{background:#100e16eb;border:1px solid #ffffff24;border-radius:16px;padding:20px 18px 15px;line-height:1.65;font-size:17px;text-align:left;width:100%;color:#fff;cursor:pointer}.game-sentence:disabled{cursor:default}.game-narration{font-size:16px}.game-speaker{position:relative;display:inline-block;padding:5px 13px;font-size:12px;border-radius:9px;background:var(--member-color,#52525b);margin:0 0 -11px 13px;z-index:1}.game-speaker+.game-sentence{padding-top:25px}.game-blank{display:inline-block;min-width:55px;border-bottom:1px solid #dadce9;text-align:center;color:#bcc7ff;margin:0 2px}.game-actions{display:grid;gap:7px;margin-top:10px}.game-choice{background:#f4f4f5;color:#19191c;border:1px solid transparent;border-radius:12px;padding:13px 16px;min-height:48px;text-align:left;font-size:14px;line-height:1.5;width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px}.game-choice:hover{background:#dce1f7}.game-choice:active{transform:scale(.985)}.game-choice small{display:block;font-size:12px;color:#646673;margin-top:5px}.game-choice .choice-arrow{color:#717580;font-size:20px}.game-choice.quiet{background:#191720ec;border-color:#ffffff38;color:#f4f1f5}.game-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.game-choice-grid .game-choice{text-align:center;justify-content:center;font-size:14px;padding:13px 5px}.game-choice-grid .unknown{grid-column:1/-1;background:#191720ec;color:#f4f1f5;border-color:#ffffff38}.game-translation-toggle{background:none;color:#d5d5dc;text-decoration:underline;font-size:12px;min-height:40px;padding:9px 1px 4px}.game-translation{font-size:13px;line-height:1.6;color:#d5d5dc;padding-top:9px;border-top:1px solid #ffffff20;margin-top:11px}.game-subrow{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:5px}.game-next{min-height:42px;min-width:85px;background:#15131ee8;border:1px solid #ffffff30;border-radius:22px;color:#f4f1f5;font-size:12px;padding:10px 15px}.game-result{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;min-height:38px}.game-result .answer{font-size:14px;border:1px solid #78ac91;color:#bbebcf;background:#182b22df;border-radius:20px;padding:7px 14px}.game-result .wrong{font-size:12px;color:#f0a0aa;text-decoration:line-through;background:#301a20dc;border-radius:20px;padding:7px 12px}.game-finish{background:#100e16ed;border:1px solid #ffffff28;border-radius:16px;padding:25px 20px}.game-finish .end-label{font-size:12px;letter-spacing:.14em;color:#afb6cd}.game-finish h3{font-family:var(--display);font-size:62px;font-weight:600;line-height:.9;margin:24px 0}.game-finish p{font-size:13px;line-height:1.8;color:#d1d3df}.game-word{border-top:1px solid #ffffff29;padding-top:15px;margin:18px 0 24px;display:flex;justify-content:space-between;align-items:center;font-size:17px}.game-word small{font-size:12px;color:#b2b7c8}.game-finish .launch-note{font-size:12px;color:#969aaa;margin-top:18px}.game-error{padding:20px;line-height:1.8}.game-status{font-size:12px;line-height:1.7;color:#a4a9b8;margin-top:15px}.game-lock{overflow:hidden}.play-app-inline{cursor:pointer;background:none;color:inherit;text-align:left;border:0}.play-app-inline:hover .app-label{color:#8398ff}
@media(max-width:760px){.play-section{padding:55px 0 60px}.play-layout{grid-template-columns:1fr;gap:32px}.play-copy h2{font-size:86px;margin:23px 0}.play-copy>p{font-size:14px}.play-path{font-size:12px;gap:16px;margin:22px 0}.play-sample{max-width:100%;aspect-ratio:4/4.6}.play-primary{font-size:12px}.hero-actions{gap:16px;flex-wrap:nowrap}.hero-play{padding:13px 15px;font-size:12px;gap:18px}.hero-actions .text-link{font-size:12px;gap:7px}.game-content{padding-bottom:max(20px,env(safe-area-inset-bottom))}.play-dialog{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;border:0;border-radius:0;margin:0}.game-top{padding-top:max(12px,env(safe-area-inset-top))}.game-choice{font-size:14px}.game-heading{font-size:27px}.game-sentence{font-size:17px}.sample-line{font-size:15px}}@media(max-height:650px){.game-content{padding-top:10px;padding-bottom:12px}.game-heading{font-size:23px;margin-bottom:12px}.game-choice{padding:9px 12px;min-height:42px}.game-choice small{margin-top:2px}.game-sentence{font-size:15px;padding:15px}.game-speaker+.game-sentence{padding-top:21px}.game-top{padding-top:7px}.game-track{margin-top:8px}.game-choice-grid{margin-top:8px}.game-choice-grid .game-choice{min-height:42px;padding:10px 5px}.game-finish{padding:18px}.game-finish h3{font-size:45px;margin:17px 0}}
.hero .hero-actions .text-link{min-width:0}.game-finish h3,.game-finish p{white-space:pre-line}

/* Mid-page entry: the scene and its first choice are already playable. */
.play-inline{min-width:0;width:100%;max-width:460px;justify-self:end}.play-inline .play-sample{width:100%;max-width:none}.play-inline .play-sample:after{background:linear-gradient(0deg,#101113f2,transparent 52%)}.play-sample video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;opacity:0;transition:opacity .3s}.play-sample video.ready{opacity:1}.play-sample .sample-ui{bottom:20px}.inline-members{display:flex;gap:24px;margin-bottom:17px}.inline-members button{background:none;color:#828897;padding:10px 0;font-size:12px;letter-spacing:.1em;border-bottom:1px solid transparent}.inline-members button.active{color:white;border-color:#6c83ff}.inline-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.inline-choices button{border:1px solid #ffffff35;background:#22262e;color:#f3f3f5;min-height:47px;font-size:13px;transition:background .15s}.inline-choices button:hover{background:var(--blue);border-color:var(--blue)}.inline-continue{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--blue);color:white;padding:17px 18px;font-size:12px;margin-top:10px;min-height:51px}.inline-caption{display:block;font-size:12px;color:#8e95a6;margin-top:12px}.play-copy h2{font-size:clamp(78px,8vw,125px)}.game-invitation{padding:24px 20px;background:#11121aeb;border:1px solid #ffffff2b;border-radius:16px}.game-invitation .eyebrow{color:#adb5cf;font-size:12px}.game-invitation blockquote{font-size:24px;line-height:1.6;margin:22px 0;color:white;word-break:keep-all}.game-invitation p{font-size:12px;color:#b2b8c7;line-height:1.8}.game-invitation .game-choice{margin-top:18px}.game-finish h3{font-family:var(--sans);font-size:25px;line-height:1.55;letter-spacing:-.03em;margin:22px 0}.game-finish .end-quote{font-size:19px;color:white;line-height:1.65;margin:20px 0 25px}.game-finish .end-word{font-size:12px;color:#9ca7c6;margin:12px 0}.game-finish .game-word{display:none}
@media(max-width:760px){.play-copy h2{font-size:64px;line-height:.9;margin:18px 0}.play-copy>p{font-size:14px;margin:0}.play-copy .play-primary,.play-copy .game-status{display:none}.play-layout{gap:22px}.play-inline{max-width:100%}.play-inline .play-sample{aspect-ratio:4/4.6}.play-inline .sample-line{font-size:16px}.inline-members{margin-bottom:12px}.play-section{padding:45px 0}.play-section .section-top{margin-bottom:23px}}

.hero-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:100%;gap:2px;background:#101113}.hero-portraits>div{position:relative;overflow:hidden}.hero-portraits img{object-fit:cover;object-position:50% 18%;filter:saturate(.5)}.hero-portraits>div>span{position:absolute;top:72px;left:14px;font-size:12px;letter-spacing:.16em;color:white;z-index:2;text-shadow:0 1px 5px #000}.hero-portraits:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#10111395,transparent 55%)}
@media(max-width:760px){.hero-portraits img{object-position:50% 22%}.hero-portraits>div>span{top:72px;left:10px;font-size:12px}.hero .hero-bottom{padding-bottom:0}.hero-portraits{gap:2px}}

.campaign-photo video{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}#campaign-video[data-member=taeha]{object-position:center 25%}.campaign-video-toggle{position:absolute;right:16px;bottom:16px;z-index:3;min-height:42px;padding:10px 14px;background:#101113ba;border:1px solid #ffffff60;border-radius:22px;color:white;font-size:12px;backdrop-filter:blur(8px)}.campaign-photo .image-number{bottom:30px;max-width:55%;font-size:12px}

/* Every archive image keeps its authored portrait framing. */
.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}.archive-item:nth-child(2){padding-top:0}.archive-image,.archive-item:nth-child(2) .archive-image{height:auto;aspect-ratio:2/3}.archive-item img{object-position:center}.archive-caption{gap:10px;align-items:start;line-height:1.6}.archive-caption span{text-align:right}.member-grid .portrait img{object-position:top center}@media(max-width:760px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.archive-caption{display:block;font-size:12px}.archive-caption span{display:block;text-align:left;margin-top:5px;font-size:12px}.tabs{gap:24px}.tabs button{font-size:12px}.archive-image,.archive-item:nth-child(2) .archive-image{aspect-ratio:2/3}.portrait{aspect-ratio:2/3}}

.campaign-members{display:flex;gap:26px;padding-top:13px;border-bottom:1px solid var(--line)}.campaign-members button{background:none;color:#888e9f;font-size:12px;letter-spacing:.1em;padding:11px 0;border-bottom:1px solid transparent}.campaign-members button.active{color:white;border-color:#7187ff}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-caption{display:block}.archive-caption span{display:block;margin-top:5px;text-align:left}@media(max-width:760px){.archive-grid{grid-template-columns:1fr;gap:30px}.archive-caption{font-size:12px;display:flex;align-items:baseline}.archive-caption span{font-size:12px;margin-top:0;text-align:right}.campaign-members{justify-content:space-between;gap:15px}.campaign-members button{font-size:12px}.archive-image,.archive-item:nth-child(2) .archive-image{aspect-ratio:2/3}}

/* User-selected B portrait set: authored color and equal framing. */
.hero-portraits{gap:0}.hero-portraits img{filter:none;animation:none}.hero-visual:after{background:linear-gradient(0deg,#101113 20%,transparent 42%)}.hero-portraits:after{background:none}

/* A phone-style notice at the top, naming the word just learned. */
.learned-notice{position:absolute;z-index:30;left:10px;right:10px;top:max(10px,env(safe-area-inset-top));padding:10px 14px;border-radius:18px;background:#16171ceb;color:#fff;box-shadow:0 10px 24px #0006;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:learned-in .36s cubic-bezier(.2,1.2,.4,1)}
.learned-notice.out{animation:learned-out .3s ease-in forwards}
.learned-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.1em;color:#b8c7de}
.learned-line{margin-top:2px;font-size:15px;font-weight:700}
.learned-line strong{color:#8fd0ff}
@keyframes learned-in{from{opacity:0;transform:translateY(-130%)}to{opacity:1;transform:none}}
@keyframes learned-out{to{opacity:0;transform:translateY(-130%)}}
@media (prefers-reduced-motion:reduce){.learned-notice,.learned-notice.out{animation:none}}

/* Language picker */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lang-pick{position:relative;display:inline-flex;align-items:center;flex-shrink:0}
.lang-pick svg{position:absolute;left:0;width:16px;height:16px;pointer-events:none}
.lang-pick select{appearance:none;-webkit-appearance:none;background:transparent;color:inherit;border:0;border-radius:0;padding:7px 4px 7px 23px;font:700 13px var(--sans);min-height:44px;cursor:pointer}
.lang-pick select:focus-visible{outline:2px solid #6380ff;outline-offset:3px}
.footer-brand.company-home,.campaign-foot .company-home,.footer-bottom .company-home{display:inline-flex;flex-direction:column;justify-content:center;min-height:44px}
.nav-links a.nav-company{flex-direction:column;align-items:flex-start;justify-content:center}
.lang-pick option{color:#101113}
/* PIXEL fan club: a floating button and the site's own dialog. */
.pixel-float{position:fixed;z-index:40;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:18px;min-height:48px;padding:0 18px;border:0;background:var(--blue);color:#fff;font:700 12px var(--sans);letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 26px #0007;transition:background .15s}
.pixel-float:hover{background:#1c37d6}
.pixel-float b,.store-button b{font-weight:400}
body{padding-bottom:84px}
.pixel-dialog{width:min(440px,92vw)}
.pixel-dialog-body{padding:44px 30px 30px}
.pixel-dialog h2{font-family:var(--display);font-size:clamp(60px,14vw,84px);line-height:.9;font-weight:600;margin:18px 0 26px}
.pixel-stores{display:grid;gap:8px}
.store-button{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 16px;border:1px solid #ffffff40;color:var(--paper);font:700 13px var(--sans);transition:background .15s,color .15s}
.store-button:hover{background:var(--paper);color:var(--black)}
.store-note{margin:12px 0 0;min-height:18px;font-size:14px;color:#b2b3b6}
/* Business information */
.footer-biz{margin-top:28px;font-size:12px;line-height:1.8;color:var(--muted)}
.footer-biz dl{margin:0;display:flex;flex-wrap:wrap;gap:0 22px}
.footer-biz dl div{display:flex;gap:6px}
.footer-biz dt{color:#777b84}.footer-biz dd{margin:0;color:#c9cad0}
.footer-biz a{display:inline-block;margin-top:6px;color:#c9cad0;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.pixel-float{left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom));justify-content:space-between}.lang-pick select{padding:5px 4px 5px 23px;font-size:13px}.footer-biz{font-size:12px}.nav-links a.nav-company{display:none}}
@media(max-width:380px){html body nav .brand{gap:5px}html body nav .nav-links{gap:6px;letter-spacing:0}.lang-pick select{width:72px;padding-left:20px;padding-right:0}}

/* How learning works */
.learn{background:var(--paper);color:var(--black);padding:80px 0 88px}
.learn .eyebrow,.learn .num{color:var(--black)}
.learn .eyebrow.dim{color:#6b6c72}
.learn h2{font-family:var(--display);font-size:clamp(46px,7.4vw,112px);line-height:.95;font-weight:600;margin:36px 0 42px}
.learn h2 em{font-style:normal;color:var(--blue)}
.learn-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #10111326}
.learn-steps article{padding:22px 26px 28px 0;min-height:230px}
.learn-steps article+article{padding-left:26px;border-left:1px solid #10111326}
.learn-no{font:600 13px var(--display);letter-spacing:.1em;color:var(--blue)}
.learn h3{margin:8px 0 20px;font-size:17px;font-weight:800}
.learn-ko{margin:0;font-size:clamp(19px,2vw,24px);font-weight:700;line-height:1.45;word-break:keep-all}
.learn-ko u{text-decoration-thickness:2px;text-underline-offset:5px}
.learn-tr{margin:8px 0 0;font-size:14px;color:#5b5c62}
.learn-choices{display:flex;gap:6px;margin-top:16px}
.learn-choices span{padding:8px 14px;border:1px solid #10111340;font-size:14px;font-weight:700}
.learn-choices .on{background:var(--blue);border-color:var(--blue);color:#fff}
.learn-card{display:flex;flex-direction:column;gap:4px;width:min(200px,100%);padding:22px 20px;background:var(--black);color:var(--paper)}
.learn-card b{font-size:30px}
.learn-card span{font-size:14px;color:#b2b3b6}
.hero-korean small,.members-intro,.campaign-layout p,.play-copy>p,.fandom-copy p,.fandom-copy small{word-break:keep-all;text-wrap:pretty}
.members-intro{max-width:none}
@media(max-width:760px){.learn{padding:52px 0 56px}.learn-steps{grid-template-columns:1fr}.learn-steps article{min-height:0;padding:20px 0 24px}.learn-steps article+article{padding-left:0;border-left:0;border-top:1px solid #10111326}}
.hero-korean small{font-size:clamp(16px,1.5vw,20px);font-weight:600;color:var(--paper);line-height:1.5}
@media(max-width:760px){.learn h2 em{display:block}}
#dialog-bio{white-space:pre-line}
@media(max-width:760px){body nav{padding:0 16px}nav .nav-links{gap:8px;letter-spacing:0}}
@media(max-width:420px){.nav-links a[href="#archive"]{display:none}}
@media(max-width:760px){.eyebrow{letter-spacing:.06em}.section-top{gap:12px}.section-top .num{white-space:nowrap}.footer-bottom,.footer-bottom>*{flex-wrap:wrap;min-width:0}}
