/* GTF AI思考エンジン 共通MBBデザインシステム gtf_mbb.css (2026-06-20)
   全エンジンHTML(index/9クラスタ/参謀出力)が読込む単一の正本スタイル。
   既存のローカル配色とモノスペース調を上書き統一する。 */
:root{
  --navy:#0B1F3D; --navy-2:#123B67; --blue:#0066CC; --blue-dark:#0052A3;
  /* 既存コンポーネント互換名。表示色は新MBB青へ統一する。 */
  --gold:#0066CC; --gold-dark:#0052A3;
  --cream:#F5F8FC; --cream-2:#EEF5FC; --ink:#162033; --sub:#5C6B7A;
  --line:#D8E3F0; --ok:#1E7A52; --warn:#A8690F; --bad:#B23A2E; --white:#fff;
  --serif:"Noto Serif JP",Georgia,"Times New Roman",serif;
  --sans:"Noto Sans JP",system-ui,-apple-system,sans-serif;
  --radius:12px; --shadow:0 1px 6px rgba(11,31,61,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.7;font-size:15px}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);font-weight:700;letter-spacing:.01em;line-height:1.4}
h1{font-size:26px} h2{font-size:20px} h3{font-size:17px}
a{color:var(--navy-2)}
.sub{color:var(--sub)}
/* ヘッダー帯（全ツール共通） */
.gtf-topbar{background:var(--navy);color:var(--cream);padding:12px 20px;display:flex;align-items:center;gap:12px}
.gtf-topbar .brand{font-family:var(--serif);font-weight:700;font-size:18px}
.gtf-topbar .accent{color:var(--gold)}
/* パネル/カード（余白広め・1画面1メッセージ） */
.panel,.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin:14px 0}
.card-head{font-family:var(--serif);color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:6px;margin-bottom:10px}
/* ボタン（gold pill＝主／navy枠＝副） */
.btn{display:inline-block;border-radius:999px;padding:10px 20px;font-weight:700;cursor:pointer;border:1px solid transparent;font-family:var(--sans)}
.btn-primary{background:var(--gold);color:var(--navy)} .btn-primary:hover{background:var(--gold-dark)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
/* バッジ/アクセント（goldは差し色のみ） */
.badge{display:inline-block;background:var(--cream-2);border:1px solid var(--gold);color:var(--gold-dark);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}
.accent{color:var(--gold-dark)}
/* 入力＋証跡アラーム（✓緑/△橙/⚠赤） */
input,textarea,select{width:100%;font-family:var(--sans);font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
input:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.chk-ok{color:var(--ok);font-weight:700} .chk-warn{color:var(--warn);font-weight:700} .chk-bad{color:var(--bad);font-weight:700}
.autobox{background:var(--cream-2);border-left:3px solid var(--gold)}
/* 3点ナビ（← 前｜⌂ホーム｜次 →） */
.gtf-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0}
.gtf-nav .home{font-weight:700;color:var(--navy)}
/* テーブル */
table{border-collapse:collapse;width:100%} th{background:var(--navy);color:var(--cream);font-family:var(--serif);font-weight:700;padding:8px}
td{border:1px solid var(--line);padding:8px}
/* 参謀成果物（役員提出可レイアウト） */
.sanbo-out{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--radius);padding:22px}
.sanbo-out h2{border-bottom:1px solid var(--line);padding-bottom:6px}

/* Foundation integration overrides: loaded after legacy local styles. */
:root{
  --ink:#162033; --ink2:#4E5868; --ink3:#7C8190; --paper:var(--cream);
  --accent:var(--navy); --accent-soft:var(--cream-2); --teal:var(--navy-2);
  --hub:var(--blue-dark); --hub-bg:#E7F1FC; --r:8px;
  --bl:var(--navy-2); --blbg:var(--cream-2); --tl:var(--ok); --tlbg:#EFF7F2;
  --am:#A8690F; --ambg:#FFF5E6; --rd:var(--bad); --rdbg:#FCEDEC;
}
body{background:var(--cream)!important;color:var(--ink)!important;font-family:var(--sans)!important;}
.mono,[class*="mono"]{font-family:var(--sans)!important;letter-spacing:0!important;}
header,.gtf-foundation-header{
  background:var(--navy)!important;color:var(--cream)!important;border-bottom:3px solid var(--gold)!important;
  box-shadow:0 1px 8px rgba(11,31,61,.16);
}
header .logo,header .logo b{font-family:var(--serif)!important;color:var(--cream)!important;}
header .logo b,header .accent{color:var(--gold)!important;}
header .logo{display:flex;align-items:center;}
.gtf-shell-header .gtf-engine-logo,header .gtf-engine-logo{height:48px;width:auto;display:block;margin-block:auto;align-self:center;}
header .tagline,header .ver{color:#D9D2C1!important;border-left-color:rgba(248,245,238,.28)!important;}
header input,header select{background:#102747!important;color:var(--cream)!important;border-color:rgba(248,245,238,.32)!important;}
.rail{background:#F7FAFE!important;border-right-color:var(--line)!important;}
.railbig,.modeswap button,.item{border-radius:8px!important;}
.railbig{background:#fff!important;color:var(--navy)!important;border-color:var(--line)!important;}
.railbig[aria-current=true],.railbig.railalt[aria-current=true],.modeswap button[aria-pressed=true]{
  background:var(--navy)!important;color:var(--cream)!important;border-color:var(--navy)!important;
}
.item:hover{background:#E7F1FC!important;}
.item[aria-current=true]{background:#EAF4FF!important;border-left-color:var(--blue)!important;}
.eyebrow{color:var(--gold-dark)!important;letter-spacing:.12em!important;}
.title,.about h2,.card-head,.lcode span,.sec-h,.rfh,.report h3,.fac h4{
  font-family:var(--serif)!important;color:var(--navy)!important;letter-spacing:0!important;
}
.title .tid,.lcode b,.stepn{font-family:var(--sans)!important;background:var(--gold)!important;color:var(--navy)!important;}
.about,.compass,.graphwrap,.cell,.panel,.card,.frame,.report,.rfrm,.fac,.indbox{
  background:#fff!important;border-color:var(--line)!important;border-radius:8px!important;box-shadow:var(--shadow)!important;
}
.cell.center{background:var(--navy)!important;color:var(--cream)!important;border-color:var(--navy)!important;}
.cell .ax,.jump,.links,.reset,a{color:var(--navy-2)!important;}
.links,.badge,.steptag,.role,.chip[aria-pressed=true],.stbtn[aria-pressed=true]{
  background:var(--cream-2)!important;color:var(--navy)!important;border-color:var(--gold)!important;
}
.btn,.actbtn,.stbtn,.chip,button{
  font-family:var(--sans)!important;border-radius:8px!important;
}
.btnf,.btn-primary,#navGen,.nextbtn{
  background:var(--gold)!important;color:var(--navy)!important;border-color:var(--gold)!important;font-weight:700!important;
}
.btno,.btn-ghost,.actbtn{
  background:#fff!important;color:var(--navy)!important;border-color:var(--line)!important;
}
.note,.apinote,.l4,.mbb,.autobox{background:#F0F7FF!important;border-color:#BFD9F4!important;color:var(--ink)!important;}
.l1,.intro,.bd,.refline{background:var(--cream-2)!important;border-color:var(--line)!important;color:var(--ink)!important;}
.l5,.guide{background:#F1F7F1!important;border-color:#CDE0D0!important;color:var(--ink)!important;}
.auto,.stepbadge{background:var(--gold)!important;color:var(--navy)!important;}
.wrap{max-width:960px!important;}
.hdr{border-top-color:var(--gold)!important;}
.gft .menu{grid-template-columns:repeat(5,minmax(0,1fr));}
.gft a.card,.gft .card{border-radius:8px!important;background:#fff!important;}
.gtfb .g{color:var(--navy)!important}.gtfb .j{color:var(--ink)!important}
.gtfb .d.f,.gtfb .d.p{background:var(--gold)!important;color:var(--navy)!important;}
th{background:var(--navy)!important;color:var(--cream)!important;}

/* Dashboard foundation components */
.gtf-global-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:auto;}
.gtf-global-nav a,.gtf-bottom-nav a,.gtf-global-nav button,.gtf-bottom-nav button{
  color:var(--cream)!important;text-decoration:none;border:1px solid rgba(248,245,238,.28);
  background:transparent;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;
}
.gtf-global-nav a[aria-current=true],.gtf-bottom-nav a[aria-current=true]{background:var(--gold);color:var(--navy)!important;border-color:var(--gold);}
.gtf-location{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:#EAE3D2;}
.gtf-location b{color:var(--gold);font-size:13px;}
.gtf-location-stage{background:rgba(0,102,204,.12);border:1px solid rgba(0,102,204,.38);border-radius:999px;padding:2px 8px;}
.gtf-radar{display:inline-grid;grid-template-columns:repeat(4,8px);gap:2px;vertical-align:middle}
.gtf-radar i{display:block;width:8px;height:8px;border-radius:2px;background:rgba(0,102,204,.28)}
.gtf-radar i.on{background:var(--gold)}
.gtf-bottom-nav{display:none;}
.gtf-guide,.gtf-hero-card,.gtf-facet,.gtf-inline-panel,.gtf-template-sanbo{
  background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:16px 18px;margin:14px 0;
}
.gtf-guide{border-top:4px solid var(--gold);}
.gtf-guide h2,.gtf-hero-card h3,.gtf-facet h3{margin:0 0 8px;font-family:var(--serif);color:var(--navy);}
.gtf-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;}
.gtf-hero-card.primary{grid-column:1/-1;border-top:4px solid var(--gold);}
.gtf-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.gtf-actions a,.gtf-actions button,.gtf-action{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;
  border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy)!important;
  padding:9px 12px;font-weight:700;font-size:13px;min-height:38px;
}
.gtf-actions .primary,.gtf-action.primary{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--navy)!important;}
.gtf-card-logo{height:38px;width:auto;display:block;margin:0 0 8px;}
.gtf-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;}
.gtf-choice-card{
  display:grid!important;gap:5px;text-align:left!important;text-decoration:none!important;
  border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important;
  color:var(--ink)!important;padding:12px!important;min-height:122px;
}
.gtf-choice-card b{font-family:var(--serif);font-size:16px;color:var(--navy);}
.gtf-choice-card em{font-style:normal;font-size:12.5px;color:var(--ink2);line-height:1.5;}
.gtf-choice-card small{font-size:11px;color:var(--sub);}
.gtf-choice-card.free{border-color:#BBD8F4!important;background:#F8FBFF!important;}
.gtf-choice-card.paid{border-color:var(--blue)!important;background:#EEF7FF!important;}
.gtf-choice-card.coach{border-color:#D7C7F5!important;background:#FBFAFF!important;}
.gtf-pay-badge{
  display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:2px 8px;
  font-size:10.5px;font-weight:800;border:1px solid currentColor;line-height:1.4;
}
.gtf-pay-badge.free{color:#1D5F99;background:#EAF5FF;}
.gtf-pay-badge.paid{color:#004B96;background:#DDEEFF;}
.gtf-pay-badge.coach{color:#5F3AA4;background:#F0E9FF;}
.gtf-facets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;}
.gtf-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.gtf-link-list a{text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--cream-2);color:var(--navy)!important;font-weight:700;}
.gtf-meter{font-size:12px;color:var(--sub);display:flex;gap:8px;flex-wrap:wrap;}
.gtf-muted{color:var(--sub);font-size:13px;}
.gtf-small{font-size:11px;color:var(--sub);}
.gtf-template-sanbo{border-top:4px solid var(--gold);}
.gtf-template-sanbo textarea,.gtf-guide textarea,.gtf-inline-panel textarea{min-height:92px;}
.gtf-tag{display:inline-block;background:var(--cream-2);border:1px solid var(--gold);color:var(--navy);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;margin:2px 4px 2px 0;}
.gtf-shell-header{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 20px;margin:0;
}
.gtf-shell-header .tagline{border-left:1px solid rgba(248,245,238,.24);padding-left:12px;}
.gtf-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0;}
.gtf-library-card{
  display:grid;gap:5px;text-decoration:none;background:var(--cream-2);border:1px solid var(--line);
  border-radius:8px;padding:12px 13px;color:var(--ink)!important;min-height:118px;
}
.gtf-library-card:hover{border-color:var(--gold);box-shadow:0 2px 10px rgba(11,31,61,.10);}
.gtf-library-card b{font-family:var(--serif);color:var(--navy);font-size:15px;line-height:1.45;}
.gtf-library-card span:not(.gtf-badge){font-size:12.5px;color:var(--ink2);line-height:1.55;}
.gtf-library-card em{font-style:normal;color:var(--gold-dark);font-weight:700;font-size:11px;}
.gtf-badge{
  display:inline-flex;align-items:center;width:max-content;background:var(--navy);color:var(--cream);
  border:1px solid var(--gold);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;
}
.gtf-route-note{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  background:var(--cream-2);border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:8px;padding:9px 11px;margin:10px 0;
}
.gtf-route-note b{font-family:var(--serif);color:var(--navy);}
.gtf-route-note span{font-size:12px;color:var(--sub);}
.gtf-handoff-panel{
  background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);
  border-radius:8px;box-shadow:var(--shadow);padding:16px 18px;margin:14px 0 18px;
}
.gtf-handoff-panel h2{margin:6px 0 8px;}
.gtf-handoff-panel textarea{min-height:116px;margin-top:10px;}
.gtf-accordion{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;margin:10px 0;}
.gtf-accordion summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:700;color:var(--navy);font-family:var(--serif);}
.gtf-accordion summary::-webkit-details-marker{display:none;}
.gtf-accordion summary:after{content:"+";float:right;color:var(--gold-dark);font-family:var(--sans);}
.gtf-accordion[open] summary:after{content:"-";}
.gtf-accordion-body{padding:0 14px 14px;color:var(--ink);}
.gtf-loop{
  background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);
  padding:13px 14px;margin:12px 0 16px;
}
.gtf-loop-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px;color:var(--navy);}
.gtf-loop-head b{font-family:var(--serif);font-size:15px;}
.gtf-loop-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.gtf-loop-step{border:1px solid var(--line);background:var(--cream-2);border-radius:8px;padding:8px;display:grid;gap:2px;min-height:82px;}
.gtf-loop-step i{
  width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);color:var(--navy);font-style:normal;font-weight:800;font-size:11px;
}
.gtf-loop-step b{font-family:var(--serif);color:var(--navy);font-size:13px;}
.gtf-loop-step em{font-style:normal;color:var(--sub);font-size:11px;line-height:1.45;}
.gtf-loop-step.is-active{background:#EEF7FF;border-color:var(--blue);box-shadow:0 0 0 2px rgba(0,102,204,.12);}
.gtf-loop-step.is-active i{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.gtf-next-step{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;
  background:var(--navy);color:var(--cream);border:1px solid var(--gold);border-radius:8px;
  box-shadow:var(--shadow);padding:14px 16px;margin:18px 0;
}
.gtf-next-step h3{color:var(--cream);margin:0;font-size:16px;}
.gtf-next-step p{margin:2px 0 0;color:#E6DDC7;font-size:12.5px;}
.gtf-next-step a,.gtf-next-step button{
  border:1px solid var(--gold);border-radius:8px;background:var(--gold)!important;color:var(--navy)!important;
  text-decoration:none;font-weight:800;padding:9px 12px;white-space:nowrap;
}
.gtf-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;}
.gtf-guide-grid a,.gtf-guide-grid button{
  display:grid;gap:3px;text-align:left;text-decoration:none;border:1px solid var(--line);border-radius:8px;background:var(--cream-2);
  color:var(--ink)!important;padding:10px 11px;font-family:var(--sans)!important;
}
.gtf-guide-grid b{font-family:var(--serif);color:var(--navy);}
.gtf-guide-grid span{font-size:12px;color:var(--sub);}
.gtf-bot-fab{
  position:fixed;right:18px;bottom:18px;z-index:9998;background:var(--gold)!important;color:var(--navy)!important;
  border:1px solid var(--gold-dark)!important;border-radius:999px!important;padding:11px 15px!important;
  box-shadow:0 8px 22px rgba(11,31,61,.22);font-weight:800!important;
}
.gtf-modal[hidden]{display:none!important;}
.gtf-modal{position:fixed;inset:0;z-index:9999;background:rgba(11,31,61,.42);display:flex;align-items:center;justify-content:center;padding:20px;}
.gtf-modal-card{
  width:min(760px,100%);max-height:86vh;overflow:auto;background:#fff;border:1px solid var(--line);
  border-top:4px solid var(--gold);border-radius:8px;box-shadow:0 18px 44px rgba(11,31,61,.28);padding:18px 20px;position:relative;
}
.gtf-modal-card h2{margin:8px 0 6px;}
.gtf-modal-close{
  position:absolute;right:12px;top:10px;width:34px;height:34px;border-radius:50%!important;background:#fff!important;
  color:var(--navy)!important;border:1px solid var(--line)!important;font-size:20px!important;line-height:1!important;
}
@media(max-width:900px){
  header{align-items:flex-start;gap:10px;flex-wrap:wrap}.gtf-global-nav{order:3;width:100%;margin-left:0}.gtf-location{order:4;width:100%}
  .gtf-dashboard-grid,.gtf-facets,.gtf-choice-grid{grid-template-columns:1fr}.gtf-link-list,.gtf-library{grid-template-columns:1fr}.gft .menu{grid-template-columns:repeat(2,minmax(0,1fr));}
  body{padding-bottom:74px;}
  .gtf-loop-steps{grid-template-columns:1fr;}
  .gtf-next-step{grid-template-columns:1fr;}
  .gtf-guide-grid{grid-template-columns:1fr;}
  .gtf-bottom-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:9997;background:var(--navy);color:var(--cream);
    display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));
    border-top:3px solid var(--gold);box-shadow:0 -6px 18px rgba(11,31,61,.18);
  }
  .gtf-bottom-nav a,.gtf-bottom-nav button{
    border:0;background:transparent;color:var(--cream)!important;border-radius:8px!important;padding:8px 4px;font-size:11px;
  }
  .gtf-bottom-nav a[aria-current=true]{background:var(--gold)!important;color:var(--navy)!important;}
  .gtf-bot-fab{right:12px;bottom:84px;}
}
