/* ===== はこだてKids 漁火イカ釣り（夜の生け簀を真上から見る） ===== */
#ika-wrap{
  --ika-night:#08111a; --ika-lamp:#ffd27a; --ika-fg:#eef3f4; --ika-muted:#9fb3ba; --ika-danger:#ff6a4d;
  --ika-chip:rgba(8,17,26,.72);
  --ika-display:"Dela Gothic One","Zen Maru Gothic","Hiragino Sans",sans-serif;
  --ika-body:"Zen Kaku Gothic New","Zen Maru Gothic","Hiragino Sans",system-ui,sans-serif;
  position:relative; width:100%; max-width:1000px; margin:0 auto;
  height:min(80vh,720px); min-height:500px;
  border-radius:20px; overflow:hidden; background:var(--ika-night); color:var(--ika-fg);
  font-family:var(--ika-body); font-size:14px; line-height:1.5;
  -webkit-user-select:none; user-select:none; -webkit-tap-highlight-color:transparent;
  box-shadow:0 10px 30px rgba(8,17,26,.25);
}
#ika-wrap *{box-sizing:border-box}
#ika-wrap [hidden]{display:none!important}
#ika-cv{position:absolute; inset:0; display:block; touch-action:none; cursor:crosshair}
#ika-hud{position:absolute; left:0; right:0; top:0; padding:10px 12px 0; display:flex; gap:6px; justify-content:center; flex-wrap:wrap; pointer-events:none; z-index:2}
#ika-wrap .ika-chip{background:var(--ika-chip); border:1px solid rgba(255,210,122,.18); border-radius:10px; padding:5px 10px; display:flex; align-items:baseline; gap:6px}
#ika-wrap .ika-chip .l{font-size:11px; letter-spacing:.12em; color:var(--ika-muted)}
#ika-wrap .ika-chip b{font-family:var(--ika-display); font-weight:400; font-size:19px; font-variant-numeric:tabular-nums; color:var(--ika-fg)}
#ika-c-score b{color:var(--ika-lamp)!important}
#ika-c-time.low b{color:var(--ika-danger)!important}
#ika-mute{pointer-events:auto; font:inherit; font-size:12px; color:var(--ika-muted); background:var(--ika-chip); border:1px solid rgba(255,210,122,.18); border-radius:10px; padding:5px 10px; cursor:pointer}
#ika-mute:focus-visible,#ika-wrap .ika-btn:focus-visible{outline:2px solid var(--ika-lamp); outline-offset:2px}
#ika-help{position:absolute; left:0; right:0; bottom:0; padding:0 12px 10px; text-align:center; font-size:12px; color:var(--ika-muted); pointer-events:none; z-index:2; text-wrap:balance}
#ika-help b{color:var(--ika-lamp); font-weight:700}
#ika-wrap .ika-ov{position:absolute; inset:0; display:grid; place-items:center; padding:20px 16px; z-index:5; background:radial-gradient(ellipse at 50% 30%,rgba(8,17,26,.55),rgba(8,17,26,.9)); overflow:auto}
#ika-wrap .ika-card{max-width:440px; width:100%; display:grid; gap:14px; text-align:center}
#ika-wrap .ika-kicker{font-size:12px; letter-spacing:.3em; color:var(--ika-lamp)}
#ika-wrap .ika-h{margin:0; font-family:var(--ika-display); font-weight:400; font-size:clamp(36px,9vw,58px); line-height:1.05; letter-spacing:.04em; color:var(--ika-fg); text-shadow:0 0 28px rgba(255,210,122,.35)}
#ika-wrap .ika-lead{margin:0; font-size:14px; line-height:1.8; color:var(--ika-muted); text-wrap:balance}
#ika-wrap .ika-steps{display:grid; gap:6px; text-align:left; margin:0; padding:0; list-style:none}
#ika-wrap .ika-steps li{display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:start; font-size:14px; line-height:1.6; color:var(--ika-fg)}
#ika-wrap .ika-steps li span{font-family:var(--ika-display); color:var(--ika-night); background:var(--ika-lamp); border-radius:50%; width:24px; height:24px; display:grid; place-items:center; font-size:13px}
#ika-wrap .ika-menu{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 14px; font-size:13px; text-align:left; border-top:1px dashed rgba(255,210,122,.3); border-bottom:1px dashed rgba(255,210,122,.3); padding:10px 4px; color:var(--ika-fg)}
#ika-wrap .ika-menu div{display:flex; justify-content:space-between; gap:8px}
#ika-wrap .ika-menu em{font-style:normal; font-variant-numeric:tabular-nums; color:var(--ika-lamp)}
#ika-wrap .ika-btn{font-family:var(--ika-display); font-size:20px; letter-spacing:.1em; color:var(--ika-night); background:var(--ika-lamp); border:0; border-radius:12px; padding:14px 20px; cursor:pointer; box-shadow:0 0 30px rgba(255,210,122,.35)}
#ika-wrap .ika-btn:active{transform:translateY(1px)}
#ika-wrap .ika-big{font-family:var(--ika-display); font-size:clamp(44px,12vw,72px); line-height:1; color:var(--ika-lamp); font-variant-numeric:tabular-nums}
#ika-wrap .ika-rank{font-family:var(--ika-display); font-size:22px; color:var(--ika-fg)}
#ika-wrap .ika-small{font-size:12px; color:var(--ika-muted)}
.ika-note{max-width:1000px; margin:14px auto 0; font-size:13px; color:#7a6f66; text-align:center; line-height:1.8}
@media (max-width:600px){ #ika-wrap{height:min(78vh,680px); min-height:460px; border-radius:14px} }

/* ページ共通パーツ（パズル等と同じ書式） */
.breadcrumb { background: var(--gray1); padding: 12px 0; font-size: 12px; color: var(--gray3); }
.breadcrumb a { color: var(--coral); }
.breadcrumb span { margin: 0 6px; }
.page-hero { background-color: #E8F3F6; padding: 40px 0 32px; }
.page-hero-label { display: inline-flex; align-items: center; gap: 6px; background: var(--white); border: 2px solid var(--yellow); border-radius: 999px; padding: 6px 16px; font-size: 12px; font-weight: 700; color: var(--orange); margin-bottom: 16px; }
.page-hero h1 { font-size: clamp(20px, 3.5vw, 32px); font-weight: 900; color: var(--text); margin-bottom: 8px; }
.page-hero-desc { font-size: 14px; color: var(--text2); }
.game-section { padding: 32px 0 72px; background: var(--bg); }
