/* ==========================================================================
   jsscapp.com — mjbotapp下载
   骨架：控制台（console）· 深色终端 + 指令表 + 对话记录
   ========================================================================== */

body.bt-body { background: #f2f3ef; }

.bt-hero { position: relative; background: #0b1113; color: #e6ece9; overflow: hidden; }
.bt-hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(620px 340px at 84% 8%, rgba(15, 143, 131, .22), transparent 66%),
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 100% 34px,
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 34px 100%;
  -webkit-mask-image: linear-gradient(180deg, #000 40%, transparent);
  mask-image: linear-gradient(180deg, #000 40%, transparent);
}
.bt-hero .container {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: 52px; align-items: center; padding: 72px 0 68px;
}
.bt-k { display: inline-flex; align-items: center; gap: 9px; font-family: var(--mono); font-size: 10.5px; letter-spacing: .26em; color: #4fc3a8; }
.bt-k::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #4fc3a8; box-shadow: 0 0 0 4px rgba(79, 195, 168, .18); }
.bt-hero h1 { margin-top: 20px; font-size: clamp(34px, 4.6vw, 58px); line-height: 1.1; letter-spacing: -.03em; }
.bt-hero h1 code {
  display: block; margin-top: 10px; font-family: var(--sans-num); font-size: .58em;
  letter-spacing: .06em; color: #d7ef4b; font-weight: 600;
}
.bt-lead { margin-top: 22px; max-width: 40ch; font-size: 15px; line-height: 2.05; color: rgba(230, 236, 233, .68); }
.bt-lead b { color: #fff; }
.bt-hero .hero-actions { margin-top: 30px; }
.bt-hero .btn-primary { background: #0f8f83; box-shadow: 0 16px 30px -18px rgba(15, 143, 131, .9); }
.bt-hero .btn-ghost { color: #e6ece9; border-color: rgba(230, 236, 233, .28); background: rgba(255, 255, 255, .03); }
.bt-hero .btn-ghost:hover { border-color: #e6ece9; }
.bt-hero .btn-room strong { color: #d7ef4b; }
.bt-figure { margin: 0; }
.bt-figure img { width: 100%; height: auto; border-radius: 14px; box-shadow: 0 40px 70px -40px #000; }

/* 状态条 */
.bt-status { background: #070b0c; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.bt-status .container { display: flex; flex-wrap: wrap; gap: 28px; padding: 14px 0; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: rgba(230, 236, 233, .45); }
.bt-status span { display: inline-flex; align-items: center; gap: 8px; }
.bt-status i { width: 6px; height: 6px; border-radius: 50%; background: #4fc3a8; }
.bt-status span:nth-child(2) i { background: #d7ef4b; }
.bt-status span:nth-child(3) i { background: #96a0a3; }

/* 区块 */
.bt-sec { padding: 76px 0; }
.bt-sec.dark { background: #0e1517; color: #e6ece9; }
.bt-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; align-items: end; margin-bottom: 40px; }
.bt-head .k { font-family: var(--mono); font-size: 10.5px; letter-spacing: .24em; color: #0f8f83; text-transform: uppercase; }
.bt-head h2 { margin-top: 12px; font-size: clamp(23px, 2.9vw, 33px); letter-spacing: -.02em; }
.bt-head p { font-size: 14.5px; line-height: 2; color: var(--muted); }
.bt-sec.dark .bt-head .k { color: #4fc3a8; }
.bt-sec.dark .bt-head p { color: rgba(230, 236, 233, .58); }

/* 三块拼图 */
.bt-parts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); border-radius: var(--radius-m); overflow: hidden; background: var(--paper-2); }
.bt-parts article { padding: 32px 28px; border-right: 1px solid var(--line-2); }
.bt-parts article:last-child { border-right: 0; }
.bt-parts .ico { width: 40px; height: 40px; border-radius: 10px; background: #eaf1ef; color: #0f8f83; display: grid; place-items: center; font-family: var(--mono); font-size: 15px; font-weight: 700; }
.bt-parts h3 { margin-top: 18px; font-size: 18px; }
.bt-parts p { margin-top: 10px; font-size: 13.5px; line-height: 1.95; color: var(--muted); }
.bt-parts ul { margin-top: 14px; display: grid; gap: 6px; }
.bt-parts li { font-size: 12.5px; color: var(--ink-2); padding-left: 14px; position: relative; }
.bt-parts li::before { content: "›"; position: absolute; left: 0; color: #0f8f83; font-weight: 700; }

/* 指令表（终端风） */
.cmd-wrap { border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; overflow: hidden; background: #0a0f10; }
.cmd-bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; border-bottom: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .02); }
.cmd-bar i { width: 10px; height: 10px; border-radius: 50%; background: #2b3437; }
.cmd-bar i:nth-child(1) { background: #ff5f56; }
.cmd-bar i:nth-child(2) { background: #ffbd2e; }
.cmd-bar i:nth-child(3) { background: #27c93f; }
.cmd-bar span { margin-left: auto; font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; color: rgba(230, 236, 233, .34); }
.cmd-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.cmd-table th, .cmd-table td { text-align: left; padding: 13px 18px; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.cmd-table thead th { font-family: var(--mono); font-size: 10px; letter-spacing: .16em; color: rgba(230, 236, 233, .38); font-weight: 500; }
.cmd-table tbody tr:last-child td { border-bottom: 0; }
.cmd-table td:first-child { font-family: var(--mono); font-size: 12.5px; color: #d7ef4b; white-space: nowrap; }
.cmd-table td:nth-child(2) { color: rgba(230, 236, 233, .78); }
.cmd-table td:last-child { color: rgba(230, 236, 233, .42); font-size: 12.5px; }
.cmd-table tbody tr:hover { background: rgba(79, 195, 168, .05); }
.cmd-note { padding: 14px 18px; font-family: var(--mono); font-size: 11px; letter-spacing: .04em; color: rgba(230, 236, 233, .32); border-top: 1px solid rgba(255, 255, 255, .06); }
.cmd-note b { color: #4fc3a8; }/* 对话记录 */
.bt-chat { max-width: 720px; margin: 0 auto; display: grid; gap: 14px; }
.msg { display: flex; gap: 12px; align-items: flex-start; }
.msg .av { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; display: grid; place-items: center; font-family: var(--mono); font-size: 11px; font-weight: 700; }
.msg.bot .av { background: #0f8f83; color: #fff; }
.msg.me { flex-direction: row-reverse; }
.msg.me .av { background: rgba(15, 19, 21, .08); color: var(--ink); }
.msg .bubble { max-width: 78%; padding: 14px 18px; border-radius: 12px; font-size: 14px; line-height: 1.9; }
.msg.bot .bubble { background: var(--paper-2); border: 1px solid var(--line); border-top-left-radius: 3px; }
.msg.me .bubble { background: var(--ink); color: #fff; border-top-right-radius: 3px; }
.msg .bubble code { font-family: var(--mono); font-size: 12.5px; background: rgba(15, 143, 131, .12); color: #0a6b62; padding: 1px 6px; border-radius: 4px; }
.msg.me .bubble code { background: rgba(215, 239, 75, .18); color: #d7ef4b; }
.msg .t { display: block; margin-top: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; opacity: .45; }

/* 配合流程 */
.bt-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.bt-flow article { position: relative; padding: 26px 24px; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-m); }
.bt-flow article:not(:last-child)::after {
  content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px; border-radius: 50%; background: var(--ink); color: #fff;
  display: grid; place-items: center; font-size: 12px; z-index: 2;
}
.bt-flow b { font-family: var(--mono); font-size: 10.5px; letter-spacing: .16em; color: #0f8f83; }
.bt-flow h3 { margin-top: 10px; font-size: 16.5px; }
.bt-flow p { margin-top: 8px; font-size: 13.5px; line-height: 1.9; color: var(--muted); }

/* 通知设置 */
.bt-notify { max-width: 820px; display: grid; gap: 0; border-top: 1px solid var(--line); }
.bt-notify > div { display: grid; grid-template-columns: 200px minmax(0, 1fr) 92px; gap: 20px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line-2); }
.bt-notify b { font-size: 14.5px; }
.bt-notify span { font-size: 13px; line-height: 1.8; color: var(--muted); }
.bt-notify em { font-style: normal; text-align: center; font-size: 11.5px; padding: 3px 0; border-radius: 999px; background: rgba(15, 143, 131, .1); color: #0a6b62; }
.bt-notify em.off { background: rgba(15, 19, 21, .06); color: var(--muted); }

/* 安装清单 */
.bt-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bt-checks li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; padding: 16px 18px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 8px; font-size: 13.5px; line-height: 1.85; color: var(--ink-2); }
.bt-checks li::before { content: "□"; font-family: var(--mono); color: #0f8f83; font-size: 15px; line-height: 1.4; }
.bt-checks b { color: var(--ink); }

/* 报错卡 */
.bt-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bt-codes article { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 18px; padding: 22px; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-m); }
.bt-codes .code { font-family: var(--mono); font-size: 15px; font-weight: 700; color: var(--accent); }
.bt-codes h3 { font-size: 15px; }
.bt-codes p { margin-top: 6px; font-size: 13px; line-height: 1.85; color: var(--muted); }

/* 场景 */
.bt-uses { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.bt-uses div { padding: 24px 20px; border-top: 2px solid #0f8f83; background: var(--paper-2); }
.bt-uses b { display: block; font-family: var(--sans-num); font-size: 13px; letter-spacing: .12em; color: #0f8f83; }
.bt-uses h3 { margin-top: 10px; font-size: 15.5px; }
.bt-uses p { margin-top: 8px; font-size: 13px; line-height: 1.85; color: var(--muted); }

/* 安全提醒 */
.bt-warn { background: #10161a; color: #e6ece9; border-left: 4px solid #e8380d; border-radius: 0 var(--radius-m) var(--radius-m) 0; padding: 30px 32px; max-width: 860px; }
.bt-warn h2 { font-size: 19px; }
.bt-warn p { margin-top: 10px; font-size: 14px; line-height: 2; color: rgba(230, 236, 233, .7); }
.bt-warn a { color: #d7ef4b; font-family: var(--mono); font-size: 13px; }

/* 相关 */
.bt-related { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.bt-related a { padding: 20px; border: 1px solid var(--line); background: var(--paper-2); border-radius: 8px; font-size: 14px; display: flex; justify-content: space-between; gap: 8px; transition: border-color .18s, transform .18s; }
.bt-related a span { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; color: var(--muted-2); }
.bt-related a:hover { border-color: #0f8f83; transform: translateY(-2px); }

/* 响应式 */
@media (max-width: 1000px) {
  .bt-hero .container { grid-template-columns: minmax(0, 1fr); gap: 36px; padding: 50px 0 54px; }
  .bt-figure { max-width: 520px; }
  .bt-head { grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
  .bt-parts { grid-template-columns: minmax(0, 1fr); }
  .bt-parts article { border-right: 0; border-bottom: 1px solid var(--line-2); }
  .bt-parts article:last-child { border-bottom: 0; }
  .bt-flow { grid-template-columns: minmax(0, 1fr); }
  .bt-flow article:not(:last-child)::after { display: none; }
  .bt-codes, .bt-checks { grid-template-columns: minmax(0, 1fr); }
  .bt-uses { grid-template-columns: 1fr 1fr; }
  .bt-related { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .bt-sec { padding: 54px 0; }
  .bt-status .container { gap: 14px; }
  .cmd-wrap { overflow-x: auto; }
  .cmd-table { min-width: 560px; }
  .bt-notify > div { grid-template-columns: minmax(0, 1fr) 70px; gap: 10px; }
  .bt-notify b { grid-column: 1 / -1; }
  .msg .bubble { max-width: 84%; }
  .bt-codes article { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 18px; }
  .bt-uses, .bt-related { grid-template-columns: minmax(0, 1fr); }
  .bt-warn { padding: 24px 22px; }
}/* 交替底色 */
.bt-sec.alt { background: #e9ece7; border-block: 1px solid var(--line-2); }