/* 世界の料理ガチャ：屋台の黒板メニュー。深い緑の黒板にチョークの白、サフランと唐辛子の色。料理のカードだけ紙。単一テーマ */
:root{
  --bg:#1f2b25;--board:#26352d;--chalk:#f1efe6;--chalk-soft:#b9c2b8;--saffron:#f0a830;--chili:#e2553b;
  --paper:#fbf6ea;--ink:#2a2620;--ink-soft:#6d655a;--line:rgba(241,239,230,.18);--leaf:#5fae6a;
  --r-n:#9aa59b;--r-r:#5fb0d6;--r-sr:#b98ae6;--r-ssr:#f0a830;--r-ur:#ff5b8a;
  --rainbow:linear-gradient(90deg,#ff3b3b,#ffb03b,#fff23b,#3bff6e,#3bd5ff,#7a5bff,#ff3bd2,#ff3b3b);
  --font-display:"Yusei Magic","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;
  --font-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  --font-num:"Azeret Mono",ui-monospace,monospace;
  color-scheme:dark;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%;touch-action:manipulation}
body{margin:0;background:var(--bg);color:var(--chalk);font-family:var(--font-body);line-height:1.7;
  background-image:radial-gradient(ellipse at 50% -10%,rgba(240,168,48,.16),transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 2px,transparent 2px 6px)}
.wrap{max-width:560px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px 48px;display:flex;flex-direction:column;gap:18px}
h1{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,9vw,46px);line-height:1.2;margin:0;text-wrap:balance}
h1 span{color:var(--saffron)}
h2{font-family:var(--font-display);font-weight:400;font-size:20px;margin:0;color:var(--saffron)}
p{margin:0}
a{color:var(--saffron)}
.soft{color:var(--chalk-soft);font-size:14px}
button{font:inherit}
:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}

/* タブ */
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;border:1px solid var(--line);background:rgba(0,0,0,.2);color:var(--chalk);border-radius:999px;padding:6px 14px;font-size:14px;cursor:pointer;white-space:nowrap}
.tab[aria-selected="true"]{background:var(--saffron);color:var(--ink);border-color:var(--saffron);font-weight:700}
.panel{display:flex;flex-direction:column;gap:14px}

/* ガチャ台 */
.machine{background:var(--board);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.reel{height:150px;border-radius:14px;background:#141c18;box-shadow:inset 0 4px 16px rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden}
.reel .e{font-size:72px;line-height:1}
.reel .f{font-size:40px;line-height:1}
.reel .q{font-family:var(--font-display);font-size:80px;color:#3a4a40}
.reel .nm{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-family:var(--font-display);font-size:16px;color:var(--chalk-soft)}
.reel.spin .e,.reel.spin .f{filter:blur(1.5px)}
.reel.hit{animation:reelhit .5s ease-out}
.reel.r-SSR{box-shadow:inset 0 4px 16px rgba(0,0,0,.7),0 0 0 3px var(--r-ssr),0 0 26px var(--r-ssr)}
.reel.r-UR{box-shadow:inset 0 4px 16px rgba(0,0,0,.7),0 0 0 3px #fff,0 0 30px #ff5b8a}
.reel.r-UR::before{content:"";position:absolute;inset:0;background:var(--rainbow);background-size:300% 100%;opacity:.35;animation:niji 1s linear infinite}
@keyframes niji{to{background-position:300% 0}}
@keyframes reelhit{0%{transform:scale(1.06)}100%{transform:none}}
.go{font-family:var(--font-display);font-size:24px;cursor:pointer;border:0;border-radius:16px;padding:14px 10px;background:linear-gradient(180deg,#ffd27a,var(--saffron) 55%,#c47e10);color:var(--ink);box-shadow:0 5px 0 #8a5608,0 0 22px rgba(240,168,48,.35);touch-action:manipulation;user-select:none;-webkit-user-select:none}
.go:active{transform:translateY(4px);box-shadow:0 1px 0 #8a5608}
.go:disabled{filter:saturate(.4) brightness(.8)}
.go small{display:block;font-family:var(--font-body);font-size:12px;opacity:.8}
.go.sub{font-size:18px;padding:10px;background:transparent;color:var(--chalk);border:2px solid var(--saffron);box-shadow:none}
.rarity-note{font-size:12px;color:var(--chalk-soft);display:flex;flex-wrap:wrap;gap:4px 10px}
.rarity-note b{font-family:var(--font-num)}
.dex{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--chalk-soft)}
.dex b{font-family:var(--font-num);color:var(--chalk);font-size:16px}
.dexbar{height:6px;border-radius:3px;background:rgba(241,239,230,.1);overflow:hidden}
.dexbar i{display:block;height:100%;background:var(--saffron);transition:width .4s}
.iconbtn{position:absolute;top:10px;font-size:14px;border:1px solid var(--line);background:rgba(0,0,0,.3);color:var(--chalk);border-radius:999px;padding:2px 10px;cursor:pointer;z-index:2}
.mute{right:10px}

/* 小さい料理カード（一覧・結果） */
.res{all:unset;box-sizing:border-box;cursor:pointer;background:var(--paper);color:var(--ink);border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:12px;border-top:6px solid var(--rc);width:100%}
.res .e{font-size:44px;line-height:1;flex:0 0 auto}
.res .rar{font-family:var(--font-num);font-size:12px;font-weight:600;color:var(--rc);filter:brightness(.8)}
.res .nm{font-weight:700;font-size:17px;line-height:1.3}
.res .co{font-size:13px;color:var(--ink-soft)}
.res .more{margin-left:auto;font-size:12px;color:var(--ink-soft);white-space:nowrap}
.res .rank{font-family:var(--font-num);font-weight:700;font-size:20px;color:var(--ink-soft);width:1.6em;text-align:center}
.res .pct{margin-left:auto;font-family:var(--font-num);font-weight:700;font-size:16px;white-space:nowrap}
.res-list{display:flex;flex-direction:column;gap:8px}

/* 詳しいカード */
.sheet{position:fixed;inset:0;z-index:20;background:rgba(10,14,12,.72);display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none!important}
.card{background:var(--paper);color:var(--ink);width:100%;max-width:560px;max-height:92%;overflow-y:auto;border-radius:20px 20px 0 0;padding:16px max(18px,env(safe-area-inset-left,0px)) calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px;animation:up .28s cubic-bezier(.2,.9,.2,1)}
.card > *{flex-shrink:0}
.card.inpage{max-height:none;border-radius:20px;animation:none}
@keyframes up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.card .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.card .badge{font-size:40px;line-height:1}
.close{all:unset;cursor:pointer;font-size:14px;font-weight:700;padding:6px 12px;border-radius:999px;background:#ece4d2;color:var(--ink)}
.card h3,.card h1.dn{font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1.25;margin:0;color:var(--ink)}
.one{font-size:16px;font-weight:700;color:var(--ink);margin:-6px 0 0}
.meta{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;background:#ece4d2;color:var(--ink);white-space:nowrap}
.tag.r{background:var(--rc);color:#1b1b16}
.tag.star{color:#a36a00}
.jp{font-size:14px;color:var(--ink-soft)}
.jp b{color:var(--ink)}
.quip{background:#2a2620;color:var(--paper);border-radius:12px;padding:10px 14px;font-family:var(--font-display);font-size:16px}
.card h4,.card h2.h{font-size:14px;margin:0;color:var(--chili);letter-spacing:.06em;font-family:var(--font-body);font-weight:700}
.card .what{font-size:15px}
.src{font-size:11px;color:var(--ink-soft);font-weight:400;margin-left:6px}
.taste{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;font-size:13px}
.taste .bar{height:10px;border-radius:5px;background:#ece4d2;overflow:hidden}
.taste .bar i{display:block;height:100%;border-radius:5px}
.taste-say{font-size:15px;background:#fff3d6;border-left:4px solid var(--saffron);padding:8px 12px;border-radius:0 10px 10px 0}
.how{font-size:14px;background:#eef4ea;border-left:4px solid var(--leaf);padding:8px 12px;border-radius:0 10px 10px 0}
.ing{margin:0;padding-left:1.2em;font-size:14px}
.subnote{font-size:13px;color:var(--ink-soft);background:#f2ead8;border-radius:8px;padding:6px 10px}
.steps{margin:0;padding:0;list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:8px}
.steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;gap:8px;font-size:14px}
.steps li::before{content:counter(s);font-family:var(--font-num);font-weight:600;background:var(--ink);color:var(--paper);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px}
.warn{border:2px dashed var(--chili);border-radius:12px;padding:8px 12px;font-size:13px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap}
.btnrow > *{flex:1 1 140px}
.pill{display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;font-weight:700;font-size:14px;color:var(--ink);background:#ece4d2;border:0;border-radius:12px;padding:10px;cursor:pointer;text-align:center}
.pill.on{background:var(--leaf);color:#fff}
.yt{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;font-size:14px;color:#fff;background:#e62117;border-radius:12px;padding:10px}

/* 投票 */
.vote{display:flex;flex-direction:column;gap:8px;background:#f2ead8;border-radius:14px;padding:10px 12px}
.vote .q2{font-size:13px;font-weight:700}
.vote .vb{display:flex;gap:8px}
.vote button{flex:1;border:0;border-radius:10px;padding:10px;font-weight:700;font-size:15px;cursor:pointer}
.vote .yes{background:var(--saffron);color:var(--ink)}
.vote .no{background:#4a4038;color:#fff}
.vote .res2{display:flex;height:26px;border-radius:8px;overflow:hidden;font-size:12px;font-weight:700}
.vote .res2 span{display:flex;align-items:center;padding:0 8px;white-space:nowrap;min-width:0;overflow:hidden}
.vote .res2 .y{background:var(--saffron);color:var(--ink)}
.vote .res2 .n{background:#4a4038;color:#fff;justify-content:flex-end;flex:1}
.vote .cnt{font-size:11px;color:var(--ink-soft)}

/* 写真 */
.gallery{display:flex;flex-direction:column;gap:6px}
.photo{position:relative;border-radius:14px;overflow:hidden;background:#e8dfcc;aspect-ratio:16/10;max-width:100%}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo .cr{position:absolute;right:6px;bottom:4px;max-width:90%;font-size:10px;color:#fff;background:rgba(0,0,0,.5);padding:1px 6px;border-radius:4px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo.sens img{filter:blur(18px);transform:scale(1.1)}
.photo.sens::after{content:"見た目が苦手な人は注意。押すと見えます";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;background:rgba(0,0,0,.35);text-align:center;padding:16px}
.photo.sens{cursor:pointer}
.photo.none{display:flex;align-items:center;justify-content:center;font-size:72px}
.photo.loading::before{content:"写真を読み込み中…";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-soft)}
.thumbs{display:flex;gap:6px}
.thumbs button{flex:0 0 72px;height:48px;border-radius:8px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:#e8dfcc}
.thumbs button[aria-current="true"]{border-color:var(--saffron)}
.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.blurset{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:6px;cursor:pointer;align-self:flex-start}

/* 動画 */
.video{position:relative;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:16/9;max-width:100%;cursor:pointer}
.video img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;background:#e62117;border-radius:12px}
.video .play::after{content:"";position:absolute;left:26px;top:12px;border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent}
.video .vt{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.video .lang{position:absolute;left:8px;top:8px;font-size:11px;font-weight:700;background:#fff;color:#222;border-radius:4px;padding:1px 6px}

/* 国 */
.country{background:#1d2a24;color:var(--chalk);border-radius:14px;overflow:hidden}
.globe{position:relative;height:220px;background:radial-gradient(circle at 50% 45%,#22364a,#0e1a24 70%);touch-action:none}
.globe svg{display:block;width:100%;height:100%}
.globe .ocean{fill:#1b4b74}
.globe .land{fill:#5f8a5a;stroke:#2c4a2a;stroke-width:.4}
.globe .land.has{fill:#7aa070;cursor:pointer}
.globe .land.got{fill:#f0a830}
.globe .land.ate{fill:#e2553b}
.globe .land.hit{fill:#f0a830;stroke:#fff;stroke-width:1}
.globe .grat{fill:none;stroke:rgba(255,255,255,.12);stroke-width:.5}
.globe .rim{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.5}
.pin{fill:#e2553b;stroke:#fff;stroke-width:2}
.pinring{fill:none;stroke:#e2553b;stroke-width:2;animation:ping 1.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes ping{from{transform:scale(.5);opacity:1}to{transform:scale(3);opacity:0}}
.globe .lbl{position:absolute;left:10px;bottom:8px;font-size:12px;color:var(--chalk-soft)}
.globe.big{height:min(92vw,420px)}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--chalk-soft)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.cinfo{padding:12px 14px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:14px}
.cinfo .k{color:var(--saffron);font-weight:700;font-size:12px;white-space:nowrap;padding-top:2px}
.cinfo .src{color:var(--chalk-soft)}
.cname{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:22px}
.cname .fl{font-size:34px;line-height:1}
.cnote{grid-column:1/-1;font-size:12px;color:var(--chalk-soft)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;font-size:14px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.1)}
.facts .k{color:var(--saffron);font-weight:700;font-size:12px;white-space:nowrap;padding-top:2px}
.fam{display:flex;flex-direction:column;gap:4px}
.fam b{display:block}
.fam small{color:var(--chalk-soft)}
.chiplist{display:flex;flex-wrap:wrap;gap:6px}
.chiplist .tag{background:rgba(255,255,255,.1);color:var(--chalk)}
.chiplist button.tag{cursor:pointer;border:0}

/* 買う・関連 */
.buy{display:flex;flex-direction:column;gap:8px;border-top:1px solid #e3d9c4;padding-top:12px}
.buy .item{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.buy .item b{font-size:14px}
.chips{display:flex;gap:6px}
.chip{font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px;text-decoration:none;color:#fff}
.chip.az{background:#e47911}.chip.rk{background:#bf0000}.chip.yh{background:#ff0033}
.related{display:flex;flex-direction:column;gap:6px}
.related .rl{display:flex;flex-wrap:wrap;gap:6px}
.related a,.related button{all:unset;cursor:pointer;font-size:13px;background:#ece4d2;color:var(--ink);border-radius:999px;padding:4px 10px}
.share{all:unset;cursor:pointer;text-align:center;background:var(--ink);color:var(--paper);font-weight:700;border-radius:12px;padding:12px}
.pagelink{font-size:13px;text-align:center;color:var(--ink-soft)}
.pagelink a{color:var(--ink)}

/* クイズ */
.quiz{background:var(--board);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:12px}
.qtop{display:flex;justify-content:space-between;font-size:13px;color:var(--chalk-soft)}
.qtop b{font-family:var(--font-num);color:var(--chalk)}
.qdish{background:var(--paper);color:var(--ink);border-radius:14px;overflow:hidden}
.qdish .photo{border-radius:0}
.qdish .qn{padding:10px 12px}
.qdish .qn b{font-family:var(--font-display);font-size:22px;font-weight:400}
.qopts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qopt{border:2px solid var(--line);background:rgba(0,0,0,.2);color:var(--chalk);border-radius:12px;padding:10px;font-size:15px;font-weight:700;cursor:pointer;min-height:56px}
.qopt.ok{background:var(--leaf);border-color:var(--leaf)}
.qopt.ng{background:var(--chili);border-color:var(--chili)}
.qfeed{min-height:24px;font-size:14px}

/* 図鑑 */
.list{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}
.cell{aspect-ratio:1;border-radius:8px;background:rgba(241,239,230,.06);display:flex;align-items:center;justify-content:center;font-size:20px;border:1px solid var(--line);cursor:pointer;padding:0;color:var(--chalk);position:relative}
.cell.lock{font-size:12px;color:var(--chalk-soft);cursor:default;font-family:var(--font-display)}
.cell.ate::after{content:"✓";position:absolute;right:1px;bottom:-2px;font-size:10px;color:#ff8a7a;font-weight:700}
.title-card{background:linear-gradient(135deg,#3a2a10,#1d2a24);border:1px solid var(--saffron);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px}
.title-card .tt{font-family:var(--font-display);font-size:28px;color:var(--saffron)}
.title-card .next{font-size:12px;color:var(--chalk-soft)}
footer{font-size:12px;color:var(--chalk-soft)}
#fx{position:fixed;inset:0;pointer-events:none;z-index:30;width:100%;height:100%}
.crumbs{font-size:13px;color:var(--chalk-soft)}
.crumbs a{color:var(--chalk-soft)}
@media (max-width:380px){.list{grid-template-columns:repeat(7,1fr)}}
@media (prefers-reduced-motion:reduce){.reel.r-UR::before,.pinring,.card{animation:none}}

/* 2026-10-15 追加：タブ構成・UR演出・地球儀の点 */
.panel[hidden]{display:none!important}
.reel.pre{box-shadow:inset 0 4px 16px rgba(0,0,0,.7),0 0 0 3px #fff,0 0 30px #ff5b8a;animation:shake .12s linear infinite}
@keyframes shake{0%,100%{transform:none}25%{transform:translate(2px,-1px)}75%{transform:translate(-2px,1px)}}
.cutin{position:fixed;left:0;right:0;top:34%;z-index:40;pointer-events:none;height:110px;display:flex;align-items:center;justify-content:center;transform:skewY(-8deg);background:linear-gradient(90deg,transparent,rgba(0,0,0,.85) 12%,rgba(0,0,0,.85) 88%,transparent);animation:cutin 1.6s cubic-bezier(.2,.9,.2,1) forwards}
.cutin span{font-family:var(--font-display);font-size:clamp(40px,12vw,72px);white-space:nowrap;background:var(--rainbow);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:niji .6s linear infinite;filter:drop-shadow(0 0 10px rgba(255,255,255,.6))}
.cutin.ssr span{background:linear-gradient(90deg,#fff2c4,#f0a830,#fff2c4);background-size:200% 100%;-webkit-background-clip:text;background-clip:text}
@keyframes cutin{0%{transform:skewY(-8deg) translateX(-110%)}18%{transform:skewY(-8deg) translateX(0)}80%{transform:skewY(-8deg) translateX(0);opacity:1}100%{transform:skewY(-8deg) translateX(110%);opacity:0}}
.flash{position:fixed;inset:0;z-index:35;pointer-events:none;background:#fff;animation:flash .6s ease-out forwards}
.flash.ur{background:radial-gradient(circle,#fff,#ff5b8a 60%,transparent)}
@keyframes flash{from{opacity:.8}to{opacity:0}}
.globe .dot,svg .dot{fill:#f1efe6;stroke:#1d2a24;stroke-width:1.2;cursor:pointer}
.globe .dot.got,svg .dot.got{fill:#f0a830}
.globe .dot.ate,svg .dot.ate{fill:#e2553b}
.globe .dot.hit,svg .dot.hit{fill:#fff;stroke:#e2553b;stroke-width:2.5}
.select{width:100%;font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#141c18;color:var(--chalk)}
.conq{font-size:13px;color:var(--chalk-soft)}
.conq b{font-family:var(--font-num);color:var(--saffron);font-size:16px}
.box{background:var(--board);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:12px}
.setting{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--chalk-soft)}
.card .pagelink{margin:0}

/* 2026-10-15 トップのブラッシュアップ：万博みたいににぎやかに。写真と国旗の2分割、これまでに出た料理 */
body{background-color:#17203a;background-image:
  radial-gradient(circle at 8% 12%,rgba(255,91,138,.28),transparent 28%),
  radial-gradient(circle at 92% 8%,rgba(95,176,214,.30),transparent 30%),
  radial-gradient(circle at 85% 55%,rgba(240,168,48,.22),transparent 30%),
  radial-gradient(circle at 10% 70%,rgba(124,195,106,.22),transparent 30%),
  radial-gradient(circle at 50% 100%,rgba(185,138,230,.25),transparent 40%),
  repeating-conic-gradient(from 0deg at 50% -10%,rgba(255,255,255,.035) 0 6deg,transparent 6deg 12deg)}
.bunting{height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='30'%3E%3Cpath d='M0 3 Q80 12 160 3' stroke='%23f1efe6' stroke-width='1.5' fill='none'/%3E%3Cpath d='M4 4 L24 6 L14 26Z' fill='%23e2553b'/%3E%3Cpath d='M44 7 L64 8.5 L54 28Z' fill='%23f0a830'/%3E%3Cpath d='M84 8 L104 7.5 L94 28Z' fill='%235fb0d6'/%3E%3Cpath d='M124 6 L144 4.5 L134 25Z' fill='%237cc36a'/%3E%3C/svg%3E") repeat-x;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
.ticker{overflow:hidden;white-space:nowrap;font-size:22px;line-height:1.5;padding:2px 0;background:rgba(0,0,0,.25);border-block:1px solid rgba(255,255,255,.12)}
.ticker span{display:inline-block;animation:tick 90s linear infinite;padding-left:8px}
@keyframes tick{to{transform:translateX(-50%)}}
h1.expo{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 1px}
h1.expo i{font-style:normal;display:inline-block;text-shadow:0 3px 0 rgba(0,0,0,.35)}
h1.expo i:nth-child(1){color:#ff7a9c}h1.expo i:nth-child(2){color:#7fd3ff}h1.expo i:nth-child(3){color:#f1efe6;font-size:.8em}
h1.expo b{font-weight:400;font-size:1.15em;margin:0 2px;background:#f0a830;color:#17203a;border-radius:10px;padding:0 6px;transform:rotate(-3deg);display:inline-flex}
h1.expo b i{color:#17203a!important;text-shadow:none}
h1.expo > i:nth-of-type(4){color:#9be27f}h1.expo > i:nth-of-type(5){color:#ffd166}h1.expo > i:nth-of-type(6){color:#c9a6ff}
.machine{background:linear-gradient(160deg,rgba(38,53,45,.92),rgba(30,36,64,.92));box-shadow:0 0 0 3px rgba(240,168,48,.35),0 10px 30px rgba(0,0,0,.4)}
.reel2{position:relative;display:grid;grid-template-columns:1fr 1fr;height:200px;border-radius:14px;overflow:hidden;background:#141c18;box-shadow:inset 0 4px 16px rgba(0,0,0,.7)}
.reel2 .half{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}
.reel2 .ph{background:repeating-linear-gradient(45deg,#2a2620 0 12px,#332e26 12px 24px);clip-path:polygon(0 0,100% 0,88% 100%,0 100%);margin-right:-12%;z-index:1}
.reel2 .fl{background:radial-gradient(circle,#2b3a66,#151c33)}
.reel2 .q{font-family:var(--font-display);font-size:72px;color:rgba(255,255,255,.18)}
.reel2 .q.load{animation:blink .8s infinite}
@keyframes blink{50%{opacity:.3}}
.reel2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel2 img.sens{filter:blur(16px);transform:scale(1.1)}
.reel2 .sensmsg{position:relative;font-size:12px;font-weight:700;background:rgba(0,0,0,.5);padding:2px 8px;border-radius:6px}
.reel2 .noph{font-family:var(--font-display);font-size:24px;padding:12px;text-align:center;color:var(--paper)}
.reel2 .flag{font-size:96px;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.reel2 .cn{font-family:var(--font-display);font-size:18px;margin-top:4px}
.reel2.spin .flag{animation:pop .12s}
@keyframes pop{from{transform:scale(.85)}to{transform:none}}
.reel2.hit{animation:reelhit .5s ease-out}
.reel2.r-SSR{box-shadow:inset 0 4px 16px rgba(0,0,0,.7),0 0 0 3px var(--r-ssr),0 0 26px var(--r-ssr)}
.reel2.r-UR{box-shadow:0 0 0 3px #fff,0 0 30px #ff5b8a}
.reel2.r-UR::after{content:"";position:absolute;inset:0;background:var(--rainbow);background-size:300% 100%;opacity:.25;animation:niji 1s linear infinite;pointer-events:none;z-index:2}
.reel2.pre{box-shadow:0 0 0 3px #fff,0 0 30px #ff5b8a;animation:shake .12s linear infinite}
.reelcap{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:-4px}
.reelcap .nm{font-family:var(--font-display);font-size:22px}
.reelcap .kd{font-size:13px;color:var(--chalk-soft);white-space:nowrap}
.histgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hcard{all:unset;box-sizing:border-box;cursor:pointer;background:var(--paper);color:var(--ink);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;border-top:5px solid var(--rc)}
.hph{position:relative;aspect-ratio:4/3;background:#e8dfcc center/cover no-repeat;display:block}
.hph.sens{filter:blur(10px)}
.hfl{position:absolute;right:6px;bottom:4px;font-size:30px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.hph:not([style*="url"]) .hfl{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);font-size:56px}
.hb{padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.hr{display:flex;gap:6px;align-items:center;font-size:11px}
.hr b{font-family:var(--font-num);color:var(--rc);filter:brightness(.8)}
.hr i{font-style:normal;font-weight:700;color:#fff;background:var(--chili);border-radius:4px;padding:0 4px}
.hr em{font-style:normal;font-weight:700;color:#1b1b16;border-radius:999px;padding:0 6px;margin-left:auto;white-space:nowrap}
.hn{font-weight:700;font-size:15px;line-height:1.3}
.hc{font-size:12px;color:var(--ink-soft)}
.tag.kind{color:#1b1b16}
.endrow{gap:8px}
.endrow .share{flex:1 1 120px}
.share.again{background:linear-gradient(180deg,#ffd27a,var(--saffron));color:var(--ink);text-decoration:none}
.flight{display:inline-block;margin-top:4px;font-size:13px;font-weight:700;color:var(--saffron)}
@media (prefers-reduced-motion:reduce){.ticker span{animation:none}}

/* 国の音とくらし */
.culture{background:linear-gradient(160deg,#22305a,#1d2a24);color:var(--chalk);border-radius:14px;overflow:hidden}
.culture .ctitle{margin:0;padding:12px 14px 0;font-family:var(--font-display);font-size:18px;color:var(--saffron)}
.hello{display:flex;align-items:center;gap:12px;padding:10px 14px}
.hello .hn{font-size:32px;line-height:1.2;font-weight:700;word-break:keep-all}
.hello .hk{font-size:13px;flex:1;line-height:1.5}
.hello .hk small{color:var(--chalk-soft)}
.say{border:0;border-radius:999px;background:var(--saffron);color:var(--ink);font-weight:700;padding:8px 12px;cursor:pointer;white-space:nowrap}
.say:disabled{background:#555;color:#ccc}
.now{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:8px 14px;background:rgba(0,0,0,.2);font-size:14px}
.now .k{color:var(--saffron);font-weight:700;font-size:12px}
.minibtn{display:inline-block;margin-top:6px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:var(--chalk);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;text-align:left}
.culture [data-songbox]:not(:empty){padding:0 14px 14px}
.culture small{color:var(--chalk-soft)}

/* 材料を買う：楽天の商品写真つき */
.pitem{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start;background:#fff;border:1px solid #e3d9c4;border-radius:12px;padding:10px}
.pimg{display:block;width:96px;height:96px;border-radius:8px;overflow:hidden;background:#f6f1e7}
.pimg img{width:100%;height:100%;object-fit:contain;display:block}
.pbody{display:flex;flex-direction:column;gap:4px;min-width:0}
.pq{font-size:11px;font-weight:700;color:var(--chili)}
.pname{font-size:13px;line-height:1.45;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pprice{font-family:var(--font-num);font-weight:700;font-size:16px;color:#bf0000}
.pprice small{font-family:var(--font-body);font-weight:400;font-size:11px;color:var(--ink-soft);margin-left:6px}
.pitem .chips{flex-wrap:wrap}
.topbtns{display:flex;gap:8px;align-items:center}
.xshare{border:0;cursor:pointer;font-size:14px;font-weight:700;padding:6px 12px;border-radius:999px;background:#111;color:#fff}
.more-pr{display:flex;flex-direction:column;gap:8px;border-top:1px solid #e3d9c4;padding-top:12px}
.more-pr[hidden]{display:none}
.mprlist{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mpr{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid #e3d9c4;border-radius:12px;padding:8px;text-decoration:none;color:var(--ink)}
.mpr img{width:100%;aspect-ratio:1;object-fit:contain;background:#f6f1e7;border-radius:8px}
.mpr .ml{font-size:11px;font-weight:700;color:var(--chili)}
.mpr .mn{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mpr .mp{font-family:var(--font-num);font-size:13px;font-weight:700;color:#bf0000}
.langsw{align-self:flex-end;font-size:13px;font-weight:700;color:var(--chalk);border:1px solid var(--line);border-radius:999px;padding:3px 12px;text-decoration:none;background:rgba(0,0,0,.25)}
html[lang="en"] h1.expo{font-family:var(--font-display);gap:0}
.qsh{align-self:center;margin-top:4px}
/* 1画面目の「動画をちら見せ」と大きい「もう一回回す」 */
.slot{display:flex;flex-direction:column;gap:10px}
.vpeek{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:128px 1fr;gap:12px;align-items:center;background:#2a2620;color:var(--paper);border-radius:14px;padding:8px;position:relative}
.vpeek img{width:128px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;display:block}
.vpeek .vp-play{position:absolute;left:52px;top:50%;transform:translateY(-50%);width:32px;height:22px;background:#e62117;border-radius:6px}
.vpeek .vp-play::after{content:"";position:absolute;left:12px;top:5px;border-left:10px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.vpeek .vp-t{display:flex;flex-direction:column;gap:2px}
.vpeek b{font-size:15px}.vpeek small{font-size:12px;opacity:.75}
.bigagain{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;font-family:var(--font-display);font-size:22px;padding:14px;border-radius:16px;background:linear-gradient(180deg,#ffd27a,var(--saffron) 55%,#c47e10);color:var(--ink);box-shadow:0 5px 0 #8a5608}
.bigagain:active{transform:translateY(4px);box-shadow:0 1px 0 #8a5608}
.againrow{display:flex;gap:10px;align-items:stretch}
.againrow .bigagain{flex:1}
.bigx{all:unset;box-sizing:border-box;cursor:pointer;flex:0 0 84px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#111;color:#fff;border-radius:16px;font-size:26px;font-weight:700;line-height:1.1;box-shadow:0 5px 0 #000}
.bigx small{font-size:11px;font-weight:700;margin-top:2px}
.bigx:active{transform:translateY(4px);box-shadow:0 1px 0 #000}
