/* ============================================================
   IRONCODE369 POLISH — 全ページ共通の質感・モーション強化レイヤー
   （既存インラインスタイルを壊さず"上に足す"だけの設計）
   ============================================================ */

/* ---- ページアクセント（bodyクラスでサブブランド色を解決） ---- */
body{ --pg-acc:#E10D14; }
body.ic-coach{ --pg-acc:#C0554E; }
body.ic-fuel{ --pg-acc:#2F9E7A; }
body.ic-lab{ --pg-acc:#4E80BE; }
body.ic-gear{ --pg-acc:#C1963F; }

/* ---- 質感：ノイズグレイン + 選択色 + スクロールバー ---- */
body::after{
  content:"";
  position:fixed; inset:0; z-index:9990; pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:160px 160px;
}
::selection{ background:var(--pg-acc); color:#fff; }
html{ scrollbar-color:#3a3f47 #0c0e12; }
::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-track{ background:#0c0e12; }
::-webkit-scrollbar-thumb{ background:#2c313a; border-radius:6px; border:2px solid #0c0e12; }
::-webkit-scrollbar-thumb:hover{ background:var(--pg-acc); }

/* ---- インタラクション物理：全ボタン/リンクに統一の手触り ---- */
button{ transition:filter .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease; }
button:hover{ filter:brightness(1.08); }
button:active{ transform:translateY(1px) scale(.99); filter:brightness(.96); }
a{ transition:color .16s ease, border-color .16s ease, filter .16s ease, transform .16s ease, box-shadow .16s ease; }

/* フォーカスリング（キーボード操作もかっこよく） */
:focus-visible{ outline:2px solid var(--pg-acc); outline-offset:2px; border-radius:4px; }

/* ---- スクロール出現モーション ---- */
@media (prefers-reduced-motion: no-preference){
  .ic-reveal{ opacity:0; transform:translateY(22px); }
  .ic-reveal.ic-in{ opacity:1; transform:none; transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
}

/* ---- ジャーニーバー（測る→鍛える→…→結果 の現在地ナビ） ---- */
.ic-journey{
  position:relative; z-index:50;
  background:rgba(10,11,14,.6);
  border-bottom:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.ic-journey-inner{
  max-width:1160px; margin:0 auto;
  padding:9px clamp(16px,4vw,36px);
  display:flex; align-items:center; gap:4px;
  overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none;
}
.ic-journey-inner::-webkit-scrollbar{ display:none; }
.ic-journey a{
  flex:none; display:inline-flex; align-items:center; gap:7px;
  text-decoration:none; padding:5px 10px; border-radius:20px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:11px;
  letter-spacing:.1em; text-transform:uppercase; color:#6B7079;
  white-space:nowrap;
}
.ic-journey a:hover{ color:#C4C8CF; }
.ic-journey a .ic-jdot{
  width:6px; height:6px; border-radius:2px; background:#33373E; flex:none;
  transition:background .16s ease, box-shadow .16s ease;
}
.ic-journey a.ic-jcur{
  color:#fff; background:rgba(255,255,255,.05);
  border:1px solid color-mix(in srgb, var(--pg-acc) 55%, transparent);
}
.ic-journey a.ic-jcur .ic-jdot{ background:var(--pg-acc); box-shadow:0 0 8px var(--pg-acc); }
.ic-journey a.ic-jdone .ic-jdot{ background:#5b8a6e; }
.ic-journey .ic-jarrow{ flex:none; color:#33373E; font-size:10px; padding:0 1px; user-select:none; }

/* ---- ナビ：モバイルで折返さず横スクロール（潰れ防止） ---- */
header nav{ overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
header nav::-webkit-scrollbar{ display:none; }
header nav a{ flex:none; }

/* ---- カード系ホバーの底上げ（既存クラスへの追い足し） ---- */
.gear-hov:hover, .gp-hov:hover{ box-shadow:0 14px 34px rgba(0,0,0,.45); }

/* ---- 印刷時はノイズ・ジャーニー非表示 ---- */
@media print{
  body::after{ display:none; }
  .ic-journey{ display:none; }
}
