/* Shared mobile foundation and chrome. Desktop layout stays with each page's own stylesheet. */
.mobile-nav,.mobile-menu-toggle,.mobile-overflow,.mobile-review-nav,.mobile-library-actions,.mobile-sort-tools,.rv-filter-toggle { display:none; }
.mobile-cell-value { display:contents; }
.rv-mobile-label,.rv-mobile-more { display:none; }
.learning-result > summary { display:block; list-style:none; cursor:pointer; }
.learning-result > summary::-webkit-details-marker { display:none; }
.learning-result-score { display:none; }
/* Progress is prose, including on desktop. */
.work-progress .tag { font-family:inherit; font-weight:500; line-height:1.5; border:0; padding:0; }
.work-activity > a { font-weight:600; text-decoration:none; }
.work-activity p { margin:6px 0; }
body[data-reviewer-only=true] :is(#ppClientApprove,#ppSchedRow,#ppUnschedule,#ppTikTok,#portalBtn,#personaForm,#deleteForm,.persona-actions,.soc .btn) { display:none !important; }
@media (hover:none) and (pointer:coarse) {
  .btn kbd,.rv-top kbd,.topbar kbd,.rv-bulk kbd,#rvHelpBtn,#ideasKeys,.rv-kh,.hints { display:none !important; }
}
@media (max-width:820px) {
  :root { --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px; --space-8:32px; --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --mobile-nav-height:calc(64px + env(safe-area-inset-bottom,0px)); --mobile-actions-height:72px; }
  html { -webkit-text-size-adjust:100%; scroll-padding-bottom:calc(var(--mobile-nav-height) + 80px); }
  html,body { font-size:16px; line-height:1.5; min-width:0; }
  body { padding-left:env(safe-area-inset-left,0px); padding-right:env(safe-area-inset-right,0px); }
  body.has-mobile-nav { padding-bottom:var(--mobile-nav-height); }
  input,select,textarea,.dlg input,.dlg textarea,.dlg select { font-size:16px !important; max-width:100%; min-width:0; }
  input:not([type=checkbox]):not([type=radio]),select,textarea { min-height:48px; }
  button,.btn,.btn.sm,.btn.small,.chip,.folder-btn,summary,[role=option],[role=button] { min-height:44px; min-width:44px; }
  .btn,.btn.sm,.btn.small,.chip { height:auto; padding:10px 12px; font-size:15px; line-height:1.35; border-radius:var(--radius-md); white-space:normal; }
  button { touch-action:manipulation; }
  input[type=checkbox],input[type=radio] { flex:none; width:22px; height:22px; }
  label:has(> input[type=checkbox]),label:has(> input[type=radio]) { min-height:44px; align-items:center; gap:12px; padding:8px 0; }
  summary { padding:10px 0; cursor:pointer; }
  .top,.topbar { padding:8px 16px; gap:8px; min-height:64px; padding-top:max(8px,env(safe-area-inset-top)); }
  .top { position:relative; }
  .top > .logo { min-height:44px; font-size:18px; flex:1; }
  .wrap { padding:16px; width:100%; }
  .card { padding:16px; border-radius:var(--radius-lg); min-width:0; }
  h1 { font-size:28px; line-height:1.2; }
  h2 { font-size:22px; line-height:1.3; }
  h3 { font-size:18px; }
  .row { flex-direction:column; align-items:stretch !important; gap:12px; }
  .row > * { flex:none !important; width:100%; min-width:0; }
  .tag,.vb,.rv-ver,.eyebrow,.badge-n,.rv-item .m,.rv-cc,.rv-vrow code,.rv-vst,.mode-tag { font-size:12px; line-height:1.4; }
  .tag { white-space:normal; overflow-wrap:anywhere; font-family:inherit; }
  .small,small,.muted { overflow-wrap:anywhere; }
  small { font-size:13px; }
  p,pre,code,.card { overflow-wrap:anywhere; }
  pre { white-space:pre-wrap; }
  .auth { margin:16px auto 24px; }
  .auth p a,footer.f a { display:inline-flex; align-items:center; min-height:44px; padding:8px 4px; }
  footer.f { padding:16px; }
  .hero,.plans,.features,.features.four { grid-template-columns:minmax(0,1fr); }
  .hero { gap:24px; }
  .hero h1 { font-size:32px; }
  .hero > div { min-width:0; }
  .hero .btn { margin:4px 0; }
  .topnav { gap:8px; }
  .topnav .btn { padding:10px; font-size:13px; }
  .persona { gap:12px; padding:12px; }
  .persona .persona-actions { flex-wrap:wrap; width:100%; margin:0; }
  .socials { grid-template-columns:minmax(0,1fr); }
  .soc .btn { width:100%; margin-top:8px; }
  .pausebox { display:flex; flex-direction:column; align-items:stretch; }
  .pausebox > * { flex:none; width:100%; min-width:0; }
  .pausebox p { flex:none; }
  .pausebox input { flex:none; }
  /* A single sticky, scrollable row. Its contents never set the page width. */
  .tabs,.ideas-tabs,.rv-states { display:flex; flex-wrap:nowrap; overflow-x:auto; max-width:100%; gap:8px; scrollbar-width:none; overscroll-behavior-x:contain; }
  .tabs > *,.ideas-tabs > *,.rv-states > * { flex:none; white-space:nowrap; min-height:44px; }
  .tabs,.ideas-tabs { position:sticky; top:0; z-index:20; padding:8px 0; background:#0c0d16; margin:0 0 16px; }
  .ideas-tabs { padding:8px 16px; }
  .ideas-tabs a { display:flex; align-items:center; font-size:15px; padding:8px 14px; }
  .ideas-main { padding:16px 16px 32px; }
  .ideas-heading { display:block; margin-bottom:16px; }
  .ideas-heading .btn { margin:12px 0; width:100%; }
  #ideasKeys { display:none !important; }
  .ideas-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .idea-card,.ideas-stack .card { padding:16px; }
  .idea-card blockquote { font-size:22px; margin:16px 0; }
  .idea-card dl { grid-template-columns:80px minmax(0,1fr); }
  .ideas-actions { gap:8px; }
  .idea-card .ideas-actions { display:grid; grid-template-columns:1fr 1fr; }
  .idea-card .ideas-actions .btn { min-height:48px; width:100%; }
  .ideas-filters { display:flex; flex-direction:column; align-items:stretch; }
  .ideas-filters label { width:100%; min-width:0; }
  .ideas-table.card { padding:12px; overflow:visible; }
  /* Preserve the real table, cells, content, and handlers; expose column labels as card fields. */
  table.cards-on-mobile,.card table.cards-on-mobile:not(.compare) { display:block; width:100%; overflow:visible; max-width:100%; }
  .cards-on-mobile > :is(tbody,tfoot) { display:block; }
  .cards-on-mobile .mobile-table-head,.cards-on-mobile thead { display:none; }
  .cards-on-mobile tr:not(.mobile-table-head) { display:block; padding:12px; margin:0 0 12px; background:#ffffff04; border:1px solid #ffffff1a; border-radius:12px; }
  table.cards-on-mobile td,.card table.cards-on-mobile:not(.compare) td,.card table.cards-on-mobile:not(.compare) td:first-child { display:grid; grid-template-columns:96px minmax(0,1fr); gap:12px; width:100%; min-width:0; max-width:none; padding:4px 0; text-align:left; font-size:15px; }
  table.cards-on-mobile td:first-child,.card table.cards-on-mobile:not(.compare) td:first-child { display:block; padding:0 0 8px; font-weight:600; }
  .cards-on-mobile td:first-child::before { display:none; }
  .cards-on-mobile td::before { content:attr(data-label); color:#9aa0b8; font-size:13px; line-height:1.5; }
  .cards-on-mobile td:last-child { border:0; }
  .mobile-cell-value { display:block; min-width:0; overflow-wrap:anywhere; }
  .mobile-cell-value > :is(select,input,textarea) { width:100% !important; }
  .mobile-cell-value .check { margin-top:0; }
  .mobile-sort-tools { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:12px; }
  .mobile-sort-tools .btn { flex:1 1 120px; }
  .learning-main { margin:0 auto; padding:16px; }
  .learning-main .ideas-tabs { margin:-16px -16px 16px; max-width:calc(100% + 32px); }
  #learningContent > .card { margin-bottom:12px; }
  #learningContent > .learning-result { padding:0; }
  .learning-result > summary { display:flex; align-items:center; gap:12px; min-height:64px; padding:12px 16px; }
  .learning-result > summary h2 { flex:1; min-width:0; margin:0; font-size:16px; line-height:1.5; }
  .learning-result-score { display:block; margin-top:4px; color:var(--mute); font-size:13px; font-weight:400; }
  .learning-result > summary::after { content:'+'; color:var(--mute); font-size:22px; }
  .learning-result[open] > summary::after { content:'−'; }
  .learning-result-body { padding:0 16px 16px; }
  .learning-scores { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; align-items:end; }
  .learning-scores button { grid-column:1/-1; }
  .learning-scores label { margin:0; }
  .learning-remake { margin-top:12px; border-top:1px solid #ffffff1a; }
  .work-progress { margin:4px 0; font-size:13px; }
  .work-progress summary { min-height:44px; }
  .work-progress .tag { font-size:13px; }
  .work-activity { padding:16px 0; }
  .work-activity > a { display:flex; align-items:center; min-height:44px; padding:8px 0; }
  .work-activity .tag a, .work-activity summary a { display:inline-flex; align-items:center; min-height:44px; }
  #rvHelp kbd { font-size:12px; }
  /* Full-width native dialog sheets remain in the browser's top layer. */
  dialog.card,dialog.dlg,#activityDialog,.rv-sheet,.ideas-dialog { position:fixed; inset:auto 0 0; margin:0; width:100%; max-width:100%; max-height:90vh; max-height:90dvh; overflow-y:auto; border-radius:16px 16px 0 0; padding:24px 16px max(24px,env(safe-area-inset-bottom)); color:#eef0ff; background:#11131b; }
  dialog::backdrop { background:#000b; }
  .dlg-actions,.rv-sheet-actions { display:flex; flex-direction:column; align-items:stretch; }
  .dlg-actions .btn,.rv-sheet-actions .btn,.ideas-dialog .ideas-actions .btn { width:100%; min-height:48px; }
  .ideas-dialog .ideas-actions { display:flex; flex-direction:column; }
  dialog form { min-width:0; }
  .tt-body,.pm-body,.row2 { grid-template-columns:minmax(0,1fr); }
  .tt-preview { width:100%; height:180px; object-fit:contain; }
  .tt-dlg .dlg-actions { bottom:0; margin:0; padding:16px 0; }
  .pm-accrow { grid-template-columns:minmax(0,1fr); }
  .pm-accrow small { grid-column:auto; }
  /* Fixed chrome is opaque and shares the same safe-area measurement. */
  .mobile-nav { position:fixed; inset:auto 0 0; z-index:100; display:flex; justify-content:space-around; height:var(--mobile-nav-height); padding:4px 8px env(safe-area-inset-bottom,0px); background:#10121e; border-top:1px solid #ffffff20; }
  .mobile-nav a { flex:1; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:56px; min-width:44px; color:#9aa3b8; text-decoration:none; font-size:12px; font-weight:600; line-height:1.4; border-radius:8px; }
  .mobile-nav a[aria-current=page] { color:#7cf3ff; background:#7cf3ff0c; }
  .mobile-nav-badge { position:absolute; top:0; left:calc(50% + 5px); min-width:18px; height:18px; padding:0 4px; background:#7cf3ff; color:#0c0d16; border-radius:12px; font-size:12px; }
  .mobile-menu-toggle { display:inline-flex; justify-content:center; flex:none; letter-spacing:2px; }
  .mobile-overflow:not([hidden]) { position:absolute; display:flex; flex-direction:column; align-items:stretch; gap:8px; right:16px; top:calc(100% - 4px); width:min(320px,calc(100vw - 32px)); padding:12px; z-index:120; background:#191c29; border:1px solid #ffffff24; border-radius:12px; box-shadow:0 12px 32px #0008; }
  .mobile-overflow > *,.mobile-overflow .btn { width:100%; }
  .mobile-overflow .rv-topr,.mobile-overflow .saas-nav,.mobile-overflow > span { display:flex; flex-direction:column; gap:8px; margin:0; }
  .mobile-overflow .folder-dd { margin:0; }
  .mobile-overflow .folder-btn { width:100%; max-width:100%; }
  .mobile-overflow #addBtn { display:flex; }
  .demo-banner { position:relative; top:auto; left:auto; bottom:auto; transform:none; max-width:100%; margin:8px 16px; }
  #sharedToast,.rv-toast { bottom:calc(var(--mobile-nav-height) + 84px); max-width:calc(100vw - 32px); width:max-content; z-index:150; }
  #sharedToast { left:16px; }
  [hidden] { display:none !important; }
}
@media (max-width:820px) {
  /* Admin tabs precede the collapsed activity feed in the mobile reading order. */
  body[data-page=admin] > .wrap { display:flex; flex-direction:column; }
  body[data-page=admin] .tabs { order:-2; }
  body[data-page=admin] #pauseBanner { order:-1; }
  .admin-activity { margin-bottom:16px; }
  .admin-activity > h2 { display:none; }
  .admin-activity summary { font-size:16px; font-weight:600; }
  body[data-page=admin] section[data-tab] { margin:0; }
  /* Review has two explicit screens: queue cards, then player and detail. */
  body[data-page=review] { overflow:visible; height:auto; }
  .rv-top { display:flex; flex-wrap:wrap; gap:8px; padding:8px 16px; }
  .rv-top > .logo { flex:1; }
  #rvStates { order:10; width:100%; padding:8px 0; }
  .rv-states button { padding:10px 14px; font-size:15px; }
  .rv-filter-toggle { display:flex; margin:0 16px 12px; }
  .rv-filters { display:none; padding:0 16px 16px; flex-direction:column; align-items:stretch; }
  .review-filters-open .rv-filters { display:flex; }
  .rv-filters select { flex:none; width:100%; font-size:16px; }
  .rv-bulk { flex-wrap:wrap; padding:12px 16px; }
  .rv,.rv-bulk:not([hidden]) ~ .rv { display:flex; flex-direction:column; height:auto; padding:0 16px 24px; gap:12px; }
  .rv-list { overflow:visible; border:0; background:none; display:grid; gap:12px; }
  .rv-item { grid-template-columns:44px minmax(0,1fr) auto; padding:12px 8px; border:1px solid var(--line); border-radius:12px; background:#ffffff05; min-height:88px; gap:8px; }
  .rv-item .t { font-size:16px; white-space:normal; }
  .rv-item .m { font-size:13px; line-height:1.5; white-space:normal; margin-top:4px; }
  .rv-select { display:grid; place-items:center; width:44px; min-height:44px; margin:0; cursor:pointer; }
  .rv-select input { width:22px; height:22px; }
  .rv-stage,.rv-detail { display:none; }
  .review-open .rv-list,.review-open #rvStates,.review-open .rv-filter-toggle,.review-open .rv-filters,.review-open .rv-bulk { display:none; }
  .mobile-review-nav { gap:4px; align-items:center; padding:0 16px 8px; }
  .review-open .mobile-review-nav { display:flex; }
  #rvMobilePosition { flex:1; color:var(--mute); font-size:13px; text-align:center; }
  .rv-actions .rv-mobile-more { display:block; position:relative; min-width:0; }
  .rv-mobile-more summary { display:flex; align-items:center; justify-content:center; min-height:48px; list-style:none; text-align:center; border:1px solid var(--line); border-radius:12px; font-size:15px; }
  .rv-mobile-more summary::-webkit-details-marker { display:none; }
  .rv-mobile-more > div { position:absolute; bottom:calc(100% + 8px); right:0; padding:12px; z-index:30; width:min(280px,calc(100vw - 32px)); background:#191c29; border:1px solid var(--line); border-radius:12px; }
  .rv-mobile-more .btn { width:100%; margin:4px 0; }
  .review-open .rv-stage { display:flex; height:min(52dvh,calc(100svh - 268px)); min-height:180px; width:100%; }
  .rv-stage video { width:100%; height:100%; max-height:62dvh; object-fit:contain; aspect-ratio:auto; }
  .review-open .rv-detail { display:block; overflow:visible; padding:16px; }
  .review-open .rv { padding-bottom:calc(var(--mobile-actions-height) + 24px); }
  .rv-detail .row { flex-direction:row; flex-wrap:wrap; }
  .rv-detail .row > * { width:auto; }
  .rv-detail h2 { font-size:18px; }
  .rv-detail h3 { font-size:13px; }
  .rv-score input[type=range] { min-height:44px; }
  .rv-score .btn { font-size:13px; min-height:44px; }
  .rv-detail .rv-actions { position:fixed; bottom:var(--mobile-nav-height); left:0; right:0; z-index:90; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:12px 16px; margin:0; background:#11131b; border-top:1px solid #ffffff20; }
  .rv-actions .btn { justify-content:center; min-height:48px; font-size:15px; padding:10px 8px; }
  .rv-actions [data-act=schedule] { display:none; }
  .rv-actions .rv-desktop-label { display:none; }
  .rv-actions .rv-mobile-label { display:inline; }
  .rv-detail .rv-change { scroll-margin-bottom:calc(var(--mobile-nav-height) + 80px); }
  .rv-score-head label,.rv-score-head output { font-size:15px; }
}
/* Wrappers added for touch interaction have no desktop spacing of their own. */
.rv-select { margin:0; }
.admin-activity > details > summary { display:none; }
@media (max-width:820px) {
  .admin-activity > details > summary { display:list-item; }
  /* Library: flat DOM video, native playback controls, then a separate post panel. */
  body:has(#app) { --mobile-header-height:calc(64px + env(safe-area-inset-top,0px)); height:100%; padding-bottom:0; }
  .topbar { position:fixed; height:var(--mobile-header-height) !important; flex-wrap:nowrap; background:#0c0e17; z-index:110; padding:8px 12px !important; padding-top:calc(8px + env(safe-area-inset-top,0px)) !important; }
  .topbar .brand { flex:1; gap:8px; min-width:0; }
  .topbar .logo { flex:none; }
  .topbar .brand-name,.topbar .counter,.topbar .live,.topbar .mode-tag,.topbar .seg { display:none; }
  .topbar .actions { min-width:0; flex:none; gap:8px; }
  .topbar #viewToggle { min-width:44px; width:44px; justify-content:center; padding:0; }
  .topbar #viewLabel { display:none; }
  .topbar .folder-btn { min-height:44px; height:auto; padding:8px; }
  #personaDD { margin:0; min-width:0; }
  #personaBtn { max-width:calc(100vw - 154px); }
  #personaBtn .fname { max-width:100%; font-size:15px; }
  #personaBtn .pacc { display:none; }
  .folder-menu,.persona-menu { position:fixed; left:12px; right:12px; top:var(--mobile-header-height); width:auto; max-width:calc(100vw - 24px); max-height:65dvh; }
  .fitem { min-height:56px; grid-template-columns:minmax(0,1fr) auto; padding:12px; }
  .persona-menu .fitem { grid-template-columns:34px minmax(0,1fr) auto; }
  .fitem .fk { display:none; }
  .fitem .fn small,.fitem .fc,.fitem .fc .fp,.folder-btn .fcount { font-size:13px; }
  .pav,.pchip-inline .pav,.pchip-inline.sm .pav { width:24px; height:24px; font-size:12px; }
  .acc { width:24px; height:24px; font-size:12px; }
  main#app { inset:var(--mobile-header-height) 0 var(--mobile-nav-height); }
  #focus { touch-action:pan-y; overflow-y:auto; overflow-x:clip; padding-bottom:calc(var(--mobile-actions-height) + 16px); user-select:auto; -webkit-user-select:auto; }
  #stage { position:relative; inset:auto; width:100%; height:min(56dvh,calc(100svh - 284px)); min-height:180px; perspective:none !important; cursor:auto; touch-action:pan-y; opacity:1 !important; background:#000; }
  #glc,#glInfo { display:none !important; }
  #stage .card { top:0; left:0; margin:0; width:100%; height:100%; border-radius:0; box-shadow:none; background:#000; }
  #stage video { width:100%; height:100%; object-fit:contain; pointer-events:auto; }
  #stage :is(.overlay,.snd,.newtag,.paused-ico,.progress,.badge,.dim,.shine) { display:none; }
  .focus > .nav { display:flex; align-items:center; justify-content:center; position:absolute; top:8px; width:44px; height:44px; margin:0; opacity:1; z-index:10; background:#141724e8; border-radius:12px; }
  .focus > .nav.prev { left:12px; }
  .focus > .nav.next { right:12px; }
  .focus > .nav:disabled { opacity:.35; }
  #postPanel,body[data-role=client] #postPanel { position:relative !important; inset:auto !important; transform:none !important; width:auto !important; max-height:none; overflow:visible; padding:16px; margin:12px; background:#11131b; border-radius:16px; gap:12px; opacity:1; font-size:15px; }
  #postPanel > *,body[data-role=client] #postPanel > * { order:initial; }
  #postPanel .pp-head { order:-3; }
  #postPanel #ppWhen { order:-2; }
  #postPanel .pp-caption { display:block; max-height:none; -webkit-line-clamp:unset; overflow:visible; font-size:15px; }
  #postPanel .pp-caption:empty { display:none; }
  #postPanel .pp-notes { display:block; }
  #postPanel .pp-foot { display:none; }
  #postPanel :is(#ppApprove,#ppAdminChanges,#ppReject,#ppClientApprove,#ppClientChanges,#ppChange,#ppSchedule) { display:none; }
  #postPanel .pp-actions:has(> #ppApprove),#postPanel .pp-actions:has(> #ppChange),#ppAwaiting .pp-actions { display:none; }
  #postPanel .pp-actions.small .btn { min-height:44px; height:auto; font-size:13px; }
  #postPanel #ppSchedRow:has(#ppUnschedule[hidden]) { display:none; }
  #ppAwaiting p { margin:0; }
  .pp-fnotes { margin:0; padding:0; font-size:15px; }
  .pp-fnotes[open] { max-height:none; overflow:visible; }
  .pp-fnotes .small { font-size:13px; }
  .pp-when b { font-size:16px; }
  .pp-when span { font-size:13px; }
  .pill,.ptag,.pchip-inline,.pchip-inline.sm { min-height:26px; height:auto; padding:4px 8px; font-size:12px; line-height:1.4; }
  .ptag { flex-wrap:wrap; max-width:100%; overflow-wrap:anywhere; }
  .mobile-library-actions:not([hidden]) { position:fixed; left:0; right:0; bottom:var(--mobile-nav-height); z-index:90; display:flex; gap:8px; padding:12px 16px; min-height:72px; background:#11131b; border-top:1px solid #ffffff20; }
  .mobile-library-actions .btn { flex:1; min-width:0; min-height:48px; justify-content:center; font-size:15px; font-weight:600; }
  .filters { top:var(--mobile-header-height) !important; left:0; right:0; transform:none; max-width:100%; width:100%; border-radius:0; background:#10121e; padding:8px 12px; }
  .filters .chip { flex:none; min-height:44px; white-space:nowrap; }
  .grid-view,body.mode-grid .grid-view { padding:76px 12px 24px !important; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .tile { border-radius:12px; aspect-ratio:auto; padding-top:178%; min-width:0; }
  .tile .tmeta { position:relative; opacity:1; padding:12px; font-size:13px; background:#11131b; }
  .tile video { bottom:auto; height:auto; aspect-ratio:9/16; }
  .tile .tmeta b { font-size:15px; }
  .tile .tmeta span { font-size:13px; -webkit-line-clamp:2; }
  .tile .idx,.tile .badge,.tile .tpersona { display:none; }
  .tile .tstat { top:8px; left:8px; right:8px; align-items:flex-start; }
  .tile .tstat .pill { height:auto; min-height:24px; padding:4px 6px; font-size:12px; max-width:100%; white-space:normal; }
  .tile .tstat .twhen { font-size:12px; }
  .hints { display:none !important; }
  .pd-when { flex-wrap:wrap; }
  .pd-when input { flex-basis:100%; }
  .pd-quick .chip,.sched-dlg .sd-quick .chip { min-height:44px; height:auto; font-size:13px; }
  .pd-plats .pchip { min-height:48px; }
  .pd-plats .pchip em,.pd-plats .pchip span,.pd-note,.pd-warn { font-size:13px; }
  .toast { top:calc(var(--mobile-header-height) + 8px); max-width:calc(100vw - 24px); z-index:130; font-size:15px; flex-wrap:wrap; }
  .toast .btn { min-height:44px; height:auto; }
}
@media (max-width:820px) {
  .topbar > .mobile-overflow { position:absolute !important; }
  input,select,textarea,.persona,.rv-detail,.rv-stage { border-radius:var(--radius-md); }
  .rv-detail .rv-notes,.rv-detail .rv-verdict { font-size:15px; }
  .rv-detail .rv-actions:has([data-act=restore]) { grid-template-columns:2fr 1fr 1fr; }
  .ptag .ptag-why,.folder-btn .caret,.rv-status { font-size:12px; }
  .mobile-cell-value a { display:inline-flex; align-items:center; min-height:44px; }
  .mobile-cell-value .av { font-size:13px !important; }
  .ideas-chart text { font-size:24px; }
  .chart-legend { font-size:13px; }
  .tt-creator small,.sched-dlg .sd-fs small,.sched-dlg label.sd-plat em,.srow .stime small,.srow .sright .cd { font-size:13px; }
}
@media (max-width:820px) {
  .mobile-review-nav { position:sticky; top:0; z-index:40; background:var(--bg); padding-top:8px; }
  .activity-detail { font:inherit; }
}
@media (max-width:820px) {
  .btn.primary { background:#7cf3ff; color:#0c0e17; border:1px solid transparent; }
  #stage video { touch-action:pan-y; }
}
@media (max-width:820px) {
  /* Pinching changes desktop tile density; phone tiles always retain their readable labels. */
  .grid.small .tmeta { display:block; }
  .grid.small .tstat .pill { font-size:12px; width:auto; height:auto; min-height:24px; padding:4px 6px; gap:6px; }
  .grid.small .tstat .twhen { display:block; }
}
