/* "Mürekkep, kâğıt, ıstampa": paper and ink, one stamp violet, mustard for
   "henüz değil" instead of red. Serif carries statute text, headings and
   numbers; the sans carries the interface. Four durations, one mover at a time. */
@font-face {
  font-family: "Azimle Serif";
  src: url('/assets/9f9159b7fee66faa68a05892a118d93892421918801e249c2872b854c1f333e2/fonts/azimle-serif.woff2') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Azimle Sans";
  src: url('/assets/9f9159b7fee66faa68a05892a118d93892421918801e249c2872b854c1f333e2/fonts/azimle-sans.woff2') format('woff2');
  font-weight: 400 650;
  font-style: normal;
  font-display: swap;
}
:root {
  --bg: #f5f1e8; --surface: #fbf8f1; --surface-2: #ece6d8;
  --parchment: #eee4ce; --parchment-line: #d8c9a6;
  --ink: #1a1b22; --muted: #5a5766; --line: #d6cebc;
  --brand: #4a2d82; --brand-ink: #fff;
  --ok: #1e6a48; --ok-bg: #e2eee5; --bad: #8a5300; --bad-bg: #f5e8cc;
  --serif: "Azimle Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: "Azimle Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --dur-1: 90ms; --dur-2: 160ms; --dur-3: 240ms; --dur-4: 400ms;
  --ease: cubic-bezier(.2, 0, 0, 1);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #121318; --surface: #1a1b22; --surface-2: #24252e;
    --parchment: #201e1a; --parchment-line: #3b3528;
    --ink: #ece6da; --muted: #a9a5b5; --line: #34353f;
    --brand: #bca8ec; --brand-ink: #121318;
    --ok: #8acda8; --ok-bg: #16281e; --bad: #e3b266; --bad-bg: #2a2213;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #121318; --surface: #1a1b22; --surface-2: #24252e;
  --parchment: #201e1a; --parchment-line: #3b3528;
  --ink: #ece6da; --muted: #a9a5b5; --line: #34353f;
  --brand: #bca8ec; --brand-ink: #121318;
  --ok: #8acda8; --ok-bg: #16281e; --bad: #e3b266; --bad-bg: #2a2213;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-bottom: calc(max(var(--nav-height, 62px), 4rem) + 1rem); }
body { margin: 0; background: var(--bg); color: var(--ink); font: 1rem/1.65 var(--sans); padding-bottom: calc(max(var(--nav-height, 62px), 4rem) + 1.5rem + env(safe-area-inset-bottom)); }
a { color: var(--brand); text-underline-offset: 4px; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
h1, h2, h3 { font-family: var(--serif); line-height: 1.3; font-weight: 600; margin: 0 0 14px; text-wrap: pretty; }
h1 { font-size: clamp(1.6rem, 3vw, 2.1rem); letter-spacing: -.015em; }
h1:focus { outline: none; }
h2 { font-size: 1.16rem; letter-spacing: -.005em; }
h3 { font-size: 1rem; }
p { margin: 0 0 16px; }
button, input { font: inherit; }
[hidden] { display: none !important; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 16px; top: 10px; background: var(--surface); padding: 10px; z-index: 20; }
.topbar { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; padding: 20px 24px; max-width: 1160px; margin: auto; }
.brand-context { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.exam-home { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); text-decoration: none; font-size: .94rem; }
.exam-home:hover { text-decoration: underline; }
.brand { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-family: var(--serif); font-size: 1.22rem; font-weight: 650; text-decoration: none; letter-spacing: -.01em; }
.mark { font-weight: 400; font-size: 1.6rem; color: var(--brand); }
#nav { position: fixed; bottom: 0; left: 0; right: 0; z-index: 10; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); background: var(--surface); border-top: 1px solid var(--line); padding: 0 8px env(safe-area-inset-bottom); }
#nav a { min-height: 62px; display: flex; align-items: center; justify-content: center; font-size: .9rem; color: var(--muted); text-decoration: none; border-top: 2px solid transparent; }
#nav a[aria-current="page"] { color: var(--brand); border-top-color: var(--brand); font-weight: 650; }
#nav a[hidden] { display: none; }
main { max-width: 1000px; margin: auto; padding: 20px 24px; }
.panel, .hero, .explain { margin-bottom: 32px; padding: 24px 0; }
.narrow, .runner { max-width: 680px; margin-inline: auto; }
.eyebrow { font-size: .75rem; color: var(--muted); margin-bottom: 20px; letter-spacing: .06em; }
.lede { font-size: 1.04rem; max-width: 58ch; }
.muted, .tip { color: var(--muted); }
.small, .tip { font-size: .84rem; }
.fineprint { font-size: .8rem; color: var(--muted); max-width: 75ch; margin-top: 18px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 18px; border: 1px solid transparent; border-radius: 5px; font: 550 .94rem/1.4 var(--sans); text-decoration: none; text-align: center; cursor: pointer; }
.btn.primary { color: var(--brand-ink); background: var(--brand); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn.ghost { color: var(--brand); background: transparent; border-color: var(--line); }
.btn.danger { color: var(--bad); }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 12px; }
.cta-row .btn { flex: 1 1 auto; }
.hero { padding-block: 32px 24px; }
.hero h1 { max-width: 20ch; }
.beta-scope { padding: 24px 0; background: transparent; margin-block: 8px 24px; border-radius: 5px; font-size: .9rem; }
.beta-scope p:last-child { margin-bottom: 0; }
.features { display: grid; gap: 18px; margin: 36px 0; }
.features article { padding: 18px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; }
.features article p { font-size: .9rem; color: var(--muted); margin-bottom: 0; }
.features h2 { font-size: 1rem; margin-bottom: 8px; }
.explain { border-top: 1px solid var(--line); }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 24px 0; gap: 20px; }
.facts dt { font-family: var(--serif); font-size: 1.5rem; font-weight: 500; font-variant-numeric: lining-nums tabular-nums; }
.facts dd { margin: 0; font-size: .8rem; color: var(--muted); }
.site-footer { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: .78rem; color: var(--muted); border-top: 1px solid var(--line); padding-block: 24px; margin-top: 40px; }
.site-footer span { flex-basis: 100%; }
.home-page { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; padding-bottom: 0; }
.home-page .topbar { width: 100%; margin-block: 0; }
.home-page main { display: flex; flex-direction: column; flex: 1; width: 100%; margin-block: 0; }
.home-panel { width: 100%; }
.beta-trust { border-left: 3px solid var(--brand); padding: 4px 0 4px 14px; margin-block: 20px; font-size: .84rem; color: var(--muted); }
.beta-trust p { margin-bottom: 6px; }
.beta-trust p:last-child { margin-bottom: 0; }
.beta-trust strong { color: var(--ink); font-weight: 600; }
.diagnostic-subjects { margin-top: 32px; }
.result-filter { display: flex; align-items: center; gap: 10px; min-height: 48px; width: fit-content; cursor: pointer; }
.result-filter input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--brand); }
.home-page .site-footer { margin-top: auto; }
.bridge-steps { padding-left: 24px; margin-block: 24px; }
.bridge-steps li { margin-bottom: 12px; }
.transfer-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; margin-bottom: 24px; border: 1px solid var(--brand); border-radius: 5px; background: var(--surface-2); }
.transfer-banner p { margin: 0; }
.transfer-banner .btn { flex-shrink: 0; }
.about-version { margin-top: 32px; color: var(--muted); font-size: .84rem; }
.contact-link { display: inline-flex; align-items: center; min-height: 44px; }
.notice, .resume-strip { padding: 14px 16px; background: var(--surface-2); font-size: .85rem; margin-bottom: 20px; border-radius: 4px; }
.resume-strip { display: flex; justify-content: space-between; }
.session-tools { margin-top: 24px; }
.chip { display: inline-block; font-size: .75rem; color: var(--muted); }
.qmeta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 12px; }
.qmeta .subj { color: var(--brand); font-weight: 600; }
.chip.approved { color: var(--ok); }
.chip.rejected { color: var(--bad); }
.question-review { margin-top: 20px; margin-bottom: 12px; }
/* Güven damgaları: TASLAK kesik, OKUNDU düz ve tarihli, AI noktalı, Düzeltildi düz kâğıt. */
.damgalar { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 0 0 2px; }
.damga { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; max-width: 100%; padding: 2px 8px; border: 1.5px dashed var(--brand); border-radius: 3px; color: var(--brand); font: 600 .74rem/1.5 var(--sans); letter-spacing: .015em; overflow-wrap: anywhere; }
.damga-approved { border-style: solid; }
.damga-approved time { font-weight: 500; }
.damga-rejected { border-style: solid; border-color: var(--bad); color: var(--bad); }
.damga-ai { border-style: dotted; border-color: var(--muted); color: var(--muted); font-weight: 500; }
.damga-duzeltildi { border-style: solid; border-color: var(--line); background: var(--surface-2); color: var(--ink); font-weight: 500; }
.damga-legend { list-style: none; padding: 0; display: grid; gap: 10px; }
.damga-legend .damga { margin-right: 6px; }
.itiraz { margin-top: 4px; font-size: .84rem; }
.itiraz > summary { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.itiraz-body { padding: 4px 0 8px; }
.itiraz-body > p { margin: 4px 0 8px; }
.itiraz-reasons { display: flex; flex-wrap: wrap; gap: 8px; }
.itiraz-reasons .btn { min-height: 44px; padding: 8px 12px; font-size: .84rem; }
.itiraz-reasons .btn[aria-pressed="true"] { border-color: var(--brand); background: var(--surface-2); }
.itiraz-reasons .btn:disabled { cursor: default; }
.itiraz-reasons .btn[aria-pressed="true"]:disabled { opacity: 1; }
.itiraz-status:empty { display: none; }
.itiraz-status[data-result="failed"] { color: var(--bad); }
.itiraz-mail .report-link { min-height: 44px; }
.hata-defteri { margin-top: 32px; padding-top: 8px; border-top: 1px solid var(--line); }
.hata-list { padding-left: 1.2em; }
.hata-list li { margin-bottom: 14px; }
.hata-list .hata-head { margin: 0 0 2px; }
.hata-sinif { display: inline-block; white-space: nowrap; padding: 0 6px; border: 1px solid var(--line); border-radius: 999px; font-size: .74rem; font-weight: 600; color: var(--muted); vertical-align: 1px; }
.hata-head strong { white-space: nowrap; }
.snapshot { font-size: .73rem; color: var(--muted); margin: 3px 0; }
.review-meta { font-size: .74rem; color: var(--muted); }
.review-meta summary { min-height: 44px; }
.review-meta p { overflow-wrap: anywhere; }
.qsource { font-size: .8rem; margin-bottom: 8px; }
.qcard { margin-bottom: 16px; }
.run-head { margin-bottom: 20px; }
.run-title { font-size: 1.18rem; }
.run-head .bar { margin-block: 10px 0; }
.bar { height: 4px; overflow: hidden; background: var(--surface-2); }
.bar > span { display: block; height: 100%; background: var(--brand); }
.big-bar { margin-bottom: 24px; }
.stem { font-size: 1.08rem; font-weight: 550; line-height: 1.65; margin-bottom: 18px; }
.options { display: grid; gap: 8px; }
.opt { transition: border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease); display: flex; gap: 14px; align-items: baseline; width: 100%; text-align: left; min-height: 52px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font: .94rem/1.5 var(--sans); cursor: pointer; }
.opt .letter { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; color: var(--muted); font-size: .8rem; }
@media (hover: hover) and (pointer: fine) {
  .opt:hover:not(:disabled) { border-color: var(--brand); background: var(--surface-2); }
}
.opt.is-selected { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); background: var(--surface-2); }
.opt.is-selected .letter { background: var(--brand); color: var(--brand-ink); font-weight: 650; }
.keyboard-guidance { display: none; }
@media (hover: hover) and (pointer: fine) {
  .keyboard-guidance { display: inline; }
  p.keyboard-guidance { display: block; }
}
.opt.is-correct { background: var(--ok-bg); border-color: var(--ok); }
.opt.is-wrong { background: var(--bad-bg); border-color: var(--bad); }
.opt.is-selected.is-correct { box-shadow: inset 0 0 0 1px var(--ok); }
.opt.is-selected.is-wrong { box-shadow: inset 0 0 0 1px var(--bad); }
.opt:disabled { cursor: default; }
.opt.is-correct::after, .opt.is-wrong::after { margin-left: auto; padding-left: 10px; font-weight: 650; }
.opt.is-correct::after { content: "✓" / ""; color: var(--ok); }
.opt.is-wrong::after { content: "✕" / ""; color: var(--bad); }
.feedback { padding-top: 28px; margin-top: 24px; border-top: 1px solid var(--line); }
/* Dayanak perdesi: a one-line decision strip, then the article on parchment
   (nothing overlaps it), then the explanation in smaller secondary text.
   A wrong answer is "henüz değil" in mustard, never alarm red. */
.dayanak { margin-top: 16px; }
.karar { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 10px 14px; font-family: var(--sans); font-size: 1rem; font-weight: 600; line-height: 1.45; border-left: 3px solid var(--ok); background: var(--ok-bg); color: var(--ok); border-radius: 0 3px 3px 0; }
.dayanak.is-notyet .karar { border-left-color: var(--bad); background: var(--bad-bg); color: var(--bad); }
.karar-mark { flex: none; font-size: 1.05rem; line-height: 1.4; }
.karar-text { display: grid; gap: 2px; min-width: 0; }
.karar-detail { font-size: .86rem; font-weight: 400; color: var(--ink); }
.karar-detail strong { font-weight: 600; }
.dayanak .perde { margin: 14px 0 12px; background: var(--parchment); border: 1px solid var(--parchment-line); border-radius: 4px; }
.aciklama { font-size: .9rem; line-height: 1.6; color: var(--muted); margin: 0 0 10px; }
/* The article is the centre of the explanation: a provision with a margin
   reference, rather than another success/error card. The same rhythm repeats
   in subject rows, the study plan and history. */
.excerpt { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0 16px; margin: 28px 0; padding: 22px 16px; background: var(--surface-2); border-radius: 3px; }
.excerpt p { font-family: var(--serif); font-size: 1.2rem; line-height: 1.6; letter-spacing: 0; }
.article-ref { grid-row: 1 / 3; font-size: .72rem; color: var(--muted); padding-top: 5px; }
.article-ref strong { display: block; font-family: var(--serif); font-size: 1.1rem; font-weight: 600; color: var(--brand); font-variant-numeric: lining-nums; }
.excerpt footer { grid-column: 2; font-size: .76rem; color: var(--muted); }
.sr-note { font-size: .84rem; color: var(--muted); }
.actions { position: sticky; bottom: calc(var(--nav-height, 62px) + env(safe-area-inset-bottom)); padding: 12px 0; background: var(--bg); z-index: 3; }
.actions .btn { width: 100%; }
summary { cursor: pointer; min-height: 46px; padding-block: 12px; font-size: .9rem; }
details > p:first-of-type { margin-top: 12px; }
.assumptions, .diag-results, .exam-structure { border-top: 1px solid var(--line); margin-top: 26px; }
.assumptions { font-size: .85rem; }
.diag-results summary h2 { display: inline; font-size: .9rem; }
.diag-results ol { padding-left: 20px; }
.diag-results li { padding-block: 24px; border-bottom: 1px solid var(--line); font-size: .9rem; }
.diag-results .ok { color: var(--ok); }
.diag-results .bad, .diag-results .notyet { color: var(--bad); }
.subject-grid { display: grid; gap: 0; margin: 24px 0; }
.subject-card { padding: 16px 0; border-bottom: 1px solid var(--line); }
.subject-card header { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; align-items: baseline; }
.subject-card .rank { grid-column: 1 / -1; font-size: .75rem; color: var(--muted); margin: 0 0 5px; }
.subject-card h2 { font-size: 1rem; margin: 0; }
.subject-card .big { font-family: var(--serif); font-size: 1.3rem; margin: 8px 0; font-variant-numeric: lining-nums tabular-nums; }
.subject-card .bar { margin-bottom: 12px; }
.subject-card p:last-child { margin-bottom: 0; }
.weights { width: 100%; font-size: .8rem; border-collapse: collapse; }
.weights th, .weights td { text-align: left; padding: 10px 5px; border-bottom: 1px solid var(--line); }
.weights th:first-child { width: 48%; }
.weights tr.covered { color: var(--brand); }
.checklist, .mix, .forecast, .history { list-style: none; padding: 0; margin: 24px 0; }
.checklist li { padding: 10px 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
.mix li, .forecast li, .history li { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; border-bottom: 1px solid var(--line); padding: 14px 0; font-size: .9rem; }
.mix li .small { grid-column: 1 / -1; }
.score-card { background: var(--surface-2); padding: 24px; border-radius: 4px; }
.score { font-family: var(--serif); font-size: 2rem; font-weight: 500; line-height: 1.3; margin: 0 0 18px; font-variant-numeric: lining-nums tabular-nums; }
.score span { display: block; font-family: var(--sans); font-size: .85rem; color: var(--muted); margin-top: 8px; }
/* Results share one quiet surface: the map's latest sitting and a finished session. */
.score-card > :last-child { margin-bottom: 0; }
.score-card .bar { background: var(--line); }
.score-card .big-bar { margin-bottom: 14px; }
.map-result { margin-top: 8px; }
.map-result .score { margin-bottom: 14px; }
.journey { padding-left: 1.4rem; margin: 20px 0; font-size: .9rem; }
.journey li { margin-bottom: 6px; padding-left: 4px; }
.journey li::marker { color: var(--muted); }
.mastery-list { display: grid; gap: 24px; margin-block: 24px; }
.mrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; }
.mrow .bar { grid-row: 2; grid-column: 1 / -1; }
.mval { grid-column: 2; grid-row: 1; }
.two-col { display: grid; gap: 32px; }
.boxes { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.boxes li { display: grid; border-bottom: 1px solid var(--line); padding: 8px 0; }
.boxes strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 500; font-variant-numeric: lining-nums tabular-nums; }
.spark { width: 100%; max-width: 480px; height: 70px; margin-block: 20px; }
.spark-line { fill: none; stroke: var(--brand); stroke-width: 2; }
.spark-ref { stroke: var(--line); }
.field { display: grid; gap: 12px; margin: 32px 0 12px; }
.field input { max-width: 100%; min-width: 0; font-size: .85rem; }
.recovery h2, .narrow > h2 { margin-top: 32px; }
@media (min-width: 760px) {
  body { padding-bottom: 0; }
  .topbar { padding: 24px 40px; max-width: 1000px; }
  #nav { position: static; display: flex; flex-wrap: wrap; max-width: 100%; gap: 24px; background: transparent; border: 0; padding: 0; }
  #nav a { min-height: 40px; border-top: 0; border-bottom: 2px solid transparent; font-size: .88rem; }
  #nav a[aria-current="page"] { border-bottom-color: var(--brand); }
  main { padding: 32px 40px; }
  .narrow, .runner { margin-inline: 0; }
  .hero { padding-block: 42px 32px; max-width: 680px; }
  .hero h1 { max-width: none; }
  .beta-scope { max-width: 680px; }
  .features { grid-template-columns: repeat(3, 1fr); gap: 36px; margin-block: 48px; }
  .facts { max-width: 420px; }
  .cta-row .btn { flex: 0 1 auto; }
  .subject-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 32px; }
  .subject-card header { display: block; }
  .subject-card h2 { min-height: 44px; margin-block: 8px; }
  .two-col { grid-template-columns: 1fr 1fr; }
  .actions { position: static; }
  .actions .btn { width: auto; min-width: 220px; }
  .excerpt { padding: 28px 32px; }
  .site-footer span { flex-basis: auto; margin-left: auto; }
}
@media (max-width: 359px) {
  main { padding-inline: 18px; }
  .weights { font-size: .7rem; }
  .weights th, .weights td { padding-inline: 2px; }
}

.file-picker { position: relative; justify-self: start; overflow: hidden; }
.file-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.file-picker:focus-within { outline: 2px solid var(--brand); outline-offset: 4px; }
@media (min-width: 760px) { .boxes { grid-template-columns: repeat(4, 1fr); } }

.sample { padding: 20px; max-width: 680px; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; }
.sample-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.sample-head .eyebrow { margin: 0; }
.sample-head .subj { color: var(--brand); font-weight: 600; }
.sample h2 { font-size: 1.04rem; font-weight: 550; margin-bottom: 14px; }
.sample-options { gap: 6px; margin-bottom: 14px; }
.sample-opt { min-height: 48px; padding: 10px 12px; font-size: .9rem; }
.sample .excerpt { background: var(--parchment); border: 1px solid var(--parchment-line); padding: 16px 14px; margin: 16px 0 14px; border-radius: 4px; }
.sample .question-review { margin: 0; }
.sample-answer { font-size: .88rem; margin: 12px 0; }
.sample .dayanak .perde { margin: 12px 0 10px; }
.scope-subjects { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: 10px; margin-top: 18px; }
.scope-pill { display: grid; gap: 2px; width: 100%; min-width: 0; max-width: 100%; min-height: 48px; padding: 10px 12px; text-align: left; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 5px; cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
.scope-pill.is-active { background: var(--surface-2); border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
.scope-pill-name { font-size: .88rem; font-weight: 600; color: var(--ink); }
.scope-pill-meta { font-size: .76rem; color: var(--muted); }
@media (hover: hover) and (pointer: fine) {
  .scope-pill:hover { border-color: var(--brand); background: var(--surface-2); }
}
.run-head p { margin-bottom: 8px; }
.btn.quiet { color: var(--brand); background: transparent; font-weight: 400; }
.btn.quiet.danger { color: var(--bad); }
.pause-tools { font-size: .85rem; margin-bottom: 24px; }
.pause-tools summary { color: var(--brand); width: fit-content; min-width: 88px; }
.storage-note { margin-top: 32px; max-width: 680px; }
.storage-note h2 { font-size: 1rem; }
.storage-note p { max-width: 68ch; }
.storage-note .btn { font-size: .84rem; }
.olcum-card { max-width: 680px; }
.olcum-card h2 { font-size: 1rem; margin: 0; }
.olcum-choices { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 2px; }
.olcum-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 12px; }
.olcum-foot p { margin: 0; }
.olcum-foot .btn { font-size: .84rem; padding-inline: 8px; }
.olcum-choices .btn { flex: 1 1 88px; font-size: .9rem; }
.olcum-card [data-yarin-thanks] { margin: 0; }
.excerpt footer a, .resume-strip a { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer a { display: inline-flex; align-items: center; min-height: 48px; padding-block: 8px; }
@media (max-width: 759px) {
  .focus-mode #nav, .focus-mode .site-footer { display: none; }
  .focus-mode { padding-bottom: env(safe-area-inset-bottom); }
  .focus-mode .actions { bottom: env(safe-area-inset-bottom); }
  .focus-mode .topbar { padding-block: 12px; }
  .focus-mode main { padding-top: 8px; }
  .subject-card .rank { margin-bottom: 0; }
  .hero { padding-top: 16px; margin-bottom: 0; }
  .sample { padding: 16px; }
}
@media (min-width: 1000px) {
  .landing-intro { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 48px; align-items: start; padding-block: 28px 12px; }
  .landing-intro .hero { padding-block: 16px; margin-bottom: 0; }
  .sample { padding: 24px; margin-bottom: 0; }
  .hero h1 { max-width: 18ch; }
  .beta-scope { max-width: 100%; }
  .beta-scope > p { max-width: 72ch; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}
@media (max-width: 759px) {
  .subject-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; }
  .subject-card header { display: block; }
  .subject-card header h2 { margin-bottom: 2px; }
  .subject-card .big { grid-column: 2; grid-row: 1; align-self: center; }
  .subject-card .bar { grid-column: 1 / -1; margin: 4px 0; }
  .subject-card > .small { grid-column: 1 / -1; }
  .brand { min-height: 44px; }
  .notice a { display: inline-flex; align-items: center; min-height: 44px; }
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.report-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: .8rem; text-underline-offset: 3px; }

/* A quiet list remains readable as more exams are added. */
.exam-list { list-style: none; padding: 0; margin: 32px 0 20px; display: grid; gap: 16px; }
.exam-list > li { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 22px 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; }
.exam-list h2 { font-size: 1.08rem; margin: 0 0 6px; }
.exam-list p { margin: 0; }
.exam-list > li > .btn { align-self: end; }

.exam-list .btn::after { content: ""; position: absolute; inset: 0; }
/* A filter on the link would shrink its stretched target during pointer-down. */
.exam-list .btn:active:not(:disabled) { filter: none; }
.exam-list > li:has(.btn:active) { filter: brightness(.9); }
.exam-list > li:has(.btn:hover) { background: var(--surface-2); border-color: var(--brand); }
.exam-list > li:has(.btn:focus-visible) { outline: 2px solid var(--brand); outline-offset: 4px; }
.exam-list .exam-short-name { color: var(--brand); font-weight: 650; font-size: .75rem; letter-spacing: .06em; margin-bottom: 6px; }
.exam-list .exam-progress-slot { min-height: 24px; margin-top: 8px; }
.exam-list .exam-progress { color: var(--brand); font-weight: 550; }
.about-exams { list-style: none; padding: 0; margin-block: 24px; }
.about-exams a { display: flex; align-items: center; min-height: 44px; padding-block: 12px; border-top: 1px solid var(--line); }
@media (max-width: 480px) { .exam-list > li { align-items: flex-start; gap: 12px; padding: 18px 14px; } .exam-list .btn { padding-inline: 12px; } }
/* Compact diagnostic review uses native disclosures and intersecting filters. */
.result-subject { display: grid; gap: 8px; max-width: 360px; margin-block: 12px 20px; font-size: .9rem; }
.result-subject select { min-height: 48px; width: 100%; padding: 8px; font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 4px; }
select:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
.review-list > li > p { margin-bottom: 4px; }
.answer-review > summary { color: var(--brand); }

.feedback [tabindex]:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }

/* Text enlargement must reflow, including long legal references and controls. */
main { overflow-wrap: anywhere; }
.btn, .opt, .otext, .facts > div, .mix li > *, .forecast li > *, .history li > * { min-width: 0; }
.btn { max-width: 100%; white-space: normal; }
#nav a { min-width: 0; overflow-wrap: anywhere; text-align: center; padding: 8px 3px; }
.btn:active:not(:disabled), .opt:active:not(:disabled) { filter: brightness(.9); }
a:active, summary:active { opacity: .75; }
.estimate-label { display: block; font-size: .72rem; color: var(--muted); font-weight: 400; }
.resume-strip, .transfer-banner { flex-wrap: wrap; }
.result-subject select { min-width: 0; }
.weights { table-layout: fixed; }
.weights th, .weights td { overflow-wrap: anywhere; }
@media (max-width: 400px) {
  .sample { padding: 14px 12px; }
  .facts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 5rem), 1fr)); gap: 12px; }
  .excerpt { grid-template-columns: minmax(0, 1fr); }
  .article-ref { grid-row: auto; margin-bottom: 10px; }
  .article-ref strong { display: inline; margin-left: 6px; }
  .excerpt footer { grid-column: 1; }
  .mix li, .forecast li, .history li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

/* Compact readiness belongs to the footer; details live with data/about. */
.offline-summary { flex-basis: 100%; margin: 0; }
.offline-summary p { margin: 0; overflow-wrap: anywhere; }
.offline-summary:has([data-testid="apply-update"]:not([hidden])), .offline-summary[data-warning] { padding: 16px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.offline-details { margin-block: 24px; }
.offline-details p { overflow-wrap: anywhere; }
[data-testid="offline-status"] [hidden], [data-testid="offline-status"][hidden] { display: none; }

/* Desktop study views pair related information while preserving DOM order.
   rem-based breakpoints fall back to one column with enlarged browser text. */
@media (min-width: 64rem) {
  .panel > p:not(.lede), .map-result > p, .practice-intro > p, [data-testid="weakness-map"] > p { max-width: 70ch; }
  .map-result:has(.score) { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 12px 24px; align-items: start; }
  .map-result .score { grid-row: 1 / span 2; margin: 0; }
  .map-result > p:not(.score) { margin: 0; }
  .practice-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: 48px; }
  .practice-layout > .eyebrow, .practice-layout > h1 { grid-column: 1 / -1; }
  .practice-subjects .diagnostic-subjects { margin-top: 0; }
  .practice-subjects .mix { margin-top: 12px; }
  .progress-heading { margin-bottom: 16px; }
  .progress-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; padding-bottom: 24px; }
  .progress-layout > .panel { margin: 0; padding: 0; min-width: 0; }
  .progress-layout .score-card { margin-bottom: 24px; }
  .progress-layout .boxes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .review-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 32px; align-items: start; }
  .review-list { margin-top: 0; }
  .review-list > li:first-child { padding-top: 12px; }
  .review-layout .excerpt { padding: 20px; }
  .scope-subjects { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .scope-subjects:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.not-found { padding-block: clamp(2rem, 8vh, 5rem); }

/* First visit: one stable server/browser chooser and concise empty states. */
.exam-chooser { max-width: none; }
.exam-chooser > .lede { max-width: 65ch; }
.exam-list > li { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px; }
.exam-list > li > .btn { width: 100%; }
.exam-list .beta-trust { margin-block: 14px 0; padding: 0; border: 0; }
.exam-list .beta-trust p { margin-bottom: 6px; }
.content-status { display: grid; gap: 4px; padding: 10px 12px; background: var(--surface-2); border-left: 3px solid var(--brand); color: var(--ink); font-size: .9rem; }
.beta-trust .content-status { margin-block: 12px; }
.empty-subjects { list-style: none; padding: 0; margin-block: 24px; }
.empty-subjects li, .mix li { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding-block: 10px; border-bottom: 1px solid var(--line); }
.empty-subjects li > :last-child, .mix li strong { flex-shrink: 0; }
@media (min-width: 760px) { #nav a { min-width: 44px; min-height: 44px; } }
@media (min-width: 1024px) { .exam-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) {
  .exam-chooser { padding-top: 8px; }
  .exam-chooser h1 { font-size: 2rem; line-height: 1.15; }
  .exam-chooser > .lede { font-size: 1rem; line-height: 1.6; }
  .exam-list { margin-top: 24px; }
  .exam-list > li { padding: 16px; }
}

/* Day closing "Mühür": the seal is the only mover (one stamp, opacity only
   with reduced motion); effort reads first, the score stays small. */
.muhur-head { display: flex; flex-direction: column; }
.muhur-head h1 { font-size: clamp(1.9rem, 6vw, 2.125rem); line-height: 1.15; margin-bottom: 12px; }
.muhur-mark { order: -1; display: flex; justify-content: center; margin: 4px 0 20px; }
.muhur-seal { display: block; width: 128px; height: 128px; color: var(--brand); transform: rotate(-4deg); }
.muhur-seal text { fill: currentColor; font-family: var(--serif); font-variant-numeric: lining-nums tabular-nums; }
.muhur-seal .muhur-brand { font-size: 10px; font-weight: 600; letter-spacing: .14em; }
.muhur-seal .muhur-date { font-size: 19px; font-weight: 600; }
.muhur-seal .muhur-count { font-size: 15px; font-weight: 500; }
.muhur-seal.is-stamping { animation: muhur-bas var(--dur-4) var(--ease) both; }
@keyframes muhur-bas {
  0% { opacity: 0; transform: rotate(-4deg) scale(1.12); }
  60% { opacity: 1; transform: rotate(-4deg) scale(.98); }
  100% { opacity: 1; transform: rotate(-4deg) scale(1); }
}
@keyframes muhur-belir { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .muhur-seal.is-stamping { animation-name: muhur-belir; } }
.muhur-effort { display: flex; flex-wrap: wrap; gap: 4px 0; list-style: none; padding: 0; margin: 0 0 14px; font-size: 1.05rem; }
.muhur-effort li:not(:last-child)::after { content: "·"; content: "·" / ""; margin-inline: 10px; color: var(--muted); }
.muhur-effort strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.muhur-promise { font-family: var(--serif); font-size: 1.15rem; margin: 18px 0 6px; }
/* Bugün | Defter (1b-5). Calm by design: no streaks, flames or confetti. */
.defter-nav { margin: -4px 0 24px; }
.defter-nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.defter-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink); font-size: .88rem; text-decoration: none; }
.defter-nav a[aria-current="page"] { border-color: var(--brand); color: var(--brand); font-weight: 650; box-shadow: inset 0 0 0 1px var(--brand); }
.bugun h1 { margin-bottom: 8px; }
.bugun .eyebrow { margin-bottom: 8px; }
.bugun-exam { font-family: var(--serif); font-size: 1.05rem; color: var(--ink); margin: 0 0 20px; }
.bugun-sealed { display: flex; align-items: center; gap: 16px; padding: 16px; margin: 8px 0 20px; border: 1px solid var(--parchment-line); border-radius: 6px; background: var(--parchment); }
.bugun-sealed .muhur-mark { order: 0; margin: 0; }
.bugun-sealed .muhur-seal { width: 88px; height: 88px; }
.bugun-sealed h2 { font-size: 1.15rem; margin: 0 0 4px; }
.bugun-sealed p { margin: 0; }
.bugun-plan { margin: 8px 0 24px; }
.bugun-plan h2 { font-size: 1.1rem; margin: 0 0 6px; }
.bugun-plan .lede { margin-bottom: 8px; }
.mix-inline { margin: 12px 0; }
.mix-inline li { min-height: 44px; padding-block: 8px; font-size: .88rem; }
.plan-why { margin-top: 8px; }
.week { margin: 8px 0 24px; }
.week h2 { font-size: 1.1rem; margin: 0 0 10px; }
.week-seals { list-style: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin: 0 0 8px; padding: 0; }
.week-day { display: flex; flex-direction: column; align-items: center; gap: 6px; min-height: 44px; font-size: .78rem; color: var(--muted); }
.week-day.is-today { color: var(--ink); font-weight: 650; }
.week-dot { display: block; width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--muted); }
.week-day.is-sealed .week-dot { border-color: var(--brand); background: radial-gradient(circle, var(--brand) 0 38%, transparent 40%); }
.week-day.is-today .week-dot { border-style: dashed; border-color: var(--ink); }
.week-day.is-later .week-dot { border-color: var(--line); }
.week-day.is-today.is-sealed .week-dot { border-style: solid; border-color: var(--brand); }
/* Seal chain: ○ is the week's one excused day, an empty day stays quiet
   (no red, no loss mark); a thin line joins kept days. */
.week-day { position: relative; }
.week-day.is-mazeret .week-dot { border-color: var(--brand); border-width: 1.5px; }
.week-day.is-missed .week-dot { border-color: var(--line); border-width: 1px; }
.week-day.is-before .week-dot { border-color: var(--line); border-width: 1px; opacity: .5; }
.week-day.is-later .week-dot { border-style: dotted; }
.week-day.is-linked::before { content: ""; position: absolute; top: calc(.78rem * 1.65 + 6px + 12px); right: calc(50% + 13px); width: calc(100% + 4px - 26px); height: 2px; background: var(--brand); opacity: .4; }
/* Dönüş: an earlier wrong answer taken back. Moves at most once per sitting. */
.donus { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 8px 12px; border: 1px solid var(--parchment-line); border-radius: 6px; background: var(--parchment); font-family: var(--serif); font-size: 1rem; line-height: 1.45; }
.donus-mark { flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--brand); background: radial-gradient(circle, var(--brand) 0 34%, transparent 37%); transform: rotate(-4deg); }
.donus-ref { font-family: var(--sans); font-size: .82rem; color: var(--muted); white-space: nowrap; }
.donus.is-stamping .donus-mark { animation: muhur-bas var(--dur-4) var(--ease) both; }
@media (prefers-reduced-motion: reduce) { .donus.is-stamping .donus-mark { animation-name: muhur-belir; } }
.bugun-donus { margin: 8px 0 24px; padding: 12px 16px; border-left: 3px solid var(--brand); background: var(--surface); border-radius: 0 6px 6px 0; }
.bugun-donus h2 { font-size: 1.1rem; margin: 0 0 4px; }
.bugun-donus p { margin: 0; }
.subject-card.level-unknown .chip.level { color: var(--muted); }
.score-pending { margin: 0 0 8px; }

/* Kanun: Madde Defteri and article pages. A square's state is told by its
   shape and mark as well as its colour: grey fill, dashed outline, solid fill
   with ✓, hatched with ↻. No motion. */
.kare-anahtar { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; padding: 0; margin: 0 0 28px; font-size: .84rem; color: var(--muted); }
.kare-anahtar li { display: inline-flex; align-items: center; gap: 8px; }
.kanun-satiri { margin-bottom: 28px; }
.kanun-satiri h2 { font-size: 1.05rem; margin: 0 0 10px; }
.kareler { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0; }
.kare { position: relative; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 44px; height: 44px; border: 1.5px solid transparent; border-radius: 4px; font: 600 .78rem/1 var(--sans); font-variant-numeric: tabular-nums; text-decoration: none; }
.kare.is-gorulmedi { background: var(--surface-2); color: var(--muted); }
.kare.is-goruldu { border-style: dashed; border-color: var(--brand); color: var(--brand); background: transparent; }
.kare.is-ustalasildi { border-color: var(--brand); background: var(--brand); color: var(--brand-ink); }
.kare.is-tekrar { border-color: var(--bad); color: var(--bad); background-color: var(--bad-bg);
  background-image: repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--bad) 22%, transparent) 6px 8px); }
.kare-isaret { position: absolute; top: 2px; right: 3px; font-size: .62rem; line-height: 1; }
.kare.is-ustalasildi .kare-isaret::after { content: "✓"; }
.kare.is-tekrar .kare-isaret::after { content: "↻"; }
.kare-ornek { width: 22px; height: 22px; flex: none; }
.kare-ornek .kare-isaret { top: 1px; right: 2px; font-size: .55rem; }
a.kare:focus-visible { outline-offset: 2px; }
.durum-kurali dt { font-weight: 650; margin-top: 10px; }
.durum-kurali dd { margin: 0; }
.madde-head { margin-bottom: 16px; }
.madde-kanun { margin: 0; color: var(--muted); font-size: .92rem; }
.madde-no { margin: 2px 0 0; font-family: var(--serif); font-size: clamp(2.4rem, 9vw, 3.4rem); line-height: 1.05; letter-spacing: -.01em; }
.madde-no-label { font-size: .45em; font-weight: 500; color: var(--muted); vertical-align: .35em; }
.madde-baslik { margin: 6px 0 0; font-family: var(--serif); font-size: 1.15rem; }
.madde-durum { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; }
.madde-durum .kare-ornek { margin-top: 2px; }
.madde-metin { margin: 24px 0 12px; padding: 18px 18px 6px 8px; background: var(--parchment); border-left: 3px solid var(--parchment-line); border-radius: 3px; font-family: var(--serif); font-size: 1.04rem; line-height: 1.7; }
.fikra { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: 0 8px; margin: 0 0 12px; }
.fikra-no { text-align: right; color: var(--muted); font: 600 .82rem/1.9 var(--sans); font-variant-numeric: tabular-nums; }
.fikra-no.is-sira { font-weight: 400; }
.fikra-alt { margin-top: -6px; }
.fikra-alt .fikra-metin { padding-left: 14px; }
.fikra-not { font-size: .8rem; color: var(--muted); font-family: var(--sans); }
.madde-not { margin: 4px 0 12px 2.9rem; font-family: var(--sans); }
.madde-kaynak { font-size: .84rem; color: var(--muted); }
.madde-kaynak a { display: inline-flex; align-items: center; min-height: 44px; }
.madde-sorular { margin-top: 32px; }
.madde-sorular h2 { font-size: 1.05rem; }
.madde-soru-listesi { padding-left: 1.4rem; margin: 0; }
.madde-soru-listesi li { margin-bottom: 12px; }
.madde-soru-kok { display: block; }
.madde-gezinti { display: flex; justify-content: space-between; gap: 12px; margin-top: 32px; }
.madde-static { padding-bottom: 24px; }
/* Band on Defter: a range, never a point; one thin line marks the pack's line. */
.band { margin: 0 0 24px; padding: 16px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.band h2 { font-size: 1.1rem; margin: 0 0 6px; }
.band-figure { margin: 0 0 10px; font-size: .95rem; }
.band-figure strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.band-scale { position: relative; height: 14px; border-radius: 7px; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line); }
.band-range { position: absolute; top: 0; bottom: 0; border-radius: 7px; background: var(--brand); opacity: .55; }
.band-line { position: absolute; top: -5px; bottom: -5px; width: 2px; margin-left: -1px; background: var(--ink); }
.band-ticks { position: relative; display: flex; justify-content: space-between; margin: 4px 0 10px; font-size: .75rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.band-tick { position: absolute; transform: translateX(-50%); color: var(--ink); font-weight: 650; }
.band .small { margin: 0 0 6px; }
.band-why { margin-top: 4px; }
/* Tam deneme: readiness line, timed runner, result, and the learner's own exam result. */
.deneme-line { margin: 0 0 12px; }
.deneme-line-text { margin: 0 0 4px; }
.deneme-missing ul { list-style: none; padding: 0; margin: 0 0 8px; display: grid; gap: 0 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.deneme-missing a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.deneme-rules { padding-left: 20px; font-size: .9rem; }
.deneme-rules li { margin-bottom: 8px; }
.deneme-clock { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 4px 0 6px; font-size: .85rem; color: var(--muted); }
.deneme-clock strong { font: 650 1.15rem/1.3 var(--sans); font-variant-numeric: tabular-nums; color: var(--ink); }
.deneme-runner .actions { display: flex; gap: 8px; }
.deneme-runner .actions .btn { width: auto; flex: 2 1 0; }
.deneme-runner .actions [data-act="skip"] { flex: 1 1 0; padding-inline: 10px; }
.deneme-tools .btn { margin: 4px 8px 4px 0; }
.deneme-table td:not(:first-child), .deneme-table th:not(:first-child) { font-variant-numeric: tabular-nums; }
.deneme-review .review-tools { display: grid; gap: 8px; margin-bottom: 8px; }
.deneme-review select { min-height: 44px; max-width: 100%; }
.exam-structure tr.is-target { outline: 2px solid var(--brand); outline-offset: -2px; background: var(--surface-2); }
.sonuc-card { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.sonuc-card p { margin: 0 0 8px; }
.sonuc-card .olcum-choices .btn { flex: 1 1 120px; }
.sonuc-foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sonuc-defter > summary { font-weight: 600; }
