/* Static guide pages (stall, area, localised home, 404) and the home page's "All stalls" index.
   Generated by tools/build-yatai-seo.mjs; reuses cake-ui.css tokens. Loaded last. */
:root #top{--guide-ink:var(--cake-ink,#3a2a4d);--guide-muted:var(--cake-ink-muted,#54406a);--guide-line:rgba(155,47,107,.28);--guide-card:#fffaf3}
:root #top.guide-page .guide-main{display:block;padding-bottom:8px}
:root #top.guide-page .header{position:relative;z-index:5}

/* Breadcrumb */
:root #top .crumbs{margin-top:14px;font-size:14px;color:var(--guide-muted)}
:root #top .crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;list-style:none;margin:0;padding:0}
:root #top .crumbs li{display:inline-flex;align-items:center;min-width:0}
:root #top .crumbs li+li:before{content:"›";margin:0 8px;color:var(--guide-muted)}
:root #top .crumbs a{color:var(--cake-berry);font-weight:650;display:inline-flex;align-items:center;min-height:44px}
:root #top .crumbs [aria-current]{color:var(--guide-ink);font-weight:650;overflow-wrap:anywhere}

/* Cards share the section "jar" from cake-ui.css; tighten the spacing for reading pages. */
:root #top.guide-page .section-card.wrap,:root #top .all-stalls.section-card.wrap{color:var(--guide-ink);margin-top:18px}
:root #top.guide-page .section-card.wrap+.section-card.wrap{margin-top:34px}
:root #top :is(.stall-page,.area-page) h1{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-.03em;margin:4px 0 6px;width:fit-content;max-width:100%;overflow-wrap:anywhere;
 color:var(--cake-berry);background-image:linear-gradient(100deg,var(--cake-berry) 5%,#8a2f95 50%,var(--cake-grape) 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #fff)}
@media(forced-colors:active){:root #top :is(.stall-page,.area-page) h1{-webkit-text-fill-color:CanvasText;background:none;filter:none}}
:root #top.guide-page .section-card h2{font-size:26px}

/* Area chip */
:root #top .area-chip{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0 14px;min-height:44px;border:2px solid #fff;border-radius:999px;background:#fff6e9;color:var(--guide-ink);font-weight:700;font-size:14px;box-shadow:0 3px 0 var(--cake-rim)}
:root #top .area-chip a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
:root #top .area-chip a:hover{text-decoration:underline}

/* Stall hero */
:root #top .stall-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start}
:root #top .stall-media{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;align-items:center;padding:16px;border:3px solid #fff;border-radius:var(--cake-r-l,30px);background:linear-gradient(140deg,#ffe3ee,#ebe3ff)}
:root #top .stall-media .clay{width:100%;height:auto;filter:drop-shadow(0 6px 8px rgba(110,48,96,.25))}
:root #top .stall-media:not(:has(.stall-photo)){grid-template-columns:minmax(0,320px);justify-content:center}
:root #top .stall-photo{margin:0}
:root #top .stall-photo img{width:100%;height:auto;border-radius:16px;border:3px solid #fff;box-shadow:0 4px 0 var(--cake-rim)}
:root #top .stall-photo figcaption{font-size:12px;color:var(--guide-muted);margin-top:8px}
:root #top .stall-alt-name{font-size:16px;color:var(--guide-muted);margin:0 0 12px}
:root #top .stall-summary{font-size:18px;line-height:1.55;margin:0 0 14px;max-width:62ch}

/* Chips */
:root #top .chip-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 16px;padding:0}
:root #top .chip-list li{padding:5px 12px;border-radius:999px;border:2px solid #fff;background:#dff7ef;font-size:14px;font-weight:650;box-shadow:0 2px 0 #86cdb3}

/* Buttons and links */
:root #top .guide-actions{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 4px}
:root #top .guide-button{--cake-tint:var(--cake-surface);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:44px;padding:8px 18px;
 border:2px solid #fff;border-radius:var(--cake-r-m,22px);color:var(--guide-ink);font-weight:700;font-size:15px;text-decoration:none;
 background-color:var(--cake-tint);background-image:var(--cake-sheen);box-shadow:var(--cake-bevel);transition:transform var(--cake-t-base,180ms) var(--cake-ease,ease),box-shadow var(--cake-t-base,180ms) ease}
:root #top .guide-button.primary{--cake-tint:var(--cake-icing-peach);--cake-rim-c:var(--cake-rim-peach)}
@media(hover:hover){:root #top .guide-button:hover{transform:translateY(-2px);box-shadow:var(--cake-bevel-lift)}}
:root #top .guide-button:active{transform:translateY(3px);box-shadow:var(--cake-bevel-press)}
:root #top .guide-button:focus-visible,:root #top .guide-link:focus-visible,:root #top .stall-card:focus-visible,:root #top .area-cards a:focus-visible{outline:3px solid var(--cake-focus,#a3286a);outline-offset:3px}
:root #top .guide-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin:12px 0 0}
:root #top .guide-link{display:inline-flex;align-items:center;min-height:44px;color:var(--cake-berry);font-weight:700;text-underline-offset:3px}
:root #top .guide-note{font-size:14px;color:var(--guide-muted);margin:0 0 12px;max-width:72ch}

/* Facts */
:root #top .stall-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:26px 0 0;padding:0}
:root #top .stall-facts>div{padding:14px 16px;border:2px solid #fff;border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 3px 0 var(--guide-line)}
:root #top .stall-facts dt{font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.04em;color:var(--cake-berry);margin-bottom:4px}
:root #top .stall-facts dd{margin:0;font-size:16px;line-height:1.45;overflow-wrap:anywhere}
:root #top .stall-facts dd small{display:block;font-size:13px;color:var(--guide-muted);margin-top:4px}

/* Blocks */
:root #top .guide-block{margin-top:30px}
:root #top .guide-block h2{margin-bottom:10px}

/* Menu */
:root #top .menu-list{list-style:none;margin:0;padding:0;columns:2 320px;column-gap:28px}
:root #top .menu-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 2px;border-bottom:1px dashed var(--guide-line);break-inside:avoid}
:root #top .menu-names{display:flex;flex-direction:column;min-width:0}
:root #top .menu-names [lang=ja]{font-weight:650}
:root #top .menu-tr{font-size:14px;color:var(--guide-muted)}
:root #top .menu-price{flex:none;font-weight:750;font-variant-numeric:tabular-nums;text-align:right;max-width:45%;font-size:15px}
:root #top .menu-more{margin-top:12px}
:root #top .menu-more>summary,:root #top .stall-index>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 16px;border:2px solid #fff;border-radius:var(--cake-r-m,22px);background:#fff6e9;box-shadow:0 3px 0 var(--cake-rim);font-weight:700;cursor:pointer;list-style:none}
:root #top .menu-more>summary::-webkit-details-marker,:root #top .stall-index>summary::-webkit-details-marker{display:none}
:root #top .menu-more>summary:after,:root #top .stall-index>summary:after{content:"＋";font-weight:800}
:root #top .menu-more[open]>summary:after,:root #top .stall-index[open]>summary:after{content:"－"}
:root #top .menu-more[open]>summary{margin-bottom:8px}

/* Tips */
:root #top .tip-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
:root #top .tip-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:2px solid #fff;border-radius:18px;background:rgba(223,247,239,.8)}
:root #top .tip-list img{flex:none;width:56px;height:56px}
:root #top .tip-list p{margin:0;font-size:15px;line-height:1.5}
:root #top .source-note{margin-top:22px}

/* Stall cards (nearby, area lists) */
:root #top .stall-cards{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px}
:root #top .stall-card{display:flex;gap:12px;align-items:center;height:100%;padding:10px 14px 10px 10px;border:2px solid #fff;border-radius:20px;background:var(--guide-card);color:var(--guide-ink);text-decoration:none;box-shadow:0 4px 0 var(--guide-line);transition:transform var(--cake-t-base,180ms) var(--cake-ease,ease)}
@media(hover:hover){:root #top .stall-card:hover{transform:translateY(-2px)}:root #top .stall-card:hover strong{text-decoration:underline}}
:root #top .stall-card .clay{flex:none;width:84px;height:84px}
:root #top .stall-card-text{display:flex;flex-direction:column;min-width:0}
:root #top .stall-card strong{font-size:17px;color:var(--cake-berry);overflow-wrap:anywhere}
:root #top .stall-card-jp{font-size:13px;color:var(--guide-muted)}
:root #top .stall-card-dish{font-size:14px;margin-top:2px}
:root #top .stall-card-meta{font-size:13px;color:var(--guide-muted)}

/* Area page */
:root #top .area-count{font-weight:750;color:var(--cake-berry);margin:0 0 10px}
:root #top .area-intro{font-size:17px;line-height:1.6;max-width:70ch;margin:0 0 14px}
:root #top .area-nav ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px}
:root #top .area-nav li{display:flex;align-items:center;gap:8px}
:root #top .area-nav a,:root #top .area-nav [aria-current]{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:var(--cake-berry)}
:root #top .area-nav [aria-current]{color:var(--guide-ink)}
:root #top .area-nav small{color:var(--guide-muted)}

/* All stalls index (home + localised homes) */
:root #top .all-stalls .section-heading{margin-bottom:14px}
:root #top .area-links{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:12px}
:root #top .area-links small{font-size:12px;opacity:.8}
:root #top .stall-index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px 28px;margin-top:16px}
:root #top .stall-index-grid h3{font-size:18px;margin:0 0 6px}
:root #top .stall-index-grid h3 a{color:var(--cake-berry);display:inline-flex;min-height:44px;align-items:center}
:root #top .stall-index-grid ul{list-style:none;margin:0;padding:0}
:root #top .stall-index-grid li a{display:flex;align-items:center;min-height:44px;color:var(--guide-ink);font-weight:600;text-underline-offset:3px}

/* Localised landing */
:root #top .guide-cover{margin-top:10px}
:root #top .guide-cover-art{margin:0;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:18px}
:root #top .guide-cover-art img{width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:24px}
:root #top .area-cards{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
:root #top .area-cards a{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 18px;border:2px solid #fff;border-radius:20px;background:var(--guide-card);color:var(--guide-ink);text-decoration:none;box-shadow:0 4px 0 var(--guide-line)}
:root #top .area-cards strong{display:flex;align-items:center;gap:8px;font-size:19px;color:var(--cake-berry)}
:root #top .area-cards small{font-weight:700;color:var(--guide-muted)}
:root #top .area-cards span{font-size:15px;line-height:1.5}

/* Language menu (links, works without JavaScript) */
:root #top .lang-menu{position:relative}
:root #top .lang-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border-radius:50%}
:root #top .lang-menu>summary::-webkit-details-marker{display:none}
:root #top .lang-menu>summary:focus-visible{outline:3px solid var(--cake-focus,#a3286a);outline-offset:3px}
:root #top .lang-menu .flag-circle{display:inline-flex;width:44px;height:44px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 3px 0 var(--cake-rim);background:#fff}
:root #top .lang-menu .flag-circle img{width:100%;height:100%;object-fit:cover}
:root #top .lang-menu ul{position:absolute;right:0;top:calc(100% + 8px);z-index:20;list-style:none;margin:0;padding:8px;min-width:220px;border:3px solid #fff;border-radius:20px;background:#fff6e9;box-shadow:0 6px 0 var(--cake-rim),0 18px 30px rgba(110,48,96,.2)}
:root #top .lang-menu li a{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 10px;border-radius:14px;color:var(--guide-ink);text-decoration:none;font-weight:650}
:root #top .lang-menu li a .flag-circle{width:30px;height:30px;border-width:2px;box-shadow:none}
:root #top .lang-menu li a[aria-current]{background:#ffe3ee}
@media(hover:hover){:root #top .lang-menu li a:hover{background:#ffe3ee}}

/* Footer */
:root #top .guide-footer{flex-wrap:wrap;gap:12px 24px;align-items:center}
:root #top .footer-langs{list-style:none;display:flex;flex-wrap:wrap;gap:0 14px;margin:0;padding:0}
:root #top .footer-langs a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font-weight:650}
:root #top .footer-langs a[aria-current]{text-decoration:none}

@media(max-width:767.98px){
 :root #top .stall-hero{grid-template-columns:1fr;gap:18px}
 :root #top .stall-summary{font-size:17px}
 :root #top.guide-page .section-card h2{font-size:23px}
 :root #top .menu-list{columns:1}
 :root #top .guide-actions .guide-button{flex:1 1 auto}
 :root #top .header .support-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){:root #top :is(.guide-button,.stall-card){transition:none}:root #top :is(.guide-button,.stall-card):hover{transform:none}}
@media print{:root #top :is(.lang-menu,.support-panel,.guide-actions,.header-tools){display:none!important}:root #top .menu-more>ul{display:block}}
