/* Generated by build/home.mjs from docs/home-mockup-map.html — do not edit by hand. */
.hero h1 .kana{color:var(--acc7)!important;-webkit-text-stroke:0!important;text-shadow:none!important;font-size:.2em!important;letter-spacing:.3em!important;font-family:Bangers!important;transform:none}.sh h2{white-space:nowrap}.sh{flex-wrap:wrap}.sh a{white-space:nowrap}.legend{margin-top:12px}

:root{--bg:#f2f2f3;--surface:#e9e9ea;--text:#1d1f20;--acc:#5980a6;--acc7:#416180;--acc1:#eef6ff;--acc2:#d6ebff;--n3:#d4d4d7;--n6:#7a7a7d;--n7:#5d5d60;--div:color-mix(in srgb,#1d1f20 16%,transparent);--ink:#1d1f20;--gut:clamp(14px,4vw,28px)}
:root[data-theme=dark]{--bg:#1d2d3d;--surface:#24384a;--text:#eef1f4;--acc:#b5d9fd;--acc7:#b5d9fd;--acc1:#2b4258;--acc2:#33506a;--n3:#3d556c;--n6:#8fa2b3;--n7:#a8b8c6;--div:rgba(238,241,244,.18);--ink:#eef1f4}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Barlow,system-ui,"Segoe UI",Roboto,"Noto Sans CJK JP",sans-serif}
a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
h1,h2,h3,.disp{font-family:"Barlow Condensed",system-ui,sans-serif;font-weight:800;line-height:1;margin:0;letter-spacing:.005em}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--gut)}
/* nav */
.wfa-nav{display:flex;align-items:center;gap:22px;padding:12px 0;border-bottom:1px solid var(--div);flex-wrap:wrap}
.wfa-brand{font-family:"Barlow Condensed";font-weight:800;font-size:24px;letter-spacing:.01em}.wfa-brand span{color:var(--acc7)}
.wfa-corpus{font-size:12.5px;color:var(--n7)}
.wfa-nav nav{display:flex;gap:18px;font-size:14px;font-weight:600;margin-left:auto}
.wfa-theme-toggle{display:flex;border:1px solid var(--div)}.wfa-theme-toggle button{font:inherit;font-size:12px;background:none;border:0;color:var(--n7);padding:5px 10px;cursor:pointer}.wfa-theme-toggle button[aria-pressed=true]{background:var(--acc7);color:#fff}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center;padding:44px 0 28px}
.hero h1{font-size:clamp(44px,7vw,84px)}.hero h1 span{color:var(--acc7)}
.lede{font-size:18px;color:var(--n7);max-width:52ch;margin:14px 0 22px}
.search{display:flex;border:1px solid var(--ink);max-width:560px}.search input{flex:1;font:inherit;font-size:16px;padding:13px 16px;border:0;background:var(--surface);color:var(--text);min-width:0}.search button{font-family:"Barlow Condensed";font-weight:800;font-size:19px;letter-spacing:.06em;background:var(--ink);color:var(--bg);border:0;padding:0 24px;cursor:pointer}
.stats{display:flex;gap:0;margin:22px 0 0;border:1px solid var(--div);width:fit-content}.stats div{padding:10px 18px;border-right:1px solid var(--div);font-size:12px;color:var(--n7)}.stats div:last-child{border:0}.stats b{display:block;font-family:"Barlow Condensed";font-size:28px;color:var(--text);line-height:1}
/* manga plate: the ONE place ink is allowed */
.plate{display:block;position:relative;border:3px solid var(--ink);background:var(--surface);overflow:hidden}
.plate:before,.plate:after{content:"";position:absolute;width:14px;height:14px;border:3px solid var(--ink);z-index:2}.plate:before{left:-3px;top:-3px;border-right:0;border-bottom:0}.plate:after{right:-3px;bottom:-3px;border-left:0;border-top:0}
.plate img{display:block;width:100%;height:100%;object-fit:cover}
.heroart{position:relative}.heroart .plate{aspect-ratio:4/3}
.bubble{position:absolute;left:-18px;bottom:-22px;max-width:300px;background:var(--bg);border:3px solid var(--ink);padding:12px 16px;font-size:14.5px;line-height:1.35}
.bubble:after{content:"";position:absolute;right:30px;top:-16px;border:8px solid transparent;border-bottom-color:var(--ink);border-top:0}
.bubble b{font-family:"Barlow Condensed";font-size:17px;display:block;margin-bottom:2px}
.sfx{position:absolute;top:-14px;right:-8px;font-family:"Barlow Condensed";font-weight:800;font-size:34px;color:var(--bg);background:var(--ink);padding:2px 12px;transform:rotate(4deg)}
/* sections */
section{padding:36px 0 8px}
.sh{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--div);padding-bottom:8px;margin-bottom:18px}.sh h2{font-size:34px}.sh p{margin:0;font-size:14px;color:var(--n7)}.sh a{margin-left:auto;font-size:14px;font-weight:600;color:var(--acc7);border-bottom:1px solid currentColor}
/* map plate */
.map{position:relative;height:clamp(260px,42vw,520px);background:var(--surface);border:1px solid var(--div)}
.map i{position:absolute;width:16px;height:16px;border-color:var(--acc);border-style:solid;border-width:0}.map .tl{left:6px;top:6px;border-left-width:2px;border-top-width:2px}.map .tr{right:6px;top:6px;border-right-width:2px;border-top-width:2px}.map .bl{left:6px;bottom:6px;border-left-width:2px;border-bottom-width:2px}.map .br{right:6px;bottom:6px;border-right-width:2px;border-bottom-width:2px}
.map .grid{position:absolute;inset:0;background-image:linear-gradient(var(--div) 1px,transparent 1px),linear-gradient(90deg,var(--div) 1px,transparent 1px);background-size:60px 60px;opacity:.6}
.map .land{position:absolute;background:var(--acc2);border:1px solid var(--acc)}
.map .pin{position:absolute;width:10px;height:10px;background:var(--acc7);border:2px solid var(--bg);transform:translate(-50%,-50%)}
.map .note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--bg);border:1px solid var(--div);padding:8px 14px;font-size:13px;color:var(--n7)}
.legend{display:flex;gap:18px;font-size:12.5px;color:var(--n7);margin-top:8px;flex-wrap:wrap}.legend i{display:inline-block;width:12px;height:12px;vertical-align:-1px;margin-right:5px;border:1px solid var(--acc)}
.mapz{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;border:1px solid var(--ink)}.mapz button{width:32px;height:32px;border:0;border-bottom:1px solid var(--ink);background:var(--bg);color:var(--text);font-size:18px;cursor:pointer}.mapz button:last-child{border:0}
/* regions */
.regions{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--div);border:1px solid var(--div)}.region{background:var(--bg);padding:18px 16px}.region b{display:block;font-family:"Barlow Condensed";font-size:24px;line-height:1.05}.region span{font-size:12.5px;color:var(--n7)}.region:hover{background:var(--acc1)}
/* dish cards */
.dishes{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.dish .plate{aspect-ratio:4/3;margin-bottom:10px}.dish b{font-family:"Barlow Condensed";font-size:24px;line-height:1.05;display:block}.dish .ln{font-style:normal;color:var(--n7);font-size:14px}.dish .cat{display:block;font-size:12.5px;color:var(--acc7);font-weight:600;margin:4px 0 2px}.dish .d{display:block;font-size:14px;color:var(--n7)}
.dish:hover .plate{outline:3px solid var(--acc);outline-offset:-3px}
/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--ink);padding:6px 14px;font-size:14px;font-weight:600}.chip:hover{background:var(--ink);color:var(--bg)}
/* chef strip */
.chef{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center;border-top:1px solid var(--div);border-bottom:1px solid var(--div);padding:26px 0;margin-top:30px}
.chef .plate{aspect-ratio:1}.chef h3{font-size:30px;margin-bottom:8px}.chef p{margin:0 0 10px;max-width:66ch;color:var(--n7)}
.foot{padding:28px 0 40px;font-size:12.5px;color:var(--n6);border-top:1px solid var(--div);margin-top:40px}.foot p{margin:6px 0}.foot a{color:var(--acc7)}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:28px;padding-top:28px}.regions{grid-template-columns:repeat(2,1fr)}.dishes{grid-template-columns:repeat(2,1fr);gap:14px}.chef{grid-template-columns:1fr}.chef .plate{max-width:200px}.wfa-nav nav{display:none}.bubble{position:static;margin-top:14px;max-width:none}}
@media(max-width:520px){.dishes{grid-template-columns:1fr}.stats{width:100%}.stats div{flex:1;padding:8px 10px}}

.map{height:auto;aspect-ratio:1000/520;background:var(--bg)}
.map svg{position:absolute;inset:0;width:100%;height:100%}
#land path{cursor:pointer}
.stop{cursor:pointer}.stop:hover image{opacity:.85}
#tip{position:absolute;pointer-events:none;background:var(--bg);border:3px solid var(--ink);padding:6px 12px;font-family:"Barlow Condensed";font-weight:800;font-size:18px;line-height:1.1;z-index:3;transform:translate(-50%,-115%);white-space:nowrap}#tip small{display:block;font-family:Barlow;font-weight:400;font-size:12.5px;color:var(--n7)}
.map .note{display:none}

:root{--sea:#dfeaf2;--sea2:#5980a6;--am:#f6d6a0;--eu:#cfe0b0;--af:#f4b98d;--me:#e9c9a2;--as:#f2dc8e;--oc:#c9dccc;--ant:#f4f4f4}
:root[data-theme=dark]{--sea:#16283a;--sea2:#5f86ac;--am:#8a6a3a;--eu:#5e7a44;--af:#8f5a3c;--me:#7d6244;--as:#8a7a3a;--oc:#4e6b5a;--ant:#33465a}
#land path{stroke:none;transition:filter .12s}#land path:hover{filter:brightness(.88)}#land path.sel{filter:brightness(.72) saturate(1.4)}
.r-am{fill:var(--am)}.r-eu{fill:var(--eu)}.r-af{fill:var(--af)}.r-me{fill:var(--me)}.r-as{fill:var(--as)}.r-oc{fill:var(--oc)}.r-ant{fill:var(--ant)}
.rl{font-family:"Barlow Condensed";font-weight:800;font-size:15px;letter-spacing:3px;fill:var(--ink);opacity:.55;paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}
.map{border:0;background:transparent;overflow:visible;aspect-ratio:1000/520;height:auto}
.map>i{display:none}
.stop .pol{transition:transform .15s}.stop:hover .pol{transform:translate(0,-70px) scale(1.35)}
#tip{position:absolute;pointer-events:none;background:var(--bg);border:3px solid var(--ink);padding:6px 12px;font-family:"Barlow Condensed";font-weight:800;font-size:18px;line-height:1.1;z-index:3;transform:translate(-50%,-115%);white-space:nowrap;box-shadow:4px 4px 0 var(--ink)}
.mapz{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);right:18px;top:18px}

.map{border:5px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background:var(--bg);overflow:hidden}
.map svg{background:var(--bg)}
.burst line{vector-effect:non-scaling-stroke}
.fx{font-family:Bangers,"Barlow Condensed";fill:var(--bg);stroke:var(--ink);stroke-width:2.2;paint-order:stroke;letter-spacing:1px;stroke-linejoin:round}
:root[data-theme=dark] .fx{fill:var(--ink);stroke:var(--bg)}
.bt{font-family:"Barlow Condensed";font-weight:800;fill:var(--ink);letter-spacing:.5px}.bs{font-family:Barlow;fill:var(--n7)}
.rl{font-size:17px;letter-spacing:4px;opacity:.7;stroke-width:5px;transform-box:fill-box;transform-origin:center;transform:rotate(-3deg)}
#tip{border:0;background:transparent;padding:0;box-shadow:none;transform:translate(-50%,-125%)}
#tip .b{position:relative;background:var(--ink);padding:12px 22px;clip-path:polygon(0 30%,8% 0,20% 18%,32% 0,48% 14%,62% 0,76% 16%,92% 2%,100% 30%,94% 55%,100% 80%,86% 100%,70% 88%,54% 100%,38% 86%,22% 100%,8% 84%,0 70%)}
#tip .b span{display:block;background:var(--bg);color:var(--ink);padding:6px 14px;clip-path:polygon(0 30%,8% 0,20% 18%,32% 0,48% 14%,62% 0,76% 16%,92% 2%,100% 30%,94% 55%,100% 80%,86% 100%,70% 88%,54% 100%,38% 86%,22% 100%,8% 84%,0 70%)}
#tip small{color:var(--n7)}
.chefcut{cursor:pointer}.chefcut:hover image{transform:scale(1.05);transform-origin:70px 70px}
.mapz{border-width:4px}

.fl{}.fl.small{opacity:0}.fl.mid{opacity:0}
#wmap.z2 .fl.mid{opacity:1}#wmap.z4 .fl.small{opacity:1}
h1,h2,h3,.wfa-brand,.sh h2,.stats b,.region b,.dish b,.chef h3,.legend,.chip{font-family:Bangers,"Barlow Condensed",sans-serif!important;font-weight:400!important;letter-spacing:.04em}
.hero h1{font-size:clamp(56px,8vw,110px);line-height:.9;text-shadow:4px 4px 0 var(--acc)}
.hero h1 span{color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink)}
.sh h2{font-size:44px;text-shadow:3px 3px 0 var(--acc2)}
.dish b{font-size:28px;letter-spacing:.05em}.region b{font-size:28px}.stats b{font-size:34px}
.legend{font-size:15px;letter-spacing:.06em}
.rl,.bt,.fx,.stop text,.cartouche text,.pagelbl text,#tip .b span{font-family:Bangers,"Barlow Condensed",sans-serif!important;font-weight:400!important}
.rl{font-size:22px;letter-spacing:5px;opacity:.75}
.stop text{font-size:9.5px;letter-spacing:1px}
#tip .b span{font-size:22px;letter-spacing:.06em}
.search button{font-family:Bangers!important;font-weight:400!important;font-size:22px}
.wfa-corpus,.wfa-nav nav{font-family:"Barlow Condensed";font-weight:800;letter-spacing:.06em;text-transform:uppercase}

/* ===== manga typography pass ===== */
body{font-family:"Comic Neue","Patrick Hand",Barlow,system-ui,sans-serif;font-size:17px}
.lede,.dish .d,.sh p,.chef p,.legend,.foot,.bubble{font-family:"Patrick Hand","Comic Neue",sans-serif;font-size:19px;line-height:1.35}
.dish .d{font-size:17px}.sh p{font-size:17px}.legend{font-size:16px}.foot{font-size:15px}
.wfa-brand{font-family:Bangers!important;font-size:34px!important;letter-spacing:.06em;-webkit-text-stroke:.6px var(--ink);text-shadow:3px 3px 0 var(--acc)}
.wfa-brand span{color:#f2b134!important;-webkit-text-stroke:1px var(--ink)}
.wfa-corpus{font-family:Bangers,"Comic Neue";font-size:12px;text-transform:none;letter-spacing:0}
.wfa-nav nav{font-family:Bangers;font-weight:400;font-size:20px;letter-spacing:.08em}
.wfa-nav nav a{position:relative;padding:2px 8px;border:2px solid transparent}.wfa-nav nav a:hover{border-color:var(--ink);background:#f2b134;box-shadow:3px 3px 0 var(--ink)}
.wfa-theme-toggle{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.wfa-theme-toggle button{font-family:Bangers;font-size:14px;letter-spacing:.08em}
.hero h1{font-family:"Luckiest Guy",Bangers!important;font-size:clamp(60px,8.6vw,118px);line-height:.88;color:var(--ink);text-shadow:none;-webkit-text-stroke:0;transform:rotate(-2deg);transform-origin:left bottom}
.hero h1 span{color:#f2b134;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:6px 6px 0 var(--ink)}
.kana{display:block;font-family:Bangers,"Noto Sans JP",sans-serif;font-size:.24em;letter-spacing:.35em;color:var(--acc7);margin-top:8px;transform:none;-webkit-text-stroke:0;text-shadow:none}
.search{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.search input{font-family:"Patrick Hand";font-size:20px}.search button{font-family:Bangers!important;font-size:24px;background:#f2b134;color:var(--ink);border-left:3px solid var(--ink)}
.stats{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:var(--bg)}.stats div{border-right:3px solid var(--ink);font-family:Bangers;font-size:11px}.stats b{font-family:Bangers!important;font-size:40px;color:var(--acc7)}
.sh{border-bottom:3px solid var(--ink)}.sh h2{font-family:"Luckiest Guy",Bangers!important;font-size:52px;text-shadow:4px 4px 0 var(--acc2);-webkit-text-stroke:1px var(--ink);position:relative;padding-right:8px}
.sh h2 .kana{display:inline;font-size:.28em;margin-left:10px;letter-spacing:.3em;vertical-align:middle}
.sh a{font-family:Bangers;font-size:18px;letter-spacing:.06em;border:2px solid var(--ink);padding:4px 12px;background:#fff;color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.regions{gap:0;background:transparent;border:0;display:grid;grid-template-columns:repeat(6,1fr)}.region{border:3px solid var(--ink);margin:0 -3px 0 0;background:#fff;box-shadow:5px 5px 0 var(--ink);transform:rotate(var(--r,0deg));position:relative;z-index:1}.region:nth-child(odd){--r:-1.2deg}.region:nth-child(even){--r:1deg}.region b{font-family:Bangers!important;font-size:30px;letter-spacing:.06em}.region span{font-family:"Patrick Hand";font-size:15px}.region:hover{background:#f2b134;z-index:2}
.region b:after{content:none;display:block;font-family:Bangers;font-size:11px;letter-spacing:.2em;color:var(--acc7);margin-top:2px}
.dish .plate{border-width:3px;box-shadow:6px 6px 0 var(--ink);transform:rotate(var(--r,0deg))}.dish:nth-child(odd) .plate{--r:-1.5deg}.dish:nth-child(even) .plate{--r:1.5deg}
.dish b{font-family:"Luckiest Guy",Bangers!important;font-size:26px;letter-spacing:.02em;-webkit-text-stroke:.5px var(--ink)}
.dish .cat{font-family:Bangers;font-size:11.5px;background:#f2b134;color:var(--ink);display:inline-block;padding:2px 8px;border:2px solid var(--ink);transform:rotate(-1deg)}
.dish .ln{font-family:Bangers;font-size:13px}
.chips{gap:10px}.chip{font-family:Bangers!important;font-size:19px;letter-spacing:.07em;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;transform:rotate(var(--r,0deg))}.chip:nth-child(3n){--r:-1.5deg}.chip:nth-child(3n+1){--r:1.2deg}.chip:hover{background:#f2b134;color:var(--ink)}
.chef{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:26px;background:#fff;margin-top:40px}.chef h3{font-family:"Luckiest Guy",Bangers!important;font-size:38px;-webkit-text-stroke:.6px var(--ink)}.chef h3:before{content:"EPISODE 1 ";font-family:Bangers;font-size:14px;color:var(--acc7);letter-spacing:.2em;display:block;-webkit-text-stroke:0}
.bubble b{font-family:Bangers!important;font-size:20px;letter-spacing:.06em}
.foot{border-top:4px solid var(--ink);font-family:"Patrick Hand"}
.legend span{font-family:"Patrick Hand"}
.sfx .fx{font-family:Bangers!important}
.pagelbl text{font-family:Bangers!important;font-size:12px!important}
:root[data-theme=dark] .sh a,:root[data-theme=dark] .region,:root[data-theme=dark] .chip,:root[data-theme=dark] .chef{background:var(--surface);color:var(--text)}
@media(max-width:900px){.regions{grid-template-columns:repeat(2,1fr);gap:14px}.region{margin:0}.hero h1{transform:none}}

.wfa-nav{max-width:1180px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.heroart .sfx{z-index:1}
@media(max-width:700px){.sh h2{white-space:normal;font-size:clamp(30px,8.5vw,52px)}}
@media(max-width:900px){.heroart .sfx{right:0}}
@media(max-width:700px){.hero>div{min-width:0}.stats{flex-wrap:wrap;width:100%}.stats div{flex:1 0 40%}.stats div:nth-child(2n){border-right:0}}
.map.is-loading{display:grid;place-items:center}
.map .maploading{font-family:Bangers,"Barlow Condensed",sans-serif;font-size:22px;letter-spacing:.06em;color:var(--n6);margin:0}
.map:not(.is-loading) .maploading{display:none}
.map.is-failed .maploading:after{content:" — the map did not load. Use the full-screen map instead."}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* .foot used to BE this page's footer; the real one is a template part now and
   this is only the map's caveat. Drop the 4px rule it inherited — two heavy
   borders stacked 20px apart read as a mistake. */
p.foot{border-top:0;margin:22px 0 0;padding:0;font-size:14px}
