@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/dm-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dm-sans-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/newsreader-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/newsreader-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/newsreader-latin-600-normal.woff2') format('woff2')}
:root {
  /* Overlay layers */
  --z-overlay: 400;

  --z-spotlight: 1000; /* Tutorial spotlights/guided help */

  /* System layers */
  --z-critical: 2000; /* Critical system notifications */

  /* spacing */
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-20: 5rem;
}
:root {
 --background:#f4efe5; --foreground:#192a40;
 --surface:#faf7f0; --surface-foreground:#192a40; --sidebar:#192a40; --sidebar-foreground:#faf7f0; --card:#fffdf8; --card-foreground:#192a40; --popup:#fffdf8; --popup-foreground:#192a40;
 --primary:#192f4c; --primary-foreground:#fffdf8; --secondary:#ebe4d6; --secondary-foreground:#192a40; --accent:#856225; --accent-foreground:#fffdf8; --muted:#eee8dc; --muted-foreground:#545b62;
 --success:#326247; --success-foreground:#fffdf8; --error:#ad343e; --error-foreground:#fffdf8; --warning:#8a611f; --warning-foreground:#fffdf8; --info:#305574; --info-foreground:#fffdf8; --info-hover:#274862; --info-active:#203b51; --border:#dcd4c4;
 --font-family-base:'DM Sans',sans-serif; --font-family-display:'Newsreader',Georgia,serif; --font-family-monospace:monospace; --font-family-cursive:Georgia,serif;
 --shadow:0 2px 5px #192a4008; --shadow-md:0 8px 25px #192a400c; --shadow-lg:0 20px 50px #192a4015; --shadow-focus:0 0 0 3px #85622570;
 --radius-sm:4px; --radius:8px; --radius-md:12px; --radius-lg:20px; --radius-full:999px;
 --animation-duration-fast:120ms; --animation-duration-normal:220ms; --animation-duration-slow:400ms;
 --chart-color-1:#192f4c; --chart-color-2:#856225; --chart-color-3:#ad343e; --chart-color-4:#326247; --chart-color-5:#666b70;
}

/* Shared readable roles and touch targets across phone, tablet and desktop. */
main p:not([class*="eyebrow"]):not([class*="resultLabel"]), main li, main dt, main dd, main label, main summary {
  font-size:18px !important; line-height:1.6 !important;
}
main small, main [class*="eyebrow"], main [class*="resultLabel"] {font-size:16px !important;line-height:1.5 !important;}
main button:not([role="radio"]), main input, main [role="tab"], main [role="combobox"] {min-height:48px;font-size:18px !important;}
main button:not([role="radio"]) {min-width:44px;white-space:normal;}
main a {font-size:18px;}
main header a, main nav a, main footer a, main [class*="lessonTopline"] a {
  min-height:48px;display:inline-flex;align-items:center;box-sizing:border-box;
}
main header {gap:12px;flex-wrap:wrap;}
main header a:first-child {font:600 26px/1.2 var(--font-family-display) !important;white-space:normal;}
main header a + a {font:600 18px/1.4 var(--font-family-base) !important;flex-shrink:0;padding:8px !important;}
main header a:first-child > span {font-size:28px !important;}
main footer, main footer a, main footer p {font-size:17px !important;line-height:1.6 !important;}
main h1 {font-size:clamp(32px,5vw,44px);line-height:1.15;}
main h2 {line-height:1.25;}
a:focus-visible, button:focus-visible {outline:3px solid var(--accent);outline-offset:3px;}
.bridgeSuit {display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;color:var(--foreground);}
.bridgeSuit[data-color="red"] {color:var(--error);}
[aria-pressed="true"] .bridgeSuit, [data-state="checked"] .bridgeSuit {color:inherit;}
.storageNotice {padding:16px; background:var(--card);border:2px solid var(--warning);color:var(--foreground);font:18px/1.5 var(--font-family-base);}
.storageNotice p {margin:8px 0;}
@media(max-width:380px){main header a:first-child{font-size:24px !important;} main header a + a{padding:4px !important;}}
@media print{.storageNotice{display:none;}}
.dark {}
main button:not([role="radio"]){height:auto!important;line-height:1.4!important;overflow-wrap:break-word;}
main:has(header) h1{font-size:clamp(32px,4.8vw,40px)!important;line-height:1.15!important;}
.hcpExample{margin:24px 0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--card)}
.hcpExample dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0}.hcpExample dt{font-weight:700}.hcpExample dd{margin:4px 0 0;color:var(--muted-foreground)}
@media(max-width:480px){.hcpExample dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body{margin:0;font-family:var(--font-family-base);font-size:16px}img{max-width:100%}
