@charset "UTF-8";
:root{--accent:#ddff00;--secondary:#ff4c8b;--tint:#f5f8df;--ink:#15171d;--muted:#68707c;--line:#e3e5e9;--paper:#f6f6f8;--dark:#111318;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;color:var(--ink);background:#fff;font-size:14px;line-height:1.65;font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}a{color:#1a0dab;text-underline-offset:3px}button svg,a svg{width:18px;height:18px;flex-shrink:0}:focus-visible{outline:3px solid var(--secondary);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:20px;top:-100px;background:var(--accent);padding:12px;z-index:5000}.skip:focus{top:10px}.site-header{background:var(--dark);color:#fff;border-bottom:1px solid #ffffff20}.masthead{height:82px;max-width:1600px;padding:0 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}.brand-emblem{display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--dark);width:38px;height:44px;clip-path:polygon(0 0,80% 0,100% 20%,100% 100%,20% 100%,0 80%)}.brand-emblem svg{width:24px;height:28px}.brand b{display:block;font-size:24px;letter-spacing:-.06em;font-weight:900;line-height:1.3}.brand-small{font-size:16px;letter-spacing:-.025em;margin-left:6px}.brand small{display:block;font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.14em;margin-top:4px;color:#aab0bd}.masthead nav{display:flex;align-items:center;gap:26px}.masthead nav>a{display:flex;align-items:center;gap:7px;font-size:11px;text-decoration:none;color:#d4d7e0}.masthead nav>a:hover{color:var(--accent)}.plan-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid #ffffff50;color:white;padding:10px 14px;font-size:11px;font-weight:600;text-decoration:none}.plan-toggle:hover{border-color:var(--accent)}.saved-count{background:var(--accent);color:var(--ink);font-size:11px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;margin-left:2px}.district-banner{position:relative;isolation:isolate;min-height:187px;background:#171923;color:white;overflow:hidden;display:flex;align-items:center;padding:23px max(40px,calc((100vw - 1520px)/2));gap:20px}.district-banner:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,#101219 0%,#11131ad9 38%,#11131a50 78%,#11131a92 100%),var(--poster);background-size:cover;background-position:center,center 60%}.district-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#11111110 3px,#11111110 4px);pointer-events:none}.banner-content{position:relative}.district-kicker{font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.16em;color:#f3f4f8;margin:0 0 9px;display:flex;align-items:center;gap:8px}.district-kicker>span{width:6px;height:6px;background:var(--accent);box-shadow:0 0 12px var(--accent)}.district-banner h1{font-size:clamp(26px,3.3vw,46px);letter-spacing:-.05em;font-weight:900;line-height:1.4;margin:0}.district-banner h1 em{font-style:normal;color:var(--accent)}.banner-sub{font-size:11px;letter-spacing:.03em;color:#dfe2eb;margin:9px 0 0}.street-sign{position:absolute;right:clamp(90px,10vw,200px);top:17px;bottom:-13px;display:flex;align-items:stretch;gap:12px;transform:rotate(-6deg);pointer-events:none}.street-sign>span{background:var(--secondary);color:white;writing-mode:vertical-rl;font-weight:900;font-size:19px;padding:12px 6px;letter-spacing:.15em;align-self:start;box-shadow:3px 3px 0 #1119}.street-sign>b{writing-mode:vertical-rl;background:var(--accent);color:var(--dark);font-size:36px;letter-spacing:.05em;padding:14px 5px;box-shadow:5px 5px 0 #1119;line-height:1.1}.street-sign>small{position:absolute;bottom:20px;left:-130px;font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.25em;font-weight:800;white-space:nowrap}.banner-stamp{position:absolute;right:25px;bottom:19px;font:10px ui-monospace,monospace;letter-spacing:.1em;color:#fff9;writing-mode:vertical-rl}.explorer{max-width:1600px;margin:auto;scroll-margin-top:10px}.filter-toolbar{padding:22px 40px 17px;border-bottom:1px solid var(--line);background:white}.toolbar-top{display:flex;align-items:center;gap:25px}.search-box{height:40px;display:flex;align-items:center;gap:9px;border:1px solid #d6d8df;flex:0 0 270px;padding:0 11px;border-radius:3px}.search-box svg{width:17px;height:17px;color:#747b89}.search-box input{border:0;outline:none;width:100%;min-width:0;background:transparent;font-size:12px;color:var(--ink);height:100%}.search-box:focus-within{outline:2px solid var(--secondary);outline-offset:2px}.games{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.game-filter{background:#fff;border:1px solid var(--line);padding:8px 12px;display:flex;gap:6px;align-items:center;white-space:nowrap;font-size:11px;min-height:36px;border-radius:3px}.game-filter[aria-pressed=true]{background:var(--dark);border-color:var(--dark);color:white}.game-dot{width:6px;height:6px;background:#afb4bd;border-radius:50%;flex-shrink:0}.game-dot[data-game=ポケカ],.tag[data-game=ポケカ]:before{background:#ffc600}.game-dot[data-game=遊戯王],.tag[data-game=遊戯王]:before{background:#8d66d5}.game-dot[data-game=ワンピース],.tag[data-game=ワンピース]:before{background:#eb5858}.game-dot[data-game=デュエマ],.tag[data-game=デュエマ]:before{background:#458ce2}.game-dot[data-game=ヴァイス],.tag[data-game=ヴァイス]:before{background:#de68bd}.game-dot[data-game=MTG],.tag[data-game=MTG]:before{background:#e97930}.toolbar-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:13px}.purpose-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.purpose-filters>button,.purpose-filters select{background:#fff;border:1px solid #d9dce2;border-radius:3px;padding:5px 10px;font-size:10px;min-height:31px;color:#596171}.purpose-filters>button[aria-pressed=true]{background:var(--tint);color:var(--ink);border-color:var(--ink);font-weight:700}.purpose-filters .filter-reset{border:0;padding-left:5px;color:#808693;text-decoration:underline;text-underline-offset:3px}.verified-stamp{font-size:9px;color:#9297a2;white-space:nowrap}.workspace-top{height:51px;padding:0 40px;display:flex;align-items:center;gap:25px;background:#f6f7f9;border-bottom:1px solid var(--line)}.result-status{font-size:11px;white-space:nowrap}.result-status b{font-family:ui-monospace,monospace;font-size:20px;margin-right:3px}.result-status span{font-size:10px;color:#9398a1}.workspace-top>p{margin:0;font-size:10px;color:var(--muted)}.view-tabs{margin-left:auto;display:flex;border:1px solid #d8dce4;background:white;border-radius:3px;padding:2px;gap:2px}.view-tabs button{border:0;display:flex;align-items:center;gap:5px;font-size:10px;padding:4px 11px;background:white;color:var(--muted)}.view-tabs button svg{width:14px;height:14px}.view-tabs button[aria-selected=true]{background:var(--dark);color:white}.app-workspace{display:grid;grid-template-columns:365px minmax(0,1fr);height:clamp(550px,71vh,850px);border-bottom:1px solid var(--line)}.results-pane{overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--line);background:white;scrollbar-width:thin;scrollbar-color:#d4d7df transparent}.shop-row{padding:20px 23px;border-bottom:1px solid var(--line);transition:background .15s,border-color .15s;border-left:3px solid transparent;scroll-margin:10px}.shop-row.is-active{background:var(--tint);border-left-color:var(--ink)}.shop-row:hover{background:#f8f9fb}.shop-row.is-active:hover{background:var(--tint)}.shop-row-top{display:flex;align-items:start;gap:8px}.shop-select{display:flex;gap:10px;text-align:left;align-items:start;flex:1;min-width:0;background:none;border:0;padding:0;color:var(--ink)}.shop-num{font-family:ui-monospace,monospace;font-size:13px;font-weight:800;border:1px solid #d7dae2;padding:1px 4px;margin-top:4px;background:white;min-width:27px;text-align:center}.shop-name{min-width:0}.shop-name small{display:block;font-size:8px;color:var(--muted);line-height:1.7;letter-spacing:.01em}.shop-name h3{font-size:13px;letter-spacing:-.025em;margin:4px 0 0;line-height:1.65;font-weight:750}.save{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:6px;border:1px solid #d8dce5;background:white;color:#5f6877;flex-shrink:0;border-radius:3px;margin-top:2px}.save svg{width:16px;height:16px}.save[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--accent)}.row-tags{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0 9px}.tag{display:inline-flex;align-items:center;gap:4px;font-size:8px;color:#59616e;background:#f0f2f6;padding:2px 5px;border-radius:2px}.tag:before{content:"";width:4px;height:4px;border-radius:50%;background:#c4c8d1}.tag.unknown:before{display:none}.row-hours{display:flex;align-items:start;gap:6px;font-size:10px;color:#59616f;margin:7px 0}.row-hours svg{width:12px;height:12px;margin-top:2px;flex-shrink:0}.row-services{font-size:9px;color:#878d97;margin:6px 0}.row-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:11px}.row-actions button,.row-actions a{font-size:9px;display:flex;gap:4px;align-items:center;color:#4b5362;text-decoration:none;background:none;border:0;padding:0;min-height:25px}.row-actions button{font-weight:700;color:#242a35}.row-actions button svg{width:12px;height:12px}.source-note{font-size:9px;color:#9096a2;margin-top:8px}.source-note summary{cursor:pointer}.source-note p{font-size:10px;line-height:1.9;color:#69717e;margin-bottom:3px}.list-footnote{font-size:9px;color:#9b9fab;padding:15px 24px;line-height:1.9;margin:0}.empty-state{padding:45px 25px;font-size:12px;line-height:1.9}.empty-state b{font-size:14px}.empty-state button{padding:8px 10px;border:1px solid var(--ink);background:white;font-size:11px}.map-shell{position:relative;min-width:0;background:#e9e9e5;isolation:isolate}.map-shell #map{position:absolute;inset:0;z-index:0;background:#e9e9e5}.map-topline{position:absolute;top:17px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;z-index:500;pointer-events:none;gap:10px}.map-topline>*{pointer-events:auto}.map-city-label{display:flex;align-items:center;gap:7px;background:var(--dark);color:white;padding:8px 12px;box-shadow:0 3px 10px #0002}.map-city-label svg{width:14px;height:14px;color:var(--accent)}.map-city-label b{font-size:12px;letter-spacing:.04em}.map-city-label small{font:8px ui-monospace,monospace;color:#adb4c0;letter-spacing:.08em;margin-left:3px}#fit-map{display:flex;gap:7px;align-items:center;border:1px solid #d1d6df;background:white;color:#444e60;font-size:10px;padding:9px 11px;box-shadow:0 3px 10px #0001;border-radius:2px}#fit-map svg{width:13px;height:13px}.map-hint{position:absolute;bottom:10px;left:15px;z-index:400;font-size:9px;background:#fffc;color:#505965;padding:4px 7px;pointer-events:none;max-width:calc(100% - 190px)}.map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:300;padding:16px 20px;background:#fffe;font-size:12px;box-shadow:0 3px 20px #0001;display:flex;align-items:center;gap:10px;white-space:nowrap}.map-loading span{width:13px;height:13px;border:2px solid #ddd;border-top-color:var(--ink);border-radius:50%;animation:spin .9s linear infinite}.map-error{position:absolute;left:18px;right:18px;top:67px;z-index:500;background:#fffdf4;border:1px solid #d7c8a6;font-size:10px;padding:12px;display:flex;flex-direction:column;gap:5px}.map-error b{font-size:12px}.map-error button{align-self:start;margin-top:3px;background:white;border:1px solid #bbb;padding:4px 10px;font-size:10px}.leaflet-container{font-family:inherit!important}.leaflet-control-zoom{border:1px solid #d7dce3!important;border-radius:2px!important;box-shadow:0 2px 10px #0001!important}.leaflet-top.leaflet-right{top:72px;right:9px}.leaflet-control-attribution{font-size:8px!important;line-height:1.8!important;background:#fffd!important;padding:1px 6px!important;color:#666!important}.leaflet-control-attribution a{color:#48566b!important}.city-pin{background:transparent;border:0}.pin-body{display:flex;align-items:center;justify-content:center;width:36px;height:36px;position:relative;background:var(--dark);border:2px solid white;color:var(--accent);font:800 12px ui-monospace,monospace;box-shadow:0 2px 8px #0005;border-radius:4px;white-space:nowrap}.pin-body:after{content:"";position:absolute;bottom:-7px;left:11px;border:5px solid transparent;border-bottom:0;border-top-color:var(--dark)}.pin-body.multiple{background:var(--accent);color:var(--ink);font-size:13px}.pin-body.multiple:after{border-top-color:var(--accent)}.pin-body small{font-size:8px;margin-left:1px}.city-pin.is-selected .pin-body{background:var(--secondary);color:white;transform:scale(1.12)}.city-pin.is-selected .pin-body:after{border-top-color:var(--secondary)}.city-cluster .pin-body{width:42px;height:42px;background:var(--accent);border-radius:50%;color:var(--ink);border:3px solid var(--dark);box-shadow:0 0 0 5px #fff9;font-size:15px}.city-cluster .pin-body:after{display:none}.leaflet-tooltip.city-tooltip{border-radius:2px;border:1px solid #e0e3e8;box-shadow:0 3px 10px #0002;background:#fffe;font:10px inherit;padding:5px 9px;color:#303949}.leaflet-popup-content-wrapper{border-radius:5px;box-shadow:0 4px 24px #0003}.leaflet-popup-content{margin:16px;min-width:230px;max-width:290px}.building-popup>small{font-size:8px;color:#818896;display:block;margin-bottom:4px}.building-popup>strong{font-size:14px;display:block;line-height:1.6;margin:3px 0 10px}.building-popup button{display:flex;flex-direction:column;align-items:start;width:100%;padding:9px 0;background:white;border:0;border-top:1px solid #e4e6eb;text-align:left;gap:3px}.building-popup button span{font-size:10px;color:#747b89}.building-popup button b{font-size:11px;font-weight:650;color:#232936}.shop-detail{position:absolute;z-index:600;right:18px;bottom:34px;width:min(360px,calc(100% - 36px));background:#fff;box-shadow:0 8px 40px #0003;border:1px solid #dfe2e8;border-top:4px solid var(--dark);padding:20px;max-height:calc(100% - 100px);overflow:auto;scrollbar-width:thin;border-radius:3px}.detail-top{display:flex;gap:10px;justify-content:space-between;align-items:start}.detail-kicker{font-size:9px;color:#858b98;margin:0 0 6px}.detail-top h3{font-size:17px;line-height:1.6;letter-spacing:-.03em;margin:0}.icon-button{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #d9dce4;background:white;padding:7px;border-radius:2px}.icon-button svg{width:16px;height:16px}.detail-note{font-size:11px;color:#69717f;line-height:1.95;margin:12px 0}.detail-dl{font-size:10px;display:grid;grid-template-columns:42px 1fr;gap:7px 10px;margin:13px 0}.detail-dl dt{color:#8a919c}.detail-dl dd{margin:0;color:#46505f}.detail-extra{font-size:9px;color:#8a6e48;background:#fbf7ef;padding:8px 10px;line-height:1.8}.detail-actions{display:flex;gap:7px;margin-top:15px;align-items:stretch}.detail-actions .primary-button{flex:1;min-height:37px;padding:8px;font-size:10px}.detail-actions .detail-save{border:1px solid #d6dbe3;background:white;font-size:10px;padding:8px 11px;border-radius:2px;white-space:nowrap}.detail-actions .detail-save[aria-pressed=true]{background:var(--tint);border-color:var(--ink)}.detail-source{font-size:9px;color:#9299a5;display:flex;justify-content:space-between;margin-top:11px;gap:12px}.detail-source a{color:#666e7c}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--dark);background:var(--dark);color:white;text-decoration:none;padding:12px 16px;font-size:12px;border-radius:3px}.primary-button:hover{color:var(--accent)}.primary-button svg{width:16px;height:16px}.neighborhood,.faq-section{max-width:1160px;padding:60px 40px;margin:auto;scroll-margin-top:20px}.section-label{display:flex;gap:23px;align-items:center}.section-label>span{font:9px ui-monospace,monospace;letter-spacing:.14em;border-bottom:2px solid var(--secondary);padding-bottom:4px}.section-label h2{font-size:25px;font-weight:850;letter-spacing:-.04em;margin:0}.area-intro{font-size:12px;line-height:2;color:var(--muted);max-width:800px;margin:23px 0 28px}.area-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.area-tips article{display:flex;gap:14px;border-top:1px solid #dce0e7;padding-top:18px}.area-tips article>span{font:800 20px ui-monospace,monospace;color:var(--secondary);line-height:1.4}.area-tips h3{font-size:13px;margin:0 0 8px;font-weight:750}.area-tips p{font-size:11px;line-height:2;color:var(--muted);margin:0}.photo-credit{font-size:8px;color:#9ca0aa;line-height:1.9;margin:30px 0 0}.faq-section{padding-top:0;padding-bottom:45px}.faq-list{margin-top:23px;border-top:1px solid var(--line)}.faq-list details{padding:19px 0;border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:650;cursor:pointer;gap:20px}.faq-list summary>span{color:#788291;font-size:17px}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:11px;color:var(--muted);line-height:2;margin:14px 0 0;max-width:850px}.editorial-note{background:#f3f4f7;max-width:1080px;margin:0 auto 50px;padding:24px 28px}.editorial-note b{font-size:12px}.editorial-note p{font-size:10px;line-height:2;color:#848b99;margin:9px 0}.editorial-note a{font-size:10px;color:#626b7a}.footer{padding:30px 40px;background:var(--dark);color:#c2c6d1;display:flex;flex-wrap:wrap;gap:20px 35px;align-items:center;justify-content:space-between}.footer-brand{display:flex;flex-direction:column;gap:4px;font-size:15px;font-weight:800;text-decoration:none;color:white}.footer-brand span{font:8px ui-monospace,monospace;letter-spacing:.15em;color:#8f96a6}.footer nav{display:flex;flex-wrap:wrap;gap:23px;font-size:10px}.footer nav a{text-decoration:none}.footer>small{font-size:8px;color:#828a9b}.footer>small a{color:inherit}.legal-page{max-width:800px;min-height:70vh;margin:55px auto 80px;padding:0 30px}.legal-kicker{font:10px ui-monospace,monospace;color:#858c99}.legal-page h1{font-size:30px;font-weight:850;letter-spacing:-.04em;margin-bottom:12px}.legal-page>small{font-size:10px;color:#9b9fab}.legal-page h2{font-size:17px;margin:35px 0 13px}.legal-page p{font-size:12px;line-height:2.1;color:#5c6676}dialog{width:min(520px,calc(100% - 30px));max-height:85svh;border:0;border-top:5px solid var(--accent);padding:26px 28px 22px;box-shadow:0 20px 90px #0006;border-radius:4px}dialog::backdrop{background:#0b0e18aa;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.dialog-head small{font:9px ui-monospace,monospace;letter-spacing:.1em;color:#8a919d}.dialog-head h2{font-size:28px;font-weight:850;letter-spacing:-.05em;margin:5px 0}.plan-description,.plan-note{font-size:11px;color:#7c8492;line-height:1.9}.plan-note{font-size:9px;border-top:1px solid var(--line);padding-top:15px;margin:18px 0 0}#plan-empty{font-size:12px;background:#f3f5f8;padding:22px;margin:20px 0}#plan-list{list-style:none;padding:0;margin:20px 0}#plan-list li{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}#plan-list li>b{font:800 16px ui-monospace,monospace;color:#7a8496}#plan-list li>span{flex:1;font-size:12px;font-weight:650}#plan-list li .plan-controls{display:flex;gap:4px}#plan-list li button{border:1px solid var(--line);background:#fff;font-size:11px;padding:4px 7px;min-height:30px}.plan-footer{display:flex;flex-direction:column;gap:14px}.text-button{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:4px;font-size:10px;color:#9399a5}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;z-index:5000;background:#111620;color:white;border-left:3px solid var(--accent);padding:13px 20px;font-size:11px;box-shadow:0 5px 20px #0003}.noscript-note{padding:20px;background:#fff2ba;font-size:12px}.app-workspace[data-view=list]{grid-template-columns:1fr}.app-workspace[data-view=list] .map-shell{display:none}.app-workspace[data-view=list] .results-pane{display:block}.app-workspace[data-view=list] #shop-list{display:grid;grid-template-columns:repeat(3,1fr)}.app-workspace[data-view=list] .shop-row{border-right:1px solid var(--line)}
@keyframes spin{to{transform:rotate(360deg)}}
.street-sign>b{white-space:nowrap}.street-sign>small{display:none}body[data-city=nipponbashitcg] .street-sign>b{font-size:27px}body[data-city=nipponbashitcg] .district-banner:before{background-position:center,center 75%}
@media(min-width:801px){.masthead{height:72px}.district-banner{min-height:154px;padding-top:17px;padding-bottom:17px}.filter-toolbar{padding-top:16px;padding-bottom:12px}.toolbar-bottom{margin-top:10px}.workspace-top{height:45px}.app-workspace{height:max(430px,calc(100svh - 380px));max-height:800px}}
@media(min-width:801px){.view-tabs button[data-view=map]:after{content:"＋一覧"}}
@media(max-width:1120px){.masthead{padding:0 25px}.district-banner{padding-left:25px}.filter-toolbar{padding-left:25px;padding-right:25px}.toolbar-top{gap:15px}.search-box{flex-basis:225px}.game-filter{padding:7px 10px;font-size:10px}.games{gap:5px}.workspace-top{padding:0 25px}.app-workspace{grid-template-columns:325px minmax(0,1fr)}.shop-row{padding:18px}.shop-name h3{font-size:12px}.shop-num{font-size:11px;min-width:24px}.row-actions a,.row-actions button{font-size:8px}.row-tags{gap:3px}.tag{font-size:7px;padding:2px 4px}.shop-detail{right:13px;padding:16px}.detail-top h3{font-size:15px}.street-sign{right:90px}.street-sign>small{display:none}.brand b{font-size:22px}.brand-small{font-size:14px}.masthead nav{gap:18px}}
@media(max-width:800px){.masthead{height:66px;padding:0 20px;gap:14px}.brand{gap:9px}.brand-emblem{width:29px;height:35px}.brand-emblem svg{width:19px;height:23px}.brand b{font-size:20px}.brand-small{font-size:13px;margin-left:4px}.brand small{font-size:7px;letter-spacing:.1em;margin-top:2px}.masthead nav>a{display:none}.plan-toggle{padding:8px 9px;font-size:10px;gap:6px}.plan-toggle>svg{width:15px;height:15px}.plan-toggle .saved-count{min-width:17px;height:17px;font-size:10px}.district-banner{min-height:136px;padding:20px;align-items:center}.district-banner h1{font-size:31px;max-width:75%;line-height:1.5}.district-banner h1 em{display:inline-block}.district-kicker{font-size:7px;letter-spacing:.08em;margin-bottom:6px}.banner-sub{font-size:10px;margin-top:5px}.street-sign{top:12px;right:35px;gap:8px;bottom:-15px}.street-sign>b{font-size:26px;padding:9px 4px}.street-sign>span{font-size:14px;padding:9px 4px}.banner-stamp{right:9px;bottom:12px;font-size:7px}.filter-toolbar{padding:14px 20px 12px}.toolbar-top{display:block}.search-box{height:36px;max-width:none;width:100%}.games{margin-top:10px;flex-wrap:nowrap;overflow:auto;padding-bottom:3px;scrollbar-width:none;gap:5px}.games::-webkit-scrollbar{display:none}.game-filter{font-size:10px;padding:6px 11px;min-height:32px}.toolbar-bottom{margin-top:8px}.purpose-filters{gap:6px;flex-wrap:nowrap;overflow:auto;width:100%;scrollbar-width:none}.purpose-filters>*{flex-shrink:0}.purpose-filters>button,.purpose-filters select{font-size:9px;padding:4px 8px;min-height:29px}.purpose-filters .filter-reset{font-size:8px;padding:4px}.verified-stamp{display:none}.workspace-top{height:46px;padding:0 20px;gap:12px}.result-status{font-size:10px}.result-status b{font-size:17px}.result-status span{font-size:8px}.workspace-top>p{display:none}.view-tabs{margin-left:auto}.view-tabs button{font-size:9px;padding:4px 10px}.app-workspace{display:block;height:auto;min-height:0}.app-workspace .results-pane{display:none}.app-workspace .map-shell{display:block;height:clamp(430px,65svh,650px)}.app-workspace[data-view=list] .results-pane{display:block;max-height:none;border-right:0}.app-workspace[data-view=list] #shop-list{display:block}.app-workspace[data-view=list] .map-shell{display:none}.shop-row{padding:20px;border-left-width:4px}.shop-name h3{font-size:15px}.shop-name small{font-size:9px}.shop-num{font-size:13px;min-width:28px}.save{width:34px;height:34px}.row-tags{margin-top:12px;gap:5px}.tag{font-size:9px;padding:2px 6px}.row-hours{font-size:11px}.row-services{font-size:10px}.row-actions button,.row-actions a{font-size:10px}.source-note{font-size:9px}.map-topline{top:13px;left:13px;right:13px}.map-city-label{padding:7px 10px;gap:5px}.map-city-label b{font-size:11px}.map-city-label small{font-size:7px}#fit-map{padding:8px 10px;font-size:9px}.leaflet-top.leaflet-right{top:66px;right:4px}.map-hint{bottom:27px;left:11px;font-size:8px;max-width:calc(100% - 22px)}.leaflet-control-attribution{font-size:7px!important}.shop-detail{right:10px;left:10px;bottom:28px;width:auto;max-height:calc(100% - 95px);padding:16px}.detail-top h3{font-size:16px}.detail-note{font-size:11px;margin:10px 0}.detail-dl{font-size:10px;margin:10px 0}.detail-extra{font-size:9px;margin:7px 0}.detail-actions{margin-top:11px}.detail-source{font-size:8px}.neighborhood,.faq-section{padding:38px 20px}.section-label{display:block}.section-label>span{display:inline-block;font-size:8px;padding-bottom:3px}.section-label h2{font-size:23px;margin-top:11px}.area-intro{font-size:11px;margin:17px 0 24px}.area-tips{grid-template-columns:1fr;gap:21px}.area-tips article{padding-top:17px;gap:15px}.area-tips h3{font-size:13px;margin-bottom:6px}.area-tips p{font-size:11px}.photo-credit{font-size:7px;margin-top:23px}.faq-section{padding-top:0;padding-bottom:30px}.faq-list{margin-top:20px}.faq-list summary{font-size:11px}.faq-list details p{font-size:10px}.editorial-note{margin:0 20px 30px;padding:19px}.editorial-note b{font-size:11px}.editorial-note p{font-size:9px}.editorial-note a{font-size:9px}.footer{padding:26px 20px;flex-direction:column;align-items:start;gap:22px}.footer nav{gap:20px;font-size:9px}.footer-brand{font-size:14px}.footer>small{font-size:7px}.legal-page{margin:35px auto 55px;padding:0 20px}.legal-page h1{font-size:25px}.legal-page p{font-size:11px}.legal-page h2{font-size:16px}dialog{padding:22px 20px 20px}.dialog-head h2{font-size:26px}.plan-description{font-size:10px}#plan-list li{gap:8px}#plan-list li>span{font-size:11px}.plan-controls{gap:3px!important}#plan-list li button{font-size:10px;padding:3px 6px}.primary-button{font-size:11px}#toast{bottom:15px;padding:11px 14px;font-size:10px}}
@media(max-width:420px){.masthead{padding:0 15px}.brand-small{font-size:11px}.brand b{font-size:18px}.brand small{font-size:6px}.brand-emblem{width:26px;height:32px}.plan-toggle>span{display:none}.plan-toggle{padding:7px 8px}.district-banner h1{font-size:28px;max-width:80%}.district-banner{padding:17px 20px;min-height:127px}.street-sign{right:21px;gap:6px}.street-sign>b{font-size:24px}.street-sign>span{font-size:12px}.district-banner:before{background-image:linear-gradient(90deg,#101219f2 0%,#11131ac9 42%,#11131a28 85%,#11131a60 100%),var(--poster)}.banner-sub{font-size:9px}.purpose-filters .filter-reset{font-size:8px}.map-city-label small{display:none}.map-city-label b{font-size:11px}.map-loading{font-size:10px;padding:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.map-loading span{border-top-color:var(--ink)}}
@media(max-width:800px){body[data-city=nipponbashitcg] .street-sign>b{font-size:19px}.app-workspace .map-shell{height:max(400px,calc(100svh - 390px));max-height:640px}}
.site-header{position:sticky;top:0;z-index:1200}.map-shell{scroll-margin-top:82px}body[data-city=nipponbashitcg] .street-sign>b{line-height:1}
.map-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:450;background:#fffffff2;box-shadow:0 4px 24px #0002;padding:23px;width:min(300px,calc(100% - 40px));display:flex;flex-direction:column;gap:8px;text-align:center}.map-empty b{font-size:13px}.map-empty span{font-size:10px;color:var(--muted)}.map-empty button{font-size:11px;background:var(--dark);color:white;border:0;padding:9px;margin-top:5px}
@media(max-width:420px){.plan-toggle>span{display:inline;font-size:9px}.plan-toggle{gap:5px}.map-shell{scroll-margin-top:76px}}
.district-banner.photo-only{min-height:105px;height:105px;padding:0}.district-banner.photo-only:before{background-image:linear-gradient(90deg,#11131865,#11131810 60%,#11131830),var(--poster)}
.footer .photo-credit{flex-basis:100%;margin:0;font-size:8px;color:#8f96a6}
.shop-name .row-title{font-size:13px;letter-spacing:-.025em;margin:4px 0 0;line-height:1.65;font-weight:750}
.seo-guide{max-width:1120px;margin:0 auto;padding:42px 40px 55px;font-size:14px;line-height:2;color:#384253}.guide-lead{max-width:920px}.guide-lead p{margin:0 0 14px}.guide-toc{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:24px 0 36px;font-size:12px}.guide-toc a{color:#4b5565}.seo-guide h2{font-size:24px;line-height:1.65;letter-spacing:-.025em;color:var(--ink);margin:42px 0 22px;padding-bottom:13px;border-bottom:2px solid #242a35;scroll-margin-top:95px}.seo-guide h3{font-size:19px;line-height:1.7;color:var(--ink);letter-spacing:-.02em;margin:0 0 16px;scroll-margin-top:95px}.guide-table-wrap{overflow-x:auto;border:1px solid var(--line);scrollbar-width:thin}.guide-table{border-collapse:collapse;min-width:780px;width:100%;font-size:12px;line-height:1.9}.guide-table thead{background:#f1f3f6;color:#424c5b}.guide-table th,.guide-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 16px;vertical-align:top}.guide-table tbody th{width:25%;font-weight:650}.guide-table td:nth-child(3){min-width:205px}.guide-table a{text-decoration-color:#b0b6c0}.guide-table-note{font-size:10px;color:#858c98;line-height:1.9;margin:12px 0}.guide-shop{padding:25px 0 30px;border-bottom:1px solid var(--line)}.guide-shop p{margin:0 0 14px;max-width:930px}.guide-shop dl{font-size:12px;display:grid;grid-template-columns:40px 1fr;gap:12px;margin:18px 0 14px;color:#657080}.guide-shop dt{font-weight:600}.guide-shop dd{margin:0}.guide-shop-links{display:flex;gap:22px;flex-wrap:wrap;font-size:11px}.guide-shop-links a{color:#566176}.guide-faq{padding:22px 0;border-bottom:1px solid var(--line)}.guide-faq h3{font-size:16px;margin-bottom:10px}.guide-faq p{margin:0;max-width:950px}.explorer{scroll-margin-top:82px}
@media(min-width:801px){.app-workspace{height:max(430px,calc(100svh - 331px))}}
@media(max-width:800px){.app-workspace .map-shell{height:max(400px,calc(100svh - 325px))}.seo-guide{padding:30px 20px 40px;font-size:13px;line-height:2}.seo-guide h2{font-size:21px;line-height:1.6;margin:32px 0 19px;padding-bottom:11px;scroll-margin-top:85px}.seo-guide h3{font-size:17px;margin-bottom:13px;scroll-margin-top:85px}.guide-shop{padding:21px 0 24px}.guide-toc{font-size:11px;gap:18px;margin:21px 0 28px}.guide-table{font-size:11px;min-width:720px}.guide-table th,.guide-table td{padding:12px}.guide-table-note{font-size:9px}.guide-faq h3{font-size:15px}.guide-faq{padding:18px 0}.guide-shop dl{font-size:11px;gap:8px;grid-template-columns:30px 1fr}.guide-shop-links{font-size:10px;gap:18px}.shop-name .row-title{font-size:15px}.explorer{scroll-margin-top:76px}}
@media(min-width:801px){body[data-city=nipponbashitcg] .app-workspace{height:max(430px,calc(100svh - 331px))}}
@media(max-width:800px){.district-banner.photo-only{height:80px;min-height:80px}body[data-city=nipponbashitcg] .app-workspace .map-shell{height:max(400px,calc(100svh - 325px))}}

/* Keep text links recognizable across navigation, shop details, and credits. */
.row-actions a,.detail-source a,.editorial-note a,.guide-toc a,.guide-shop-links a,.footer nav a,.footer>small a,.photo-credit a{color:#1a0dab}.guide-table a{text-decoration-color:currentColor}.leaflet-control-attribution a{color:#1a0dab!important}

.brand{color:inherit}.footer{background:#f7f8fa;color:#657080;border-top:1px solid var(--line)}.footer-brand{color:var(--ink)}

/* Original schematic maps: buildings and main streets, with readable shop labels. */
.map-shell,.map-shell #map{background:#f6f4e9}.illustrated-art{user-select:none}.illustrated-pin{background:none;border:0;display:flex;align-items:center;flex-direction:column;gap:3px;overflow:visible;cursor:pointer}.illustrated-number{position:relative;display:block;white-space:nowrap;background:#fffef8;color:#384b43;border:2px solid #435a4e;border-radius:15px;padding:3px 10px;font-size:12px;font-weight:850;line-height:1.2;box-shadow:0 2px 0 #435a4e26}.illustrated-label{display:block;max-width:170px;background:#fffef7ed;box-shadow:0 2px 8px #4d584211;border-radius:4px;color:#263c33;text-align:center;padding:3px 6px;font-size:12px;font-weight:750;line-height:1.45;white-space:nowrap}.illustrated-label small{display:block;font-size:9px;color:#67776b;font-weight:500}.illustrated-pin:hover .illustrated-number,.illustrated-pin:focus-visible .illustrated-number{background:#fff1b2;transform:translateY(-2px)}.illustrated-pin:focus-visible{outline:3px solid #1a0dab;outline-offset:5px;border-radius:8px}.illustrated-pin.is-selected .illustrated-number{background:#355a47;border-color:#254634;color:#fff}.illustrated-pin.is-selected .illustrated-label{background:#e4f0df;color:#254634}.map-saved{position:absolute;right:-9px;top:-10px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#355a47;color:white;border:2px solid #fff;font-size:10px}.map-city-label{background:#fffef8;color:#374e42;border:1px solid #d1d5c5;box-shadow:0 2px 8px #384c4011;border-radius:5px}.map-city-label svg{color:#60816a}.map-city-label small{color:#6f7d6f;letter-spacing:0;font-family:inherit}.map-hint{color:#5f6e60;background:#fffef4e8;border-radius:3px;bottom:22px;max-width:calc(100% - 25px);font-size:10px}.leaflet-control-zoom{border-color:#cbd1c1!important}.leaflet-control-zoom a{color:#355a47!important;background:#fffef8!important}.leaflet-control-attribution{background:#fffef7e8!important}.map-shell .leaflet-interactive:focus{outline:2px solid #607e6d}
@media(max-width:800px){.app-workspace .map-shell,body[data-city=nipponbashitcg] .app-workspace .map-shell{height:560px;max-height:76svh;min-height:440px}.illustrated-label{max-width:118px;font-size:10px;padding:2px 4px;white-space:normal;line-height:1.35}.illustrated-label small{font-size:8px}.illustrated-number{font-size:10px;padding:3px 7px;border-width:1.5px}.illustrated-pin{gap:2px}.map-hint{font-size:8px;bottom:22px;left:9px;max-width:calc(100% - 18px)}.map-city-label small{display:none}}

@media(min-width:801px){.app-workspace,body[data-city=nipponbashitcg] .app-workspace{height:650px;max-height:none}.app-workspace .map-shell{height:650px}}

.is-overview .illustrated-label{display:none}.illustrated-cluster{display:flex;align-items:center;flex-direction:column;background:transparent;border:0;cursor:pointer}.illustrated-cluster>span{display:flex;gap:3px;align-items:baseline;justify-content:center;border:2px solid #fffef7;border-radius:22px;background:#476c52;color:#fff;font-weight:800;font-size:18px;line-height:1;padding:9px 12px;box-shadow:0 0 0 3px #476c5233}.illustrated-cluster small{font-size:10px;font-weight:500}.illustrated-cluster>b{font-size:9px;line-height:1.5;background:#fffef7ed;border-radius:3px;color:#35533f;font-weight:600;margin-top:3px;padding:0 5px}.illustrated-cluster:focus-visible{outline:3px solid #1a0dab;outline-offset:4px;border-radius:20px}.illustrated-cluster:hover>span{background:#2d5138}
