:root{--ink:#142133;--blue:#153cca;--paper:#f8f6ec;--yellow:#ffd54b;--mint:#94e4cb;--line:#18243b;--muted:#526073}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;word-break:keep-all}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #f26845;outline-offset:5px}img{display:block;max-width:100%}.wrap{max-width:1280px;margin:auto;padding-left:40px;padding-right:40px}.skip{position:fixed;top:-100px;left:10px;background:var(--yellow);padding:10px;z-index:99}.skip:focus{top:10px}.header{background:var(--paper);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:10}.nav-wrap{max-width:1280px;padding:17px 40px;margin:auto;display:flex;align-items:center;gap:40px}.brand{display:flex;gap:12px;align-items:center;font-weight:900;font-size:19px;line-height:1.25;white-space:nowrap}.brand small{display:block;font:10px/1.8 ui-monospace,monospace;letter-spacing:1px}.brand-mark{display:grid;place-items:center;background:var(--blue);color:var(--paper);width:38px;height:38px;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font:900 28px/1 ui-monospace,monospace}.header nav{display:flex;gap:30px;font-weight:700;font-size:14px}.header nav a:hover{color:var(--blue)}.header-note{margin-left:auto;font-size:12px;border:1px solid var(--ink);padding:3px 10px}.hero{padding-top:34px;padding-bottom:36px;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.eyebrow{font:700 12px/1.5 ui-monospace,monospace;letter-spacing:1.3px;color:var(--blue);display:block}.hero .eyebrow{display:flex;align-items:center;gap:8px}.tiny-square{display:inline-block;width:8px;height:8px;background:var(--blue);box-shadow:3px 3px 0 var(--yellow)}h1,h2,h3,p{margin:0}h1{font-size:clamp(33px,3.8vw,49px);letter-spacing:-2px;line-height:1.22;margin:16px 0 18px;font-weight:900}h1 span{color:var(--blue)}.hero-copy>p{font-size:16px;color:#4b5868;line-height:1.8;margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:2px solid var(--ink);font-size:15px;font-weight:800;padding:10px 23px;transition:transform .15s,box-shadow .15s;background:var(--paper)}.button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.primary{background:var(--blue);color:#fff;box-shadow:4px 4px 0 var(--ink)}.hero-hint{font-size:12px;display:inline-block;margin-left:13px;color:var(--muted)}.hero-art{position:relative;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink);overflow:hidden;height:318px;background:#188fc8}.hero-art img{width:100%;height:100%;object-fit:cover}.art-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;background:rgba(17,30,56,.9);color:#f8f6ec;font:11px/1.5 ui-monospace,monospace;letter-spacing:1.5px;padding:10px 14px}.ticker{overflow:hidden;white-space:nowrap;background:var(--yellow);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);font-size:12px;font-weight:800;letter-spacing:1.3px;padding:9px 0}.ticker>div{width:max-content;position:relative;left:-30px}.section{padding-top:52px;padding-bottom:48px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.section-heading h2{margin-top:5px;font-size:28px;font-weight:900;letter-spacing:-1px}.section-heading>p{font-size:14px;color:var(--muted);padding-bottom:3px}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.game-card{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fffef9;display:flex;flex-direction:column;min-width:0}.card-art{height:170px;border-bottom:2px solid var(--ink);padding:15px 18px;position:relative;overflow:hidden;background:#bccbff}.card-sequence{font:700 11px/1.4 ui-monospace,monospace;letter-spacing:1px}.typing .card-art{background:#c7d6ff}.route .card-art{background:#98e3cc}.clean .card-art{background:#ffdb75}.type-display{display:flex;align-items:center;gap:4px;margin-top:9px;font-weight:900;font-size:39px;letter-spacing:3px;position:relative;z-index:1}.cursor{background:var(--blue);height:36px;width:16px}.art-tag{font-size:12px;font-weight:700;position:absolute;bottom:14px;left:18px;z-index:1}.card-symbol{position:absolute;right:6px;bottom:17px;opacity:.12;font:900 112px/1 Georgia,serif;letter-spacing:-10px}.route-display{display:flex;align-items:center;margin:22px 0;position:relative;z-index:1;max-width:265px}.route-display span{background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);width:39px;height:39px;display:grid;place-items:center;font:800 18px/1 ui-monospace,monospace}.route-display i{width:35px;height:2px;background:var(--ink);margin:0 5px}.clean-display{margin:14px 0;display:flex;align-items:center;gap:12px;font-size:30px;font-weight:900}.clean-display b{color:#a45f00;font-family:monospace}.card-body{padding:23px 22px 14px;display:flex;flex-direction:column;flex:1}.card-kicker{font-size:12px;font-weight:700;color:var(--muted)}.card-body h3{font-size:29px;font-weight:900;letter-spacing:-1px;line-height:1.6}.card-body p{font-size:15px;line-height:1.75;color:#4d5a6b;margin:8px 0 16px;min-height:54px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:5px;margin:0 0 22px;padding:0}.tags li{border:1px solid #c4c9cf;font-size:11px;padding:3px 7px;color:#3e4d5e}.play{display:flex;justify-content:space-between;background:var(--ink);color:#fff;margin-top:auto;padding:10px 14px;font-size:15px}.play span{font-size:12px}.typing .play{background:var(--blue)}.route .play{background:#146c56}.clean .play{background:#795000}.detail-link{font-size:13px;text-align:center;padding:12px 0 2px;text-decoration:underline;text-underline-offset:4px;color:#4f5d6e}.catalog-foot{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:20px}.catalog-foot>p{font-size:12px;color:var(--muted)}.coming{display:flex;align-items:center;gap:10px;font-size:12px}.coming strong{font-size:14px}.coming-label{font:700 10px/1.4 ui-monospace,monospace;letter-spacing:.5px;background:#dce0e5;padding:4px 6px}.coming>span:last-child{color:var(--muted)}.record-band{margin-top:6px;margin-bottom:4px;padding:30px 36px;max-width:1200px;border:2px solid var(--ink);background:var(--blue);color:white;display:flex;align-items:center;gap:26px;box-shadow:5px 5px 0 var(--ink)}.record-icon{font:900 44px/1 ui-monospace,monospace;color:var(--yellow);letter-spacing:-4px;border:2px solid #778fea;padding:16px 18px}.record-band .eyebrow{color:#c2d0ff;font-size:10px}.record-band h2{font-size:26px;letter-spacing:-.8px;margin:4px 0 8px}.record-band p{font-size:14px;color:#e0e8ff;line-height:1.75}.record-band .button{margin-left:auto;white-space:nowrap;background:var(--yellow);color:var(--ink)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.guide{border-top:3px solid var(--ink);padding-top:20px;scroll-margin-top:110px}.guide-no{font:700 13px/1 ui-monospace,monospace;color:var(--blue);display:block;margin-bottom:10px}.guide h3{font-size:23px;letter-spacing:-.7px}.guide-lead{font-size:14px;color:#4d5a6b;margin:5px 0 16px;min-height:25px}.guide ol{padding-left:21px;margin:0 0 22px;font-size:15px;line-height:1.8;min-height:198px}.guide li{padding-left:4px;margin-bottom:9px}.guide li::marker{color:var(--blue);font-weight:800}.tip{background:#e9e8e0;padding:17px;font-size:14px;min-height:160px;border-left:3px solid #b5b8ad}.tip strong{font-size:12px}.tip p{color:#526073;margin-top:4px}.guide-note{margin-top:25px;font-size:13px;color:var(--muted);border-top:1px solid #c3c8ca;padding-top:18px}.about-section{background:#152335;color:white;padding:46px 0}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.about-section .eyebrow{color:var(--mint);font-size:11px}.about-section h2{font-size:30px;letter-spacing:-1px;line-height:1.5;margin-top:15px}.about-copy p{font-size:15px;line-height:1.9;color:#e0e6ee;margin-bottom:14px}.about-copy .about-note{font-size:12px;line-height:1.8;color:#a9b8cb;border-top:1px solid #425064;padding-top:15px;margin-top:22px;margin-bottom:0}.faq-list{border-top:2px solid var(--ink)}details{border-bottom:1px solid #bdc4cc;padding:0}summary{list-style:none;font-size:16px;font-weight:700;cursor:pointer;position:relative;padding:18px 46px 18px 0}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:10px;top:16px;font:25px/1 ui-monospace,monospace;color:var(--blue)}details[open] summary:after{content:"−"}details p{font-size:15px;color:#526073;padding:0 46px 20px 0;line-height:1.9;max-width:1000px}.info-section{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;padding-bottom:55px}.info-section article{border-top:2px solid var(--ink);padding-top:22px}.info-section h2{font-size:23px;margin:6px 0 12px}.info-section p{font-size:14px;line-height:1.85;color:#526073;margin-bottom:12px}.info-section .small-note{font-size:12px;color:#6e7988}.contact-note{background:#ecebe2;border:1px solid #c5c8c4;padding:16px 18px;margin-top:22px;font-size:13px}.contact-note p{font-size:13px;margin:5px 0 0}footer{border-top:2px solid var(--ink);background:#e8e8df}.footer-inner{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding-top:27px;padding-bottom:25px}.footer-brand{font-size:16px;font-weight:900}.footer-brand span{display:block;font:10px/1.7 ui-monospace,monospace;letter-spacing:1px;font-weight:400}.footer-inner nav{display:flex;gap:18px;margin-left:auto;font-size:12px}.footer-inner nav a:hover{text-decoration:underline}.footer-inner>p{flex-basis:100%;font-size:12px;color:var(--muted)}
@media(min-width:1450px){.hero{padding-top:42px;padding-bottom:42px}.hero-art{height:332px}}
@media(max-width:1100px){.nav-wrap{gap:25px}.header-note{display:none}.header nav{margin-left:auto;gap:22px}.hero{gap:28px}.hero-art{height:300px}h1{font-size:39px}.hero-hint{display:block;margin:15px 0 0}.game-grid{gap:18px}.card-body{padding:20px 17px 12px}.card-body p{font-size:14px;min-height:73px}.tags li{font-size:10px;padding:3px 5px}.record-band{margin-left:40px;margin-right:40px}.record-icon{display:none}.guide ol{min-height:240px}.tip{min-height:200px}}
@media(max-width:760px){html{scroll-padding-top:94px}.wrap{padding-left:22px;padding-right:22px}.nav-wrap{padding:12px 20px;gap:13px;flex-wrap:wrap}.brand{font-size:16px;gap:9px}.brand small{font-size:8px;letter-spacing:.8px}.brand-mark{width:32px;height:32px;font-size:22px}.header nav{gap:16px}.header nav a{font-size:12px}.header nav a:last-child{display:none}.hero{padding-top:28px;padding-bottom:29px;gap:23px;grid-template-columns:1fr}.hero-copy{position:relative}.hero .eyebrow{font-size:10px}h1{font-size:37px;letter-spacing:-1.7px;margin:12px 0 12px}.hero-copy>p{font-size:14px;line-height:1.8;margin-bottom:18px}.hero-hint{display:inline-block;font-size:11px;margin:0 0 0 12px}.hero .button{min-height:43px;padding:8px 18px;font-size:14px}.hero-art{height:178px;box-shadow:4px 4px 0 var(--ink)}.hero-art img{object-position:center 56%}.art-caption{padding:7px 11px;font-size:9px}.ticker{font-size:10px;padding:7px 0}.section{padding-top:35px;padding-bottom:34px}.section-heading{display:block;margin-bottom:18px}.section-heading h2{font-size:24px;margin:6px 0}.section-heading>p{font-size:13px;margin-top:6px}.eyebrow{font-size:10px}.game-grid{grid-template-columns:1fr;gap:23px}.game-card{display:grid;grid-template-columns:114px minmax(0,1fr);box-shadow:4px 4px 0 var(--ink)}.card-art{height:100%;border-bottom:0;border-right:2px solid var(--ink);padding:15px 10px}.card-sequence{font-size:9px;letter-spacing:.1px}.type-display{font-size:25px;letter-spacing:0;margin-top:35px;flex-wrap:wrap;gap:2px}.cursor{height:24px;width:9px}.art-tag{bottom:16px;left:10px;right:10px;font-size:11px;line-height:1.6}.card-symbol{font-size:72px;right:10px;bottom:49px;letter-spacing:-8px}.route-display{flex-direction:column;margin:14px 0 65px;align-items:center}.route-display span{width:26px;height:26px;font-size:13px;box-shadow:2px 2px 0 var(--ink)}.route-display i{width:2px;height:12px;margin:3px}.clean-display{flex-direction:column;gap:0;margin-top:30px;font-size:23px;line-height:1.6}.clean-display b{font-size:22px}.card-body{padding:17px 14px 13px}.card-kicker{font-size:10px}.card-body h3{font-size:24px;line-height:1.6}.card-body p{font-size:13px;min-height:0;margin:6px 0 13px;line-height:1.7}.card-body p br{display:none}.tags{gap:4px;margin-bottom:15px}.tags li{font-size:10px;padding:1px 5px}.play{font-size:12px;padding:8px 9px;min-height:42px}.play span{font-size:10px}.detail-link{font-size:11px;padding:10px 0 0}.catalog-foot{display:block;margin-top:19px}.catalog-foot>p{font-size:11px}.coming{margin-top:19px;border-top:1px dashed #9aa4ad;padding-top:14px}.record-band{display:block;margin:0 22px;padding:23px;box-shadow:4px 4px 0 var(--ink)}.record-band h2{font-size:24px;margin-top:7px;line-height:1.45}.record-band p{font-size:13px;margin-top:11px}.record-band p br{display:none}.record-band .button{font-size:13px;min-height:43px;margin-top:18px}.guide-grid{grid-template-columns:1fr;gap:25px}.guide{padding-top:17px}.guide-no{float:left;font-size:13px;margin:12px 12px 0 0}.guide h3{font-size:23px}.guide-lead{font-size:14px;margin-top:8px;margin-bottom:14px}.guide ol{font-size:14px;min-height:0;margin-bottom:16px}.tip{min-height:0;font-size:13px;padding:14px 16px}.guide-note{font-size:12px}.about-section{padding:32px 0}.about-grid{grid-template-columns:1fr;gap:24px}.about-section h2{font-size:28px;line-height:1.45}.about-copy p{font-size:14px}.about-copy .about-note{font-size:11px}.faq-section{padding-bottom:33px}summary{font-size:14px;padding:17px 35px 17px 0;line-height:1.7}summary:after{right:3px;top:20px;font-size:22px}details p{padding-right:15px;font-size:14px}.info-section{grid-template-columns:1fr;gap:24px;padding-bottom:34px}.info-section article{padding-top:18px}.info-section h2{font-size:21px}.info-section p{font-size:13px}.footer-inner{display:block;padding-top:22px;padding-bottom:22px}.footer-inner nav{flex-wrap:wrap;gap:8px 16px;font-size:11px;margin:18px 0}.footer-inner>p{font-size:11px}}
@media(max-width:370px){.nav-wrap{padding-left:16px;padding-right:16px}.header nav{gap:10px}.brand{font-size:14px}.header nav a{font-size:11px}.wrap{padding-left:16px;padding-right:16px}h1{font-size:33px}.game-card{grid-template-columns:93px minmax(0,1fr)}.card-body{padding:16px 12px 12px}.card-body h3{font-size:22px}.type-display{font-size:22px}.cursor{width:7px}.hero-hint{font-size:10px;margin-left:7px}.record-band{margin-left:16px;margin-right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Readability: body copy remains comfortably sized on small screens. */
.brand small,.header-note,.hero-hint,.card-sequence,.art-caption,.eyebrow,.card-kicker,.coming-label,.footer-brand span,.footer-inner>p,.info-section .small-note{font-size:12px}
.card-body p,.guide-lead,.guide ol,.tip p,.about-copy p,details p,.info-section p{font-size:16px}
.tags li,.detail-link,.art-tag,.catalog-foot>p,.coming,.guide-note,.section-heading>p,.footer-inner nav,.tip strong,.contact-note strong{font-size:14px}
.card-body p{min-height:84px}.tags li{padding:2px 5px}.record-band p{font-size:16px}.guide ol{min-height:230px}.tip{min-height:210px}.contact-note p,.about-copy .about-note{font-size:14px}
@media(max-width:1100px) and (min-width:761px){.guide ol{min-height:300px}.tip{min-height:260px}.card-body p{min-height:110px}}
@media(max-width:760px){.header nav a{font-size:14px}.brand small{font-size:10px}.hero-copy>p{font-size:16px}.hero-hint{display:block;margin:12px 0 0;font-size:12px}.hero-art{height:150px}.hero .eyebrow,.art-caption,.card-sequence,.card-kicker,.coming-label{font-size:12px}.section-heading>p{font-size:14px}.card-art{padding:14px 9px}.card-sequence{font-size:10px}.card-body p{min-height:0;font-size:16px}.tags li{font-size:12px;padding:2px 5px}.play,.detail-link{font-size:14px}.card-body{padding:16px 13px 13px}.guide ol,.tip{min-height:0}.guide-note,.about-copy .about-note,.info-section .small-note,.contact-note p,.footer-inner nav,.footer-inner>p{font-size:14px}.info-section p,.record-band p,.about-copy p,details p,.guide-lead,.guide ol,.tip p{font-size:16px}.hero{gap:18px}.catalog-foot>p{font-size:14px}.record-band .button{font-size:14px}.header nav{gap:12px}}
@media(max-width:370px){.header nav a{font-size:12px}.hero-copy>p{font-size:16px}.card-body{padding:14px 10px}.play{font-size:13px}.tags li{font-size:12px}.hero-hint{font-size:12px}}

/* The photo games extend the existing five-game collection. */
.game-grid,.guide-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.game-card,.guide{grid-column:span 2}.game-card:nth-child(n+4),.guide:nth-child(n+4){grid-column:span 3}
.puzzle .card-art{background:#dacdff}.pairs .card-art{background:#ffc9cb}.puzzle .play{background:#594394}.pairs .play{background:#963d60}
.puzzle-display{display:grid;grid-template-columns:repeat(2,35px);gap:3px;margin-top:10px;width:max-content}.puzzle-display span{height:31px;display:grid;place-items:center;border:2px solid var(--ink);background:var(--paper);font:700 16px/1 ui-monospace,monospace}.puzzle-display span:nth-child(2){background:#9d83d3}
.pairs-display{display:flex;gap:9px;margin-top:18px}.pairs-display span{display:grid;place-items:center;width:44px;height:52px;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);background:var(--paper);font:700 23px/1 ui-monospace,monospace}.pairs-display span:nth-child(2){background:#ac5674;color:#fff}
.card-body .ranking-note{font-size:14px;line-height:1.7;min-height:0;background:#f1eee6;border-left:3px solid #9c8f73;padding:10px 12px;margin:0 0 18px}.game-card:nth-child(n+4) .card-body>p:not(.ranking-note){min-height:56px}.game-card:nth-child(n+4) .card-art{height:180px}.guide:nth-child(n+4) ol{min-height:205px}.guide:nth-child(n+4) .tip{min-height:165px}.play[disabled]{opacity:.65;cursor:wait}
@media(max-width:1100px) and (min-width:761px){.guide:nth-child(n+4) ol{min-height:255px}.guide:nth-child(n+4) .tip{min-height:230px}}
@media(max-width:760px){.game-grid,.guide-grid{grid-template-columns:1fr}.game-card,.guide,.game-card:nth-child(n+4),.guide:nth-child(n+4){grid-column:auto}.game-card:nth-child(n+4) .card-art{height:100%}.game-card:nth-child(n+4) .card-body>p:not(.ranking-note){min-height:0}.game-card:nth-child(n+4) h3{font-size:21px;line-height:1.5;margin-top:4px}.puzzle-display{grid-template-columns:repeat(2,32px);margin-top:24px}.puzzle-display span{height:31px}.pairs-display{display:grid;grid-template-columns:repeat(2,35px);gap:6px;margin-top:27px}.pairs-display span{height:42px;width:35px;font-size:20px}.pairs-display span:last-child{grid-column:2}.card-body .ranking-note{font-size:14px;padding:9px;margin-bottom:14px}.game-card:nth-child(n+4) .art-tag{font-size:13px}.guide:nth-child(n+4) ol,.guide:nth-child(n+4) .tip{min-height:0}}

.info-section a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
