/* ============================================================
   tantei.css — データたんてい 専用の追加スタイル
   style.css（pc-basic流用）に重ねて使う。既存クラスは変更せず、
   グラフミッション専用のクラスだけをここに追加する。
============================================================ */

/* データたんていは疑似OSではないので、Windows風タスクバーは非表示にする */
.win-taskbar{display:none !important;}

.graph-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:34px 24px 18px;gap:14px;overflow:auto;}

.graph-toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.graph-btn{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13px;color:var(--violet-700,#4a3a8a);background:#fff;border:2px solid var(--violet-300,#cdbdfa);border-radius:999px;padding:8px 16px;cursor:pointer;transition:.15s;box-shadow:0 3px 8px rgba(80,60,160,.12);}
.graph-btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(80,60,160,.2);}
.graph-btn.is-fair{border-color:#39b37a;color:#1f8f5c;}
.graph-btn.is-trick{border-color:#ff8a5c;color:#d95f2b;}
.graph-btn.active{color:#fff;}
.graph-btn.is-fair.active{background:#39b37a;}
.graph-btn.is-trick.active{background:#ff8a5c;}

.graph-stage{position:relative;width:100%;max-width:800px;height:540px;background:#fff;border-radius:20px;box-shadow:0 8px 22px rgba(20,20,50,.14);padding:26px 40px 46px;display:flex;align-items:flex-end;justify-content:center;gap:110px;overflow:hidden;}
.graph-axis-max{position:absolute;top:18px;left:28px;font-size:15px;color:var(--ink-500,#8a8aa0);font-weight:700;}
.graph-axis-min{position:absolute;left:14px;font-size:15px;color:#d95f2b;font-weight:900;transition:bottom .18s ease;}
.graph-axis-line{position:absolute;left:28px;right:0;border-top:2px solid #9a9aa8;transition:bottom .18s ease;}
.graph-axis-vline{position:absolute;left:28px;top:44px;width:2px;background:#9a9aa8;}

.gbar-col{display:flex;flex-direction:column;align-items:center;gap:9px;width:140px;}
.gbar-value{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:25px;line-height:1;color:var(--ink-900,#22223a);}
.gbar-track{position:relative;width:110px;height:330px;display:flex;align-items:flex-end;}
.gbar-fill{width:100%;border-radius:14px 14px 4px 4px;transition:height .35s cubic-bezier(.2,.9,.3,1.2);box-shadow:0 3px 8px rgba(0,0,0,.12) inset;}
.gbar-fill.col-a{background:linear-gradient(180deg,#ec8a7a,#e2664f);}
.gbar-fill.col-b{background:linear-gradient(180deg,#82cbc4,#5bb8b0);}
.gbar-label{font-family:'Zen Maru Gothic',sans-serif;font-size:19px;font-weight:700;color:var(--ink-700,#4a4a66);margin-top:2px;}

.graph-slider-row{width:100%;max-width:800px;display:flex;flex-direction:column;gap:4px;}
.graph-slider-row label{font-size:12px;font-weight:700;color:var(--ink-600,#666680);}
.graph-slider-row input[type=range]{width:100%;accent-color:#8a5cf7;}

.graph-callout{width:100%;max-width:800px;background:#fff4e8;border:2px solid #ffce9e;border-radius:12px;padding:10px 14px;font-family:'Zen Maru Gothic',sans-serif;font-size:13.5px;line-height:1.7;color:#7a4b1e;text-align:center;transition:.2s;}
.graph-callout.is-fair{background:#eafbf2;border-color:#a6e6c6;color:#1f6b48;}
.graph-callout b{font-size:15px;}

/* ============================================================
   育人が見せる「係決めアンケート結果」ポスター（実際のグラフ・複数委員会入り）
   ※あくまでシーン1での“見せ場”用の静止画。調べるモードでは対象を2つに絞る。
============================================================ */
.poster-stage{position:relative;width:100%;max-width:800px;background:#fff;border-radius:18px;box-shadow:0 8px 22px rgba(20,20,50,.14);
  padding:20px 24px 36px;margin:26px auto 0;}
.poster-title{font-family:'Zen Maru Gothic',sans-serif;font-weight:800;font-size:14px;color:var(--ink-700,#4a4a66);
  text-align:center;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #eef0f6;}
.poster-chart{position:relative;height:320px;display:flex;align-items:flex-end;justify-content:center;gap:22px;padding:0 10px;}
.poster-axis-max{position:absolute;top:0;left:0;font-size:11px;color:var(--ink-500,#8a8aa0);font-weight:700;}
.poster-axis-line{position:absolute;left:20px;right:0;border-top:1.5px solid #9a9aa8;}
.poster-axis-vline{position:absolute;left:20px;top:16px;width:1.5px;background:#9a9aa8;}
.poster-col{display:flex;flex-direction:column;align-items:center;gap:6px;width:74px;}
.poster-value{font-family:'Zen Maru Gothic',sans-serif;font-weight:800;font-size:12px;color:var(--ink-800,#33364a);}
.poster-track{position:relative;width:44px;height:230px;display:flex;align-items:flex-end;}
.poster-bar{width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#c7cbe0,#9aa0c0);}
.poster-bar.highlight-a{background:linear-gradient(180deg,#a8e6b8,#5cb87a);}
.poster-bar.highlight-b{background:linear-gradient(180deg,#8fd3ff,#4fa9ee);}
.poster-label{font-family:'Zen Maru Gothic',sans-serif;font-size:11.5px;font-weight:700;color:var(--ink-600,#565b72);text-align:center;line-height:1.3;}

/* ============================================================
   汎用の選択式ボタン（予想・タイトル/コメント選択などで使う）
============================================================ */
.choice-wrap{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px;margin:0 auto;}
.choice-btn{width:100%;text-align:left;font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.6;
  color:var(--ink-800,#2b2b40);background:#fff;border:2px solid #e2e2ee;border-radius:12px;padding:12px 16px;
  cursor:pointer;transition:.15s;box-shadow:0 2px 6px rgba(20,20,50,.06);}
.choice-btn:hover{border-color:#b7a6f2;transform:translateY(-1px);box-shadow:0 5px 12px rgba(120,80,240,.15);}
.choice-btn.selected{border-color:#8a5cf7;background:#f4f0ff;}
.choice-btn.correct{border-color:#39b37a;background:#eafbf2;}
.choice-btn.wrong{border-color:#ff8a5c;background:#fff4ec;}
.choice-btn .cb-tag{display:inline-block;font-weight:900;color:#8a5cf7;margin-right:8px;}

/* ============================================================
   演習④：正しいグラフを選ぶ（2枚比較カード）
============================================================ */
.pickgraph-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:0 auto;max-width:440px;}
.pickgraph-card{flex:1;min-width:160px;background:#fff;border-radius:14px;padding:12px;border:3px solid transparent;
  cursor:pointer;text-align:center;box-shadow:0 4px 12px rgba(20,20,50,.1);transition:.15s;}
.pickgraph-card:hover{transform:translateY(-2px);}
.pickgraph-card.selected{border-color:#8a5cf7;}
.pickgraph-card.correct{border-color:#39b37a;}
.pickgraph-card img,.pickgraph-card .pg-mini{display:block;margin:0 auto 8px;}
.pickgraph-label{font-family:'Zen Maru Gothic',sans-serif;font-weight:800;font-size:13px;color:var(--ink-700,#4a4a66);}
.pg-mini{width:100%;height:120px;background:#f6f6fb;border-radius:8px;position:relative;overflow:hidden;}
.pg-mini .pg-bar{position:absolute;bottom:6px;width:26px;border-radius:4px 4px 2px 2px;}
.pg-mini .pg-bar.a{left:38%;background:linear-gradient(180deg,#ec8a7a,#e2664f);}
.pg-mini .pg-bar.b{left:58%;background:linear-gradient(180deg,#82cbc4,#5bb8b0);}
.pg-mini .pg-axis0{position:absolute;left:6px;bottom:6px;font-size:9px;color:#9a9ab0;}

/* ============================================================
   エンディング：認定証サイン
============================================================ */
.cert-wrap{max-width:420px;margin:0 auto;background:#fffaf0;border:3px solid #e8b874;border-radius:16px;
  padding:22px 20px;text-align:center;box-shadow:0 10px 26px rgba(120,80,30,.15);}
.cert-title{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:16px;color:#7a4b1e;margin-bottom:14px;}
.cert-names{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.cert-name-row{display:flex;align-items:center;gap:8px;background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #f0dcb8;}
.cert-name-row .cn-label{font-size:11px;color:#a68a5c;width:64px;text-align:left;flex-shrink:0;}
.cert-name-row .cn-value{font-family:'Zen Maru Gothic',sans-serif;font-weight:800;font-size:14px;color:#4a3a1e;flex:1;text-align:left;}
.cert-input-row input{width:100%;box-sizing:border-box;font-size:14px;padding:8px 10px;border:2px solid #e8b874;border-radius:8px;font-family:'Zen Maru Gothic',sans-serif;}
.cert-sign-btn{margin-top:6px;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:14px;color:#fff;
  background:#e8a23e;border:none;border-radius:999px;padding:10px 24px;cursor:pointer;box-shadow:0 5px 14px rgba(210,140,30,.35);}
.cert-sign-btn:disabled{background:#d9d0bb;cursor:not-allowed;box-shadow:none;}
.cert-wrap.signed{animation:certGlow 1.2s ease;}
@keyframes certGlow{0%{box-shadow:0 0 0 rgba(255,210,120,0);}40%{box-shadow:0 0 40px rgba(255,210,120,.9);}100%{box-shadow:0 10px 26px rgba(120,80,30,.15);}}

/* ============================================================
   探偵アドベンチャー：げんばを調べろ（虫めがね調査）
============================================================ */
.invest-mode{padding-top:14px;}
.invest-frame{
  position:relative;width:100%;max-width:800px;margin:0 auto;
  /* 独自の「虫めがね」カーソル。手がかりのありかは見た目には出さず、
     プレイヤー自身がこのカーソルで画面をなぞって探す体験にする */
  cursor:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2244%22 height=%2244%22 viewBox=%220 0 44 44%22%3E%3Ccircle cx=%2218%22 cy=%2218%22 r=%2212%22 fill=%22rgba(255,255,255,0.28)%22 stroke=%22%23e8843c%22 stroke-width=%224%22/%3E%3Cline x1=%2227%22 y1=%2227%22 x2=%2239%22 y2=%2239%22 stroke=%22%23e8843c%22 stroke-width=%225%22 stroke-linecap=%22round%22/%3E%3C/svg%3E') 18 18, auto;
}

/* 未発見の手がかり：見た目には一切出さない、当たり判定だけの領域（円ではなく
   長方形。範囲を広くとり、実際のグラフ要素にきちんと重なるようにする） */
.invest-hotspot{
  position:absolute;background:transparent;border:none;color:transparent;
  display:flex;align-items:center;justify-content:center;font-size:0;cursor:inherit;
  box-shadow:none;transition:box-shadow .2s,background .2s;padding:0;border-radius:10px;
}
.invest-hotspot.hs-size{z-index:5;border-radius:20px;}     /* 全体をおおう、いちばん広い当たり判定 */
.invest-hotspot.hs-axis{z-index:7;}
.invest-hotspot.hs-numbers{z-index:7;}
.invest-hotspot.hs-color{z-index:7;}

/* カーソル（虫めがね）が重なったときだけ、その場でふわっと光る（矩形にも自然な光り方） */
.invest-hotspot:not(.done):hover{
  background:rgba(255,190,110,.22);
  box-shadow:inset 0 0 0 3px rgba(255,170,80,.55), 0 0 24px rgba(255,170,80,.3);
}
/* ヒントボタンを押したときに、まだ見つけていない箇所を一時的に光らせる */
.invest-hotspot:not(.done).hint-flash{
  animation:hotspotHintFlash 1.1s ease-in-out 2;
}
@keyframes hotspotHintFlash{
  0%,100%{background:transparent;box-shadow:none;}
  50%{background:rgba(255,180,90,.28);box-shadow:inset 0 0 0 3px rgba(255,160,70,.6), 0 0 30px rgba(255,160,70,.4);}
}

/* 「大きさ」だけは、グラフ全体を塗りつぶさず、まわりの枠線だけを光らせる
   （グラフ全体のサイズを見ている、という意味が伝わるように） */
.invest-hotspot.hs-size:not(.done):hover{
  background:transparent;
  box-shadow:inset 0 0 0 4px rgba(255,170,80,.8);
}
.invest-hotspot.hs-size:not(.done).hint-flash{
  animation:hotspotHintFlashFrame 1.1s ease-in-out 2;
}
@keyframes hotspotHintFlashFrame{
  0%,100%{background:transparent;box-shadow:none;}
  50%{background:transparent;box-shadow:inset 0 0 0 4px rgba(255,160,70,.85);}
}

/* 見つけたあとの「済」マーク。当たり判定（invest-hotspot）とは別レイヤーで、
   グラフ上の分かりやすい位置に固定表示する小さなバッジ */
.invest-badge{
  position:absolute;width:30px;height:30px;margin-left:-15px;margin-top:-15px;
  border-radius:50%;background:#39b37a;border:2px solid #fff;color:#fff;font-size:13px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.25);z-index:8;pointer-events:none;
  opacity:0;transform:scale(.5);transition:opacity .25s ease, transform .25s ease;
}
.invest-badge.show{opacity:1;transform:scale(1);}

.notebook-head{font-family:'Zen Maru Gothic',sans-serif;font-weight:800;font-size:12.5px;color:var(--ink-600,#565b72);margin-bottom:10px;}
.notebook-list{display:flex;flex-direction:column;gap:8px;}
.notebook-item{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:10px;font-size:12px;line-height:1.6;transition:.2s;}
.notebook-item.pending{background:#f4f5f9;color:#a6abc0;}
.notebook-item.pending i{color:#c3c7d8;}
.notebook-item.found{background:#eef7f0;color:var(--ink-800,#33364a);}
.notebook-item.found i{color:#39b37a;margin-top:2px;}
.notebook-item i{font-size:13px;width:16px;text-align:center;flex-shrink:0;margin-top:2px;}
.notebook-item b{display:block;font-family:'Zen Maru Gothic',sans-serif;font-size:12.5px;margin-bottom:2px;}
.notebook-item span{display:block;color:inherit;opacity:.9;}

/* ============================================================
   疑似表計算ソフト（第6回「あれ？をさがせ」ミッション用）
============================================================ */
.sheet-wrap{flex:1;display:flex;flex-direction:column;padding:16px 18px 14px;gap:10px;overflow:hidden;}
.sheet-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.sheet-toolbar .sheet-fname{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13px;color:var(--ink-700,#4a4a66);background:#fff;border-radius:8px;padding:6px 12px;box-shadow:0 2px 6px rgba(20,20,50,.10);}
.sheet-sort-btn{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12.5px;color:#4a3a8a;background:#fff;border:2px solid #cdbdfa;border-radius:999px;padding:6px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.15s;}
.sheet-sort-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(80,60,160,.18);}
.sheet-sort-btn i{font-size:11px;}

.sheet-scroll{flex:1;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 6px 18px rgba(20,20,50,.12);}
.sheet-grid{width:100%;border-collapse:collapse;font-family:'Noto Sans JP',sans-serif;font-size:13px;}
.sheet-grid thead th{position:sticky;top:0;background:#eef0f6;color:var(--ink-600,#565b72);font-weight:700;font-size:11.5px;padding:7px 6px;border:1px solid #dcdfe8;text-align:center;z-index:1;}
.sheet-grid thead th.colletter{background:#e3e6f0;color:#8a8aa0;font-size:10.5px;}
.sheet-grid td{padding:6px 10px;border:1px solid #e8eaf1;text-align:center;color:var(--ink-900,#22223a);}
.sheet-grid td.rownum{background:#eef0f6;color:#9a9ab0;font-size:11px;font-weight:700;width:30px;}
.sheet-grid td.name-cell{text-align:left;}
.sheet-row{cursor:pointer;transition:background .12s;}
.sheet-row:hover td{background:#f4f1ff;}
.sheet-row.selected td{background:#e4dbff;box-shadow:inset 0 0 0 2px #8a5cf7;}
.sheet-row.selected td.rownum{background:#8a5cf7;color:#fff;}

.sheet-confirm-row{display:flex;justify-content:center;}
.sheet-confirm-btn{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:14px;color:#fff;background:#c9c9d8;border:none;border-radius:999px;padding:10px 22px;cursor:not-allowed;transition:.15s;}
.sheet-confirm-btn.ready{background:#8a5cf7;cursor:pointer;box-shadow:0 5px 14px rgba(120,80,240,.35);}
.sheet-confirm-btn.ready:hover{transform:translateY(-1px);}
