/* Fukuoka after sunset: harbour blue, lantern orange, porcelain and mint. */
@font-face{font-family:Fredoka;src:url('vendor/Fredoka-variable.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--bg:#f4f6f5;--surface:#fcf9f3;--soft:#e6eef0;--text:#293950;--muted:#536378;--line:#c7d5df;--accent:#335e7e;--peach:#f8cbb1;--mint:#c5e6d8;--lilac:#c9ddf0;--butter:#f6e6be;--gummy-ink:#293950;--display:Fredoka,'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif}
:root[data-theme=dark]{--bg:#1a2637;--surface:#263950;--soft:#30465f;--text:#fff5e8;--muted:#c4d2e1;--line:#4d657f;--accent:#f4b681;--gummy-shadow:0 8px 22px #101a2833;--clay-shadow:none}
body{background:var(--bg);isolation:isolate}#washi-world{position:fixed;inset:0;z-index:-1;pointer-events:none}#washi-world canvas{display:block;width:100%;height:100%}h1,h2,h3,.stall-name,.street-heading strong,.phrase-line strong,#phrase-content strong{font-family:var(--display);font-weight:500;letter-spacing:0}.header{gap:16px;z-index:50}.header:before{background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(12px)}.header nav{gap:18px}.header .brand>span{background:var(--peach);box-shadow:0 3px 0 #c88f71}.motion-button{width:44px;min-width:44px;height:44px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text)}.motion-button:disabled{opacity:.65}.theme-button{font-size:12px;padding-inline:12px}
.cover{padding-block:24px 45px;grid-template-columns:.7fr 1.3fr;gap:0;overflow:visible}.cover-copy{padding-left:0}.cover h1{font-size:clamp(60px,6.6vw,94px);line-height:1.04;letter-spacing:-.035em;color:var(--text)}.cover-copy>p{font-size:19px;max-width:25ch}.cover figure,#yatai-world{position:relative;aspect-ratio:1.28;overflow:visible;border-radius:0;background:none!important;width:100%;min-width:0}#yatai-world canvas{position:absolute;inset:0;display:block;width:100%;height:100%}#yatai-world .world-poster{border-radius:32%;mix-blend-mode:normal}#yatai-world.ready .world-poster{visibility:hidden}
/* Small controls share a softly frosted finish and deliberate illuminated feedback. */
:is(.cover .button,.language-control select,.theme-button,.motion-button,.actions button,.actions a,.collection-actions button,.saved-filter,.save-stall,.view-switch button){background-image:linear-gradient(155deg,#ffffff19,transparent 65%);box-shadow:inset 0 2px 1px #ffffff38,inset 0 -2px 2px #172b3c20,0 3px 0 color-mix(in srgb,var(--line) 85%,#132034);transition:box-shadow 160ms ease,background-color 160ms ease,transform 160ms ease}
.cover .button{background-color:var(--peach);border:1px solid #ffcfa7;box-shadow:inset 0 2px 0 #fff5e6b3,0 4px 0 #c48e73;color:var(--gummy-ink)}
.explore-title{margin-bottom:20px}.explorer-shell{background:var(--surface);border:1px solid var(--line);border-radius:32px;overflow:hidden;padding:24px 0 0;box-shadow:0 14px 40px #0f1b2c15}.search-row{display:flex;align-items:end;gap:16px;padding:0 26px;margin:0 0 16px}.search-row label:first-child{flex:1}.search-row input{width:100%;min-height:54px;font-size:17px;background:var(--bg)}.search-row label:nth-child(2){display:none}.search-row label{font-size:13px}.search-row #reset{margin-bottom:4px}.craving-menu{margin:0;padding:0 20px 18px}.craving-menu .section-heading{display:none}.craving-grid{gap:6px}.craving-grid button{border:1px solid transparent;box-shadow:none;border-radius:22px;padding:7px 6px 11px;background:transparent}.craving-grid img{width:96px;height:86px;object-fit:contain;transition:transform 650ms cubic-bezier(.22,.7,.3,1)}.craving-grid span{display:none}.craving-grid strong{font-size:14px;font-weight:500}.craving-grid button[aria-pressed=true]{background:var(--soft);border-color:var(--line);color:var(--text);box-shadow:inset 0 1px 0 #ffffff20;transform:none}.craving-grid button[aria-pressed=true]:after{background:var(--peach);color:var(--gummy-ink)}.filters{padding:0 26px;margin:0}.area-tabs{gap:4px;flex-wrap:wrap}.area-tabs button.active{background:var(--lilac);color:var(--gummy-ink);box-shadow:none}.area-tabs small{opacity:.7}.results-bar{padding:12px 26px;margin:0;border-bottom:1px solid var(--line);border-top:0;min-height:66px}.guide-helpers{display:none}.diet-note{margin:12px 26px}.explorer{grid-template-columns:minmax(340px,.85fr) minmax(0,1.4fr);gap:0}.list-panel{height:840px;padding:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent;border-right:1px solid var(--line)}.area-context{padding:16px 24px 0}.area-context p{display:none}.area-context strong{font-size:14px;color:var(--muted)}#stall-list{display:flex;flex-direction:column;gap:0;padding:0}.stall-row,.stall-row:hover{background:none;padding:24px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;transform:none}.stall-row.selected{background:var(--soft)}.stall-toggle{grid-template-columns:96px minmax(0,1fr) 12px;gap:16px}.stall-name{font-size:23px;line-height:1.25}.stall-dish{font-size:14px}.stall-meta{margin-top:8px}.row-food-save{margin-top:10px}.save-stall{width:44px;padding:0;min-width:44px;font-size:20px}.save-stall[aria-pressed=false] span{filter:grayscale(1);opacity:.65}.save-stall[aria-pressed=true],.saved-filter[aria-pressed=true]{background:var(--butter);color:var(--gummy-ink);border-color:#dec88e;box-shadow:inset 0 2px 0 #fff8}.food-tags{gap:3px}.food-tag{font-size:12px}.jp-sign{background:var(--butter)}.fact-button{font-size:12px}.row-expanded{padding-top:12px}.actions{gap:8px;flex-wrap:wrap}.actions button,.actions a,.collection-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;font-size:14px}.ui-icon{width:24px;height:24px;flex:none;filter:drop-shadow(0 2px 0 #172b3c20)}.actions .primary{background:var(--lilac);border-color:#9fbbd4;color:var(--gummy-ink)}.quiet-details{margin:18px 0;color:var(--muted);font-size:14px}.quiet-details summary,.directory-sources summary,.collection-notes summary{cursor:pointer;min-height:36px;line-height:36px}.quiet-details[open] summary{margin-bottom:12px}.directory-sources{margin:14px 0 0 auto;max-width:70ch;text-align:right;font-size:13px;color:var(--muted)}.directory-sources summary{display:list-item;list-style-position:inside}.directory-sources .source-line{padding-left:24px}.collection-notes{font-size:13px;color:var(--muted);margin:12px 0 20px}.collection-notes #collection-note{margin:6px 0 18px;padding-left:16px}
.map-panel{border:0;border-radius:0;box-shadow:none;min-height:840px;background:transparent}.map-toolbar{padding-inline:20px;min-height:58px}.map-context{padding-inline:20px;background:var(--surface)}#map{height:450px}.street-shelf{background:transparent;border-top:1px solid var(--line)}.street-heading{padding:12px 20px 0}.street-heading strong{font-size:18px}#stall-street{padding-top:8px;padding-bottom:8px}.street-stall{padding-bottom:6px}.street-stall .street-model{height:108px}.street-stall .food-tags{display:none}.street-shelf>p{margin-block:4px 10px}.region-key{display:none}.map-key{margin-top:8px}.map-footer{padding-bottom:10px}
.food-gallery{margin:18px 0}.food-gallery h4{font-size:12px;font-weight:400;color:var(--muted);margin:0 0 8px}.food-gallery>div{display:flex;gap:12px}.food-gallery figure{margin:0;flex:1;max-width:150px;text-align:center}.food-gallery img{width:100%;height:90px;object-fit:contain}.food-gallery figcaption{font-size:12px;line-height:1.5}.food-gallery figcaption span{display:block}.collection-grid{grid-template-columns:1fr;gap:0}.collection-card,.collection-card:hover{grid-template-columns:180px minmax(0,1fr);padding:26px 0;border-radius:0;border-bottom:1px solid var(--line);background:none;box-shadow:none;transform:none;gap:30px}.collection-art,.collection-card:nth-child(2) .collection-art,.collection-card:nth-child(3) .collection-art{background:none;padding:0}.collection-copy h3{font-size:28px}.collection-copy>p:not([lang]){max-width:66ch}.collection-source{display:block;text-align:right;margin-left:auto;padding:8px 0 0 28px;color:var(--muted);font-size:12px}.collection-area{color:var(--muted)}.collection-actions .save-stall{padding:0}.discover-tabs button[aria-pressed=true]{background:var(--peach);border-color:#d7ad8c;box-shadow:0 3px 0 #b88568}
.tips{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}.tips p{padding:30px 0 26px 190px;min-height:210px;font-size:16px;position:relative}.tips strong{font-family:var(--display);font-size:23px;line-height:1.3;margin-bottom:12px}.rule-ink{position:absolute;left:0;top:6px;width:174px;height:190px;object-fit:contain;transition:transform 400ms ease}.rules-source{max-width:85ch;line-height:1.6}
.phrase-grid{gap:24px}.phrase-line{flex-basis:calc((100% - 24px)/2);min-height:430px;padding:28px 30px;gap:12px;background:var(--lilac);box-shadow:0 6px 0 #879fb7,inset 0 2px 0 #ffffffe0;display:grid;grid-template-columns:1fr 145px;align-content:start}.phrase-line:nth-child(3n+2){background:var(--peach);box-shadow:0 6px 0 #b98c75,inset 0 2px 0 #ffffffe0}.phrase-line:nth-child(3n){background:var(--mint);box-shadow:0 6px 0 #83ae9e,inset 0 2px 0 #ffffffe0}.phrase-art{grid-column:2;grid-row:1 / 4;width:145px;height:155px;object-fit:contain;align-self:start;margin:0}.phrase-line small{grid-column:1;font-size:13px;color:var(--gummy-ink);margin:0 0 16px}.phrase-line [lang=ja],.phrase-line em{grid-column:1 / -1;font-size:22px;line-height:1.5;font-weight:400;margin:0;z-index:1}.phrase-line [lang=ja]{padding-top:55px}.phrase-line strong{grid-column:1 / -1;font-size:32px;line-height:1.2;margin:14px 0 0;align-self:end}.phrase-position{margin:10px 0}.phrase-modal-art{float:right;width:170px;height:170px;object-fit:contain;margin:0 0 12px 20px}#phrase-content{min-height:350px}#phrase-content h2,#phrase-content .phrase-romaji{font-size:27px}#phrase-content strong{display:block;clear:both;font-size:38px;padding-top:16px}.detail-body .food-gallery img{height:110px}.detail-body{color:var(--text)}.menu-provenance{font-size:13px}.sources details{background:var(--surface)}
@media(hover:hover) and (pointer:fine){:is(.cover .button,.language-control select,.theme-button,.motion-button,.actions button,.actions a,.collection-actions button,.saved-filter,.save-stall,.view-switch button):hover{box-shadow:inset 0 2px 2px #ffffff66,inset 0 -2px 5px #f7cc982e,0 0 0 1px #e9c59b77,0 0 18px #a4d9ff45;transform:translateY(-1px)}.craving-grid button:hover{background:var(--soft);transform:none}.craving-grid button:hover img{transform:perspective(500px) rotateY(360deg)}.tips p:hover .rule-ink{transform:translateY(-5px) rotate(-3deg)}}
:is(.cover .button,.theme-button,.motion-button,.actions button,.actions a,.collection-actions button,.saved-filter,.save-stall):active{box-shadow:inset 0 0 12px #fff8,0 0 28px #ffc8888c;transform:translateY(2px)}
@media(max-width:1150px){.header nav{gap:12px}.header nav #share{display:none}.header{gap:12px}.phrase-line{padding:24px;grid-template-columns:1fr 120px}.phrase-art{width:120px;height:135px}.tips p{padding-left:150px}.rule-ink{width:140px;height:180px}.explorer{grid-template-columns:minmax(320px,.85fr) minmax(0,1.2fr)}}
@media(max-width:1000px){.header nav{display:none}.language-control{margin-left:auto}.explorer{display:block}.list-panel{border-right:0;height:760px}.map-panel{min-height:830px}.cover{grid-template-columns:.8fr 1.2fr}.cover h1{font-size:64px}.cover-copy>p{font-size:17px}.tips p{padding:145px 12px 0;min-height:280px}.rule-ink{top:0;left:0;width:155px;height:145px}.phrase-line strong{font-size:28px}.phrase-line [lang=ja],.phrase-line em{font-size:20px}}
@media(max-width:767px){.wrap{width:calc(100% - 32px)}.header{gap:8px;min-height:76px;padding-block:12px}.header .brand strong{display:none}.header .brand>span{font-size:21px}.language-control select{max-width:160px;padding-inline:10px;font-size:12px}.theme-button{display:none}.cover{display:flex;padding:10px 0 36px}.cover figure{aspect-ratio:1.35;width:calc(100% + 20px);margin-inline:-10px}.cover-copy{padding:0 8px}.cover h1{font-size:56px;max-width:none;margin:0 0 16px}.cover h1 br{display:none}.cover-copy>p{font-size:18px;max-width:28ch;margin-bottom:24px}.explore{padding-top:15px}.explorer-shell{border-radius:25px;padding-top:18px}.search-row{padding:0 16px;gap:10px}.search-row input{font-size:15px;min-height:50px}.craving-menu{padding:0 10px 12px}.craving-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.craving-grid img{width:76px;height:65px}.craving-grid strong{font-size:12px}.craving-grid button{padding:2px 4px 9px;border-radius:16px}.filters{padding-inline:12px}.area-tabs{gap:2px}.area-tabs button{padding:8px 9px;font-size:12px;min-height:42px}.area-tabs small{display:none}.results-bar{padding:10px 16px;font-size:12px}.stall-row{padding:20px 16px}.stall-toggle{grid-template-columns:82px minmax(0,1fr) 12px;gap:12px}.stall-name{font-size:21px}.area-context{padding-inline:16px}.map-toolbar{padding-inline:12px;gap:6px}.map-toolbar button{font-size:12px}#map{height:400px}.map-panel{min-height:800px}.map-context{font-size:11px;padding-inline:12px}.collection-card{grid-template-columns:110px minmax(0,1fr);gap:18px;padding-block:24px}.collection-copy h3{font-size:24px}.collection-actions button{padding:8px 10px;font-size:13px}.collection-source{padding-left:0}.tips{grid-template-columns:1fr;gap:14px}.tips p{padding:22px 0 22px 135px;min-height:165px;font-size:15px}.tips strong{font-size:21px}.rule-ink{width:125px;height:160px;top:0}.phrase-line{flex-basis:calc(100% - 20px);padding:26px;min-height:430px;grid-template-columns:1fr 130px}.phrase-art{width:140px;height:150px}.phrase-line [lang=ja],.phrase-line em{font-size:21px}.phrase-line strong{font-size:30px}.phrase-line small{font-size:13px}.phrase-modal-art{width:120px;height:120px}.phrase-category{min-height:100px}#phrase-content h2,#phrase-content .phrase-romaji{font-size:23px}#phrase-content strong{font-size:31px}.food-gallery img{height:78px}}
@media(max-width:360px){.header .brand>span{font-size:19px}.language-control select{max-width:150px}.cover h1{font-size:48px}.search-row #reset{font-size:12px}.area-tabs button{padding-inline:6px}.tips p{padding-left:108px}.rule-ink{width:100px}.phrase-line{padding:22px}.phrase-line strong{font-size:27px}.phrase-art{width:120px}.collection-card{grid-template-columns:90px minmax(0,1fr);gap:12px}}
:root[data-motion=paused] *, :root[data-motion=paused] *::before,:root[data-motion=paused] *::after{animation-play-state:paused!important;transition:none!important}:root[data-motion=paused] .craving-grid img,:root[data-motion=paused] .rule-ink{transform:none!important}
@media(prefers-reduced-motion:reduce){.craving-grid img,.rule-ink{transform:none!important}}
@media print{#washi-world,#yatai-world canvas,.motion-button{display:none}.world-poster{visibility:visible!important}.explorer-shell{box-shadow:none}.phrase-line{display:block}.phrase-art{float:right}.tips{grid-template-columns:1fr 1fr}}
/* The map is the main workspace; filters and results occupy one quiet sidebar. */
.action-icon{width:24px;height:24px;display:inline-block;flex:none;vertical-align:middle}.popup-actions button{display:flex;align-items:center;justify-content:center;gap:6px}.maplibregl-popup-content{max-height:380px;overflow:auto}.food-gallery>small{display:block;font-size:12px;margin-bottom:8px;color:var(--muted)}
.explore.wrap{max-width:1520px;width:calc(100% - 40px)}.explorer-shell{padding:0;border-radius:30px}.explorer{grid-template-columns:320px minmax(0,1fr)}.explorer-sidebar{min-width:0;height:1000px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 95%,var(--lilac))}.search-row{padding:20px 18px 0;margin-bottom:12px;gap:8px}.search-row input{min-height:46px;font-size:14px}.search-row label{font-size:12px}.search-row #reset{font-size:12px;padding-inline:2px}.craving-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.craving-grid img{width:75px;height:66px}.craving-grid strong{font-size:12px}.craving-menu{padding:0 10px 12px}.craving-grid button{padding:2px 3px 9px}.filters{padding-inline:12px}.area-tabs button{font-size:12px;padding:8px 9px}.area-tabs small{display:none}.results-bar{padding:10px 18px;font-size:13px;flex-shrink:0}.list-panel{height:auto;min-height:0;flex:1;border:0}.area-context{display:none}.stall-row{padding:20px 18px}.stall-toggle{grid-template-columns:76px minmax(0,1fr) 12px;gap:10px}.miniature .chibi-art{width:76px;height:80px}.stall-name{font-size:21px}.stall-dish{font-size:13px}.food-tag{font-size:11px}.food-tag>span:first-child{font-size:19px}.stall-meta{font-size:11px;gap:5px}.fact-button{font-size:11px}.stall-footer{display:flex;justify-content:flex-end;margin-top:12px}.save-stall{border-radius:50%;width:40px;height:40px;min-width:40px;min-height:40px;font-family:Arial,sans-serif;font-size:27px;line-height:1;padding:0;box-shadow:inset 0 1px 1px #ffffff30,0 3px 0 #15233738;color:var(--muted);background:var(--surface)}.save-stall[aria-pressed=false] span{filter:none;opacity:1}.save-stall[aria-pressed=true]{background:#f4b8b1;border-color:#ca8f89;color:#8c3e4b;box-shadow:inset 0 2px 1px #fff6,0 3px 0 #ac7770}.saved-filter{border-radius:50%;min-width:44px;height:44px;padding:0 7px}.map-panel{min-height:1000px;display:flex;flex-direction:column}.map-toolbar{flex-shrink:0}.map-context{flex-shrink:0}#map{height:730px;min-height:590px;flex:1}.street-shelf{flex-shrink:0}.street-stall{width:120px}.street-stall .street-model{height:90px}.street-stall .street-model img{width:108px;height:100px}.street-stall .jp-sign{font-size:10px}.street-stall>strong{font-size:12px}.map-key{margin-bottom:0}.map-footer{flex-shrink:0}.kawaii-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #9db6ce;border-radius:22px;background:#c9ddf0;color:#293950;font-size:13px;white-space:nowrap;box-shadow:inset 0 2px 2px #fff8,0 3px 0 #6c8eac}.kawaii-toggle i{width:24px;height:14px;border-radius:8px;background:#365879;position:relative}.kawaii-toggle i:after{content:'';position:absolute;right:2px;top:2px;width:10px;height:10px;border-radius:50%;background:#ffe9cc;transition:transform .2s ease}.kawaii-toggle[aria-pressed=false]{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:none}.kawaii-toggle[aria-pressed=false] i:after{transform:translateX(-10px)}.header nav #share{display:none}.header{gap:12px}.header nav{gap:16px}.header nav a[href="#first-time"]{display:none}
/* Very shallow icing, reflected peach/blue light, and fine sugar grain. */
:root[data-kawaii=on] .explorer-shell{background-image:radial-gradient(ellipse at 100% 0,#b7d9f818,transparent 48%),linear-gradient(135deg,#f8cbb109,transparent 55%);box-shadow:inset 0 1px 1px #d1e9ff3b,0 16px 50px #0a162c26}
:root[data-kawaii=on] .cover-copy{background:radial-gradient(ellipse at 22% 60%,#ffb06a08,transparent 65%)}
:root[data-kawaii=on] :is(.kawaii-toggle,.cover .button,.phrase-line){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.07' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(140deg,#ffffff36,transparent 65%)}
:root[data-kawaii=off] #washi-world{display:none}:root[data-kawaii=off] :is(.explorer-shell,.phrase-line,.cover .button,.language-control select,.theme-button,.motion-button,.actions button,.actions a,.collection-actions button,.saved-filter,.save-stall,.view-switch button){box-shadow:none!important;background-image:none!important}:root[data-kawaii=off] .phrase-line{border:1px solid var(--line)}:root[data-kawaii=off] .craving-grid img,:root[data-kawaii=off] .rule-ink{transform:none!important;transition:none!important}:root[data-kawaii=off] *{animation:none!important}
@media(min-width:1001px){.explorer .map-panel{display:flex!important}.view-switch{display:none}}
@media(max-width:1000px){.explorer{display:block}.explorer-sidebar{height:auto;display:block;border:0}.search-row{padding-top:18px}.craving-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.craving-grid img{width:72px;height:65px}.list-panel{height:680px}.map-panel{min-height:920px}#map{height:650px;min-height:650px}.explorer[data-view=list] .map-panel{display:none}.explorer[data-view=map] .map-panel{display:flex}.header nav{display:none}.stall-toggle{grid-template-columns:90px minmax(0,1fr) 12px}.miniature .chibi-art{width:90px}.stall-row{padding:20px 24px}}
@media(max-width:767px){.explore.wrap{width:calc(100% - 24px)}.header{gap:7px}.header .brand>span{font-size:18px;padding:11px 7px}.language-control select{max-width:130px;font-size:11px}.kawaii-toggle{padding:8px 9px;font-size:12px;gap:5px}.kawaii-toggle>span:first-child{display:none}.kawaii-toggle i{width:22px}.kawaii-toggle[aria-pressed=false] i:after{transform:translateX(-8px)}.motion-button{width:36px;min-width:36px;height:40px;border-radius:15px}.craving-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.craving-grid img{width:83px;height:69px}.craving-grid strong{font-size:12px}.craving-menu{padding-bottom:8px}.list-panel{height:650px}.map-panel{min-height:850px}#map{height:570px;min-height:570px}.stall-name{font-size:22px}.stall-dish{font-size:14px}.stall-row{padding:20px 18px}.food-tag{font-size:12px}.food-tag>span:first-child{font-size:22px}.map-toolbar{gap:5px}.map-toolbar button{font-size:11px}.map-context{font-size:11px}.header .language-control{margin-left:auto}.collection-card .stall-footer{margin-top:8px}}
@media(max-width:360px){.header.wrap{width:calc(100% - 20px)}.header{gap:5px}.language-control select{max-width:112px;padding-inline:6px}.kawaii-toggle{padding-inline:7px;font-size:11px}.kawaii-toggle i{display:none}.motion-button{min-width:32px;width:32px}.header .brand>span{padding:10px 6px;font-size:17px}}
.live-yatai{position:relative;display:inline-block;width:100%;height:100%;min-width:0;vertical-align:middle}.live-yatai canvas{position:absolute;inset:0;display:none;width:100%;height:100%;object-fit:contain;pointer-events:none}.live-yatai>img{width:100%;height:100%;object-fit:contain}.live-yatai.model-ready>canvas{display:block}.live-yatai.model-ready>img{visibility:hidden}.miniature>.live-yatai{width:86px;height:86px}.collection-art>.live-yatai{width:180px;height:165px}.detail-miniature>.live-yatai{width:100%;height:280px}.popup-heading>.live-yatai{width:90px;height:85px;flex:none}.street-model>.live-yatai{width:112px;height:112px;position:absolute;inset:auto auto 0 50%;transform:translateX(-50%)}.street-model .live-yatai>img{transform:none!important;width:100%;height:100%;position:static}.street-model:has(.model-ready) .iso-plinth{display:none}@media(max-width:767px){.collection-art>.live-yatai{width:110px;height:130px}.miniature>.live-yatai{width:90px;height:90px}}
.live-yatai,.live-yatai canvas{background:transparent!important;border-radius:0!important;box-shadow:none!important}.miniature>.live-yatai{overflow:visible}.craving-grid button:focus:not(:focus-visible){outline:none}.maplibregl-popup-content .save-stall{border-radius:50%;width:40px;height:40px;min-height:40px;padding:0}.maplibregl-popup-content .stall-footer{margin-top:8px}.maplibregl-popup-content .food-tag{color:#42546c;background:transparent}.maplibregl-popup-content .popup-actions button{padding:8px;min-height:40px}.maplibregl-popup-content .action-icon{height:23px;width:23px}.maplibregl-popup-content .save-stall[aria-pressed=false]{background:#edf2f8;color:#5a687e}
@media(min-width:1001px){.cover{padding-block:10px 22px}.cover figure,#yatai-world{height:480px;aspect-ratio:auto}.cover h1{font-size:82px}.cover-copy{padding-block:20px}.explore{padding-top:24px}}
.street-stall .jp-sign{font-size:11px}.street-stall .food-tag{font-size:12px}.food-tag{font-size:12px}.maplibregl-ctrl-attrib,.maplibregl-ctrl-scale{font-size:11px!important}.phrase-line{min-height:400px}.phrase-line [lang=ja]{padding-top:24px}.phrase-art{width:165px;height:170px}.phrase-line{grid-template-columns:1fr 165px}
@media(max-width:767px){.explore.wrap{width:calc(100% - 32px)}.phrase-line{grid-template-columns:1fr 130px;min-height:410px}.phrase-art{width:145px;height:155px}.phrase-line [lang=ja]{padding-top:35px}.craving-grid strong{font-size:12px}}
.miniature .jp-sign,.street-stall .jp-sign,.collection-art .jp-sign{font-size:11px!important;line-height:1.4}.jp-sign,[lang=ja]{font-family:var(--font)}
/* Restore the illustrated river scene and individual shop silhouettes. */
#yatai-world .world-poster{width:100%;height:100%;object-fit:contain;visibility:visible;border-radius:32%;filter:drop-shadow(0 18px 28px #0d1c292b)}
.collection-art>.chibi-art{width:180px;height:165px;object-fit:contain}.detail-miniature>.chibi-art{width:100%;height:280px;object-fit:contain}.popup-heading>.chibi-art{width:90px;height:85px;object-fit:contain;flex:none}
.street-model img{transform:translateY(var(--model-offset,0px)) scale(var(--model-scale,1));transition:filter .25s,translate .3s;filter:drop-shadow(0 5px 3px #0a17232e)}
.miniature .chibi-art,.collection-art .chibi-art,.phrase-art{transition:transform .4s cubic-bezier(.2,.7,.3,1),filter .3s}
.landmark-popup{text-align:center;padding:6px 10px 12px}.landmark-popup img{display:block;margin:auto;object-fit:contain}.landmark-popup strong{display:block;font-size:17px;line-height:1.4}.landmark-popup p{font-size:13px;margin:5px 0}.landmark-popup a{display:block;margin-top:12px;font-size:12px;text-underline-offset:3px}
@media(hover:hover) and (pointer:fine){:root[data-kawaii=on][data-motion=running] .stall-toggle:hover .chibi-art,:root[data-kawaii=on][data-motion=running] .collection-art:hover .chibi-art{transform:perspective(500px) rotateY(-8deg) translateY(-3px);filter:drop-shadow(0 6px 6px #9bc7e32b)}:root[data-kawaii=on][data-motion=running] .street-stall:hover img{translate:0 -5px}:root[data-kawaii=on][data-motion=running] .phrase-line:hover .phrase-art{transform:translateY(-7px) rotate(-4deg)}}
@media(max-width:767px){.collection-art>.chibi-art{width:110px;height:130px}#yatai-world{aspect-ratio:1.5;height:auto}}
@media(prefers-reduced-motion:reduce){.chibi-art,.phrase-art{transition:none!important}}
/* Quiet life in the original illustrated scene; all motion obeys the shared controls. */
.hero-atmosphere{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;overflow:hidden;border-radius:32%;isolation:isolate}
.hero-steam{position:absolute;width:5%;height:12%;transform:translate(-50%,-100%)}
.hero-steam i{position:absolute;left:24%;bottom:0;width:60%;height:55%;border-radius:50%;background:radial-gradient(ellipse at 40% 32%,#fffff5ee 0%,#fffdf2b8 40%,#fffdf200 74%);filter:blur(.8px) drop-shadow(1px 2px 2px #695c4c33);opacity:0;transform-origin:center bottom;animation:bowl-steam 4.8s linear infinite}
.hero-lantern-glow{position:absolute;width:8%;height:14%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#ffe2984d,transparent 70%);mix-blend-mode:screen;animation:lantern-breathe 5.5s ease-in-out infinite alternate}
.hero-lantern-glow:nth-of-type(5){animation-delay:-2s}.hero-lantern-glow:nth-of-type(6){animation-delay:-4s}
.hero-ripple{position:absolute;width:7%;height:3%;border:1px solid #ffefb299;border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg);opacity:0;animation:river-ring 6.5s ease-out infinite}
@keyframes bowl-steam{0%{opacity:0;transform:translate(0,10%) scale(.65)}18%{opacity:.78}65%{opacity:.5}100%{opacity:0;transform:translate(28%,-150%) scale(1.6,1.2)}}
@keyframes lantern-breathe{from{opacity:.25}to{opacity:.8}}
@keyframes river-ring{0%{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scale(.75)}20%{opacity:.45}100%{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scale(1.9)}}
:root[data-motion=paused] .hero-atmosphere *,#yatai-world[data-animating=false] .hero-atmosphere *{animation-play-state:paused!important}
:root[data-kawaii=off] .hero-atmosphere{display:none}
@media(prefers-reduced-motion:reduce){.hero-atmosphere{display:none}}
@media print{.hero-atmosphere{display:none}}
