/* Tokyo Explorer: compact, content-rich and progressively enhanced. */
.toy-loop-train{display:none!important}
.street-concept img{animation:none}
.toy-poster-world{transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.toy-poster-world picture,.street-concept picture{display:block;width:100%;height:100%}
.toy-caption{pointer-events:auto;max-height:calc(100% - 110px);overflow:auto}
.toy-detail{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;margin-top:12px;padding-top:12px;border-top:1px solid #cfdddf}
.toy-detail[hidden]{display:none}
.toy-detail div{display:grid;gap:1px}.toy-detail span{font-size:10px;color:#67818a}.toy-detail strong{font-size:12px;color:#294e5d}
.toy-detail>p,.toy-detail ul{grid-column:1/-1;margin:0;color:#526f7b;font-size:11px;line-height:1.55}
.toy-detail ul{display:flex;gap:5px;flex-wrap:wrap;padding:0;list-style:none}.toy-detail li{padding:4px 8px;border-radius:999px;background:#edf4f1}
.toy-detail button{grid-column:1/-1;border:0;border-radius:11px;background:#176d63;color:#fff;padding:10px 12px;font-weight:800}
.toy-sidebar-actions{position:sticky;bottom:-27px;padding:8px 0 4px;background:linear-gradient(transparent,#fffdf6 10%,#fffdf6)}
.toy-enter{margin-top:0}
.tokyo-guide,.tokyo-faq{padding:44px max(24px,calc((100% - 1160px)/2));background:#f2f8f6;color:#274b59}
.tokyo-guide>p,.tokyo-faq>p{margin:0;color:#6e998c;font-size:11px;font-weight:800;letter-spacing:1.8px}.tokyo-guide>h2,.tokyo-faq>h2{margin:7px 0 22px;font-size:28px}
.tokyo-guide>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tokyo-guide article{background:#fff;border:1px solid #dfeae6;border-radius:18px;padding:18px}.tokyo-guide h3{margin:0 0 6px;font-size:17px}.tokyo-guide article p{margin:0;color:#607882;font-size:13px;line-height:1.7}
.tokyo-faq{background:#fffdf7;padding-top:34px}.tokyo-faq details{max-width:850px;margin:8px auto;border:1px solid #e1e9e5;border-radius:14px;padding:13px 16px;background:#fff}.tokyo-faq summary{cursor:pointer;font-weight:800}.tokyo-faq details p{margin:8px 0 0;color:#627a83;font-size:14px}
.essentials{padding:12px;border-radius:14px;background:#eef6f3}.essentials h3{margin:0 0 9px!important;font-size:14px!important}.essentials>div{display:flex;gap:6px;flex-wrap:wrap}.essentials button{border:1px solid #bcd8cf;border-radius:999px;background:#fff;color:#28584f;padding:7px 10px;font-size:12px}.essentials>a{display:inline-block;margin-top:9px;font-size:12px}
.map-tools{flex-wrap:wrap;max-width:calc(100% - 32px)}
.real-view .tokyo-guide,.real-view .tokyo-faq{display:none}
.real-loading #showReal:after{content:" · กำลังLoaded";font-size:10px;opacity:.75}
.mjn-lang .mjn-lang-disabled,.mjn-mlang .mjn-lang-disabled{display:inline-flex;align-items:center;padding:.32rem .62rem;color:rgba(255,255,255,.38);font-size:.72rem;font-weight:700;cursor:not-allowed}
@media(min-width:761px){.toy-sidebar #toyDistricts{grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.toy-sidebar #toyDistricts button{min-height:50px;padding:9px 7px 9px 13px}.toy-sidebar #toyDistricts strong{font-size:11px}.toy-sidebar #toyDistricts small{display:none}}
@media(max-width:900px) and (min-width:761px){.tokyo-guide>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.toy-sidebar-actions{position:static;padding:0;background:none}.toy-detail{grid-template-columns:1fr 1fr}.toy-caption{max-height:56%;}.tokyo-guide,.tokyo-faq{padding:32px 16px}.tokyo-guide>h2,.tokyo-faq>h2{font-size:22px}.tokyo-guide>div{grid-template-columns:1fr}.map-tools{max-width:calc(100% - 20px)}.map-tools button{font-size:11px!important;padding:7px 9px!important;min-height:38px!important}.essentials{order:3;margin:0 18px 16px}.route-section{order:4!important}.places-section{order:5!important}.material-key{order:6!important}.notes{order:7!important}}

/* WebGL miniature (js/tokyo-miniature-3d.js) — poster fades out once the 3D city has rendered */
.toy-world{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;touch-action:pan-y;outline:none}
.toy-world-labels{position:absolute;inset:0;z-index:2;pointer-events:none}.toy-world-labels[hidden]{display:none}
.toy-world-pin{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;border:2px solid #fff;border-left:8px solid var(--district);border-radius:999px;padding:6px 12px;background:#fffffff2;color:#183e51;font-size:11px;font-weight:900;letter-spacing:.6px;white-space:nowrap;box-shadow:0 5px 0 #163a4a1c,0 10px 20px #15384730;transition:background .2s}
.toy-world-pin:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:12px;margin-left:-1px;background:#ffffffd0}
.toy-world-pin:hover,.toy-world-pin[aria-pressed=true]{background:#fff6d8}.toy-world-pin[aria-pressed=true]{z-index:1}
.toy-world-pin:focus-visible,.toy-world:focus-visible{outline:3px solid #42addb;outline-offset:2px}
.toy-world-hint{position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%);padding:12px 18px;border-radius:14px;background:#183e51e6;color:#fff;font-size:14px;font-weight:700;pointer-events:none;opacity:0;transition:opacity .25s}.toy-world-hint.show{opacity:1}
.toy-poster-stage{transition:opacity .6s}
.toy-viewport.webgl-ready .toy-poster-stage{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s,visibility 0s .6s}
.webgl-ready>.toy-tools{z-index:5;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 36px)}.webgl-ready>.toy-caption{z-index:4}
.toy-tools button[hidden]{display:none}
#toySpin[aria-pressed=true],#toyNight[aria-pressed=true]{background:#234d5f;color:#fff;border-color:#234d5f}
.street-active .toy-world-labels,.street-active .toy-world-hint{display:none}
@media(max-width:760px){.toy-world-pin{font-size:10px;padding:5px 9px;border-left-width:6px}.webgl-ready>.toy-tools{max-width:calc(100% - 24px)}.webgl-ready>.toy-tools button{min-height:40px;padding:6px 10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.toy-world-pin,.toy-world-hint,.toy-poster-stage,.toy-viewport.webgl-ready .toy-poster-stage{transition:none}}
