/* ============================================================
   STANDALONE — páginas fora da casca (quiz, ranking, vestibular,
   landing, checkout, ingresso). Usa os tokens de tokens.css.
   ============================================================ */
.standalone-page { background: var(--bg); color: var(--text); min-height: 100vh; min-height: 100dvh; }
.standalone { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.standalone__main { flex: 1; width: 100%; max-width: var(--standalone-max, 1040px); margin: 0 auto; padding: clamp(1rem, 3vw, 2rem) var(--sp-4, 1rem); }
.standalone--wide { --standalone-max: 1280px; }
.standalone--narrow { --standalone-max: 760px; }
.standalone--full .standalone__main { max-width: none; padding: 0; }

/* Barra superior */
.standalone__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem clamp(1rem, 3vw, 2rem); border-bottom: 1px solid var(--border); background: var(--topbar-bg); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 20; }
.standalone__brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--text); text-decoration: none; font-weight: 700; min-width: 0; }
.standalone__brand img { max-height: 36px; max-width: 160px; object-fit: contain; display: block; }
.standalone__mark { width: 34px; height: 34px; border-radius: 10px; background: var(--gradient-primary); color: #fff; display: grid; place-items: center; font-size: .95rem; flex: 0 0 auto; }
.standalone__sep { width: 1px; height: 22px; background: var(--border-strong); }
.standalone__titulo { font-size: var(--fs-sm); color: var(--text-muted); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.standalone__acoes { display: inline-flex; align-items: center; gap: .6rem; }
.standalone__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: 1rem clamp(1rem, 3vw, 2rem); border-top: 1px solid var(--border); font-size: var(--fs-xs); color: var(--text-soft); }
.standalone__foot a { color: var(--text-muted); display: inline-flex; align-items: center; gap: .4rem; }

/* Logos por tema */
[data-theme="light"] .only-dark { display: none !important; }
[data-theme="dark"] .only-light { display: none !important; }

/* Cartão genérico para páginas públicas */
.standalone-card { background: var(--surface-glass); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid var(--border-strong); border-radius: var(--r-2xl, 20px); box-shadow: var(--shadow-xl); padding: clamp(1.25rem, 3vw, 2rem); }

@media (max-width: 640px) {
    .standalone__titulo { display: none; }
    .standalone__brand img { max-height: 30px; }
}
@media print {
    .standalone-page { background: #fff; color: #000; }
    .standalone__top, .standalone__foot, .no-print, .toast-stack { display: none !important; }
    .standalone__main { max-width: none; padding: 0; }
}
