/* [share] Share button + sheet (lesson-share.js) and Upload to YouTube (yt-upload.js). Loaded only with TUTOR_SHARE=1 or
   TUTOR_YT_BOARD=1. The footer buttons reuse .ctrl .editbtn; the sheets reuse .zoom .expcard (the Export notes look). */
.ctrl .sharebtn, .ctrl .ytbtn { display: inline-flex; align-items: center; gap: 6px; }
.ctrl .sharebtn[hidden], .ctrl .ytbtn[hidden] { display: none; }
.ctrl .ytbtn svg { color: #dc2626; }
.ctrl .ytbtn.on { border-color: #fecaca; background: #fef2f2; color: #b91c1c; }

.zoom .tscard { max-height: 92vh; overflow-y: auto; }
.zoom .tscard .tsbody, .zoom .tscard .tsbody div { color: #111827; }
.zoom .tscard .tschan { font: 500 13px var(--ui); color: #4b5563; margin: -6px 0 12px; }
.zoom .tscard .tsstatus { font: 500 14px/1.45 var(--ui); color: #111827; margin: 12px 0 8px; }
.zoom .tscard .tsstatus small { display: block; color: #6b7280; font-size: 12.5px; margin-top: 2px; }
.zoom .tscard .tshint { font: 400 12.5px var(--ui); color: #6b7280; margin-top: 6px; }
.zoom .tscard .bigbar[hidden] { display: none; }
.tsseg { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.tsseg button { flex: 1; min-width: 92px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: 600 13px var(--ui);
  padding: 8px 10px; border-radius: 10px; border: 1px solid #d1d5db; background: #fff; color: #374151; cursor: pointer; }
.tsseg button[aria-checked="true"] { border-color: #2563eb; background: #eef4ff; color: #1d4ed8; box-shadow: inset 0 0 0 1px #2563eb; }
.tsseg button:disabled { opacity: .4; cursor: default; }
.tsshape { display: inline-block; border: 2px solid currentColor; border-radius: 3px; }
.tsshape.landscape { width: 18px; height: 11px; }
.tsshape.vertical { width: 10px; height: 16px; }
.zoom .tscard .vidact { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.zoom .tscard .vidact.ghost { background: #fff; color: #1d4ed8; box-shadow: inset 0 0 0 1px #bfd3fb; }
.zoom .tscard .tsconfirm { margin-top: 12px; padding: 12px; border-radius: 12px; background: #fff7ed; border: 1px solid #fed7aa; }
.zoom .tscard .tsconfirm p { margin: 0 0 4px; font: 500 13.5px/1.45 var(--ui); color: #7c2d12; }
.zoom .tscard .tsconfirm .exprow { margin-top: 10px; }

/* share sheet */
.zoom .tscard .tsprev { display: flex; flex-direction: column; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; margin: 12px 0 14px; background: #f9fafb; }
.zoom .tscard .tsprev img { width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; background: #eef2f7; display: block; }
.zoom .tscard .tsprevt { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; color: #111827; }
.zoom .tscard .tsprevt b { font: 700 14.5px/1.35 var(--ui); color: #111827; }
.zoom .tscard .tsprevt span { font: 400 12.5px/1.4 var(--ui); color: #4b5563; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.zoom .tscard .tsprevt small { font: 500 11.5px var(--ui); color: #6b7280; }
.zoom .tscard .tsshare { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.zoom .tscard .tsshare .tswa { background: #16a34a; }
.zoom .tscard .tsshare .tsx { background: #111827; }
.zoom .tscard .tslink { font: 500 12.5px var(--ui); color: #6b7280; margin-top: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 420px) { .zoom .tscard { padding: 18px 16px; } .zoom .tscard .tsshare { grid-template-columns: 1fr; } }
