/* Building Exam interface system — approved dashboard and question preview */
@font-face{font-family:EstedadLocal;src:url('/fonts/Estedad-wght.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --bg:#f3f1eb;--paper:#fffefa;--surface-2:#e9e7df;--ink:#1b2938;--muted:#586878;
  --green:#183956;--mint:#e6edf0;--line:#d5d2c9;--rule:#b8b7af;
  --orange:#9d5f17;--hl:#d18a37;--hl-soft:#f7ecd9;--red:#a33e37;--red-soft:#f8e9e5;
  --chart-primary:#183956;--chart-wrong:#a33e37;--chart-empty:#74838a;
  --shadow:0 12px 30px rgb(27 41 56 / .07);--radius:10px;--grid:transparent;
  --font:EstedadLocal,Estedad,Tahoma,sans-serif;--focus:#9d5f17;--sidebar:#183956;--sidebar-muted:#c7d3dc;
  color-scheme:light
}
[data-theme=dark]{
  --bg:#111a22;--paper:#192631;--surface-2:#21313d;--ink:#edf1f2;--muted:#b6c1c7;
  --green:#d1e2ed;--mint:#253744;--line:#3b4c56;--rule:#52636b;
  --orange:#f0bd68;--hl:#e8b460;--hl-soft:#3a3023;--red:#ff9b8d;--red-soft:#3b2928;
  --chart-primary:#a9d0e2;--chart-wrong:#ff9b8d;--chart-empty:#94a6ad;
  --shadow:0 14px 34px rgb(0 0 0 / .22);--focus:#f1c36f;--sidebar:#15232d;--sidebar-muted:#b6c1c7;
  color-scheme:dark
}
html{scrollbar-color:var(--rule) var(--bg);scroll-behavior:smooth}
body{background:var(--bg)!important;background-image:none!important;color:var(--ink);font-family:var(--font)!important;accent-color:var(--hl)}
::selection{background:var(--hl-soft);color:var(--ink)}
:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important}
a{color:var(--green)}
button,input,select,textarea{font-family:var(--font)!important}
button:disabled,[aria-disabled=true]{cursor:not-allowed!important;opacity:.56}

/* Shared working shell */
.shell{grid-template-columns:236px minmax(0,1fr)!important}
.sidebar{width:236px!important;background:var(--sidebar)!important;color:#edf1f2!important;padding-block:24px!important;border-inline-start:1px solid rgb(255 255 255 / .07)}
.brand{margin-bottom:25px!important}
.brandmark{background:var(--hl)!important;color:#1b2938!important;border:0!important;border-radius:9px!important}
.brand strong{color:#fff!important}
.brand span,.nav-label,.side-note{color:var(--sidebar-muted)!important}
.nav{border-top:1px solid rgb(255 255 255 / .14)!important;gap:3px!important}
.nav button{margin-inline:10px!important;padding-inline:13px!important;min-height:44px!important;border:0!important;border-radius:7px!important;color:#e5edf0!important;transition:background-color .18s ease,color .18s ease!important}
.nav button:hover{background:rgb(255 255 255 / .09)!important}
.nav button.active,.nav button.active:hover{background:var(--hl)!important;color:#1b2938!important}
.main{max-width:1540px!important;padding:30px clamp(22px,4vw,58px) 52px!important}
.topbar{border-bottom:1px solid var(--line)!important;margin-bottom:28px!important;padding-bottom:14px!important}
#crumb{color:var(--ink)!important}
.status-dot{background:var(--hl)!important}
.main-title{margin-bottom:28px!important}
.main-title h1,.platform-page h1,#analytics h1,.membership-page h1{letter-spacing:-.025em!important;font-weight:800!important}
.section-head{border-bottom:1px solid var(--line)!important;padding-bottom:12px!important}
.section-head h2{font-weight:750!important}
.footer-note{border-color:var(--line)!important}

/* Controls and task surfaces */
.button{border:1px solid var(--green)!important;border-radius:7px!important;background:var(--paper)!important;color:var(--ink)!important;min-height:44px;transition:background-color .16s ease,border-color .16s ease,transform .16s ease!important}
.button:hover{background:var(--surface-2)!important}
.button:active{transform:translateY(1px)}
.button.primary{background:var(--green)!important;color:var(--bg)!important;border-color:var(--green)!important}
.button.primary:hover{filter:brightness(1.09)}
.button.soft,.pill.green{background:var(--mint)!important;color:var(--ink)!important;border-color:var(--line)!important}
.button.danger,.pill.red{background:var(--red-soft)!important;color:var(--red)!important;border-color:var(--red)!important}
.button.ghost{background:transparent!important}
.pill,.card,.form-panel,.notice,.connection,.card.exam-card,.card.question-card,.card.navigator,.card.exam-top,.card.practice-card,.card.rules-card,.card.resume,.source-card,.review-card,.topic-performance,.report-hero{border-color:var(--line)!important;border-radius:var(--radius)!important;box-shadow:none!important}
.card,.form-panel,.topic-performance,.review-card{background:var(--paper)!important;color:var(--ink)}
.field input,.field select,.field textarea,#study-search,#study-page,.platform-page input,.platform-page select,.platform-page textarea,.membership-form input:not([type=checkbox]),.membership-form textarea,.membership-form select,#analytics input,#analytics select{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--rule)!important;border-radius:7px!important;min-height:44px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus)!important}
.notice,.connection,.platform-status{background:var(--surface-2)!important;color:var(--ink)!important;border-color:var(--line)!important}
.notice.amber{background:var(--hl-soft)!important}
.pill.amber{background:var(--hl-soft)!important;color:var(--ink)!important;border-color:var(--hl)!important}
.study-text,.source-excerpt,.source-page-text,.keyword-fact{background:var(--surface-2)!important;color:var(--ink)!important;border-color:var(--line)!important}
#toast{background:var(--sidebar)!important;color:#fff!important;border-color:var(--hl)!important;border-inline-start-width:1px!important}
.empty,.loading{color:var(--muted)!important}

/* Dashboard: a clear next action and useful study context */
.hero{align-items:flex-start!important;background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:24px 28px!important;box-shadow:none!important;min-height:0!important}
main .hero .plan-art{display:none!important;visibility:hidden!important}
.hero:after{display:none!important}
.hero h1{font-size:32px!important;line-height:1.5!important;max-width:18ch}
.hero-meta{margin-top:16px!important}
.hero p{max-width:62ch!important;line-height:2.05!important;color:var(--muted)!important}
.hero-meta{border-color:var(--line)!important}
.hero-meta span+span{border-color:var(--line)!important}
.plan-art{color:var(--green)!important;opacity:.5!important}
.stats{gap:0!important;background:transparent!important;border:0!important;border-block:1px solid var(--line)!important}
.card.stat{background:transparent!important;padding:16px 18px!important}
.stat .number{color:var(--green)!important;font-size:30px!important}
.exam-cards{gap:18px!important}
.card.exam-card{background:var(--paper)!important;padding:24px!important}
.exam-card:before{display:none!important}
.exam-card .tag-icon{border-radius:8px!important;background:var(--mint)!important;border:0!important;color:var(--green)!important}
.exam-card.execution .tag-icon{background:var(--hl-soft)!important;color:var(--orange)!important;border:0!important}
.exam-meta{border-color:var(--line)!important}
.exam-meta div+div{border-color:var(--line)!important}
.card.resume{background:var(--hl-soft)!important}
.history-table th,.an-data thead,.an-matrix thead{background:var(--surface-2)!important;color:var(--ink)!important;border-color:var(--line)!important}
.history-table td,.an-data td,.an-data th,.an-matrix td,.an-matrix th{border-color:var(--line)!important}
.history-table tbody tr:hover,.an-data tbody tr:hover{background:var(--surface-2)!important}

/* Exam: reading first, navigator second */
.exam-top{background:var(--paper)!important}
.clock{background:var(--green)!important;color:var(--bg)!important;border-radius:0 0 var(--radius) 0!important}
.clock small{color:var(--sidebar-muted)!important}
.clock.low{background:var(--red)!important}
[data-theme=dark] .clock small{color:#243746!important}
.question-card{background:var(--paper)!important}
.question-stem{max-width:70ch;font-size:19px!important;line-height:2.15!important}
.option{background:var(--paper)!important;border-color:var(--line)!important;border-radius:8px!important;transition:border-color .15s,background-color .15s!important}
.option:hover{background:var(--surface-2)!important;border-color:var(--rule)!important}
.option.selected{background:var(--hl-soft)!important;border-color:var(--hl)!important;box-shadow:none!important}
.option-num{background:var(--surface-2)!important;color:var(--ink)!important;border:0!important;border-radius:6px!important}
.selected .option-num{background:var(--green)!important;color:var(--bg)!important}
.q-grid button{background:var(--paper)!important;color:var(--muted)!important;border-color:var(--line)!important;border-radius:6px!important;min-height:38px!important}
.q-grid button.answered{background:var(--green)!important;color:var(--bg)!important}
.q-grid button.current{outline-color:var(--focus)!important}
.nav-legend i{background:var(--green)!important}
.nav-legend i.amber{background:var(--hl)!important;border-color:var(--hl)!important}
.progress-track{border-color:var(--line)!important;background:var(--surface-2)!important;border-radius:5px!important}
.progress-track span{background:var(--hl)!important}

/* Reports: remove decorative score ring; keep measured content legible */
.report-hero{background:var(--paper)!important}
.score-ring{transform:none!important;box-shadow:none!important;border-width:3px!important;color:var(--green)!important;border-color:var(--green)!important}
.score-ring.failed{color:var(--red)!important;border-color:var(--red)!important}
.topic-row .progress-track span.low{background:var(--red)!important}
.review-option{background:var(--paper)!important;border-color:var(--line)!important;border-radius:7px!important}
.review-option.correct{background:var(--mint)!important;color:var(--ink)!important;border-color:var(--green)!important}
.review-option.wrong{background:var(--red-soft)!important;color:var(--red)!important;border-radius:7px!important;border-width:1px!important}
.reference{background:var(--surface-2)!important;border:1px solid var(--line)!important}

/* Source library and summary-card reading */
.platform-page{color:var(--ink)!important}
.platform-page .program-sheet{background:var(--paper)!important;border-color:var(--line)!important;border-radius:var(--radius)!important}
.platform-page th{background:var(--surface-2)!important}
.platform-page .platform-error{background:var(--red-soft)!important;color:var(--red)!important;border-color:var(--red)!important;border-radius:8px!important}
.platform-page .platform-status{border-radius:8px!important}
.platform-page .deck-reader{background:var(--surface-2)!important;border-radius:8px!important;padding:12px!important}
.platform-page .deck-reader img{filter:none!important;object-fit:contain}
.platform-page .deck-reader .card-text{background:var(--paper)!important;color:var(--ink)!important;padding:24px!important;border-radius:8px!important}
.platform-page .deck-list{gap:5px!important}
.platform-page .deck-list button{text-align:start}

/* Analytics, membership and owner tools */
#analytics{color:var(--ink)!important;font-family:var(--font)!important}
#analytics .an-header{border-color:var(--line)!important}
#analytics .an-summary{background:var(--paper)!important;border-color:var(--line)!important}
#analytics .an-summary>div{border-color:var(--line)!important}
#analytics .an-panel{border-color:var(--line)!important}
#analytics .an-chart{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:8px!important}
#analytics .an-chip{background:var(--surface-2)!important;border-color:var(--line)!important;border-radius:7px!important;color:var(--ink)!important}
#analytics .an-chip[aria-pressed=true],#analytics .an-chip.active{background:var(--hl-soft)!important;border-color:var(--hl)!important}
#analytics .an-link{color:var(--green)!important}
#analytics .an-cell{background:color-mix(in srgb,var(--green) calc(5% + var(--intensity)*18%),var(--paper))!important;color:var(--ink)!important;border-color:var(--line)!important}
#analytics .an-error{background:var(--red-soft)!important;color:var(--red)!important}
.membership-page{max-width:1080px!important;color:var(--ink)!important;font-family:var(--font)!important}
.membership-page h2{border-bottom:1px solid var(--line);padding-bottom:10px}
.membership-form{max-width:720px!important}
.membership-form input[type=checkbox]{accent-color:var(--green)}
.membership-notice{background:var(--surface-2);padding:14px 16px;border-radius:8px}
.membership-error{color:var(--red)!important;background:var(--red-soft);padding:12px 15px;border-radius:8px}
.membership-payment{padding:20px!important;background:var(--paper);border:1px solid var(--line)!important;border-radius:var(--radius)!important}
.membership-table{border:1px solid var(--line);border-radius:8px}
.membership-table th{background:var(--surface-2)}
.membership-table td,.membership-table th{border-color:var(--line)!important}
.recovery-codes{background:var(--surface-2)!important;border-color:var(--line)!important;border-radius:8px!important}

/* Public entry: combine a useful product overview with the real account form. */
.public-entry-page{max-width:1180px!important}
.shell:has(.public-entry){grid-template-columns:minmax(0,1fr)!important}
.shell:has(.public-entry) .sidebar{display:none!important}
.shell:has(.public-entry) .main{grid-column:1;max-width:none!important}
.public-entry-page>h1{font-size:clamp(1.8rem,3vw,2.35rem)!important;margin-bottom:12px!important}
.public-entry{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(28px,5vw,72px);align-items:start;padding:clamp(22px,4vw,50px) 0;border-block:1px solid var(--line)}
.public-entry-copy{padding:8px 0}
.public-entry-copy .eyebrow{display:block;margin-bottom:16px;color:var(--orange);font-weight:700}
.public-entry-copy>h2{max-width:16ch;font-size:clamp(1.8rem,3.6vw,3rem)!important;line-height:1.55!important;border:0!important;padding:0!important}
.public-entry-copy>p{max-width:52ch;margin-top:16px;color:var(--muted);line-height:2.1}
.public-entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.public-entry-auth{padding:0 0 0 clamp(20px,3vw,42px);border-inline-start:1px solid var(--line)}
.public-entry-auth>h2{margin:0 0 12px!important;border:0!important;padding:0!important}
.public-entry-auth .membership-form{max-width:none!important;margin:18px 0!important;gap:14px}
.public-entry-auth .membership-actions{margin:12px 0!important}
.public-entry-auth input:not([type=checkbox]),.membership-page input:not([type=checkbox]),.membership-page textarea,.membership-page select{background:var(--paper)!important;color:var(--ink)!important;border-color:var(--rule)!important;border-radius:7px!important}
.public-entry-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px;border-block:1px solid var(--line)}
.public-entry-features>div{padding:17px 16px;min-width:0}
.public-entry-features>div+div{border-inline-start:1px solid var(--line)}
.public-entry-features strong{font-size:.98rem}
.public-entry-features p,.public-entry-note{margin-top:7px;color:var(--muted);font-size:.9rem;line-height:1.9}
.public-entry-note{margin-top:16px}
@media(max-width:760px){.public-entry{grid-template-columns:minmax(0,1fr);gap:24px}.public-entry-auth{padding:22px 0 0;border-inline-start:0;border-top:1px solid var(--line)}.public-entry-features{grid-template-columns:repeat(2,minmax(0,1fr))}.public-entry-features>div:nth-child(3){border-inline-start:0;border-top:1px solid var(--line)}.public-entry-features>div:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:420px){.public-entry-actions .button{flex:1}.public-entry-features>div{padding:14px 10px}}

@media(max-width:850px){.shell{display:block!important}.sidebar{position:sticky!important;width:auto!important;top:0!important;right:auto!important;bottom:auto!important;padding:12px 16px 0!important;border-inline:0!important;border-bottom:1px solid var(--line)!important}.nav{margin:9px -16px 0!important;padding:0 12px!important;gap:2px!important}.nav button{margin:0!important;border-radius:7px 7px 0 0!important}.main{padding:20px 18px 40px!important}.hero{gap:20px!important}.exam-layout{grid-template-columns:minmax(0,1fr)!important}.card.navigator{position:static!important}.question-stem{max-width:none}.an-chart{max-width:100%}}
@media(max-width:560px){.main{padding:16px 14px 32px!important}.topbar{align-items:flex-start!important;gap:10px}.topbar>.row{gap:7px;flex-wrap:wrap;justify-content:flex-end}.hero{padding:22px 18px!important;border-radius:10px!important}.hero h1{font-size:26px!important}.hero-meta{gap:0}.hero-meta span{padding-inline:9px!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card.stat{padding:11px 12px!important}.stat .number{font-size:25px!important}.exam-cards{grid-template-columns:1fr!important}.exam-top{grid-template-columns:minmax(0,1fr) auto!important}.clock{padding:8px 12px!important}.clock .digits{font-size:25px!important}.question-card{padding:18px 15px!important}.question-footer{flex-wrap:wrap}.question-footer .button{flex:1}.q-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.report-hero{grid-template-columns:1fr!important}.score-ring{width:126px!important;height:126px!important}.topic-row{grid-template-columns:minmax(0,1fr) 72px!important;gap:8px!important}.topic-row .progress-track{grid-column:1/-1;grid-row:2}.platform-page .program-sheet{padding:16px!important}.platform-page .deck-reader{min-height:220px!important}.membership-table{border:0;border-radius:0}.membership-table table{min-width:560px}.an-summary strong{font-size:26px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{body{background:#fff!important;color:#111!important}.sidebar,.topbar,.footer-note{display:none!important}.main{display:block!important;width:100%!important;max-width:none!important;padding:0!important}.card,.hero,.report-hero{background:#fff!important;box-shadow:none!important;break-inside:avoid}}
