@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--ink:#302d40;--purple:#7355ba;--light:#eee8f7;--muted:#827a91;--paper:#fcfaf7;--line:#e9e4ec}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans KR',sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #c397ee;outline-offset:4px}header{height:94px;max-width:1280px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{text-decoration:none;color:inherit}.brand{font-family:Outfit,sans-serif;display:flex;gap:10px;align-items:center;font-weight:700;font-size:27px;letter-spacing:-1px}.mark{background:var(--purple);color:white;width:35px;height:37px;border-radius:11px;font-family:'Noto Sans KR';text-align:center;font-size:28px;line-height:35px;transform:rotate(-7deg)}.brand-ko{font-size:13px;letter-spacing:0;color:var(--muted);font-weight:500;margin-left:4px}nav{display:flex;gap:28px;align-items:center}nav button{background:none;border:0;color:var(--muted);font-size:14px;padding:12px 0}nav .nav-active{color:var(--purple);font-weight:700}nav .language{border:1px solid var(--line);border-radius:22px;padding:9px 14px;color:var(--ink);font-size:12px}nav .language span{color:var(--muted)}main{max-width:1184px;margin:0 auto;padding:42px 0 60px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--purple);display:flex;align-items:center;gap:9px}.eyebrow:before{content:'';width:7px;height:7px;background:var(--purple);border-radius:100%}.intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}.intro h1{font:600 48px/1.12 Outfit,'Noto Sans KR',sans-serif;letter-spacing:-1.9px;margin:12px 0}.intro h1 em{font-style:normal;color:var(--purple)}.intro p{color:var(--muted);font-size:15px;margin:0}.stamp{font-size:12px;color:var(--muted);display:flex;gap:15px;margin-bottom:6px}.stamp span+span{border-left:1px solid #ddd5e6;padding-left:15px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px}.street{border-radius:20px;background:#eae3f5;overflow:hidden;position:relative;min-height:450px;border:1px solid #e2d9ee}.street img{width:100%;height:450px;object-fit:cover;display:block}.street-top{position:absolute;top:22px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center}.location{background:#ffffffdc;backdrop-filter:blur(8px);border:1px solid #fff;border-radius:30px;padding:9px 14px;font-size:12px}.sound{border:1px solid white;background:#ffffffcf;border-radius:50%;width:34px;height:34px;color:var(--purple)}.sign{position:absolute;border:3px solid white;box-shadow:0 4px 0 #37245333,0 7px 20px #3724531c;border-radius:7px;padding:10px 15px;font-family:'Noto Sans KR';font-size:25px;font-weight:800;color:white;transform:rotate(-2deg);transition:transform .2s}.sign:hover{transform:translateY(-5px) rotate(0)}.sign.one{left:12%;top:48%;background:#ae637b}.sign.two{left:43%;top:43%;background:#448b7a}.sign.three{right:8%;top:50%;background:#6664a2}.street-bottom{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#ffffffea;border-radius:30px;padding:11px 20px;font-size:13px;box-shadow:0 3px 12px #4831560c}.street-bottom b{color:var(--purple)}.side{background:#fff;border:1px solid var(--line);border-radius:20px;padding:27px 25px;display:flex;flex-direction:column}.pill{font-size:11px;letter-spacing:1px;color:var(--purple);background:#f1ecf9;padding:6px 9px;border-radius:5px;width:max-content;font-weight:700}.side h2{font:600 27px/1.2 Outfit,'Noto Sans KR';margin:16px 0 10px;letter-spacing:-.5px}.side>p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 23px}.mode-label{font-size:12px;font-weight:600;margin-bottom:10px}.modes{display:flex;background:#f6f4f8;border:1px solid var(--line);padding:4px;border-radius:9px;gap:4px}.modes button{border:0;background:none;padding:10px 6px;flex:1;font-size:12px;color:var(--muted);border-radius:6px}.modes .selected{background:white;color:var(--purple);box-shadow:0 2px 5px #38225212;font-weight:700}.mode-desc{font-size:12px;color:var(--muted);margin:10px 0 22px;line-height:1.5}.primary{background:var(--purple);border:0;color:white;border-radius:10px;padding:15px 18px;font-weight:600;width:100%;box-shadow:0 4px 0 #583b9e;transition:background .2s}.primary:hover{background:#6245a6}.subnote{text-align:center;font-size:11px;color:var(--muted);margin-top:16px}.below-title{display:flex;justify-content:space-between;align-items:center;margin:35px 0 15px}.below-title h3{font:600 20px Outfit;margin:0}.below-title span{font-size:12px;color:var(--muted)}.sets{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.set{border:1px solid var(--line);border-radius:13px;padding:17px;display:flex;align-items:center;gap:14px;text-align:left;background:#fff;transition:border .2s,transform .2s}.set:hover{border-color:var(--purple);transform:translateY(-2px)}.set.active{border-color:#a991d1;background:#f7f3fc}.set-icon{width:40px;height:44px;display:grid;place-items:center;border-radius:10px;background:#f0eaf9;font-size:22px}.set b{font-size:13px;display:block}.set small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.how{margin-top:30px;background:#f2edf8;border-radius:12px;padding:18px 25px;display:flex;justify-content:space-between;align-items:center}.how strong{font-size:13px;color:#65527f}.how span{font-size:12px;color:#82728e}.how i{font-style:normal;margin-right:8px;font-size:16px}footer{border-top:1px solid var(--line);max-width:1184px;margin:auto;padding:23px 0;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.brand.small{font-size:17px;letter-spacing:-.3px}.brand.small span{font-size:10px;letter-spacing:0}.quiz{max-width:760px;margin:0 auto}.quiz-top{display:flex;justify-content:space-between;color:var(--muted);font-size:14px;margin-bottom:16px}.text-button{border:0;background:none;color:var(--purple);font-size:14px}.progress{display:flex;gap:6px;margin-bottom:25px}.progress span{height:5px;background:#e7deef;flex:1;border-radius:6px}.progress .done{background:var(--purple)}.quiz-card{border:1px solid var(--line);border-radius:20px;background:white;padding:32px;text-align:center}.big-sign{background:#448b7a;color:white;padding:24px;border:5px solid #fff;outline:1px solid #d5e0db;box-shadow:0 7px 0 #d2ddd7;border-radius:7px;font-size:54px;font-family:'Noto Sans KR';font-weight:800;max-width:360px;margin:25px auto 32px}.quiz h2{font:600 27px Outfit,'Noto Sans KR'}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer{padding:20px;background:#fcfafc;border:1px solid var(--line);border-radius:10px;text-align:left}.answer span{color:var(--muted);font-size:12px;margin-right:13px}.answer.correct{border-color:#448b7a;background:#eaf6ef}.answer.wrong{border-color:#c65c72;background:#fff0f3}.answer:disabled{color:var(--ink);cursor:default}.feedback{text-align:left;background:#f4effa;padding:20px;border-radius:12px;margin-top:24px;line-height:1.7;font-size:14px}.feedback b{color:var(--purple)}.feedback .primary{margin-top:15px}.review{display:grid;gap:10px;margin:25px 0}.review-item{display:flex;justify-content:space-between;align-items:center;background:#f7f4fa;border-radius:9px;padding:13px 17px;text-align:left}.review-item b{font-size:21px}.review-item small{font-size:13px;color:var(--muted)}.actions{display:flex;gap:12px}.secondary{border:1px solid var(--line);background:white;border-radius:10px;padding:14px 20px;flex:1;color:var(--purple)}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.guide-item{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.guide-item h3{font-size:24px;margin:0 0 8px}.guide-item p{font-size:14px;line-height:1.6;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 22px;border-radius:10px;z-index:10;font-size:14px}.guide-lead{max-width:700px;color:var(--muted);line-height:1.7;margin-bottom:25px}@media(min-width:1450px){main{padding-top:55px}.street,.street img{height:480px}.side{padding-top:32px}}@media(max-width:1250px){main,footer{margin-left:40px;margin-right:40px}.game-layout{grid-template-columns:minmax(0,1fr) 310px}.sign{font-size:21px}}@media(max-width:850px){header{padding:0 22px;height:78px}.brand-ko{display:none}nav{gap:16px}.intro h1{font-size:39px}.stamp{display:none}main{margin:0;padding:28px 22px 40px}.game-layout{grid-template-columns:1fr}.street,.street img{height:370px}.side{padding:24px}.side h2{margin:12px 0}.side>p{margin-bottom:16px}.sets,.guide-grid{grid-template-columns:repeat(2,1fr)}.how{gap:15px;flex-wrap:wrap}footer{margin:0 22px;gap:20px}footer>span:last-child{display:none}}@media(max-width:480px){.brand{font-size:23px}.mark{width:30px;height:32px;font-size:23px;line-height:30px}nav{gap:13px}nav button{font-size:12px}nav .language{padding:8px;font-size:11px}.intro h1{font-size:36px}.intro p{font-size:14px;line-height:1.6}.street,.street img{height:310px}.street-top{left:14px;right:14px;top:14px}.sign{font-size:20px;padding:7px 10px}.sign.one{left:9%}.sign.three{right:5%}.street-bottom{font-size:11px;padding:10px 15px}.set{padding:12px;gap:9px}.set-icon{width:32px;font-size:19px}.set b{font-size:12px}.below-title h3{font-size:18px}.quiz-card{padding:21px 16px}.answers{gap:9px}.answer{padding:16px 10px;font-size:14px}.big-sign{font-size:43px}.guide-grid{gap:10px}.guide-item{padding:15px}.guide-item h3{font-size:21px}.actions{flex-wrap:wrap}.how span{font-size:11px}}
/* Native language picker remains keyboard and touch accessible. */
.language{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:24px;padding:8px 12px;color:var(--purple);background:white;flex-shrink:0}
.language select{max-width:145px;min-width:65px;font:inherit;font-size:13px;color:var(--ink);border:0;background:transparent;cursor:pointer;padding:3px 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html:lang(th) .eyebrow,html:lang(hi) .eyebrow{letter-spacing:0;font-size:14px}
html:lang(th) .intro h1,html:lang(hi) .intro h1{line-height:1.45;letter-spacing:0}
html:lang(th) button,html:lang(hi) button{line-height:1.6}
.intro>div:first-child{min-width:0}.intro h1{overflow-wrap:break-word}.side .pill{max-width:100%;line-height:1.6}.modes button{line-height:1.5}.side{min-width:0}.quiz-card h1{line-height:1.4}.answer{overflow-wrap:anywhere}.set{min-width:0}.set b{line-height:1.5}.how{gap:16px}.quiz-top{gap:16px}.guide-item{min-width:0}
@media(max-width:850px){.intro h1{font-size:34px}.language select{max-width:110px}.language{padding:6px 9px}}
@media(max-width:480px){header{height:auto;min-height:84px;flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:16px}nav{width:100%;justify-content:space-between}.language select{max-width:160px}.intro h1{font-size:31px}.eyebrow{line-height:1.5}.how{align-items:flex-start}.how strong{width:100%}.sets .set{align-items:flex-start}.set-icon{flex-shrink:0}.actions{flex-direction:column}.quiz-top{align-items:center}.below-title{gap:12px}.below-title span{max-width:45%;text-align:right}}
.street img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
nav button,.modes button,.mode-label,.set b,.below-title span,.language select{font-size:14px}
.mode-desc,.location,.street-bottom,.set small,.subnote,.how span{font-size:12px;line-height:1.6}
html:lang(th) .mode-desc,html:lang(hi) .mode-desc,html:lang(th) .subnote,html:lang(hi) .subnote,html:lang(th) .pill,html:lang(hi) .pill{font-size:13px}
@media(max-width:850px){.street{min-height:0;height:370px}}
@media(max-width:480px){.street{height:310px}.set{flex-wrap:wrap}.set b{font-size:14px}.how span{font-size:12px}}
