/* Shared MockRN navigation: persistent desktop rail, one left drawer on mobile. */
html[data-mr-navigation] { --mr-nav-height:64px; --mr-nav-offset:0px; --mr-rail-width:248px; }
html[data-mr-navigation="app"].has-promo { --mr-nav-offset:64px; }
html[data-mr-navigation] body { box-sizing:border-box; padding-left:var(--mr-rail-width); }
.mr-site-header, .mr-site-sheet { box-sizing:border-box; font-family:'Geist',-apple-system,BlinkMacSystemFont,sans-serif; color:#292d2f; }
.mr-site-header { position:fixed; top:var(--mr-nav-offset); left:var(--mr-rail-width); right:0; z-index:60; background:#fffcf7; border-bottom:1px solid rgba(41,45,47,.12); }
.mr-site-header-inner { display:flex; align-items:center; gap:16px; min-height:64px; padding:0 28px; }
.mr-site-brand { display:inline-flex; align-items:center; gap:8px; flex:none; min-height:44px; color:#292d2f; font-size:22px; font-weight:700; letter-spacing:-.04em; text-decoration:none; }
.mr-site-brand img { box-sizing:border-box; width:30px; height:30px; padding:4px; background:#315956; border-radius:8px; }
.mr-site-brand > span > span { color:#e5826b; }
.mr-site-header .mr-site-brand { display:none; }
.mr-site-account { margin-left:auto; display:flex; align-items:center; gap:18px; font-size:14px; }
.mr-site-account > a, .mr-account-menu summary { display:inline-flex; align-items:center; min-height:44px; color:#555b5d; font-weight:600; text-decoration:none; cursor:pointer; }
.mr-site-account > .mr-site-signup { padding:0 14px; border:0; border-radius:8px; background:#ff8268; color:#202828; }
.mr-site-account > .mr-site-signup:hover { background:#ff8c73; }
.mr-signup-short { display:none; }
.mr-site-identity { color:#69716e; font-size:12px; white-space:nowrap; }
.mr-site-identity [data-mr-email] { color:#292d2f; display:inline-block; max-width:230px; overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; }
.mr-account-menu { position:relative; margin:0; padding:0; border:0; background:none; }
.mr-account-menu summary { list-style:none; margin:0; padding:0; border:0; background:none; }
.mr-account-menu summary::-webkit-details-marker { display:none; }
.mr-account-menu summary::after { content:'⌄'; margin-left:8px; }
.mr-account-popover { position:absolute; right:0; top:48px; width:min(280px,calc(100vw - 32px)); box-sizing:border-box; padding:12px; border:1px solid rgba(52,73,71,.14); border-radius:12px; background:#fffcf7; box-shadow:0 18px 40px rgba(9,16,30,.18); }
.mr-account-popover p { margin:4px 8px 8px; font-size:12px; color:#69716e; overflow-wrap:anywhere; }
.mr-account-popover [data-mr-email] { display:block; color:#292d2f; margin-top:4px; }
.mr-account-popover a, .mr-account-popover button { display:flex; align-items:center; box-sizing:border-box; width:100%; min-height:44px; padding:8px; background:none; border:0; color:#292d2f; font:inherit; text-decoration:none; cursor:pointer; text-align:left; }
.mr-site-toggle { display:none; justify-content:center; align-items:center; gap:7px; flex:none; min-width:44px; height:44px; padding:10px; border:1px solid rgba(52,73,71,.14); border-radius:8px; background:none; color:#315956; cursor:pointer; }
.mr-site-toggle-icon { display:flex; flex-direction:column; gap:5px; }
.mr-site-toggle-icon span { width:19px; height:2px; background:#315956; }
.mr-site-toggle-label { font:600 12px/1.4 'Geist',sans-serif; }
.mr-nav-intro { display:none; }
.mr-site-sheet { position:fixed; top:var(--mr-nav-offset); bottom:0; left:0; width:var(--mr-rail-width); z-index:61; display:flex; flex-direction:column; gap:16px; padding:18px 16px; overflow-y:auto; overscroll-behavior:contain; color:#edf3f0; background:linear-gradient(180deg,#315956,#274744 68%,#223f3d); border-right:1px solid rgba(255,255,255,.1); box-shadow:10px 0 34px rgba(41,75,73,.12); }
.mr-rail-brand { padding:0 10px 8px; color:#f9f6f0; }
.mr-rail-brand img { width:54px; height:20px; padding:0; background:none; border-radius:0; }
.mr-rail-brand > span > span { color:inherit; }
.mr-site-start { display:flex; align-items:center; justify-content:center; flex:none; min-height:46px; padding:0 14px; box-sizing:border-box; background:#e5826b; color:#303534; box-shadow:0 10px 24px rgba(229,130,107,.2); font-size:14px; font-weight:650; border-radius:8px; text-decoration:none; }
.mr-site-start:hover { background:#ef866f; color:#303534; }
.mr-site-item { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:44px; box-sizing:border-box; padding:10px; border-radius:7px; color:#bfd0cc; font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; }
.mr-site-item:hover { color:#fff; background:rgba(255,255,255,.08); }
.mr-site-item[aria-current="page"] { color:#fff; background:rgba(255,250,244,.14); box-shadow:inset 3px 0 0 #e5826b; }
.mr-site-item[aria-current="page"] { font-weight:650; }
.mr-site-group { margin:20px 10px 6px; color:#bfd0cc; font-size:10px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.mr-coming-soon { color:#bfd0cc; cursor:default; }
.mr-coming-soon:hover { background:none; color:#bfd0cc; }
.mr-coming-soon small { white-space:nowrap; padding:3px 6px; border:1px solid rgba(255,250,244,.24); border-radius:4px; font-size:9px; font-weight:500; }
.mr-site-usage { margin:0; padding:4px 12px 10px; font-size:12px; line-height:1.5; color:#edf3f0; }
.mr-site-bottom { margin-top:auto; padding-top:12px; border-top:1px solid rgba(255,255,255,.11); }
.mr-site-note { margin:0; padding:0 10px; color:#bfd0cc; font-size:12px; line-height:1.5; }
.mr-site-scrim { position:fixed; inset:calc(var(--mr-nav-height) + var(--mr-nav-offset)) 0 0; z-index:59; background:rgba(20,20,20,.42); }
:is(.mr-site-header,.mr-site-sheet) :is(a,button,summary):focus-visible { outline:2px solid #315956; outline-offset:3px; }
:is(.mr-site-header,.mr-site-sheet,.mr-site-scrim)[hidden], .mr-site-header [hidden], .mr-site-sheet [hidden] { display:none !important; }
body.mr-site-menu-open { overflow:hidden; }
.mr-nav-legacy, html[data-mr-navigation="app"] body :is(.rail,.rail-scrim,.auth-bar) { display:none !important; }
html[data-mr-navigation="public"] .coach-shell { padding-top:calc(var(--mr-nav-height) + var(--mr-nav-offset)); }
html[data-mr-navigation="app"] body .promo-bar { position:fixed; top:0; left:0; right:0; }
html[data-mr-navigation="app"] body .wrap { margin-left:0 !important; padding-top:calc(var(--mr-nav-height) + var(--mr-nav-offset) + 24px) !important; }
html[data-mr-navigation="app"] body:has(#setup:not(.hidden),#interview:not(.hidden)) .wrap { padding-top:calc(var(--mr-nav-height) + var(--mr-nav-offset)) !important; }
html[data-mr-navigation="app"] body :is(#login,#consent):not(.hidden) { min-height:calc(100dvh - var(--mr-nav-height) - var(--mr-nav-offset)); }
html[data-mr-navigation="app"] body #interview:not(.hidden) { height:calc(100dvh - var(--mr-nav-height) - var(--mr-nav-offset)); }
html[data-mr-navigation="app"] body #debrief .db-jump { top:calc(var(--mr-nav-height) + var(--mr-nav-offset) + 8px); z-index:50; }
html[data-mr-navigation="app"] body :is(#dbOverview,#dbOpp,#dbAssess,#dbCoach,#dbAnswers,#sampleComparison,#sampleAnswers,.db-panel-answer) { scroll-margin-top:calc(var(--mr-nav-height) + var(--mr-nav-offset) + 78px); }
html[data-mr-navigation="app"] #practice :is(.practice-eyebrow,.practice-stats,.practice-links,.practice-recent-head,#practiceStart) { display:none; }
html[data-mr-navigation="app"] #practice .practice-head { margin-bottom:28px; }
html[data-mr-navigation="app"] #practice .practice-attempt { padding:20px; }
html[data-mr-navigation="app"] #login #authTitle[tabindex="-1"]:focus { outline:none; }
html[data-mr-context="interview"] body { padding-left:0; }
html[data-mr-context="interview"] .mr-site-header { left:0; }
html[data-mr-context="interview"] .mr-site-toggle, html[data-mr-context="interview"] .mr-site-header .mr-site-brand { display:inline-flex; }
html[data-mr-context="interview"] .mr-site-sheet { top:calc(var(--mr-nav-height) + var(--mr-nav-offset)); }
@media (max-width:767px) {
  html[data-mr-navigation] body { padding-left:0; }
  .mr-site-header { left:0; }
  .mr-site-header-inner { gap:8px; padding:10px 12px 12px; flex-wrap:wrap; }
  .mr-site-header .mr-site-brand, .mr-site-toggle { display:inline-flex; }
  .mr-site-header .mr-site-brand { font-size:18px; gap:6px; }
  .mr-site-header .mr-site-brand img { width:26px; height:26px; }
  .mr-site-toggle { gap:5px; padding:8px; }
  .mr-site-account { gap:10px; font-size:13px; }
  .mr-site-account > .mr-site-signup { padding:0 10px; white-space:nowrap; }
  .mr-signup-wide { display:none; }
  .mr-signup-short { display:inline; }
  .mr-site-account { min-width:0; flex:1; justify-content:flex-end; }
  .mr-site-identity { display:flex; flex-direction:column; align-items:flex-end; min-width:0; }
  .mr-site-identity [data-mr-email] { display:block; max-width:min(150px,calc(100vw - 266px)); }
  .mr-site-sheet { top:calc(var(--mr-nav-height) + var(--mr-nav-offset)); width:min(290px,88vw); }
  .mr-rail-brand { display:none; }
  html[data-mr-navigation] body :is(.wrap,.coach-shell):has(> #mrNavIntro:not([hidden])) { padding-top:calc(var(--mr-nav-height) + var(--mr-nav-offset) + 12px) !important; }
  html[data-mr-navigation="app"] body:has(#setup:not(.hidden)) .wrap > #mrNavIntro { width:calc(100% - 32px); margin-inline:16px; }
  .mr-nav-intro:not([hidden]) { display:block; position:relative; box-sizing:border-box; flex:none; align-self:flex-start; width:100%; max-width:390px; margin:0 0 24px; padding:18px 42px 10px 18px; border:1px solid rgba(49,89,86,.22); border-radius:12px; background:#fffaf4; box-shadow:0 8px 22px rgba(41,75,73,.08); color:#49504e; font-family:'Geist',-apple-system,BlinkMacSystemFont,sans-serif; }
  .mr-nav-intro::before { content:''; position:absolute; left:27px; top:-7px; width:12px; height:12px; background:#fffaf4; border-top:1px solid rgba(49,89,86,.22); border-left:1px solid rgba(49,89,86,.22); transform:rotate(45deg); }
  .mr-nav-intro .mr-nav-intro-title { margin:0 0 6px; color:#315956; font-size:16px; line-height:1.5; font-weight:650; letter-spacing:normal; text-transform:none; }
  .mr-nav-intro .mr-nav-intro-copy { margin:0; color:#49504e; font-size:14px; line-height:1.55; }
  .mr-nav-intro button { min-height:44px; border:0; background:transparent; cursor:pointer; font-family:inherit; border-radius:4px; box-shadow:none; }
  .mr-nav-intro .mr-nav-intro-open { padding:9px 0 0; color:#315956; font-size:14px; line-height:1.5; font-weight:650; }
  .mr-nav-intro .mr-nav-intro-dismiss { position:absolute; right:4px; top:4px; width:36px; padding:0; color:#69716e; font-size:22px; line-height:1.5; font-weight:400; }
  .mr-nav-intro button:hover { background:transparent; color:#223f3d; }
  .mr-nav-intro button:focus-visible { outline:2px solid #315956; outline-offset:3px; }
}
/* Keep the wordmark, Menu and both account actions on narrow phones. */
@media (max-width:360px) {
  .mr-site-header .mr-site-brand img { display:none; }
}
/* The landing's former full-window minimum columns must also fit beside the rail. */
@media (min-width:981px) {
  html[data-mr-navigation="app"] body:has(#setup:not(.hidden)) #setup:not(.hidden) {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:32px; padding-inline:32px;
  }
}
html[data-mr-navigation="app"] #setup > * { min-width:0; }

.mr-site-sheet :is(a,button):focus-visible { outline-color:#f6e6ca; }

.mr-site-toggle:hover, .mr-site-toggle:focus { background:#eee7de; }

/* Keep the homepage focused on its content; navigation owns the start action.
   Retain the hidden controllers for existing login and setup routing. */
html[data-mr-navigation="app"] #setup :is(#mrLandingStart,.setup-start-controls) { display:none; }
