@font-face{font-family:Pretendard;src:url('assets/Pretendard-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Pretendard;src:url('assets/Pretendard-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--paper:#faf9f6;--ink:#24362e;--muted:#66716b;--line:#e1e5de;--green:#29684c;--soft:#eaf0e7;font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #287250;outline-offset:5px}svg{display:block}p,h1,h2{margin:0}img{display:block;max-width:100%}[hidden]{display:none!important}.page{width:min(1032px,100% - 64px);margin:auto}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.5px}.brand-mark{width:33px;height:33px;display:grid;place-items:center;color:var(--green)}.brand svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.header-note{font-size:13px;color:var(--muted)}.intro{padding:65px 0 42px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--green);margin-bottom:16px}h1{font-size:clamp(34px,4.1vw,48px);line-height:1.22;letter-spacing:-1.7px;font-weight:700;word-break:keep-all}h1>span:not(.title-dot){white-space:nowrap}.title-dot{color:#df9550;margin-left:3px}.intro-copy{font-size:17px;line-height:1.7;margin-top:17px;color:#59665e;word-break:keep-all}.mobile-break{display:none}.free-note{display:inline-flex;align-items:center;gap:7px;margin-top:18px;color:var(--green);font-size:12px}.free-note>span{font-weight:700;font-size:14px}.collection{scroll-margin-top:24px}.collection-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px}.filters{display:flex;gap:7px;flex-shrink:0}.filter{border:1px solid #e0e4dc;background:transparent;border-radius:50px;min-height:42px;padding:0 18px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#53625a;transition:background .15s,color .15s}.filter span{font-size:12px;opacity:.65}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}.filter:not(.active):hover{background:var(--soft)}.collection-hint{font-size:12px;color:var(--muted)}.collection-hint span{margin-left:5px}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 24px}.game-card{min-width:0}.game-link{display:block;height:100%;border:1px solid #e2e5de;background:#fff;border-radius:16px;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}.cover{position:relative;overflow:hidden;background:#e9ede4;aspect-ratio:16/10}.cover>img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.image-action{position:absolute;right:16px;bottom:16px;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#243e30;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.image-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.card-body{padding:23px 25px 22px}.meta{display:flex;gap:11px;align-items:center;font-size:12px;color:#69736d}.subject{display:inline-flex;align-items:center;gap:5px;font-weight:700}.subject>span{width:5px;height:5px;border-radius:50%;background:currentColor}.math{color:#966324}.social{color:#38705c}h2{margin-top:13px;font-size:25px;line-height:1.3;letter-spacing:-.85px}.topic{font-size:14px;line-height:1.5;font-weight:700;margin-top:6px;color:#52645a}.description{font-size:13px;line-height:1.65;margin-top:11px;color:#737c76;word-break:keep-all}.play{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0e9;padding-top:15px;margin-top:21px;font-size:14px;font-weight:700;color:var(--green);min-height:37px}.play svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.game-link:hover,.game-link:focus-visible{border-color:#9bb39e;box-shadow:0 8px 25px #263c2e0a;transform:translateY(-3px)}.game-link:hover .cover>img{transform:scale(1.025)}.game-link:hover .image-action,.game-link:focus-visible .image-action{opacity:1;transform:none}.closing{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:58px;padding:32px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#637067;font-size:13px;line-height:1.8;word-break:keep-all}.closing>span{font-size:30px;line-height:1;color:#9bab8d}.page footer{display:flex;align-items:center;justify-content:space-between;padding:24px 0 36px;font-size:12px;color:#768078}.page footer a{padding:10px 0 10px 15px}.page footer a:hover{color:var(--green)}.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}.skip{position:fixed;z-index:20;left:20px;top:-100px;background:var(--ink);color:#fff;padding:14px 20px;border-radius:6px}.skip:focus{top:10px}
/* Keep the archive introduction short so visitors reach the games quickly. */
.site-header{height:76px}.intro{padding:40px 0 30px}.cover{aspect-ratio:16/9}.filter{min-height:44px}
@media(max-width:700px){.page{width:calc(100% - 36px);max-width:480px}.site-header{height:72px}.brand{font-size:16px;gap:7px}.brand-mark,.brand svg{width:29px;height:29px}.header-note{font-size:11px}.intro{padding:41px 0 32px}.eyebrow{font-size:12px;margin-bottom:13px}h1{font-size:34px;letter-spacing:-1.25px}.intro-copy{font-size:15px;line-height:1.75;margin-top:14px}.free-note{margin-top:15px}.collection-bar{padding-bottom:18px}.collection-hint{display:none}.filter{min-height:42px;padding:0 17px}.game-grid{grid-template-columns:1fr;gap:24px}.cover{aspect-ratio:16/10}.card-body{padding:20px 21px}.meta{font-size:12px}h2{font-size:24px}.description{font-size:13px}.play{margin-top:17px}.closing{margin-top:37px;padding:26px 8px;gap:14px;font-size:12px}.closing>span{font-size:26px}.page footer{padding-top:17px;padding-bottom:24px}}
@media(max-width:700px){.intro{padding:32px 0 26px}.cover{aspect-ratio:16/9}.filter{min-height:44px}}
@media(max-width:370px){.page{width:calc(100% - 28px)}.header-note{font-size:10px}h1{font-size:30px}.mobile-break{display:block}.card-body{padding:18px}.closing{font-size:11px}}
.intro-copy{font-size:26px;line-height:1.5;color:var(--green);letter-spacing:-.6px}.intro-copy strong{font-weight:700;background:linear-gradient(transparent 69%,#f2e6bd 69%,#f2e6bd 95%,transparent 95%);padding:0 2px}.duration{display:flex;align-items:center;gap:7px;margin-top:13px;font-size:12px;line-height:1.6;color:#65746a;flex-wrap:wrap}.duration svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.duration strong{color:#405a49;font-size:13px;font-weight:700}.duration-note{font-size:12px;line-height:1.7;color:#68766c;margin-top:20px;word-break:keep-all}
@media(max-width:700px){.intro-copy{font-size:23px}.duration-note{font-size:11px}}
@media(max-width:370px){.intro-copy{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
