/* ══════════════════════════════════════════════════════════════════════════
   SmartBuddy — Học cùng Buddy · Góc chia sẻ · Lịch sử dạng danh sách · Hình minh hoạ
   Nạp SAU sb-design.css, dùng chung token --sb-* của giao diện mint.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Thanh danh mục: nhóm có nhãn ───────────────────────────────────────── */
.nav-group{ display:flex; flex-direction:column; }
.nav-label{
  font:900 11px/1 'Nunito',Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase;
  color:var(--sb-muted); padding:10px 20px 4px; user-select:none;
}
body:not(.role-parent) .sidebar .topic-btn.nav-new.nav-child{ padding-left:30px !important; }
@media (min-width:901px){ .nav-label{ padding-top:clamp(4px,1vh,10px); } }
@media (min-width:901px) and (max-width:1100px){ body:not(.role-parent) .sidebar .topic-btn.nav-new.nav-child{ padding-left:22px !important; } }

/* ── Hỏi Buddy: thanh ngữ cảnh môn / sách / bài ─────────────────────────── */
.learn-bar{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:10px 16px 8px;
  border-bottom:1px solid var(--sb-line); background:rgba(255,255,255,.75); flex-shrink:0;
}
.learn-bar-body{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; flex:1 1 300px; min-width:0; }
.learn-chips{ display:flex; gap:6px; flex-wrap:wrap; }
.learn-chip{
  border:1.5px solid #D5ECE7; background:#fff; color:var(--sb-nav); border-radius:999px; padding:6px 12px;
  font:800 13px 'Nunito',Arial,sans-serif; cursor:pointer; min-height:34px;
}
.learn-chip.active{ background:var(--sb-grad-active); color:#fff; border-color:transparent; }
.learn-ctx{ display:flex; align-items:center; gap:8px; min-width:0; flex:1 1 260px; }
.learn-ctx-text{ font:700 13px 'Nunito',Arial,sans-serif; color:var(--sb-sub); min-width:0; overflow-wrap:anywhere; }
.learn-ctx-btn{
  flex-shrink:0; border:none; border-radius:12px; padding:7px 12px; min-height:34px; cursor:pointer;
  background:#E9F8F4; color:#0E8F7E; font:900 12.5px 'Nunito',Arial,sans-serif;
}
.learn-ctx-btn:hover{ background:#D7F3EC; }
.learn-chip:focus-visible, .learn-ctx-btn:focus-visible, .prof-tab:focus-visible, .recent-row:focus-visible,
.sb-fig-zoom:focus-visible, .sbv-chip:focus-visible, .share-info-btn:focus-visible{ outline:3px solid #1E90FF; outline-offset:2px; }
/* Nút "Học bài mới" nằm trong thanh (không đè lên các lựa chọn môn) */
#panel-buddy .learn-bar .new-chat-btn{ position:static !important; flex-shrink:0; }
#panel-buddy .learn-bar ~ .messages{ padding-top:16px !important; }
@media (max-width:760px){ .learn-bar{ padding:8px 12px; } }

/* Thẻ ở trang Toán / Tiếng Anh */
.learn-hub-card{
  display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #E3F0EF; border-radius:var(--sb-r-md);
  padding:12px 16px; box-shadow:var(--sb-shadow-sm); margin:4px 0 14px;
}
.learn-hub-ic{ font-size:28px; }
.learn-hub-text{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; font-family:'Nunito',Arial,sans-serif; }
.learn-hub-text b{ color:var(--sb-navy); font-size:14.5px; overflow-wrap:anywhere; }
.learn-hub-text span{ color:var(--sb-sub); font-size:12.5px; font-weight:600; }
.learn-note{ font:600 12.5px/1.6 'Nunito',Arial,sans-serif; color:var(--sb-sub); margin:10px 4px 0; }

/* Hộp thiết lập hồ sơ học tập */
.learn-setup-ov{ position:fixed; inset:0; z-index:10040; background:rgba(16,31,51,.55); display:flex; align-items:center; justify-content:center; padding:16px; overflow-y:auto; }
.learn-setup{
  position:relative; width:min(520px,100%); max-height:calc(var(--sb-vvh,100dvh) - 32px); overflow-y:auto; background:#fff;
  border-radius:22px; padding:20px 20px 16px; box-shadow:0 24px 70px rgba(0,0,0,.28); font-family:'Nunito',Arial,sans-serif; color:var(--sb-navy);
}
.learn-setup h2{ font:800 21px 'Baloo 2','Nunito',sans-serif; margin:0 40px 4px 0; }
.ls-sub{ margin:0 0 12px; color:var(--sb-sub); font-size:13px; font-weight:600; }
.learn-x{ position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; border:1.5px solid #E2ECEF; background:#fff; font-size:22px; cursor:pointer; color:var(--sb-navy); }
.ls-field{ display:flex; flex-direction:column; gap:6px; margin:0 0 12px; border:none; padding:0; font-weight:900; font-size:13.5px; }
.ls-field legend{ padding:0; margin-bottom:6px; }
.ls-field small{ font-weight:600; color:var(--sb-sub); }
.ls-field select, .ls-field input[type="text"], .ls-field input:not([type]), .ls-field input[name="lesson"]{
  min-height:42px; border:1.5px solid #D5E6E3; border-radius:12px; padding:8px 12px; font:700 14px 'Nunito',Arial,sans-serif; color:var(--sb-navy); background:#fff;
}
.ls-opts{ display:flex; flex-wrap:wrap; gap:8px; }
.ls-opt{ position:relative; }
.ls-opt input{ position:absolute; opacity:0; inset:0; }
.ls-opt span{ display:inline-flex; align-items:center; min-height:38px; padding:7px 12px; border-radius:12px; border:1.5px solid #D5ECE7; font-weight:800; font-size:13px; cursor:pointer; background:#fff; }
.ls-opt input:checked + span{ background:var(--sb-grad-active); color:#fff; border-color:transparent; }
.ls-opt input:focus-visible + span{ outline:3px solid #1E90FF; outline-offset:2px; }
.ls-hint{ font-size:12px !important; line-height:1.5; }
/* Trạng thái nguồn sách: 🟢 rag · 🟡 portal · ⚪ none */
.src-status{ display:flex; flex-direction:column; gap:4px; margin-top:8px; padding:9px 12px; border-radius:12px; font:600 12.5px/1.5 'Nunito',Arial,sans-serif; color:var(--sb-navy); flex-basis:100%; }
.src-status b{ font-weight:900; }
.src-rag{ background:#E8F8EE; border:1.5px solid #BDE9CC; }
.src-portal{ background:#FFF8E6; border:1.5px solid #FBE2A6; }
.src-none{ background:#F3F5F8; border:1.5px solid #DFE4EA; }
.src-links{ display:flex; flex-wrap:wrap; gap:6px 12px; }
.src-meta{ color:var(--sb-sub); font-size:11.5px; }
.src-meta a{ color:#087f73; }
.learn-source-link{ display:inline-flex; color:#087f73; font-size:12.5px; font-weight:800; text-decoration:none; min-height:28px; align-items:center; }
.learn-source-link:hover{ text-decoration:underline; }
.src-badge{ display:inline-flex; align-items:center; gap:4px; border-radius:999px; padding:3px 10px; font:800 11.5px 'Nunito',Arial,sans-serif; white-space:nowrap; }
.src-badge.src-rag{ color:#167A43; } .src-badge.src-portal{ color:#8A5A00; } .src-badge.src-none{ color:#5D6B7A; }
.learn-hub-card{ flex-wrap:wrap; }
.ls-err{ color:#C0392B; font-weight:800; font-size:13px; margin-bottom:8px; }
.ls-actions{ display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }
.ls-cancel, .ls-save{ min-height:42px; border-radius:12px; padding:9px 16px; font:900 14px 'Nunito',Arial,sans-serif; cursor:pointer; }
.ls-cancel{ background:#fff; border:1.5px solid #D5E6E3; color:var(--sb-sub); }
.ls-save{ background:var(--sb-grad-active); border:none; color:#fff; }
.ls-save:disabled{ opacity:.7; cursor:wait; }

/* Hồ sơ và cài đặt: thẻ chuyển */
.prof-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 12px; }
.prof-tab{ min-height:38px; border-radius:999px; border:1.5px solid #D5ECE7; background:#fff; padding:7px 14px; font:900 13.5px 'Nunito',Arial,sans-serif; color:var(--sb-nav); cursor:pointer; }
.prof-tab.active{ background:var(--sb-grad-active); color:#fff; border-color:transparent; }

/* ── Góc chia sẻ ────────────────────────────────────────────────────────── */
#panel-share_corner{ padding:0 !important; }
.share-wrap{ display:flex; flex-direction:column; height:100%; min-height:0; padding:16px var(--sb-gutter) 12px; gap:10px; max-width:900px; width:100%; margin:0 auto; box-sizing:border-box; }
.share-head{ display:flex; align-items:center; gap:14px; background:linear-gradient(120deg,#FFF4E6,#FFE9D6); border-radius:var(--sb-r-md); padding:12px 16px; flex-wrap:wrap; }
.share-head-img{ width:56px; height:56px; object-fit:contain; background:#fff; border-radius:14px; padding:4px; flex-shrink:0; }
.share-head-text{ flex:1 1 240px; min-width:0; font-family:'Nunito',Arial,sans-serif; }
.share-head-text h2{ margin:0 0 2px; font:800 22px 'Baloo 2','Nunito',sans-serif; color:#8A4A12; }
.share-head-text p{ margin:0; font-size:13.5px; font-weight:600; color:#7A5532; line-height:1.5; }
.share-info-btn{ border:none; border-radius:12px; background:#fff; color:#8A4A12; font:900 13px 'Nunito',Arial,sans-serif; padding:8px 12px; min-height:38px; cursor:pointer; box-shadow:var(--sb-shadow-sm); }
.share-info{ background:#fff; border:1.5px solid #FFE0C2; border-radius:16px; padding:12px 16px; font:600 13px/1.6 'Nunito',Arial,sans-serif; color:var(--sb-navy); }
.share-info p{ margin:0 0 6px; }
.share-info ul{ margin:0 0 8px; padding-left:18px; }
.share-info-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.share-save{ display:flex; align-items:center; gap:8px; font-weight:800; cursor:pointer; }
.share-save input{ width:18px; height:18px; }
.share-info-title{ font-size:14.5px; color:#1F5FA8; }
.share-save-status{ margin:6px 0 0; min-height:1em; font-size:12.5px; color:#2F6B4F; }
.share-privacy-link{ display:inline-block; margin-top:4px; padding:6px 0; color:#1F5FA8; font-weight:900; text-decoration:underline; min-height:32px; }
.share-save input{ accent-color:#3B82F6; }
@media (max-width:480px){ .share-info-actions{ flex-direction:column; align-items:stretch; } .share-del-btn{ min-height:44px; } .share-save{ min-height:44px; } }
.share-del-btn{ border:1.5px solid #F5C6C6; background:#FFF5F5; color:#B03A3A; border-radius:12px; padding:7px 12px; min-height:36px; font:900 12.5px 'Nunito',Arial,sans-serif; cursor:pointer; }
.share-messages{ flex:1 1 auto; min-height:120px; background:#fff; border-radius:16px; border:1.5px solid #FFE6CF; }
.share-safety-note{ font:700 12px/1.5 'Nunito',Arial,sans-serif; color:#7A5532; padding:0 4px; }
.share-input-row{ display:flex; gap:8px; align-items:flex-end; }
.share-input-row .input-box{ flex:1; min-height:46px; max-height:120px; }
.share-input-row .send-btn{ height:46px; }
.share-safety-card{ align-self:stretch; background:#FFF8E1; border:2px solid #FFD36B; border-radius:16px; padding:12px 14px; font:700 13.5px/1.6 'Nunito',Arial,sans-serif; color:#5A4318; }
.share-safety-card p{ margin:4px 0 0; }
@media (max-width:760px){ .share-wrap{ padding-top:56px; } .share-head-img{ width:44px; height:44px; } }

/* ── Lịch sử và kết quả: danh sách gọn (Recents) ────────────────────────── */
.hist-filters{ grid-template-columns:repeat(6,minmax(0,1fr)); }
@media (max-width:1100px){ .hist-filters{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:600px){ .hist-filters{ grid-template-columns:1fr 1fr; } }
.recent-row{ width:100%; text-align:left; cursor:pointer; font:inherit; color:inherit; }
.recent-row:hover{ border-color:#BFE7DD; box-shadow:0 6px 16px rgba(16,76,92,.10); }
.hist-row-meta{ font-size:12.5px; color:var(--sb-sub); font-weight:700; margin-top:2px; overflow-wrap:anywhere; }
.hist-row-title{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hist-row-chev{ font-size:24px; color:var(--sb-muted); flex-shrink:0; }
.hist-detail{ display:flex; flex-direction:column; gap:12px; }
.hist-detail[hidden]{ display:none; }
.hist-back, .hist-del{ align-self:flex-start; min-height:38px; border-radius:12px; padding:7px 14px; font:900 13px 'Nunito',Arial,sans-serif; cursor:pointer; }
.hist-back{ background:#fff; border:1.5px solid #D5E6E3; color:var(--sb-nav); }
.hist-del{ background:#FFF5F5; border:1.5px solid #F5C6C6; color:#B03A3A; }
.hist-detail-head{ display:flex; align-items:center; gap:12px; font-size:26px; }
.hist-detail-head h3{ margin:0; font:900 17px 'Nunito',Arial,sans-serif; color:var(--sb-navy); overflow-wrap:anywhere; }
.hist-msgs{ background:#fff; border-radius:16px; border:1px solid #EAF3F2; max-height:none; overflow:visible; }
.hist-test{ font:800 15px 'Nunito',Arial,sans-serif; color:var(--sb-navy); }
.hist-test b{ font:800 26px 'Baloo 2',cursive; color:#13A699; }
.hist-feedback{ background:#fff; border-radius:14px; padding:12px 16px; border:1px solid #EAF3F2; }

/* ── Hình học động (phẳng + không gian) ─────────────────────────────────── */
.sb-fig{ margin:8px 0; background:#FBFEFD; border:1.5px solid #D7EEE8; border-radius:16px; padding:8px 10px 10px; max-width:440px; display:flex; flex-direction:column; gap:6px; }
.sb-fig-stage svg{ display:block; width:100%; height:auto; }
.sb-fig3d .sb-fig-stage{ touch-action:none; cursor:grab; user-select:none; -webkit-user-select:none; }
.sb-fig3d .sb-fig-stage:active{ cursor:grabbing; }
.sb-fig-cap{ font:700 13px/1.5 'Nunito',Arial,sans-serif; color:var(--sb-navy); min-height:0; }
.sb-fig-cap:empty{ display:none; }
.sb-fig-cap b{ color:#0E8F7E; }
.sb-fig-ctrl{ display:flex; flex-wrap:wrap; gap:6px; }
.sb-fig-btn{ min-width:36px; min-height:36px; padding:4px 10px; border:1.5px solid #D5ECE7; border-radius:10px; background:#fff; color:#0E8F7E; font:900 13px 'Nunito',Arial,sans-serif; cursor:pointer; }
.sb-fig-btn:hover{ background:#EAF8F4; }
.sb-fig-btn:focus-visible, .sb-fig-steps button:focus-visible{ outline:3px solid #1E90FF; outline-offset:2px; }
.sb-fig-steps{ margin:0; padding-left:20px; display:flex; flex-direction:column; gap:2px; }
.sb-fig-steps button{ border:none; background:none; text-align:left; padding:4px 6px; border-radius:8px; font:600 12.5px/1.45 'Nunito',Arial,sans-serif; color:var(--sb-sub); cursor:pointer; width:100%; }
.sb-fig-steps button.on{ background:#FFF1E4; color:#8A4A12; font-weight:800; }
.sb-fig figcaption{ font:700 12.5px/1.5 'Nunito',Arial,sans-serif; color:var(--sb-sub); display:flex; flex-direction:column; gap:2px; }
.sb-fig figcaption b{ color:var(--sb-navy); }
.sb-fig-note{ color:#B4661A; }
.sb-fig-note2{ color:var(--sb-muted); font-weight:600; }
.sb-fig-warn{ color:#8A5A1A; font-weight:700; }
.sb-fig-err{ font:700 13px/1.5 'Nunito',Arial,sans-serif; color:#8A5A1A; background:#FFF8EC; border-color:#FFE0B0; display:block; }
.sb-fig-overlay{ position:fixed; inset:0; z-index:10050; background:rgba(16,31,51,.75); display:flex; align-items:center; justify-content:center; padding:12px; }
.sb-fig-big{ background:#fff; border-radius:18px; padding:12px; width:min(900px,100%); max-height:calc(var(--sb-vvh,100dvh) - 24px); overflow:auto; display:flex; flex-direction:column; gap:8px; }
.sb-fig-big .sb-fig{ max-width:none; margin:0; border:none; padding:0; }
.sb-fig-big .sb-fig-stage svg{ min-width:280px; max-height:calc(var(--sb-vvh,100dvh) - 260px); }
.sb-fig-close{ align-self:flex-end; min-height:40px; border-radius:12px; border:none; background:var(--sb-grad-active); color:#fff; padding:8px 16px; font:900 14px 'Nunito',Arial,sans-serif; cursor:pointer; }
/* Bong bóng chat co theo nội dung → SVG (width:100%) co theo, hình rất nhỏ trên điện thoại.
   Bong bóng chứa hình được đặt độ rộng rõ ràng (tối đa 480px, không vượt max-width của bong bóng). */
.msg-row:has(.sb-fig){ width:100%; max-width:min(100%, 560px); }
.msg-row .bubble:has(.sb-fig){ width:100%; box-sizing:border-box; }
.bubble .sb-fig{ width:100%; box-sizing:border-box; }
@media (max-width:600px){ .sb-fig{ max-width:100%; } .sb-fig-btn{ min-width:40px; min-height:40px; } .msg-row .bubble:has(.sb-fig){ padding-left:10px; padding-right:10px; } }

/* ── Voice: phiên âm tạm / đã chốt, ý ngắn, hình, nút nhờ nhanh ─────────── */
.sbv-line.me.interim{ opacity:.8; }
.sbv-line.me.interim .sbv-text::after{ content:' …'; }
.sbv-line.note{ align-self:center; max-width:100%; background:#FFF8E9; border:1px dashed #F5C97A; color:#7A5532; font-size:12.5px; }
.sbv-line.note .sbv-who{ display:none; }
.sbv-idea{ display:block; }
.sbv-idea + .sbv-idea{ margin-top:4px; }
.sbv-figure{ flex-shrink:0; max-height:46vh; overflow:auto; }
.sbv-figure[hidden]{ display:none; }
.sbv-figure .sb-fig{ margin:0 auto; }
.sbv-quick{ display:flex; gap:6px; flex-wrap:wrap; justify-content:center; }
.sbv-quick[hidden]{ display:none; }
.sbv-chip{ border:1.5px solid #CFEDE6; background:#F2FBF8; color:#0E8F7E; border-radius:999px; padding:6px 12px; min-height:36px; font:800 12.5px 'Nunito',Arial,sans-serif; cursor:pointer; }
.sbv-share-note{ font-size:12px; }
.sbv-share-note[hidden], .sbv-switch[hidden]{ display:none; }

/* Bảng voice có hình: desktop 2 cột (lời nói | hình), điện thoại xếp dọc và nhường chỗ cho cả hai */
@media (min-width:900px){
  .sbv-card.has-fig{ width:min(1000px,100%); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); column-gap:18px; align-content:start; }
  .sbv-card.has-fig > *{ grid-column:1; }
  .sbv-card.has-fig > .sbv-figure{ grid-column:2; grid-row:1 / span 9; max-height:calc(100vh - 64px); align-self:start; }
  .sbv-card.has-fig .sbv-transcript{ max-height:40vh; min-height:120px; }
}
@media (max-width:899px){
  .sbv-card.has-fig .sbv-orb{ display:none; }
  .sbv-card.has-fig .sbv-figure{ max-height:42vh; }
  .sbv-card.has-fig .sbv-transcript{ min-height:72px; max-height:22vh; }
  .sbv-card.has-fig .sbv-fig-steps, .sbv-card.has-fig .sb-fig-steps{ display:none; }
}

/* ── Lộ trình của em (trang chủ học sinh) ─────────────────────────────────── */
.kid-rm{ display:flex; flex-direction:column; gap:6px; margin:0 0 12px; padding:10px 14px !important; min-width:0; }
.kid-rm-row{ display:flex; align-items:center; gap:10px; min-width:0; }
.kid-rm-ic{ font-size:24px; flex-shrink:0; }
.kid-rm-main{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.kid-rm-title{ font:900 13px 'Nunito',Arial,sans-serif; color:#0E8F7E; }
.kid-rm-title small{ font-weight:800; color:var(--sb-sub); }
.kid-rm-feelbtn{ flex-shrink:0; min-height:36px; }
.kid-rm-det summary{ cursor:pointer; font:800 13px 'Nunito',Arial,sans-serif; color:var(--sb-nav); min-height:32px; display:flex; align-items:center; }
.kid-rm-det[open] summary{ margin-bottom:6px; }
.kid-rm-goal{ margin:0; font:900 14.5px/1.4 'Nunito',Arial,sans-serif; color:var(--sb-navy); overflow-wrap:anywhere;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
/* Desktop: trang chủ vừa khít một màn hình → chừa thêm chỗ cho dải lộ trình */
@media (min-width:1101px){ #intro-welcome-screen:has(#kid-rm){ --home-chrome:252px; } }
.kid-rm-bar{ height:8px; border-radius:99px; background:#E2F4EF; overflow:hidden; }
.kid-rm-bar span{ display:block; height:100%; background:var(--sb-grad-active); }
.kid-rm-steps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.kid-rm-steps label{ display:flex; gap:8px; align-items:flex-start; cursor:pointer; min-height:32px; }
.kid-rm-steps input{ width:20px; height:20px; margin-top:2px; flex-shrink:0; accent-color:#13A699; }
.kid-rm-steps b{ display:block; font:800 13px/1.4 'Nunito',Arial,sans-serif; color:var(--sb-navy); }
.kid-rm-steps small{ display:block; font:600 12px/1.4 'Nunito',Arial,sans-serif; color:var(--sb-sub); }
.kid-rm-note{ margin:0; font:600 12px/1.45 'Nunito',Arial,sans-serif; color:var(--sb-sub); }
.kid-rm-ov{ position:fixed; inset:0; z-index:10045; background:rgba(16,31,51,.55); display:flex; align-items:center; justify-content:center; padding:14px; overflow-y:auto; }
.kid-rm-card{ position:relative; width:min(520px,100%); max-height:calc(var(--sb-vvh,100dvh) - 28px); overflow-y:auto; background:#fff; border-radius:22px;
  padding:18px; display:flex; flex-direction:column; gap:10px; font-family:'Nunito',Arial,sans-serif; color:var(--sb-navy); box-shadow:0 24px 70px rgba(0,0,0,.28); }
.kid-rm-x{ position:absolute; top:10px; right:10px; width:38px; height:38px; border-radius:50%; border:1.5px solid #E2ECEF; background:#fff; font-size:22px; cursor:pointer; }
.kid-rm-buddy{ display:flex; align-items:center; gap:10px; padding-right:40px; }
.kid-rm-buddy img{ width:56px; height:56px; object-fit:contain; }
.kid-rm-buddy h2{ margin:0; font:800 19px/1.3 'Baloo 2','Nunito',sans-serif; }
.kid-rm-msg{ margin:0; font:700 15px/1.6 'Nunito',Arial,sans-serif; color:#2C4566; }
.kid-rm-box{ background:#F2FBF8; border-radius:14px; padding:10px 14px; font:700 14px/1.55 'Nunito',Arial,sans-serif; }
.kid-rm-box ol{ margin:6px 0; padding-left:20px; font-weight:600; }
.kid-rm-box small{ color:var(--sb-sub); font-weight:700; }
.kid-rm-ask{ margin:0; font:600 14px/1.5 'Nunito',Arial,sans-serif; }
.kid-rm-feel{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.kid-rm-feel button{ min-height:46px; border:1.5px solid #D5ECE7; border-radius:14px; background:#fff; font:800 14px 'Nunito',Arial,sans-serif; color:var(--sb-nav); cursor:pointer; }
.kid-rm-feel button.on{ background:var(--sb-grad-active); color:#fff; border-color:transparent; }
.kid-rm-noteinp{ display:flex; flex-direction:column; gap:4px; font:800 13px 'Nunito',Arial,sans-serif; }
.kid-rm-noteinp small{ font-weight:600; color:var(--sb-sub); }
.kid-rm-noteinp textarea{ border:1.5px solid #D5E6E3; border-radius:12px; padding:8px 10px; font:600 16px 'Nunito',Arial,sans-serif; resize:vertical; }
.kid-rm-priv{ margin:0; font:600 12px/1.5 'Nunito',Arial,sans-serif; color:var(--sb-sub); }
.kid-rm-err{ color:#C0392B; font-weight:800; font-size:13px; }
.kid-rm-actions{ display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.kid-rm-later, .kid-rm-send{ min-height:44px; border-radius:12px; padding:9px 16px; font:900 14px 'Nunito',Arial,sans-serif; cursor:pointer; }
.kid-rm-later{ background:#fff; border:1.5px solid #D5E6E3; color:var(--sb-sub); }
.kid-rm-send{ background:var(--sb-grad-active); border:none; color:#fff; }
.kid-rm-send:disabled{ opacity:.55; cursor:default; }
.kid-rm-feel button:focus-visible, .kid-rm-x:focus-visible, .kid-rm-send:focus-visible, .kid-rm-later:focus-visible{ outline:3px solid #1E90FF; outline-offset:2px; }

/* Nguồn SGK dưới câu trả lời của Buddy (chỉ khi server trả nguồn thật) */
.sb-book-src{ margin-top:10px; padding:8px 12px; border-radius:12px; background:#EEF5FF; border:1px solid #CFE0F7; font:600 12.5px/1.5 'Nunito',Arial,sans-serif; color:#24446E; }
.sb-book-src summary{ cursor:pointer; font-weight:900; min-height:28px; display:flex; align-items:center; }
.sb-book-src ul{ margin:4px 0 4px; padding-left:18px; }
.sb-book-src small{ color:#5B7392; }
