/* Explicit large phone display: derived from responsive source rules. */
main{padding:2rem 1.5rem}.work-columns{grid-template-columns:minmax(350px,1.6fr) minmax(210px,1fr)}.sidebar{width:190px;padding-left:1rem}.topbar{padding:1rem 1.5rem}.edition{display:none}.auth-layout{gap:2.5rem}.intro h1{font-size:2.8rem}
.workspace{display:block}.sidebar{width:auto;padding:.55rem .9rem;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.eyebrow,.sidebar-note{display:none}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:.25rem}.navlink{padding:.55rem .8rem;font-size:.85rem;min-height:44px}.navlink.active{border-left:0;border-bottom:3px solid var(--accent);border-radius:5px 5px 0 0}.work-columns,.two-columns{grid-template-columns:1fr}.work-columns>aside{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-layout{grid-template-columns:1fr;gap:1rem;max-width:560px;margin:auto}.intro{padding:.5rem 0}.intro h1{font-size:2.45rem}.intro-detail{display:none}.signed-out{padding-top:1.5rem}.topbar{gap:.7rem}.logo{width:175px}.account{font-size:.77rem}.page-heading h1{font-size:1.9rem}
main{padding:1.4rem .85rem}.topbar{padding:.7rem .85rem;flex-wrap:wrap}.logo{width:155px}.account{max-width:150px;line-height:1.4}.topbar .quiet{padding:.4rem .5rem;font-size:.85rem}.rehearsal{font-size:.72rem}.panel{padding:1.2rem}.card-content{padding:1.1rem}.card-head{padding:.8rem 1rem;flex-wrap:wrap;gap:.4rem}.work-columns>aside{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.metrics section{padding:1rem;display:grid;grid-template-columns:1fr auto;align-items:center}.metrics small{grid-column:1/-1}.outcomes{grid-template-columns:1fr}.actions>button{flex:1 1 auto}.page-heading>button{width:100%}.questionnaire h1{font-size:1.65rem}.intro h1{font-size:2.2rem}.prompt{padding:.9rem}.edition{display:none}.navlink{font-size:.82rem;padding:.55rem .6rem}.notice,.error{padding:.9rem}.field input,.field textarea,.field select{font-size:1rem}
.focus-banner{padding:1rem}.focus-banner button{width:100%}.version{max-width:100%;text-align:left}
.role-grid{grid-template-columns:1fr}.stakes-fields{padding:.85rem}

  #app.signed-in{padding-bottom:calc(82px + env(safe-area-inset-bottom) + 16px)}
  .topbar{padding-top:max(.75rem,env(safe-area-inset-top,0px));padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}
  main{width:100%;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}
  .sidebar{display:none}
  .sidebar.has-reviewer{display:block;padding:.35rem 1rem;background:#f4f7fb}
  .sidebar .navlink:not([data-view="review"]){display:none}
  .sidebar .navlink[data-view="review"]{margin-left:auto}
  .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:8;bottom:0;left:0;right:0;min-height:var(--mobile-nav-height);padding:.4rem max(.35rem,env(safe-area-inset-right,0px)) max(.4rem,env(safe-area-inset-bottom,0px)) max(.35rem,env(safe-area-inset-left,0px));border-top:1px solid #cbd5e5;background:#fff;box-shadow:0 -4px 18px #12206c0b;gap:.2rem}
  .mobile-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-width:0;min-height:60px;border:0;border-radius:8px;padding:.35rem .15rem;background:transparent;color:#58667a;font-size:.875rem;line-height:1.2;letter-spacing:0}
  .mobile-tab svg{width:22px;height:22px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mobile-tab.active{background:#edf0fa;color:var(--navy);box-shadow:inset 0 3px var(--purple)}
  .mobile-tab:focus-visible{outline-offset:-3px}
  .signed-in~#toast{top:max(.75rem, env(safe-area-inset-top));bottom:auto}
  .focus-banner{margin-bottom:1.15rem;gap:.75rem}
  .heading-actions{width:100%}
  .heading-actions>button{flex:1 1 auto}
  .practice-card,.panel{max-width:100%}
  .table-scroll{max-width:100%;overscroll-behavior-x:contain}


  .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .7rem}
  .topbar .logo{width:155px;max-width:100%;grid-column:1;grid-row:1}
  .topbar .account{max-width:100%;margin:0;grid-column:1/-1;grid-row:2;overflow-wrap:anywhere}
  .topbar .quiet{margin:0;min-height:44px;grid-column:2;grid-row:1}
  .card-content,.panel{padding:1rem}
  .focus-banner{padding:.9rem}
  .focus-banner .small{font-size:.82rem}
  .focus-banner button{font-size:.9rem}
  .card-head .version{max-width:100%}
  .actions{gap:.6rem}
  .actions>button{flex:1 1 100%;width:100%}
  .ai-launch{width:100%}
  .heading-actions>button{font-size:.9rem}
  .feedback form>button{width:100%}
  .review-top{flex-wrap:wrap}
  .question-count{gap:.5rem;font-size:.7rem}
  .stakes-fields{padding:.7rem}
  .prompt{min-height:250px}


  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .workspace{min-height:calc(100dvh - 260px)}
  .sidebar.has-reviewer{padding:.4rem 1rem;background:white}
  .sidebar .navlink[data-view="review"]{font-size:1rem;min-height:48px;width:100%;text-align:center;border:1px solid var(--line);border-radius:8px}
  .topbar .account,.small,.field,.check,.option,.notice,.error,.success{font-size:1rem}
  .page-heading p{font-size:1rem;line-height:1.6}
  button{min-height:48px}
  .page-heading{margin-bottom:1.25rem}
  .review-top{gap:.75rem}


 :root{font-size:18px;--mobile-nav-height:82px}
 main{padding:1.2rem 1rem}.signed-out{padding-top:1.2rem}
 .auth-layout{display:block;max-width:none}.intro{padding:0}.intro h1{font-size:1.85rem;line-height:1.15;margin-bottom:.65rem}.intro>p:not(.eyebrow){font-size:1rem;margin-bottom:1.2rem}
 .auth-panel{padding:1rem;margin:0}.auth-panel h2{font-size:1.3rem}.auth-panel p{font-size:1rem}.auth-panel button[type=submit]{width:100%;min-height:58px;font-size:1.05rem}
 .topbar{min-height:76px}.topbar .logo{width:170px}.topbar .account{font-size:.85rem}
 h1,.page-heading h1{font-size:1.75rem}.eyebrow{font-size:.72rem;letter-spacing:.07em}
 .field input,.field select,.field textarea{font-size:1rem;min-height:56px}.field{margin:.9rem 0}button{min-height:56px}
 .home-tile{grid-template-columns:42px 1fr 14px;padding:1rem .8rem;gap:.7rem;min-height:112px;border-radius:14px}.tile-number{width:42px;height:42px}.home-tile strong{font-size:1.15rem}.tile-detail{font-size:.95rem}
 .mobile-tab{font-size:.8rem;min-height:64px}.mobile-tab svg{width:26px;height:26px}
 .home-hub>p{margin-bottom:.8rem}.home-tiles{gap:.75rem;margin-top:1rem}
 footer{font-size:.8rem;padding:1rem}.workspace{min-height:calc(100dvh - 210px)}

.pwa-install-strip{justify-content:space-between;gap:.6rem;font-size:.74rem}.pwa-install-strip>span{max-width:44%}.pwa-dialog{margin:auto auto 0;border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:92dvh;padding:1.7rem 1.2rem calc(1.5rem + env(safe-area-inset-bottom))}.pwa-dialog h2{font-size:1.65rem}.pwa-dialog-actions button{flex:1}.pwa-update{gap:0;text-align:center}
html.large-phone-display .workspace{min-height:0}html.large-phone-display body{min-height:calc(100dvh / var(--phone-zoom,1))}html.large-phone-display .home-hub{max-width:none}html.large-phone-display #app:has(.home-hub) .sidebar{display:none}
/* Home-screen PWA: fill the device; never letterbox as a tiny desktop pane */
@media (display-mode: standalone), (display-mode: fullscreen) {
  html.large-phone-display, html.large-phone-display body, html.large-phone-display #app {
    width: 100%; max-width: 100%; min-height: 100dvh;
  }
  html.large-phone-display body {
    min-height: 100dvh;
  }
  html.large-phone-display .home-hub,
  html.large-phone-display main,
  html.large-phone-display .signed-out {
    max-width: none; width: 100%;
  }
}
