/* =========================================================
 * ALL IN — メインスタイル
 * 青系(#185FA5)ベース / 白背景 / ネット競馬風テーブル
 * =======================================================*/
:root{
  --allin-blue:#185FA5;
  --allin-blue-d:#0f4377;
  --allin-blue-l:#e8f1fa;
  --allin-blue-ll:#f4f9fd;
  --allin-red:#d23b3b;
  --allin-green:#1f9d57;
  --allin-ink:#1c2733;
  --allin-gray:#6b7785;
  --allin-line:#d8e0e8;
  --allin-gold:#d8a200;
}

/* ---- 全体トーン ---- */
.allin-wrap{max-width:1080px;margin:0 auto;padding:0 12px;}
.allin-section{margin:30px 0;}
.allin-section > h2,.allin-h2{
  font-size:1.32rem;font-weight:800;color:var(--allin-ink);
  border-left:6px solid var(--allin-blue);padding:4px 0 4px 12px;margin:0 0 14px;
  display:flex;align-items:center;gap:10px;
}
.allin-h2 .allin-h2-sub{font-size:.8rem;font-weight:600;color:var(--allin-gray);}
.allin-loading{padding:30px;text-align:center;color:var(--allin-gray);font-size:.95rem;}
.allin-note-txt{font-size:.8rem;color:var(--allin-gray);margin-top:8px;line-height:1.6;}

/* ---- ヘッダーSNSアイコン ---- */
.allin-sns{position:absolute;top:14px;right:16px;display:flex;gap:10px;z-index:20;align-items:center;}
.allin-sns a{display:inline-flex;align-items:center;justify-content:center;height:36px;border-radius:8px;
  text-decoration:none;font-weight:800;transition:transform .12s ease,opacity .12s;}
.allin-sns a:hover{transform:translateY(-2px);opacity:.9;}
.allin-sns-x{width:36px;background:#000;color:#fff;}
.allin-sns-note{padding:0 14px;background:#41c9b4;color:#fff;font-size:.85rem;letter-spacing:.04em;}
@media(max-width:782px){.allin-sns{top:8px;right:10px;}.allin-sns a{height:32px;}.allin-sns-x{width:32px;}}

/* =========================================================
 * 1. パフォーマンスダッシュボード（株式指数風）
 * =======================================================*/
.allin-dashboard{background:#fff;border:1px solid var(--allin-line);border-radius:14px;
  box-shadow:0 6px 22px rgba(24,95,165,.07);overflow:hidden;}
.allin-dash-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;
  background:linear-gradient(110deg,var(--allin-blue),var(--allin-blue-d));color:#fff;padding:14px 18px;}
.allin-dash-head .t{font-weight:800;font-size:1.05rem;display:flex;align-items:center;gap:8px;}
.allin-dash-head .upd{font-size:.74rem;opacity:.85;}
.allin-dash-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:10px 14px 0;border-bottom:1px solid var(--allin-line);}
.allin-dash-tab{border:none;background:#eef3f8;color:var(--allin-gray);font-weight:700;font-size:.9rem;
  padding:9px 16px;border-radius:9px 9px 0 0;cursor:pointer;transition:.12s;}
.allin-dash-tab.is-active{background:var(--allin-blue);color:#fff;}
.allin-dash-tab:hover:not(.is-active){background:var(--allin-blue-l);color:var(--allin-blue);}

.allin-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--allin-line);padding:1px;}
.allin-kpi{background:#fff;padding:14px 16px;}
.allin-kpi .lbl{font-size:.76rem;color:var(--allin-gray);font-weight:700;margin-bottom:4px;
  display:flex;align-items:center;gap:6px;}
.allin-kpi .val{font-size:1.7rem;font-weight:900;color:var(--allin-ink);line-height:1.1;
  font-variant-numeric:tabular-nums;}
.allin-kpi .val .unit{font-size:.85rem;font-weight:700;color:var(--allin-gray);margin-left:2px;}
.allin-kpi .spark{margin-top:8px;height:34px;}
.allin-kpi .spark svg{width:100%;height:34px;display:block;}
.allin-kpi.is-neg .val{color:var(--allin-red);}
.allin-kpi.is-pos .val{color:var(--allin-green);}
.allin-kpi .delta{font-size:.74rem;font-weight:800;margin-left:6px;}
.allin-kpi .delta.up{color:var(--allin-green);}
.allin-kpi .delta.down{color:var(--allin-red);}

/* 回収率は正直に赤字表示 */
.allin-roi-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--allin-line);
  border-top:1px solid var(--allin-line);}
.allin-roi{background:#fff8f8;padding:14px 16px;}
.allin-roi .lbl{font-size:.76rem;color:var(--allin-gray);font-weight:700;margin-bottom:4px;}
.allin-roi .val{font-size:1.7rem;font-weight:900;color:var(--allin-red);font-variant-numeric:tabular-nums;}
.allin-roi.profit .val{color:var(--allin-green);}
.allin-warn{background:#fff3f0;border-top:1px dashed var(--allin-red);color:#a5331f;
  padding:12px 16px;font-size:.86rem;font-weight:700;display:flex;gap:10px;align-items:flex-start;}
.allin-warn .moka{flex:0 0 auto;width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--allin-blue-l);}
.allin-warn .moka img{width:100%;height:100%;object-fit:cover;}
@media(max-width:600px){.allin-kpis{grid-template-columns:1fr;}.allin-kpi .val{font-size:1.5rem;}}

/* =========================================================
 * 2. 次レース予想（ネット競馬風テーブル）
 * =======================================================*/
.allin-races{display:flex;flex-direction:column;gap:18px;}
.allin-race{border:1px solid var(--allin-line);border-radius:12px;overflow:hidden;background:#fff;
  box-shadow:0 3px 12px rgba(24,95,165,.05);}
.allin-race-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--allin-blue-l);padding:10px 14px;border-bottom:1px solid var(--allin-line);}
.allin-badge{font-size:.74rem;font-weight:800;color:#fff;background:var(--allin-blue);
  border-radius:6px;padding:3px 9px;}
.allin-badge.s-boat{background:#1577c9;}
.allin-badge.s-local{background:#2f9e44;}
.allin-badge.s-jra{background:#185FA5;}
.allin-badge.s-keirin{background:#c4341d;}
.allin-race-title{font-weight:800;color:var(--allin-ink);font-size:1rem;}
.allin-race-meta{color:var(--allin-gray);font-size:.82rem;}
.allin-race-time{margin-left:auto;font-weight:900;color:var(--allin-blue-d);font-size:1.05rem;
  font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px;}
.allin-race-time .cd{font-size:.74rem;font-weight:800;color:#fff;background:var(--allin-red);
  border-radius:5px;padding:2px 7px;}
.allin-race-time .cd.soon{background:var(--allin-gold);}

table.allin-table{width:100%;border-collapse:collapse;font-size:.9rem;}
table.allin-table thead th{background:#f1f5f9;color:var(--allin-gray);font-weight:800;font-size:.78rem;
  padding:8px 6px;border-bottom:2px solid var(--allin-blue);white-space:nowrap;text-align:center;}
table.allin-table tbody td{padding:7px 6px;border-bottom:1px solid #eef2f6;text-align:center;
  font-variant-numeric:tabular-nums;}
table.allin-table tbody tr:nth-child(even){background:var(--allin-blue-ll);}
table.allin-table tbody tr.is-pick{background:#fff7e6;}
table.allin-table tbody tr.is-pick td:first-child{box-shadow:inset 4px 0 0 var(--allin-gold);}
.allin-no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;
  font-weight:900;color:#fff;font-size:.82rem;}
/* 枠番カラー（競馬/競艇/競輪共通の番号色） */
.wk1{background:#fff;color:#222;border:1px solid #bbb;} .wk2{background:#222;} .wk3{background:#d23b3b;}
.wk4{background:#1f72d6;} .wk5{background:#f0c000;color:#222;} .wk6{background:#2f9e44;}
.wk7{background:#f08c1f;} .wk8{background:#e85aa0;} .wk9{background:#7a4ddb;}
.allin-name{text-align:left;font-weight:700;color:var(--allin-ink);max-width:160px;}
.allin-name .sub{display:block;font-weight:500;color:var(--allin-gray);font-size:.72rem;}
/* 確率バー */
.allin-prob{position:relative;min-width:64px;}
.allin-prob .bar{position:absolute;left:0;top:50%;transform:translateY(-50%);height:18px;border-radius:4px;
  background:var(--allin-blue-l);z-index:0;}
.allin-prob.p1 .bar{background:#cfe3f5;}
.allin-prob .pv{position:relative;z-index:1;font-weight:800;color:var(--allin-blue-d);}
.allin-prob.top .pv{color:var(--allin-red);}
.allin-race-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 14px;border-top:1px solid var(--allin-line);background:#fafcfe;}
.allin-table-note{font-size:.76rem;color:var(--allin-gray);}
.allin-post-x{display:inline-flex;align-items:center;gap:7px;background:#000;color:#fff;text-decoration:none;
  font-weight:800;font-size:.82rem;padding:8px 14px;border-radius:8px;transition:.12s;}
.allin-post-x:hover{transform:translateY(-1px);opacity:.9;}
.allin-post-x svg{width:15px;height:15px;}
.allin-empty{padding:26px;text-align:center;color:var(--allin-gray);border:1px dashed var(--allin-line);border-radius:12px;}

/* =========================================================
 * 3. キャラクターコメント
 * =======================================================*/
.allin-char{display:flex;gap:12px;align-items:flex-start;background:var(--allin-blue-ll);
  border:1px solid var(--allin-line);border-radius:12px;padding:12px 14px;margin:16px 0;}
.allin-char-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;overflow:hidden;
  background:#fff;border:2px solid var(--allin-blue);}
.allin-char-avatar img{width:100%;height:100%;object-fit:cover;}
.allin-char-name{font-weight:800;color:var(--allin-blue-d);margin-bottom:3px;font-size:.92rem;}
.allin-char-name span{font-weight:600;color:var(--allin-gray);font-size:.74rem;margin-left:8px;}
.allin-char-text{font-size:.9rem;line-height:1.7;color:var(--allin-ink);}
.allin-char-mitsuha{background:#eaf5ff;}
.allin-char-sakura{background:#fdeef3;}
.allin-char-moka{background:#f0f7ee;}

/* =========================================================
 * 4. note / X 埋め込み
 * =======================================================*/
.allin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
@media(max-width:860px){.allin-two-col{grid-template-columns:1fr;}}
.allin-x-timeline{border:1px solid var(--allin-line);border-radius:12px;overflow:hidden;min-height:300px;}
.allin-note-feed{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:600px){.allin-note-feed{grid-template-columns:1fr;}}
.allin-note-card{display:flex;flex-direction:column;border:1px solid var(--allin-line);border-radius:10px;
  overflow:hidden;background:#fff;text-decoration:none;transition:.14s;}
.allin-note-card:hover{box-shadow:0 6px 18px rgba(24,95,165,.12);transform:translateY(-2px);}
.allin-note-thumb{aspect-ratio:16/9;background:var(--allin-blue-l);background-size:cover;background-position:center;}
.allin-note-card .b{padding:10px 12px;}
.allin-note-card .ttl{font-size:.86rem;font-weight:700;color:var(--allin-ink);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.allin-note-card .meta{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:.72rem;color:var(--allin-gray);}
.allin-tag{font-weight:800;border-radius:5px;padding:2px 7px;font-size:.68rem;}
.allin-tag.paid{background:#fde7c4;color:#a06b00;}
.allin-tag.free{background:#dcf2e4;color:#1f7a45;}

/* =========================================================
 * 5. 競技ページ（場タブ）
 * =======================================================*/
.allin-venue-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.allin-venue-tab{border:1px solid var(--allin-line);background:#fff;color:var(--allin-gray);
  font-weight:700;font-size:.86rem;padding:7px 14px;border-radius:20px;cursor:pointer;transition:.12s;}
.allin-venue-tab.is-active{background:var(--allin-blue);color:#fff;border-color:var(--allin-blue);}
.allin-venue-tab:hover:not(.is-active){background:var(--allin-blue-l);color:var(--allin-blue);}
.allin-hero{background:linear-gradient(120deg,var(--allin-blue),var(--allin-blue-d));color:#fff;
  border-radius:14px;padding:22px 24px;margin:18px 0;}
.allin-hero h1{margin:0 0 6px;font-size:1.5rem;font-weight:900;}
.allin-hero p{margin:0;opacity:.92;font-size:.92rem;}
