/* Fase 2: trilha em Início, 3 colunas no computador, espaço do patrocinador e nova tela de questão. */
.home-3col{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.home-main,.home-rail{min-width:0}
@media(min-width:1280px){.home-3col{grid-template-columns:minmax(0,1fr) 320px}.home-rail{position:sticky;top:24px}}
.trail-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-radius:20px;background:var(--primary);color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.trail-banner small{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;opacity:.85}
.trail-banner b{display:block;font-size:20px;margin-top:4px}
.trail-banner em{font-style:normal;font-weight:800;background:rgba(255,255,255,.16);padding:8px 14px;border-radius:12px;white-space:nowrap}
.trail{list-style:none;margin:28px auto 8px;padding:0;max-width:440px;display:grid;gap:18px}
.trail-step a{position:relative;display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;min-height:80px}
.trail-step:nth-child(4n+2) a{margin-left:-64px}.trail-step:nth-child(4n+4) a{margin-left:64px}
.trail-node{flex:none;display:grid;place-items:center;width:80px;height:80px;border-radius:50%;font-size:30px;font-weight:900;background:#e3e8ef;color:#7a8799;box-shadow:0 6px 0 #c4ccd8;transition:transform .15s}
.trail-step.done .trail-node{background:var(--primary);color:#f4d632;box-shadow:0 6px 0 #0d4a6e}
.trail-step.current .trail-node{background:#f4d632;color:#1c2633;box-shadow:0 6px 0 #c9a800,0 0 0 10px rgba(244,214,50,.28)}
.trail-step a:hover .trail-node,.trail-step a:focus-visible .trail-node{transform:translateY(-3px)}
.trail-label b{display:block;font-size:17px}
.trail-label small{display:block;color:var(--muted,#5b6878);font-size:14px;margin-top:2px}
.trail-start{position:absolute;top:-30px;left:2px;background:#1c2633;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;padding:5px 10px;border-radius:8px}
.trail-start::after{content:"";position:absolute;left:30px;bottom:-5px;border:5px solid transparent;border-bottom:0;border-top-color:#1c2633}
.trail-continue{display:flex;justify-content:center;max-width:440px;margin:22px auto 0;min-height:56px;font-size:18px}
.home-all{margin:40px 0 14px;font-size:18px}
.home-rail{display:grid;gap:16px}
.rail-card h2{font-size:17px;margin:0 0 10px}
.rail-card p{margin:8px 0 0}
.rail-streak b{font-size:32px;color:#e2570f;margin-right:4px}
.rail-week{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:0;margin:12px 0 0;text-align:center;font-size:11px;font-weight:700;color:#7a8799}
.rail-week i{display:block;height:26px;border-radius:8px;background:#e9edf2;margin-bottom:4px}
.rail-week .part i{background:#fbc89a}.rail-week .full i{background:#e2570f}
.rail-meter{height:12px;border-radius:99px;background:#e9edf2;overflow:hidden}
.rail-meter span{display:block;height:100%;background:#f4d632;border-radius:inherit}
.rail-card .rail-date{float:left;display:grid;place-items:center;width:56px;height:60px;margin:2px 12px 6px 0;border-radius:12px;background:var(--primary);color:#fff;line-height:1}
.rail-date b{font-size:22px}.rail-date small{font-size:11px;font-weight:800}
.rail-card>a{display:inline-block;margin-top:10px;font-weight:700;clear:both}
.rail-sponsor{display:block;padding:18px;border:2px dashed #d9c76a;border-radius:18px;background:#fffbe6;color:inherit;text-decoration:none}
.rail-sponsor small{font-size:11px;font-weight:800;letter-spacing:.14em;color:#7a6a12}
.rail-sponsor-slot{display:grid;place-items:center;min-height:64px;margin:10px 0;border-radius:12px;background:#fff;color:#9aa5b4;font-weight:800;font-size:18px}
.rail-sponsor p{margin:0;font-size:14px}.rail-sponsor b{color:var(--primary)}
.rail-donate{display:block;text-align:center;padding:12px;border-radius:14px;background:#f4d632;color:#1c2633;font-weight:800;text-decoration:none;box-shadow:0 3px 0 #c9a800}
/* Nova tela de questão: alternativas grandes e atalhos de teclado. */
body[data-view=treino] .choices{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
body[data-view=treino] .choice{min-height:60px;font-size:20px;font-weight:800;border-radius:16px;border-width:2px;box-shadow:0 4px 0 #d3dae3}
body[data-view=treino] .choice.selected{box-shadow:0 4px 0 #0d4a6e}
.shortcut-hint{margin:14px 0 0;font-size:13px;color:var(--muted,#5b6878)}
.shortcut-hint kbd{display:inline-block;min-width:22px;padding:1px 6px;border:1px solid #cfd6df;border-bottom-width:2px;border-radius:6px;background:#fff;font:700 12px/1.6 inherit;text-align:center}
@media(min-width:1025px){body[data-view=treino] .actions{position:sticky;bottom:0;z-index:5;padding:14px 0;background:var(--bg,#f5f7fa);border-top:1px solid #e3e8ef}}
@media(max-width:1024px){.shortcut-hint{display:none}.trail-step:nth-child(4n+2) a{margin-left:-32px}.trail-step:nth-child(4n+4) a{margin-left:32px}.trail{padding-left:40px}.trail-banner{flex-direction:column;align-items:flex-start}}
@media(max-width:420px){body[data-view=treino] .choices{gap:6px}.trail-node{width:68px;height:68px;font-size:26px}}
@media(prefers-reduced-motion:reduce){.trail-node{transition:none}}
