/* kabu 共通の見た目（全ページ）。色はすべて tokens.css の変数を使う（直書きしない）。
   スマホ（768px 未満）はサイドバーを常時表示せず、左上のボタンで開くドロワーにする（ボタンと開閉は nav.js）。 */
.kabu-burger{display:none;position:fixed;top:12px;left:12px;z-index:70;width:44px;height:44px;border-radius:12px;border:2px solid var(--frame);background:var(--card);color:var(--ink);cursor:pointer;align-items:center;justify-content:center;box-shadow:2px 2px 0 var(--frame);font-size:20px;line-height:1;padding:0}.kabu-burger:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--frame)}.kabu-backdrop{display:none;position:fixed;inset:0;background:color-mix(in srgb,var(--frame) 45%,transparent);z-index:55}
@media (max-width:767px){  .kabu-burger{display:flex}  body.kabu-nav-open .kabu-backdrop{display:block}  .sidebar{position:fixed !important;top:0;left:0;height:100vh !important;width:238px !important;    flex-direction:column !important;align-items:stretch !important;gap:13px !important;padding:60px 16px 18px !important;    transform:translateX(-100%);transition:transform .22s ease;z-index:60;overflow-y:auto;    box-shadow:6px 0 24px color-mix(in srgb,var(--frame) 35%,transparent)}  .sidebar .brand{padding-left:4px !important}  body.kabu-nav-open .sidebar{transform:none}  body.kabu-nav-open .kabu-burger{background:var(--side-2);color:var(--card);border-color:var(--side-line);box-shadow:none}  .sidebar .nav-label{display:block !important}  .sidebar .nav-spacer{display:block !important;flex:0 0 4px !important}  .sidebar .nav-foot{display:flex !important}  .sidebar .nav-group{flex-direction:column !important;gap:3px !important}  .sidebar .nav-item{width:100% !important;white-space:normal;justify-content:flex-start}  .sidebar .nav-item .lbl{display:inline !important}  .sidebar .nav-item.active::before{display:block !important}  .main{padding-top:62px !important}}
/* 768px 未満: JS が読み込まれる前でもサイドバーを画面外に置く（常時表示しない） */
@media (max-width:767px){
  .app{grid-template-columns:1fr !important}
  .sidebar{position:fixed !important;transform:translateX(-100%)}
  body.kabu-nav-open .sidebar{transform:none}
}
/* 図の領域は無地（方眼模様を敷かない） */
.chartbox,.panel,.card-chart,.sk-wrap,.lcw{background-image:none}
/* 図を載せる面は無地のカード（ページ地の方眼を図の後ろに出さない） */
.lcw,.hb,.yb,.sk-wrap{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:10px 12px}
.chartbox .sk-wrap{border:0;padding:0}
/* ページの地は無地（方眼模様を出さない）。各ページの CSS より優先する */
html,body,.app,.main{background-image:none !important}
/* 図のカードは白＋1px の枠線でページ地と区別する（影はつけない） */
.chartbox,.panel,.chart-card{background:var(--card) !important;border:1px solid var(--card-line) !important;box-shadow:none !important}
/* ナビ（B）: 第1階層5つ＋開いているグループの中身（nav.js が描画） */
.sidebar .nav-main{display:flex;flex-direction:column;gap:3px}
.sidebar .nav-top{font-size:14px !important;font-weight:700 !important}
.sidebar .nav-subs{display:flex;flex-direction:column;gap:1px;margin:2px 0 8px 12px;padding-left:10px;border-left:1px solid var(--side-line)}
.sidebar .nav-sub{display:block;padding:6px 8px;border-radius:8px;color:var(--side-text);font-family:'JetBrains Mono',monospace;font-size:12.5px;text-decoration:none;line-height:1.3}
.sidebar .nav-sub:hover{background:var(--side-2);color:var(--side-text-hi)}
.sidebar .nav-sub.on{color:var(--side-text-hi);background:var(--side-3)}
/* グループ内のタブ列（探す・学ぶ・マイデータ） */
.kabu-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 18px;padding:2px 0 8px;border-bottom:1px solid var(--card-line)}
.kabu-tabs::-webkit-scrollbar{display:none}
.kabu-tabs a{flex:none;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;padding:7px 12px;border:1px solid var(--card-line);border-radius:999px;background:var(--card)}
.kabu-tabs a:hover{border-color:var(--outline)}
.kabu-tabs a.on{background:var(--accent);color:var(--on-accent);border-color:var(--frame)}
@media (max-width:767px){.kabu-tabs{margin-top:4px}}
.sidebar .nav-subs:not(.open){display:none}
/* 専門用語のひとこと解説（nav.js の terms） */
.kterm{position:relative;display:inline}
.kterm-b{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:help;border-bottom:1.5px dotted var(--text-sub)}
.kterm-b:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.kterm-tip{position:absolute;z-index:30;left:0;top:calc(100% + 6px);width:min(300px,78vw);background:var(--card);color:var(--ink);border:1.5px solid var(--frame);border-radius:10px;box-shadow:3px 3px 0 var(--frame);padding:10px 12px;font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:13px;font-weight:400;line-height:1.6;text-align:left;white-space:normal;letter-spacing:0;text-transform:none}
.kterm-tip b{display:block;font-size:13px;margin-bottom:2px}
.kterm-tip a{color:var(--link);font-weight:700;white-space:nowrap}
