/* Seshat — identidade visual
   Lápis-lazúli (primária), ouro (destaque), faiança turquesa (acerto),
   papiro (fundo claro) e noite do Nilo (fundo escuro). */

:root,
[data-bs-theme="light"] {
  --sx-lapis: #1f3c88;
  --sx-lapis-rgb: 31, 60, 136;
  --sx-gold: #b8892b;
  --sx-gold-rgb: 184, 137, 43;
  --sx-faience: #0f8f7e;
  --sx-faience-rgb: 15, 143, 126;
  --sx-ochre: #b4442f;
  --sx-ochre-rgb: 180, 68, 47;
  --sx-bg: #f6f1e6;
  --sx-surface: #fffdf8;
  --sx-surface-2: #f1ead9;
  --sx-border: #e2d8c3;
  --sx-text: #1d2333;
  --sx-muted: #6a6457;
  --sx-heat-0: #ebe3d0;

  --bs-primary: var(--sx-lapis);
  --bs-primary-rgb: var(--sx-lapis-rgb);
  --bs-success: var(--sx-faience);
  --bs-success-rgb: var(--sx-faience-rgb);
  --bs-danger: var(--sx-ochre);
  --bs-danger-rgb: var(--sx-ochre-rgb);
  --bs-warning: var(--sx-gold);
  --bs-warning-rgb: var(--sx-gold-rgb);
  --bs-body-bg: var(--sx-bg);
  --bs-body-color: var(--sx-text);
  --bs-secondary-color: var(--sx-muted);
  --bs-border-color: var(--sx-border);
  --bs-tertiary-bg: var(--sx-surface-2);
  --bs-link-color: var(--sx-lapis);
  --bs-link-color-rgb: var(--sx-lapis-rgb);
  --bs-link-hover-color: #142a63;
  --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-border-radius: .75rem;
  --bs-border-radius-lg: 1rem;
}

[data-bs-theme="dark"] {
  --sx-lapis: #7d9cf0;
  --sx-lapis-rgb: 125, 156, 240;
  --sx-gold: #e2b85c;
  --sx-gold-rgb: 226, 184, 92;
  --sx-faience: #3cc9b2;
  --sx-faience-rgb: 60, 201, 178;
  --sx-ochre: #ec7a62;
  --sx-ochre-rgb: 236, 122, 98;
  --sx-bg: #0e1322;
  --sx-surface: #161d33;
  --sx-surface-2: #1d2540;
  --sx-border: #2a3456;
  --sx-text: #e7e3d8;
  --sx-muted: #9a9fb3;
  --sx-heat-0: #1d2540;

  --bs-primary: var(--sx-lapis);
  --bs-primary-rgb: var(--sx-lapis-rgb);
  --bs-success: var(--sx-faience);
  --bs-success-rgb: var(--sx-faience-rgb);
  --bs-danger: var(--sx-ochre);
  --bs-danger-rgb: var(--sx-ochre-rgb);
  --bs-warning: var(--sx-gold);
  --bs-warning-rgb: var(--sx-gold-rgb);
  --bs-body-bg: var(--sx-bg);
  --bs-body-color: var(--sx-text);
  --bs-secondary-color: var(--sx-muted);
  --bs-border-color: var(--sx-border);
  --bs-tertiary-bg: var(--sx-surface-2);
  --bs-link-color: var(--sx-lapis);
  --bs-link-color-rgb: var(--sx-lapis-rgb);
  --bs-link-hover-color: #a9bdf6;
}

body {
  background: var(--sx-bg);
  color: var(--sx-text);
  -webkit-font-smoothing: antialiased;
}

.font-display,
.navbar-brand,
h1, .h1, h2, .h2 {
  font-family: "Cinzel", Georgia, serif;
  letter-spacing: .02em;
}

/* ---------- Botões ---------- */
.btn-primary {
  --bs-btn-bg: var(--sx-lapis);
  --bs-btn-border-color: var(--sx-lapis);
  --bs-btn-hover-bg: color-mix(in srgb, var(--sx-lapis) 85%, #000);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--sx-lapis) 85%, #000);
  --bs-btn-active-bg: color-mix(in srgb, var(--sx-lapis) 75%, #000);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}
[data-bs-theme="dark"] .btn-primary { --bs-btn-color: #0e1322; --bs-btn-hover-color: #0e1322; }
.btn-gold {
  --bs-btn-bg: var(--sx-gold);
  --bs-btn-border-color: var(--sx-gold);
  --bs-btn-color: #1d1606;
  --bs-btn-hover-bg: color-mix(in srgb, var(--sx-gold) 88%, #000);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--sx-gold) 88%, #000);
  --bs-btn-hover-color: #1d1606;
}
.btn-outline-primary {
  --bs-btn-color: var(--sx-lapis);
  --bs-btn-border-color: var(--sx-lapis);
  --bs-btn-hover-bg: var(--sx-lapis);
  --bs-btn-hover-border-color: var(--sx-lapis);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--sx-lapis);
  --bs-btn-active-border-color: var(--sx-lapis);
  --bs-btn-active-color: #fff;
}
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-hover-color: #0e1322; --bs-btn-active-color: #0e1322; }

/* ---------- Superfícies ---------- */
.card, .sx-card {
  --bs-card-bg: var(--sx-surface);
  --bs-card-border-color: var(--sx-border);
  background: var(--sx-surface);
  border: 1px solid var(--sx-border);
  border-radius: var(--bs-border-radius-lg);
}
.sx-card { padding: 1.25rem; }
.sx-muted { color: var(--sx-muted); }
.text-gold { color: var(--sx-gold) !important; }
.text-lapis { color: var(--sx-lapis) !important; }
.bg-surface { background: var(--sx-surface) !important; }
.bg-surface-2 { background: var(--sx-surface-2) !important; }

.sx-divider {
  height: 2px;
  border: 0;
  background: linear-gradient(90deg, transparent, var(--sx-gold), transparent);
  opacity: .6;
}

/* ---------- Topo e navegação ---------- */
.sx-topbar {
  background: color-mix(in srgb, var(--sx-surface) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--sx-border);
}
/* backdrop-filter cria um contexto de empilhamento: sem z-index, os menus do topo
   ficam por baixo do conteúdo seguinte (ex.: o hero da página pública). */
.sx-topbar:not(.sticky-top) { position: relative; z-index: 1030; }
.sx-topbar .nav-link { color: var(--sx-muted); font-weight: 500; border-radius: .6rem; padding: .45rem .8rem; }
.sx-topbar .nav-link:hover { color: var(--sx-text); background: var(--sx-surface-2); }
.sx-topbar .nav-link.active { color: var(--sx-lapis); background: rgba(var(--sx-lapis-rgb), .1); }
.navbar-brand { color: var(--sx-text) !important; font-weight: 700; }
.sx-logo { width: 30px; height: 30px; color: var(--sx-gold); }

.sx-bottomnav {
  position: fixed; inset: auto 0 0 0; z-index: 1030;
  display: flex; justify-content: space-around;
  padding: .35rem .25rem calc(.35rem + env(safe-area-inset-bottom));
  background: var(--sx-surface);
  border-top: 1px solid var(--sx-border);
}
.sx-bottomnav a {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: .1rem;
  font-size: .7rem; color: var(--sx-muted); text-decoration: none; padding: .25rem 0;
}
.sx-bottomnav a i { font-size: 1.25rem; }
.sx-bottomnav a.active { color: var(--sx-lapis); }
.has-bottomnav { padding-bottom: 5rem; }
@media (min-width: 992px) {
  .sx-bottomnav { display: none; }
  .has-bottomnav { padding-bottom: 0; }
}

.sx-avatar {
  width: 34px; height: 34px; border-radius: 50%;
  display: inline-grid; place-items: center;
  background: rgba(var(--sx-gold-rgb), .2); color: var(--sx-gold); font-weight: 700; font-size: .85rem;
}

/* ---------- Página pública ---------- */
.sx-hero {
  position: relative; overflow: hidden;
  background:
    radial-gradient(1200px 400px at 80% -10%, rgba(var(--sx-gold-rgb), .18), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(var(--sx-lapis-rgb), .18), transparent 60%);
}
.sx-hero h1 { font-size: clamp(2.2rem, 6vw, 3.6rem); line-height: 1.1; }
.sx-hero .lead { color: var(--sx-muted); max-width: 38rem; }
.sx-glyphs {
  position: absolute; right: -2rem; top: 2rem; width: 360px; height: 360px;
  color: var(--sx-gold); opacity: .12; pointer-events: none;
}
.sx-feature i {
  width: 44px; height: 44px; border-radius: .8rem;
  display: inline-grid; place-items: center; font-size: 1.3rem;
  background: rgba(var(--sx-lapis-rgb), .1); color: var(--sx-lapis);
}

/* Celular ilustrativo da página de venda: feito em HTML para seguir o tema. */
.sx-phone {
  width: 100%; max-width: 270px; margin-inline: auto;
  padding: .55rem; border-radius: 2.2rem;
  background: var(--sx-text); box-shadow: 0 24px 48px rgba(0,0,0,.18);
  text-align: left;
}
.sx-phone-screen {
  height: 520px; overflow: hidden; border-radius: 1.7rem;
  padding: 1.6rem 1rem 1rem; background: var(--sx-bg);
  position: relative;
}
.sx-phone-screen::before {
  content: ""; position: absolute; top: .55rem; left: 50%; translate: -50% 0;
  width: 70px; height: 6px; border-radius: 99px; background: var(--sx-border);
}
.sx-phone .sx-alt { padding: .5rem .6rem; gap: .5rem; }
.sx-phone .sx-alt .letter { width: 1.5rem; height: 1.5rem; font-size: .75rem; }
.sx-phone .sx-heatmap { grid-template-rows: repeat(7, 10px); grid-auto-columns: 10px; gap: 3px; }
.sx-phone .sx-heatmap span { width: 10px; height: 10px; }
.sx-phone-tilt { transform: rotate(-3deg); }
@media (prefers-reduced-motion: no-preference) {
  .sx-phone-tilt { animation: sx-float 6s ease-in-out infinite; }
  @keyframes sx-float { 50% { transform: rotate(-3deg) translateY(-10px); } }
}

.sx-highlight {
  background:
    radial-gradient(600px 300px at 100% 0, rgba(var(--sx-gold-rgb), .14), transparent 70%),
    var(--sx-surface);
}
.sx-step {
  width: 3rem; height: 3rem; border-radius: 50%;
  display: grid; place-items: center; font-weight: 800; font-size: 1.2rem;
  background: var(--sx-lapis); color: #fff;
}
[data-bs-theme="dark"] .sx-step { color: #0e1322; }

.sx-price { font-size: 2.6rem; font-weight: 800; line-height: 1; }
.sx-price small { font-size: 1rem; font-weight: 600; vertical-align: top; }
.sx-price span { font-size: 1rem; font-weight: 500; color: var(--sx-muted); }
.sx-plan-best { border: 2px solid var(--sx-gold); box-shadow: 0 16px 40px rgba(var(--sx-gold-rgb), .18); }
.sx-plan-tag { position: absolute; top: -.9rem; right: 1.25rem; }
.sx-guarantee { border-left: 4px solid var(--sx-faience); }
.sx-guarantee-icon { font-size: 4rem; color: var(--sx-faience); }
.accordion {
  --bs-accordion-bg: var(--sx-surface); --bs-accordion-border-color: var(--sx-border);
  --bs-accordion-active-bg: rgba(var(--sx-lapis-rgb), .08); --bs-accordion-active-color: var(--sx-text);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem rgba(var(--sx-lapis-rgb), .2);
}
html { scroll-behavior: smooth; scroll-padding-top: 4.5rem; }

/* ---------- Auth ---------- */
.sx-auth { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem 1rem; }
.sx-auth .sx-card { width: 100%; max-width: 420px; padding: 2rem; }
.sx-auth h1 { font-size: 1.25rem; }
/* Desktop: vitrine à esquerda e formulário à direita; celular: só o formulário. */
.sx-auth-split { min-height: 100vh; display: grid; }
@media (min-width: 992px) {
  .sx-auth-split { grid-template-columns: 1.15fr 1fr; }
}
.sx-auth-side {
  position: relative; overflow: hidden; flex-direction: column;
  padding: 2.5rem 3rem;
  background:
    radial-gradient(700px 400px at 0 0, rgba(var(--sx-gold-rgb), .16), transparent 65%),
    var(--sx-surface-2);
  border-right: 1px solid var(--sx-border);
}
.sx-auth-side .sx-glyphs { top: auto; bottom: -4rem; right: -4rem; }
.sx-auth-side .sx-phone-screen { height: 460px; }
.sx-plan-chosen {
  padding: .6rem .8rem; border-radius: .7rem;
  border: 1px solid rgba(var(--sx-gold-rgb), .5); background: rgba(var(--sx-gold-rgb), .08);
}
.form-control, .form-select {
  background-color: var(--sx-surface);
  border-color: var(--sx-border);
}
.form-control:focus, .form-select:focus {
  border-color: var(--sx-lapis);
  box-shadow: 0 0 0 .2rem rgba(var(--sx-lapis-rgb), .2);
}
.form-check-input:checked { background-color: var(--sx-lapis); border-color: var(--sx-lapis); }

/* ---------- Dashboard ---------- */
.sx-stat .value { font-size: 1.9rem; font-weight: 700; line-height: 1; }
.sx-stat .label { font-size: .8rem; color: var(--sx-muted); text-transform: uppercase; letter-spacing: .06em; }
.sx-ring {
  --p: 60;
  width: 112px; height: 112px; border-radius: 50%;
  background: conic-gradient(var(--sx-gold) calc(var(--p) * 1%), var(--sx-surface-2) 0);
  display: grid; place-items: center;
}
.sx-ring > div {
  width: 86px; height: 86px; border-radius: 50%; background: var(--sx-surface);
  display: grid; place-items: center; text-align: center; line-height: 1.1;
}
.sx-ring strong { font-size: 1.5rem; }
.sx-ring.lg { width: 168px; height: 168px; }
.sx-ring.lg > div { width: 132px; height: 132px; }
.sx-ring.lg strong { font-size: 2.2rem; }

.sx-heatmap {
  display: grid; grid-auto-flow: column; grid-template-rows: repeat(7, 13px);
  grid-auto-columns: 13px; justify-content: start;
  gap: 4px; overflow-x: auto; padding-bottom: .25rem;
}
.sx-heatmap span { width: 13px; height: 13px; border-radius: 3px; background: var(--sx-heat-0); }
.sx-heatmap span.sx-heat-pad { visibility: hidden; }
.sx-heatmap span[data-l="1"] { background: rgba(var(--sx-faience-rgb), .35); }
.sx-heatmap span[data-l="2"] { background: rgba(var(--sx-faience-rgb), .6); }
.sx-heatmap span[data-l="3"] { background: rgba(var(--sx-faience-rgb), .85); }
.sx-heatmap span[data-l="4"] { background: var(--sx-gold); }

.progress { --bs-progress-bg: var(--sx-surface-2); --bs-progress-bar-bg: var(--sx-lapis); --bs-progress-height: .55rem; border-radius: 99px; }
.progress-bar { border-radius: 99px; }

.sx-reminder {
  border: 1px dashed rgba(var(--sx-gold-rgb), .7);
  background: rgba(var(--sx-gold-rgb), .08);
  border-radius: var(--bs-border-radius-lg);
}

/* ---------- Concursos e provas ---------- */
.sx-contest {
  display: block; text-decoration: none; color: inherit;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.sx-contest:hover { transform: translateY(-2px); border-color: rgba(var(--sx-lapis-rgb), .5); box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.sx-contest .sigla {
  width: 52px; height: 52px; border-radius: .9rem; flex: none;
  display: grid; place-items: center; font-weight: 800; font-size: .8rem; letter-spacing: .03em;
  background: rgba(var(--sx-lapis-rgb), .12); color: var(--sx-lapis);
}
.badge-soft { background: var(--sx-surface-2); color: var(--sx-muted); font-weight: 500; border: 1px solid var(--sx-border); }
.badge-board { background: rgba(var(--sx-gold-rgb), .15); color: var(--sx-gold); font-weight: 600; }
.chip {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .35rem .8rem; border-radius: 99px; border: 1px solid var(--sx-border);
  background: var(--sx-surface); color: var(--sx-muted); font-size: .85rem; text-decoration: none; white-space: nowrap;
}
.chip.active { background: var(--sx-lapis); color: #fff; border-color: var(--sx-lapis); }
[data-bs-theme="dark"] .chip.active { color: #0e1322; }
.sx-scroll-x { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: none; }

/* ---------- Tela de questão ---------- */
.sx-qheader {
  position: sticky; top: 0; z-index: 1020;
  background: color-mix(in srgb, var(--sx-surface) 92%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--sx-border);
}
.sx-qheader .progress { --bs-progress-height: .3rem; }
.sx-statement { font-size: 1.05rem; line-height: 1.7; }
.sx-statement .text-support {
  border-left: 3px solid var(--sx-gold); padding: .75rem 1rem; background: var(--sx-surface-2);
  border-radius: 0 .6rem .6rem 0; font-size: .97rem;
}
.sx-alt {
  display: flex; gap: .85rem; align-items: flex-start; width: 100%; text-align: left;
  padding: .9rem 1rem; border-radius: .9rem;
  border: 1.5px solid var(--sx-border); background: var(--sx-surface); color: var(--sx-text);
  transition: border-color .12s ease, background .12s ease;
}
.sx-alt:hover { border-color: rgba(var(--sx-lapis-rgb), .55); }
.sx-alt .letter {
  flex: none; width: 2rem; height: 2rem; border-radius: 50%;
  display: grid; place-items: center; font-weight: 700;
  border: 1.5px solid var(--sx-border); color: var(--sx-muted);
}
.sx-alt.selected { border-color: var(--sx-lapis); background: rgba(var(--sx-lapis-rgb), .07); }
.sx-alt.selected .letter { background: var(--sx-lapis); border-color: var(--sx-lapis); color: #fff; }
.sx-alt.correct { border-color: var(--sx-faience); background: rgba(var(--sx-faience-rgb), .09); }
.sx-alt.correct .letter { background: var(--sx-faience); border-color: var(--sx-faience); color: #fff; }
.sx-alt.wrong { border-color: var(--sx-ochre); background: rgba(var(--sx-ochre-rgb), .08); }
.sx-alt.wrong .letter { background: var(--sx-ochre); border-color: var(--sx-ochre); color: #fff; }
.sx-alt.struck .body { text-decoration: line-through; opacity: .5; }
.sx-alt:disabled { opacity: 1; }

.sx-scratch {
  font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: .95rem;
  background:
    repeating-linear-gradient(to bottom, transparent 0 1.6rem, rgba(var(--sx-lapis-rgb), .08) 1.6rem calc(1.6rem + 1px)),
    var(--sx-surface);
  line-height: 1.6rem; min-height: 8rem;
}

.sx-answer { border-left: 4px solid var(--sx-faience); }
.sx-answer h6 { text-transform: uppercase; letter-spacing: .06em; font-size: .75rem; color: var(--sx-muted); }

.sx-qnav {
  position: fixed; inset: auto 0 0 0; z-index: 1030;
  background: var(--sx-surface); border-top: 1px solid var(--sx-border);
  padding: .6rem 1rem calc(.6rem + env(safe-area-inset-bottom));
}
.has-qnav { padding-bottom: 6rem; }

.sx-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(2.5rem, 1fr)); gap: .45rem; }
.sx-map a {
  aspect-ratio: 1; display: grid; place-items: center; border-radius: .6rem;
  border: 1.5px solid var(--sx-border); color: var(--sx-muted); text-decoration: none; font-weight: 600; font-size: .9rem;
}
.sx-map a.ok { background: rgba(var(--sx-faience-rgb), .15); border-color: var(--sx-faience); color: var(--sx-faience); }
.sx-map a.ko { background: rgba(var(--sx-ochre-rgb), .12); border-color: var(--sx-ochre); color: var(--sx-ochre); }
.sx-map a.now { border-color: var(--sx-lapis); color: var(--sx-lapis); box-shadow: 0 0 0 2px rgba(var(--sx-lapis-rgb), .25); }
.sx-map a.done { background: rgba(var(--sx-lapis-rgb), .15); border-color: var(--sx-lapis); color: var(--sx-lapis); }
.sx-map a.flag { position: relative; }
.sx-map a.flag::after { content: ""; position: absolute; top: 3px; right: 3px; width: 6px; height: 6px; border-radius: 50%; background: var(--sx-gold); }

.offcanvas { --bs-offcanvas-bg: var(--sx-surface); }

/* ---------- Resultado ---------- */
.sx-podium .sx-card { height: 100%; }
.sx-tag-strong { color: var(--sx-faience); }
.sx-tag-weak { color: var(--sx-ochre); }

/* ---------- Redação ---------- */
textarea.sx-essay { min-height: 22rem; resize: vertical; }
.sx-essay {
  font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; line-height: 2rem;
  background:
    repeating-linear-gradient(to bottom, transparent 0 2rem, rgba(var(--sx-lapis-rgb), .1) 2rem calc(2rem + 1px)),
    var(--sx-surface);
  min-height: 22rem;
}
mark.sx-mark { padding: 0 .15rem; border-radius: .2rem; cursor: help; color: inherit; }
mark.sx-mark.gramatica { background: rgba(var(--sx-ochre-rgb), .22); }
mark.sx-mark.coesao { background: rgba(var(--sx-gold-rgb), .28); }
mark.sx-mark.argumento { background: rgba(var(--sx-lapis-rgb), .2); }
mark.sx-mark.tema { background: rgba(var(--sx-faience-rgb), .22); }
mark.sx-mark.estrutura { background: rgba(var(--sx-ochre-rgb), .12); outline: 1px dashed rgba(var(--sx-ochre-rgb), .6); }
mark.sx-mark sup { font-weight: 600; margin-left: .1rem; }

/* ---------- Galeria do mockup ---------- */
.sx-shot {
  display: block; text-decoration: none; color: inherit; height: 100%;
  transition: transform .15s ease, border-color .15s ease;
}
.sx-shot:hover { transform: translateY(-3px); border-color: var(--sx-gold); }
.sx-shot i { font-size: 1.6rem; color: var(--sx-gold); }

.table { --bs-table-bg: transparent; }
code { color: var(--sx-lapis); background: rgba(var(--sx-lapis-rgb), .08); padding: .1rem .35rem; border-radius: .3rem; }
.dropdown-menu { --bs-dropdown-bg: var(--sx-surface); --bs-dropdown-border-color: var(--sx-border); }
.list-group { --bs-list-group-bg: var(--sx-surface); --bs-list-group-border-color: var(--sx-border); }
.nav-tabs { --bs-nav-tabs-link-active-bg: var(--sx-surface); --bs-nav-tabs-border-color: var(--sx-border); --bs-nav-tabs-link-active-border-color: var(--sx-border) var(--sx-border) var(--sx-surface); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--sx-lapis); }

.dropdown-menu { --bs-dropdown-link-active-bg: var(--sx-lapis); --bs-dropdown-link-active-color: #fff; }
[data-bs-theme="dark"] .dropdown-menu { --bs-dropdown-link-active-color: #0e1322; }
.sx-glyphs svg { width: 100%; height: 100%; }

/* ---------- Utilitários ---------- */
/* Títulos de card na fonte do texto, não na fonte de destaque. */
.sx-title-plain { font-family: inherit; }
.sx-progress-thin { height: 6px; }
.sx-progress-hair { --bs-progress-height: .3rem; }
.sx-w-20 { width: 20%; }
.sx-pre-wrap { white-space: pre-wrap; }
.sx-measure-35 { max-width: 35rem; }
.sx-measure-36 { max-width: 36rem; }
.sx-measure-40 { max-width: 40rem; }
.sx-measure-48 { max-width: 48rem; }
.sx-measure-45 { max-width: 45rem; }
.sx-dot { font-size: .5rem; }
.sx-summary { cursor: pointer; list-style: none; }
.sx-sheet { max-height: 75vh; }

/* Tela de questão: coluna de leitura confortável. */
.sx-qwrap { max-width: 820px; }
.sx-map a[data-annulled] { opacity: .5; }

/* Sigla grande do concurso no topo da página dele. */
.sx-sigla-lg {
  width: 64px; height: 64px; place-items: center;
  background: rgba(var(--sx-lapis-rgb), .12); color: var(--sx-lapis);
}

/* Prévia de redação na vitrine: sem a altura mínima da folha. */
.sx-essay.sx-essay-preview { min-height: 0; line-height: 1.6rem; }

/* ---------- Desempenho ---------- */
.sx-col-bar { width: 38%; }
.sx-daybars { display: flex; align-items: flex-end; gap: .25rem; height: 120px; }
/* --p (0–100) vem do servidor: altura relativa ao dia com mais questões. */
.sx-daybar {
  flex: 1; height: calc(var(--p, 0) * 1%); min-height: 3px;
  background: rgba(var(--sx-faience-rgb), .55); border-radius: .35rem .35rem 0 0;
}
.sx-daybar.today { background: var(--sx-gold); }
