/* ============================================================
   PARITY homeroom — web own/visited profile matched to the app (HomeroomProfileView.swift + HomeroomDenShared.swift).
   Loaded after themes/homeroom.css (views/homeroom-view.js adds the <link> if index.html does not have it).
   App order: top bar (crest, HOMEROOM, bell, pencil) · taped cover card · CIRCLE photo lifted ~40% onto the cover · ink ribbon name ·
   Caveat handle "· Class of" · dashed role patch · Welcome Mat on notebook paper · Block ID chips (HALL PASS card) · yearbook ·
   report card · pills · notebook-divider tabs. Light = paper, dark (system dark mode) = chalkboard; both kept.
   ============================================================ */

/* light: the app's deeper gold on paper (HDPalette.homeroom gold #AD8012, goldText #8A6420); dark keeps #D4A63C */
html[data-theme="homeroom"] .bm-hr-wrap,
html[data-theme="homeroom"] #bm-pt-rest { --hr-gold: #AD8012; --hr-gold-text: #8A6420; }
@media (prefers-color-scheme: dark) {
  html[data-theme="homeroom"] .bm-hr-wrap,
  html[data-theme="homeroom"] #bm-pt-rest { --hr-gold: #D4A63C; --hr-gold-text: #E8C46A; }
}

/* the wrap is its own size container so the hero scales to the column (phone ↔ desktop), not the viewport */
html[data-theme="homeroom"] .bm-hr-wrap {
  container: hr / inline-size;
  max-width: 640px; box-sizing: border-box;
  --hr-d: min(340px, 85cqi);          /* photo diameter: 85% of the column, capped at phone size */
  --hr-cover-h: 220px;
}

/* ---------- top bar ---------- */
html[data-theme="homeroom"] .bm-hr-icon { display: inline-grid; place-items: center; padding: 0; }
html[data-theme="homeroom"] .bm-hr-icon svg { display: block; }

/* ---------- taped cover card ---------- */
html[data-theme="homeroom"] .bm-hr-cover { height: var(--hr-cover-h); box-sizing: border-box; overflow: visible; }
html[data-theme="homeroom"] .bm-hr-cover-in { display: block; width: 100%; height: 100%; border-radius: 3px; overflow: hidden; background: #000; }
html[data-theme="homeroom"] .bm-hr-cover-in .bm-hr-fill { width: 100%; height: 100%; border-radius: 0; }
html[data-theme="homeroom"] .bm-hr-tape { left: auto; right: auto; }
html[data-theme="homeroom"] .bm-hr-tape.l { left: 18px; }
html[data-theme="homeroom"] .bm-hr-tape.r { right: 18px; }
html[data-theme="homeroom"] .bm-hr-play { display: none; }   /* the app has no play badge: tapping the cover opens the viewer */

/* ---------- identity: circle photo, thin paper / chalk ring ---------- */
html[data-theme="homeroom"] .bm-hr-ident { margin-top: max(calc(var(--hr-d) * -0.40), calc(12px - var(--hr-cover-h))); }
html[data-theme="homeroom"] .bm-hr-bigphoto {
  width: var(--hr-d); height: var(--hr-d); padding: 0; border-radius: 50%; overflow: hidden;
  background: var(--hr-paper); transform: none; animation: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .22);
}
html[data-theme="homeroom"] .bm-hr-bigphoto:hover { transform: translateY(-2px); }
html[data-theme="homeroom"] .bm-hr-bigphoto-img { width: 100%; height: 100%; aspect-ratio: auto; border-radius: 50%; position: relative; }
html[data-theme="homeroom"] .bm-hr-bigphoto-img::after { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 4px var(--hr-paper); pointer-events: none; }
html[data-theme="homeroom"] .bm-hr-bigphoto-img .bm-hr-fill { width: 100%; height: 100%; }
/* no photo: the crest fills the circle edge to edge on the card colour */
html[data-theme="homeroom"] .bm-hr-nophoto { display: grid; place-items: center; background: var(--hr-paper); }
html[data-theme="homeroom"] .bm-hr-nophoto img { width: 92%; height: 92%; object-fit: contain; }
html[data-theme="homeroom"] .bm-hr-pin { display: none; }
@media (prefers-color-scheme: dark) {
  html[data-theme="homeroom"] .bm-hr-bigphoto-img::after { box-shadow: inset 0 0 0 4px var(--hr-ink); }
}
html[data-theme="homeroom"] .bm-hr-ribbon { margin-top: 6px; padding: 6px 28px; max-width: calc(100% - 8px); box-sizing: border-box; }
html[data-theme="homeroom"] .bm-hr-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Welcome Mat on notebook paper (WelcomeMatView: Caveat 21, ink; pencil in ink-2; owner add prompt as a plain link) ---------- */
html[data-theme="homeroom"] .bm-hr-note { padding: 16px 16px 16px 46px; overflow: hidden; }
html[data-theme="homeroom"] .bm-hr-note .bm-hr-wm { display: block; margin: 0; text-align: left; font: 700 21px/28px Caveat, cursive; color: var(--hr-ink); white-space: pre-wrap; opacity: 1; }
html[data-theme="homeroom"] .bm-hr-note .bm-wm-pencil { font: 700 11px Inter, sans-serif; color: var(--hr-ink-2); opacity: 1; margin-left: 8px; }
html[data-theme="homeroom"] .bm-hr-note .bm-hr-wm.bm-wm-empty { display: block; padding: 0; border: 0; border-radius: 0; background: none; font: 700 13px/28px Inter, sans-serif; color: var(--hr-ink-2); cursor: pointer; }
html[data-theme="homeroom"] .bm-hr-note .bm-wm-empty small { display: none; }

/* ---------- Block ID (chip row + HALL PASS card), in the hero like the app ---------- */
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid { max-width: none; margin: 12px -14px 0; padding: 0; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-chips { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; padding: 0 16px; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-chips::-webkit-scrollbar { display: none; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-chip { flex: none; white-space: nowrap; border: 0; border-radius: 999px; padding: 6px 10px; gap: 5px;
  background: color-mix(in srgb, var(--hr-ink) 10%, transparent); color: var(--hr-ink); font: 600 11px Inter, system-ui, sans-serif; letter-spacing: 0; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-chip .bm-bid-ic { color: var(--hr-gold); width: 14px; height: 14px; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-open { flex: none; white-space: nowrap; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--hr-gold) 60%, transparent);
  background: transparent; color: var(--hr-gold); padding: 6px 10px; font: 700 11px Inter, system-ui, sans-serif; letter-spacing: 0; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-wm { display: none; }   /* the add prompt already sits on the notebook paper */
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-card { max-width: none; margin: 10px 16px 0; padding: 14px; border-radius: 14px; box-shadow: none;
  background: color-mix(in srgb, var(--hr-ink) 6%, var(--hr-paper)); color: var(--hr-ink); border: 1px solid color-mix(in srgb, var(--hr-gold) 45%, transparent); }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-title { font: 900 10px Inter, system-ui, sans-serif; letter-spacing: 1.5px; color: var(--hr-gold); }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-title::before { content: none; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-row { justify-content: flex-start; border-top: 0; padding: 4px 0; font-size: 13px; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-row span { width: 100px; flex: none; font: 900 9px Inter, sans-serif; letter-spacing: 1px; text-transform: uppercase; opacity: .7; display: inline-flex; gap: 6px; align-items: center; }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-row span .bm-bid-ic { color: var(--hr-gold); }
html[data-theme="homeroom"] .bm-hr-bidwrap .bm-bid-row b { text-align: left; font-weight: 400; }

/* ---------- report card (light gold from the app palette) ---------- */
html[data-theme="homeroom"] .bm-hr-report-head b { margin-left: 6px; }

/* ---------- the default profile below the hero ---------- */
/* the hero already shows the Welcome Mat, Block ID and the anthem (mini player), so the rest drops its copies */
html[data-theme="homeroom"] #bm-pt-rest > .bm-wm-slot,
html[data-theme="homeroom"] #bm-pt-rest > .bm-bid,
html[data-theme="homeroom"] #bm-pt-rest > .bm-anthem-bar { display: none; }
html[data-theme="homeroom"] #bm-pt-rest .bm-subtab-nav { margin-top: 10px; scrollbar-width: none; }
html[data-theme="homeroom"] #bm-pt-rest .bm-subtab-nav::-webkit-scrollbar { display: none; }
html[data-theme="homeroom"] #bm-pt-rest .bm-subtab { cursor: pointer; }
html[data-theme="homeroom"] #bm-pt-rest .bm-subtab:focus-visible { outline: 3px solid var(--hr-gold); outline-offset: -3px; }
html[data-theme="homeroom"] #bm-pt-rest .bm-anthem-embed { display: block; max-width: 612px; margin-inline: auto; }

/* ---------- responsive: phones fill the width; regular-width canvases cap and center (AdaptiveLayout) ---------- */
@container hr (max-width: 500px) {
  html[data-theme="homeroom"] .bm-hr-wrap .bm-hr-cover { height: 170px; }
  html[data-theme="homeroom"] .bm-hr-wrap .bm-hr-ident { margin-top: max(calc(var(--hr-d) * -0.40), -158px); }
  html[data-theme="homeroom"] .bm-hr-wrap .bm-hr-name { font-size: 21px; }
  html[data-theme="homeroom"] .bm-hr-wrap .bm-hr-pill { padding: 9px 13px; }
}
@container (min-width: 900px) {
  html[data-theme="homeroom"] #bm-pt-rest { max-width: none; margin-inline: auto; }
}
/* fallback for browsers without container queries */
@supports not (container-type: inline-size) {
  html[data-theme="homeroom"] .bm-hr-wrap { --hr-d: min(340px, 85vw); }
  @media (max-width: 520px) { html[data-theme="homeroom"] .bm-hr-wrap { --hr-cover-h: 170px; } }
}
/* TV / console: no hover-only affordances, bigger focus rings for the remote */
html.bm-tv[data-theme="homeroom"] .bm-hr-wrap :focus-visible,
html.bm-tv[data-theme="homeroom"] #bm-pt-rest :focus-visible { outline-width: 4px; outline-offset: 3px; }
html.bm-tv[data-theme="homeroom"] .bm-hr-pill::after { display: none; }
@media (prefers-reduced-motion: reduce) {
  html[data-theme="homeroom"] .bm-hr-bigphoto { transition: none; }
}
