@font-face{font-family:Atlas;src:url('/assets/garamond-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Atlas;src:url('/assets/garamond-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{color-scheme:light;--ink:#12374d;--deep:#102a3d;--paper:#f3eddf;--muted:#686956;--line:#7b8172;--gap:28px}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;color:var(--ink);background:var(--paper) url('/assets/atlas-map.svg') center/cover fixed;font-family:Atlas,Georgia,serif;-webkit-font-smoothing:antialiased;position:relative;padding:0 32px 25px}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:url('/assets/paper-grain.svg');opacity:.22;z-index:5;mix-blend-mode:multiply}
button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}
.page-frame{position:absolute;inset:12px;border:1px solid #28475a;outline:1px solid #657a81;outline-offset:4px;pointer-events:none;z-index:6}.page-frame>span{position:absolute;font-size:32px;background:var(--paper);line-height:22px;width:28px;text-align:center}.page-frame>span:nth-child(1){top:-8px;left:-12px}.page-frame>span:nth-child(2){top:-8px;right:-12px}.page-frame>span:nth-child(3){bottom:-8px;left:-12px}.page-frame>span:nth-child(4){bottom:-8px;right:-12px}
.masthead{max-width:1350px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 24px 0;gap:20px}
.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:34px;white-space:nowrap;line-height:1.1}.brand img{width:49px;height:56px}.masthead-note{font-family:Georgia,serif;font-size:11px;letter-spacing:3px;line-height:1.9;text-align:center;margin-right:185px;color:#7c8178}
.introduction{text-align:center;padding:14px 0 29px;position:relative}.introduction h1{font-size:clamp(42px,5.5vw,78px);font-weight:600;letter-spacing:-2px;line-height:1.05;margin:0;color:var(--deep)}.introduction p{font-size:clamp(25px,2.6vw,36px);line-height:1.2;margin:10px 0 0}
.collection{max-width:1190px;margin:auto;position:relative}.carousel{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;border-radius:2px;padding:4px 2px 9px;outline-offset:6px;overscroll-behavior-x:contain}.carousel::-webkit-scrollbar{display:none}.game-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--gap)*2)/3);gap:var(--gap);padding:0;margin:0;list-style:none}.game-card{min-width:0;position:relative;scroll-snap-align:start;padding:3px;border:1px solid #576b70;background:#f6f0e3;box-shadow:inset 0 0 0 2px #f3eddf,0 2px 5px #27372309;display:flex;flex-direction:column}.game-card::after{content:"";position:absolute;inset:5px;border:1px solid #7380775c;pointer-events:none}.cover-link{display:block;position:relative;overflow:hidden;aspect-ratio:1/1.02;background:#dfdccb}.cover-link::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:20%;background:linear-gradient(transparent,#f6f0e3);pointer-events:none}.cover-link img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.cover-link:hover img{transform:scale(1.035)}
.card-copy{text-align:center;padding:0 22px 23px;position:relative;flex:1;display:flex;flex-direction:column;align-items:center}.emblem{display:flex;align-items:center;justify-content:center;gap:15px;height:32px;width:120px;margin:-5px auto 3px;z-index:1}.emblem::before,.emblem::after{content:"";height:1px;width:29px;background:#5e6f6c}.emblem svg{width:32px;height:32px;flex-shrink:0}.game-card h2{font-weight:600;font-size:clamp(28px,2.8vw,41px);line-height:1.1;letter-spacing:-.8px;margin:5px 0 3px;color:var(--deep)}.game-description{font-size:23px;line-height:1.2;margin:0 0 11px}.game-controls{font-family:Georgia,serif;font-size:11px;letter-spacing:1px;line-height:1.4;color:#69736a;margin:0 0 17px}.play-button{width:87%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:28px;padding:6px 15px;margin-top:auto;color:#f7f1e3;text-decoration:none;font-size:29px;line-height:1.1;background:#123a51;border:1px solid #f4edde;outline:1px solid #26495a;outline-offset:2px;transition:background .2s,transform .2s}.play-button span{font-size:26px}.play-button:hover{background:#1b526b;transform:translateY(-2px)}:focus-visible{outline:3px solid #ae622c;outline-offset:5px}.play-button:focus-visible{outline-color:#ae622c;outline-width:3px}
.margin-note{position:absolute;top:38%;font:10px/2 Georgia,serif;letter-spacing:3px;color:#7c8379;text-align:center}.margin-note span{display:block;font-size:20px;margin-top:13px}.note-left{left:-115px}.note-right{right:-115px}
.collection-navigation{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:14px}.collection-navigation[hidden]{display:none}.collection-navigation p{font-size:18px;margin:0;min-width:110px;text-align:center;color:#53605a}.browse-button{border:1px solid #607478;background:#f5eee0;color:var(--ink);min-width:48px;height:44px;font-size:30px;cursor:pointer}.browse-button:disabled{opacity:.3;cursor:default}.browse-button:not(:disabled):hover{background:#e5dcc7}
.journey-mark{display:flex;align-items:center;justify-content:center;gap:30px;max-width:510px;margin:26px auto 20px;color:#8c8e7b}.journey-mark span{height:1px;border-top:1px dashed #8b9180;flex:1;transform:rotate(-4deg)}.journey-mark span:last-child{transform:rotate(4deg)}.site-footer{text-align:center;color:#5d675f;font-size:17px;letter-spacing:.6px;padding-bottom:12px}.site-footer p{margin:0}.site-footer p span{padding:0 9px}.footer-star{display:inline-block;margin:8px 0 2px;font-size:20px;color:#989983}.site-footer .footer-note{font-size:15px;letter-spacing:.2px;font-style:italic}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:0;left:20px;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-150%);z-index:10}.skip-link:focus{transform:none}
@media(min-width:1500px){.masthead{padding-top:40px}.introduction{padding-top:22px;padding-bottom:40px}.collection{max-width:1250px}.journey-mark{margin-top:32px}.card-copy{padding-bottom:25px}}
@media(max-width:1390px){.margin-note{display:none}.collection{max-width:1120px}.masthead-note{margin-right:130px}.masthead{padding-left:12px;padding-right:12px}}
@media(max-width:1000px){:root{--gap:20px}body{padding:0 26px 22px}.masthead{padding-top:24px}.brand{font-size:29px;gap:10px}.masthead-note{margin-right:10px;font-size:10px;letter-spacing:2px}.introduction{padding-top:25px;padding-bottom:27px}.card-copy{padding:0 10px 18px}.game-card h2{font-size:30px}.game-description{font-size:20px}.game-controls{font-size:10px;letter-spacing:.2px}.play-button{font-size:26px;width:88%}.game-track{grid-auto-columns:calc((100% - var(--gap))/2)}.journey-mark{margin-top:20px}}
@media(max-width:620px){:root{--gap:18px}body{padding:0 21px 24px;background-size:auto 1000px;background-attachment:scroll}.page-frame{inset:9px;outline-offset:3px}.masthead{padding:25px 9px 0;justify-content:center}.brand{font-size:29px;gap:8px}.brand img{height:45px;width:38px}.masthead-note{display:none}.introduction{padding:24px 8px 25px}.introduction h1{font-size:42px;line-height:.98;letter-spacing:-1px;max-width:350px;margin:auto}.introduction p{font-size:26px;margin-top:12px}.game-track{grid-auto-columns:87%}.carousel{margin-right:-5px;padding-right:5px}.cover-link{aspect-ratio:1/1}.game-card h2{font-size:34px}.game-description{font-size:22px}.card-copy{padding-bottom:20px}.game-controls{font-size:11px;letter-spacing:.6px;margin-bottom:16px}.play-button{width:82%;min-height:46px}.journey-mark{max-width:190px;margin:22px auto 18px;gap:16px}.site-footer{font-size:15px;letter-spacing:.1px}.site-footer .footer-note{font-size:14px}.footer-star{margin-top:7px}}
@media(max-width:620px){.page-frame>span:nth-child(odd){left:-9px}.page-frame>span:nth-child(even){right:-9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
