
/* マイページ入口 */
.mypage-cta{margin:14px 0 6px}
/* お気に入り☆（会員機能・my.flick7.net の API と連動） */
.rank-table td.lbl .fav-btn{margin-right:4px;vertical-align:middle}
.uf-rowwrap{display:flex;align-items:center;gap:2px}
.uf-rowwrap .uf-row{flex:1;min-width:0}
/* ☆は非テキストUIなので WCAG 1.4.11 の 3:1 を満たす色にする。
   ⚠ 旧値は 消灯#c9c9d4=1.34:1 / 点灯#f0b400=1.52:1（機種名の灰帯 #e4e8f2 上）で
     どちらも実質見えていなかった。点灯色は既存の --amber(#a3690a)=3.74:1 を使う。 */
.fav-btn{background:none;border:none;cursor:pointer;color:#7c8598;font-size:1.15rem;line-height:1;
  padding:4px 6px;transition:color .15s,transform .12s}
.fav-btn:hover{color:var(--amber);transform:scale(1.15)}
.fav-btn.on{color:var(--amber)}
.fav-btn:disabled{opacity:.45;cursor:default}
h1.with-fav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
h1.with-fav .fav-h1{font-size:1.3rem}
.uf-list .fav-btn,.rank-table .fav-btn{font-size:1rem}
.rank-table td.fav-td{width:2.2em;text-align:center;padding-left:0;padding-right:0}

/* 機種ページタブ（設定狙い/天井狙い/朝一狙い/解析情報）均等幅（2026-07-23） */
.vtabs{flex-wrap:nowrap}
.vtabs a{flex:1 1 0;text-align:center;padding:9px 6px;white-space:nowrap}
.brand-logo{width:36px;height:36px;align-self:center;margin-right:8px}
.brand em{font-family:"IBM Plex Sans JP",sans-serif;font-weight:500;font-size:.68rem;letter-spacing:.14em;margin-left:2px;color:var(--ink)}
.top-hero{display:flex;align-items:center;gap:16px}
.hero-logo{width:64px;height:64px;flex:none}
.top-hero-tx h1{margin-top:0;font-size:1.42rem}
@media (max-width:640px){.hero-logo{width:48px;height:48px}.top-hero{gap:11px}.top-hero-tx h1{font-size:1.08rem}.top-hero-tx .kana{font-size:.72rem}
.uf-chips-tight{flex-wrap:nowrap;gap:4px}
.uf-chips-tight .uf-chip{flex:1 1 0;padding:5px 0;text-align:center;white-space:nowrap;font-size:.66rem}}
.ev-cta{display:inline-block;margin:14px 0 2px;padding:9px 16px;border-radius:8px;background:linear-gradient(135deg,#16161f 0%,#1e1c38 55%,#2a2050 100%);border:1px solid rgba(168,85,247,.45);color:#fff;font-weight:700;font-size:.85rem;text-decoration:none;box-shadow:0 2px 10px rgba(123,111,240,.22)}
.ev-cta:hover{box-shadow:0 3px 18px rgba(123,111,240,.42)}
.coming-soon{font-size:.86rem;color:var(--sub);background:#f6f5fd;border:1px dashed #cfc7ee;border-radius:8px;padding:14px 16px;margin-top:4px}
.coming-soon b{color:var(--brand)}
td.evbar,td.pbar{padding:6px 12px}
.rel-h{font-size:.88rem;font-weight:600;margin-bottom:6px}
.rel-banner{margin-top:14px}
.rel-banner a{display:inline-block;text-decoration:none}
.rel-banner img{width:100%;max-width:640px;height:auto;border-radius:10px;display:block;border:1px solid var(--line)}
.rel-banner span{display:block;font-size:.76rem;color:var(--sub);margin-top:6px}
.nb-badges{display:flex;gap:8px;margin-bottom:10px}
.nb-badge{font-size:.72rem;font-weight:600;background:#ece9fb;color:#4a3bbd;border-radius:5px;padding:3px 10px}
.ev-mark{font-family:"Chakra Petch";font-size:.6rem;background:#e0f3ea;color:#076b46;border-radius:3px;padding:1px 5px;margin-left:8px;vertical-align:middle}
.views a{font-size:.74rem;margin-right:10px}
td.views{text-align:left}
.upd-pub{font-style:normal;font-size:.68rem;background:#ece9fb;color:#4a3bbd;border-radius:3px;padding:1px 7px;white-space:nowrap}
/* 基本指標分析（設定狙いページ・2026-07-21） */
.bm-legend{font-size:.72rem;color:#667;background:#f2f5fa;border-radius:8px;padding:8px 12px;margin-bottom:10px;line-height:1.7}
.bm-h{display:flex;align-items:center;font-size:.8rem;font-weight:700;color:#1f2a44;background:#eef2f9;padding:5px 10px 3px;margin:14px 0 2px;border-bottom:1px solid #dfe5ef}
.bm-row{display:flex;align-items:center;gap:12px;padding:8px 4px;border-bottom:1px dashed var(--line)}
.bm-name{flex:0 0 148px;font-size:.74rem;font-weight:600;color:#1f2a44}
.bm-val{display:block;font-size:.95rem;color:#111;margin-top:1px}
.bm-scale{flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.bm-side{flex:0 0 108px;font-size:.64rem;color:#667;text-align:right;line-height:1.3}
.bm-side.r{text-align:left}
.bm-track{position:relative;flex:1;height:10px;background:linear-gradient(90deg,#eef1f6,#e6eaf2 50%,#eef1f6);border-radius:5px;min-width:60px}
.bm-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;background:#9aa4b8;border-radius:1px}
.bm-dot{position:absolute;top:50%;width:15px;height:15px;border-radius:50%;background:var(--brand);border:2.5px solid #fff;box-shadow:0 1px 5px rgba(31,42,68,.35);transform:translate(-50%,-50%)}
.bm-rank{flex:0 0 74px;text-align:right;font-size:.88rem;color:#1f2a44;font-weight:600}
.bm-rank .bm-n{font-size:.62rem;color:#667;font-weight:400}
.bm-rank em{display:block;font-style:normal;font-size:.64rem;color:#8a93a6;font-weight:400}
.bm-feature{margin-top:18px;background:linear-gradient(135deg,#f6f3ea,#fdfbf5);border:1px solid #e7ddc2;border-radius:10px;padding:12px 14px}
.bm-feature-h{font-size:.86rem;font-weight:700;color:#6b5b1e;margin-bottom:10px}
.bm-feature-h span{display:block;font-size:.64rem;font-weight:400;color:#8a7c4d;margin-top:2px}
.bm-feature-grid{display:flex;flex-wrap:wrap;gap:10px}
.bm-fcard{flex:1 1 150px;background:#fff;border:1px solid #eee4c8;border-radius:8px;padding:10px 12px;text-align:center}
.bm-fcap{font-size:.68rem;font-weight:600;color:#6b5b1e}
.bm-fscore{font-size:1.7rem;font-weight:700;color:#8a6d1a;line-height:1.2;margin:2px 0}
.bm-fsub{font-size:.66rem;color:#77704f;line-height:1.6}
@media(max-width:640px){
.bm-name{flex-basis:104px;font-size:.68rem}.bm-val{font-size:.85rem}
.bm-side{flex-basis:64px;font-size:.56rem}.bm-rank{flex-basis:58px;font-size:.8rem}
.bm-row{gap:7px}}
/* ── トップハブ（タブ・新着帯・更新フィード）2026-07-22 ── */
.hub-tabs{display:flex;gap:6px;margin:14px 0 4px;border-bottom:2px solid #dfe5ef}
.hub-tab{flex:1 1 0;text-align:center;padding:9px 12px 7px;font-size:.88rem;font-weight:700;color:#5a6478;text-decoration:none;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0}
.hub-tab.on{background:#e0e6f2;color:#1f2a44;border-color:#dfe5ef;position:relative}
.hub-tab.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#e0e6f2}
.hub-tab:not(.on):hover{background:#eef2f9;color:#1f2a44}
.hub-subs{display:flex;gap:6px;margin:10px 0 2px;flex-wrap:wrap}
.hub-sub{padding:5px 14px;font-size:.76rem;font-weight:600;color:#5a6478;text-decoration:none;border:1px solid #dfe5ef;border-radius:99px;background:#fff}
.hub-sub.on{background:#1f2a44;color:#fff;border-color:#1f2a44}
.ns-sec{overflow:visible}
.newstrip{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b7a8ef transparent;cursor:grab}
.newstrip.dragging{cursor:grabbing;user-select:none}
.newstrip.dragging .ns-card{pointer-events:none}
.newstrip::-webkit-scrollbar{height:6px}
.newstrip::-webkit-scrollbar-track{background:rgba(86,70,212,.08);border-radius:99px}
.newstrip::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#8f7fe8,var(--brand));border-radius:99px}
.newstrip::-webkit-scrollbar-thumb:hover{background:var(--brand)}
.ns-card{flex:0 0 176px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:box-shadow .15s}
.ns-card:hover{box-shadow:0 3px 14px rgba(31,42,68,.14)}
.ns-img{aspect-ratio:2/1;background:#eef1f6;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ns-img img{width:100%;height:100%;object-fit:cover;display:block}
.ns-noimg{font-size:.7rem;color:#8a93a6;padding:0 8px;text-align:center}
.ns-t{font-size:.72rem;font-weight:600;color:#1f2a44;padding:7px 9px 2px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.ns-sub{font-size:.64rem;color:#8a93a6;padding:0 9px 8px}
.uf-chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px;align-items:center}
.uf-chip{padding:5px 12px;font-size:.72rem;font-weight:600;color:#5a6478;border:1px solid #dfe5ef;border-radius:99px;background:#fff;cursor:pointer}
.uf-chip.on{background:#1f2a44;color:#fff;border-color:#1f2a44}
.uf-list{display:flex;flex-direction:column}
.uf-row{display:flex;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px dashed var(--line);text-decoration:none;color:#1f2a44}
.uf-row:hover{background:#f4f7fb}
.uf-date{flex:0 0 44px;font-size:.78rem;color:#8a93a6}
.ub{flex:0 0 4rem;width:4rem;text-align:center;font-size:.64rem;font-weight:700;padding:3px 0;border-radius:5px;white-space:nowrap}
.ub-new{background:#ffe9d4;color:#b45f10}
.ub-analysis{background:#fdf3c8;color:#8a6d05}
.ub-challenge{background:#fce4ef;color:#bc2f6e}
.ub-ceiling{background:#e2f6e9;color:#177245}
.ub-reset{background:#dff2fb;color:#13678a}
.ub-other{background:#eef1f6;color:#5a6478}
.uf-name{font-size:.8rem;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uf-note{font-size:.7rem;color:#8a93a6;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:auto;text-align:right;flex:1}
.uf-empty{font-size:.78rem;color:#8a93a6;padding:14px 4px}
.sc-q{width:100%;max-width:460px;padding:10px 14px;font-size:.92rem;border:1px solid #cbd4e4;border-radius:10px;margin-bottom:10px}
.sc-q:focus{outline:2px solid #b9c6e8}
.sc-flabel{font-size:.68rem;font-weight:700;color:#8a93a6;margin-right:2px}
.sc-mk{padding:6px 10px;font-size:.76rem;border:1px solid #dfe5ef;border-radius:8px;background:#fff;color:#1f2a44}
.sc-count{font-size:.74rem;color:#8a93a6;margin:2px 0 6px}
.sns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.sns-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;transition:box-shadow .15s}
.sns-card:hover{box-shadow:0 3px 14px rgba(31,42,68,.14)}
.sns-t{font-size:.88rem;font-weight:700;color:#1f2a44;margin-bottom:6px}
.sns-card p{font-size:.72rem;color:#5a6478;line-height:1.7;margin:0}
.sns-soon{opacity:.75;border-style:dashed}
/* EV Analyzer カード = ライト紙面に開く「ダーク分析ターミナルへの窓」（EV本体の Midnight トークンを流用） */
.sns-ev{position:relative;overflow:hidden;background:linear-gradient(150deg,#16161f 0%,#1b1a2e 52%,#241d3f 100%);border-color:#2c2a45}
.sns-ev::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 95% at 88% -12%,rgba(168,85,247,.30),transparent 55%);pointer-events:none}
.sns-ev::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#7b6ff0,#c084fc 45%,transparent 85%)}
.sns-ev .sns-t{color:#fff}
.sns-ev p{color:#b6bdd1}
.sns-ev .ext-i{opacity:.85}
.sns-ev:hover{box-shadow:0 6px 24px rgba(123,111,240,.38)}
.sns-ev-tag{display:block;font-family:'Chakra Petch',monospace;font-size:.58rem;letter-spacing:.22em;color:#c084fc;margin-bottom:7px;position:relative}
.sns-ev-logo{width:34px;height:34px;flex:0 0 34px;margin-right:10px;object-fit:contain}
.foot-links{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.foot-links a{color:#5a6478;text-decoration:none;font-weight:600}
.foot-links a:hover{color:#1f2a44;text-decoration:underline}
.ct-btn{display:inline-block;background:var(--brand);color:#fff;font-weight:700;font-size:.88rem;padding:11px 22px;border-radius:9px;text-decoration:none}
.ct-btn:hover{opacity:.92}
.ct-mail{margin:6px 0 12px}
.ct-note{font-size:.8rem;line-height:1.9;color:#3a4358}
.sns-chip{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;color:#fff;font-size:.82rem;font-weight:700;margin-right:9px;vertical-align:middle;flex:0 0 30px}
.sns-chip svg{width:17px;height:17px;display:block}
.sns-chip-img{background:#fff;border:1px solid #e4e8f0;object-fit:contain;padding:2px}
.ev-cta-logo{height:20px;width:20px;vertical-align:-5px;margin-right:8px}
.sns-card .sns-t{display:flex;align-items:center}
.sr-th{width:72px;height:36px;object-fit:cover;border-radius:5px;flex:0 0 72px;background:#eef1f6;display:inline-flex;align-items:center;justify-content:center}
.sr-noimg{font-size:.6rem;color:#b0b8c8}
@media(max-width:640px){.sr-th{width:56px;height:28px;flex-basis:56px}}
/* ボトムナビ（全デバイス表示・2026-07-26: PCでもマイページ等へ行けるよう常時表示。移動=ボトムナビ / 現在地=上部ハブタブ で併存）
   PC=アイテム中央寄せ / モバイル=端から端まで（下記メディアクエリで flex:1） */
body.has-bn main{padding-bottom:68px}
.bottom-nav{display:flex;justify-content:center;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid #dfe5ef;box-shadow:0 -2px 10px rgba(31,42,68,.08)}
.bn-item{flex:0 1 150px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 max(8px, env(safe-area-inset-bottom));text-decoration:none;color:#8a93a6}
.bn-item svg{width:21px;height:21px}
.bn-item span{font-size:.62rem;font-weight:600}
.bn-item.on{color:var(--brand)}
@media(max-width:768px){
.hub-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px}
.hub-tabs::-webkit-scrollbar{display:none}
.hub-tab{padding:8px 13px 6px;font-size:.8rem;white-space:nowrap}
.bottom-nav{justify-content:stretch}
.bn-item{flex:1 1 0}
.bn-item span{font-size:.58rem}
}
.upd-upd{font-style:normal;font-size:.68rem;background:#e0f3ea;color:#076b46;border-radius:3px;padding:1px 7px;white-space:nowrap}
/* タブ下の更新情報: 最終更新日（常時）+ 折りたたみ履歴5件（2026-07-20・ページ単位） */
.page-upd{margin:10px 0 2px;font-size:.82rem}
.page-upd>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;color:var(--sub);
  background:#f4f7fb;border:1px solid var(--line);border-radius:6px;padding:5px 12px;user-select:none}
.page-upd>summary::-webkit-details-marker{display:none}
.page-upd>summary time{color:var(--ink);font-weight:700;font-family:"Roboto Condensed"}
.page-upd .pu-more{font-size:.72rem;color:var(--brand)}
.page-upd .pu-more::before{content:'▸ ';font-size:.9em}
.page-upd[open] .pu-more::before{content:'▾ '}
.page-upd .upd-list{margin:8px 0 0;padding:8px 12px;background:#fafbfd;border:1px solid var(--line);border-radius:6px;max-width:560px}
/* EV Analyzer 切替バナー（3弾クロスフェード・15秒周期・prefers-reduced-motion 対応） */
.rel-banner .evb-rot{position:relative;display:block;width:100%;max-width:640px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#070812;text-decoration:none}
.rel-banner .evb-rot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;opacity:0;animation:evb-cf 15s infinite}
.rel-banner .evb-rot img:nth-child(2){animation-delay:5s}
.rel-banner .evb-rot img:nth-child(3){animation-delay:10s}
@keyframes evb-cf{0%{opacity:0}6.7%{opacity:1}33.3%{opacity:1}40%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.rel-banner .evb-rot img{animation:none;opacity:0}.rel-banner .evb-rot img:first-child{opacity:1}}
/* ══ ハイエナ比較 ══════════════════════════════════════════════════
   設計＝計器盤。1機種=1カード、その中に「狙い方」ごとの読み取りモジュールを積む。
   ・4指標はすべて同じ単位(Z)なので **1本の共通軸** に載せる（中央=平均・偏差バー）
   ・色は identity（どの狙い方か）を運ぶ。ブロック全体が --iv を着る＝スクロールしても
     いま何の区間を見ているか分かる
   ・軸目盛・左右ラベルはブロックに1回だけ（行ごとに繰り返さない）
   ────────────────────────────────────────────────────────────── */
.hy-cards{display:flex;flex-direction:column;gap:16px}
.hy-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;
  box-shadow:0 1px 2px rgba(31,42,68,.04)}
/* 機種名の帯はグレー地＝カード内の階層（機種 → 狙い方ブロック）を色で区切る */
.hy-card-h{display:flex;align-items:center;gap:11px;padding:11px 14px;background:#e4e8f2;border-bottom:1px solid #d3d9e8}
.hy-thumb{width:76px;height:38px;object-fit:cover;border-radius:5px;border:1px solid #ccd4e4;flex:0 0 auto;background:#dde3ee}
.hy-thumb-none{display:block}
.hy-card-t{flex:1;min-width:0}
.hy-card-t a{font-size:.95rem;font-weight:700;color:#111826;text-decoration:none;display:block;line-height:1.35;letter-spacing:.01em}
.hy-card-t a:hover{color:var(--brand)}
.hy-card-m{display:block;font-size:.65rem;color:#68728a;margin-top:3px;letter-spacing:.04em}
.hy-fav{flex:0 0 auto}

/* ── 狙い方ブロック ── */
.hy-iv{padding:18px 14px 10px;border-top:1px solid #eef0f5}
.hy-iv:first-of-type{border-top:0}
.hy-iv-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hy-iv-tag{font-size:.72rem;font-weight:700;color:#fff;background:var(--iv);border-radius:4px;padding:2px 9px;letter-spacing:.02em}
.hy-iv-meta{font-size:.66rem;color:#77809a}
.hy-sc{margin-left:auto;display:flex;align-items:baseline;gap:7px}
.hy-sc-l{font-size:.6rem;font-weight:700;color:#8a93a6;letter-spacing:.1em}
.hy-sc b{font-style:normal;font-size:1.6rem;font-weight:700;color:var(--iv);line-height:1;letter-spacing:-.02em}
/* スコア帯＝区切り線を兼ねる（1要素で2役） */
.hy-sbar{display:block;height:4px;margin:9px 0 0;border-radius:2px;background:#edeff4;overflow:hidden}
.hy-sbar i{display:block;height:100%;width:0;border-radius:2px;background:var(--iv);transition:width .5s ease}

/* ── 共通Z軸 ── */
.hy-axis{position:relative;height:13px;margin:10px 0 1px}
.hy-axis i{position:absolute;top:0;transform:translateX(-50%);font-style:normal;font-size:.57rem;
  color:#6b7488;letter-spacing:.02em;white-space:nowrap}
.hy-axis,.hy-plot{margin-left:184px;margin-right:96px}

/* 1行 = 指標名+値 / プロット / 順位+Z。行間はハイライン1本で仕切る
   （行内の間隔 < 行間 になるよう、名前と値は同じ行に置く） */
.hy-mrow{position:relative;display:flex;align-items:center;min-height:38px}
.hy-mrow+.hy-mrow{border-top:1px solid #eff1f6}
.hy-mname{position:absolute;left:0;width:178px;top:50%;transform:translateY(-50%);
  display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.hy-mname span{font-size:.68rem;font-weight:600;color:#6b7488;letter-spacing:.01em;white-space:nowrap}
.hy-main{font-style:normal;font-size:.97rem;font-weight:700;color:#111826;letter-spacing:.01em;white-space:nowrap}
.hy-lead-row .hy-main{font-size:1.18rem;color:var(--iv)}
.hy-lead-row .hy-mname span{color:#3a4257;font-weight:700}

/* プロット＝中央(平均)から伸びる偏差バー。0線は行の高さいっぱいに引き、
   行が積まれると1本の連続した基準線に見える（＝計器の目盛盤） */
.hy-plot{position:relative;flex:1;height:38px}
.hy-plot::after{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:#8a93a6}
.hy-bar{position:absolute;top:50%;height:7px;transform:translateY(-50%);background:var(--iv);opacity:.88}
.hy-bar.pos{left:50%;border-radius:0 4px 4px 0}
.hy-bar.neg{right:50%;border-radius:4px 0 0 4px}
.hy-plot-off::after{opacity:.3}

.hy-mrank{position:absolute;right:0;width:90px;top:50%;transform:translateY(-50%);
  display:flex;align-items:baseline;justify-content:flex-end;gap:8px}
.hy-mrank b{font-style:normal;font-size:.75rem;font-weight:700;color:#3a4257;white-space:nowrap}
.hy-lead-row .hy-mrank b{font-size:.9rem}
.hy-z{font-size:.64rem;font-weight:400;color:#a2aab9;letter-spacing:.01em;min-width:2.6em;text-align:right}
.hy-mrow.hy-empty{opacity:.4}

.hy-plain{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 10px;font-size:.82rem}
.hy-card-f{padding:8px 14px;border-top:1px solid #eef0f5;background:#fbfcfe;text-align:right}
.hy-card-f a{font-size:.72rem;font-weight:600;color:var(--brand);text-decoration:none}
.hy-card-f a:hover{text-decoration:underline}
.hy-gate-prev{background:#fff8e6;border-color:#e8d9a8}
.hy-gate-prev .hy-gate-t{color:#7a5c12;font-size:.8rem}

/* 母数不足（n<3）＝相対評価なし。軸ごと畳んで実測値＋順位だけの静かな状態にする */
.hy-iv-norel .hy-axis,.hy-iv-norel .hy-plot,.hy-iv-norel .hy-z{display:none}
.hy-iv-norel .hy-mname{position:static;width:auto;transform:none}
.hy-iv-norel .hy-mrow{min-height:0;padding:4px 0;justify-content:space-between}
.hy-iv-norel .hy-mrank{position:static;transform:none;width:auto}
.hy-iv-norel .hy-main{display:inline-block;margin-left:8px}
.hy-iv-norel .hy-mname span{display:inline-block}

/* スマホ: 共通軸が要なので横並びは維持し、列幅と級数だけ詰める */
@media(max-width:640px){
  .hy-card-h{padding:10px 11px;gap:9px}
  .hy-thumb{width:64px;height:32px}
  .hy-card-t a{font-size:.88rem}
  .hy-iv{padding:18px 11px 10px}
  /* ⚠ 狭い画面で「名前｜値｜メーター｜順位」を1行に横並べすると、メーターに 100px 前後しか
     残らない＝**軸の中央（平均）がカードの中央からずれ**、バーも潰れて表が崩れて見える
     （2026-07-28 ユーザー指摘）。→ **2段組**にする:
       1段目「指標名＋値 …（右）順位・Z」／ 2段目「メーター全幅」
     メーターが全幅になるので 中央＝平均 がカードの中央に揃い、±2 の目盛も出せる。 */
  /* メーターは行幅いっぱい。ただし左右 6px だけ空ける＝±2.5σ のバーがカードの縁に
     突き刺さって見えるのを防ぐ。軸の目盛も同じ内側基準に揃える（ズレると平均線が嘘になる） */
  .hy-axis,.hy-plot{margin-left:6px;margin-right:6px}
  .hy-axis{margin-top:8px;margin-bottom:1px}
  .hy-axis i{font-size:.54rem}
  /* ⚠ 右列を auto にすると 行ごとに幅が変わり（"2位/3" と "12位/12"）値の右端が揃わない上、
     値と順位がくっつく。**固定幅＋column-gap** で 値／順位／Z の3列を行間で揃える */
  /* ⚠⚠ モバイルの1指標＝**3列 × 2行**（2026-07-28 ユーザー確定・図のとおり）:
       [指標名 / 値]  [メーター（2行ぶんの高さを占め、上下中央）]  [順位 / Zスコア]
     ・指標名と値は**縦積み**。横並びだと「スルー天井プレミアム」＋「+675枚」が1行に
       収まらず nowrap のまま隣の列へ食い込む（端末のフォント幅次第で崩れる）。
     ・メーターは行の中で1本。2段目に落とすと縦に間延びして表に見えない。
     ・効率指数の行は Z を出さないので順位が2行ぶんの中央に来る（flex の center で自動）。
     ⚠ 軸(.hy-axis)の左右マージンは **左=指標名幅+gap / 右=順位幅+gap** と必ず一致させる。
       ズレると目盛と平均線の位置が食い違い、メーターが嘘をつく。 */
  .hy-mrow{display:flex;align-items:center;gap:8px;min-height:0;padding:8px 0}
  .hy-mname{position:static;transform:none;flex:0 0 88px;width:88px;
            display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .hy-mname span{font-size:.58rem;line-height:1.2}
  .hy-main{font-size:.92rem;line-height:1.3}
  .hy-lead-row .hy-main{font-size:1.08rem}
  .hy-plot{position:relative;flex:1 1 auto;height:34px;margin:0}
  .hy-mrank{position:static;transform:none;flex:0 0 54px;width:54px;
            display:flex;flex-direction:column;align-items:flex-end;gap:0}
  .hy-mrank b{font-size:.7rem;line-height:1.3}
  .hy-lead-row .hy-mrank b{font-size:.8rem}
  .hy-z{font-size:.56rem;min-width:0;line-height:1.2}
  .hy-axis{margin-left:96px;margin-right:62px;margin-top:9px;margin-bottom:0}
  .hy-iv-meta{font-size:.6rem;width:100%;order:3;margin-top:-2px}
  .hy-sc b{font-size:1.35rem}
}
/* 天井性能（機種ページ）= ハイエナ比較と同じ計器パネルを 通常時 / 朝一 の2カードで出す */
/* 区間タイプ・指標の定義リスト（無料公開の解説＝固有コンテンツ） */
.hy-def{margin:0;font-size:.84rem;line-height:1.8}
.hy-def>div{padding:7px 0}
.hy-def>div+div{border-top:1px solid #eff1f6}
.hy-def dt{font-weight:700;color:#1f2a44}
.hy-def dd{margin:1px 0 0;color:#5b6478}
@media(min-width:721px){.hy-def>div{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:baseline}.hy-def dd{margin:0}}
.tp-lead{margin:0;font-size:.82rem;line-height:1.9;color:#5b6478}
.tp-lead b{color:#1f2a44}
.tp-cards{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.tp-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.tp-ch{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:9px 14px;background:#e4e8f2;border-bottom:1px solid #d3d9e8}
.tp-ch b{font-size:.88rem;font-weight:700;color:#111826;letter-spacing:.02em}
.hy-card{scroll-margin-top:14px}   /* 機種ページからの #slug アンカー着地用 */
.tp-ch span{font-size:.66rem;color:#68728a;letter-spacing:.03em}
.tp-foot{margin:12px 0 0;font-size:.74rem;color:#77809a}
.tp-foot a{color:var(--brand);font-weight:600;text-decoration:none}
.tp-foot a:hover{text-decoration:underline}
@media (max-width:720px){.tp-ch{padding:8px 10px;gap:6px}.tp-ch b{font-size:.82rem}.tp-ch span{font-size:.6rem}}
/* ハイエナ戦略 徹底比較（/guide/hyena-2026/）*/
.hy-lead{line-height:1.9}
.hy-lead b{color:#1f2a44}
.hy-lead-z{display:block;margin-top:11px;padding-top:10px;border-top:1px solid var(--line);font-size:.79rem;color:#5b6478}
.hy-src{display:block;margin-top:6px;font-size:.72rem;color:#8a93a6;letter-spacing:.02em}
.hy-src a{color:var(--brand);text-decoration:none;font-weight:600}
.hy-src a:hover{text-decoration:underline}
.hy-lead-z b{color:#1f2a44}
.hy-how{margin:0;padding:0 0 0 1.1em;font-size:.82rem;line-height:1.75}
.hy-how li{margin:0 0 4px}
.hy-table td.hy{color:var(--text-dim);letter-spacing:.08em}
.hy-table td.lnk{white-space:nowrap;text-align:right;font-size:.72rem}
.hy-table .hy-alt{display:inline-block;margin-left:6px;padding:0 5px;border-radius:3px;background:#eef1f8;color:#4b5563;font-size:.64rem}
.hy-table .hy-pos{color:#0f766e;font-weight:700}
.hy-table .hy-neg{color:#b91c1c;font-weight:700}
.hy-gate{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#f7f8fc,#eef1f8);text-align:center}
.hy-gate-t{margin:0;font-weight:700;font-size:.95rem}
.hy-gate-t+.hy-gate-d{margin-top:4px}
.prep-note{margin:0;font-size:.85rem;line-height:1.8;color:#4b5563}
.hy-gate-d{margin:0 0 12px;font-size:.78rem;line-height:1.7;color:#4b5563}
/* 無料会員特典（ゲート内の訴求）。中央寄せの箱の中で、リストだけ左揃えにする */
.hy-perk-t{margin:0 0 6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:#6b7488}
/* ⚠ inline-block にすると、直後のボタン（.ev-cta も inline-block）と**同じ行に流れて重なる**
   （PC幅で実害・2026-07-28）。display:table なら block レベルのまま shrink-to-fit で
   margin:0 auto の中央寄せができ、リスト自体は左揃えを保てる。 */
.hy-perk{display:table;margin:0 auto;padding:0;list-style:none;text-align:left}
.hy-perk li{position:relative;padding-left:1.6em;margin:0 0 5px;font-size:.8rem;line-height:1.6;color:#1f2a44}
/* ⚠⚠ 絵文字は使わない（ユーザー指示 2026-07-28）。チェックは文字のレ点 ✓ を**直接**書く。
   ①絵文字はフォント依存で環境により豆腐になる
   ②`content:"\2705"` のような **CSSのユニコードエスケープは書いてはいけない**。EXTRA_CSS は
     raw 文字列ではないので Python が `\270` を8進エスケープとして解釈し、`¸5` に化けて配信された
     （実害あり。CSS に文字を入れたいときは文字そのものを書く）。 */
.hy-perk li::before{content:"✓";position:absolute;left:0;top:0;color:var(--plus);font-weight:700}
.hy-gate-n{margin:10px 0 0;font-size:.7rem;line-height:1.7;color:#77809a}
.hy-table .hy-even{color:#4b5563;font-weight:700}
@media(max-width:640px){.hy-table td.lnk{display:none}.hy-table th:last-child{display:none}
  .mo-table .mo-base{display:none}}   /* スマホは「通常時 期待値」を畳む＝差の列だけ残す */
