/* Current Intake palette and Inter assets, captured read-only from live revision 74f36b3. */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}
    :root {
        /* ─── Ocean Blue Shade Ramp (Coolors 0087AD) ─── */
        --ocean-50: 193 100% 95%;
        /* #E5F9FF */
        --ocean-100: 193 100% 90%;
        /* #CCF4FF */
        --ocean-200: 193 100% 80%;
        /* #99E9FF */
        --ocean-300: 193 100% 70%;
        /* #66DEFF */
        --ocean-400: 193 100% 60%;
        /* #33D3FF */
        --ocean-500: 193 100% 50%;
        /* #00C8FF */
        --ocean-600: 193 100% 40%;
        /* #00A0CC */
        --ocean-700: 193 100% 30%;
        /* #007899 */
        --ocean-800: 193 100% 20%;
        /* #005066 */
        --ocean-900: 193 100% 10%;
        /* #002833 */
        --ocean-950: 193 100% 7%;
        /* #001C24 */

        /* ─── LIGHT MODE — zero pure white ─── */
        --background: 193 60% 93%;
        --foreground: 193 80% 10%;
        --primary: 193 100% 40%;
        --primary-foreground: 0 0% 100%;
        --accent: 45 100% 50%;
        --accent-foreground: 0 0% 10%;
        --secondary: 193 80% 90%;
        --secondary-foreground: 193 100% 20%;
        --muted: 193 40% 90%;
        --muted-foreground: 193 30% 35%;
        --card: 193 30% 97%;
        --card-foreground: 193 80% 10%;
        --popover: 193 30% 97%;
        --popover-foreground: 193 80% 10%;
        --destructive: 0 84.2% 60.2%;
        --destructive-foreground: 0 0% 100%;
        --border: 193 40% 80%;
        --input: 193 50% 88%;
        --ring: 193 100% 40%;
        --sidebar-background: 193 100% 30%;
        --sidebar-foreground: 0 0% 100%;
        --sidebar-primary: 193 100% 30%;
        --sidebar-primary-foreground: 0 0% 100%;
        --sidebar-accent: 45 100% 50%;
        --sidebar-accent-foreground: 0 0% 10%;
        --sidebar-active: 45 100% 50%;
        --sidebar-border: 0 0% 100% / 0.1;
        --sidebar-ring: 45 100% 50%;
        --page-background: linear-gradient(135deg, #005066 0%, #007899 20%, #66DEFF 60%, #CCF4FF 100%);
        --radius: 0.5rem;
        color-scheme: light;
    }

    html.dark,
    [data-theme='dark'] {
        --background: 193 50% 8%;
        --foreground: 0 0% 95%;
        --primary: 193 100% 50%;
        --primary-foreground: 0 0% 10%;
        --accent: 45 95% 55%;
        --accent-foreground: 0 0% 10%;
        --secondary: 193 60% 18%;
        --secondary-foreground: 193 80% 70%;
        --muted: 193 40% 15%;
        --muted-foreground: 210 20% 65%;
        --card: 193 40% 11%;
        --card-foreground: 0 0% 95%;
        --popover: 193 40% 11%;
        --popover-foreground: 0 0% 95%;
        --destructive: 0 70% 50%;
        --destructive-foreground: 0 0% 100%;
        --border: 193 30% 20%;
        --input: 193 30% 20%;
        --ring: 193 100% 50%;
        --sidebar-background: 193 40% 13%;
        --sidebar-foreground: 0 0% 95%;
        --sidebar-primary: 193 100% 50%;
        --sidebar-primary-foreground: 0 0% 100%;
        --sidebar-accent: 45 95% 55%;
        --sidebar-accent-foreground: 0 0% 10%;
        --sidebar-active: 45 95% 55%;
        --sidebar-border: 0 0% 100% / 0.1;
        --sidebar-ring: 45 95% 55%;
        --page-background: linear-gradient(180deg, hsl(193 45% 9%) 0%, hsl(193 40% 7%) 100%);
        color-scheme: dark;
    }

    @media (prefers-color-scheme: dark) {
        html:not(.light) {
            --background: 193 50% 8%;
            --foreground: 0 0% 95%;
            --primary: 193 100% 50%;
            --primary-foreground: 0 0% 10%;
            --accent: 45 95% 55%;
            --accent-foreground: 0 0% 10%;
            --secondary: 193 60% 18%;
            --secondary-foreground: 193 80% 70%;
            --muted: 193 40% 15%;
            --muted-foreground: 210 20% 65%;
            --card: 193 40% 11%;
            --card-foreground: 0 0% 95%;
            --popover: 193 40% 11%;
            --popover-foreground: 0 0% 95%;
            --destructive: 0 70% 50%;
            --destructive-foreground: 0 0% 100%;
            --border: 193 30% 20%;
            --input: 193 30% 20%;
            --ring: 193 100% 50%;
            --sidebar-background: 193 40% 13%;
            --sidebar-foreground: 0 0% 95%;
            --sidebar-primary: 193 100% 50%;
            --sidebar-primary-foreground: 0 0% 100%;
            --sidebar-accent: 45 95% 55%;
            --sidebar-accent-foreground: 0 0% 10%;
            --sidebar-active: 45 95% 55%;
            --sidebar-border: 0 0% 100% / 0.1;
            --sidebar-ring: 45 95% 55%;
            --page-background: linear-gradient(180deg, hsl(193 45% 9%) 0%, hsl(193 40% 7%) 100%);
            color-scheme: dark;
        }
    }

/* Presentation adapters only. Form structure, behavior and saved answers are unchanged. */
:root {
  --ink: hsl(var(--foreground));
  --teal: hsl(var(--primary));
  --line: hsl(var(--border));
  --bg: hsl(var(--background));
  --paper: hsl(var(--card));
  --gold: hsl(var(--accent));
  --theme-muted-text: hsl(var(--muted-foreground));
  font-family: 'Inter', 'Inter Fallback', system-ui, -apple-system, sans-serif;
}
body {
  color: hsl(var(--foreground));
  background: var(--page-background);
  background-attachment: fixed;
  min-height: 100vh;
  font-family: 'Inter', 'Inter Fallback', system-ui, -apple-system, sans-serif;
}
h1, .classcard h2, .brandmark, .avaIcon {
  font-family: 'Inter', 'Inter Fallback', system-ui, -apple-system, sans-serif;
}
h1, .classcard h2 { font-weight: 600; letter-spacing: -.025em; }
.brandmark { font-weight: 700; }
button { background: hsl(var(--card)); border-color: hsl(var(--border)); color: hsl(var(--foreground)); font-weight: 500; }
button:hover { background: hsl(var(--secondary)); border-color: hsl(var(--primary)); }
.primary { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); border-color: hsl(var(--primary)); }
.primary:hover { background: hsl(var(--primary) / .88); color: hsl(var(--primary-foreground)); }
.quiet { background: transparent; border-color: transparent; }
.environment, .helperheading, .brandmark, .sectionheading .number {
  background: hsl(var(--sidebar-background)); color: hsl(var(--sidebar-foreground));
}
.environment span, .helperheading span { color: hsl(var(--sidebar-foreground) / .8); }
.helperheading button { color: hsl(var(--sidebar-foreground)); }
.helperheading button:hover { background: hsl(var(--sidebar-foreground) / .12); }
.brandmark { border-bottom: 3px solid hsl(var(--accent)); }
.topbar, .applicationToolbar, .login form, .classcard, .paper, .helper, .empty,
.detailcard, .notecard, .pdfPanel, table, .field {
  background: hsl(var(--card)); color: hsl(var(--card-foreground)); border-color: hsl(var(--border));
}
.brand, .documentbadge { color: hsl(var(--foreground)); }
.eyebrow, .cardcode, .attachment a { color: hsl(var(--primary)); }
.pageheading h1, .pageheading p, .pageheading .smallnote, .pageheading .eyebrow,
.page > h1, .page > .eyebrow { color: hsl(var(--sidebar-foreground)); }
p, .smallnote, .privateNote, .brand b, .paperheader p, .documentbadge span, .formcontrols label,
.field small, .supporting > summary, .paperfooter, .helperintro, .chatFooter span,
.pdfToolbar span, .sitefooter, #saveStatus, .empty { color: var(--theme-muted-text); }
.pageheading p, .pageheading .smallnote { color: hsl(var(--sidebar-foreground) / .8); }
.pageheading .eyebrow, .page > .eyebrow { color: hsl(var(--accent)); }
input, select, textarea, .field input, .field select, .field textarea {
  background: hsl(var(--input)); color: hsl(var(--foreground)); border-color: hsl(var(--border));
}
input::placeholder, textarea::placeholder { color: hsl(var(--muted-foreground)); opacity: .9; }
input:focus, select:focus, textarea:focus,
.field input:focus, .field select:focus, .field textarea:focus {
  background: hsl(var(--card)); border-color: hsl(var(--ring)); outline-color: hsl(var(--ring) / .3);
}
input[type=checkbox], input[type=radio] { accent-color: hsl(var(--primary)); }
.paperheader { border-color: hsl(var(--primary)); }
.fieldgrid, .field, .sectionheading, .supporting, .paperfooter, th, td, .pdfToolbar {
  border-color: hsl(var(--border));
}
.sectionheading, th { background: hsl(var(--secondary)); color: hsl(var(--secondary-foreground)); }
.supporting, .uploadbutton, .detailcard pre, tbody tr:hover { background: hsl(var(--muted)); }
.supporting, .uploadbutton, .detailcard pre { color: hsl(var(--foreground)); border-color: hsl(var(--border)); }
.chatMessage { background: hsl(var(--muted)); color: hsl(var(--foreground)); }
.chatMessage.user { background: hsl(var(--secondary)); }
.chatMessage b { color: hsl(var(--primary)); }
.field.suggested { background: hsl(var(--accent) / .14); box-shadow: inset 3px 0 hsl(var(--accent)); }
.suggestion, #suggestionActions { background: hsl(var(--accent) / .2); color: hsl(var(--foreground)); border-color: hsl(var(--accent) / .5); }
#notice { background: hsl(var(--sidebar-background)); color: hsl(var(--sidebar-foreground)); }
.error { color: hsl(var(--destructive)); }
#notice.error { background: hsl(var(--destructive)); color: hsl(var(--destructive-foreground)); }
/* Approved higher-contrast variation: screen colors only; typography/layout/print unchanged. */
@media screen {
  :root {
    --review-background: 193 100% 95%;
    --review-paper: 193 30% 99%;
    --review-input: 193 40% 99%;
    --review-input-border: 193 35% 60%;
    --review-suggestion: 45 100% 89%;
  }
  html.dark, [data-theme='dark'] {
    --review-background: 193 50% 8%;
    --review-paper: 193 35% 12%;
    --review-input: 193 35% 15%;
    --review-input-border: 193 40% 48%;
    --review-suggestion: 45 75% 18%;
  }
  body { background: hsl(var(--review-background)); }
  .paper { background: hsl(var(--review-paper)); }
  input, select, textarea, .field input, .field select, .field textarea {
    background: hsl(var(--review-input));
    border-color: hsl(var(--review-input-border));
  }
  input:focus, select:focus, textarea:focus,
  .field input:focus, .field select:focus, .field textarea:focus {
    background: hsl(var(--review-input));
    border-color: hsl(var(--ring));
  }
  .primary { background: hsl(193 100% 30%); color: #fff; border-color: hsl(193 100% 30%); }
  .primary:hover { background: hsl(193 100% 25%); color: #fff; }
  .sectionheading { background: hsl(193 100% 30%); color: #fff; border-color: hsl(193 100% 30%); }
  .sectionheading .number { background: hsl(0 0% 100% / .18); color: #fff; }
  .pageheading h1, .page > h1 { color: hsl(var(--foreground)); }
  .pageheading p, .pageheading .smallnote { color: hsl(var(--muted-foreground)); }
  .pageheading .eyebrow, .page > .eyebrow { color: hsl(var(--primary)); }
  .field.suggested { background: hsl(var(--review-suggestion)); box-shadow: inset 5px 0 hsl(var(--accent)); }
  .suggestion, #suggestionActions { background: hsl(var(--review-suggestion)); border-color: hsl(var(--accent)); }
}
@media screen and (prefers-color-scheme: dark) {
  html:not(.light) {
    --review-background: 193 50% 8%;
    --review-paper: 193 35% 12%;
    --review-input: 193 35% 15%;
    --review-input-border: 193 40% 48%;
    --review-suggestion: 45 75% 18%;
  }
}
@media print {
  :root, html.dark, html:not(.light), [data-theme='dark'] {
    --foreground: 0 0% 10%; --background: 0 0% 100%; --card: 0 0% 100%;
    --card-foreground: 0 0% 10%; --input: 0 0% 100%; --muted: 0 0% 95%;
    --muted-foreground: 0 0% 35%; --border: 0 0% 70%; --primary: 0 0% 15%;
    --secondary: 0 0% 94%; --secondary-foreground: 0 0% 10%;
    --sidebar-background: 0 0% 20%; --sidebar-foreground: 0 0% 100%;
    color-scheme: light;
  }
  body, .paper, .field, .supporting, input, textarea, select { background: white !important; color: #111 !important; }
  .sectionheading { background: #eee !important; color: #111; }
}
