:root{--bg:#ebe1cd;--panel:#f8f2e6;--line:#d6c9ae;--ink:#241c14;--muted:#7a6b58;--accent:#b4532a;--accent-ink:#fff;--accent-tint:#f3dfcd;--chip:#e4d8c2;--shadow:70, 48, 24;--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"Instrument Sans", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--ease:cubic-bezier(.22, .8, .24, 1)}.hero[data-light=dusk]{--bg:#17120d;--panel:#211a13;--line:#3d3225;--ink:#f1e7d6;--muted:#a89880;--accent:#e08a4f;--accent-ink:#17120d;--accent-tint:#3b2415;--chip:#2d251b;--shadow:0, 0, 0}.hero{--glass:color-mix(in srgb, var(--panel) 80%, transparent);--glass-soft:color-mix(in srgb, var(--bg) 66%, transparent);--blur:blur(16px) saturate(1.15)}*{box-sizing:border-box;margin:0}html,body{height:100%}body{background:var(--bg);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .6s var(--ease);overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}svg{display:block}.ico{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.hero{background:var(--bg);height:100dvh;color:var(--ink);transition:background-color .6s var(--ease), color .6s var(--ease);grid-template-columns:196px minmax(0,1fr) clamp(300px,27vw,356px);display:grid;position:relative;overflow:hidden}#sky{z-index:0;width:100%;height:100%;position:absolute;inset:0}#gl{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.side,.main,.info{z-index:1;min-height:0;position:relative}.side{border-right:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:var(--glass-soft);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:opacity .5s var(--ease), transform .5s var(--ease), background-color .6s var(--ease);flex-direction:column;padding:22px 12px 14px 24px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.02em;font-variation-settings:"opsz" 48;white-space:nowrap;font-size:27px;font-weight:400}.brand small{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:9.5px;display:block}.nav{gap:2px;margin:20px 0 12px;padding:0;list-style:none;display:grid;overflow:hidden}.nav button{width:100%;transition:background-color .25s, box-shadow .25s, transform .25s var(--ease);border-radius:3px;align-items:center;gap:16px;padding:7px 10px;font-size:14px;line-height:1.15;display:flex;box-shadow:inset 2px 0 #0000}.nav button:hover{background:var(--chip);transform:translate(2px)}.nav button[aria-current=page]{background:var(--accent-tint);box-shadow:inset 2px 0 0 var(--accent)}.nav small{font-family:var(--mono);color:var(--muted);margin-top:3px;font-size:10.5px;display:block}.feature{background:var(--glass);border:1px solid var(--line);border-left:3px solid var(--accent);animation:rise .6s var(--ease) both;border-radius:3px;margin-top:auto;padding:14px 14px 16px}.eyebrow{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:500}.feature img{object-fit:contain;width:92px;height:76px;margin:4px auto 2px;display:block}.feature h3{font-family:var(--serif);letter-spacing:-.01em;font-size:18px;font-weight:400;line-height:1.15}.feature p{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.4}.more{text-underline-offset:3px;align-items:center;gap:6px;margin-top:10px;font-size:12px;text-decoration:underline;display:inline-flex}.more .ico{transition:transform .3s var(--ease)}.more:hover .ico{transform:translate(3px)}.legal{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);margin-top:10px;font-size:8.5px;line-height:1.5}.main{grid-template-rows:auto minmax(0,1fr);padding:14px 18px 14px 26px;display:grid}.tabs{scrollbar-width:none;z-index:6;transition:opacity .5s var(--ease), transform .5s var(--ease);gap:8px;padding:2px 0 4px;display:flex;position:relative;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{background:var(--glass);max-width:130px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);text-align:center;transition:transform .3s var(--ease), border-color .3s, background-color .6s var(--ease);animation:rise .6s var(--ease) both;border-radius:3px;flex:1 0 86px;justify-items:center;padding:14px 6px 9px;display:grid;position:relative}.tab:before{content:attr(data-no);font-family:var(--mono);color:var(--muted);letter-spacing:.1em;font-size:9px;position:absolute;top:5px;left:7px}.tab:after{content:"";background:var(--accent);height:2px;transition:transform .35s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.tab img{object-fit:contain;width:50px;height:46px;transition:transform .35s var(--ease)}.tab b{font-family:var(--serif);letter-spacing:-.01em;margin-top:2px;font-size:14.5px;font-weight:400}.tab i{font-family:var(--serif);color:var(--muted);white-space:nowrap;font-size:11px;font-style:italic}.tab:hover{border-color:var(--muted);transform:translateY(-2px)}.tab:hover img{transform:scale(1.12)rotate(-4deg)}.tab[aria-selected=true]{border-color:var(--ink)}.tab[aria-selected=true]:after{transform:scaleX(1)}.none{background:var(--glass);border:1px solid var(--line);border-radius:3px;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:inline-flex}.stage{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:3px;position:relative}.stage.dragging{cursor:grabbing}.plate{z-index:1;pointer-events:none;position:absolute;inset:10px 0 24px}.plate i{border:0 solid color-mix(in srgb, var(--panel) 80%, transparent);width:14px;height:14px;position:absolute}.plate i:first-child{border-width:1px 0 0 1px;top:0;left:0}.plate i:nth-child(2){border-width:1px 1px 0 0;top:0;right:0}.plate i:nth-child(3){border-width:0 0 1px 1px;bottom:0;left:0}.plate i:nth-child(4){border-width:0 1px 1px 0;bottom:0;right:0}.ground{width:min(62%,460px);height:44px;transition:opacity .5s, transform .7s var(--ease);z-index:1;pointer-events:none;background:radial-gradient(closest-side,#00000057,#0000);position:absolute;bottom:15%;left:50%;transform:translate(-50%)}.stage.switching .ground{opacity:0;transform:translate(-50%)scaleX(.4)}.fallback{background:50%/contain no-repeat;display:none;position:absolute;inset:6% 10% 16%}.stage.failed .fallback{display:block}.loader{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--glass);opacity:0;pointer-events:none;z-index:6;border-radius:3px;justify-items:center;gap:12px;padding:14px 18px;font-size:11px;transition:opacity .35s;display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.loader.show{opacity:1}.loader:before{content:"";border:1px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:1s linear infinite spin}.chip,.hint,.status,.scale{font-family:var(--mono);color:var(--muted);background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid color-mix(in srgb, var(--line) 70%, transparent);border-radius:3px}.hint{z-index:6;align-items:center;gap:6px;padding:5px 9px;font-size:10.5px;transition:opacity .6s;display:flex;position:absolute;top:56px;right:4px}.hero.touched .hint{opacity:0}.status{z-index:6;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;font-size:10px;position:absolute;top:8px;left:0}.rail{z-index:6;gap:9px;display:grid;position:absolute;top:50%;left:0;transform:translateY(-50%)}.rail button{background:var(--panel);border:1px solid var(--line);border-radius:3px;place-items:center;width:38px;height:38px;transition:border-color .2s,transform .15s,background-color .3s,color .3s;display:grid}.rail button:hover{border-color:var(--accent)}.rail button:active{transform:scale(.92)}.rail button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.turn{z-index:6;background:var(--panel);border:1px solid var(--line);font-family:var(--mono);border-radius:3px;gap:2px;padding:3px 4px;font-size:12px;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%)}.turn[hidden]{display:none}.turn button{border-radius:2px;place-items:center;min-width:32px;height:28px;padding:0 6px;transition:background-color .2s;display:grid}.turn button:hover{background:var(--chip)}.scale{z-index:6;letter-spacing:.08em;padding:6px 9px;font-size:10px;position:absolute;bottom:30px;left:0}.scale:before{content:"";border:1px solid var(--muted);border-top:0;width:72px;height:6px;margin-bottom:4px;display:block}.caption{text-align:center;z-index:6;pointer-events:none;font-family:var(--serif);letter-spacing:-.01em;font-size:clamp(16px,1.5vw,21px);font-style:italic;font-weight:300;position:absolute;bottom:0;left:0;right:0}.caption span{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:3px;padding:5px 16px 7px;display:inline-block}.info{transition:opacity .5s var(--ease), transform .5s var(--ease);grid-template-rows:auto minmax(0,1fr);gap:16px;padding:13px 26px 14px 0;display:grid}.top{z-index:6;align-items:center;gap:10px;display:flex;position:relative}.search{background:var(--glass);height:32px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);color:var(--muted);border-radius:3px;flex:1;align-items:center;gap:9px;padding:0 12px;transition:border-color .2s;display:flex}.search:focus-within{border-color:var(--accent)}.search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:11.5px}.search input::placeholder{color:var(--muted)}.iconbtn{background:var(--glass);width:32px;height:32px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);transition:background-color .2s, transform .4s var(--ease);border-radius:50%;place-items:center;display:grid}.iconbtn:hover{background:var(--chip);transform:rotate(180deg)}.card{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--panel) 60%, transparent), inset 0 0 0 5px var(--line);overscroll-behavior:contain;scrollbar-width:thin;transition:background-color .6s var(--ease), transform .5s var(--ease);border-radius:3px;padding:26px 24px 20px;overflow-y:auto}.detail{flex-direction:column;min-height:100%;display:flex}.detail>*{animation:rise .6s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms)}.detail.leaving>*{animation:.2s ease-in both sink}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes sink{to{opacity:0;transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(1turn)}}.detail h1{font-family:var(--serif);letter-spacing:-.035em;font-variation-settings:"opsz" 144;margin-top:8px;font-size:clamp(42px,4.4vw,58px);font-weight:300;line-height:.96}.detail h1 em{letter-spacing:0;color:var(--muted);margin-top:8px;font-size:.36em;font-style:italic;font-weight:300;display:block}.tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tags span{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--line);border-radius:2px;padding:5px 9px;font-size:10.5px}.lede{text-wrap:pretty;margin-top:16px;font-size:13.5px;line-height:1.55}.era{margin-top:14px}.era .bar{grid-template-columns:repeat(var(--n), 1fr);gap:1px;height:6px;display:grid;position:relative}.era .bar b{background:var(--chip)}.era .bar b:first-child{border-radius:2px 0 0 2px}.era .bar b:nth-last-child(2){border-radius:0 2px 2px 0}.era u{background:var(--accent);transform-origin:0;height:12px;animation:grow .7s var(--ease) .3s both;border-radius:1px;position:absolute;top:-3px}@keyframes grow{0%{transform:scaleX(0)}}.era u:after{content:attr(data-l);font-family:var(--mono);color:var(--accent);white-space:nowrap;letter-spacing:.04em;font-size:9.5px;text-decoration:none;position:absolute;top:15px;right:0}.era u.l:after{left:0;right:auto}.era .lab{grid-template-columns:repeat(var(--n), 1fr);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:22px;font-size:9px;display:grid}.era .lab .here{color:var(--ink)}.detail h2{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);margin-top:18px;padding-top:14px;font-size:10px;font-weight:500}.traits{gap:9px;margin-top:10px;display:grid}.traits div{align-items:baseline;gap:10px;font-size:13px;display:flex}.traits .ico{color:var(--muted);align-self:center}.traits dt{color:var(--muted);flex:1;align-items:baseline;display:flex}.traits dt:after{content:"";border-bottom:1px dotted var(--line);flex:1;margin:0 8px;transform:translateY(-3px)}.traits dd{text-align:right;font-weight:500}.habitat{gap:16px;margin-top:12px;font-size:13px;line-height:1.45;display:flex}.habitat .ico{color:var(--muted)}.closeup-wrap{margin-top:auto;padding-top:16px}.closeup{border:1px solid var(--line);border-radius:3px;grid-template-columns:76px 1fr 18px;align-items:center;gap:14px;width:100%;padding:10px;transition:border-color .25s,background-color .25s;display:grid}.closeup:hover,.closeup[aria-pressed=true]{border-color:var(--accent);background:var(--accent-tint)}.lens{background-color:var(--chip);width:76px;height:76px;transition:background-size .5s var(--ease);background-repeat:no-repeat;background-size:240%;border-radius:2px}.closeup:hover .lens{background-size:280%}.closeup b{font-family:var(--serif);font-size:18px;font-weight:400;display:block}.closeup small{color:var(--muted);margin-top:3px;font-size:11.5px;line-height:1.4;display:block}.closeup>.ico{transition:transform .3s}.closeup[aria-pressed=true]>.ico{transform:rotate(180deg)}.hero.focus .side{opacity:0;pointer-events:none;transform:translate(-24px)}.hero.focus .info{opacity:0;pointer-events:none;transform:translate(24px)}.hero.focus .tabs{opacity:0;pointer-events:none;transform:translateY(-16px)}.view{z-index:8;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 22px rgba(var(--shadow), .18);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:3px;gap:2px;padding:4px;font-size:12px;display:flex;position:absolute;top:8px;right:4px}.view button{height:34px;color:var(--muted);border-radius:2px;padding:0 14px;transition:background-color .2s,color .2s}.view button:hover{background:var(--chip)}.view button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.hero.focus .view{display:none}.mapcta{z-index:6;text-align:left;background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:transform .3s var(--ease), box-shadow .3s;animation:rise .7s var(--ease) .3s both;border-radius:3px;align-items:center;gap:10px;padding:6px 12px 6px 6px;display:flex;position:absolute;top:8px;left:4px;box-shadow:0 8px 22px #00000038}.mapcta:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0000004d}.mapcta .thumb{background:url(/art/johto-map.webp) 50%/cover;border-radius:2px;width:54px;height:36px;box-shadow:inset 0 0 0 1px #ffffff80}.mapcta b{font-family:var(--serif);letter-spacing:-.01em;font-size:15px;font-weight:400;display:block}.mapcta small{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-top:2px;font-size:9px;display:block}.mapcta .ico{transition:transform .3s var(--ease)}.mapcta:hover .ico{transform:translate(3px)}.hero.focus .mapcta{display:none}.map-head p{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#cbbd9f;margin-top:8px;font-size:10.5px}.map-keys{z-index:3;animation:rise .6s var(--ease) .2s both;grid-template:".n."40px"w.e"40px".s."40px/40px 40px 40px;gap:4px;display:grid;position:absolute;bottom:26px;right:26px}.map-keys button{color:#241c14;background:#f8f2e6eb;border:1px solid #d6c9ae;border-radius:3px;place-items:center;transition:background-color .2s,color .2s;display:grid;box-shadow:0 6px 18px #00000047}.map-keys button:hover{color:#fff;background:#b4532a}.map-keys [data-dir=n]{grid-area:n}.map-keys [data-dir=w]{grid-area:w}.map-keys [data-dir=e]{grid-area:e}.map-keys [data-dir=s]{grid-area:s}.map-keys [data-dir=n] .ico{transform:rotate(-90deg)}.map-keys [data-dir=w] .ico{transform:rotate(180deg)}.map-keys [data-dir=s] .ico{transform:rotate(90deg)}.iconbtn.still:hover{transform:none}.map{z-index:40;color:#f4ead8;opacity:0;transition:opacity .6s var(--ease);background:radial-gradient(120% 90% at 50% 30%,#2b3a44,#10151a 75%);position:fixed;inset:0;overflow:clip}.map.ready{opacity:1}.map canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.map:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 180px #0000008c}.map-head{z-index:3;animation:rise .7s var(--ease) both;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px;display:flex;position:absolute;top:0;left:0;right:0}.map-head .eyebrow{color:#cbbd9f}.map-head h2{font-family:var(--serif);letter-spacing:-.02em;text-shadow:0 2px 18px #00000080;margin-top:6px;font-size:clamp(26px,3.4vw,44px);font-weight:300;line-height:1.05}.map-head .iconbtn{color:#f4ead8;background:#14181c99;border-color:#f4ead859;flex:none}.map-pins{z-index:2;pointer-events:none;position:absolute;inset:0}.map-pin{pointer-events:auto;white-space:nowrap;color:#241c14;will-change:transform;background:#f8f2e6eb;border:1px solid #d6c9ae;border-radius:3px;justify-items:center;padding:5px 10px 6px;transition:background-color .25s,color .25s,border-color .25s;display:grid;position:absolute;top:0;left:0;box-shadow:0 6px 18px #00000047}.map-pin b{font-family:var(--serif);letter-spacing:-.01em;font-size:13px;font-weight:400}.map-pin i{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7a6b58;font-size:9px;font-style:normal}.map-pin:hover,.map-pin[aria-current]{color:#fff;background:#b4532a;border-color:#b4532a}.map-pin:hover i,.map-pin[aria-current] i{color:#f3dfcd}.map-card{z-index:3;color:#241c14;width:min(320px,100vw - 32px);animation:rise .5s var(--ease) both;background:#f8f2e6f0;border:1px solid #d6c9ae;border-left:3px solid #b4532a;border-radius:3px;padding:16px 18px 18px;position:absolute;bottom:26px;left:26px;box-shadow:0 14px 40px #00000059}.map-card .eyebrow{color:#7a6b58}.map-card h3{font-family:var(--serif);letter-spacing:-.02em;margin-top:4px;font-size:24px;font-weight:400}.map-card p{color:#5a4c3c;margin-top:6px;font-size:12.5px;line-height:1.5}.map-card .more{color:#b4532a;font-size:13px;font-weight:600}@media (max-width:760px){.map-head{padding:14px 16px}.map-card{width:auto;bottom:16px;left:16px;right:16px}.map-keys{bottom:190px;right:16px}.mapcta small{display:none}.map-pin{padding:3px 6px 4px}.map-pin b{font-size:10.5px}.map-pin i{display:none}}@media (max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) clamp(280px,36vw,340px)}.side{display:none}.main{padding-left:20px}}@media (max-width:760px){.hero{flex-direction:column;display:flex}.info{display:contents}.top{z-index:7;order:1;padding:10px 14px 0}.top:before{content:"Johto Atlas";font-family:var(--serif);white-space:nowrap;text-shadow:0 1px 8px var(--bg);margin-right:4px;font-size:21px}.main{flex:1;order:2;min-height:0;padding:10px 14px 6px}.tabs{gap:8px}.tab{text-align:left;flex:none;grid-template-columns:40px auto;justify-items:start;column-gap:8px;max-width:none;padding:6px 12px 6px 8px;display:grid}.tab:before{display:none}.tab img{grid-row:span 2;width:40px;height:38px}.tab b{align-self:end;margin:0;font-size:15px}.tab i{align-self:start;font-size:11.5px}.rail button{width:34px;height:34px}.rail{gap:7px}.turn{bottom:40px}.caption{font-size:14px}.hint,.status,.scale{display:none}.ground{height:30px;bottom:17%}.card{z-index:7;max-height:40dvh;box-shadow:none;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:10px 10px 0 0;flex:none;order:3;position:relative}.detail h1{margin-top:4px;font-size:34px}.tags{margin-top:10px}.lede{margin-top:10px;font-size:13px}.detail h2{margin-top:12px;padding-top:10px}.hero.focus .card{position:absolute;bottom:0;left:0;right:0;transform:translateY(105%)}.hero.focus .top{display:none}}@media (max-height:620px) and (min-width:761px){.side{padding-top:14px}.nav{margin-top:12px}.feature img,.feature p{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:10ms!important;animation-duration:10ms!important;animation-delay:0s!important}}.bagbtn{position:relative}.bagbtn b{background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);font-family:var(--mono);animation:pop .45s var(--ease);border-radius:8px;padding:0 4px;font-size:9.5px;line-height:16px;position:absolute;top:-4px;right:-4px}@keyframes pop{0%{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}.figure{background:var(--accent-tint);border-radius:3px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.figure b{font-family:var(--serif);font-size:16px;font-weight:400;display:block}.figure small{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:9.5px;display:block}.figure button,.shop .go,.toy-buy button{background:var(--accent);height:36px;color:var(--accent-ink);white-space:nowrap;transition:transform .3s var(--ease), box-shadow .3s, opacity .2s;border-radius:3px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.figure button:hover,.shop .go:hover:not(:disabled),.toy-buy button:hover:not(:disabled){box-shadow:0 8px 18px rgba(var(--shadow), .28);transform:translateY(-2px)}.shop button:disabled{opacity:.45;cursor:not-allowed}.shop{z-index:40;background:var(--bg);color:var(--ink);animation:shopin .5s var(--ease) both;grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}@keyframes shopin{0%{opacity:0;transform:translateY(14px)}}.shop-head{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:18px 26px;display:flex}.shop-head h2{font-family:var(--serif);letter-spacing:-.02em;margin-top:4px;font-size:clamp(24px,3vw,38px);font-weight:300;line-height:1.05}.shop-demo{background:var(--accent-tint);border-left:3px solid var(--accent);border-radius:2px;max-width:420px;margin-left:auto;padding:8px 12px;font-size:12px;line-height:1.45}.shop-bag{border:1px solid var(--line);background:var(--panel);height:32px;font-family:var(--mono);border-radius:16px;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:flex}.shop-bag b{animation:pop .45s var(--ease)}.shop-body{grid-template-columns:1fr 380px;min-height:0;display:grid}.shelf{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-content:start;gap:16px;padding:22px 26px 40px;list-style:none;display:grid;overflow-y:auto}.toy{background:var(--panel);border:1px solid var(--line);animation:rise .6s var(--ease) both;animation-delay:calc(var(--i) * 45ms);transition:transform .35s var(--ease), box-shadow .35s;border-radius:3px;flex-direction:column;padding:14px;display:flex}.toy:hover{box-shadow:0 14px 30px rgba(var(--shadow), .18);transform:translateY(-4px)}.toy.picked{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}.toy-art{aspect-ratio:1;background:radial-gradient(circle at 50% 62%, color-mix(in srgb, var(--c) 22%, var(--panel)), var(--chip));border-radius:2px;place-items:center;margin-bottom:12px;display:grid;overflow:hidden}.toy-art img{object-fit:contain;width:82%;height:82%;filter:drop-shadow(0 10px 10px rgba(var(--shadow), .28));transition:transform .5s var(--ease)}.toy:hover .toy-art img{transform:scale(1.07)rotate(-2deg)}.toy h3{font-family:var(--serif);letter-spacing:-.01em;margin-top:4px;font-size:21px;font-weight:400}.toy p{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.45}.toy-buy{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.toy-buy span{font-family:var(--mono);font-size:14px}.toy-buy button{height:32px;padding:0 12px;font-size:12px}.toy-buy button.added{animation:pop .45s var(--ease)}.till{background:var(--panel);border-left:1px solid var(--line);padding:22px 24px 32px;overflow-y:auto}.steps{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);gap:4px;font-size:9.5px;list-style:none;display:flex}.steps li{border-bottom:2px solid var(--line);flex:1;padding-bottom:6px;transition:color .3s,border-color .3s}.steps li[aria-current]{color:var(--accent);border-color:var(--accent)}.pane{animation:rise .45s var(--ease) both;flex-direction:column;margin-top:18px;display:flex}.pane h3{font-family:var(--serif);letter-spacing:-.02em;font-size:24px;font-weight:400}.pane .note,.pane .empty{color:var(--muted);margin-top:6px;font-size:12.5px;line-height:1.5}.lines{margin-top:12px;list-style:none}.lines li{border-bottom:1px solid var(--line);animation:rise .4s var(--ease) both;grid-template-columns:44px 1fr auto 64px;align-items:center;gap:10px;padding:10px 0;display:grid}.lines.plain li{grid-template-columns:1fr auto}.lines img{object-fit:contain;width:44px;height:44px}.lines b{font-size:13.5px;font-weight:600;display:block}.lines small{font-family:var(--mono);color:var(--muted);font-size:10px}.lines em{font-family:var(--mono);text-align:right;font-size:12.5px;font-style:normal}.qty{border:1px solid var(--line);border-radius:3px;align-items:center;display:flex}.qty button{width:26px;height:26px;transition:background-color .2s}.qty button:hover:not(:disabled){background:var(--chip)}.qty i{text-align:center;min-width:20px;font-family:var(--mono);font-size:12px;font-style:normal}.sums{margin:14px 0;font-size:13px}.sums div{justify-content:space-between;padding:4px 0;display:flex}.sums dd{font-family:var(--mono)}.sums .free{color:var(--muted);font-size:11.5px}.sums .total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-size:15px;font-weight:600}.pane label{margin-top:12px;display:block}.pane label span{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;font-size:9.5px;display:block}.pane input{background:var(--bg);border:1px solid var(--line);width:100%;height:38px;font:inherit;color:inherit;border-radius:3px;padding:0 10px;font-size:14px;transition:border-color .2s,box-shadow .2s}.pane input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.pane .row{gap:8px;margin-top:16px;display:flex}.pane .row .go{flex:1}.pane .back{border:1px solid var(--line);border-radius:3px;height:36px;padding:0 14px;font-size:13px;transition:background-color .2s}.pane .back:hover:not(:disabled){background:var(--chip)}.go.busy{animation:1s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.6}}.ways{gap:8px;margin-top:14px;display:grid}.ways button{text-align:left;border:1px solid var(--line);border-radius:3px;padding:10px 12px;transition:border-color .2s,background-color .2s}.ways button[aria-checked=true]{border-color:var(--accent);background:var(--accent-tint)}.ways b{font-size:13.5px;font-weight:600;display:block}.ways small{color:var(--muted);font-size:11.5px}.declined{color:#8a1f12;animation:rise .35s var(--ease) both;background:#f6d9d2;border-left:3px solid #b3261a;border-radius:2px;padding:10px 12px;font-size:12.5px;line-height:1.45}.tick{background:var(--accent);width:52px;height:52px;color:var(--accent-ink);animation:pop .6s var(--ease);border-radius:50%;place-items:center;margin-bottom:12px;display:grid}@media (max-width:900px){.shop{display:block;overflow-y:auto}.shop-head{flex-wrap:wrap;gap:10px;padding:14px 16px}.shop-demo{flex-basis:100%;order:5;max-width:none;margin:0}.shop-head>div{margin-right:auto}.shop-body{display:block}.shelf{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:16px;overflow:visible}.till{border-left:0;border-top:1px solid var(--line);padding:20px 16px 40px;overflow:visible}}@media (min-width:901px){.shop-bag{display:none}}@media (max-width:760px){.view{flex-direction:column;padding:3px;font-size:10.5px;top:50%;right:0;transform:translateY(-50%)}.view button{height:38px;padding:0 9px}.hint,.mapcta small{display:none}.top{min-width:0}.top:before{flex:none}.search{min-width:0}.top .iconbtn{flex:none}.map-keys{grid-template:".n."46px"w.e"46px".s."46px/46px 46px 46px}}.meet{z-index:6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0e128c;place-items:center;padding:16px;animation:.35s both fade;display:grid;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.meet-card{color:#241c14;width:min(760px,100%);max-height:100%;animation:rise .5s var(--ease) both;background:#f8f2e6;border-radius:4px;overflow:auto;box-shadow:0 30px 80px #00000080}.meet-scene{aspect-ratio:16/8;background:#cfd8c4;border-radius:4px 4px 0 0;position:relative;overflow:hidden}.meet-scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.meet-scene:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00000047);height:16%;position:absolute;bottom:0;left:0;right:0}.meet-scene .who{z-index:1;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 10px #00000059);position:absolute;bottom:5%}.meet-scene .trainer{height:78%;animation:stepin .9s var(--ease) both;left:16%}.meet-scene .mon{height:52%;animation:hopin 1s var(--ease) .35s both, greet 2.4s ease-in-out 1.4s infinite;transform-origin:50% 100%;right:14%}@keyframes stepin{0%{opacity:0;transform:translate(-70px)}}@keyframes hopin{0%{opacity:0;transform:translate(80px)scale(.8)}55%{opacity:1;transform:translate(10px,-34px)scale(1.04,.98)}80%{transform:translate(0)scale(.97,1.05)}to{opacity:1;transform:none}}@keyframes greet{0%,to{transform:none}12%{transform:translateY(-16px)scale(.97,1.05)}24%{transform:scale(1.04,.95)}34%{transform:none}}.meet-title{z-index:2;color:#fff;text-shadow:0 2px 14px #0000008c;position:absolute;top:14px;left:18px}.meet-title .eyebrow{color:#fff;opacity:.9}.meet-title h3{font-family:var(--serif);letter-spacing:-.02em;margin-top:4px;font-size:clamp(24px,4vw,40px);font-weight:300;line-height:1.05}.meet-scene .iconbtn{z-index:2;color:#241c14;background:#f8f2e6e6;border-color:#d6c9ae;position:absolute;top:12px;right:12px}.meet-text{padding:18px 22px 20px}.meet-text p{min-height:3.2em;font-family:var(--serif);letter-spacing:-.005em;animation:rise .4s var(--ease) both;font-size:clamp(17px,2.2vw,21px);line-height:1.5}.meet-go{justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.meet-go span{font-family:var(--mono);letter-spacing:.12em;color:#7a6b58;margin-right:auto;font-size:10.5px}.meet-go .go,.meet-go .back{height:38px;transition:transform .3s var(--ease), background-color .2s;border-radius:3px;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:600;display:inline-flex}.meet-go .go{color:#fff;background:#b4532a}.meet-go .go:hover{transform:translateY(-2px)}.meet-go .back{border:1px solid #d6c9ae}.meet-go .back:hover{background:#e4d8c2}@media (max-width:760px){.meet-scene{aspect-ratio:4/3}.meet-scene .trainer{left:6%}.meet-scene .mon{right:6%}}.map-music{z-index:45;flex-direction:column-reverse;align-items:flex-start;gap:8px;display:flex;position:fixed;bottom:16px;left:16px}.map-music.in-map{flex-direction:column;align-items:flex-end;inset:84px 26px auto auto}.map-music>button{text-align:left;color:#241c14;transition:background-color .2s, color .2s, transform .3s var(--ease);background:#f8f2e6f0;border:1px solid #d6c9ae;border-radius:3px;align-items:center;gap:10px;padding:8px 14px 8px 10px;display:flex;box-shadow:0 6px 18px #00000047}.map-music>button:hover{transform:translateY(-2px)}.map-music.on>button{color:#fff;background:#b4532a;border-color:#b4532a}.map-music.on>button .ico{animation:1.2s ease-in-out infinite sway}@keyframes sway{50%{transform:rotate(-12deg)translateY(-1px)}}.map-music b{font-family:var(--serif);font-size:14px;font-weight:400;display:block}.map-music small{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin-top:1px;font-size:9px;display:block}.map-tube{width:220px;height:200px;animation:rise .4s var(--ease) both;background:#10151a;border:1px solid #f4ead859;border-radius:3px;overflow:hidden;box-shadow:0 14px 40px #0006}.map-tube iframe{display:block}.map-tube p{color:#f4ead8;padding:14px;font-size:12px;line-height:1.5}@media (max-width:760px){.map-music{align-items:flex-end;bottom:10px;left:auto;right:10px}.map-music:not(.in-map)>button span{display:none}.map-music:not(.in-map)>button{border-radius:50%;padding:10px}.map-music.in-map{top:96px;right:16px}.view button span{display:none}}.map-music .tip{color:#f4ead8;background:#10151ad9;border-radius:3px;order:3;width:220px;padding:6px 8px;font-size:11px;line-height:1.4}.meet-scene .mon{cursor:pointer}.map-music .own{order:4}.map-music .own label,.map-music .own button{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#f4ead8;cursor:pointer;background:#10151ad9;border-radius:3px;padding:5px 9px;font-size:9.5px;transition:background-color .2s;display:block}.map-music .own label:hover,.map-music .own button:hover{background:#b4532a}.map-music .own input{display:none}.meet-scene .mon img{width:auto;height:100%;display:block}.meet-scene .fire{aspect-ratio:.62;transform-origin:50% 100%;filter:blur(.6px)drop-shadow(0 0 10px #ff8c28cc);pointer-events:none;background:radial-gradient(at 50% 78%,#fff6c8 0 16%,#ffb030 38%,#f0541c 60%,#d9321a00 74%);border-radius:50%/64% 64% 36% 36%;animation:.42s ease-in-out infinite alternate flick;position:absolute;transform:translate(-50%,-88%)}@keyframes flick{0%{opacity:.92;transform:translate(-50%,-88%)scale(1)rotate(-3deg)}50%{transform:translate(-52%,-90%)scale(.9,1.12)rotate(2deg)}to{opacity:1;transform:translate(-48%,-87%)scale(1.06,.94)rotate(4deg)}}.view[hidden]{display:none}
