/* world of solitaire — solitaire atlas: parchment, deep teal sea, brass instruments */
@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600i.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212}
@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/fraunces-ext-600i.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Fraunces;font-weight:700;font-display:swap;src:url(/fonts/fraunces-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212}
@font-face{font-family:Fraunces;font-weight:700;font-display:swap;src:url(/fonts/fraunces-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Plex;font-weight:400;font-display:swap;src:url(/fonts/plex-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212}
@font-face{font-family:Plex;font-weight:600;font-display:swap;src:url(/fonts/plex-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212}
@font-face{font-family:Plex;font-weight:400;font-display:swap;src:url(/fonts/plex-ext-400.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Plex;font-weight:600;font-display:swap;src:url(/fonts/plex-ext-600.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Plex;font-weight:400;font-display:swap;src:url(/fonts/plex-cy-400.woff2) format("woff2");unicode-range:U+0400-04FF}
@font-face{font-family:Plex;font-weight:600;font-display:swap;src:url(/fonts/plex-cy-600.woff2) format("woff2");unicode-range:U+0400-04FF}
@font-face{font-family:Barlow Condensed;font-weight:600;font-display:swap;src:url(/fonts/barlowc-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212}
@font-face{font-family:Barlow Condensed;font-weight:600;font-display:swap;src:url(/fonts/barlowc-ext-600.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF}

:root{
  --teal:#12506B;--teal-d:#0c3a4f;--teal-dd:#082736;--sea:#1b6a8a;
  --parch:#f3e9d2;--parch2:#e8d9b6;--paper:#fffaf0;--brass:#B8893B;--brass-l:#e2b865;--brass-d:#7a561c;
  --ink:#1d2a2f;--muted:#55605c;--red:#a3402c;--line:rgba(18,80,107,.09);
  --pad:clamp(16px,4vw,56px);--max:1360px;
  --display:Fraunces,Georgia,"Times New Roman","Hiragino Mincho ProN","Yu Mincho","Apple SD Gothic Neo","Malgun Gothic",serif;
  --text:Plex,system-ui,-apple-system,"Segoe UI","Hiragino Sans","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --label:"Barlow Condensed","Arial Narrow",Plex,system-ui,"Segoe UI","Hiragino Sans","Yu Gothic","Malgun Gothic",sans-serif;
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:400 16px/1.65 var(--text);overflow-x:hidden;background:var(--parch);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;background-position:-1px -1px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);line-height:1.1;color:var(--teal);margin:0;overflow-wrap:normal;hyphens:manual}
h1,h2{font-style:italic;font-weight:600;letter-spacing:-.01em}
:lang(ja) h1,:lang(ja) h2,:lang(ko) h1,:lang(ko) h2,:lang(ru) h1,:lang(ru) h2{font-style:normal;font-weight:700;letter-spacing:0;word-break:keep-all}
.skip{position:absolute;left:-999px;top:8px;background:var(--teal);color:var(--parch);padding:8px 14px;border-radius:6px;z-index:60}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:4px}
.legend{margin:0 0 14px;font:600 14px/1.3 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-d)}

/* header: atlas binding — parchment bar with a double rule */
.top{position:sticky;top:0;z-index:30;background:var(--parch);border-bottom:2px solid var(--ink);box-shadow:0 3px 0 var(--parch),0 5px 0 var(--brass)}
.top-in{display:flex;align-items:center;gap:clamp(14px,2.4vw,36px);max-width:var(--max);margin:0 auto;padding:10px var(--pad)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.wm-emb{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(8,39,54,.35))}
.wm-dot{display:inline-block;border-radius:50%;background:radial-gradient(circle,var(--teal) 55%,var(--brass) 57% 68%,transparent 70%)}
.wm{font:600 italic 27px/1 var(--display);color:var(--teal);white-space:nowrap;letter-spacing:-.015em}
.wm i{font-style:italic;color:var(--brass-d);font-size:.82em}
.nav{display:flex;gap:clamp(10px,1.8vw,26px);margin-left:auto}
.nav a{display:flex;align-items:baseline;gap:6px;padding:8px 2px;text-decoration:none;font:600 16px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.nav small{font:600 italic 13px var(--display);color:var(--brass-d);letter-spacing:0}
.nav a:hover,.nav a[aria-current]{color:var(--teal);border-color:var(--brass)}
.lang{position:relative;flex:none}
.lang summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:8px 12px;border:1.5px solid var(--teal);border-radius:4px;font:600 15px/1 var(--label);letter-spacing:.1em;color:var(--teal);background:var(--paper)}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;right:0;top:calc(100% + 10px);margin:0;padding:8px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px;min-width:180px;background:var(--paper);border:1.5px solid var(--teal);border-radius:6px;box-shadow:6px 6px 0 var(--brass),0 20px 40px rgba(8,39,54,.2);z-index:40}
.lang a{display:flex;align-items:center;padding:8px 10px;border-radius:4px;text-decoration:none;font:600 15px/1 var(--label);letter-spacing:.1em}
.lang a:hover,.lang a[aria-current]{background:var(--parch);color:var(--teal)}
.burger{display:none;flex:none;width:44px;height:44px;border:1.5px solid var(--teal);border-radius:4px;background:var(--paper);cursor:pointer;position:relative}
.burger span,.burger span:before,.burger span:after{position:absolute;left:11px;width:20px;height:2px;background:var(--teal);content:"";transition:transform .2s}
.burger span{top:20px}.burger span:before{top:-6px;left:0}.burger span:after{top:6px;left:0}
.drawer-nav{display:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:4px;background:var(--brass-l);color:var(--teal-dd);font:600 17px/1.2 var(--text);text-decoration:none;box-shadow:4px 4px 0 var(--teal-dd);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--teal-dd)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--teal-dd)}
.btn.ghost{background:transparent;color:var(--parch);box-shadow:inset 0 0 0 1.5px rgba(243,233,210,.6)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--brass-l);transform:none}
.btn.ghost.dark{color:var(--teal);box-shadow:inset 0 0 0 1.5px var(--teal)}
.btn.sm{padding:9px 16px;font-size:15px;box-shadow:3px 3px 0 var(--teal-dd)}

/* hero: the ocean plate */
.hero{position:relative;overflow:hidden;isolation:isolate;color:var(--parch);background:radial-gradient(ellipse 60% 80% at 75% 45%,var(--sea),var(--teal) 45%,var(--teal-dd));border-bottom:6px double var(--brass)}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(243,233,210,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(243,233,210,.08) 1px,transparent 1px);background-size:72px 72px;background-position:-1px -1px}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;z-index:1;background:repeating-linear-gradient(90deg,var(--brass-l) 0 2px,transparent 2px 18px);opacity:.55;-webkit-mask:linear-gradient(transparent 40%,#000);mask:linear-gradient(transparent 40%,#000)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.28;mix-blend-mode:luminosity}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:24px;max-width:var(--max);margin:0 auto;padding:clamp(28px,5vw,64px) var(--pad) clamp(70px,8vw,110px);min-height:min(640px,84vh)}
.hero .legend{color:var(--brass-l)}
.hero h1{font-size:clamp(42px,6.4vw,92px);line-height:1.02;color:var(--paper);margin:0 0 20px;text-wrap:balance;text-shadow:0 3px 24px rgba(8,39,54,.5)}
.hero .lead{font-size:clamp(16px,1.4vw,19px);max-width:34em;margin:0;color:rgba(243,233,210,.9)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-globe{position:relative;display:grid;place-items:center;aspect-ratio:1;width:100%;max-width:600px;justify-self:end}
.hero-art{position:relative;z-index:2;width:92%;filter:drop-shadow(0 34px 34px rgba(4,20,28,.6));animation:bob 7s ease-in-out infinite}
.orbit{position:absolute;inset:2%;border-radius:50%;border:1.5px dashed rgba(226,184,101,.5);animation:spin 80s linear infinite}
.orbit:before,.orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--brass-l);box-shadow:0 0 0 4px rgba(226,184,101,.25)}
.orbit:before{top:12%;left:14%}.orbit:after{bottom:6%;right:30%;background:var(--paper)}
.orbit.o2{inset:-8%;border-style:solid;border-color:rgba(243,233,210,.12);animation-duration:140s;animation-direction:reverse}
.orbit.o2:before{top:48%;left:-6px;background:var(--red)}.orbit.o2:after{display:none}
.compass{position:absolute;right:-2%;bottom:4%;z-index:3;width:clamp(70px,9vw,120px);aspect-ratio:1;border-radius:50%;background:var(--teal-dd) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23e2b865' stroke-width='1.2'%3E%3Ccircle cx='50' cy='50' r='46'/%3E%3Ccircle cx='50' cy='50' r='38' stroke-dasharray='2 4'/%3E%3C/g%3E%3Cpath d='M50 8l7 42-7 42-7-42z' fill='%23e2b865'/%3E%3Cpath d='M8 50l42-6 42 6-42 6z' fill='%23f3e9d2' opacity='.7'/%3E%3Cpath d='M50 8l7 42h-14z' fill='%23a3402c'/%3E%3Ccircle cx='50' cy='50' r='4' fill='%23082736'/%3E%3C/svg%3E") center/100% no-repeat;box-shadow:0 0 0 4px var(--brass),0 14px 30px rgba(4,20,28,.5);transform:rotate(-14deg)}
@keyframes bob{50%{transform:translateY(-12px) rotate(1.5deg)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* passport stamps (categories) */
.stamps{display:flex;gap:clamp(12px,2vw,26px);max-width:var(--max);margin:0 auto;padding:6px var(--pad) 20px;overflow-x:auto;scrollbar-width:none}
.stamps::-webkit-scrollbar{display:none}
.p-home .stamps{margin-top:-58px;position:relative;z-index:2;padding-top:0}
.stamp{--c:var(--teal);flex:none;display:grid;justify-items:center;align-content:center;gap:2px;width:178px;min-height:178px;padding:16px 14px;border-radius:50%;text-align:center;text-decoration:none;color:var(--c);background:var(--paper);border:3px solid var(--c);box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6.5px var(--c),0 10px 20px rgba(8,39,54,.16);transform:rotate(-5deg);transition:transform .25s}
.stamp.s1{--c:var(--red);transform:rotate(4deg);border-radius:20px}
.stamp.s2{--c:var(--brass-d);transform:rotate(-2deg)}
.stamp.s3{--c:var(--teal-d);transform:rotate(3deg);border-radius:20px;border-style:dashed}
.stamp:hover{transform:rotate(0) scale(1.04)}
.stamp[aria-current]{background:var(--parch2)}
.stamp .ci{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(8,39,54,.3))}
.ci-all{display:grid;place-items:center;width:76px;height:76px;font-size:44px;line-height:1;color:var(--brass)}
.st-t{font:600 16px/1.1 var(--label);letter-spacing:.1em;text-transform:uppercase}
.st-n{font:600 italic 14px/1.2 var(--display);color:var(--ink);opacity:.75}
.stamp.mini{width:auto;min-height:0;display:flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;border-radius:999px;box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 4.5px var(--c);transform:rotate(-1.5deg)}
.stamp.mini .ci{width:44px;height:44px}

/* sections */
.sec{max-width:var(--max);margin:0 auto;padding:26px var(--pad)}
.sec-h{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(29,42,47,.25);box-shadow:0 3px 0 -2px rgba(29,42,47,.12)}
.sec-h h2{font-size:clamp(26px,2.8vw,38px)}
.sec-no{flex:none;min-width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--brass);font:600 italic 17px var(--display);color:var(--brass-d);align-self:center}
.more{margin-left:auto;flex:none;font:600 15px var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);text-decoration:none;white-space:nowrap}
.more:hover{color:var(--red)}

/* postcards */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 22px}
.pc{position:relative;display:flex;flex-direction:column;padding:10px 10px 12px;background:var(--paper);text-decoration:none;color:var(--ink);box-shadow:0 1px 0 var(--parch2),0 8px 18px rgba(29,42,47,.12);transition:transform .22s,box-shadow .22s}
.pc:hover{transform:translateY(-4px) rotate(var(--t,0deg));box-shadow:0 1px 0 var(--parch2),0 18px 30px rgba(29,42,47,.2)}
.pc-img{position:relative;display:block;padding:7px;background:radial-gradient(circle,var(--paper) 2.6px,transparent 3px) -2px -2px/11px 11px,#e7cf9c}
.pc-img img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--parch2)}
.pc-no{position:absolute;top:0;right:0;transform:translate(30%,-30%) rotate(8deg);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--teal);color:var(--paper);font:600 italic 16px var(--display);box-shadow:0 0 0 3px var(--paper),0 0 0 4.5px var(--teal);z-index:1}
.pc-geo{display:block;margin-top:9px;font:600 12px/1 var(--label);letter-spacing:.14em;color:var(--brass-d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-t{display:block;margin-top:5px;font:700 17px/1.22 var(--display);color:var(--teal-dd);overflow-wrap:normal;word-break:normal}
.pc-c{display:block;margin-top:auto;padding-top:6px;font-size:13px;color:var(--muted)}

/* featured + itinerary */
.trip-in{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(18px,3vw,40px);align-items:start}
.feature{position:relative;display:block;padding:14px;background:var(--paper);text-decoration:none;color:var(--ink);box-shadow:0 1px 0 var(--parch2),0 16px 34px rgba(29,42,47,.16);transform:rotate(-.8deg);transition:transform .25s}
.feature:hover{transform:rotate(0)}
.feature-img{position:relative;display:block;padding:9px;background:radial-gradient(circle,var(--paper) 3.2px,transparent 3.7px) -3px -3px/14px 14px,#e7cf9c}
.feature-img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.feature-img:after{content:"";position:absolute;right:6%;top:8%;width:clamp(70px,10vw,110px);aspect-ratio:1;border-radius:50%;border:3px solid rgba(163,64,44,.75);box-shadow:inset 0 0 0 6px transparent,inset 0 0 0 8px rgba(163,64,44,.55);background:repeating-linear-gradient(-12deg,transparent 0 9px,rgba(163,64,44,.5) 9px 11px);transform:rotate(-14deg);opacity:.85}
.feature-b{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 4px 2px}
.feature-b .pc-geo{width:100%;margin:0}
.feature-t{flex:1 1 220px;font:600 italic clamp(24px,2.6vw,34px)/1.1 var(--display);color:var(--teal)}
.itin{position:relative;margin:0;padding:0;list-style:none;display:grid;gap:10px}
.itin:before{content:"";position:absolute;left:21px;top:20px;bottom:20px;border-left:2px dashed var(--brass)}
.itin>li a{position:relative;display:flex;align-items:center;gap:14px;padding:8px 14px 8px 0;text-decoration:none;color:var(--ink);border-radius:6px;transition:background .2s}
.itin>li a:hover{background:rgba(255,250,240,.75)}
.it-no{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--parch);border:2px solid var(--teal);font:600 italic 16px var(--display);color:var(--teal);z-index:1}
.itin img{flex:none;width:64px;height:64px;object-fit:cover;border:4px solid var(--paper);box-shadow:0 4px 10px rgba(29,42,47,.18);transform:rotate(-3deg)}
.itin>li:nth-child(even) img{transform:rotate(3deg)}
.it-t{flex:1;min-width:0;font:700 18px/1.2 var(--display);color:var(--teal-dd)}
.it-t small{display:block;margin-top:3px;font:400 13px var(--text);color:var(--muted)}
.it-go{flex:none;font-size:20px;color:var(--brass-d);transition:transform .2s}
.itin>li a:hover .it-go{transform:translateX(4px)}

/* travel journal */
.journal{margin:34px 0 10px;padding:clamp(34px,5vw,64px) 0;background:var(--paper);border-top:1px solid rgba(29,42,47,.2);border-bottom:1px solid rgba(29,42,47,.2);background-image:repeating-linear-gradient(transparent 0 31px,rgba(18,80,107,.07) 31px 32px)}
.journal-in{display:grid;grid-template-columns:260px 1fr;gap:clamp(24px,4vw,64px);max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.mascot{position:sticky;top:110px;width:100%;filter:drop-shadow(0 22px 24px rgba(8,39,54,.3))}
.entries{display:grid;grid-template-columns:1fr 1fr;gap:34px 44px}
.entry{position:relative;padding-left:58px}
.entry-no{position:absolute;left:0;top:-2px;font:600 italic 40px/1 var(--display);color:var(--brass)}
.entry h2{font-size:clamp(22px,2vw,28px);margin-bottom:10px}
.entry p,.entry ul{margin:0 0 12px}
.entry ul{padding-left:20px}

/* faq */
.faq{max-width:980px}
.faq h2{font-size:clamp(28px,3vw,40px);margin-bottom:14px}
.faq details{border-top:1px solid rgba(29,42,47,.2)}
.faq details:last-child{border-bottom:1px solid rgba(29,42,47,.2)}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:14px;padding:16px 0;font:700 19px/1.3 var(--display);color:var(--teal-dd)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:"✦";flex:none;color:var(--brass);font-size:15px;transition:transform .2s}
.faq details[open] summary:before{transform:rotate(45deg)}
.faq details p{margin:0 0 18px 29px;max-width:60em}

/* inner pages */
.wrap{max-width:var(--max);margin:0 auto;padding:18px var(--pad) 10px}
.wrap.narrow{max-width:900px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none;font:600 14px var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.crumbs li+li:before{content:"→";margin-right:6px;color:var(--brass)}
.crumbs a{text-decoration:none;color:var(--teal)}
.crumbs a:hover{text-decoration:underline}

/* game plate */
.plate{position:relative;padding:clamp(12px,1.6vw,20px);background:var(--paper);border:1.5px solid var(--ink);box-shadow:0 0 0 5px var(--paper),0 0 0 6.5px var(--brass),0 24px 50px rgba(29,42,47,.18)}
.plate:before,.plate:after{content:"";position:absolute;width:26px;height:26px;border:3px solid var(--brass);pointer-events:none}
.plate:before{top:-10px;left:-10px;border-right:0;border-bottom:0}
.plate:after{bottom:-10px;right:-10px;border-left:0;border-top:0}
.plate-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 18px;margin-bottom:12px}
.plate-h h1{font-size:clamp(28px,3.4vw,46px)}
.plate-h .pc-geo{margin:0}
.player{position:relative;aspect-ratio:var(--ar,16/9);width:min(100%,calc(76vh * var(--ar,16/9)));margin:0 auto;overflow:hidden;background:var(--teal-dd)}
.poster{width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(1.05)}
.play{position:absolute;inset:0;margin:auto;width:max-content;height:max-content;display:flex;align-items:center;gap:12px;padding:14px 28px 14px 14px;border:0;border-radius:999px;background:var(--brass-l);color:var(--teal-dd);font:600 21px/1 var(--text);cursor:pointer;box-shadow:0 0 0 6px rgba(255,250,240,.25),0 20px 40px rgba(4,20,28,.5);transition:transform .15s}
.play:hover{transform:scale(1.05)}
.play-i{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--teal-dd);color:var(--brass-l);font-size:17px;padding-left:3px}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.player.is-playing .poster,.player.is-playing .play{display:none}
.player:fullscreen{width:100%;max-height:none}
.player.is-max{position:fixed;inset:0;z-index:100;width:auto;aspect-ratio:auto}
.plate-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips>li{padding:5px 12px;border:1.5px solid var(--teal);border-radius:999px;font:600 14px/1.2 var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.fs{flex:none;border:0;border-radius:4px;padding:10px 16px;background:var(--teal);color:var(--paper);font:600 15px var(--text);cursor:pointer;box-shadow:3px 3px 0 var(--brass)}
.fs:hover{background:var(--teal-d)}
.game-info{display:grid;grid-template-columns:1fr 300px;gap:clamp(24px,4vw,56px);margin-top:42px;align-items:start}
.sheet{padding:clamp(20px,3vw,40px);background:var(--paper);box-shadow:0 1px 0 var(--parch2),0 12px 30px rgba(29,42,47,.1);border-top:4px solid var(--teal)}
.txt{max-width:880px}
.txt h2{font-size:clamp(24px,2.4vw,30px);margin:26px 0 10px}
.txt>h2:first-child,.txt>h1:first-child{margin-top:0}
.txt h3{font:700 20px var(--display);margin:24px 0 8px;color:var(--teal-dd)}
.txt ul,.txt ol{padding-left:22px}
.txt li{margin:4px 0}
.txt p,.txt li{overflow-wrap:break-word}
.txt kbd{display:inline-block;padding:1px 7px;border-radius:4px;background:var(--parch);border:1px solid var(--brass);border-bottom-width:3px;font:600 13px var(--text)}
.txt a{color:var(--teal)}
.side{position:sticky;top:110px;display:grid;gap:22px;justify-items:center}
.side-card{display:block;width:100%;padding:10px 10px 14px;background:var(--paper);box-shadow:0 14px 30px rgba(29,42,47,.18);transform:rotate(var(--t))}
.side-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border:7px solid #e7cf9c}
.side-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.list-h{display:flex;align-items:center;gap:clamp(16px,3vw,36px);margin:4px 0 18px}
.list-stamp{flex:none;display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:var(--paper);border:3px solid var(--teal);box-shadow:inset 0 0 0 6px var(--paper),inset 0 0 0 7.5px var(--teal),0 12px 24px rgba(8,39,54,.15);transform:rotate(-6deg)}
.list-stamp .ci{width:110px;height:110px;object-fit:contain}
.ci-all.big{width:110px;height:110px;font-size:64px}
.list-h h1{font-size:clamp(36px,5vw,66px);margin:0 0 8px}
.list-h .lead{margin:0 0 10px;max-width:46em;color:var(--muted);font-size:17px}
.list-h .legend{margin:0}
.p-list .stamps{padding-bottom:24px}
.p-list .stamp{width:140px;min-height:140px;padding:12px}
.p-list .stamp .ci,.p-list .stamp .ci-all{width:56px;height:56px;font-size:32px}
.p-list .st-t{font-size:14px}
.list-txt{margin:40px 0 10px}
.doc h1{font-size:clamp(34px,4.4vw,52px);margin-bottom:18px}
.nf-in{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:center;max-width:980px;margin:10px auto 40px}
.nf-art{width:100%;transform:rotate(-8deg);filter:drop-shadow(0 20px 22px rgba(8,39,54,.3))}
.nf h1{font-size:clamp(36px,5vw,62px);margin:0 0 12px}
.nf .lead{margin:0;color:var(--muted);font-size:18px}
.nf-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}

/* footer: sea chart */
.foot{position:relative;margin-top:50px;padding:46px var(--pad) 26px;color:rgba(243,233,210,.85);background:var(--teal-dd);background-image:linear-gradient(rgba(243,233,210,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(243,233,210,.06) 1px,transparent 1px);background-size:72px 72px;border-top:6px double var(--brass)}
.foot-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;max-width:var(--max);margin:0 auto}
.foot .wm{color:var(--paper)}.foot .wm i{color:var(--brass-l)}
.foot .wm-emb{width:52px;height:52px}
.foot-brand p{margin:14px 0 0;font:600 italic 17px/1.4 var(--display);color:var(--brass-l)}
.foot h2{font:600 15px var(--label);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-l);margin:0 0 12px}
.foot nav a{display:block;padding:4px 0;text-decoration:none;font-size:15px}
.foot nav a:hover{color:var(--paper);text-decoration:underline}
.foot-langs{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:2px 18px}
.foot-langs a{display:flex!important;align-items:center;font:600 15px var(--label)!important;letter-spacing:.1em}
.legal{max-width:var(--max);margin:30px auto 0;padding-top:18px;border-top:1px solid rgba(243,233,210,.15);font-size:13px;color:rgba(243,233,210,.65)}

@media (max-width:1180px){
  .nav{display:none}.burger{display:block}.lang{margin-left:auto}
  .menu-open .drawer-nav{display:grid;position:absolute;top:100%;left:0;right:0;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:16px var(--pad) 22px;background:var(--parch);border-bottom:2px solid var(--ink);max-height:calc(100vh - 70px);overflow:auto}
  .drawer-nav a{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;background:var(--paper);border:1.5px solid var(--teal);border-radius:6px;text-decoration:none;font:600 16px var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
  .drawer-nav span:not(.ci){flex:1}
  .drawer-nav b{font:600 italic 15px var(--display);color:var(--brass-d)}
  .drawer-nav .ci{width:44px;height:44px;object-fit:contain;font-size:26px}
  .menu-open .burger span{background:transparent}.menu-open .burger span:before{transform:translateY(6px) rotate(45deg)}.menu-open .burger span:after{transform:translateY(-6px) rotate(-45deg)}
  .entries{grid-template-columns:1fr}
}
@media (max-width:860px){
  .hero-in{grid-template-columns:1fr;min-height:0;gap:6px;padding-top:18px}
  .hero-globe{order:-1;justify-self:center;max-width:min(380px,82vw)}
  .trip-in{grid-template-columns:1fr}
  .journal-in{grid-template-columns:1fr}
  .guide{display:none}
  .game-info{grid-template-columns:1fr}
  .side{position:static;grid-template-columns:1fr;justify-items:start}
  .side-card{display:none}
  .foot-in{grid-template-columns:1fr 1fr}
  .nf-in{grid-template-columns:1fr;text-align:left}
  .nf-art{max-width:200px}
}
@media (max-width:600px){
  .wm{font-size:22px}.wm-emb{width:36px;height:36px}
  .top-in{gap:10px}
  .lang summary{padding:8px 9px}
  .hero h1{font-size:clamp(36px,10.4vw,46px)}
  .hero-cta .btn{flex:1 1 140px}
  .p-home .stamps{margin-top:-46px}
  .stamp{width:136px;min-height:136px;padding:10px}
  .stamp .ci,.stamp .ci-all{width:54px;height:54px;font-size:32px}
  .st-t{font-size:14px}.st-n{font-size:13px}
  .p-list .stamp{width:120px;min-height:120px}
  .grid{grid-template-columns:1fr 1fr;gap:16px 12px}
  .pc{padding:7px 7px 10px}
  .pc-img{padding:5px;background-size:9px 9px}
  .pc-t{font-size:15px}
  .pc-geo{font-size:11px;letter-spacing:.08em}
  .pc-no{width:34px;height:34px;font-size:14px}
  .entry{padding-left:44px}.entry-no{font-size:32px}
  .list-h{flex-direction:column;align-items:flex-start}
  .list-stamp{width:110px;height:110px}.list-stamp .ci,.ci-all.big{width:80px;height:80px;font-size:48px}
  .foot-in{grid-template-columns:1fr}
  .plate{box-shadow:0 0 0 4px var(--paper),0 0 0 5.5px var(--brass);margin:0 2px}
  .play{font-size:18px;padding:10px 22px 10px 10px}.play-i{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* long translated labels must wrap on phones (ru/de) */
.sec-h{flex-wrap:wrap;row-gap:6px}

/* language flags (added by core/build.mjs) */
.flag{display:inline-block;flex:none;width:20px;height:15px;margin-right:8px;vertical-align:-2px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.18)}
summary .flag{margin-right:6px}
[dir=rtl] .flag{margin-right:0;margin-left:8px}
[dir=rtl] summary .flag{margin-left:6px}
/* the language list: up to 49 entries, so it scrolls inside the popup instead of running off the screen */
details:has(>summary .flag)>:not(summary){max-height:min(70vh,520px);overflow-y:auto;overscroll-behavior:contain}
.nb{white-space:nowrap}html[dir=rtl]{overflow-x:hidden}html[dir=rtl] .wm{direction:ltr}html[dir=rtl] .skip:not(:focus){left:auto;right:-999px}