@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--green:#0d3028;--gold:#C7A45A;--paper:#faf5e9;--ink:#243d35;--muted:#61716a}*{box-sizing:border-box}body{margin:0;background:#eee9df;color:var(--ink);font-family:'Noto Sans KR',sans-serif;line-height:1.75}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:12px;padding:12px 18px;background:var(--green);color:white;min-height:48px;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cb731c;outline-offset:4px}a{color:inherit}header{max-width:1000px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:16px 24px}.brand{text-decoration:none;font-family:Georgia,serif;font-size:28px;letter-spacing:1px}.brand span{color:var(--gold);font-size:18px}.brand small{font:10px sans-serif;letter-spacing:2px;display:block;margin-top:-6px}.quiet{background:transparent;color:var(--green);border:1px solid #c9c9b9}#count{background:#e1e7d9;border-radius:20px;padding:3px 7px;margin-left:5px}main{max-width:960px;margin:auto;min-height:65vh;background:var(--paper);border:1px solid #ded7c7;border-radius:22px;overflow:hidden;box-shadow:0 12px 50px #263b2520}.spread{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.picture{position:relative;background:#cfcbb2;min-height:420px;overflow:hidden}.picture img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.picture::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#09291ec9)}.picture .caption{position:absolute;bottom:25px;left:28px;right:28px;z-index:1;color:#fff;font:22px/1.6 'Gowun Batang',serif}.picture .caption small{display:block;font:11px/1.6 sans-serif;opacity:.8;margin-top:10px}.page{padding:40px 36px;align-self:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#977534;text-transform:uppercase}.page h1{font:700 40px/1.3 'Gowun Batang',serif;letter-spacing:-1.5px;margin:16px 0 24px}.page h2{font:700 30px/1.4 'Gowun Batang',serif;margin:10px 0 20px}.page p{font-size:15px}.lead{font-family:'Gowun Batang',serif;font-size:19px!important}.tag{font-size:11px;background:#e4e9da;border:1px solid #ced6c3;border-radius:20px;padding:4px 10px;display:inline-block}.note{background:#eee8d8;border-left:3px solid var(--gold);padding:13px 16px;font-size:13px;margin:18px 0}.muted{font-size:12px!important;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}#nav{max-width:960px;margin:14px auto 28px;display:flex;align-items:center;justify-content:space-between;padding:0 4px}#nav .folio{font:italic 13px Georgia;color:#728078}.stamp{border:1px dashed #b99b63;padding:18px;border-radius:14px;margin-top:18px;background:#f7efda}.stamp strong{font-family:'Gowun Batang';font-size:22px}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin:20px 0}.check input{width:22px;height:22px;flex-shrink:0;accent-color:var(--green)}.map{display:flex;flex-direction:column;gap:10px;margin:24px 0}.stop{display:flex;gap:14px;align-items:center;background:#fff9ed;border:1px solid #ded7c7;padding:12px;border-radius:12px}.stop b{font:26px Georgia;color:var(--gold)}.stop small{display:block;color:var(--muted)}.missiongrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.missiongrid button{text-align:left;background:#eee8d7;color:var(--green);font-size:13px;border:1px solid #d3cbb7;min-height:85px}.missiongrid button small{display:block;color:#6f795f;font-weight:400}.missiongrid button.done{background:#dce8d7}.chapterart{font-size:90px;text-align:center;padding:42px 15px;background:radial-gradient(ellipse,#fff8df,#e3dbc0);border-radius:50% 50% 20% 20%;margin-bottom:24px;border:1px solid #dacdaa}.fullpage{padding:35px 40px;max-width:740px;margin:auto}.fullpage h1{font:700 34px/1.4 'Gowun Batang',serif}.gamehead{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.timer{font:700 30px monospace;color:var(--green);font-variant-numeric:tabular-nums}.timer.urgent{color:#a33c2a}.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;background:#3c5149;padding:4px;border-radius:12px;max-width:420px;margin:16px auto}.cell{border-radius:5px;aspect-ratio:1;padding:0;min-height:0;color:#233e32;border:2px solid transparent;font-size:26px;position:relative}.cell small{font:10px sans-serif;position:absolute;top:3px;left:4px;color:#3c5149}.cell[aria-pressed=true]{border-color:#182d23;box-shadow:inset 0 0 0 2px #fff}.region0{background:#edd68c}.region1{background:#9fcac2}.region2{background:#c2b4dd}.region3{background:#edb7a2}.region4{background:#b9d49d}.region5{background:#a9c6e6}.legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:12px}.status{min-height:28px;margin:10px 0;font-size:14px}.status.error{color:#a53b29}.status.success{color:#1f6541;font-weight:700}.trainer{padding:18px;background:#e8eddf;border-radius:14px;margin:18px 0}.trainer label{display:block;font-size:13px;margin:10px 0 4px}.trainer input,.trainer select{width:100%;padding:10px;background:#fffdf5;border:1px solid #a7b9aa;border-radius:8px;min-height:46px}.trainer button{margin-top:15px;width:100%}.rules{padding-left:20px;font-size:14px}.suspects{display:grid;grid-template-columns:1fr 1fr;gap:10px}.suspect{background:#f0e9d8;color:var(--green);border:1px solid #d6c8aa;text-align:left}.suspect span{display:block;font-size:11px;font-weight:400;margin-top:6px}.suspect.selected{outline:3px solid var(--gold)}dialog{background:var(--paper);color:var(--ink);max-width:560px;width:92%;border:1px solid #b5ae9e;border-radius:20px;padding:25px;max-height:85vh}dialog::backdrop{background:#112b24aa}.dialogtop{display:flex;justify-content:space-between;align-items:center}.dialogtop h2{font-family:'Gowun Batang'}.dialogtop button{background:transparent;color:var(--green);font-size:20px}.clueitem{padding:13px 0;border-bottom:1px solid #ddd4c2}.clueitem small{display:block;color:var(--muted)}.danger{margin-top:20px;color:#a65035}.reviewpill{display:block;text-align:center;margin:12px;font-size:11px;color:#68776c} @media(max-width:650px){header{padding:12px 16px}.brand{font-size:24px}header button{font-size:12px;padding:8px 12px}main{border-radius:0;border-left:0;border-right:0}.spread{display:block;min-height:0}.picture{min-height:285px}.picture .caption{font-size:19px;bottom:20px;left:24px}.page{padding:27px 24px 30px}.page h1{font-size:35px;margin:10px 0 18px}.page h2{font-size:28px}.page p{font-size:15px}#nav{padding:0 15px}.fullpage{padding:24px 20px}.fullpage h1{font-size:29px}.cell{font-size:24px}.chapterart{font-size:64px;padding:25px}.suspects{gap:8px}.suspect{padding:12px}.picture.route{min-height:310px}}@media(prefers-reduced-motion:no-preference){main{animation:fade .25s ease}@keyframes fade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}@media(min-width:651px){.cover .picture{min-height:650px}}

/* Authentic source logo: original geometry and colors preserved. */
.brand{display:block;line-height:1}.brand img{display:block;width:90px;height:auto;object-fit:contain}.coverlogo{padding:15px 25px 20px;margin:0 0 25px;background:#fffcf3;border:1px solid #C7A45A;outline:1px solid #C7A45A;outline-offset:5px;border-radius:2px;text-align:center}.coverlogo img{width:min(220px,100%);height:auto;display:inline-block;vertical-align:middle}.brandseal{border-top:1px solid #d6c49c;margin-top:30px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brandseal img{width:83px;height:auto;object-fit:contain}.brandseal span{font:12px/1.6 "Gowun Batang",serif;color:#687267}.fullpage>.brandseal{margin-top:36px}.page h1{color:#0D3028}main{border-top:4px solid #C7A45A}header{padding-top:12px;padding-bottom:12px}@media(max-width:650px){.brand img{width:76px}.coverlogo{padding:12px 20px;margin-top:2px;margin-bottom:22px}.coverlogo img{width:200px}.brandseal img{width:72px}.brandseal span{font-size:11px}.page h1{font-size:34px}}
/* Phone-first picture-book edition: one continuous vertical page at every width. */
body{background:#0d3028;background-image:radial-gradient(ellipse at top,#234b3c,#0d3028 65%)}header{max-width:600px;background:#faf5e9;margin:0 auto;border-bottom:1px solid #d8c59c;padding:12px 22px}main{max-width:600px;border-radius:0;box-shadow:0 10px 60px #0003;border-left:0;border-right:0}.spread{display:block;min-height:0}.picture,.cover .picture{aspect-ratio:2/3;min-height:0;width:100%;height:auto}.picture img{object-fit:cover;object-position:center}.picture .caption{bottom:32px;left:30px;right:30px;font:26px/1.6 'Gowun Batang',serif}.picture::after{inset:60% 0 0}.picture .caption small{font-size:11px}.page{padding:38px 34px 30px}.page h1{font-size:42px;line-height:1.35}.page h2{font-size:31px}.page p{font-size:16px;line-height:1.9}.lead{font-size:20px!important}.fullpage{padding:35px 28px}.missiongrid{display:flex;flex-direction:column;gap:0;border-top:1px solid #d6c49c}.missiongrid button{background:transparent;border:0;border-bottom:1px solid #d6c49c;border-radius:0;min-height:76px;padding:17px 10px;font-size:15px}.missiongrid button.done{background:#dce8d755}.stop{background:transparent;border:0;border-bottom:1px solid #d6c49c;border-radius:0;padding:14px 0}.map{gap:0}.note{border-radius:0}.stamp{border-radius:0;background:#f6edda}.coverlogo{border-radius:0;margin:5px auto 28px;max-width:330px}.coverlogo img{width:245px}.brandseal{padding:24px 0 5px}.brandseal img{width:95px}#nav{max-width:600px;background:#faf5e9;margin:0 auto;padding:15px 20px 25px}#nav .folio{font-size:11px}.grid{max-width:430px}.suspects{grid-template-columns:1fr}.suspect{border-radius:0;border-width:0 0 1px;background:transparent}.suspect.selected{outline:2px solid #C7A45A;background:#eee8d7}@media(max-width:650px){.picture,.picture.route{aspect-ratio:2/3;min-height:0}.picture .caption{font-size:23px;left:25px;right:25px;bottom:25px}.page{padding:30px 26px}.page h1{font-size:37px}.page p{font-size:15px}.page h2{font-size:29px}.coverlogo img{width:225px}.fullpage{padding:28px 22px}.brandseal img{width:85px}.brandseal span{font-size:12px}}@media(max-width:360px){.page{padding:26px 20px}.page h1{font-size:33px}.picture .caption{font-size:21px}.fullpage{padding:24px 16px}}
.coverlogo{background:#fff}.brand{background:#fff;padding:4px 10px;border:1px solid #e5d4ad}.brandseal img{background:#fff;padding:4px}
.cell{touch-action:manipulation;user-select:none;-webkit-user-select:none;font-weight:500}.grid{touch-action:manipulation}
