/* =====================================================================
   soukyo-base.css — 蒼鏡 画面の土台（2026-08-30 新設）

   使い方＝各画面の **<style> より前** に
   <link rel="stylesheet" href="soukyo-base.css?v=…"> を1行。
   ⚠ 順番が命＝**先に読む**こと。あとに読む soukyo-ui.css（テーマ層）とは役割が逆で、
     ここは「画面が上書きできる土台」。画面の <style> は必ずこれより後に来る。

   ■ 何が入っているか
   39画面の <style> に**同じ中身で散っていた**規則だけ（実測＝内蔵CSSの33%が重複していた）。
   入れてよい条件は4つ、すべて機械で判定している：
     ① その (@media文脈, セレクタ) を書いている画面が**全部まったく同じ中身**
     ② **セレクタを分断しない**（1つでも画面に残るなら丸ごと見送り）
        ⇒ .sidebar の @media だけ移して土台を残したら、375px で切り替わらなくなった（実測）
     ③ **持っていない画面へ漏れない**（そのセレクタが当たる要素を持つ画面が全部書いていること）
        ⇒ 共有CSSは全画面に効くので、書いていない画面に降ると文字サイズ等が黙って変わる（実測）
     ④ 共有CSSを <link> していない画面（信頼バッジ・エンドポイントカード）は対象外

   ■ ⚠ @layer では駄目だった（2026-08-30・やってみて戻した）
   カスケードレイヤーは「層の外に必ず負ける」＝**詳細度の優劣まで消える**ので、
   .btn.mini が .btn に、.keybox code が code に、ol.k>li が li に負けた（3画面で実測）。
   **先に読む別ファイル**なら詳細度がそのまま残るので、この事故は原理的に起きない。

   ■ ⚠ 版は5点そろえる（auth.js / soukyo-ui.js / soukyo-ui.css / soukyo-base.css / soukyo-nav.js）
   2026-08-30 に3点→4点へ・2026-09-05 に5点へ（ナビの表を soukyo-nav.js に）。片方だけ上げると古い方を掴む（verify_ui_image.py の VERS と
   tests/test_ui_framework_gate.py が全画面で1つであることを見張る）。

   ■ ⚠ ここへ手で足さない
   画面から移すときは必ず ①〜④ の判定を通し、tools/ui_style_probe.js で
   39画面×2つの幅（PC1280/スマホ375）の**計算後スタイル**を前後で突き合わせること。
   ===================================================================== */

.sb-item { display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:#4A5666;font-size:13px;text-decoration:none }
.conn .dot { width:8px;height:8px;border-radius:50%;background:currentColor }
* { box-sizing:border-box }
.pagenav .pn { border:1px solid var(--line);border-radius:999px;padding:3px 12px;text-decoration:none;color:var(--sky-deep);background:var(--card) }
.pagenav .pn.cur { background:var(--sky-deep);color:#fff;border-color:var(--sky-deep);font-weight:bold }
.pagenav .grp { color:var(--muted);font-size:10.5px;letter-spacing:1px;margin-left:10px }
.badge.ok { background:var(--ok-bg);color:var(--ok) }
.devrow input { border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:12px;min-width:230px }
.pagenav a.pn:hover { border-color:var(--sky) }
.when { margin:2px 0 8px;font-size:11.5px;color:#5B7999 }
.pagenav .grp:first-of-type { margin-left:0 }
td.mono { font-family:Consolas,monospace;font-size:12px;word-break:break-all }
.devrow { display:none;font-size:12px;color:var(--muted);margin-top:8px }
.tagline { font-size:12px;opacity:.92;margin-left:auto;text-align:right }
.doc { background:#fff;border:1px solid var(--line);border-radius:14px;padding:38px 44px 44px; box-shadow:0 8px 30px rgba(0,0,0,.07) }
.tg { font-size:12px;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:5px 12px;cursor:pointer;color:var(--muted) }
.keybox { display:none;margin-top:12px;background:#FFF9EC;border:1px solid #EAD9A8;border-radius:10px;padding:12px 14px;font-size:13px }
.assettabs .atab { padding:8px 16px 6px;font-size:12.5px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent }
.maruhi { font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:3px 10px;white-space:nowrap }
.nav a { color:#fff;opacity:.92;text-decoration:none;border:1px solid rgba(255,255,255,.5);border-radius:8px;padding:5px 12px }
.btn.mini { padding:4px 12px;font-size:12px;border-radius:7px }
.keybox code { background:var(--card);border:1px solid #EAD9A8;font-size:13px;padding:4px 8px;word-break:break-all }
.assettabs { display:flex;gap:2px;padding:0 26px;background:var(--card);border-bottom:1px solid var(--line) }
.assettabs .atab.cur { font-weight:bold;border-bottom-color:var(--sky-deep) }  /* ⚠ 2026-09-02＝ここに color を書かない。2026-09-01 に押せる部品を塗りへ統一したとき、背景だけ濃紺になり **文字色は昔の濃い青のまま**残って 1.25:1（ほぼ読めない）になっていた（`.assettabs .atab.cur`(0,3,0) が共有の `body .atab.cur`(0,2,1) に詳細度で勝つため）。文字色は共有CSS（白）に任せる。 */
.result.err { display:block;background:var(--bad-bg);border:1px solid #F2C9B8;color:#9A3E1C }
.when b { color:#1E4A7C }
.tg.on { background:var(--sky-deep);color:#fff;border-color:var(--sky-deep) }
.result.ok { display:block;background:var(--ok-bg);border:1px solid #BBE6D3 }
.printfoot { display:none }
.contools { display:flex; justify-content:flex-end; margin-bottom:6px }
.btn.amber { background:var(--amber);border-color:var(--amber) }
.msg.warn { display:block;background:var(--warn-bg);color:var(--warn) }
.updated { font-size:11.5px;color:var(--muted);margin:0 0 26px }
.msg.bad { display:block;background:var(--bad-bg);color:var(--bad) }
.gate a { color:var(--sky-deep) }
.msg.ok { display:block;background:var(--ok-bg);color:var(--ok) }
.st .v { font-size:14px;font-weight:bold;margin-top:3px }
.navlinks a { color:var(--sky-deep);margin-right:16px }
.badge.gray { background:var(--chip);color:var(--muted) }
.badge.warn { background:var(--warn-bg);color:var(--warn) }
.badge.bad { background:var(--bad-bg);color:var(--bad) }
/* ⚠ 2026-09-02＝ホバーも同じ理由で color を書かない（塗りが濃くなるのに文字が濃い青のままだった） */
/* .assettabs .atab:hover は共有CSSの白文字に任せる */
.saved-msg { font-size:12.5px;font-weight:bold }
.p-done { background:#E8F0DC;color:var(--ok) }
.navlinks { margin:14px 2px 0;font-size:12px }
.st.none { border-left:4px solid var(--line) }
td.no { white-space:nowrap;font-weight:bold }
.st .k { font-size:12px;color:var(--muted) }
.st.due { border-left:4px solid var(--bad) }
.asof { font-size:12px;color:var(--muted) }
.st.ok { border-left:4px solid var(--ok) }
.st.na,.st.unknown { color:var(--muted) }
.nav { margin-left:auto;font-size:13px }
.st .s { font-size:12px;margin-top:4px }
.tg:hover { border-color:var(--sky) }
.fld input.wide { min-width:330px }
.st.none .s { color:var(--muted) }
.st.due .s { color:var(--bad) }
.st.unmet { color:var(--bad) }
.st.ok .s { color:var(--ok) }
.st.met { color:var(--ok) }
ol.k { padding-left:1.6em }
ol.k>li { margin:5px 0 }

@media(max-width:760px) {
  .sb-item { padding:5px 9px }
}

@media print {
  .printfoot { display:block !important;text-align:right;font-size:9px;color:#999;margin-top:10px }
  .doc { border:none;box-shadow:none;padding:0 }
  .navlinks { display:none }
}
