
/* Hey U capture button + panel, shared across the Habitual Range.
   Matches the Student page's own .stu-fab exactly, so the two look identical. */
.heyu-fab{
  position:fixed; right:18px; bottom:88px; z-index:900;
  background:#243447; border:none; border-radius:999px;
  padding:14px 20px; min-height:52px; font:inherit; font-weight:800; font-size:.92rem;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  cursor:pointer; box-shadow:0 10px 26px rgba(36,52,71,.3);
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Nunito',system-ui,sans-serif;
}
.heyu-fab:hover{ background:#31465F; }
.heyu-fab:focus-visible{ outline:3px solid #CF9E3F; outline-offset:3px; }
#heyuSheet{ position:fixed; inset:0; z-index:9700; display:none; align-items:flex-end;
  justify-content:center; background:rgba(20,28,44,.5); font-family:'Nunito',system-ui,sans-serif; }
#heyuSheet.is-open{ display:flex; }
#heyuSheet .heyu-box{ display:block !important; width:100%; max-width:560px;
  max-height:calc(100dvh - 40px); overflow-y:auto; background:#fff !important;
  border-radius:26px 26px 0 0; padding:24px clamp(18px,4vw,26px) 30px; }
@media (min-width:720px){
  #heyuSheet{ align-items:center; padding:16px; }
  #heyuSheet .heyu-box{ border-radius:26px; padding-bottom:26px; } }
#heyuSheet .heyu-h{ display:flex !important; flex-direction:row !important;
  justify-content:space-between; align-items:flex-start; gap:12px; margin:0 0 10px; }
#heyuSheet .heyu-eb{ font-size:.68rem; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; margin:0 0 4px;
  color:#7d9e77 !important; -webkit-text-fill-color:#7d9e77 !important; }
#heyuSheet .heyu-t{ font-family:'Playfair Display',Georgia,serif !important;
  font-size:1.5rem !important; font-weight:700 !important; margin:0 !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#heyuSheet .heyu-x{ flex:none; width:44px; height:44px; min-height:44px; border-radius:50%;
  cursor:pointer; font:inherit; border:0 !important; background:#F1EDE8 !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#heyuSheet .heyu-lead{ font-size:.94rem; line-height:1.7; margin:0 0 14px;
  color:#5b5950 !important; -webkit-text-fill-color:#5b5950 !important; }
#heyuSheet .heyu-ta{ box-sizing:border-box; width:100%; min-height:88px; padding:14px 16px;
  border-radius:16px; font:inherit; font-size:.98rem; resize:vertical;
  background:#fff !important; border:1.5px solid #EAE2D4 !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#heyuSheet .heyu-ta:focus{ outline:none; border-color:#7d9e77 !important;
  box-shadow:0 0 0 3px rgba(125,158,119,.24); }
#heyuSheet .heyu-mic{ display:block; width:100%; margin:12px 0 0; min-height:52px;
  padding:14px 18px; border-radius:999px; cursor:pointer; font:inherit; font-weight:800;
  background:#fff !important; border:1.5px solid #EAE2D4 !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#heyuSheet .heyu-mic:hover:not([disabled]){ border-color:#7d9e77 !important; }
#heyuSheet .heyu-mic.is-rec{ background:#FBEDEF !important; border-color:#D89A9A !important;
  color:#8C4C40 !important; -webkit-text-fill-color:#8C4C40 !important; }
#heyuSheet .heyu-mic[disabled]{ opacity:.6; cursor:default; }
#heyuSheet .heyu-k{ font-size:.68rem; font-weight:800; letter-spacing:.15em;
  text-transform:uppercase; margin:20px 0 8px;
  color:#a8a496 !important; -webkit-text-fill-color:#a8a496 !important; }
#heyuSheet .heyu-egs{ display:flex; gap:8px; flex-wrap:wrap; }
#heyuSheet .heyu-eg{ min-height:44px; padding:10px 15px; border-radius:999px; cursor:pointer;
  font:inherit; font-size:.82rem; text-align:left;
  background:#F7F5F0 !important; border:1px solid #EAE2D4 !important;
  color:#5b5950 !important; -webkit-text-fill-color:#5b5950 !important; }
#heyuSheet .heyu-eg:hover{ border-color:#7d9e77 !important; }
#heyuSheet .heyu-honest{ margin:18px 0 0; padding:14px 16px; border-radius:14px;
  font-size:.84rem; line-height:1.65; background:#FBF3E3 !important;
  color:#6B5427 !important; -webkit-text-fill-color:#6B5427 !important; }
#heyuSheet .heyu-list{ margin:0; padding-left:20px; }
#heyuSheet .heyu-list li{ font-size:.9rem; line-height:1.65; margin:0 0 6px;
  color:#5b5950 !important; -webkit-text-fill-color:#5b5950 !important; }
#heyuSheet .heyu-f{ display:flex !important; flex-direction:row !important; gap:10px;
  justify-content:flex-end; flex-wrap:wrap; margin:20px 0 0; }
#heyuSheet .heyu-b{ min-height:48px; padding:13px 20px; border-radius:999px; cursor:pointer;
  font:inherit; font-weight:800; font-size:.88rem;
  background:#fff !important; border:1.5px solid #EAE2D4 !important;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#heyuSheet .heyu-b.is-go{ background:#243447 !important; border-color:#243447 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#heyuToast{ position:fixed; left:50%; bottom:26px; transform:translate(-50%,14px); z-index:9800;
  background:#243447 !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
  padding:14px 24px; border-radius:999px; font:700 .87rem/1.35 'Nunito',system-ui,sans-serif;
  opacity:0; pointer-events:none; transition:opacity .2s, transform .2s;
  max-width:calc(100vw - 32px); text-align:center; }
#heyuToast.on{ opacity:1; transform:translate(-50%,0); }
