:root{
  --mint:#35C9BE;
  --mizu:#CDEFFC;
  --neon-mist:#F9FCC8;
  --glow-lemon:#F5FF7A;
  --ink:#2a4a4e;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
ruby{ruby-position:over}rt{font-size:.48em;font-weight:700;color:#4e9e99;letter-spacing:0;line-height:1}
html,body{height:100%}
body{
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  background:linear-gradient(180deg,#eafcfa 0%,var(--mizu) 45%,#d8f6f0 100%);
  color:var(--ink);
  display:flex;justify-content:center;
  overflow:hidden;
}
#stage{
  width:100%;max-width:430px;height:100dvh;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  padding-bottom:env(safe-area-inset-bottom);
}
#stage::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 28%,rgba(255,255,255,.55),transparent 62%);
}
/* ---- 遠景レイヤー（丘と木々） ---- */
.bg-scene{
  position:absolute;left:0;right:0;bottom:0;height:32%;
  z-index:0;pointer-events:none;opacity:.9;
}
.bg-scene svg{width:100%;height:100%;display:block}
/* ---- 背景の光の粒 ---- */
.particles{position:absolute;inset:0;pointer-events:none;z-index:0}
.p{
  position:absolute;bottom:-20px;border-radius:3px;
  background:var(--mint);opacity:0;
  animation:rise linear infinite;
  box-shadow:0 0 6px rgba(53,201,190,.8);
}
@keyframes rise{
  0%{transform:translateY(0) rotate(0deg);opacity:0}
  15%{opacity:.5}
  100%{transform:translateY(-105dvh) rotate(200deg);opacity:0}
}
/* ---- 画面共通 ---- */
#app{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:18px 18px 24px}
.scene{display:flex;flex-direction:column;gap:14px;min-height:100%;animation:scenein .4s ease-out}
@keyframes scenein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* 同じ画面内でのタップ再描画（矢印追加・スポット再タップ・作戦カード選択など）はフェード/ポップを再生しない（チカチカ防止） */
.scene.re{animation:none}
.scene.re .strat-card{animation:none}
h1{
  font-size:21px;line-height:1.5;text-align:center;color:var(--ink);
  font-weight:800;letter-spacing:.04em;
  text-shadow:0 0 12px rgba(255,255,255,.95),0 2px 0 rgba(255,255,255,.8);
}
.chapter{text-align:center;font-size:13px;letter-spacing:.2em;color:#5a8f8a}
.eng{text-align:center;font-size:10px;letter-spacing:.35em;color:#8fc4be}
.btn{
  display:block;width:100%;position:relative;
  background:linear-gradient(180deg,#55e2d5 0%,#3ed6ca 45%,var(--mint) 100%);
  color:#fff;font-size:17px;font-weight:800;font-family:inherit;
  letter-spacing:.06em;text-shadow:0 1px 2px rgba(0,80,74,.28);
  border:none;border-radius:999px;padding:14px 10px;
  box-shadow:0 5px 0 #1e9e94,0 10px 18px rgba(53,201,190,.35),inset 0 2px 3px rgba(255,255,255,.55);
  cursor:pointer;min-height:50px;
}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 #1e9e94,0 4px 8px rgba(53,201,190,.3),inset 0 2px 3px rgba(255,255,255,.55)}
.btn.sub{
  background:linear-gradient(180deg,#ffffff,#f2fbfa);color:var(--mint);text-shadow:none;
  box-shadow:0 5px 0 #cfe9e6,0 8px 14px rgba(53,201,190,.18),inset 0 2px 2px #fff;
  border:2px solid #e6f6f4;
}
.btn.sub:active{transform:translateY(4px);box-shadow:0 1px 0 #cfe9e6,inset 0 2px 2px #fff}
.btn.lemon{
  background:linear-gradient(180deg,#fbffb0 0%,var(--glow-lemon) 50%,#e8f45a 100%);
  color:#5a6a1a;text-shadow:0 1px 1px rgba(255,255,255,.7);
  box-shadow:0 5px 0 #c8d44e,0 10px 18px rgba(232,244,90,.5),inset 0 2px 3px rgba(255,255,255,.8);
}
.btn.lemon:active{transform:translateY(4px);box-shadow:0 1px 0 #c8d44e,inset 0 2px 3px rgba(255,255,255,.8)}
.btn:disabled{opacity:.4}
.btn.pulse{animation:ctapulse 2.8s ease-in-out infinite}
@keyframes ctapulse{
  0%,100%{box-shadow:0 5px 0 #1e9e94,0 10px 18px rgba(53,201,190,.35),inset 0 2px 3px rgba(255,255,255,.55)}
  50%{box-shadow:0 5px 0 #1e9e94,0 10px 30px rgba(53,201,190,.75),0 0 22px rgba(245,255,122,.4),inset 0 2px 3px rgba(255,255,255,.55)}
}
.spacer{flex:1}
.lead{
  background:rgba(255,255,255,.88);border-radius:16px;
  padding:12px 14px;font-size:14px;line-height:1.8;
  border:2px solid rgba(255,255,255,.95);
  box-shadow:0 4px 12px rgba(53,201,190,.14);
}
.title-tree{display:block;width:250px;max-width:74%;margin:0 auto;position:relative;z-index:1;
  filter:drop-shadow(0 0 22px rgba(53,201,190,.55));
  animation:breathe 3.5s ease-in-out infinite}
.title-tree svg{width:100%;height:auto;display:block}
/* ---- タイトル ---- */
.title-art{text-align:center;margin:8px 0;position:relative;padding:16px 0}
.tree-emoji{
  font-size:86px;line-height:1;display:block;
  filter:drop-shadow(0 0 18px rgba(53,201,190,.9));
  animation:breathe 3s ease-in-out infinite;
}
.book-emoji{
  font-size:60px;line-height:1;display:block;margin-top:-14px;
  filter:drop-shadow(0 6px 10px rgba(53,201,190,.4));
}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.catch{text-align:center;font-size:13px;color:#4e7f7a;line-height:2}
.title-img{
  width:230px;max-width:70%;border-radius:24px;
  box-shadow:0 0 26px rgba(53,201,190,.55),0 6px 18px rgba(53,201,190,.3);
  animation:breathe 3.5s ease-in-out infinite;
  position:relative;z-index:1;
}
.face img{display:block}
.face svg{width:100%;height:100%;display:block}
.duo{display:flex;justify-content:center;gap:20px;position:relative;z-index:1}
.duo-face{
  width:76px;height:76px;border-radius:50%;background:#fff;padding:5px;
  box-shadow:0 0 0 3px var(--mint),0 0 22px rgba(53,201,190,.7);
  animation:floaty 3.4s ease-in-out infinite;
}
.duo-face:last-child{box-shadow:0 0 0 3px #6EB8F7,0 0 22px rgba(110,184,247,.7)}
.duo-face svg{width:100%;height:100%}
.cell.neo svg{width:88%;height:88%;display:block;margin:auto}
.glow-ring{
  position:absolute;left:50%;top:50%;margin-left:-120px;margin-top:-120px;
  width:240px;height:240px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(245,255,122,.4),rgba(53,201,190,.16) 55%,transparent 72%);
  animation:breathe 4s ease-in-out infinite;
}
.spin-rays{
  position:absolute;left:50%;top:50%;width:300px;height:300px;
  transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(rgba(255,255,255,.5) 0 6deg,transparent 6deg 24deg);
  -webkit-mask:radial-gradient(circle,transparent 28%,black 42%,transparent 70%);
  mask:radial-gradient(circle,transparent 28%,black 42%,transparent 70%);
  animation:spin 16s linear infinite;
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.book-glow{
  position:absolute;left:50%;bottom:14px;margin-left:-85px;
  width:170px;height:56px;border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse,rgba(255,255,255,.95),rgba(245,255,122,.55) 45%,transparent 72%);
  filter:blur(2px);animation:breathe 2.2s ease-in-out infinite;
}
.fbadge{
  position:absolute;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;
  font-size:22px;
  box-shadow:0 0 18px rgba(53,201,190,.6);
  animation:floaty 3.4s ease-in-out infinite;
}
.fbadge svg{filter:drop-shadow(0 0 5px rgba(53,201,190,.85))}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.title-chip{
  text-align:center;font-size:12px;color:#5a8f8a;
}
.title-chip .reset{color:#9bc4c0;text-decoration:underline;cursor:pointer;margin-left:10px}
.title-chip .report-link{color:var(--mint);text-decoration:underline;cursor:pointer;margin-left:10px}
/* ---- 会話のシーン舞台 ---- */
.stage{
  height:clamp(160px,26dvh,220px);flex:none;
  border-radius:18px;overflow:hidden;position:relative;
  border:3px solid #fff;
  box-shadow:0 0 24px rgba(53,201,190,.30),0 8px 20px rgba(42,74,78,.16),inset 0 0 0 1px #e3f6f4;
  animation:pop .35s ease-out;
}
.stage-fx{position:absolute;inset:0;pointer-events:none;z-index:2}
.stage-fx .twinkle{text-shadow:0 0 4px rgba(245,255,122,.45)}
.story-art{width:100%;height:100%;display:block;object-fit:cover;object-position:center 47%;filter:saturate(.94) contrast(.98)}
/* ---- 会話 ---- */
.bubble-area{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding-bottom:6px}
/* 会話画面はシーン+会話をひとかたまりで中央へ（縦長画面で間延びさせない） */
.scene.dlg{justify-content:center}
.scene.dlg .bubble-area{flex:0 0 auto;justify-content:flex-start;min-height:225px}
.bubble{display:flex;gap:10px;align-items:flex-start;animation:pop .25s ease-out}
.bubble.past{opacity:.5;transform:scale(.96);transform-origin:left bottom}
.bubble:not(.past) .face{flex-basis:58px;height:58px}
@keyframes pop{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.face{
  flex:0 0 52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;background:#fff;
  box-shadow:0 0 0 3px var(--mint),0 0 14px rgba(53,201,190,.5);
  animation:floaty 3.2s ease-in-out infinite;
}
.bubble.lamy .face{box-shadow:0 0 0 3px #6EB8F7,0 0 14px rgba(110,184,247,.6)}
.bubble .txt{
  background:#fff;border-radius:16px;padding:12px 14px;
  font-size:15px;line-height:1.8;
  box-shadow:0 3px 10px rgba(53,201,190,.18);
}
.bubble .name{font-size:11px;font-weight:bold;color:var(--mint);display:block;margin-bottom:2px}
.bubble.lamy .name{color:#4fb6e8}
.tap-hint{text-align:center;font-size:12px;color:#7fb5b0;animation:blink 2.2s infinite}
@keyframes blink{0%,100%{opacity:.45}50%{opacity:.9}}
.skip-btn{
  position:absolute;top:12px;left:14px;z-index:5;
  border:none;border-radius:999px;padding:8px 14px;min-height:36px;
  background:rgba(255,255,255,.85);color:#7fb5b0;font-size:12px;
  font-family:inherit;cursor:pointer;box-shadow:0 2px 8px rgba(53,201,190,.2);
}
/* ---- 探索画面 ---- */
.forest{
  position:relative;flex:1;min-height:380px;border-radius:20px;overflow:hidden;
  border:3px solid #fff;
  box-shadow:0 0 24px rgba(53,201,190,.30),0 8px 20px rgba(42,74,78,.14),inset 0 0 0 1px #e3f6f4;
}
.forest-bg{position:absolute;inset:0;pointer-events:none}
.forest-bg svg,.forest-bg img{width:100%;height:100%;object-fit:cover;display:block}
.spot{
  position:absolute;width:52px;height:52px;border:none;border-radius:50%;
  background:rgba(255,255,255,.55);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:22px;
  box-shadow:0 0 12px rgba(255,255,255,.9);
  animation:spotpulse 3.6s ease-in-out infinite;
  transform:translate(-50%,-50%);
}
@keyframes spotpulse{
  0%,100%{box-shadow:0 0 10px rgba(255,255,255,.7)}
  50%{box-shadow:0 0 18px rgba(245,255,122,.8)}
}
.spot .q{opacity:.65;font-size:19px}
.spot.found{
  background:rgba(255,255,255,.95);animation:none;
  box-shadow:0 0 0 3px var(--mint),0 2px 8px rgba(53,201,190,.4);
}
.spot:active{transform:translate(-50%,-50%) scale(.9)}
.spot.found::after{
  content:'✓';position:absolute;right:-4px;top:-4px;
  width:20px;height:20px;border-radius:50%;background:var(--mint);
  color:#fff;font-size:12px;line-height:20px;font-weight:bold;
}
.explore-hud{display:flex;align-items:center;gap:10px;justify-content:space-between}
.explore-count{font-size:13px;color:#5a8f8a;font-weight:bold}
.explore-more-hint{text-align:center;font-size:12px;color:#7fb5b0}
.find-popup{
  position:absolute;left:10px;right:10px;bottom:10px;z-index:6;
  background:#fff;border-radius:18px;padding:14px;
  border:3px solid #eafaf8;
  box-shadow:0 5px 0 #e0f2f0,0 14px 28px rgba(42,74,78,.28);
  font-size:14px;line-height:1.8;animation:pop .25s ease-out;
}
.find-popup .fp-name{font-weight:bold;color:var(--mint);font-size:13px}
.find-popup .fp-close{
  margin-top:8px;width:100%;border:none;border-radius:999px;padding:10px;
  background:var(--mizu);color:var(--ink);font-family:inherit;font-size:14px;
  font-weight:bold;cursor:pointer;min-height:44px;
}
.fp-close:active{transform:scale(.97)}
/* ---- 作戦カード ---- */
.strat-card{
  background:linear-gradient(180deg,#ffffff,#fbfffe);border-radius:18px;padding:14px;text-align:left;width:100%;
  box-shadow:0 4px 0 #e0f2f0,0 8px 16px rgba(53,201,190,.16);cursor:pointer;
  border:3px solid #eafaf8;font-family:inherit;color:var(--ink);
  animation:pop .35s ease-out both;
}
.strat-card:nth-of-type(2){animation-delay:.08s}
.strat-card:nth-of-type(3){animation-delay:.16s}
.strat-card.sel{
  border-color:var(--glow-lemon);transform:translateY(-4px);
  box-shadow:0 0 18px rgba(245,255,122,.9),0 8px 16px rgba(53,201,190,.25);
}
.strat-card:active{transform:scale(.98)}
.strat-card.sel:active{transform:translateY(-4px) scale(.98)}
.strat-head{display:flex;align-items:center;gap:10px}
.strat-head .ico{font-size:32px;animation:floaty 3s ease-in-out infinite}
.strat-head .nm{font-size:16px;font-weight:bold}
.strat-head .ds{font-size:12px;color:#6f9d99}
.strat-stats{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.stat{
  flex:1;min-width:88px;background:#f2fbfa;border-radius:10px;
  padding:6px 8px;font-size:11px;color:#5a8f8a;text-align:center;
}
.stat .v{display:block;font-size:13px;letter-spacing:2px;margin-top:2px;color:var(--mint)}
.stat .v.unknown{color:#b8d8d5}
.strat-warn{
  margin-top:8px;font-size:12px;color:#c98a00;background:var(--neon-mist);
  border-radius:8px;padding:5px 10px;display:inline-block;
}
.lamy-tip{
  display:flex;gap:10px;align-items:flex-start;animation:pop .25s ease-out;
}
/* ---- 作戦選択前：ふたりの意見（コンパクト2行） ---- */
.duo-opinion{display:flex;flex-direction:column;gap:6px}
.lamy-tip.compact{gap:8px}
.lamy-tip.compact .face{flex:0 0 34px;height:34px;box-shadow:0 0 0 2px var(--mint),0 0 8px rgba(53,201,190,.4);animation:none}
.lamy-tip.compact .txt{
  background:#fff;border-radius:12px;padding:6px 11px;font-size:12px;line-height:1.6;
  box-shadow:0 2px 6px rgba(53,201,190,.14);
}
/* ---- ミニゲーム ---- */
.mg-grid{
  display:grid;gap:5px;position:relative;
  background:linear-gradient(160deg,#eafcf2,#d8f4e6);border-radius:18px;padding:9px;
  border:3px solid #fff;
  box-shadow:0 0 0 4px rgba(143,216,184,.35),0 8px 20px rgba(42,74,78,.12),inset 0 0 0 1px #e3f6f4;
}
.mg-grass{position:absolute;width:16px;height:14px;pointer-events:none;opacity:.9;z-index:1}
.mg-grass svg{width:100%;height:100%;display:block}
.mg-grass.tl{top:3px;left:5px}
.mg-grass.tr{top:3px;right:5px;transform:scaleX(-1)}
.mg-grass.bl{bottom:3px;left:5px}
.mg-grass.br{bottom:3px;right:5px;transform:scaleX(-1)}
.cell{
  aspect-ratio:1;border-radius:10px;background:#f0fcfa;
  display:flex;align-items:center;justify-content:center;font-size:22px;
  box-shadow:inset 0 -3px 0 rgba(53,201,190,.12),inset 0 0 0 1px rgba(53,201,190,.18);
  position:relative;
}
.cell svg{pointer-events:none}
.cell.even{background:#f4fdf8}
.cell.odd{background:#ecf9f1}
.cell.rock{background:#dcebe9;box-shadow:inset 0 3px 6px rgba(42,74,78,.14)}
.cell.goal{
  background:var(--neon-mist);
  animation:goalpulse 3.2s ease-in-out infinite;
}
@keyframes goalpulse{
  0%,100%{box-shadow:0 0 10px rgba(245,255,122,.7),inset 0 0 0 2px var(--glow-lemon)}
  50%{box-shadow:0 0 16px rgba(245,255,122,.75),inset 0 0 0 2px var(--glow-lemon)}
}
.cell.neo{background:#d9f7f4;box-shadow:0 0 12px rgba(53,201,190,.8),inset 0 0 0 2px var(--mint)}
.cell.neo{z-index:3;overflow:visible}
.neo-marker{position:relative;display:grid;place-items:center;width:88%;height:88%;z-index:4}
.neo-marker img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#fff;border:2px solid #fff;box-shadow:0 0 0 3px var(--mint),0 5px 14px rgba(36,79,88,.25)}
.neo-marker b{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);white-space:nowrap;padding:2px 5px;border-radius:999px;background:var(--deep);color:#fff;font-size:6px;letter-spacing:.06em;box-shadow:0 2px 5px rgba(36,79,88,.2)}
.cell[data-start]::before{content:'▼';position:absolute;left:50%;top:-14px;transform:translateX(-50%);color:var(--mint);font-size:11px;animation:blink 1.4s infinite}
.cell.neo.moving{animation:hop .3s ease-out}
@keyframes hop{0%{transform:scale(.75)}60%{transform:scale(1.12)}100%{transform:none}}
.cell.crash{animation:shake .4s}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.cell.trail{background:#e4faf7}
.cell.trail::after{
  content:'•';color:var(--mint);font-size:16px;
  text-shadow:0 0 8px rgba(53,201,190,.9);
}
.cell.item{box-shadow:0 0 10px rgba(245,255,122,.55),inset 0 0 0 2px var(--glow-lemon)}
.safe-board{height:clamp(272px,40dvh,340px);grid-template-rows:repeat(6,minmax(0,1fr));background-image:linear-gradient(rgba(229,255,248,.18),rgba(205,239,252,.18)),url('img/game-bg-safe-v2.jpg');background-size:100% 100%;background-position:center;padding:9px}
.safe-board .cell{min-height:0;aspect-ratio:auto;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 -2px 0 rgba(53,201,190,.12),0 2px 7px rgba(36,79,88,.08);backdrop-filter:blur(1.5px)}
.safe-board .cell.rock{background:rgba(224,240,235,.5)}.safe-board .cell.goal{background:rgba(249,252,200,.62)}.safe-board .cell.neo{background:rgba(217,247,244,.78)}.safe-board .cell.trail{background:rgba(228,250,247,.7)}
.safe-board .cell[data-start]{box-shadow:inset 0 0 0 3px var(--mint),0 0 16px rgba(53,201,190,.7)}.safe-board .cell[data-start]::after{content:'START';position:absolute;z-index:5;left:3px;top:2px;padding:1px 3px;border-radius:4px;background:var(--deep);color:#fff;font-size:5px;font-weight:900;letter-spacing:.04em}.safe-board .neo-marker{width:96%;height:96%}
.safe-board .cell.neo[data-start]::after{display:none}
.game-item-art{width:88%;height:88%;display:block;object-fit:cover;border-radius:28%;mix-blend-mode:multiply;filter:drop-shadow(0 3px 4px rgba(36,79,88,.18))}.game-item-art.rock-art{width:94%;height:94%}.game-item-art.spring-art{width:96%;height:96%;animation:breathe 2.8s infinite}
.plan-label{
  font-size:11px;font-weight:bold;color:#5a8f8a;
  letter-spacing:.04em;padding-left:4px;margin-bottom:-6px;
}
.path-howto{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:-3px}.path-howto span{display:flex;align-items:center;gap:6px;min-height:42px;padding:7px 8px;border-radius:12px;background:#fff;color:var(--deep-2);font-size:9px;font-weight:800;line-height:1.45;box-shadow:0 5px 14px rgba(53,201,190,.1);border:1px solid rgba(53,201,190,.16)}.path-howto b{flex:0 0 23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:#fff;font-size:11px}.path-howto:not(.has-plan) span:first-child{border-color:var(--lemon);box-shadow:0 0 0 3px rgba(244,239,165,.32),0 5px 14px rgba(53,201,190,.1)}
.plan-row{
  min-height:44px;
  background:repeating-linear-gradient(180deg,rgba(53,201,190,.14) 0 1px,transparent 1px 16px),#fff;
  border-radius:12px;padding:8px 10px;
  font-size:20px;letter-spacing:4px;line-height:1.4;
  box-shadow:inset 0 0 0 2px rgba(53,201,190,.3);
  word-break:break-all;
}
.plan-row .done{opacity:.25}
.plan-row .empty{color:#b8d8d5;font-size:14px;letter-spacing:0}
.plan-row.pop{animation:planpop .5s ease-out forwards}
@keyframes planpop{
  0%{box-shadow:inset 0 0 0 2px rgba(53,201,190,.3),0 0 0 6px rgba(245,255,122,.5)}
  100%{box-shadow:inset 0 0 0 2px rgba(53,201,190,.3),0 0 0 0 rgba(245,255,122,0)}
}
.pad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pad button{
  font-size:24px;padding:10px 0;border:none;border-radius:14px;
  background:linear-gradient(180deg,#ffffff,#f0faf9);
  box-shadow:0 4px 0 #d4ecea,0 7px 12px rgba(53,201,190,.2),inset 0 2px 2px #fff;
  border:2px solid #e6f6f4;
  cursor:pointer;color:var(--ink);font-family:inherit;min-height:50px;
}
.pad button:active{transform:translateY(3px);box-shadow:0 1px 0 #d4ecea,inset 0 2px 2px #fff}
.mg-msg{
  min-height:40px;text-align:center;font-size:14px;line-height:1.7;
  color:var(--ink);font-weight:bold;
}
.mg-msg .hint{color:#c99a00;font-size:13px;font-weight:normal;display:block}
.mini-reaction{position:relative;height:92px;margin-top:-7px;border-radius:15px;overflow:hidden;border:2px solid white;box-shadow:0 8px 18px rgba(36,79,88,.13)}
.mini-reaction img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block}
.mini-reaction::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,56,64,.62))}
.mini-reaction span{position:absolute;z-index:2;left:10px;right:10px;bottom:7px;color:#fff;text-align:center;font-size:10px;font-weight:900;text-shadow:0 2px 5px rgba(0,0,0,.4)}
.mg-pickup{
  position:absolute;z-index:4;font-size:13px;font-weight:bold;color:#c99a00;
  animation:pickfloat 1s ease-out forwards;pointer-events:none;white-space:nowrap;
}
@keyframes pickfloat{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-26px)}}
/* ---- たんけん作戦：時間内たからさがし ---- */
.hunt-bonus-tag{display:inline-block;margin-top:2px;font-size:12px;color:#c99a00;font-weight:bold}
.hunt-field{
  position:relative;height:clamp(220px,52dvh,340px);border-radius:20px;overflow:hidden;
  border:3px solid #fff;flex:none;
  box-shadow:0 0 24px rgba(53,201,190,.30),0 8px 20px rgba(42,74,78,.14),inset 0 0 0 1px #e3f6f4;
}
.hunt-bg{position:absolute;inset:0;pointer-events:none}
.hunt-bg svg,.hunt-bg img{width:100%;height:100%;object-fit:fill;display:block}
.hunt-timerwrap{
  position:absolute;top:8px;left:8px;right:8px;z-index:3;
  display:flex;align-items:center;gap:8px;
}
.hunt-timerbar{
  flex:1;height:10px;border-radius:999px;background:rgba(255,255,255,.6);
  overflow:hidden;box-shadow:inset 0 0 0 1px rgba(53,201,190,.3),0 1px 4px rgba(42,74,78,.15);
}
.hunt-timerbar-fill{
  height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--mint),var(--glow-lemon));
  width:100%;transition:width .1s linear;
}
.hunt-timertxt{
  font-size:12px;font-weight:bold;color:var(--ink);white-space:nowrap;
  background:rgba(255,255,255,.9);border-radius:999px;padding:3px 10px;
  box-shadow:0 2px 6px rgba(53,201,190,.25);
}
.hunt-spot{
  position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);
  border:none;background:transparent;padding:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;z-index:2;
}
.hunt-spot .hunt-spark{
  width:66%;height:66%;font-size:20px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  opacity:.16;filter:drop-shadow(0 0 4px rgba(255,255,255,.6));
  animation:huntglow 3.3s ease-in-out infinite;
}
.hunt-spot .hunt-spark img{width:100%;height:100%;object-fit:cover;border-radius:50%;mix-blend-mode:screen;filter:drop-shadow(0 0 8px rgba(245,255,122,.9))}
@keyframes huntglow{0%,100%{opacity:.12}50%{opacity:.3}}
.hunt-spot.boost .hunt-spark{animation:huntglowboost 3.1s ease-in-out infinite}
@keyframes huntglowboost{0%,100%{opacity:.28}50%{opacity:.52}}
.hunt-spot.pop .hunt-spark{animation:huntpop .5s ease-out}
@keyframes huntpop{
  0%{transform:scale(.6);opacity:.3}
  45%{transform:scale(1.4);opacity:1}
  100%{transform:scale(1);opacity:1}
}
.hunt-pickup{
  position:absolute;top:-8px;left:50%;transform:translateX(-50%);
  font-size:12px;font-weight:bold;color:#c99a00;white-space:nowrap;
  animation:pickfloat 1s ease-out forwards;pointer-events:none;
}
.hunt-ready{
  position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.6);font-size:19px;font-weight:800;color:var(--ink);
  text-shadow:0 0 10px rgba(255,255,255,.9);animation:huntreadypop .3s ease-out;
}
@keyframes huntreadypop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.hunt-count{font-size:13px;color:#5a8f8a;font-weight:bold;text-align:center}
/* ---- スピード作戦：よけ走り ---- */
.run-field{
  position:relative;height:clamp(240px,52dvh,340px);border-radius:20px;overflow:hidden;
  border:3px solid #fff;flex:none;
  box-shadow:0 0 24px rgba(53,201,190,.30),0 8px 20px rgba(42,74,78,.14),inset 0 0 0 1px #e3f6f4;
}
.run-bg{position:absolute;inset:0;pointer-events:none}
.run-bg svg,.run-bg img{width:100%;height:100%;object-fit:fill;display:block}
.run-lane-div{
  position:absolute;top:0;bottom:0;width:2px;
  background:rgba(255,255,255,.4);pointer-events:none;z-index:1;
}
.run-progresswrap{
  position:absolute;top:8px;left:8px;right:8px;z-index:3;
  display:flex;align-items:center;gap:8px;
}
.run-progressbar{
  flex:1;height:10px;border-radius:999px;background:rgba(255,255,255,.6);
  overflow:hidden;box-shadow:inset 0 0 0 1px rgba(53,201,190,.3),0 1px 4px rgba(42,74,78,.15);
}
.run-progressbar-fill{
  height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--mint),var(--glow-lemon));
  width:0%;transition:width .1s linear;
}
.run-progresstxt{
  font-size:12px;font-weight:bold;color:var(--ink);white-space:nowrap;
  background:rgba(255,255,255,.9);border-radius:999px;padding:3px 10px;
  box-shadow:0 2px 6px rgba(53,201,190,.25);
}
.run-objects{position:absolute;inset:0;z-index:2;pointer-events:none}
.run-rock{
  position:absolute;width:15%;aspect-ratio:1;transform:translate(-50%,-50%);
  pointer-events:none;display:flex;align-items:center;justify-content:center;
}
.run-rock svg,.run-rock img{width:100%;height:100%;object-fit:cover;border-radius:50%;mix-blend-mode:multiply;filter:drop-shadow(0 5px 6px rgba(7,63,73,.35))}
.run-spark{
  position:absolute;width:58px;height:58px;line-height:1;transform:translate(-50%,-50%);
  pointer-events:none;filter:drop-shadow(0 0 5px rgba(245,255,122,.8));
  animation:sparkApproach .7s ease-in-out infinite alternate;
}
.run-spark img{width:100%;height:100%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 16px rgba(245,255,122,1))}@keyframes sparkApproach{to{filter:drop-shadow(0 0 14px rgba(245,255,122,1));transform:translate(-50%,-50%) scale(1.12)}}
.run-warn{
  position:absolute;top:3%;font-size:18px;line-height:1;transform:translateX(-50%);
  pointer-events:none;color:#c98a00;text-shadow:0 0 8px rgba(255,255,255,.9);
  animation:runwarnpop .3s ease-out;
}
@keyframes runwarnpop{from{opacity:0;transform:translateX(-50%) scale(.7)}to{opacity:1;transform:translateX(-50%) scale(1)}}
.run-float{
  position:absolute;bottom:16%;transform:translateX(-50%);z-index:4;
  font-size:13px;font-weight:bold;color:#c99a00;white-space:nowrap;
  animation:pickfloat 1s ease-out forwards;pointer-events:none;
}
.run-float.bad{color:#c9603a}
.run-neo{
  position:absolute;bottom:6%;width:19%;aspect-ratio:1;
  transform:translateX(-50%);z-index:3;pointer-events:none;
  transition:left .15s ease-out;
  filter:drop-shadow(0 3px 6px rgba(42,74,78,.25));
}
.run-neo svg{width:100%;height:100%;display:block}
.run-neo.hit{animation:shake .4s}
.run-tap{
  position:absolute;top:0;bottom:0;width:50%;border:none;background:transparent;
  padding:0;cursor:pointer;z-index:5;
}
.run-tap-l{left:0}
.run-tap-r{right:0}
.run-pad{display:flex;gap:10px}
.run-pad .btn{flex:1;font-size:16px}
.run-preview{
  position:absolute;inset:0;z-index:6;background:rgba(255,255,255,.9);
  display:flex;flex-direction:column;justify-content:center;gap:8px;padding:10px;
  animation:huntreadypop .3s ease-out;
}
.run-preview-label{text-align:center;font-size:14px;font-weight:800;color:var(--ink)}
.run-preview-track{position:relative;height:64%;min-height:110px}
.run-preview-dot{
  position:absolute;width:15%;aspect-ratio:1;transform:translate(-50%,-50%);
}
.run-preview-dot svg,.run-preview-dot img{width:100%;height:100%;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}
/* ---- 結果・クリア ---- */
.result-card{
  background:#fff;border-radius:18px;padding:16px;
  border:3px solid #eafaf8;
  box-shadow:0 5px 0 #e0f2f0,0 12px 24px rgba(42,74,78,.12);
  font-size:14px;line-height:2;
}
.result-card h2{font-size:16px;color:var(--mint);margin-bottom:6px;text-align:center}
.result-reaction{position:relative;height:150px;margin:-8px -8px 12px;border-radius:17px;overflow:hidden;border:2px solid #fff;box-shadow:0 10px 24px rgba(36,79,88,.16)}
.result-reaction{height:180px}.result-reaction img{width:100%;height:100%;object-fit:contain;object-position:center;background:linear-gradient(145deg,#e9fff9,#cdeffc);display:block}
.result-reaction::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,56,64,.55))}
.result-reaction span{position:absolute;z-index:2;left:12px;bottom:9px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.18em;text-shadow:0 2px 6px rgba(0,0,0,.4)}
.result-big{
  text-align:center;font-size:17px;font-weight:bold;line-height:1.8;
  padding:6px 0;
}
.result-twoline{text-align:center;padding:2px 0}
.result-good{font-size:14px;font-weight:bold;color:var(--ink);line-height:1.6}
.result-aware{font-size:13px;color:#6f9d99;line-height:1.6}
/* ---- 結果画面：つぎなら どうする？（3択チップ） ---- */
.reflect-box{margin-top:2px}
.reflect-label{font-size:12px;font-weight:bold;color:#5a8f8a;text-align:center;margin-bottom:6px}
.reflect-chips{display:flex;flex-direction:column;gap:8px}
.chip-btn{
  display:block;width:100%;border:2px solid #e6f6f4;border-radius:999px;
  background:#fff;color:var(--mint);font-family:inherit;font-size:13px;font-weight:bold;
  padding:10px 14px;min-height:44px;cursor:pointer;
  box-shadow:0 3px 0 #cfe9e6,0 6px 12px rgba(53,201,190,.14);
}
.chip-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #cfe9e6}
.chip-btn.primary{
  background:linear-gradient(180deg,#55e2d5 0%,#3ed6ca 45%,var(--mint) 100%);
  color:#fff;border-color:transparent;
  box-shadow:0 4px 0 #1e9e94,0 8px 14px rgba(53,201,190,.3);
}
.chip-btn.primary:active{box-shadow:0 1px 0 #1e9e94}
.badge{
  width:120px;height:120px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:56px;
  background:radial-gradient(circle,var(--neon-mist),#fff);
  box-shadow:0 0 30px rgba(245,255,122,.95),0 0 60px rgba(53,201,190,.5);
  animation:badgein .7s cubic-bezier(.2,1.6,.4,1) both,breathe 2.5s 1s ease-in-out infinite;
}
@keyframes badgein{from{transform:scale(0)}to{transform:scale(1)}}
.badge-wrap{position:relative;width:120px;margin:10px auto}
.badge-wrap .badge{margin:0}
.rays{
  position:absolute;left:50%;top:50%;width:270px;height:270px;
  transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(rgba(245,255,122,.5) 0 7deg,transparent 7deg 26deg);
  -webkit-mask:radial-gradient(circle,black 18%,transparent 66%);
  mask:radial-gradient(circle,black 18%,transparent 66%);
  animation:spin 9s linear infinite;
}
.power-name{
  text-align:center;font-size:22px;font-weight:bold;color:var(--ink);
  text-shadow:0 0 14px rgba(245,255,122,.9);
}
.burst{position:relative;width:0;height:0;margin:0 auto}
.spark{
  position:absolute;left:-5px;top:56px;width:10px;height:10px;border-radius:50%;
  background:var(--glow-lemon);box-shadow:0 0 10px rgba(245,255,122,.95);
  animation:fly 1.5s ease-out infinite;
}
@keyframes fly{
  0%{transform:translate(0,0) scale(1);opacity:1}
  100%{transform:translate(var(--dx),var(--dy)) scale(.15);opacity:0}
}
.twinkle{position:absolute;font-size:15px;pointer-events:none;z-index:3;animation:twk 3.4s ease-in-out infinite}
@keyframes twk{0%,100%{opacity:0;transform:scale(.4) rotate(0deg)}50%{opacity:.8;transform:scale(1.25) rotate(30deg)}}
.grow-tree{display:inline-block;width:58px;height:58px;vertical-align:middle;--grow-scale:1;animation:treegrow 1.3s .3s cubic-bezier(.2,1.5,.4,1) both}
@keyframes treegrow{from{transform:scale(.25);opacity:0}to{transform:scale(var(--grow-scale,1));opacity:1}}
.flash{
  position:absolute;inset:0;z-index:9;pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.95),rgba(245,255,122,.55) 40%,transparent 78%);
  animation:flashout .8s ease-out forwards;
}
@keyframes flashout{from{opacity:1}to{opacity:0}}
/* ---- オープニング演出（タイトル→物語の吸い込まれ） ---- */
.cine{position:absolute;inset:0;z-index:8;cursor:pointer;overflow:hidden}
.cine-ring{
  position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.95),rgba(245,255,122,.55) 45%,transparent 72%);
  box-shadow:0 0 0 2px rgba(255,255,255,.55);
  animation:cineRing .9s ease-out forwards;
}
@keyframes cineRing{
  0%{transform:scale(.3);opacity:.95}
  100%{transform:scale(9);opacity:0}
}
.cine-mote{
  position:absolute;bottom:6%;border-radius:50%;pointer-events:none;
  background:var(--glow-lemon);box-shadow:0 0 8px rgba(245,255,122,.9);
  opacity:0;
  animation:cineMote .85s ease-out forwards;
}
@keyframes cineMote{
  0%{transform:translateY(0) scale(.6);opacity:0}
  22%{opacity:.9}
  100%{transform:translateY(-62dvh) scale(1);opacity:0}
}
/* ---- クリア画面：時間差登場 ---- */
.rise{opacity:0;animation:riseIn .45s ease-out forwards}
.rise-1{animation-delay:0s}
.rise-2{animation-delay:.15s}
.rise-3{animation-delay:.3s}
.rise-4{animation-delay:.45s}
.rise-5{animation-delay:.6s}
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
/* ---- クリア画面：光の粒 第2波（ワンショット） ---- */
.burst2{position:relative;width:0;height:0;margin:0 auto}
.spark2{
  position:absolute;left:-4px;top:56px;width:8px;height:8px;border-radius:50%;
  background:var(--glow-lemon);box-shadow:0 0 10px rgba(245,255,122,.95);
  opacity:0;
  animation:fly2 1.4s ease-out forwards;
}
@keyframes fly2{
  0%{transform:translate(0,0) scale(.9);opacity:0}
  15%{opacity:1}
  100%{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}
}
/* ---- クリア画面：ひかりの花びら（ゆっくり舞い落ちる・1回きり） ---- */
.clear-petals{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden}
.petal{
  position:absolute;top:-14px;border-radius:50%;opacity:.5;
  background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8);
  animation:petalFall linear forwards;
}
.petal.lemon{background:var(--glow-lemon);box-shadow:0 0 6px rgba(245,255,122,.8)}
@keyframes petalFall{
  0%{transform:translate(0,0) rotate(0deg);opacity:0}
  10%{opacity:.55}
  90%{opacity:.45}
  100%{transform:translate(var(--dx,10px),112dvh) rotate(160deg);opacity:0}
}
/* ---- 英単語カード ---- */
.eigo-card{
  position:relative;overflow:hidden;background:linear-gradient(160deg,#fff,var(--neon-mist));
  border-radius:20px;padding:10px;text-align:center;
  border:2px solid rgba(255,255,255,.96);
  box-shadow:0 0 0 3px var(--glow-lemon),0 8px 24px rgba(53,201,190,.3);
  animation:badgein .5s cubic-bezier(.2,1.6,.4,1) both;
}
.eigo-card.card-blue{background:linear-gradient(155deg,#fff,#e7f6ff)}.eigo-card.card-violet{background:linear-gradient(155deg,#fff,#eee8ff)}.eigo-card.card-gold{background:linear-gradient(155deg,#fffef5,#fff1b0)}.eigo-card.card-secret{background:linear-gradient(155deg,#f7ffff,#d9fbff 52%,#fff1a9);box-shadow:0 0 0 3px #bcefff,0 0 28px rgba(245,255,122,.7),0 12px 30px rgba(33,99,121,.3)}
.card-top,.card-set{display:flex;align-items:center;justify-content:space-between;font-size:7px;font-weight:900;letter-spacing:.1em;color:#679491}
.card-top{margin:0 2px 7px}.card-top b{padding:3px 6px;border-radius:99px;background:#fff4a8;color:#8b7110;box-shadow:0 0 0 1px rgba(201,154,0,.2)}
.card-blue .card-top b{background:#dff1ff;color:#2470a4}.card-violet .card-top b{background:#e6dcff;color:#664ea4}.card-gold .card-top b{background:#173f4a;color:#fff4a8}.card-secret .card-top b{background:linear-gradient(90deg,#163f55,#6f58a5);color:#fff7a7}
.card-art-wrap{position:relative;overflow:hidden;border-radius:14px}
.eigo-card .card-art{display:block;width:100%;height:180px;object-fit:contain;object-position:center;border-radius:14px;margin:0;background:linear-gradient(145deg,#f7fffd,#eaf8ff);border:2px solid rgba(255,255,255,.9);box-shadow:0 7px 18px rgba(36,79,88,.15)}
.card-foil{position:absolute;inset:-40%;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.12) 42%,rgba(255,246,145,.75) 50%,rgba(140,239,255,.5) 56%,transparent 66%);transform:translateX(-65%) rotate(8deg);animation:foilSweep 4.5s ease-in-out infinite}
.card-mark{position:absolute;right:7px;bottom:7px;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 2px 9px rgba(7,63,73,.2);font-size:17px}
@keyframes foilSweep{0%,58%{transform:translateX(-65%) rotate(8deg)}82%,100%{transform:translateX(65%) rotate(8deg)}}
.find-popup .eigo-card .card-art{height:132px}.report .eigo-card .card-art{height:150px}
.eigo-card .w{font-size:30px;font-weight:950;letter-spacing:.13em;color:var(--ink);margin-top:7px;text-shadow:0 2px 0 white}
.eigo-card .y{font-size:13px;color:#5a8f8a;margin-top:2px}
.eigo-card .m{font-size:14px;margin-top:4px;font-weight:bold;color:#c99a00}
.card-phrase{margin:8px 0 7px;padding:7px;border-radius:11px;background:rgba(255,255,255,.75);border:1px solid rgba(53,201,190,.17);line-height:1.35}
.card-phrase small{display:block;color:#25a69f;font-size:8px;font-weight:900}.card-phrase b{display:block;color:var(--deep);font-size:14px}.card-phrase span{display:block;color:#739895;font-size:9px}
.card-set{padding:1px 2px 0}.card-set b{color:#25a69f}
.card-chip{
  display:inline-block;background:#fff;border-radius:999px;
  padding:4px 12px;font-size:12px;font-weight:bold;color:#c99a00;
  box-shadow:0 0 0 2px var(--glow-lemon);margin:2px;
}
/* ---- レポート ---- */
.report{
  background:#fff;border-radius:18px;padding:16px;
  border:3px solid #eafaf8;
  box-shadow:0 5px 0 #e0f2f0,0 12px 24px rgba(42,74,78,.12);
  font-size:14px;line-height:2;
}
.report h2{font-size:15px;color:var(--mint);margin-bottom:6px}
.report .voice{
  background:var(--neon-mist);border-radius:12px;padding:10px 12px;
  font-size:13px;line-height:1.9;margin-top:8px;
}
.report-stats{display:flex;gap:8px;margin:10px 0}
.report-stat{
  flex:1;background:#f2fbfa;border-radius:12px;padding:10px 8px;
  text-align:center;line-height:1.4;
}
.report-stat .lbl{font-size:11px;color:#5a8f8a;margin-top:2px}
.report-stat .val{font-size:15px;font-weight:bold;color:var(--ink);margin-top:1px}
.report-bar{height:7px;border-radius:999px;background:#dff2f0;overflow:hidden;margin-top:5px}
.report-bar-fill{height:100%;border-radius:999px;transition:width .6s ease}
.mastery-badge{
  text-align:center;font-size:13px;font-weight:bold;color:#8a6a00;
  background:var(--neon-mist);border-radius:10px;padding:7px 10px;
  animation:pop .3s ease-out;
}
.mastery-ico{display:inline-block;width:16px;height:16px;vertical-align:-3px}
/* ---- BGMボタン ---- */
#bgmBtn{
  position:absolute;top:12px;right:12px;z-index:5;
  width:44px;height:44px;border-radius:50%;border:none;
  background:rgba(255,255,255,.85);font-size:20px;cursor:pointer;
  box-shadow:0 3px 8px rgba(53,201,190,.3);
}
#settingsBtn{position:absolute;top:12px;right:64px;z-index:7;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:var(--deep);font-size:20px;cursor:pointer;box-shadow:0 3px 9px rgba(53,201,190,.25)}
.settings-modal{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:rgba(7,55,62,.45);backdrop-filter:blur(9px);animation:scenein .2s ease-out}
.settings-panel{position:relative;width:100%;max-height:90%;overflow:auto;padding:20px 16px 16px;border-radius:25px;background:linear-gradient(160deg,#fff,#ecfffb);border:2px solid white;box-shadow:0 25px 70px rgba(7,55,62,.34)}
.settings-panel h2{font-size:18px;color:var(--deep-2);margin-bottom:13px}.settings-close{position:absolute;right:11px;top:10px;width:36px;height:36px;border-radius:50%;border:none;background:#e8f7f5;color:var(--deep);font-size:24px;cursor:pointer}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #dcefed}.setting-row>span{display:flex;flex-direction:column}.setting-row b{font-size:12px;color:var(--deep-2)}.setting-row small{font-size:8px;color:#789c99;margin-top:3px}
.toggle{min-width:64px;padding:8px 10px;border:2px solid #d7ece9;border-radius:999px;background:#fff;color:#7b9c99;font-family:inherit;font-size:10px;font-weight:900}.toggle.on{border-color:var(--mint);background:#dffff8;color:var(--deep)}
.difficulty-setting{display:flex;flex-direction:column;gap:7px;padding-top:13px}.difficulty-setting>b{font-size:12px;color:var(--deep-2);margin-bottom:2px}.difficulty-setting button{display:grid;grid-template-columns:34px 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:8px 10px;border:2px solid transparent;border-radius:13px;background:#f5fbfa;color:var(--deep-2);font-family:inherit;text-align:left}.difficulty-setting button>span{grid-row:1/3;font-size:20px}.difficulty-setting strong{font-size:10px}.difficulty-setting small{font-size:8px;color:#789c99}.difficulty-setting button.sel{border-color:var(--mint);background:#e4fff9;box-shadow:0 0 0 3px rgba(53,201,190,.15)}
.settings-note{display:block;margin-top:12px;text-align:center;font-size:8px;color:#8ca9a7}
.parent-entry{width:100%;min-height:44px;margin-top:12px;border:1px solid #cfe8e5;border-radius:13px;background:#fff;color:var(--deep-2);font-family:inherit;font-size:10px;font-weight:900;cursor:pointer}
.parent-gate{text-align:center;padding:30px 22px}.gate-lock{font-size:38px;margin:4px 0 8px}.parent-gate p{font-size:11px;line-height:1.8;color:#557976}.parent-gate label{display:block;margin:18px 0 12px;font-size:20px;font-weight:900;color:var(--deep-2)}.parent-gate input{width:78px;min-height:46px;margin-left:8px;border:2px solid var(--mint);border-radius:12px;background:#fff;font:900 20px inherit;text-align:center;color:var(--deep-2)}.gate-error{min-height:22px;margin-bottom:4px;color:#b74747;font-size:10px;font-weight:800}
.parent-panel{padding:22px 16px}.parent-panel h2{padding-right:34px}.parent-panel section{margin-top:10px;padding:11px 12px;border:1px solid #dcefed;border-radius:14px;background:rgba(255,255,255,.75)}.parent-panel h3{margin:0 0 5px;font-size:11px;color:var(--deep-2)}.parent-panel p{font-size:9px;line-height:1.8;color:#527470}.privacy-safe{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:14px;background:#e3fbf4;color:#236964}.privacy-safe b{font-size:11px}.privacy-safe small{font-size:8px}.privacy-safe a{color:#126b66;font-weight:900;text-underline-offset:2px}.parent-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.parent-stats>div{display:flex;flex-direction:column;align-items:center;padding:9px 4px;border-radius:13px;background:#f2fbfa}.parent-stats b{font-size:17px;color:var(--deep)}.parent-stats span{font-size:7px;color:#688d89;text-align:center}.parent-small-btn,.danger-btn{min-height:38px;margin-top:7px;padding:7px 11px;border-radius:10px;font:800 9px inherit;cursor:pointer}.parent-small-btn{border:1px solid var(--mint);background:#fff;color:var(--deep)}.data-section{border-color:#f0dddd!important}.danger-btn{border:1px solid #d99;background:#fff5f5;color:#a64a4a}

/* v9.5 保護者向け成長レポート */
.parent-growth-intro{background:linear-gradient(135deg,#fff8b7,#e3fff7)!important;border-color:#f2df74!important;box-shadow:0 7px 18px rgba(244,213,84,.16)}.parent-growth-intro>small{font-size:7px;font-weight:950;letter-spacing:.13em;color:#30a399}.parent-growth-intro h3{margin:2px 0 4px!important;font-size:14px!important}.parent-growth-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px}.parent-growth-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;padding:7px 3px;border:2px solid #fff;border-radius:14px;background:linear-gradient(160deg,#fff,#eafaf7);box-shadow:0 5px 13px rgba(7,63,73,.07)}.parent-growth-stats b{font-size:19px;color:var(--deep)}.parent-growth-stats span{font-size:7px;line-height:1.35;color:#628783;text-align:center}
.parent-insight-list,.parent-mission-list{display:flex;flex-direction:column;gap:7px}.parent-insight-list>div,.parent-mission-list>div{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:7px;padding:7px;border-radius:13px;background:#f1faf8}.parent-insight-list>div>span,.parent-mission-list>div>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#fff;font-size:20px;box-shadow:0 3px 9px rgba(7,63,73,.07)}.parent-insight-list p,.parent-mission-list p{display:flex;flex-direction:column;line-height:1.45!important}.parent-insight-list b,.parent-mission-list b{font-size:10px;color:var(--deep-2)}.parent-insight-list small,.parent-mission-list small{font-size:8px;line-height:1.55;color:#62817d}.parent-mission-list strong{font-size:8px;color:#24998f}.parent-voice{border-color:#efdd76!important;background:#fff9cb!important}.parent-empty-growth{border-style:dashed!important;background:#f5faf9!important}
@media(max-width:360px){.parent-growth-stats{grid-template-columns:repeat(2,1fr)}.parent-growth-stats>div{min-height:54px}}
.large-text #app{font-size:112%}.large-text .lead,.large-text .bubble .txt{font-size:17px!important}.large-text button{letter-spacing:0}.large-text rt{font-size:.55em}
.title-scene:has(.continue-btn){padding-bottom:144px}.continue-btn{margin-bottom:9px!important;background:linear-gradient(180deg,#fff8b8,#f4efa5)!important;color:#6b631b!important;text-shadow:none!important;box-shadow:0 4px 0 #cfc66f,0 9px 18px rgba(244,239,165,.35)!important}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01s !important;animation-iteration-count:1 !important}
}

/* ========================================================
   v2.0 GAME UI — 世界観を保ったまま「ゲームの画面」に寄せる
   ======================================================== */
:root{
  --deep:#0d5f67;
  --deep-2:#073f49;
  --glass:rgba(247,255,254,.88);
  --line:rgba(255,255,255,.72);
  --shadow:0 18px 45px rgba(7,63,73,.22);
}
body{
  background:
    radial-gradient(circle at 50% 12%,rgba(245,255,122,.22),transparent 30%),
    linear-gradient(135deg,#073f49 0%,#138c8a 48%,#8ddfd5 100%);
}
#stage{
  background:linear-gradient(180deg,#ebfffc 0%,#cceff1 48%,#b8e5dc 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.5),0 30px 80px rgba(0,37,43,.42);
}
#stage::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 12%,transparent 88%,rgba(7,63,73,.08));
}
#app{padding:14px 14px calc(18px + env(safe-area-inset-bottom));scrollbar-width:none}
#app::-webkit-scrollbar{display:none}
.scene{gap:11px}

/* 共通ミッションヘッダー */
.quest-bar{
  min-height:44px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;
  padding:7px 10px;border:1px solid var(--line);border-radius:14px;
  color:var(--deep-2);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(229,255,250,.78));
  box-shadow:0 7px 20px rgba(7,63,73,.13),inset 0 1px 0 #fff;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.quest-bar strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quest-step{
  border-radius:8px;padding:5px 7px;background:var(--deep);color:#fff;
  font-size:9px;font-weight:900;letter-spacing:.1em;box-shadow:0 3px 8px rgba(7,63,73,.25)
}
.quest-progress{font-size:10px;font-weight:900;color:#138c8a;letter-spacing:.06em}

/* 情報パネルと主要操作 */
.lead{
  background:var(--glass)!important;border:1px solid var(--line)!important;
  box-shadow:0 8px 24px rgba(7,63,73,.12)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.btn{
  min-height:54px;border-radius:17px;
  background:linear-gradient(135deg,#52e0d4 0%,#25bcb4 62%,#149e9a 100%);
  box-shadow:0 5px 0 #087d7a,0 12px 24px rgba(13,95,103,.28),inset 0 1px 0 rgba(255,255,255,.72);
}
.btn:focus-visible,.spot:focus-visible,.strat-card:focus-visible,button:focus-visible,input:focus-visible{
  outline:4px solid var(--glow-lemon);outline-offset:3px;
}

/* タイトル：情報の階層を整理し、ヒーロー画像を主役に */
.title-art{margin:-2px 0 0;padding:10px 0}
.title-img{width:min(254px,72vw);max-width:76%;border-radius:28px;border:2px solid rgba(255,255,255,.88);box-shadow:0 20px 44px rgba(7,63,73,.24),0 0 36px rgba(245,255,122,.28)}
.duo{margin-top:-8px}
.duo-face{width:68px;height:68px;border:3px solid white;padding:2px;box-shadow:0 8px 22px rgba(7,63,73,.20)!important}
h1{font-size:20px;line-height:1.4;text-shadow:0 2px 0 #fff,0 6px 20px rgba(7,63,73,.12)}
.chapter{display:table;margin:0 auto;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.72);font-weight:800;letter-spacing:.08em}
.eng{font-weight:800;color:#57aaa6}
.catch{font-weight:700}

/* 探索：絵を大きく、HUDを画面下の操作パネルとして固定 */
.forest{min-height:430px;border-radius:25px;border:2px solid rgba(255,255,255,.92);box-shadow:var(--shadow),inset 0 0 0 1px rgba(13,95,103,.12)}
.forest::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -90px 70px rgba(7,63,73,.15),inset 0 0 40px rgba(245,255,122,.12)}
.spot{width:58px;height:58px;z-index:2;border:2px solid rgba(255,255,255,.92);background:rgba(255,255,255,.38);backdrop-filter:blur(5px);box-shadow:0 0 0 7px rgba(245,255,122,.12),0 0 25px rgba(245,255,122,.88)}
.spot::before{content:'';position:absolute;inset:-9px;border:1px solid rgba(245,255,122,.72);border-radius:50%;animation:radar 2s ease-out infinite}
.spot.found::before{display:none}
@keyframes radar{0%{transform:scale(.65);opacity:.9}100%{transform:scale(1.35);opacity:0}}
.explore-hud{margin-top:-68px;z-index:4;padding:10px;border-radius:19px;background:rgba(5,56,64,.78);border:1px solid rgba(255,255,255,.34);box-shadow:0 12px 28px rgba(7,63,73,.28);backdrop-filter:blur(14px)}
.explore-count{color:#fff;font-size:12px;white-space:nowrap;padding-left:4px}
.explore-hud .btn{min-height:46px;font-size:14px;border-radius:13px;box-shadow:0 3px 0 #087d7a,0 8px 16px rgba(0,0,0,.16)}
.explore-more-hint{position:relative;z-index:4;color:var(--deep);font-weight:800}
.find-popup{border-radius:22px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 20px 50px rgba(7,63,73,.34)!important;border:1px solid white!important}

/* 作戦カード：カード一覧ではなく「ルート選択」らしい強弱をつける */
.duo-opinion{gap:7px}
.duo-opinion .lamy-tip{background:rgba(255,255,255,.55);border-radius:14px;padding:6px}
.strat-card{
  position:relative;overflow:hidden;border-radius:20px!important;border:1px solid rgba(255,255,255,.95)!important;
  background:linear-gradient(125deg,rgba(255,255,255,.97),rgba(229,250,247,.91))!important;
  box-shadow:0 9px 25px rgba(7,63,73,.13),inset 0 1px 0 #fff!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.strat-card::after{content:'SELECT';position:absolute;right:-7px;top:12px;transform:rotate(90deg);font-size:8px;font-weight:900;letter-spacing:.17em;color:rgba(13,95,103,.28)}
.strat-card.sel{transform:translateY(-3px) scale(1.015);border:2px solid var(--mint)!important;box-shadow:0 13px 32px rgba(13,95,103,.24),0 0 0 4px rgba(245,255,122,.34)!important}
.strat-card.sel::after{content:'CHOSEN';color:#087d7a}
.strat-head .nm{font-size:16px!important;color:var(--deep-2)}
.strat-stats{background:rgba(13,95,103,.055);border-radius:12px;padding:7px!important}

/* ミニゲーム：盤面・タイマーをゲームHUDとして強調 */
.mg-grid,.hunt-field,.run-field{border-radius:24px!important;border:2px solid rgba(255,255,255,.94)!important;box-shadow:0 18px 40px rgba(7,63,73,.22),inset 0 0 0 1px rgba(13,95,103,.14)!important;overflow:hidden}
.plan-label{font-size:10px!important;font-weight:900;letter-spacing:.12em;color:var(--deep)}
.plan-row{min-height:48px!important;border:1px solid rgba(255,255,255,.9)!important;background:rgba(255,255,255,.76)!important;box-shadow:inset 0 2px 10px rgba(7,63,73,.06)}
.pad button{border-radius:14px!important;box-shadow:0 4px 0 #b7dbd7,0 8px 13px rgba(7,63,73,.12)!important}
.hunt-timerwrap{background:rgba(5,56,64,.76)!important;border-radius:14px!important;backdrop-filter:blur(10px)}
.result-card,.report{border-radius:24px!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:var(--shadow)!important}

@media (min-width:700px){
  #stage{margin:18px 0;height:calc(100dvh - 36px);border-radius:32px;border:1px solid rgba(255,255,255,.66)}
}
@media (max-height:720px){
  #app{padding-top:9px}.scene{gap:8px}.title-img{width:190px}.duo-face{width:56px;height:56px}.forest{min-height:350px}
}

/* v2.1 ブランド世界観調整
   白60% / ミント25% / アイスブルー10% / レモン5%
   「光るまなびの木」「星」「本」「ゲーム」の静かなきらめき */
:root{
  --mint:#35C9BE;
  --light-mint:#7FE6D8;
  --ice-blue:#CDEFFC;
  --soft-blue:#6EB8F7;
  --lavender:#CFC3F5;
  --lemon:#F4EFA5;
  --deep:#287b80;
  --deep-2:#244f58;
  --glass:rgba(255,255,255,.9);
}
body{
  background:
    radial-gradient(circle at 16% 14%,rgba(127,230,216,.35),transparent 27%),
    radial-gradient(circle at 86% 22%,rgba(205,239,252,.68),transparent 30%),
    radial-gradient(circle at 50% 92%,rgba(244,239,165,.28),transparent 28%),
    #f7fbfb;
}
#stage{
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.98),transparent 33%),
    linear-gradient(180deg,#ffffff 0%,#effcf9 42%,#dff7f3 100%);
  box-shadow:0 0 0 1px rgba(53,201,190,.18),0 24px 70px rgba(53,201,190,.18);
}
#stage::after{
  background:
    radial-gradient(circle at 11% 14%,rgba(244,239,165,.55) 0 2px,transparent 3px),
    radial-gradient(circle at 90% 25%,rgba(110,184,247,.32) 0 2px,transparent 3px),
    linear-gradient(90deg,rgba(127,230,216,.08),transparent 14%,transparent 86%,rgba(205,239,252,.16));
}
.quest-bar{
  color:var(--deep-2);border-color:rgba(53,201,190,.22);
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,252,249,.94));
  box-shadow:0 8px 22px rgba(53,201,190,.12),inset 0 1px 0 #fff;
}
.quest-step{background:linear-gradient(135deg,#35c9be,#6eb8f7);box-shadow:0 3px 9px rgba(53,201,190,.25)}
.quest-progress{color:#35a9a1}
.lead{border-color:rgba(53,201,190,.18)!important;box-shadow:0 8px 22px rgba(53,201,190,.11)!important}
.explore-hud{
  color:var(--deep-2);background:rgba(255,255,255,.9);
  border-color:rgba(53,201,190,.24);box-shadow:0 12px 28px rgba(53,201,190,.2);
}
.explore-count{color:var(--deep-2)}
.strat-card{box-shadow:0 9px 25px rgba(53,201,190,.11),inset 0 1px 0 #fff!important}
.strat-card.sel{box-shadow:0 13px 30px rgba(53,201,190,.2),0 0 0 4px rgba(244,239,165,.48)!important}
.mg-grid,.hunt-field,.run-field{box-shadow:0 18px 38px rgba(53,201,190,.18),inset 0 0 0 1px rgba(53,201,190,.12)!important}
.hunt-timerwrap{background:rgba(255,255,255,.86)!important;color:var(--deep-2);border:1px solid rgba(53,201,190,.22)}
@media (min-width:700px){
  #stage{border-color:rgba(53,201,190,.2);box-shadow:0 24px 80px rgba(53,201,190,.2)}
}

/* ========================================================
   v3.0 WORLD UI — 木と星が光る、ネオくん＆ラミィの世界
   ======================================================== */
.title-kicker{
  align-self:center;display:flex;align-items:center;gap:7px;color:#5a8f8a;
  font-size:10px;font-weight:800;letter-spacing:.06em;
}
.title-kicker span{
  padding:4px 7px;border-radius:999px;background:linear-gradient(135deg,var(--mint),var(--soft-blue));
  color:#fff;font-size:8px;letter-spacing:.14em;box-shadow:0 3px 10px rgba(53,201,190,.25);
}
.title-art{isolation:isolate}
.title-art::before{
  content:'';position:absolute;left:50%;top:50%;width:300px;height:300px;transform:translate(-50%,-50%);z-index:-1;
  background:radial-gradient(circle,rgba(244,239,165,.5),rgba(127,230,216,.22) 43%,transparent 70%);
  filter:blur(3px);animation:breathe 4s ease-in-out infinite;
}
.title-scene{position:relative;gap:8px;padding-bottom:78px;justify-content:flex-start}
.title-scene .title-kicker{margin-top:5px}
.title-scene .title-art{margin-top:-2px;padding:5px 0 15px}
.title-scene .title-img{width:286px;max-width:82%;border-radius:31px}
.title-scene .title-img{height:292px;object-fit:cover;object-position:center 58%}
.title-scene .glow-ring{width:290px;height:290px;margin-left:-145px;margin-top:-145px}
.title-scene .spin-rays{width:350px;height:350px}
.title-scene .fbadge{width:42px;height:42px}
.title-scene .duo{margin-top:-32px;z-index:5}
.title-scene .duo-face{width:74px;height:74px;background:#fff}
.title-scene h1{font-size:22px;line-height:1.34;margin-top:1px}
.title-scene .chapter{font-size:12px;padding:5px 11px}
.title-scene .catch{line-height:1.5}
.title-action{
  position:absolute;z-index:7;left:0;right:0;bottom:0;padding:20px 0 2px;
  background:linear-gradient(transparent,rgba(239,252,249,.88) 26%,rgba(239,252,249,.98) 58%);
}
.title-action .btn{font-size:17px;display:flex;justify-content:center;align-items:center;gap:12px}
.title-action .btn span{font-size:27px;line-height:.7;transition:transform .2s}
.title-action .btn:active span{transform:translateX(4px)}
.version-note{text-align:center;font-size:9px;color:#9bc4c0;margin-top:7px}
.free-pill{display:inline-grid;place-items:center;padding:4px 7px;border-radius:999px;background:var(--lemon);color:#645d14;font-size:9px;font-weight:900;text-shadow:none;box-shadow:0 2px 7px rgba(244,239,165,.7)}
.title-chapters-btn{display:block;margin:8px auto 0;min-height:34px;padding:5px 18px;border:1px solid rgba(53,201,190,.3);border-radius:999px;background:rgba(255,255,255,.84);color:var(--deep);font:900 11px inherit;cursor:pointer;box-shadow:0 4px 12px rgba(53,201,190,.12)}
.title-scene:has(.title-chapters-btn){padding-bottom:132px}
.title-scene:has(.continue-btn){padding-bottom:196px}

/* ---- 章をえらぶ：無料体験から有料章へ自然につなぐポータル ---- */
.chapter-hub{padding-bottom:28px;gap:10px}.chapter-hub-head{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid white;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 9px 24px rgba(7,63,73,.13)}
.hub-back{width:38px;height:38px;border:0;border-radius:50%;background:#e5f9f5;color:var(--deep);font-size:28px;line-height:1;cursor:pointer}.chapter-hub-head div{min-width:0}.chapter-hub-head span{display:block;color:#53a49e;font-size:7px;font-weight:900;letter-spacing:.12em}.chapter-hub-head h2{margin:1px 0 0;color:var(--deep-2);font-size:18px}.chapter-hub-head>b{padding:6px 8px;border-radius:10px;background:var(--neon-mist);color:#716815;font-size:9px;white-space:nowrap}
.tree-progress{height:8px;margin:1px 5px;border-radius:999px;background:rgba(255,255,255,.7);overflow:hidden;box-shadow:inset 0 1px 4px rgba(7,63,73,.1)}.tree-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--lemon));box-shadow:0 0 12px var(--lemon);transition:width .5s ease}
.chapter-hub-lead{margin:0 4px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.68);color:#537975;font-size:10px;line-height:1.7;text-align:center}.chapter-list{display:flex;flex-direction:column;gap:12px}
.chapter-card{overflow:hidden;border:2px solid white;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 13px 30px rgba(7,63,73,.15);animation:pop .3s ease-out}.chapter-card.featured{border-color:rgba(244,239,165,.96);box-shadow:0 0 0 3px rgba(244,239,165,.22),0 14px 30px rgba(7,63,73,.16)}.chapter-cover{position:relative;height:138px;overflow:hidden}.chapter-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,63,73,.05),rgba(7,63,73,.5))}.chapter-cover img{width:100%;height:100%;display:block;object-fit:cover}.chapter-num,.chapter-access{position:absolute;z-index:2;top:10px;padding:5px 8px;border-radius:8px;font-size:8px;font-weight:900;letter-spacing:.08em}.chapter-num{left:10px;background:rgba(7,63,73,.78);color:white}.chapter-access{right:10px;background:var(--lemon);color:#5e5715}.chapter-access.lock{width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);font-size:14px}.chapter-info{padding:12px 13px 13px}.chapter-info>small{color:var(--mint);font-size:8px;font-weight:900;letter-spacing:.12em}.chapter-info h3{margin:2px 0;color:var(--deep-2);font-size:16px}.chapter-info>strong{display:block;color:#168f8b;font-size:11px}.chapter-info p{margin:5px 0 10px;color:#5d7d7a;font-size:9px;line-height:1.65}.chapter-play,.chapter-preview-btn{width:100%;min-height:43px;border:0;border-radius:13px;font:900 11px inherit;cursor:pointer}.chapter-play{background:linear-gradient(135deg,var(--mint),#24aca7);color:white;box-shadow:0 4px 0 #15948f}.chapter-preview-btn{border:1px solid #bfe9e4;background:#effbf9;color:var(--deep)}.chapter-card.locked .chapter-cover img{filter:saturate(.7) brightness(.86)}.chapter-parent-note{padding:10px;border:1px dashed #badfda;border-radius:13px;color:#638480;background:rgba(255,255,255,.58);font-size:9px;text-align:center}

/* ---- 章予告 ---- */
.chapter-preview{padding-bottom:26px}.preview-back{align-self:flex-start;min-height:36px;padding:6px 12px;border:1px solid #cae9e5;border-radius:999px;background:rgba(255,255,255,.88);color:var(--deep);font:900 10px inherit;cursor:pointer}.preview-hero{position:relative;height:clamp(240px,36dvh,310px);overflow:hidden;border:3px solid white;border-radius:26px;box-shadow:0 16px 36px rgba(7,63,73,.2)}.preview-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,63,73,.08),transparent 45%,rgba(7,63,73,.78))}.preview-hero>img{width:100%;height:100%;object-fit:cover;display:block}.preview-hero>span{position:absolute;z-index:2;left:12px;top:12px;padding:6px 8px;border-radius:8px;background:rgba(7,63,73,.8);color:#fff;font-size:8px;font-weight:900;letter-spacing:.1em}.preview-hero>div{position:absolute;z-index:2;left:15px;right:15px;bottom:13px;color:white}.preview-hero small{display:block;color:var(--lemon);font-size:8px;font-weight:900}.preview-hero b{display:block;font-size:18px;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.preview-story{display:flex;gap:10px;padding:13px;border:1px solid white;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(7,63,73,.1)}.preview-story>span{font-size:27px}.preview-story h2{margin:0 0 4px;color:var(--deep-2);font-size:15px}.preview-story p{margin:0;color:#527470;font-size:10px;line-height:1.75}.preview-learning{display:grid;gap:6px;padding:12px 13px;border-radius:17px;background:linear-gradient(135deg,#ecfff9,#fdfbdc)}.preview-learning b{color:var(--deep-2);font-size:10px}.preview-learning span{padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.86);color:#426d69;font-size:9px}.preview-lock{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #cce8e4;border-radius:16px;background:rgba(255,255,255,.76)}.preview-lock>span{font-size:24px}.preview-lock div{display:flex;flex-direction:column}.preview-lock b{color:var(--deep-2);font-size:11px}.preview-lock small{margin-top:3px;color:#6a8a87;font-size:8px;line-height:1.5}

/* ---- 保護者向け購入デモ ---- */
.chapter-shop,.checkout-demo,.commerce-demo{padding:23px 17px 18px}.shop-kicker{color:var(--mint);font-size:9px;font-weight:900;letter-spacing:.12em}.chapter-shop h2{margin:1px 0 5px}.shop-demo-badge{display:inline-block;padding:5px 8px;border-radius:8px;background:#fff4c5;color:#716617;font-size:8px;font-weight:900}.shop-intro{margin:9px 0;color:#527470;font-size:9px;line-height:1.7}.shop-products{display:flex;flex-direction:column;gap:8px}.shop-product{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:1px 8px;width:100%;padding:11px 12px;border:2px solid #dcefeb;border-radius:15px;background:#fff;color:var(--deep-2);font-family:inherit;text-align:left;cursor:pointer}.shop-product>span{grid-column:1/3;color:#55a49e;font-size:7px;font-weight:900}.shop-product>b{font-size:11px}.shop-product>small{grid-column:1/2;color:#6b8b88;font-size:7px}.shop-product>strong{grid-column:2/3;grid-row:2/4;align-self:center;color:#168f8b;font-size:15px}.shop-product.recommended{border-color:var(--lemon);background:linear-gradient(135deg,#fff,#fffde5);box-shadow:0 0 0 3px rgba(244,239,165,.18)}.shop-status{min-height:20px;margin-top:7px;color:#4f7773;font-size:8px;line-height:1.6;text-align:center}.restore-btn,.commerce-link{width:100%;border:0;background:transparent;color:var(--deep);font:800 9px inherit;text-decoration:underline;cursor:pointer}.restore-btn{min-height:34px}.commerce-link{margin-top:8px;color:#789793;font-size:8px}.shop-assurance{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:6px}.shop-assurance span{padding:5px 7px;border-radius:999px;background:#e6f9f4;color:#3e7771;font-size:7px;font-weight:900}
.checkout-demo{text-align:center}.checkout-icon{font-size:39px;margin-bottom:6px}.checkout-demo h2{margin:10px 0 4px}.checkout-demo>p{color:#577975;font-size:9px}.checkout-line{display:flex;justify-content:space-between;padding:11px 7px;border-bottom:1px solid #dcefeb;color:#547572;font-size:9px}.checkout-line b{color:var(--deep-2)}.checkout-note{margin:12px 0;padding:10px;border-radius:12px;background:#f3f9f8;color:#65827f;font-size:8px;line-height:1.7;text-align:left}.checkout-disabled{opacity:.5;cursor:not-allowed}.commerce-demo p,.commerce-demo li{color:#557572;font-size:9px;line-height:1.7}.commerce-demo ul{margin:9px 0;padding-left:19px}

/* ---- 第1章クリア後の次章予告 ---- */
.clear-next-chapter{overflow:hidden;border:2px solid white;border-radius:19px;background:#fff;box-shadow:0 12px 28px rgba(7,63,73,.15)}.clear-next-chapter>img{width:100%;height:116px;display:block;object-fit:cover}.clear-next-chapter>div{display:flex;flex-direction:column;padding:10px 12px 6px}.clear-next-chapter small{color:var(--mint);font-size:7px;font-weight:900;letter-spacing:.12em}.clear-next-chapter b{color:var(--deep-2);font-size:13px}.clear-next-chapter span{margin-top:2px;color:#5f807d;font-size:8px}.clear-next-chapter button{margin:3px 10px 11px;width:calc(100% - 20px);min-height:39px;border:1px solid #bfe7e2;border-radius:12px;background:#edfaf8;color:var(--deep);font:900 10px inherit;cursor:pointer}

/* 会話を「カードの一覧」ではなく、一枚の場面として見せる */
.scene.dlg{justify-content:center;gap:0;padding:8px 0 24px}
.scene.dlg .stage{height:clamp(270px,43dvh,360px);border-radius:28px;box-shadow:0 18px 42px rgba(53,201,190,.22)}
.scene.dlg .stage::after{content:'';position:absolute;inset:0;box-shadow:inset 0 -90px 70px rgba(20,91,91,.18);pointer-events:none}
.scene.dlg .bubble-area{position:relative;z-index:4;min-height:0;margin-top:-48px;padding:0 6px 8px;justify-content:flex-end}
.scene.dlg .bubble.past{display:none}
.scene.dlg .bubble:not(.past){align-items:flex-end;gap:8px}
.scene.dlg .bubble:not(.past) .face{
  flex:0 0 92px;width:92px;height:92px;border:3px solid #fff;padding:0;overflow:hidden;
  box-shadow:0 8px 24px rgba(36,79,88,.2)!important;
}
.scene.dlg .bubble:not(.past) .face img{border-radius:50%;transform:scale(1.06)}
.scene.dlg .bubble:not(.past) .txt{
  flex:1;min-height:94px;padding:15px 16px;border:1px solid rgba(53,201,190,.18);
  border-radius:21px 21px 21px 7px;background:rgba(255,255,255,.96);
  box-shadow:0 13px 32px rgba(36,79,88,.17);font-size:16px;line-height:1.75;
}
.scene.dlg .bubble.lamy:not(.past){flex-direction:row-reverse}
.scene.dlg .bubble.lamy:not(.past) .txt{border-radius:21px 21px 7px 21px}
.scene.dlg .bubble .name{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.scene.dlg .tap-hint{margin-top:8px;font-weight:800}
.scene.dlg .skip-btn{top:35px;left:24px;background:rgba(255,255,255,.9);border:1px solid rgba(53,201,190,.16)}

/* 「？」の代わりに、世界の中の小さな異変を見つける */
.spot{background:transparent;border:0;box-shadow:none;backdrop-filter:none;overflow:visible}
.spot::before{display:none}
.spot .clue-signal{
  position:relative;display:block;width:64px;height:64px;margin:-3px;border-radius:50%;
  background:rgba(255,255,255,.9);border:2px solid rgba(255,255,255,.98);
  box-shadow:0 0 0 4px rgba(53,201,190,.38),0 8px 20px rgba(36,79,88,.2),0 0 26px rgba(244,239,165,.9);
  backdrop-filter:blur(5px);
}
.spot .clue-signal::before,.spot .clue-signal::after{content:'';position:absolute;inset:8px;border-radius:50%;pointer-events:none}
.spot .clue-signal::before{inset:-7px;background:transparent;border:2px solid rgba(244,239,165,.86);animation:clueRing 2.1s ease-out infinite}
.spot .clue-signal::after{display:none}
.spot .clue-signal i{
  position:absolute;left:50%;top:43%;width:20px;height:20px;border:3px solid var(--mint);border-radius:50%;
  transform:translate(-58%,-55%);box-shadow:0 0 12px rgba(53,201,190,.26);
}
.spot .clue-signal i::after{
  content:'';position:absolute;width:10px;height:3px;border-radius:3px;background:var(--mint);
  right:-8px;bottom:-5px;transform:rotate(45deg);transform-origin:left center;
}
.spot .clue-signal b{
  position:absolute;left:50%;bottom:5px;transform:translateX(-50%);white-space:nowrap;
  color:var(--deep);font-size:8px;font-weight:900;letter-spacing:.04em;
}
@keyframes clueGlow{0%,100%{transform:scale(.72);opacity:.3}50%{transform:scale(1.08);opacity:1}}
@keyframes clueRing{0%{transform:scale(.58);opacity:.8}100%{transform:scale(1.18);opacity:0}}
.clue-ashiato .clue-signal{transform:rotate(-4deg)}
.clue-chizu .clue-signal{animation:paperFlutter 2.8s ease-in-out infinite}
.clue-plant .clue-signal{animation:leafSway 2.6s ease-in-out infinite;transform-origin:50% 100%}
.clue-kage .clue-signal::before{background:radial-gradient(ellipse,rgba(110,184,247,.62),rgba(207,195,245,.25) 38%,transparent 70%)}
.clue-card .clue-signal{animation:cardFloat 2.2s ease-in-out infinite}
@keyframes paperFlutter{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(4deg) translateY(-4px)}}
@keyframes leafSway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}
@keyframes cardFloat{0%,100%{transform:translateY(2px)}50%{transform:translateY(-7px)}}
.spot.found{background:rgba(255,255,255,.94);border:2px solid white;box-shadow:0 0 0 3px var(--mint),0 6px 18px rgba(53,201,190,.32)}

/* 地図型の作戦選択 */
.route-map{
  position:relative;flex:none;height:220px;border-radius:24px;overflow:hidden;
  background:
    radial-gradient(circle at 82% 34%,rgba(205,239,252,.9),transparent 25%),
    radial-gradient(circle at 40% 70%,rgba(244,239,165,.36),transparent 24%),
    linear-gradient(145deg,#fafffd,#dff6ef);
  border:2px solid rgba(255,255,255,.96);box-shadow:0 15px 34px rgba(53,201,190,.16),inset 0 0 0 1px rgba(53,201,190,.12);
}
.route-map{background-image:linear-gradient(145deg,rgba(250,255,253,.8),rgba(223,246,239,.68)),url('img/game-bg-safe-v2.jpg');background-size:cover;background-position:center 64%}
.route-map::before{
  content:'';position:absolute;inset:45px 0 0;opacity:.3;
  background-image:radial-gradient(circle,rgba(53,201,190,.38) 1px,transparent 1.5px);background-size:18px 18px;
  -webkit-mask:linear-gradient(transparent,#000 34%,#000);mask:linear-gradient(transparent,#000 34%,#000);
}
.map-title{position:absolute;z-index:4;left:12px;top:10px;display:flex;flex-direction:column;color:var(--deep-2)}
.map-title span{font-size:12px;font-weight:900}.map-title small{font-size:9px;color:#6c9c98;margin-top:2px}
.route-lines{position:absolute;left:7px;right:7px;bottom:4px;width:calc(100% - 14px);height:176px;overflow:visible}
.route{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:8 10;opacity:.44;transition:opacity .2s,stroke-width .2s;filter:url(#routeGlow)}
.route-speed{stroke:#f0b85d}.route-safe{stroke:#6eb8f7}.route-tanken{stroke:#35c9be}
.selected-speed .route-speed,.selected-safe .route-safe,.selected-tanken .route-tanken{opacity:1;stroke-width:10;animation:routeDash 1.5s linear infinite}
@keyframes routeDash{to{stroke-dashoffset:-36}}
.map-start,.map-goal{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;font-size:8px;font-weight:900;color:var(--deep)}
.map-start{left:20px;bottom:9px}.map-start svg{width:35px;height:35px}
.map-goal{right:14px;top:48px}.map-goal svg,.map-goal img{width:38px;height:38px;border-radius:50%;object-fit:cover;mix-blend-mode:multiply;filter:drop-shadow(0 0 8px rgba(244,239,165,.8))}
.route-pin{position:absolute;z-index:5;display:flex;flex-direction:column;align-items:center;gap:1px;width:56px;min-height:44px;padding:5px;border:1px solid white;border-radius:15px;background:rgba(255,255,255,.88);box-shadow:0 6px 15px rgba(53,201,190,.17);font-family:inherit;font-size:16px;cursor:pointer}
.route-pin span{font-size:8px;font-weight:900;color:var(--deep-2)}
.route-pin.speed{left:42%;top:50px}.route-pin.safe{left:49%;bottom:6px}.route-pin.tanken{right:13%;bottom:35px}
.selected-speed .route-pin.speed,.selected-safe .route-pin.safe,.selected-tanken .route-pin.tanken{background:var(--lemon);box-shadow:0 0 0 3px white,0 0 24px rgba(244,239,165,.95);transform:translateY(-3px)}
.map-tree{position:absolute;color:#78c9a6;opacity:.55;font-size:22px}.map-tree.t1{left:24%;top:70px}.map-tree.t2{left:34%;bottom:22px}.map-tree.t3{right:25%;top:66px}

@media (max-height:760px){.route-map{height:190px}.route-lines{height:150px}.route-pin.speed{top:42px}}

/* ========================================================
   v4.0 PLAY UPGRADE — スキャナー・コンボ・最後の木・部屋
   ======================================================== */
.scanner-field{touch-action:none;cursor:crosshair;isolation:isolate}
.scanner-field .hunt-bg{filter:saturate(.82) brightness(.75);transition:filter .2s}
.scanner-field::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(circle at var(--scan-x,50%) var(--scan-y,55%),transparent 0 70px,rgba(8,48,57,.22) 125px,rgba(8,48,57,.52) 100%);
}
.lamy-scanner{
  position:absolute;z-index:7;width:142px;height:142px;border-radius:50%;pointer-events:none;
  transform:translate(-50%,-50%);border:2px solid rgba(244,239,165,.95);
  box-shadow:inset 0 0 28px rgba(255,255,255,.32),0 0 0 5px rgba(53,201,190,.18),0 0 35px rgba(244,239,165,.52);
  background:radial-gradient(circle,rgba(255,255,255,.13),rgba(127,230,216,.08) 62%,transparent 64%);
}
.lamy-scanner::before,.lamy-scanner::after{content:'';position:absolute;background:rgba(244,239,165,.7)}
.lamy-scanner::before{left:50%;top:10%;bottom:10%;width:1px}.lamy-scanner::after{top:50%;left:10%;right:10%;height:1px}
.lamy-scanner span{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 12px var(--lemon);transform:translate(-50%,-50%)}
.scanner-treasure{z-index:6!important;opacity:calc(.04 + var(--near,0) * .96)!important;transform:translate(-50%,-50%) scale(calc(.6 + var(--near,0) * .55))!important;pointer-events:none!important;filter:drop-shadow(0 0 10px rgba(244,239,165,.9))}
.scanner-treasure.near{animation:treasureSignal .65s ease-in-out infinite alternate}
@keyframes treasureSignal{to{filter:drop-shadow(0 0 22px #fff5a8);transform:translate(-50%,-50%) scale(1.18)}}
.scanner-meter{
  position:absolute;z-index:8;left:50%;bottom:10px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;
  min-width:150px;padding:7px 12px;border-radius:999px;background:rgba(5,56,64,.82);color:#fff;font-size:10px;font-weight:900;pointer-events:none;
}
.scanner-meter i{width:9px;height:9px;border-radius:50%;background:#8aa9aa;box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.scanner-meter.level-1 i{background:#6eb8f7;box-shadow:0 0 12px #6eb8f7}.scanner-meter.level-2 i{background:#f4efa5;box-shadow:0 0 16px #f4efa5}.scanner-meter.level-3{background:#168f89}.scanner-meter.level-3 i{background:#fff;box-shadow:0 0 20px #fff}
.hunt-hud{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hunt-combo{font-size:10px;font-weight:900;color:var(--deep);padding:6px 10px;border-radius:999px;background:#fff;border:1px solid rgba(53,201,190,.2)}
.hunt-combo.pop{animation:comboPop .35s cubic-bezier(.2,1.6,.4,1)}
.scanner-pad{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.scanner-pad button{min-height:44px;border:1px solid rgba(53,201,190,.35);border-radius:12px;background:rgba(255,255,255,.92);color:var(--deep);font:900 20px inherit;box-shadow:0 3px 0 #b9ded9;cursor:pointer}.scanner-pad button:active{transform:translateY(2px);box-shadow:0 1px 0 #b9ded9}
@keyframes comboPop{50%{transform:scale(1.25);background:var(--lemon)}}

.run-score{position:absolute;z-index:5;right:9px;top:49px;display:flex;flex-direction:column;align-items:flex-end;padding:6px 9px;border-radius:10px;background:rgba(5,56,64,.72);color:#fff;pointer-events:none}
.run-score b{font-size:15px;letter-spacing:.08em}.run-score span{font-size:7px;color:var(--lemon);font-weight:900}
.run-score em{margin-top:3px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.18);font-size:8px;font-style:normal;font-weight:900;color:#fff}.run-score em.pop{animation:comboPop .45s cubic-bezier(.2,1.8,.4,1);background:var(--lemon);color:var(--deep)}
.run-field.collect-flash::before{content:'';position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(circle at 50% 80%,rgba(255,255,255,.95),rgba(244,239,165,.42) 22%,transparent 55%);animation:collectFlash .55s ease-out forwards}@keyframes collectFlash{from{opacity:1}to{opacity:0}}
.run-get-burst{position:absolute;z-index:9;bottom:12%;width:118px;height:118px;transform:translateX(-50%);display:grid;place-items:center;pointer-events:none;animation:getBurst .9s cubic-bezier(.15,1.4,.35,1) forwards}.run-get-burst img{width:70px;height:70px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 0 20px rgba(245,255,122,1))}.run-get-burst b{position:absolute;top:68px;white-space:nowrap;padding:4px 8px;border-radius:999px;background:rgba(5,56,64,.85);color:#fff;font-size:10px;line-height:1.25;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.3)}.run-get-burst i{position:absolute;width:7px;height:7px;border-radius:2px;background:var(--lemon);box-shadow:0 0 9px #fff;transform:rotate(var(--a)) translateY(-48px)}@keyframes getBurst{0%{opacity:0;transform:translateX(-50%) scale(.45)}30%{opacity:1;transform:translateX(-50%) scale(1.08)}100%{opacity:0;transform:translateX(-50%) scale(.96) translateY(-18px)}}

.clear-tree-reveal{position:relative;width:250px;height:250px;margin:0 auto;border-radius:30px;isolation:isolate}
.clear-tree-reveal img{width:100%;height:100%;object-fit:cover;border-radius:30px;border:3px solid white;box-shadow:0 0 45px rgba(244,239,165,.85),0 16px 40px rgba(53,201,190,.3)}
.clear-tree-reveal .rays{z-index:-1}
.tree-reveal-title{position:absolute;left:12px;right:12px;bottom:12px;padding:9px;border-radius:15px;background:rgba(255,255,255,.88);text-align:center;font-size:11px;color:var(--deep);backdrop-filter:blur(8px)}
.tree-reveal-title b{font-size:17px;color:#218e86}

.home-scene{gap:12px}
.home-hero{position:relative;height:340px;border-radius:26px;overflow:hidden;border:2px solid white;box-shadow:0 18px 42px rgba(36,79,88,.2)}
.home-hero>img{width:100%;height:100%;object-fit:cover;display:block}
.home-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(5,56,64,.18),transparent 35%,transparent 62%,rgba(5,56,64,.62));pointer-events:none}
.home-top{position:absolute;z-index:2;left:12px;right:12px;top:12px;display:flex;align-items:center;justify-content:space-between;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.home-top span{font-size:9px;letter-spacing:.14em;padding:5px 7px;border-radius:8px;background:rgba(5,56,64,.54)}.home-top b{font-size:12px}
.home-welcome{position:absolute;z-index:2;left:14px;bottom:14px;color:#fff;font-size:23px;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.38)}
.home-welcome small{display:block;font-size:10px;font-weight:700;margin-top:2px}
.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.home-stats>div{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-radius:16px;background:rgba(255,255,255,.92);border:1px solid rgba(53,201,190,.18);box-shadow:0 7px 18px rgba(53,201,190,.1)}
.home-stats strong{font-size:19px;color:var(--deep)}.home-stats span{font-size:9px;color:#719b98;margin-top:2px}
.home-shelf{padding:12px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid rgba(53,201,190,.18)}
.home-section-title{font-size:11px;font-weight:900;color:var(--deep);margin-bottom:8px}.home-items{display:flex;gap:8px;flex-wrap:wrap}
.home-item{min-width:62px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px;border-radius:13px;background:linear-gradient(145deg,#fff,var(--neon-mist));font-size:20px;box-shadow:0 4px 10px rgba(53,201,190,.12)}
.home-item b{font-size:8px;color:var(--deep)}.home-empty{font-size:10px;color:#9bc4c0}.home-item.trophy{background:linear-gradient(145deg,#fff,#fff3b8)}

/* ========================================================
   v5.0 THINK & TEAM — 相棒切り替えと予想外のピンチ
   ======================================================== */
.partner-scene{gap:12px}
.partner-field{position:relative;flex:none;height:clamp(260px,38dvh,330px);min-height:0;border-radius:26px;overflow:hidden;border:2px solid white;box-shadow:0 16px 36px rgba(36,79,88,.17)}
.partner-bg{position:absolute;inset:0;background:linear-gradient(145deg,#e8fff8,#cdeffc)}.partner-bg img,.partner-bg svg{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.partner-field.is-waiting .partner-bg img{object-fit:cover;filter:saturate(.72) brightness(.82)}
.partner-field.is-waiting::before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 54%,rgba(244,239,165,.42),transparent 25%),linear-gradient(transparent,rgba(7,63,73,.24))}
.partner-challenge{position:absolute;z-index:3;left:50%;top:54%;width:112px;height:112px;transform:translate(-50%,-50%);display:grid;place-items:center;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(5,56,64,.54);box-shadow:0 0 0 9px rgba(244,239,165,.18),0 0 35px rgba(244,239,165,.7);backdrop-filter:blur(5px);animation:breathe 2s infinite}.partner-challenge span{font-size:49px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.28))}.partner-challenge i{position:absolute;right:4px;top:1px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--lemon);color:var(--deep);font-size:19px;font-weight:900;font-style:normal;border:2px solid white}
.ability-tag.success{background:rgba(18,129,106,.86)}.ability-tag.success b{background:var(--lemon);color:var(--deep)}
.partner-next{margin-top:2px}
.partner-field::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(6,58,64,.48));pointer-events:none}
.ability-tag{position:absolute;z-index:4;left:12px;top:12px;display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:11px;background:rgba(5,56,64,.72);color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.18);backdrop-filter:blur(7px)}
.ability-tag b{padding:3px 5px;border-radius:6px;background:linear-gradient(135deg,var(--mint),var(--soft-blue));font-size:8px;letter-spacing:.12em}.ability-tag span{font-size:9px;font-weight:800}
.partner-problem{position:relative;z-index:3;min-height:62px;padding:11px 14px 11px 58px;border-radius:18px;background:rgba(255,255,255,.95);box-shadow:0 8px 22px rgba(10,57,64,.14);color:var(--deep-2);border:1px solid rgba(53,201,190,.16)}
.partner-problem .problem-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:31px}.partner-problem strong{display:block;font-size:14px}.partner-problem small{display:block;font-size:10px;color:#6d9996;margin-top:2px}
.partner-effect{position:absolute;z-index:2;left:50%;top:49%;width:130px;height:70px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(244,239,165,.42),transparent 70%);animation:breathe 2s infinite;pointer-events:none}
.partner-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.partner-card{display:flex;align-items:center;gap:8px;min-height:78px;padding:8px;border:2px solid white;border-radius:18px;background:rgba(255,255,255,.92);font-family:inherit;color:var(--deep-2);box-shadow:0 7px 18px rgba(53,201,190,.13);cursor:pointer}
.partner-card img{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#fff}.partner-card.neo img{box-shadow:0 0 0 3px var(--mint)}.partner-card.lamy img{box-shadow:0 0 0 3px var(--soft-blue)}
.partner-card span{display:flex;flex-direction:column;align-items:flex-start}.partner-card b{font-size:13px}.partner-card small{font-size:8px;color:#6d9996;margin-top:3px}.partner-card:active{transform:translateY(2px)}
.partner-msg{min-height:36px;padding:8px 11px;border-radius:13px;background:rgba(255,255,255,.7);text-align:center;font-size:11px;color:#719b98}.partner-msg.show{background:#fff7c9;color:#6c631c;font-weight:800;animation:pop .25s ease-out}

.crisis-scene{gap:10px}
.crisis-field{position:relative;height:300px;border-radius:24px;overflow:hidden;border:2px solid white;box-shadow:0 16px 38px rgba(36,79,88,.18)}
.crisis-bg{position:absolute;inset:0}.crisis-bg img,.crisis-bg svg{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.75)}
.crisis-bg img{filter:saturate(.92) brightness(.86);object-position:center 58%}
.river{position:absolute;z-index:2;left:-10%;right:-10%;top:47%;height:92px;transform:rotate(-5deg);background:linear-gradient(180deg,rgba(205,239,252,.8),rgba(68,168,201,.82));box-shadow:inset 0 8px 15px rgba(255,255,255,.45);animation:riverFlow 2s linear infinite}
.river::after{content:'';position:absolute;inset:12px 0;background:repeating-linear-gradient(100deg,transparent 0 28px,rgba(255,255,255,.42) 30px 34px,transparent 36px 62px)}
@keyframes riverFlow{50%{background-position:35px 0}}
.broken-bridge{position:absolute;z-index:3;left:11%;right:11%;top:46%;height:70px;border-left:13px solid #816345;border-right:13px solid #816345;transform:rotate(-5deg)}
.anchor{position:absolute;z-index:6;width:52px;height:52px;border-radius:50%;border:2px solid white;background:rgba(244,239,165,.72);box-shadow:0 0 22px rgba(244,239,165,.85);font-size:19px;cursor:pointer;animation:spotpulse 1.6s infinite}.anchor:disabled{cursor:default}.anchor.a1{left:23%;top:45%}.anchor.a2{left:47%;top:40%}.anchor.a3{right:20%;top:35%}.anchor.revealed{background:#fff;box-shadow:0 0 0 4px var(--mint),0 0 20px rgba(53,201,190,.7);animation:none}
.bridge-built .plank{position:absolute;z-index:5;width:90px;height:31px;border:3px solid #a3794f;border-radius:8px;background:linear-gradient(#ecc489,#c9945c);color:#6b4b32;font-size:12px;font-weight:900;display:grid;place-items:center;transform:rotate(-5deg);box-shadow:0 5px 10px rgba(37,53,49,.25);animation:plankIn .35s cubic-bezier(.2,1.5,.4,1)}
.bridge-built .p1{left:19%;top:48%}.bridge-built .p2{left:42%;top:43%}.bridge-built .p3{right:17%;top:38%}@keyframes plankIn{from{transform:rotate(-25deg) scale(.2);opacity:0}}
.crisis-duo{position:absolute;z-index:5;left:10px;bottom:10px;display:flex}.crisis-duo img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid white;margin-right:-8px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.switcher{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border-radius:18px;background:rgba(255,255,255,.65)}
.switcher button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:6px 9px;border:2px solid transparent;border-radius:14px;background:#fff;font-family:inherit;color:var(--deep-2);cursor:pointer}.switcher img{grid-row:1/3;width:38px;height:38px;border-radius:50%;object-fit:cover}.switcher b{font-size:11px;text-align:left}.switcher small{font-size:8px;text-align:left;color:#789c99}.switcher button.active{border-color:var(--mint);background:#e9fffb;box-shadow:0 0 0 3px rgba(53,201,190,.18)}
.clue-order{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#719b98}.clue-order b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eaf4f2;color:#9ab4b1}.clue-order b.on{background:var(--lemon);color:var(--deep);box-shadow:0 0 12px rgba(244,239,165,.65)}
.plank-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.plank-choices button{min-height:48px;border:2px solid white;border-radius:13px;background:linear-gradient(#f1d2a3,#d8a76f);color:#654a35;font-size:18px;font-family:inherit;box-shadow:0 4px 0 #ad7d51}.plank-choices button:active{transform:translateY(3px);box-shadow:0 1px 0 #ad7d51}.plank-choices small{display:block;font-size:8px}.plank-choices button:disabled{opacity:.35}.plank-choices button.hint{border-color:var(--lemon);box-shadow:0 0 0 4px rgba(244,239,165,.38),0 4px 0 #ad7d51;animation:ctapulse 2s infinite}.clue-order.memory-mode b{background:#dceae8;color:#9bb0ae}
.crisis-msg{min-height:37px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.9);text-align:center;font-size:11px;color:var(--deep);font-weight:800}

@media(max-height:760px){.partner-field{height:260px;min-height:0}.crisis-field{height:250px}.partner-card{min-height:67px}.partner-card img{width:48px;height:48px}}

/* ---- v7.3 森のことば図鑑・カード獲得演出 ---- */
.collection-entry{width:100%;min-height:54px;display:grid;grid-template-columns:42px 1fr auto 18px;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(53,201,190,.25);border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(235,253,249,.95));box-shadow:0 6px 16px rgba(53,201,190,.13);font-family:inherit;color:var(--deep);cursor:pointer}
.collection-entry>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff6ba;font-size:20px}.collection-entry>b{text-align:left;font-size:12px}.collection-entry>small{padding:4px 7px;border-radius:99px;background:var(--deep);color:white;font-size:9px;font-weight:900}.collection-entry>i{font-style:normal;font-size:22px;color:var(--mint)}
.collection-scene{background:radial-gradient(circle at 80% 4%,rgba(244,239,165,.42),transparent 25%)}
.collection-head{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;padding:12px;border-radius:21px;background:linear-gradient(135deg,#0e5660,#168f8b);color:white;box-shadow:0 10px 25px rgba(7,63,73,.2)}
.collection-head>button{width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.14);color:white;font-size:25px}.collection-head small{font-size:7px;font-weight:900;letter-spacing:.18em;color:#bff5ef}.collection-head h2{font-size:19px;line-height:1.25}.collection-head p{font-size:9px;color:#d7f7f3}.collection-head>strong{font-size:25px}.collection-head>strong span{font-size:10px;color:#bff5ef}
.collection-progress{height:8px;padding:2px;border-radius:99px;background:#d9efec;box-shadow:inset 0 1px 3px rgba(7,63,73,.14)}.collection-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--mint),#f8e976);box-shadow:0 0 10px rgba(244,239,165,.8);transition:width .5s ease}
.collection-group{display:flex;flex-direction:column;gap:7px}.collection-group-title{display:flex;align-items:flex-end;justify-content:space-between;padding:0 2px}.collection-group-title b{font-size:11px;color:var(--deep)}.collection-group-title small{font-size:6px;font-weight:900;letter-spacing:.09em;color:#86a9a6}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.collection-card{position:relative;min-width:0;min-height:176px;padding:6px;overflow:hidden;border:2px solid white;border-radius:17px;background:linear-gradient(150deg,#fff,#e8fbf7);box-shadow:0 7px 16px rgba(7,63,73,.14);font-family:inherit;color:var(--deep);text-align:center}.collection-card.card-blue{background:linear-gradient(150deg,#fff,#e1f3ff)}.collection-card.card-violet{background:linear-gradient(150deg,#fff,#eee8ff)}.collection-card.card-gold{background:linear-gradient(150deg,#fffef7,#fff0a7);box-shadow:0 7px 18px rgba(201,154,0,.22)}.collection-card.card-secret{background:linear-gradient(150deg,#edffff,#dff2ff 55%,#fff2a9);box-shadow:0 0 0 2px rgba(185,239,255,.75),0 8px 20px rgba(91,79,157,.24)}
.collection-card img{width:100%;height:104px;display:block;object-fit:cover;border-radius:11px}.collection-card small,.collection-card b,.collection-card em{position:relative;z-index:2;display:block}.collection-card small{margin-top:4px;font-size:7px;color:#759895}.collection-card b{font-size:15px;letter-spacing:.08em}.collection-card em{font-style:normal;font-size:8px;color:#6f9995}.collection-card>i{position:absolute;inset:-80% -40%;background:linear-gradient(110deg,transparent 43%,rgba(255,255,255,.75) 50%,transparent 57%);transform:translateX(-50%);animation:miniFoil 5s ease-in-out infinite;pointer-events:none}.collection-card:nth-child(2)>i{animation-delay:1s}.collection-card:nth-child(3)>i{animation-delay:2s}
.mini-rarity{position:absolute;z-index:3;left:9px;top:10px;padding:3px 5px;border-radius:6px;background:rgba(8,69,77,.86);color:#fff8ae;font-size:5px;font-weight:900;letter-spacing:.04em}
@keyframes miniFoil{0%,64%{transform:translateX(-50%)}85%,100%{transform:translateX(50%)}}
.collection-card.locked{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #c6dfdc;background:repeating-linear-gradient(135deg,#f5faf9,#f5faf9 7px,#edf6f4 7px,#edf6f4 14px);box-shadow:none;color:#91aaa7}.collection-lock{width:68px;height:88px;display:grid;place-items:center;margin-bottom:6px;border-radius:13px;background:linear-gradient(#d8e9e6,#c7dcda);clip-path:polygon(8% 0,92% 0,100% 7%,100% 93%,92% 100%,8% 100%,0 93%,0 7%)}.collection-lock span{font-size:31px;font-weight:900;color:white;text-shadow:0 2px 4px #92aaa7}.collection-card.locked b{font-size:12px}.collection-card.locked em{min-height:24px;display:flex;align-items:center;justify-content:center;font-size:7px;line-height:1.35}
.collection-bonus{display:flex;align-items:center;gap:10px;padding:11px;border:1px dashed #b8d9d5;border-radius:16px;background:rgba(255,255,255,.7);color:#698d89}.collection-bonus>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#edf5f4;font-size:20px;filter:grayscale(1)}.collection-bonus div{display:flex;flex-direction:column}.collection-bonus b{font-size:11px}.collection-bonus small{font-size:8px}.collection-bonus.complete{border-style:solid;border-color:#f0d75e;background:linear-gradient(135deg,#fff,#fff5ba);color:#806914}.collection-bonus.complete>span{filter:none;background:white;box-shadow:0 0 16px #f2dc6b}
.collection-tip{text-align:center;font-size:9px;color:#759b97}
.next-collection{padding:11px;border-radius:17px;background:linear-gradient(145deg,rgba(219,241,255,.82),rgba(240,234,255,.86));border:1px solid white;box-shadow:0 7px 17px rgba(72,117,160,.11)}.next-collection-title{display:flex;flex-direction:column;margin-bottom:7px}.next-collection-title span{font-size:7px;font-weight:950;letter-spacing:.14em;color:#6e8fc3}.next-collection-title b{font-size:10px;color:#496e88}.next-collection>div:nth-child(2){display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.next-collection>div:nth-child(2)>span{display:flex;flex-direction:column;align-items:center;padding:7px;border:1px dashed rgba(78,117,152,.3);border-radius:11px;background:rgba(255,255,255,.46);color:#7790a4}.next-collection i{font-size:20px;font-style:normal;filter:grayscale(.75);opacity:.52}.next-collection small{font-size:6px}.next-collection b{font-size:9px;letter-spacing:.08em}.next-collection p{margin-top:7px;text-align:center;font-size:8px;color:#718da1}
.card-get-overlay,.card-detail-overlay{position:absolute;inset:0;z-index:90;display:grid;place-items:center;padding:15px;background:rgba(5,48,55,.76);backdrop-filter:blur(8px);animation:fade .2s ease-out;overflow-y:auto}
.card-get-rays{position:absolute;width:560px;height:560px;background:repeating-conic-gradient(from 0deg,rgba(244,239,165,.22) 0 7deg,transparent 7deg 15deg);animation:spin 18s linear infinite}.card-get-panel,.card-detail-panel{position:relative;z-index:2;width:min(310px,100%);text-align:center;animation:cardGetIn .6s cubic-bezier(.17,1.55,.38,1)}
.card-get-panel .eigo-card,.card-detail-panel .eigo-card{width:240px;max-width:100%;margin:7px auto}.card-get-panel .card-art,.card-detail-panel .card-art{height:190px}.card-get-new{display:inline-block;padding:4px 14px;border-radius:99px;background:#fff4a7;color:#765f00;font-size:11px;font-weight:950;letter-spacing:.14em;box-shadow:0 0 24px rgba(255,244,167,.9)}.card-get-title{margin:6px;color:white;font-size:15px;font-weight:900;text-shadow:0 2px 8px #06343c}.card-get-count{color:white;font-size:10px;font-weight:900}.card-get-panel>button,.card-detail-panel>button{width:240px;max-width:100%;min-height:44px;margin-top:8px;border:0;border-radius:99px;background:linear-gradient(135deg,#f8f2a3,#ffe67d);box-shadow:0 4px 0 #c6aa3b;font:900 12px inherit;color:#594a0c}.card-detail-panel>button{background:white;box-shadow:0 4px 0 #bcd9d5;color:var(--deep)}
@keyframes cardGetIn{0%{transform:translateY(45px) scale(.55) rotate(-4deg);opacity:0}70%{transform:translateY(-7px) scale(1.04) rotate(1deg);opacity:1}100%{transform:none;opacity:1}}
.card-reveal{box-shadow:0 0 0 3px #fff2a0,0 0 34px rgba(255,241,132,.65),0 16px 35px rgba(0,24,31,.35)}
.shelf-open{width:100%;margin-top:9px;padding:9px;border:1px solid #c4e9e4;border-radius:12px;background:#effbf9;color:var(--deep);font:900 9px inherit}.card-shelf-mini{display:grid;grid-template-columns:repeat(4,1fr)}.card-shelf-mini .collection-card{min-height:92px;padding:4px;border-radius:11px}.card-shelf-mini .collection-card img{height:53px;border-radius:7px}.card-shelf-mini .collection-card b{font-size:9px}.card-shelf-mini .collection-card em,.card-shelf-mini .collection-card small,.card-shelf-mini .mini-rarity{display:none}.card-shelf-mini .collection-lock{width:40px;height:52px;margin:0}.card-shelf-mini .collection-lock span{font-size:18px}
@media(min-width:760px){.title-scene .collection-entry{grid-column:2}.collection-scene{padding-top:28px}.collection-grid{gap:12px}.collection-card{min-height:205px}.collection-card img{height:128px}}
@media(max-height:720px){.card-get-panel .card-art,.card-detail-panel .card-art{height:130px}.card-get-panel .eigo-card,.card-detail-panel .eigo-card{width:210px}.card-get-title{margin:2px}.card-phrase{margin:5px 0;padding:5px}.card-get-panel>button,.card-detail-panel>button{margin-top:5px}}

/* ---- v5.1 作戦カード：目標・根拠・立て直しを自分で決める ---- */
.plan-scene{gap:10px}
.plan-visual{position:relative;height:180px;border-radius:20px;overflow:hidden;border:2px solid white;box-shadow:0 12px 28px rgba(36,79,88,.16);background:linear-gradient(145deg,#e8fff8,#cdeffc)}
.plan-visual img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.plan-visual::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,56,64,.66))}
.plan-visual span{position:absolute;z-index:2;left:12px;right:12px;bottom:9px;color:#fff;text-align:center;font-size:10px;font-weight:900;text-shadow:0 2px 6px rgba(0,0,0,.42)}
.plan-hero{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:19px;background:linear-gradient(135deg,#fff,#eafff9);border:1px solid rgba(53,201,190,.2);box-shadow:0 8px 22px rgba(53,201,190,.12)}
.plan-icon{flex:0 0 52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#fff;box-shadow:0 5px 13px rgba(53,201,190,.18)}.plan-icon svg{width:44px;height:44px}
.plan-hero>div{display:flex;flex-direction:column}.plan-hero small{font-size:8px;color:#79a29e}.plan-hero b{font-size:17px;color:var(--deep-2)}.plan-hero span{font-size:9px;color:#699692;margin-top:2px}
.thinking-step{padding:12px;border-radius:18px;background:rgba(255,255,255,.9);border:2px solid rgba(205,239,252,.8);box-shadow:0 7px 18px rgba(53,201,190,.08)}
.thinking-step.done{border-color:rgba(53,201,190,.48)}.thinking-step h2{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--deep-2)}.thinking-step h2 i{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:var(--mint);color:#fff;font-size:11px;font-style:normal}.thinking-step p{font-size:9px;color:#749b98;margin:5px 0 8px 30px}
.clue-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.clue-choices button{display:grid;grid-template-columns:30px 1fr;grid-template-rows:1fr 1fr;align-items:center;min-height:56px;padding:6px 8px;border:2px solid transparent;border-radius:13px;background:#f3fbfa;font-family:inherit;text-align:left;color:var(--deep-2)}.clue-choices button>span{grid-row:1/3;font-size:21px}.clue-choices button b{font-size:10px}.clue-choices button small{font-size:7px;color:#7aa09d}.clue-choices button.sel{border-color:var(--mint);background:#e7fffa;box-shadow:0 0 0 3px rgba(53,201,190,.15)}
.backup-choices{display:flex;flex-direction:column;gap:6px}.backup-choices button{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 10px;border:2px solid transparent;border-radius:12px;background:#f3fbfa;font-family:inherit;font-size:10px;font-weight:800;color:var(--deep-2);text-align:left}.backup-choices button span{font-size:17px}.backup-choices button.sel{border-color:var(--mint);background:#e7fffa;box-shadow:0 0 0 3px rgba(53,201,190,.15)}
.plan-summary{padding:10px 12px;border-radius:15px;background:linear-gradient(135deg,#fff9c9,#e6fff9);border:2px solid white;box-shadow:0 8px 20px rgba(244,239,165,.25);text-align:center}.plan-summary span{display:block;font-size:8px;font-weight:900;color:#8c7e34;letter-spacing:.1em}.plan-summary b{display:block;font-size:11px;line-height:1.7;color:var(--deep-2);margin-top:2px}
.plan-actions{display:grid;grid-template-columns:1fr 2fr;gap:8px}.plan-actions .btn{font-size:12px;padding:10px 6px;min-height:46px}
@media(max-height:760px){.thinking-step{padding:9px}.clue-choices button{min-height:49px}.backup-choices button{min-height:33px}.plan-hero{padding:8px 11px}.plan-icon{height:44px;flex-basis:44px}}

/* v5.3 端末サイズ・タッチ操作・読みやすさ */
button{touch-action:manipulation}
@media (max-width:380px){
  #app{padding-left:9px;padding-right:9px}.quest-bar{gap:6px;padding:6px 7px}.quest-bar strong{font-size:10px}
  .settings-modal{padding:9px}.settings-panel{border-radius:20px}.forest{min-height:390px}
  .strat-card{padding:9px!important}.scanner-pad{gap:4px}.parent-stats{gap:4px}
}
@media (orientation:landscape) and (max-height:560px){
  #stage{width:min(100vw,760px);max-width:760px}.scene{min-height:100%}
  #app{padding:8px 12px 12px}.settings-panel{max-width:520px;max-height:96%}
  .title-scene{grid-template-columns:1fr 1.15fr;align-content:center}.title-scene .title-kicker,.title-scene h1,.title-scene .chapter,.title-scene .eng,.title-scene .catch,.title-scene .title-chip{grid-column:2}.title-scene .title-art{grid-column:1;grid-row:1/8}.title-scene .title-action{grid-column:2}.title-img{width:200px}
  .forest{min-height:330px}.mg-grid,.hunt-field,.run-field{max-height:330px}.scanner-pad button{min-height:40px}
}

/* v6.0 PCでは森の世界を左右にも広げ、中央のゲーム画面は読みやすく保つ */
@media (min-width:1000px) and (min-height:650px){
  #stage{width:min(1080px,92vw);max-width:1080px;border-radius:34px;background:#dff8f3;box-shadow:0 28px 90px rgba(7,63,73,.3)}
  #stage::before{background:linear-gradient(90deg,rgba(7,63,73,.08),rgba(255,255,255,.08) 28%,rgba(255,255,255,.08) 72%,rgba(7,63,73,.08)),url('img/game-bg-hunt-v2.jpg') center/cover;opacity:.62}
  #stage::after{background:linear-gradient(90deg,rgba(13,95,103,.15),rgba(255,255,255,.65) 29%,rgba(255,255,255,.65) 71%,rgba(13,95,103,.15))}
  #app{width:430px;max-width:430px;margin:0 auto;background:linear-gradient(180deg,rgba(247,255,254,.94),rgba(223,250,245,.93));box-shadow:0 0 50px rgba(7,63,73,.18),0 0 0 1px rgba(255,255,255,.78)}
  #settingsBtn{right:calc((100% - 430px)/2 + 64px)}#bgmBtn{right:calc((100% - 430px)/2 + 12px)}
  .settings-panel{max-width:430px}
  .bg-scene{opacity:.28}
}

/* ================= 販売サーバー連携（purchase.js） ================= */
.purchase-test-badge{background:#e0f4ff;color:#1c6f96}
.purchase-login-form{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px}
.purchase-login-form input{min-height:46px;padding:0 13px;border:2px solid var(--mint);border-radius:13px;background:#fff;font:800 12px inherit;color:var(--deep-2)}
.purchase-login-form input:focus{outline:3px solid rgba(53,201,190,.3)}
.purchase-account{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 2px;padding:7px 10px;border-radius:11px;background:#eefaf7}
.purchase-account>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3e7771;font-size:9px;font-weight:900}
.purchase-account .parent-small-btn{flex:none;margin:0}
.shop-product.owned{border-color:#bfe8db;background:#f2fcf9;cursor:default}
.shop-product.owned>span{color:#2f9a86}
.shop-product.owned>strong{color:#2f9a86;font-size:18px}
.shop-product:disabled{opacity:.55;cursor:not-allowed}
.shop-status.error{color:#b74747}

/* =========================================================
   v8.0 クリア後「ひかりの森 探検マップ」
   ========================================================= */
.home-expedition{width:100%;display:grid;grid-template-columns:50px 1fr 18px;align-items:center;gap:9px;min-height:76px;padding:10px;border:2px solid #fff;border-radius:20px;background:linear-gradient(135deg,#fffbd0,#dcfff7 58%,#dff3ff);box-shadow:0 10px 24px rgba(53,201,190,.2);font-family:inherit;color:var(--deep-2);text-align:left;cursor:pointer}.home-expedition>span{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:white;font-size:25px;box-shadow:0 5px 14px rgba(53,201,190,.18)}.home-expedition>div{display:flex;flex-direction:column;gap:2px}.home-expedition small{font-size:6px;font-weight:950;letter-spacing:.12em;color:#2ca99f}.home-expedition b{font-size:12px}.home-expedition em{font-style:normal;font-size:8px;color:#648f8a}.home-expedition>i{font-style:normal;font-size:22px;color:var(--mint)}

.expedition-hub{gap:10px;background:radial-gradient(circle at 12% 4%,rgba(244,239,165,.36),transparent 25%),linear-gradient(180deg,#f7fffd,#e9fbf7)}
.expedition-hub>*,.exp-brief>*,.exp-plan-scene>*,.exp-route-scene>*,.exp-rescue-scene>*,.exp-tree-scene>*,.exp-tree-answer>*,.exp-reflect-scene>*,.exp-result-scene>*{flex-shrink:0}
.exp-map-head{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;padding:10px 11px;border-radius:19px;background:linear-gradient(135deg,#0e5960,#168e88);color:#fff;box-shadow:0 10px 24px rgba(7,63,73,.2)}.exp-map-head>button{width:36px;height:36px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.14);color:white;font-size:25px}.exp-map-head small{font-size:6px;font-weight:950;letter-spacing:.15em;color:#bcf5ef}.exp-map-head h2{font-size:16px;line-height:1.25}.exp-map-head p{font-size:8px;color:#d6f7f2}.exp-map-head>strong{font-size:22px}.exp-map-head>strong span{font-size:9px;color:#bff3ed}
.exp-tree-hero{position:relative;height:210px;overflow:hidden;border:2px solid white;border-radius:22px;box-shadow:0 12px 28px rgba(7,63,73,.2)}.exp-tree-hero>img{width:100%;height:100%;object-fit:cover;display:block}.exp-tree-hero::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,52,61,.84))}.exp-tree-copy{position:absolute;z-index:2;left:14px;right:14px;bottom:25px;display:flex;flex-direction:column;color:white;text-shadow:0 2px 8px #06343c}.exp-tree-copy small{font-size:7px;font-weight:950;letter-spacing:.15em;color:#fff2a3}.exp-tree-copy b{font-size:18px}.exp-tree-copy span{font-size:9px;color:#d9fbf5}.exp-tree-meter{position:absolute;z-index:3;left:14px;right:14px;bottom:10px;height:8px;padding:2px;border-radius:99px;background:rgba(255,255,255,.32)}.exp-tree-meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#35c9be,#fff176);box-shadow:0 0 12px #fff394;transition:width .5s ease}
.exp-recommend{padding:8px 10px;border:1px solid rgba(53,201,190,.22);border-radius:13px;background:white;color:#568783;font-size:9px;text-align:center;box-shadow:0 5px 13px rgba(53,201,190,.09)}.exp-recommend b{color:var(--deep-2)}.exp-recommend.complete{background:linear-gradient(135deg,#fff9c8,#e8fff8);color:#6b641e}
.exp-mission-list{display:flex;flex-direction:column;gap:10px}.exp-mission{width:100%;padding:0;overflow:hidden;border:2px solid white;border-radius:21px;background:#fff;box-shadow:0 9px 24px rgba(7,63,73,.14);font-family:inherit;color:var(--deep-2);text-align:left;cursor:pointer}.exp-mission.mint{background:linear-gradient(160deg,#fff,#e8fff9)}.exp-mission.blue{background:linear-gradient(160deg,#fff,#e8f5ff)}.exp-mission.gold{background:linear-gradient(160deg,#fff,#fff9cc)}.exp-mission.cleared{box-shadow:0 0 0 2px rgba(53,201,190,.28),0 9px 24px rgba(7,63,73,.13)}
.exp-mission-cover{position:relative;height:118px;overflow:hidden}.exp-mission-cover img{width:100%;height:100%;object-fit:cover;display:block}.exp-mission-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,51,59,.08),rgba(5,51,59,.55))}.exp-mission-cover>span,.exp-mission-cover>b{position:absolute;z-index:2;top:8px;padding:4px 7px;border-radius:8px;font-size:7px;font-weight:950;letter-spacing:.09em}.exp-mission-cover>span{left:8px;background:rgba(5,64,72,.82);color:white}.exp-mission-cover>b{right:8px;background:#fff4a2;color:#685710}.exp-mission.cleared .exp-mission-cover>b{background:#35c9be;color:white}
.exp-mission-info{display:grid;grid-template-columns:42px 1fr 15px;align-items:center;gap:8px;padding:9px 11px 7px}.exp-mission-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:white;box-shadow:0 4px 12px rgba(7,63,73,.12);font-size:21px}.exp-mission-info>div{display:flex;flex-direction:column}.exp-mission-info small{font-size:7px;font-weight:900;color:#49a59c}.exp-mission-info h3{font-size:15px}.exp-mission-info p{font-size:8px;line-height:1.45;color:#698f8c}.exp-mission-info em{margin-top:3px;font-style:normal;font-size:7px;font-weight:900;color:#789c98}.exp-mission-info>i{font-style:normal;font-size:22px;color:var(--mint)}
.exp-rewards{display:flex;align-items:center;gap:5px;padding:7px 10px;border-top:1px dashed rgba(54,127,122,.16)}.exp-rewards>small{margin-right:auto;font-size:7px;color:#719793}.exp-rewards>span{position:relative;width:37px;height:45px;overflow:hidden;border:2px solid white;border-radius:8px;background:#d7e9e6;box-shadow:0 3px 8px rgba(7,63,73,.11);filter:grayscale(1);opacity:.55}.exp-rewards>span.owned{filter:none;opacity:1}.exp-rewards img{width:100%;height:100%;object-fit:cover}.exp-rewards span b{position:absolute;left:1px;right:1px;bottom:1px;padding:1px;border-radius:4px;background:rgba(6,57,65,.78);color:white;font-size:5px;text-align:center}
.exp-album-progress{display:grid;grid-template-columns:37px 1fr auto;align-items:center;gap:8px;padding:9px;border:1px solid rgba(53,201,190,.25);border-radius:16px;background:#fff;box-shadow:0 6px 16px rgba(53,201,190,.1)}.exp-album-progress>span{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#fff5a9}.exp-album-progress>div{display:flex;flex-direction:column}.exp-album-progress b{font-size:9px}.exp-album-progress small{font-size:7px;line-height:1.4;color:#709691}.exp-album-progress button{padding:7px 9px;border:0;border-radius:10px;background:#e7faf7;color:var(--deep);font:900 8px inherit}

.exp-brief,.exp-plan-scene,.exp-route-scene,.exp-rescue-scene,.exp-tree-scene,.exp-tree-answer,.exp-reflect-scene,.exp-result-scene{gap:10px}.exp-brief-art{position:relative;height:245px;overflow:hidden;border:2px solid #fff;border-radius:22px;box-shadow:0 13px 28px rgba(7,63,73,.2)}.exp-brief-art>img{width:100%;height:100%;object-fit:cover;display:block}.exp-brief-art::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,57,64,.82))}.exp-brief-art>span{position:absolute;z-index:2;left:13px;bottom:13px;width:48px;height:48px;display:grid;place-items:center;border:2px solid white;border-radius:16px;background:rgba(255,255,255,.9);font-size:26px}.exp-brief-art>div{position:absolute;z-index:2;left:72px;right:10px;bottom:15px;display:flex;flex-direction:column;color:#fff;text-shadow:0 2px 7px #06343c}.exp-brief-art small{font-size:7px;font-weight:950;color:#fff4a4}.exp-brief-art b{font-size:17px}.exp-brief-card{padding:12px;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(7,63,73,.1)}.exp-brief-card h2{font-size:13px}.exp-brief-card p{margin:4px 0 9px;font-size:10px;line-height:1.65;color:#5f8884}.exp-brief-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.exp-brief-card span{padding:6px 3px;border-radius:9px;background:#edf9f7;font-size:7px;font-weight:900;text-align:center;color:#4d817c}.exp-variant-note{padding:7px;border-radius:11px;background:#eef7ff;color:#63818f;font-size:8px;text-align:center}
.exp-question{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:10px;padding:12px;border-radius:20px;background:linear-gradient(135deg,#fff,#e9fbf7);border:2px solid #fff;box-shadow:0 8px 20px rgba(7,63,73,.12)}.exp-question>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:white;font-size:28px;box-shadow:0 4px 12px rgba(7,63,73,.12)}.exp-question small{font-size:7px;font-weight:900;color:#53a69e}.exp-question h2{font-size:15px}.exp-question p{margin-top:3px;font-size:8px;line-height:1.55;color:#6d928e}.exp-question.compact{grid-template-columns:45px 1fr;padding:9px}.exp-question.compact>span{width:42px;height:42px;font-size:22px}
.exp-goal-choices{display:flex;flex-direction:column;gap:8px}.exp-goal-choices button{display:grid;grid-template-columns:48px 1fr;grid-template-rows:1fr 1fr;align-items:center;min-height:66px;padding:8px 10px;border:2px solid white;border-radius:17px;background:#fff;box-shadow:0 7px 17px rgba(7,63,73,.1);font-family:inherit;color:var(--deep-2);text-align:left}.exp-goal-choices button>span{grid-row:1/3;width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#e9faf7;font-size:23px}.exp-goal-choices button>b{align-self:end;font-size:12px}.exp-goal-choices button>small{align-self:start;font-size:8px;color:#719793}.exp-goal-choices button:active{transform:scale(.98);border-color:var(--mint)}

.route-mission-map{position:relative;height:195px;overflow:hidden;border:2px solid white;border-radius:21px;box-shadow:0 10px 24px rgba(7,63,73,.16)}.route-mission-map>img{width:100%;height:100%;object-fit:cover;display:block}.route-mission-map::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,48,55,.18),transparent 55%,rgba(0,48,55,.12))}.route-start,.route-goal{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;font-size:24px}.route-start{left:13px;bottom:13px}.route-start svg{width:45px;height:45px}.route-goal{right:16px;top:17px}.route-start b,.route-goal b{padding:2px 5px;border-radius:6px;background:rgba(6,56,64,.76);color:white;font-size:6px;letter-spacing:.12em}.route-fact-legend{display:flex;justify-content:center;gap:12px;font-size:7px;color:#729691}.route-option-list{display:flex;flex-direction:column;gap:7px}.route-option{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;min-height:68px;padding:8px;border:2px solid white;border-radius:16px;background:#fff;box-shadow:0 6px 16px rgba(7,63,73,.1);font-family:inherit;color:var(--deep-2);text-align:left}.route-option>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#eefaf8;font-size:21px}.route-option>div{display:flex;flex-direction:column}.route-option b{font-size:11px}.route-option small{font-size:7px;color:#719692}.route-option>em{display:flex;flex-direction:column;gap:1px;font-style:normal}.route-option>em i{font-style:normal;font-size:7px;font-weight:900;color:#4f7975}.route-option.selected{border-color:var(--mint);background:#e9fff9;box-shadow:0 0 0 3px rgba(53,201,190,.13)}.route-prediction{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:8px;padding:10px;border-radius:15px;background:#fff8c6;border:2px solid #fff}.route-prediction.rethink{background:#eaf6ff}.route-prediction>span{font-size:25px}.route-prediction b{font-size:10px}.route-prediction p{font-size:8px;line-height:1.5;color:#627f7c}.exp-action-row{display:grid;grid-template-columns:1fr 1.45fr;gap:7px}.exp-action-row .btn:only-child{grid-column:1/3}.exp-tap-hint{text-align:center;font-size:8px;color:#749894}

.rescue-progress{display:flex;align-items:center;justify-content:center}.rescue-progress i{width:31px;height:31px;display:grid;place-items:center;border:2px solid #d6ebe8;border-radius:50%;background:white;color:#86a5a1;font:900 10px inherit}.rescue-progress i.now{border-color:var(--mint);color:var(--mint);box-shadow:0 0 0 4px rgba(53,201,190,.13)}.rescue-progress i.done{border-color:var(--mint);background:var(--mint);color:white}.rescue-progress>span{width:45px;height:3px;background:#d6ebe8}.rescue-field{position:relative;height:260px;overflow:hidden;border:2px solid white;border-radius:22px;box-shadow:0 11px 27px rgba(7,63,73,.18)}.rescue-field>img{width:100%;height:100%;object-fit:cover;display:block}.rescue-field::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,52,61,.84))}.rescue-problem{position:absolute;z-index:2;left:11px;right:11px;bottom:10px;display:grid;grid-template-columns:45px 1fr;align-items:center;gap:8px;color:#fff}.rescue-problem>span{width:43px;height:43px;display:grid;place-items:center;border:2px solid white;border-radius:14px;background:rgba(255,255,255,.9);font-size:22px}.rescue-problem>div{display:flex;flex-direction:column;text-shadow:0 2px 6px #06343c}.rescue-problem small{font-size:7px;color:#fff4a7}.rescue-problem b{font-size:12px;line-height:1.4}.rescue-choice-title{text-align:center;font-size:9px;font-weight:900;color:#5e8984}.rescue-duo-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rescue-duo-choices button{display:grid;grid-template-columns:46px 1fr;grid-template-rows:1fr 1fr;align-items:center;min-height:62px;padding:7px;border:2px solid white;border-radius:17px;background:#fff;box-shadow:0 7px 17px rgba(7,63,73,.11);font-family:inherit;color:var(--deep-2);text-align:left}.rescue-duo-choices img{grid-row:1/3;width:43px;height:43px;object-fit:cover;border-radius:50%;background:#e8faf7}.rescue-duo-choices b{align-self:end;font-size:11px}.rescue-duo-choices small{align-self:start;font-size:7px;color:#729793}.exp-live-message{min-height:37px;padding:8px 10px;border-radius:13px;background:#fff;color:#547d79;font-size:9px;line-height:1.6;text-align:center;box-shadow:0 4px 12px rgba(7,63,73,.07)}.exp-live-message.hint{background:#edf6ff;color:#55728a}

.tree-search-art{position:relative;height:225px;overflow:hidden;border:2px solid white;border-radius:21px;box-shadow:0 10px 24px rgba(7,63,73,.17)}.tree-search-art>img{width:100%;height:100%;object-fit:cover;display:block}.tree-search-art::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(4,52,60,.8))}.tree-search-art>div{position:absolute;z-index:2;left:12px;bottom:10px;display:flex;flex-direction:column;color:white;text-shadow:0 2px 6px #06343c}.tree-search-art small{font-size:7px;color:#fff3a3}.tree-search-art b{font-size:12px}.tree-clue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tree-clue-grid button{min-width:0;min-height:135px;padding:7px;border:2px dashed #bedbd7;border-radius:16px;background:#f3faf9;font-family:inherit;color:#7a9996;text-align:center}.tree-clue-grid button>span{width:44px;height:44px;display:grid;place-items:center;margin:0 auto 5px;border-radius:14px;background:#dae9e7;color:white;font-size:22px}.tree-clue-grid button b{display:block;font-size:9px}.tree-clue-grid button small{display:block;margin-top:4px;font-size:7px;line-height:1.4}.tree-clue-grid button.found{border-style:solid;border-color:var(--mint);background:#eafff9;color:var(--deep-2)}.tree-clue-grid button.found>span{background:white;box-shadow:0 4px 11px rgba(53,201,190,.16)}.evidence-board{padding:9px;border:2px solid white;border-radius:15px;background:linear-gradient(135deg,#fff8c7,#e7fff9);text-align:center}.evidence-board b{font-size:11px}.evidence-board p{font-size:8px;color:#6d8c88}.evidence-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.evidence-summary>span{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:86px;padding:8px 5px;border:2px solid white;border-radius:15px;background:#f0fbf8;font-size:24px;text-align:center}.evidence-summary small{font-size:7px;line-height:1.4;color:#547d79}.tree-answer-list{display:flex;flex-direction:column;gap:8px}.tree-answer-list button{display:grid;grid-template-columns:45px 1fr 15px;align-items:center;gap:8px;min-height:60px;padding:7px 10px;border:2px solid white;border-radius:16px;background:#fff;box-shadow:0 6px 16px rgba(7,63,73,.1);font-family:inherit;color:var(--deep-2);text-align:left}.tree-answer-list span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf9f7;font-size:22px}.tree-answer-list b{font-size:11px}.tree-answer-list i{font-style:normal;font-size:20px;color:var(--mint)}

.reflect-success{position:relative;height:270px;overflow:hidden;border:2px solid white;border-radius:22px;box-shadow:0 12px 28px rgba(7,63,73,.2)}.reflect-success>img{width:100%;height:100%;object-fit:cover;display:block}.reflect-success::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(5,51,60,.87))}.reflect-success>span{position:absolute;z-index:2;left:10px;top:10px;padding:4px 7px;border-radius:8px;background:#35c9be;color:white;font-size:7px;font-weight:950;letter-spacing:.1em}.reflect-success>div{position:absolute;z-index:2;left:13px;right:13px;bottom:13px;display:flex;flex-direction:column;color:white;text-shadow:0 2px 7px #06343c}.reflect-success b{font-size:15px}.reflect-success small{font-size:8px;color:#e3faf7}.reflect-question{display:grid;grid-template-columns:43px 1fr;align-items:center;gap:8px;padding:9px;border-radius:16px;background:#fff}.reflect-question>span{font-size:24px}.reflect-question h2{font-size:12px}.reflect-question p{font-size:8px;color:#719490}.reflection-choice-list{display:flex;flex-direction:column;gap:7px}.reflection-choice-list button{display:grid;grid-template-columns:40px 1fr 14px;align-items:center;gap:7px;min-height:55px;padding:7px 9px;border:2px solid white;border-radius:15px;background:#eefaf8;box-shadow:0 5px 13px rgba(7,63,73,.08);font-family:inherit;color:var(--deep-2);text-align:left}.reflection-choice-list span{font-size:22px}.reflection-choice-list b{font-size:10px}.reflection-choice-list i{font-style:normal;color:var(--mint)}.reflect-note{padding:8px;border-radius:12px;background:#fff8ca;color:#766f32;font-size:8px;line-height:1.5;text-align:center}

.exp-result-burst{padding:17px 12px;border:2px solid white;border-radius:23px;background:radial-gradient(circle at 50% 15%,#fff8ad,#e5fff8 55%,#dff3ff);box-shadow:0 13px 30px rgba(53,201,190,.2);text-align:center}.exp-result-burst>span{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 6px;border:3px solid white;border-radius:50%;background:#fff;font-size:37px;box-shadow:0 0 24px rgba(244,239,165,.8)}.exp-result-burst small{display:block;font-size:7px;font-weight:950;letter-spacing:.14em;color:#36a79d}.exp-result-burst h2{font-size:20px}.exp-result-burst p{margin-top:4px;font-size:9px;color:#5a8580}.exp-growth-card{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:10px;min-height:105px;padding:8px;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(7,63,73,.11)}.exp-growth-card>img{width:100px;height:88px;object-fit:cover;border-radius:13px}.exp-growth-card>div{display:flex;flex-direction:column}.exp-growth-card small{font-size:6px;font-weight:950;color:#45a99f}.exp-growth-card b{font-size:15px}.exp-growth-card span{font-size:8px;color:#70948f}.exp-earned{padding:10px;border-radius:18px;background:linear-gradient(135deg,#fff,#fff8c6);border:2px solid white;text-align:center}.exp-earned h3{margin-bottom:7px;font-size:11px}.exp-earned>div{display:flex;justify-content:center;gap:8px}.exp-earned>div>span{position:relative;width:78px;height:100px;overflow:hidden;border:2px solid white;border-radius:13px;background:#e9f7f5;box-shadow:0 7px 17px rgba(7,63,73,.15)}.exp-earned img{width:100%;height:100%;object-fit:cover}.exp-earned span>b{position:absolute;left:4px;right:4px;bottom:4px;padding:2px;border-radius:6px;background:rgba(5,56,64,.8);color:white;font-size:7px}.exp-earned .exp-light-reward{display:grid;place-items:center;background:#fff9bb}.exp-light-reward i{font-style:normal;font-size:37px}.exp-all-clear{display:flex;align-items:center;gap:9px;padding:10px;border:2px solid #f2dc68;border-radius:17px;background:linear-gradient(135deg,#fff7af,#e4fff7)}.exp-all-clear>span{font-size:30px}.exp-all-clear>div{display:flex;flex-direction:column}.exp-all-clear b{font-size:11px}.exp-all-clear small{font-size:8px;color:#6a884f}.exp-next-hint,.exp-variant-result{padding:8px;border-radius:12px;background:#edf9f7;color:#678e89;font-size:8px;text-align:center}.exp-variant-result{display:flex;flex-direction:column}.exp-variant-result b{font-size:11px;color:var(--deep-2)}.exp-variant-result small{font-size:7px}

@media(max-width:380px){.exp-tree-hero{height:190px}.exp-mission-cover{height:105px}.exp-brief-art{height:215px}.rescue-field{height:230px}.tree-search-art{height:195px}.reflect-success{height:235px}.tree-clue-grid button{min-height:125px;padding:5px}.exp-mission-info{grid-template-columns:38px 1fr 12px}}
@media(max-height:720px){.exp-tree-hero{height:170px}.exp-brief-art,.rescue-field,.reflect-success{height:205px}.route-mission-map,.tree-search-art{height:175px}.exp-goal-choices button{min-height:58px}.tree-clue-grid button{min-height:108px}.exp-result-burst{padding:10px}}
@media(min-width:760px){.expedition-hub{padding-top:26px}.exp-tree-hero{height:250px}.exp-mission-cover{height:145px}}

/* v8.1 初回やさしい探検／2周目チャレンジ */
.quest-progress.easy{background:#fff4a8!important;color:#75620c!important}
.exp-easy-intro{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:10px;padding:11px;border:2px solid #fff;border-radius:19px;background:linear-gradient(135deg,#fffbc9,#e5fff8);box-shadow:0 8px 20px rgba(53,201,190,.14)}
.exp-easy-intro img{width:60px;height:60px;object-fit:cover;border:3px solid #fff;border-radius:50%;background:#e9faf7;box-shadow:0 5px 14px rgba(53,201,190,.22)}
.exp-easy-intro>div{display:flex;flex-direction:column}.exp-easy-intro small{font-size:7px;font-weight:950;color:#3aa79e}.exp-easy-intro b{font-size:12px;line-height:1.5;color:var(--deep-2)}.exp-easy-intro p{margin-top:3px;font-size:8px;line-height:1.55;color:#668e89}
.exp-lamy-guide{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:8px;min-height:58px;padding:7px 10px;border:2px solid #fff;border-radius:17px;background:linear-gradient(135deg,#e8f7ff,#f3fff9);box-shadow:0 7px 17px rgba(110,184,247,.15);animation:pop .22s ease-out}
.exp-lamy-guide img{width:43px;height:43px;object-fit:cover;border:2px solid white;border-radius:50%;background:#fff}.exp-lamy-guide p{font-size:9px;font-weight:800;line-height:1.65;color:#466f7c}
.exp-ask-lamy{width:100%;min-height:43px;padding:8px;border:2px solid #cdeffc;border-radius:14px;background:#f2faff;color:#367891;font:900 10px inherit;box-shadow:0 4px 11px rgba(110,184,247,.14)}
.route-fact-legend .focus{padding:5px 13px;border-radius:999px;background:#fff5a7;color:#655812;font-size:9px;font-weight:950;box-shadow:0 4px 10px rgba(244,239,165,.25)}
.route-option-list.easy-two{gap:9px}.route-option-list.easy-two .route-option{min-height:78px}.route-option .big-fact{padding:7px 10px;border-radius:12px;background:#fff4ac;color:#67570d!important;font-size:14px!important}
.tree-clue-grid.guided button.next{border-style:solid;border-color:#f0d854;background:#fffbd4;color:var(--deep-2);box-shadow:0 0 0 4px rgba(244,239,165,.25),0 7px 16px rgba(53,201,190,.1);animation:breathe 2s infinite}
.tree-clue-grid.guided button.next>span{background:#fff;color:#c89c00;box-shadow:0 0 13px rgba(244,239,165,.8)}
.tree-clue-grid.guided button.locked{opacity:.45;filter:grayscale(.6);cursor:default}.tree-clue-grid.guided button:disabled{pointer-events:none}
.exp-challenge-unlock{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:9px;padding:10px;border:2px solid #f1dc6b;border-radius:18px;background:linear-gradient(135deg,#fff7ae,#e4fff7);box-shadow:0 8px 20px rgba(244,239,165,.3)}
.exp-challenge-unlock>span{width:47px;height:47px;display:grid;place-items:center;border-radius:14px;background:#fff;font-size:25px}.exp-challenge-unlock>div{display:flex;flex-direction:column}.exp-challenge-unlock small{font-size:6px;font-weight:950;letter-spacing:.13em;color:#30a69c}.exp-challenge-unlock b{font-size:11px}.exp-challenge-unlock p{font-size:8px;line-height:1.5;color:#6b8f89}
@media(max-height:720px){.exp-easy-intro{padding:8px}.exp-easy-intro img{width:52px;height:52px}.exp-lamy-guide{min-height:51px;padding:5px 8px}.route-option-list.easy-two .route-option{min-height:66px}}

/* v9.3 道をつくろう：予想→実行→結果比較 */
.exp-route-predict-scene,.exp-route-result-scene{gap:10px;background:radial-gradient(circle at 90% 4%,rgba(244,239,165,.35),transparent 28%),linear-gradient(180deg,#f8fffd,#e8f9f5)}
.route-chosen-card{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:10px;padding:11px;border:2px solid #fff;border-radius:19px;background:linear-gradient(135deg,#fff8bb,#e4fff8);box-shadow:0 8px 20px rgba(53,201,190,.14)}
.route-chosen-card>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#fff;font-size:29px;box-shadow:0 4px 12px rgba(7,63,73,.1)}
.route-chosen-card>div{display:flex;flex-direction:column}.route-chosen-card small{font-size:7px;font-weight:950;color:#37a69c}.route-chosen-card b{font-size:14px}.route-chosen-card p{font-size:9px;color:#688b86}
.route-predict-list{display:flex;flex-direction:column;gap:8px}.route-predict-list button{display:grid;grid-template-columns:48px 1fr 18px;align-items:center;gap:8px;min-height:67px;padding:8px 10px;border:2px solid #fff;border-radius:18px;background:#fff;color:var(--deep-2);font-family:inherit;text-align:left;box-shadow:0 7px 17px rgba(7,63,73,.1);cursor:pointer}
.route-predict-list button>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#e9faf7;font-size:24px}.route-predict-list button>b{font-size:12px}.route-predict-list button>i{font-style:normal;font-size:21px;color:var(--mint)}
.route-journey-stage{position:relative;height:205px;overflow:hidden;border:3px solid #fff;border-radius:24px;box-shadow:0 12px 28px rgba(7,63,73,.2)}.route-journey-stage>img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) brightness(.93)}.route-journey-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,55,63,.05),rgba(5,55,63,.25));pointer-events:none}
.route-journey-line{position:absolute;z-index:2;left:13%;right:16%;bottom:27%;height:8px;border-radius:99px;background:repeating-linear-gradient(90deg,#fff 0 13px,transparent 13px 21px);opacity:.8;transform:rotate(-5deg)}
.route-journey-neo{position:absolute;z-index:4;left:12%;bottom:19%;width:57px;height:57px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.25));animation:routeTravel 1.5s cubic-bezier(.3,.8,.3,1) both}.route-journey-neo svg{width:100%;height:100%}
.route-journey-goal{position:absolute;z-index:3;right:8%;bottom:21%;display:flex;flex-direction:column;align-items:center;font-size:32px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.2))}.route-journey-goal b{padding:2px 5px;border-radius:6px;background:#fff;color:var(--deep);font-size:7px}
@keyframes routeTravel{0%{left:10%;transform:translateY(4px) scale(.9)}35%{transform:translateY(-8px) rotate(-4deg)}68%{transform:translateY(2px) rotate(4deg)}100%{left:72%;transform:translateY(-2px) scale(1)}}
.route-event-list{display:flex;flex-direction:column;gap:6px}.route-event-list>div{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:7px;min-height:43px;padding:6px 9px;border:2px solid #fff;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 5px 13px rgba(7,63,73,.08);opacity:0;animation:routeEventIn .38s calc(.45s + var(--delay)) ease-out forwards}.route-event-list span{font-size:23px;text-align:center}.route-event-list b{font-size:10px}
@keyframes routeEventIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.route-score-board{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.route-score-board>div{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border:2px solid #fff;border-radius:15px;background:linear-gradient(160deg,#fff,#e8faf7);box-shadow:0 5px 13px rgba(7,63,73,.08)}.route-score-board small{font-size:7px;color:#648985}.route-score-board b{font-size:15px}
.route-prediction-check{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px;padding:10px;border:2px solid #fff;border-radius:18px;box-shadow:0 8px 20px rgba(7,63,73,.1)}.route-prediction-check.match{background:linear-gradient(135deg,#fff6ad,#e2fff5)}.route-prediction-check.discover{background:linear-gradient(135deg,#e5f5ff,#edfff8)}.route-prediction-check>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#fff;font-size:25px}.route-prediction-check>div{display:flex;flex-direction:column}.route-prediction-check small{font-size:7px;color:#428a83}.route-prediction-check b{font-size:12px}.route-prediction-check p{font-size:8px;line-height:1.5;color:#658883}
.route-previous{display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:8px 10px;border:1px dashed #9ed4cd;border-radius:13px;background:rgba(255,255,255,.65)}.route-previous small{grid-column:1/-1;font-size:7px;color:#64908b}.route-previous b{font-size:10px}.route-previous span{font-size:9px;font-weight:900;color:#4e7d78}
@media(max-height:720px){.route-journey-stage{height:170px}.route-event-list>div{min-height:38px}.route-predict-list button{min-height:58px}}

/* v9.4 迷子・木の声：作戦ごとの結果と予想比較 */
.exp-rescue-predict-scene,.exp-rescue-result-scene,.exp-tree-result-scene{gap:10px;background:radial-gradient(circle at 10% 4%,rgba(205,239,252,.5),transparent 28%),linear-gradient(180deg,#f8fffd,#e8f9f5)}
.rescue-plan-card{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:10px;padding:11px;border:2px solid #fff;border-radius:19px;background:linear-gradient(135deg,#e4f5ff,#e5fff6);box-shadow:0 8px 20px rgba(7,63,73,.1)}.rescue-plan-card>span{width:53px;height:53px;display:grid;place-items:center;border-radius:16px;background:#fff;font-size:29px}.rescue-plan-card>div{display:flex;flex-direction:column}.rescue-plan-card small{font-size:7px;font-weight:950;color:#438ba0}.rescue-plan-card b{font-size:14px}.rescue-plan-card p{font-size:9px;color:#668985}
.rescue-result-hero,.tree-result-hero{position:relative;height:225px;overflow:hidden;border:3px solid #fff;border-radius:23px;box-shadow:0 12px 28px rgba(7,63,73,.2)}.rescue-result-hero>img,.tree-result-hero>img{width:100%;height:100%;object-fit:cover;display:block}.rescue-result-hero::after,.tree-result-hero::after{content:'';position:absolute;inset:43% 0 0;background:linear-gradient(transparent,rgba(5,51,60,.87))}.rescue-result-hero>span,.tree-result-hero>span{position:absolute;z-index:3;left:12px;bottom:12px;width:51px;height:51px;display:grid;place-items:center;border:2px solid #fff;border-radius:16px;background:rgba(255,255,255,.92);font-size:28px}.rescue-result-hero>div,.tree-result-hero>div{position:absolute;z-index:3;left:75px;right:12px;bottom:15px;display:flex;flex-direction:column;color:#fff;text-shadow:0 2px 7px #06343c}.rescue-result-hero small,.tree-result-hero small{font-size:7px;color:#fff3a5}.rescue-result-hero b,.tree-result-hero b{font-size:13px}.tree-result-hero.rethink>img{filter:saturate(.72) brightness(.86)}
.tree-proof-compare{display:grid;grid-template-columns:1fr 23px 1fr;align-items:stretch;gap:5px}.tree-proof-compare>div{display:flex;flex-direction:column;justify-content:center;min-height:62px;padding:8px;border:2px solid #fff;border-radius:15px;background:#fff;text-align:center;box-shadow:0 5px 13px rgba(7,63,73,.08)}.tree-proof-compare>span{display:grid;place-items:center;color:var(--mint);font-size:21px;font-weight:950}.tree-proof-compare small{font-size:7px;color:#648985}.tree-proof-compare b{font-size:10px;line-height:1.4}
@media(max-height:720px){.rescue-result-hero,.tree-result-hero{height:190px}}

/* =========================================================
   v9.0 森のおねがいボード：周回あそび・成長・コレクション
   ========================================================= */
.request-board-scene,.request-play-scene,.request-result-scene,.request-room-scene{gap:10px;background:radial-gradient(circle at 90% 4%,rgba(244,239,165,.32),transparent 28%),linear-gradient(180deg,#f7fffd,#e7faf6)}
.request-board-scene>*,.request-play-scene>*,.request-result-scene>*,.request-room-scene>*{flex-shrink:0}
.request-panel{width:100%;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:9px;min-height:79px;padding:10px;border:2px solid #fff;border-radius:19px;font-family:inherit;text-align:left;box-shadow:0 8px 21px rgba(7,63,73,.12)}
.request-panel>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#fff;font-size:24px;box-shadow:0 4px 12px rgba(53,201,190,.16)}.request-panel>div{display:flex;flex-direction:column;gap:1px}.request-panel small{font-size:6px;font-weight:950;letter-spacing:.12em}.request-panel b{font-size:12px}.request-panel p{font-size:8px;line-height:1.45}.request-panel em{font-style:normal;font-size:22px;text-align:center}.request-panel i{font-style:normal;font-size:7px;font-weight:900}
.request-panel.locked{background:#eff5f4;color:#78928f;filter:saturate(.65)}.request-panel.locked small{color:#8aa29f}.request-panel.open{background:linear-gradient(135deg,#fff7ae,#dffff7 58%,#dff2ff);color:var(--deep-2);cursor:pointer}.request-panel.open small,.request-panel.open i{color:#219b91}.request-panel.open em{color:var(--mint)}
.home-request{width:100%;display:grid;grid-template-columns:50px 1fr 18px;align-items:center;gap:9px;min-height:76px;padding:10px;border:2px solid #fff;border-radius:20px;background:linear-gradient(135deg,#fff4b4,#e4fff8);box-shadow:0 10px 24px rgba(244,211,80,.18);font-family:inherit;color:var(--deep-2);text-align:left}.home-request>span{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#fff;font-size:25px}.home-request>div{display:flex;flex-direction:column}.home-request small{font-size:6px;font-weight:950;color:#b18c08}.home-request b{font-size:11px}.home-request em{font-style:normal;font-size:8px;color:#6b908a}.home-request>i{font-style:normal;font-size:22px;color:#c3a011}
.request-board-head{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;padding:10px 11px;border-radius:19px;background:linear-gradient(135deg,#0b5660,#178f86);color:#fff;box-shadow:0 10px 24px rgba(7,63,73,.2)}.request-board-head>button{width:36px;height:36px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:25px}.request-board-head small{font-size:6px;font-weight:950;letter-spacing:.13em;color:#fff2a6}.request-board-head h2{font-size:16px;line-height:1.25}.request-board-head p{font-size:8px;color:#d5f7f1}.request-board-head>strong{font-size:21px}.request-board-head>strong span{margin-left:2px;font-size:8px;color:#c2f4ed}
.request-tree-status{display:grid;grid-template-columns:92px 1fr 43px;align-items:center;gap:9px;min-height:98px;padding:7px;border:2px solid #fff;border-radius:19px;background:linear-gradient(135deg,#fff9c0,#e4fff6);box-shadow:0 8px 20px rgba(53,201,190,.14)}.request-tree-status>img{width:92px;height:82px;object-fit:cover;border-radius:14px}.request-tree-status>div{display:flex;flex-direction:column}.request-tree-status small{font-size:6px;font-weight:950;color:#33a49a}.request-tree-status b{font-size:12px}.request-tree-status p{font-size:8px;color:#738f5d}.request-tree-status>span{font-size:29px}
.request-board-note{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:7px;padding:7px 10px;border-radius:14px;background:#fff;box-shadow:0 5px 13px rgba(53,201,190,.08)}.request-board-note img{width:36px;height:36px;object-fit:cover;border-radius:50%;background:#effbf9}.request-board-note p{font-size:8px;line-height:1.55;color:#658b87}.request-board-note b{color:var(--deep-2)}
.request-offer-list{display:flex;flex-direction:column;gap:10px}.request-offer{width:100%;padding:0;overflow:hidden;border:2px solid #fff;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(7,63,73,.13);font-family:inherit;color:var(--deep-2);text-align:left}.request-offer-art{position:relative;height:118px;overflow:hidden}.request-offer-art>img{width:100%;height:100%;object-fit:cover;display:block}.request-offer-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,45,53,.05),rgba(4,45,53,.62))}.request-offer-art>span{position:absolute;z-index:2;left:10px;bottom:9px;width:45px;height:45px;display:grid;place-items:center;border:2px solid #fff;border-radius:14px;background:rgba(255,255,255,.91);font-size:25px}.request-offer-art>small{position:absolute;z-index:2;right:9px;top:8px;padding:4px 7px;border-radius:8px;background:rgba(5,62,69,.76);color:#fff;font-size:6px;font-weight:950;letter-spacing:.1em}.request-offer-copy{display:grid;grid-template-columns:41px 1fr 15px;align-items:center;gap:8px;padding:9px 10px}.request-offer-copy>span{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#fff7ba;font-size:21px}.request-offer-copy>div{display:flex;flex-direction:column}.request-offer-copy small{font-size:7px;color:#54a39c}.request-offer-copy b{font-size:11px;line-height:1.4}.request-offer-copy p{font-size:7px;color:#718f8b}.request-offer-copy>i{font-style:normal;font-size:20px;color:var(--mint)}
.request-board-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.request-board-actions button{min-height:44px;padding:7px;border:2px solid #fff;border-radius:14px;background:#edf9f7;color:#4d7d78;font:900 9px inherit;box-shadow:0 4px 11px rgba(7,63,73,.07)}
.request-brief-art,.request-trouble-art,.request-twist-art,.request-clear-hero{position:relative;height:250px;overflow:hidden;border:2px solid #fff;border-radius:22px;box-shadow:0 12px 28px rgba(7,63,73,.19)}.request-brief-art>img,.request-trouble-art>img,.request-twist-art>img,.request-clear-hero>img{width:100%;height:100%;object-fit:cover;display:block}.request-brief-art::after,.request-trouble-art::after,.request-twist-art::after,.request-clear-hero::after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(4,49,57,.87))}.request-brief-art>span,.request-clear-hero>span{position:absolute;z-index:2;left:12px;bottom:12px;width:53px;height:53px;display:grid;place-items:center;border:2px solid #fff;border-radius:17px;background:rgba(255,255,255,.92);font-size:29px}.request-brief-art>div{position:absolute;z-index:2;left:76px;right:12px;bottom:16px;display:flex;flex-direction:column;color:#fff;text-shadow:0 2px 6px #06343c}.request-brief-art small{font-size:7px;color:#fff4a4}.request-brief-art b{font-size:14px;line-height:1.45}
.request-order,.request-question{display:grid;grid-template-columns:53px 1fr;align-items:center;gap:9px;padding:11px;border:2px solid #fff;border-radius:18px;background:linear-gradient(135deg,#fff,#e9fbf7);box-shadow:0 7px 18px rgba(7,63,73,.1)}.request-order>span,.request-question>span{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#fff7b2;font-size:27px}.request-order>div,.request-question>div{display:flex;flex-direction:column}.request-order small,.request-question small{font-size:7px;font-weight:950;color:#4da49c}.request-order h2,.request-question h2{font-size:14px}.request-order p,.request-question p{font-size:8px;line-height:1.5;color:#6c908c}.request-question.compact{grid-template-columns:45px 1fr;padding:8px}.request-question.compact>span{width:42px;height:42px;font-size:22px}
.request-preview-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.request-preview-row span{padding:7px 4px;border-radius:10px;background:#fff;color:#5e8883;font-size:8px;font-weight:900;text-align:center;box-shadow:0 4px 11px rgba(7,63,73,.06)}
.request-plan-list{display:flex;flex-direction:column;gap:8px}.request-plan-list button{display:grid;grid-template-columns:47px 1fr 20px;align-items:center;gap:8px;min-height:68px;padding:8px 10px;border:2px solid #fff;border-radius:17px;background:#fff;box-shadow:0 7px 17px rgba(7,63,73,.1);font-family:inherit;color:var(--deep-2);text-align:left}.request-plan-list button>span{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#eefaf8;font-size:23px}.request-plan-list button>div{display:flex;flex-direction:column}.request-plan-list b{font-size:11px}.request-plan-list small{font-size:7px;line-height:1.4;color:#71938f}.request-plan-list i{font-style:normal;font-size:18px;color:var(--mint)}.request-plan-list button.selected{border-color:var(--mint);background:#eafff9;box-shadow:0 0 0 3px rgba(53,201,190,.13)}
.request-plan-feedback{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:7px;padding:9px;border:2px solid #fff;border-radius:15px}.request-plan-feedback.fit{background:#fff8bd}.request-plan-feedback.try{background:#eaf6ff}.request-plan-feedback>span{font-size:24px}.request-plan-feedback p{font-size:9px;line-height:1.55;color:#547a76}
.request-trouble-art>div{position:absolute;z-index:2;left:11px;right:11px;bottom:11px;display:grid;grid-template-columns:47px 1fr;align-items:center;gap:8px;color:#fff}.request-trouble-art>div>span{width:45px;height:45px;display:grid;place-items:center;border:2px solid #fff;border-radius:14px;background:rgba(255,255,255,.92);font-size:24px}.request-trouble-art p{display:flex;flex-direction:column;text-shadow:0 2px 6px #06343c}.request-trouble-art small{font-size:7px;color:#fff4a5}.request-trouble-art b{font-size:12px;line-height:1.45}.request-success-note{padding:9px;border:2px solid #fff;border-radius:14px;background:#e7fff7;color:#47827a;font-size:9px;font-weight:900;text-align:center}
.request-twist-art>span{position:absolute;z-index:2;left:13px;bottom:12px;width:50px;height:50px;display:grid;place-items:center;border:2px solid #fff;border-radius:16px;background:rgba(255,255,255,.91);font-size:27px}.request-twist-art>div{position:absolute;z-index:2;left:74px;right:12px;bottom:15px;color:#fff;text-shadow:0 2px 7px #06343c}.request-twist-art small{display:block;font-size:7px;font-weight:950;color:#fff19a}.request-twist-art b{font-size:14px;line-height:1.4}.request-twist-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.request-twist-choices button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:106px;padding:9px;border:2px solid #fff;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(7,63,73,.1);font-family:inherit;color:var(--deep-2);text-align:center}.request-twist-choices span{font-size:29px}.request-twist-choices b{font-size:10px}.request-twist-choices small{font-size:7px;color:#73928f}.request-twist-choices button.selected{border-color:var(--mint);background:#e8fff9;box-shadow:0 0 0 3px rgba(53,201,190,.14)}
.request-clear-hero>div{position:absolute;z-index:2;left:76px;right:11px;bottom:14px;color:#fff;text-shadow:0 2px 7px #06343c}.request-clear-hero small{font-size:7px;font-weight:950;color:#fff19a}.request-clear-hero h2{font-size:15px}.request-clear-hero p{font-size:8px;color:#def8f4}.request-light-reward{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:10px;padding:11px;border:2px solid #fff;border-radius:19px;background:radial-gradient(circle at 15% 50%,#fff49a,#fffbd5 40%,#e5fff8);box-shadow:0 8px 20px rgba(244,213,84,.25)}.request-light-reward>span{font-size:41px;text-align:center;filter:drop-shadow(0 0 12px #fff06c)}.request-light-reward>div{display:flex;flex-direction:column}.request-light-reward small{font-size:6px;font-weight:950;color:#ac8b08}.request-light-reward b{font-size:18px}.request-light-reward p{font-size:8px;color:#788f69}
.request-growth-result,.request-tree-card{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:10px;padding:8px;border:2px solid #fff;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(7,63,73,.1)}.request-growth-result>img,.request-tree-card>img{width:105px;height:88px;object-fit:cover;border-radius:13px}.request-growth-result>div,.request-tree-card>div{display:flex;flex-direction:column}.request-growth-result small,.request-tree-card small{font-size:6px;font-weight:950;color:#3fa69c}.request-growth-result b,.request-tree-card b{font-size:13px}.request-growth-result p,.request-tree-card p{font-size:8px;color:#70938e}.request-tree-card i{height:7px;margin-top:5px;overflow:hidden;border-radius:99px;background:#dcefeb}.request-tree-card i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--lemon))}
.request-unlock-box{padding:10px;border:2px solid #fff;border-radius:17px;background:linear-gradient(135deg,#fff7b0,#e6fff8);text-align:center}.request-unlock-box.decor{background:linear-gradient(135deg,#e8f5ff,#fff8c7)}.request-unlock-box h3{margin-bottom:6px;font-size:10px}.request-unlock-box>div{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.request-unlock-box span,.request-badges span{padding:5px 8px;border-radius:999px;background:#fff;color:#48847d;font-size:8px;font-weight:900;box-shadow:0 3px 8px rgba(7,63,73,.08)}
.request-room-hero{position:relative;height:255px;overflow:hidden;border:2px solid #fff;border-radius:22px;box-shadow:0 12px 28px rgba(7,63,73,.2)}.request-room-hero>img{width:100%;height:100%;object-fit:cover;display:block}.request-room-hero::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(4,49,57,.78))}.request-room-hero>div{position:absolute;z-index:3;left:12px;bottom:11px;color:#fff;text-shadow:0 2px 6px #06343c}.request-room-hero small{display:block;font-size:6px;font-weight:950;color:#fff19a}.request-room-hero b{font-size:13px}.room-decor{position:absolute;z-index:2;width:36px;height:36px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.78);border-radius:12px;background:rgba(255,255,255,.7);font-size:20px;opacity:.28;filter:grayscale(1)}.room-decor.show{opacity:1;filter:none;box-shadow:0 0 17px rgba(255,244,129,.8);animation:floaty 3s ease-in-out infinite}.room-decor.d1{left:45%;bottom:21%}.room-decor.d2{right:8%;bottom:20%}.room-decor.d3{left:8%;bottom:29%}.room-decor.d4{left:47%;top:10%}.room-decor.d5{right:10%;top:24%}.room-decor.d6{left:11%;top:11%}
.request-collection,.request-badges,.request-history{padding:10px;border:2px solid #fff;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(7,63,73,.08)}.request-collection h3,.request-badges h3,.request-history h3{margin-bottom:8px;font-size:11px}.request-collection>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.request-collection>div>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:67px;padding:5px;border-radius:13px;background:#eef5f4;color:#8ba29f;text-align:center}.request-collection>div>span.owned{background:#fff8c4;color:var(--deep-2)}.request-collection i{font-style:normal;font-size:24px}.request-collection b{font-size:7px;line-height:1.35}.request-collection>p{margin-top:7px;font-size:8px;color:#6e938e;text-align:center}.request-badges>div{display:flex;flex-wrap:wrap;gap:6px}.request-badges p{font-size:8px;color:#739590}.request-history>div{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:7px;padding:6px 0;border-bottom:1px dashed #d7eae7}.request-history>div:last-child{border-bottom:0}.request-history>div>span{font-size:22px}.request-history p{display:flex;flex-direction:column}.request-history b{font-size:9px}.request-history small{font-size:7px;color:#72948f}.request-history .empty{font-size:8px;color:#779691;text-align:center}
@media(max-width:380px){.request-brief-art,.request-trouble-art,.request-twist-art,.request-clear-hero,.request-room-hero{height:225px}.request-offer-art{height:105px}.request-tree-status{grid-template-columns:82px 1fr 35px}.request-tree-status>img{width:82px}.request-twist-choices button{min-height:94px}}
@media(max-height:720px){.request-brief-art,.request-trouble-art,.request-twist-art,.request-clear-hero,.request-room-hero{height:205px}.request-plan-list button{min-height:59px}.request-order,.request-question{padding:8px}.request-twist-choices button{min-height:82px}}

/* ========================================================
   v9.1 おねがい監査改善 — 問題の見える化・作戦比較・読みやすさ
   ======================================================== */
.request-ribbon{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;padding:7px 9px;border:2px solid #fff;border-radius:13px;background:rgba(232,255,249,.96);box-shadow:0 5px 13px rgba(7,63,73,.08)}
.request-ribbon>span{padding:4px 7px;border-radius:8px;background:var(--mint);color:#fff;font-size:9px;font-weight:950;white-space:nowrap}.request-ribbon p{font-size:10px;line-height:1.55;font-weight:850;color:var(--deep-2)}
.request-mission-card{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:2px solid #fff;border-radius:18px;background:linear-gradient(135deg,#fff,#e7fff8);box-shadow:0 7px 18px rgba(7,63,73,.1)}
.request-mission-card>small{font-size:9px;font-weight:950;color:#3ba79d}.request-mission-card>b{font-size:13px;line-height:1.65;color:var(--deep-2)}.request-mission-card>p{display:block;padding-top:6px;border-top:1px dashed #bfe4de;font-size:10px;line-height:1.6;color:#557f7a}.request-mission-card>p span{display:block;font-weight:950;color:#9a7d05}
.request-resume{display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:8px;width:100%;min-height:57px;padding:8px 11px;border:2px solid #fff;border-radius:17px;background:linear-gradient(135deg,#fff6a9,#e8fff7);color:var(--deep-2);box-shadow:0 8px 19px rgba(194,165,34,.18);font-family:inherit;text-align:left}.request-resume>span{font-size:24px}.request-resume>div{display:flex;flex-direction:column}.request-resume small{font-size:9px;color:#9a7d05;font-weight:900}.request-resume b{font-size:12px}.request-resume i{font-style:normal;font-size:20px;color:var(--mint)}
.request-plan-list button{min-height:86px}.request-plan-list b{font-size:14px}.request-plan-list small{font-size:11px;line-height:1.55}.request-plan-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px;font-style:normal}.request-plan-stats i{font-style:normal!important;font-size:11px!important;letter-spacing:0;color:#527f79!important}
.request-plan-feedback p{font-size:11px;line-height:1.65}.request-plan-feedback p b{color:var(--deep-2)}
.request-story-result,.request-light-parts{padding:10px;border:2px solid #fff;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(7,63,73,.08)}.request-story-result h3{margin-bottom:8px;font-size:12px}.request-story-result>div{display:grid;grid-template-columns:1fr 13px 1fr 13px 1fr;align-items:center;gap:3px}.request-story-result>div>span{display:flex;min-width:0;min-height:72px;flex-direction:column;align-items:center;justify-content:center;padding:5px;border-radius:12px;background:#eefaf7;text-align:center;font-size:19px}.request-story-result small{font-size:10px;color:#60928c}.request-story-result b{font-size:11px;line-height:1.35}.request-story-result i{font-size:18px;font-style:normal;color:var(--mint);text-align:center}
.request-light-parts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.request-light-parts p{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:8px;border-radius:10px;background:#f0faf8;font-size:11px}.request-light-parts b{font-size:13px;color:#1c9d91}
/* 8歳が通常表示でも読める最小サイズへ */
.request-board-head small,.request-tree-status small,.request-offer-copy small,.request-brief-art small,.request-trouble-art small,.request-twist-art small,.request-clear-hero small,.request-light-reward small,.request-growth-result small,.request-tree-card small,.request-room-hero small{font-size:9px}
.request-board-head p,.request-tree-status p,.request-board-note p,.request-offer-copy p,.request-order p,.request-question p,.request-clear-hero p,.request-light-reward p,.request-growth-result p,.request-tree-card p,.request-collection>p,.request-badges p,.request-history .empty{font-size:10px;line-height:1.55}
.request-tree-status b,.request-room-hero b,.request-growth-result b,.request-tree-card b{font-size:14px}.request-offer-copy b,.request-trouble-art b{font-size:12px}.request-preview-row span,.request-board-actions button,.request-success-note,.request-twist-choices b{font-size:10px}.request-twist-choices small{font-size:9px;line-height:1.4}.request-clear-hero h2{font-size:16px}.request-history b{font-size:11px}.request-history small,.request-collection b,.request-unlock-box span,.request-badges span{font-size:9px}
.large-text .request-ribbon p,.large-text .request-board-note p,.large-text .request-question p,.large-text .request-plan-feedback p,.large-text .request-mission-card p{font-size:12px}.large-text .request-mission-card>b,.large-text .request-plan-list b,.large-text .request-offer-copy b{font-size:15px}.large-text .request-plan-list small,.large-text .request-twist-choices small{font-size:11px}.large-text .request-story-result b,.large-text .request-light-parts p{font-size:11px}
@media(max-height:720px){.request-ribbon{padding:5px 7px}.request-ribbon p{font-size:9px}.request-brief-art,.request-trouble-art,.request-twist-art{height:190px}.request-plan-list button{min-height:69px}.request-plan-stats{margin-top:3px}.request-story-result>div>span{min-height:62px}}

/* ========================================================
   v9.6 周回条件・予想→実際→発見
   ======================================================== */
.exp-round-condition{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px;padding:10px 11px;border:2px solid #fff;border-radius:18px;background:linear-gradient(135deg,#e8f8ff,#fff8bd);box-shadow:0 7px 18px rgba(7,63,73,.1)}
.exp-round-condition>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.92);font-size:25px;box-shadow:0 4px 11px rgba(7,63,73,.08)}
.exp-round-condition>div{display:flex;min-width:0;flex-direction:column}.exp-round-condition small{font-size:8px;font-weight:950;letter-spacing:.06em;color:#3d9b94}.exp-round-condition b{font-size:13px;color:var(--deep-2)}.exp-round-condition p{font-size:10px;line-height:1.55;color:#557d78}
.exp-round-condition.compact{grid-template-columns:39px 1fr;padding:7px 9px;border-radius:14px}.exp-round-condition.compact>span{width:37px;height:37px;border-radius:11px;font-size:21px}.exp-round-condition.compact b{font-size:11px}.exp-round-condition.compact p{font-size:9px;line-height:1.45}
.exp-outcome-story{padding:10px;border:2px solid #fff;border-radius:19px;box-shadow:0 8px 20px rgba(7,63,73,.11)}.exp-outcome-story.match{background:linear-gradient(135deg,#fff7b5,#e5fff6)}.exp-outcome-story.discover{background:linear-gradient(135deg,#e7f5ff,#edfff6)}
.exp-outcome-story h3{margin:0 0 8px;font-size:12px;color:var(--deep-2);text-align:center}.exp-outcome-story>div{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);align-items:stretch;gap:3px}.exp-outcome-story>div>i{display:grid;place-items:center;color:#31a99f;font-size:17px;font-style:normal;font-weight:950}
.exp-outcome-step{display:flex;min-width:0;min-height:83px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 5px;border:1px solid rgba(255,255,255,.95);border-radius:13px;background:rgba(255,255,255,.86);text-align:center;box-shadow:0 4px 10px rgba(7,63,73,.06)}.exp-outcome-step small{font-size:9px;font-weight:950;color:#4b9b93}.exp-outcome-step b{font-size:10px;line-height:1.5;color:var(--deep-2)}.exp-outcome-step.guess{background:#fffdf0}.exp-outcome-step.actual{background:#effbf9}.exp-outcome-step.found{background:#f1f7ff}
.exp-result-learning{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:8px;padding:8px 10px;border:2px solid #fff;border-radius:15px;background:rgba(255,255,255,.88);box-shadow:0 5px 13px rgba(7,63,73,.08)}.exp-result-learning>span{font-size:24px;text-align:center}.exp-result-learning p{font-size:10px;line-height:1.6;color:#567e79}
.large-text .exp-round-condition p,.large-text .exp-result-learning p{font-size:12px}.large-text .exp-outcome-step b{font-size:11px}.large-text .exp-outcome-step small{font-size:10px}
@media(max-width:380px){.exp-outcome-story{padding:8px}.exp-outcome-story>div{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr);gap:2px}.exp-outcome-step{min-height:79px;padding:6px 3px}.exp-outcome-step b{font-size:9px}.exp-outcome-story>div>i{font-size:14px}}
@media(max-height:720px){.exp-round-condition{padding:7px 9px}.exp-round-condition p{font-size:9px}.exp-outcome-step{min-height:69px}.exp-outcome-story h3{margin-bottom:5px}}

/* ========================================================
   v9.7 MISSION 01 有料品質サンプル
   ======================================================== */
.exp-round-change{display:grid;grid-template-columns:51px 1fr;align-items:center;gap:10px;padding:10px 11px;border:2px solid #fff;border-radius:19px;background:linear-gradient(135deg,#fff2a8,#dff8ff);box-shadow:0 8px 20px rgba(7,63,73,.12);animation:roundChangeIn .46s ease-out both}
.exp-round-change>span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#fff;font-size:27px;box-shadow:0 4px 12px rgba(7,63,73,.09)}.exp-round-change>div{display:flex;flex-direction:column}.exp-round-change small{font-size:8px;font-weight:950;letter-spacing:.11em;color:#2b9c92}.exp-round-change b{font-size:14px;color:var(--deep-2)}.exp-round-change p{font-size:9px;line-height:1.55;color:#587e7a}
@keyframes roundChangeIn{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}

.route-condition-effects{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.route-mission-map.condition-fog>img,.route-journey-stage.condition-fog>img{filter:saturate(.68) brightness(.92)}.route-condition-effects.fog{background:linear-gradient(90deg,rgba(232,247,249,.2),rgba(255,255,255,.28))}.route-condition-effects.fog i{position:absolute;width:120px;height:36px;border-radius:999px;background:rgba(240,250,252,.64);filter:blur(5px);animation:routeFog 4.2s ease-in-out infinite alternate}.route-condition-effects.fog i:nth-child(1){left:-25px;top:20%}.route-condition-effects.fog i:nth-child(2){right:-35px;top:47%;animation-delay:-1.4s}.route-condition-effects.fog i:nth-child(3){left:20%;bottom:7%;animation-delay:-2.6s}
@keyframes routeFog{to{transform:translateX(45px);opacity:.78}}
.route-mission-map.condition-glow>img,.route-journey-stage.condition-glow>img{filter:saturate(1.18) brightness(1.05)}.route-condition-effects.glow{background:radial-gradient(circle at 65% 30%,rgba(255,249,163,.24),transparent 34%)}.route-condition-effects.glow i{position:absolute;color:#fffbd0;font-size:25px;font-style:normal;text-shadow:0 0 9px #fff,0 0 18px #f7ef79;animation:routeGlowFloat 1.5s ease-in-out infinite alternate}.route-condition-effects.glow i:nth-child(1){left:18%;top:22%}.route-condition-effects.glow i:nth-child(2){right:22%;top:16%;animation-delay:-.5s}.route-condition-effects.glow i:nth-child(3){left:52%;bottom:16%;animation-delay:-.9s}.route-condition-effects.glow i:nth-child(4){right:8%;bottom:28%;animation-delay:-1.2s}
@keyframes routeGlowFloat{to{transform:translateY(-8px) scale(1.18);opacity:.65}}
.route-mission-map.condition-rain>img,.route-journey-stage.condition-rain>img{filter:saturate(.88) brightness(.86) hue-rotate(5deg)}.route-condition-effects.rain{background:linear-gradient(180deg,rgba(130,198,225,.2),transparent 70%)}.route-condition-effects.rain i{position:absolute;top:-25px;width:3px;height:35px;border-radius:99px;background:linear-gradient(transparent,rgba(210,245,255,.9));transform:rotate(14deg);animation:routeRain 1.05s linear infinite}.route-condition-effects.rain i:nth-child(1){left:12%}.route-condition-effects.rain i:nth-child(2){left:33%;animation-delay:-.4s}.route-condition-effects.rain i:nth-child(3){left:55%;animation-delay:-.8s}.route-condition-effects.rain i:nth-child(4){left:74%;animation-delay:-.2s}.route-condition-effects.rain i:nth-child(5){left:91%;animation-delay:-.65s}
@keyframes routeRain{to{transform:translate(26px,260px) rotate(14deg)}}
.route-condition-effects.calm{background:linear-gradient(135deg,rgba(255,249,183,.22),transparent 42%)}.route-condition-effects.calm i{position:absolute;left:11%;top:7%;color:#fff8a6;font-size:31px;font-style:normal;text-shadow:0 0 18px #fff7a4;animation:routeSun 2s ease-in-out infinite alternate}@keyframes routeSun{to{transform:scale(1.13) rotate(8deg)}}

.route-cause-card{padding:10px;border:2px solid #fff;border-radius:20px;background:linear-gradient(145deg,#fffdf0,#e7fff8);box-shadow:0 8px 20px rgba(7,63,73,.11)}.route-cause-card h3{margin:0 0 8px;font-size:12px;text-align:center;color:var(--deep-2)}.route-cause-chain{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);align-items:stretch;gap:3px}.route-cause-chain>i{display:grid;place-items:center;color:#28a99e;font-size:17px;font-style:normal;font-weight:950}.route-cause-chain article{display:flex;min-width:0;min-height:104px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 5px;border-radius:14px;background:rgba(255,255,255,.88);text-align:center;box-shadow:0 4px 10px rgba(7,63,73,.06)}.route-cause-chain article.result{background:#eaf8ff}.route-cause-chain small{font-size:8px;font-weight:950;color:#3f978f}.route-cause-chain b{font-size:10px;line-height:1.45;color:var(--deep-2)}.route-cause-chain p{font-size:8px;line-height:1.45;color:#62827e}

.route-badge-reward{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px;padding:11px;border:2px solid #f4df65;border-radius:20px;background:linear-gradient(135deg,#fff8a7,#e5fff7);box-shadow:0 9px 22px rgba(217,184,55,.18)}.route-badge-reward>span{width:56px;height:56px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:linear-gradient(145deg,#fff,#fff1a0);font-size:31px;box-shadow:0 5px 13px rgba(7,63,73,.12)}.route-badge-reward>div{display:flex;flex-direction:column}.route-badge-reward small{font-size:8px;font-weight:950;color:#2c9a91}.route-badge-reward b{font-size:13px;color:var(--deep-2)}.route-badge-reward p{font-size:9px;line-height:1.5;color:#5b817d}.exp-retry-btn{border-color:#98dcd4!important;background:linear-gradient(180deg,#fff,#e6faf6)!important}

.parent-route-comparison{background:linear-gradient(145deg,#effbff,#fffce8)!important}.parent-route-comparison>div{display:grid;grid-template-columns:1fr 20px 1fr;align-items:stretch;gap:5px;margin:7px 0}.parent-route-comparison article{display:flex;min-width:0;flex-direction:column;gap:2px;padding:8px;border-radius:12px;background:#fff}.parent-route-comparison article small{font-size:7px;color:#57928c}.parent-route-comparison article b{font-size:10px;color:var(--deep-2)}.parent-route-comparison article p{font-size:8px!important;line-height:1.45!important}.parent-route-comparison>div>i{display:grid;place-items:center;color:#2ba79d;font-size:18px;font-style:normal;font-weight:950}.parent-route-comparison>strong{display:block;padding:6px 8px;border-radius:9px;background:#dff7f2;font-size:9px;color:#287b74;text-align:center}.parent-route-comparison>p{margin-top:6px}

.large-text .exp-round-change p,.large-text .route-badge-reward p{font-size:11px}.large-text .route-cause-chain b{font-size:11px}.large-text .route-cause-chain p{font-size:9px}
@media(max-width:430px){.route-cause-card{padding:9px}.route-cause-chain{grid-template-columns:1fr;grid-template-rows:auto 18px auto 18px auto;gap:2px}.route-cause-chain article{min-height:72px;padding:8px 10px}.route-cause-chain small{font-size:9px}.route-cause-chain b{font-size:12px}.route-cause-chain p{font-size:9px}.route-cause-chain>i{font-size:16px;line-height:18px}}
@media(max-height:720px){.exp-round-change{padding:7px 9px}.exp-round-change p{font-size:8px}.route-cause-chain article{min-height:88px}.route-badge-reward{padding:8px}}

/* ========================================================
   v9.8 MISSION 01 ワクワク演出・森のしるし図鑑
   ======================================================== */
.route-run-go{position:absolute;z-index:7;left:50%;top:45%;padding:6px 15px;border:3px solid #fff;border-radius:999px;background:linear-gradient(135deg,#fff36e,#53ddd0);color:#07545a;font-size:25px;font-weight:950;letter-spacing:.06em;box-shadow:0 0 25px rgba(255,248,109,.85);pointer-events:none;animation:routeGoPop .72s ease-out both}
.exp-route-result-scene>*,.exp-rescue-result-scene>*,.exp-tree-result-scene>*{flex-shrink:0}
@keyframes routeGoPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(-8deg)}32%{opacity:1;transform:translate(-50%,-50%) scale(1.2) rotate(3deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-72%) scale(.9)}}
.route-speed-lines{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.route-speed-lines i{position:absolute;left:-32%;width:32%;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9));animation:routeSpeedLine .62s .45s ease-in infinite}.route-speed-lines i:nth-child(1){top:30%}.route-speed-lines i:nth-child(2){top:52%;animation-delay:.66s}.route-speed-lines i:nth-child(3){top:71%;animation-delay:.84s}
@keyframes routeSpeedLine{to{left:112%;opacity:.2}}
.route-journey-event-burst{position:absolute;z-index:6;left:50%;top:24%;display:flex;align-items:center;gap:6px;max-width:78%;padding:6px 10px;border:2px solid #fff;border-radius:15px;background:rgba(5,63,70,.88);color:#fff;box-shadow:0 7px 20px rgba(4,48,55,.32);pointer-events:none;opacity:0;animation:routeEventBurst 1.5s .62s ease-out both}.route-journey-event-burst span{font-size:23px}.route-journey-event-burst b{font-size:11px;white-space:nowrap}
@keyframes routeEventBurst{0%{opacity:0;transform:translate(-50%,-10px) scale(.65)}18%,72%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px) scale(.92)}}
.route-goal-burst{position:absolute;z-index:5;right:4%;bottom:14%;width:65px;height:65px;pointer-events:none;opacity:0;animation:routeGoalBurst .75s 1.35s ease-out both}.route-goal-burst i{position:absolute;left:50%;top:50%;color:#fff9a9;font-size:22px;font-style:normal;text-shadow:0 0 9px #fff}.route-goal-burst i:nth-child(1){--gx:-31px;--gy:-24px}.route-goal-burst i:nth-child(2){--gx:24px;--gy:-29px}.route-goal-burst i:nth-child(3){--gx:28px;--gy:24px}
@keyframes routeGoalBurst{0%{opacity:0;transform:scale(.3)}35%{opacity:1}100%{opacity:0;transform:scale(1.25)}}.route-goal-burst i{animation:routeGoalSpark .75s 1.35s ease-out both}@keyframes routeGoalSpark{to{transform:translate(var(--gx),var(--gy)) rotate(35deg)}}

.route-condition-moment{padding:10px;border:2px solid #fff;border-radius:20px;background:linear-gradient(145deg,#e8f8ff,#fff9b9);box-shadow:0 8px 20px rgba(7,63,73,.11);animation:routeMomentIn .5s .55s ease-out both}.route-moment-title{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:8px}.route-moment-title>span{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:#fff;font-size:24px}.route-moment-title>div{display:flex;flex-direction:column}.route-moment-title small{font-size:8px;font-weight:950;color:#2d9d93}.route-moment-title b{font-size:14px;color:var(--deep-2)}
.route-moment-talk{display:flex;flex-direction:column;gap:6px;margin-top:8px}.route-moment-talk article{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:7px;padding:7px 9px;border-radius:14px;background:rgba(255,255,255,.86)}.route-moment-talk article>span,.route-moment-talk article>img{width:40px;height:40px;display:grid;place-items:center;object-fit:contain}.route-moment-talk article>span svg{width:40px;height:40px}.route-moment-talk p{font-size:10px;line-height:1.55;color:#4f7672}.route-moment-talk p small{display:block;font-size:8px;font-weight:950;color:#2b9c92}.route-condition-moment>strong{display:block;margin-top:7px;padding:7px;border-radius:10px;background:rgba(255,255,255,.82);font-size:10px;color:#247b74;text-align:center}
@keyframes routeMomentIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

.route-badge-shelf{padding:12px;border:2px solid #fff;border-radius:22px;background:linear-gradient(155deg,#fff9bd,#e5fff8);box-shadow:0 10px 24px rgba(7,63,73,.12)}.route-badge-head{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:8px}.route-badge-head>span{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:#fff;font-size:24px}.route-badge-head>div{display:flex;flex-direction:column}.route-badge-head small{font-size:7px;font-weight:950;letter-spacing:.08em;color:#2c9c92}.route-badge-head b{font-size:14px;color:var(--deep-2)}.route-badge-head p{font-size:9px;line-height:1.45;color:#5c817d}.route-badge-head>strong{font-size:20px;color:#168f87}.route-badge-head>strong i{font-size:9px;font-style:normal;color:#6d908c}
.route-badge-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.route-badge-slots article{display:flex;min-width:0;min-height:83px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 3px;border:2px solid #fff;border-radius:14px;background:#fff;text-align:center}.route-badge-slots article.locked{background:rgba(232,240,239,.7);filter:grayscale(.45)}.route-badge-slots span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff6b0;font-size:20px;font-weight:950;color:#7b9592;box-shadow:0 3px 9px rgba(7,63,73,.08)}.route-badge-slots b{font-size:8px;line-height:1.35;color:var(--deep-2)}.route-badge-slots small{font-size:7px;color:#6a8c88}.route-badge-slots article.earned{border-color:#f0d65d;box-shadow:0 0 0 3px rgba(255,238,120,.22)}
.route-badge-next{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:7px;margin-top:9px;padding:7px 9px;border-radius:13px;background:#fff}.route-badge-next>span{font-size:23px;text-align:center}.route-badge-next p{display:flex;flex-wrap:wrap;gap:0 4px;font-size:9px;line-height:1.5;color:#547b76}.route-badge-next small{width:100%;font-size:7px;font-weight:950;color:#2c9d93}.route-badge-next b{font-size:10px;color:var(--deep-2)}.route-badge-next.locked{background:rgba(255,255,255,.62)}
.route-next-reward{display:grid;grid-template-columns:48px 1fr 18px;align-items:center;gap:8px;padding:9px 10px;border:2px solid #fff;border-radius:17px;background:linear-gradient(135deg,#e9f8ff,#fff5ad);box-shadow:0 7px 18px rgba(7,63,73,.1)}.route-next-reward>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#fff;font-size:25px}.route-next-reward>div{display:flex;flex-direction:column}.route-next-reward small{font-size:7px;font-weight:950;color:#2c9d93}.route-next-reward b{font-size:12px;color:var(--deep-2)}.route-next-reward p{font-size:9px;line-height:1.45;color:#5a7f7b}.route-next-reward>i{font-size:22px;font-style:normal;color:#2aa79d}

.large-text .route-moment-talk p,.large-text .route-condition-moment>strong,.large-text .route-badge-head p,.large-text .route-next-reward p{font-size:11px}
@media(max-width:430px){.route-badge-slots{grid-template-columns:repeat(2,1fr)}.route-badge-slots article{min-height:76px}.route-badge-slots b{font-size:9px}}
@media(max-height:720px){.route-condition-moment{padding:8px}.route-moment-talk article{padding:5px 7px}.route-badge-shelf{padding:9px}}

/* v9.10 MISSION 02 rescue production pass */
.rescue-badge-shelf{background:linear-gradient(155deg,#e7f6ff,#f0fff7)}
.rescue-team-meter{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:8px 10px;border:2px solid #fff;border-radius:16px;background:linear-gradient(135deg,#e4f8ff,#fff6a7);box-shadow:0 6px 15px rgba(7,63,73,.1)}.rescue-team-meter>span,.rescue-team-meter>strong{font-size:10px;font-weight:950;color:#167f7a}.rescue-team-meter>i{height:12px;overflow:hidden;border:2px solid #fff;border-radius:999px;background:#cfe5e2;box-shadow:inset 0 2px 4px rgba(7,63,73,.12)}.rescue-team-meter>i>b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#48d7ca,#fff06c);transition:width .4s ease}.rescue-team-meter>em{position:absolute;right:8px;bottom:-10px;padding:3px 8px;border:2px solid #fff;border-radius:999px;background:#ffed68;color:#07545a;font-size:9px;font-style:normal;font-weight:950;box-shadow:0 4px 9px rgba(7,63,73,.14);animation:rescueCombo .45s ease-out both}@keyframes rescueCombo{from{opacity:0;transform:scale(.4) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.rescue-field{min-height:225px}.rescue-field>img{height:100%}.rescue-scene-flow{position:absolute;z-index:5;left:7px;right:7px;top:7px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.rescue-scene-flow span{padding:4px 2px;border-radius:999px;background:rgba(7,63,73,.7);color:#b9d4d1;font-size:7px;font-weight:950;text-align:center}.rescue-scene-flow span.active{background:#fff27b;color:#07545a;box-shadow:0 0 10px rgba(255,244,113,.7)}
.rescue-condition-effects{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.rescue-condition-effects.fog{background:linear-gradient(90deg,rgba(238,250,252,.28),rgba(255,255,255,.42))}.rescue-condition-effects.fog i{position:absolute;width:130px;height:38px;border-radius:999px;background:rgba(244,252,253,.72);filter:blur(6px);animation:routeFog 4s ease-in-out infinite alternate}.rescue-condition-effects.fog i:nth-child(1){left:-25px;top:25%}.rescue-condition-effects.fog i:nth-child(2){right:-30px;top:48%;animation-delay:-1.2s}.rescue-condition-effects.fog i:nth-child(3){left:20%;bottom:8%;animation-delay:-2.4s}.rescue-condition-effects.branches i{position:absolute;font-size:24px;font-style:normal;filter:drop-shadow(0 3px 4px rgba(7,63,73,.25));animation:rescueBranch 2s ease-in-out infinite alternate}.rescue-condition-effects.branches i:nth-child(1){left:4%;top:22%}.rescue-condition-effects.branches i:nth-child(2){right:8%;top:38%;animation-delay:-.7s}.rescue-condition-effects.branches i:nth-child(3){left:42%;bottom:20%;animation-delay:-1.3s}@keyframes rescueBranch{to{transform:rotate(8deg) translateY(5px)}}.rescue-condition-effects.echo i{position:absolute;color:#fff;font-size:20px;font-style:normal;font-weight:950;letter-spacing:-4px;text-shadow:0 0 8px #73e4dc;animation:rescueEcho 1.3s ease-out infinite}.rescue-condition-effects.echo i:nth-child(1){left:7%;top:34%}.rescue-condition-effects.echo i:nth-child(2){right:12%;top:22%;animation-delay:-.6s}@keyframes rescueEcho{from{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.55)}}
.rescue-ability-burst{position:absolute;z-index:7;left:50%;top:44%;display:flex;flex-direction:column;align-items:center;padding:7px 15px;border:3px solid #fff;border-radius:18px;background:linear-gradient(135deg,#fff36d,#51ddd0);color:#07545a;font-size:22px;font-weight:950;box-shadow:0 0 26px rgba(255,245,105,.88);animation:routeGoPop .65s ease-out both}.rescue-ability-burst small{font-size:8px}.rescue-field.ability-active>img{animation:rescueAbilityZoom .8s ease-out both}@keyframes rescueAbilityZoom{0%{transform:scale(1.08);filter:brightness(1.35)}100%{transform:scale(1);filter:brightness(1)}}
.rescue-field .rescue-ability-character{position:absolute;z-index:3;right:8px;bottom:0;width:46%;height:72%;border:3px solid rgba(255,255,255,.9);border-radius:48% 48% 12px 12px;object-fit:cover;object-position:center;mix-blend-mode:normal;box-shadow:0 0 0 4px rgba(255,241,102,.25),0 7px 18px rgba(7,63,73,.28);animation:rescueHeroIn .55s cubic-bezier(.2,1.2,.3,1) both}@keyframes rescueHeroIn{from{opacity:0;transform:translateX(30px) scale(.8)}to{opacity:1;transform:none}}
.rescue-condition-moment{display:flex;flex-direction:column;gap:6px;padding:10px;border:2px solid #fff;border-radius:20px;background:linear-gradient(145deg,#e7f7ff,#fff8b6);box-shadow:0 8px 20px rgba(7,63,73,.11)}.rescue-condition-moment>div,.rescue-condition-moment article{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;padding:7px 9px;border-radius:14px;background:rgba(255,255,255,.86)}.rescue-condition-moment span,.rescue-condition-moment img{width:40px;height:40px;display:grid;place-items:center;object-fit:contain;font-size:24px}.rescue-condition-moment svg{width:40px;height:40px}.rescue-condition-moment p{font-size:10px;line-height:1.5;color:#4f7672}.rescue-condition-moment small{display:block;font-size:8px;font-weight:950;color:#2b9c92}.rescue-condition-moment b{font-size:10px;color:var(--deep-2)}
.rescue-live-event{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:8px;padding:9px 10px;border:2px solid #fff;border-radius:17px;background:linear-gradient(135deg,#fff2a7,#e2f8ff);box-shadow:0 7px 17px rgba(7,63,73,.1)}.rescue-live-event>span{font-size:26px;text-align:center}.rescue-live-event>div{display:flex;flex-direction:column}.rescue-live-event small{font-size:10px;font-weight:950;color:#2b958d}.rescue-live-event b{font-size:14px;color:var(--deep-2)}.rescue-live-event p{margin-top:3px;font-size:11px;line-height:1.55;color:#507772}.rescue-live-event strong{color:#167f78}
.rescue-friend-bubble,.rescue-thanks{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;padding:8px 10px;border:2px solid #fff;border-radius:16px;background:#fff;box-shadow:0 6px 14px rgba(7,63,73,.09)}.rescue-friend-bubble>span,.rescue-thanks>span{font-size:27px;text-align:center}.rescue-friend-bubble p,.rescue-thanks p{display:flex;flex-direction:column;font-size:12px;line-height:1.5;color:var(--deep-2);font-weight:850}.rescue-friend-bubble small,.rescue-thanks small{font-size:10px;color:#39968e}.rescue-friend-bubble.relieved,.rescue-thanks{background:linear-gradient(135deg,#fff9b7,#e8fff8)}.rescue-thanks{grid-template-columns:42px 1fr 25px}.rescue-thanks b{font-size:12px}.rescue-thanks>i{font-size:21px;font-style:normal}.rescue-reward-tease{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:8px;padding:9px;border:2px solid #f0db68;border-radius:16px;background:#fff9be}.rescue-reward-tease>span{font-size:25px;text-align:center}.rescue-reward-tease p{display:flex;flex-direction:column}.rescue-reward-tease small{font-size:10px;color:#39958d}.rescue-reward-tease b{font-size:12px;color:var(--deep-2)}
.rescue-joy{grid-template-columns:92px 1fr 24px!important;min-height:112px;border-color:#ffe668!important;box-shadow:0 9px 24px rgba(244,198,45,.25)!important;animation:rescueJoyIn .65s cubic-bezier(.2,1.45,.3,1) both}.rescue-joy>img{width:90px!important;height:98px!important;animation:rescueFriendHop .8s .12s ease-in-out both}.rescue-joy>i,.rescue-joy-final>i{font-size:25px;font-style:normal;animation:rescueSpark 1s ease-in-out infinite alternate}.rescue-joy-final{grid-template-columns:116px 1fr 30px!important;min-height:144px;padding:12px!important;border:3px solid #ffe568!important;box-shadow:0 12px 28px rgba(228,181,38,.25)!important}.rescue-joy-final>img{width:112px!important;height:122px!important;animation:rescueFriendHop 1s .15s ease-in-out both}.rescue-joy-final b{font-size:15px!important;line-height:1.55}.rescue-joy-final em{margin-top:5px;padding:5px 7px;border-radius:9px;background:rgba(255,255,255,.8);color:#267f77;font-size:10px;font-style:normal}@keyframes rescueJoyIn{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@keyframes rescueFriendHop{0%{transform:translateY(14px) scale(.8)}55%{transform:translateY(-8px) scale(1.08)}100%{transform:none}}@keyframes rescueSpark{to{transform:rotate(12deg) scale(1.25);filter:drop-shadow(0 0 6px #fff06a)}}
.rescue-plan-friend{grid-template-columns:72px 1fr}.rescue-plan-friend>img{width:70px;height:76px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(7,63,73,.15))}.rescue-friend-bubble,.rescue-thanks{grid-template-columns:58px 1fr}.rescue-friend-bubble>img,.rescue-thanks>img{width:56px;height:61px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(7,63,73,.13))}.rescue-thanks{grid-template-columns:58px 1fr 25px}.rescue-team-cutin{position:relative;height:150px;overflow:hidden;border:3px solid #fff;border-radius:20px;box-shadow:0 9px 23px rgba(7,63,73,.2);animation:rescueCombo .5s ease-out both}.rescue-team-cutin>img{width:100%;height:100%;object-fit:cover}.rescue-team-cutin>span{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);padding:5px 13px;border:2px solid #fff;border-radius:999px;background:linear-gradient(135deg,#fff36d,#56ddd0);color:#07545a;font-size:13px;font-weight:950;white-space:nowrap;box-shadow:0 4px 13px rgba(7,63,73,.24)}.rescue-result-hero>span{overflow:hidden;padding:2px}.rescue-result-hero>span>img{width:100%;height:100%;object-fit:contain}
.rescue-scene-flow span{font-size:10px;min-height:27px;display:grid;place-items:center}.rescue-duo-choices small{font-size:10px}.rescue-condition-moment p,.rescue-condition-moment b{font-size:12px}.rescue-condition-moment small{font-size:10px}.rescue-ability-burst small{font-size:10px}.rescue-leave{margin-top:2px!important}.large-text .rescue-live-event p,.large-text .rescue-friend-bubble p,.large-text .rescue-condition-moment p{font-size:14px}.large-text .rescue-duo-choices small,.large-text .rescue-scene-flow span{font-size:11px}
@media(max-width:390px){.rescue-field{min-height:205px}.rescue-scene-flow span{font-size:10px;min-height:30px}.rescue-duo-choices small{font-size:11px}.rescue-condition-moment{padding:8px}.rescue-condition-moment>div,.rescue-condition-moment article{padding:6px 7px}.rescue-team-meter{padding:7px 8px}.rescue-live-event{padding:7px 8px}.rescue-live-event p{font-size:11px;line-height:1.45}.rescue-joy{grid-template-columns:78px 1fr 20px!important;min-height:96px}.rescue-joy>img{width:76px!important;height:82px!important}.rescue-joy-final{grid-template-columns:92px 1fr 22px!important;min-height:120px}.rescue-joy-final>img{width:88px!important;height:98px!important}.rescue-joy-final b{font-size:13px!important}.rescue-field .rescue-ability-character{width:43%;height:66%}}
@media(prefers-reduced-motion:reduce){.rescue-condition-effects i,.rescue-ability-burst,.rescue-team-meter>em,.rescue-field.ability-active>img,.rescue-team-cutin,.rescue-ability-character,.rescue-joy,.rescue-joy>img,.rescue-joy-final>img,.rescue-joy>i,.rescue-joy-final>i{animation:none!important}.rescue-team-meter>i>b{transition:none!important}}

/* v9.14 MISSION 02 polish + MISSION 03 premium pass */
.rescue-friend-bubble.hopeful{grid-template-columns:82px 1fr 26px;min-height:104px;border-color:#83e7dd;background:linear-gradient(135deg,#e9fffb,#fff9ae);box-shadow:0 9px 22px rgba(36,173,161,.2);animation:rescueHopeIn .55s cubic-bezier(.2,1.35,.3,1) both}.rescue-friend-bubble.hopeful>img{width:80px;height:88px;object-fit:contain;animation:rescueHopeReach .8s ease-out both}.rescue-friend-bubble.hopeful>i{font-size:24px;font-style:normal;animation:rescueSpark .8s ease-in-out infinite alternate}@keyframes rescueHopeIn{from{opacity:0;transform:translateY(9px) scale(.94)}to{opacity:1;transform:none}}@keyframes rescueHopeReach{0%{transform:translateY(12px) scale(.86)}60%{transform:translateY(-5px) scale(1.04)}100%{transform:none}}
.rescue-result-one-line{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px;padding:10px 12px;border:2px solid #fff;border-radius:18px;background:linear-gradient(135deg,#e9fff8,#fff7b1);box-shadow:0 7px 17px rgba(7,63,73,.1)}.rescue-result-one-line>span{font-size:29px;text-align:center}.rescue-result-one-line p{display:flex;flex-direction:column;gap:2px}.rescue-result-one-line small{font-size:11px;font-weight:900;color:#3c8f87}.rescue-result-one-line b{font-size:13px;line-height:1.5;color:var(--deep-2)}
.rescue-result-details{padding:0;border:2px solid #cfe9e5;border-radius:17px;background:#f7fffd;overflow:hidden}.rescue-result-details>summary{padding:12px 14px;color:#187f78;font-size:12px;font-weight:950;cursor:pointer;list-style:none}.rescue-result-details>summary::-webkit-details-marker{display:none}.rescue-result-details>summary:after{content:'＋';float:right}.rescue-result-details[open]>summary:after{content:'−'}.rescue-result-details[open]>summary{border-bottom:1px solid #d8ece9}.rescue-result-details>.route-score-board,.rescue-result-details>.exp-outcome-story,.rescue-result-details>.route-cause-card,.rescue-result-details>.route-previous{margin:10px}
.rescue-scene-flow span{font-size:9px;min-height:28px;display:grid;place-items:center}.rescue-team-meter>span,.rescue-team-meter>strong{font-size:11px}.rescue-friend-bubble small,.rescue-thanks small,.rescue-condition-moment small{font-size:11px}.rescue-friend-bubble p,.rescue-thanks p{font-size:13px}.rescue-choice-title{font-size:12px}.rescue-duo-choices small{font-size:11px}
.tree-badge-shelf{background:linear-gradient(155deg,#fff8cf,#e8fff5)}
.tree-live-event{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px;padding:11px;border:3px solid #fff;border-radius:19px;background:linear-gradient(135deg,#fff3a8,#e4fff6);box-shadow:0 8px 20px rgba(7,63,73,.12);animation:treeEventIn .55s ease-out both}.tree-live-event>span{font-size:30px;text-align:center}.tree-live-event>div{display:flex;flex-direction:column}.tree-live-event small{font-size:11px;font-weight:950;color:#368d84}.tree-live-event b{font-size:14px;color:var(--deep-2)}.tree-live-event p{margin-top:4px;font-size:11px;line-height:1.5;color:#4d7772}.tree-live-event strong{color:#167f78}@keyframes treeEventIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.tree-search-art{position:relative}.tree-search-art>em{position:absolute;right:9px;top:9px;width:42px;height:42px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#fff4a5;font-size:25px;font-style:normal;box-shadow:0 5px 13px rgba(7,63,73,.18);animation:rescueSpark 1.2s ease-in-out infinite alternate}.tree-search-art.condition-glow img{filter:saturate(1.15) brightness(1.08)}.tree-search-art.condition-echo img{filter:hue-rotate(8deg) contrast(1.04)}.tree-search-art.condition-rain img{filter:saturate(.92) brightness(.98)}
.tree-evidence-meter{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px 11px;border:2px solid #fff;border-radius:16px;background:linear-gradient(135deg,#e7f8ff,#fff4ad);box-shadow:0 6px 15px rgba(7,63,73,.1)}.tree-evidence-meter>span,.tree-evidence-meter>strong{font-size:11px;font-weight:950;color:#167f78}.tree-evidence-meter>i{height:13px;overflow:hidden;border:2px solid #fff;border-radius:999px;background:#cee5e1}.tree-evidence-meter>i>b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#59d8c7,#ffe45c);transition:width .4s ease}.tree-evidence-meter>em{position:absolute;right:8px;bottom:-10px;padding:3px 8px;border:2px solid #fff;border-radius:999px;background:#ffec68;color:#07545a;font-size:9px;font-style:normal;font-weight:950;animation:rescueCombo .45s ease-out both}
.tree-clue-grid button small{font-size:11px;line-height:1.45}.tree-clue-grid button b{font-size:13px}.tree-leave{margin-top:3px}
.tree-result-voices{display:grid;gap:7px}.tree-result-voices article{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:8px;padding:8px 10px;border:2px solid #fff;border-radius:16px;background:linear-gradient(135deg,#f0fffa,#fff9c4);box-shadow:0 6px 14px rgba(7,63,73,.08)}.tree-result-voices article>span,.tree-result-voices article>img{width:52px;height:56px;object-fit:contain}.tree-result-voices p{display:flex;flex-direction:column;font-size:12px;line-height:1.5;color:var(--deep-2)}.tree-result-voices small{font-size:10px;color:#39968e}
.tree-evidence-chain{display:flex;align-items:center;justify-content:center;gap:5px;padding:11px 8px;border:2px solid #fff;border-radius:18px;background:linear-gradient(135deg,#e9f8ff,#fff5b5);box-shadow:0 7px 17px rgba(7,63,73,.1)}.tree-evidence-chain span{display:flex;flex-direction:column;align-items:center;font-size:23px}.tree-evidence-chain small{font-size:8px;font-weight:900;color:#4e7772}.tree-evidence-chain>i{font-size:13px;font-style:normal;font-weight:950;color:#35a297}.tree-evidence-chain>strong{font-size:11px;color:#07545a}
@media(max-width:430px){.rescue-result-details>summary{font-size:13px}.tree-live-event b{font-size:13px}.tree-live-event p{font-size:11px}.tree-evidence-chain{gap:3px}.tree-evidence-chain span{font-size:21px}.tree-result-voices p{font-size:12px}}
@media(max-height:720px){.tree-live-event{padding:8px}.tree-search-art{min-height:205px}.tree-result-voices article{padding:6px 8px}.rescue-friend-bubble.hopeful{min-height:94px}}
