.app-shell { min-height:100vh; background:radial-gradient(circle at 80% 0,#06203d 0,transparent 32rem),var(--black); }
.noscript-message { position:relative; z-index:30; width:min(calc(100% - 2rem),46rem); margin:1rem auto; border:1px solid rgba(98,179,255,.5); border-radius:var(--radius); background:linear-gradient(145deg,rgba(17,31,48,.96),rgba(7,17,31,.96)); box-shadow:inset 0 1px rgba(255,255,255,.08),var(--glow); padding:clamp(1rem,4vw,1.5rem); }
.noscript-message h1 { margin:0; font-size:clamp(1.35rem,5vw,2rem); line-height:1.15; }
.noscript-message p { margin:.75rem 0 0; color:var(--text-soft); line-height:1.6; }
.event-hero { position:relative; min-height:15rem; overflow:hidden; }
.event-hero__media,.event-hero__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.event-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 20%,var(--black)); }
.event-hero__content { position:relative; z-index:1; padding:9rem 1rem 1rem; }
.event-hero__title { max-width:12ch; font-size:clamp(2rem,9vw,4rem); font-weight:900; line-height:.95; margin:.5rem 0; }
.eyebrow { color:#62b3ff; font-size:.75rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.day-tabs { position:sticky; top:env(safe-area-inset-top,0px); z-index:20; display:grid; grid-template-columns:repeat(3,1fr); gap:.25rem; min-height:4.125rem; padding:.5rem max(.5rem,env(safe-area-inset-right,0px)) .5rem max(.5rem,env(safe-area-inset-left,0px)); background:rgba(2,4,8,.86); backdrop-filter:blur(16px); }
.day-tab { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:.8rem .25rem; font-size:.72rem; }
.day-tab[aria-selected="true"] { background:rgba(0,119,255,.35); border-color:var(--blue); }
.trail-view { width:min(100% - 2rem,46rem); margin:0 auto; padding:2rem 0 6rem; }
.trail-heading h1 { font-size:clamp(2rem,8vw,3.5rem); line-height:1; }
.session-list { display:grid; gap:.75rem; }
.session-card { border:1px solid var(--line); border-radius:var(--radius); background:rgba(17,31,48,.34); overflow:hidden; }
.session-card__button,.session-card--agenda { width:100%; text-align:left; border:0; background:transparent; padding:1rem; }
.session-card__button > * { display:block; }
.session-card__button strong { margin:.35rem 0; font-size:1rem; }
.session-card__button small,.session-card--agenda p { color:var(--muted); }
.session-card--locked { opacity:.58; }
.session-card--live { border-color:var(--blue); box-shadow:0 0 2rem rgba(0,120,255,.18); }
.session-card__status,.session-card__id { color:#61b0ff; font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.continue-card,.refresh-button { border:1px solid var(--blue); border-radius:14px; background:#073d78; padding:.9rem 1rem; margin:0 0 1rem; }
.continue-card span,.continue-card strong { display:block; }
.toast { position:fixed; left:50%; bottom:max(1rem,env(safe-area-inset-bottom,0px)); z-index:50; translate:-50% 0; width:min(90%,28rem); border:1px solid var(--blue); border-radius:14px; background:#07111f; padding:1rem; }
.refresh-button { position:fixed; right:max(1rem,env(safe-area-inset-right,0px)); bottom:max(1rem,env(safe-area-inset-bottom,0px)); z-index:30; margin:0; }
.site-footer { padding:2rem; color:var(--muted); text-align:center; }
.reader-view { width:min(100% - 2rem,48rem); margin:0 auto; padding:2rem 0 7rem; }
.reader-sidebar { display:none; }
.reader-sidebar nav { display:grid; gap:.35rem; }
.reader-sidebar button { border:1px solid transparent; border-radius:10px; background:transparent; color:var(--muted); padding:.65rem; text-align:left; }
.reader-sidebar button[aria-current="page"] { border-color:var(--blue); background:rgba(0,115,240,.2); color:white; }
.reader-back { border:0; background:transparent; color:#61b0ff; padding:.5rem 0; }
.reader-header h1 { font-size:clamp(2.4rem,10vw,5rem); line-height:.96; margin:1rem 0; }
.reader-meta { color:var(--muted); }
.chapter-content { color:#c9d0da; font-size:1.05rem; line-height:1.75; }
.chapter-content h2,.chapter-content h3 { color:var(--text); line-height:1.15; margin-top:2em; }
.chapter-content img { display:block; width:100%; height:auto; border-radius:var(--radius); }
.chapter-content a { color:#69b5ff; }
.resource-link { display:inline-flex; border:1px solid var(--blue); border-radius:12px; padding:.8rem 1rem; text-decoration:none; background:rgba(0,115,240,.18); }
.reader-view[data-session-id="B5"] .chapter-content>p:only-child { display:flex; justify-content:center; margin:0; padding-block:clamp(2.5rem,7vw,5rem); }
.code-block { position:relative; margin:1.5rem 0; border:1px solid #20324a; border-radius:14px; overflow:hidden; background:#090e15; }
.code-block pre { margin:0; padding:2.8rem 1rem 1rem; overflow:auto; }
.code-block pre code.hljs { overflow:visible; padding:0; }
.copy-button { position:absolute; top:.5rem; right:.5rem; z-index:1; border:1px solid #31527a; border-radius:8px; background:#0e1722; padding:.4rem .7rem; }
.reader-nav { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:3rem; }
.reader-nav__button { min-height:4rem; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); padding:.8rem; }
.reader-error { border:1px solid #b44; border-radius:14px; padding:1rem; }
.app-shell::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 82% 8%,rgba(0,126,255,.18),transparent 28rem),radial-gradient(circle at 5% 55%,rgba(0,73,160,.08),transparent 25rem); }
.event-hero { min-height:clamp(18rem,58vw,34rem); }
.event-hero__media img { filter:saturate(1.06) contrast(1.04); }
.event-hero::after { background:linear-gradient(180deg,rgba(2,4,8,.05) 15%,rgba(2,4,8,.28) 55%,var(--black) 98%); }
.event-hero__content { padding-bottom:2rem; }
.day-tabs { width:min(calc(100% - 1rem),46rem); margin:-.25rem auto 0; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }
.day-tab { min-height:3rem; color:var(--muted); transition:border-color .2s,background .2s,color .2s; }
.day-tab[aria-selected="true"] { color:white; background:linear-gradient(135deg,rgba(0,115,236,.72),rgba(4,48,98,.62)); box-shadow:inset 0 1px rgba(255,255,255,.12),var(--glow); }
.session-card { position:relative; backdrop-filter:blur(18px); box-shadow:inset 0 1px rgba(255,255,255,.035); }
.session-card::after { content:""; position:absolute; width:8rem; height:8rem; right:-6rem; top:-6rem; border-radius:50%; background:var(--blue); filter:blur(2.7rem); opacity:.08; pointer-events:none; }
.session-card--available { border-color:rgba(83,158,231,.28); }
.session-card--live { background:linear-gradient(145deg,var(--glass-strong),rgba(8,19,32,.62)); }
.session-card--summary,.session-card--closing { background:linear-gradient(145deg,rgba(7,70,139,.34),rgba(8,18,30,.62)); }
.session-card__button { position:relative; z-index:1; min-height:7.8rem; }
.session-card__button:disabled { opacity:1; }
.continue-card { width:100%; color:white; text-align:left; box-shadow:var(--glow); }
.reader-view { position:relative; }
.reader-header { padding-bottom:1rem; border-bottom:1px solid var(--line); scroll-margin-top:calc(5rem + env(safe-area-inset-top,0px)); }
.chapter-audio { width:100%; max-width:var(--content); margin:1.25rem 0 .5rem; }
.audio-player { overflow:hidden; border:1px solid rgba(103,184,255,.24); border-radius:20px; background:linear-gradient(145deg,rgba(19,42,67,.82),rgba(7,17,31,.94)); padding:1rem; box-shadow:inset 0 1px rgba(255,255,255,.05),0 20px 60px rgba(0,12,30,.3); }
.audio-player__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.audio-player__eyebrow,.audio-player__title,.audio-player__summary { margin:0; }
.audio-player__eyebrow { color:var(--blue-light); font-size:.65rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.audio-player__title { margin-top:.25rem; color:var(--text); font-size:1rem; font-weight:850; line-height:1.25; }
.audio-player__summary { margin-top:.2rem; color:var(--muted); font-size:.72rem; }
.audio-player__mark { display:grid; place-items:center; flex:0 0 2.25rem; width:2.25rem; height:2.25rem; border-radius:11px; background:rgba(20,136,255,.14); color:var(--blue-light); box-shadow:inset 0 1px rgba(255,255,255,.06); }
.audio-player__controls { display:grid; grid-template-columns:3rem minmax(0,1fr) auto; gap:.8rem; align-items:center; margin-top:1rem; }
.audio-player__play { display:grid; place-items:center; width:3rem; height:3rem; border:0; border-radius:50%; background:var(--blue); color:white; font-size:.92rem; font-weight:900; box-shadow:0 0 26px rgba(20,136,255,.34); transition:transform .2s ease,background .2s ease; }
.audio-player__play:hover { background:#2494ff; transform:scale(1.03); }
.audio-player__timeline { min-width:0; }
.audio-player__seek { --audio-progress:0%; display:block; width:100%; height:1.75rem; margin:0; appearance:none; -webkit-appearance:none; cursor:pointer; background:linear-gradient(90deg,var(--blue) 0 var(--audio-progress),transparent var(--audio-progress)),repeating-linear-gradient(90deg,#2c435d 0 2px,transparent 2px 5px); background-position:center; background-size:100% 1.25rem; background-repeat:no-repeat; }
.audio-player__seek::-webkit-slider-runnable-track { height:1.75rem; background:transparent; }
.audio-player__seek::-moz-range-track { height:1.75rem; background:transparent; }
.audio-player__seek::-webkit-slider-thumb { width:.9rem; height:.9rem; margin-top:.425rem; appearance:none; -webkit-appearance:none; border:2px solid #dff1ff; border-radius:50%; background:var(--blue); box-shadow:0 0 12px rgba(20,136,255,.8); }
.audio-player__seek::-moz-range-thumb { width:.7rem; height:.7rem; border:2px solid #dff1ff; border-radius:50%; background:var(--blue); box-shadow:0 0 12px rgba(20,136,255,.8); }
.audio-player__times { display:flex; justify-content:space-between; margin-top:-.15rem; color:var(--muted); font-size:.65rem; font-variant-numeric:tabular-nums; }
.audio-player__speed { min-width:3.25rem; min-height:2.75rem; border:1px solid rgba(103,184,255,.34); border-radius:999px; background:rgba(20,136,255,.11); padding:.45rem .65rem; color:#cbe7ff; font-size:.75rem; font-weight:900; }
.audio-player__play:focus-visible,.audio-player__seek:focus-visible,.audio-player__speed:focus-visible,.audio-player__retry:focus-visible { outline:2px solid var(--blue-light); outline-offset:3px; }
.audio-player__error { display:flex; align-items:center; justify-content:space-between; gap:.8rem; margin-top:.8rem; border:1px solid rgba(255,122,134,.35); border-radius:12px; background:rgba(112,24,38,.16); padding:.65rem .75rem; color:#ffd5d9; font-size:.78rem; }
.audio-player__error[hidden] { display:none; }
.audio-player__retry { min-height:2.75rem; border:1px solid rgba(255,213,217,.32); border-radius:10px; background:rgba(255,255,255,.07); padding:.45rem .65rem; color:white; font-weight:800; }
.chapter-content { max-width:var(--content); }
.chapter-content blockquote { margin:1.5rem 0; border-left:3px solid var(--blue); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:var(--glass); padding:1rem 1.2rem; color:var(--text-soft); }
.table-scroll { width:100%; margin:1.5rem 0; overflow:auto; border:1px solid rgba(111,177,244,.24); border-radius:18px; background:rgba(2,8,16,.72); box-shadow:inset 0 1px rgba(255,255,255,.035); }
.table-scroll:focus-visible { outline:2px solid var(--blue-light); outline-offset:3px; }
.chapter-content table { width:100%; min-width:34rem; border-collapse:separate; border-spacing:0; }
.chapter-content th,.chapter-content td { padding:.78rem .82rem; text-align:left; }
.chapter-content th { color:var(--text); font-size:.75rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; background:#073d78; border-bottom:1px solid var(--blue); }
.chapter-content th+th { border-left:1px solid rgba(255,255,255,.1); }
.chapter-content td { border-top:1px solid var(--line); color:var(--text-soft); background:rgba(7,17,31,.52); }
.chapter-content td+td { border-left:1px solid var(--line); }
.instructor-card-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.instructor-card { min-width:0; overflow:hidden; border:1px solid rgba(111,177,244,.24); border-radius:18px; background:linear-gradient(155deg,rgba(10,25,43,.96),rgba(4,13,23,.88)); box-shadow:inset 0 1px rgba(255,255,255,.04); }
.instructor-card__media { aspect-ratio:16/9; overflow:hidden; background:#08111d; }
.chapter-content .instructor-card__image { display:block; width:100%; height:100%; border-radius:0; object-fit:cover; }
.instructor-card:nth-child(1) .instructor-card__image { object-position:55% 48%; }
.instructor-card:nth-child(2) .instructor-card__image { object-position:53% 38%; }
.instructor-card:nth-child(3) .instructor-card__image { object-position:52% 40%; }
.instructor-card__body { padding:1rem; }
.chapter-content .instructor-card__name { margin:0; color:var(--text); font-size:1.05rem; }
.chapter-content .instructor-card__role { margin:.28rem 0 .8rem; color:var(--blue-light); font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.chapter-content .instructor-card__bio { margin:0; color:var(--text-soft); font-size:.9rem; line-height:1.58; }
.tool-card-list { display:grid; gap:.85rem; margin:1.5rem 0; }
.tool-card { display:grid; grid-template-columns:minmax(10rem,.55fr) minmax(0,1.25fr) minmax(11rem,.7fr) auto; gap:1.1rem; align-items:center; min-width:0; overflow:hidden; border:1px solid rgba(111,177,244,.24); border-radius:18px; background:linear-gradient(145deg,rgba(10,25,43,.94),rgba(4,13,23,.86)); padding:1rem; box-shadow:inset 0 1px rgba(255,255,255,.035); }
.tool-card__identity { display:flex; align-items:center; gap:.8rem; min-width:0; }
.tool-card__logo { display:grid; place-items:center; flex:0 0 3.25rem; width:3.25rem; height:3.25rem; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:#111b28; box-shadow:inset 0 1px rgba(255,255,255,.06); }
.tool-card__logo-image { width:1.9rem; height:1.9rem; object-fit:contain; }
.tool-card__initials { color:white; font-size:.8rem; font-weight:900; letter-spacing:.04em; }
.tool-card__identity-copy,.tool-card__field { display:grid; gap:.25rem; min-width:0; }
.tool-card__name { color:var(--text); font-size:1rem; }
.tool-card__vendor { color:var(--muted); font-size:.72rem; }
.tool-card__label { color:var(--blue-light); font-size:.65rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.tool-card__role { color:var(--text-soft); line-height:1.5; }
.tool-card__price { color:#96a4b6; font-size:.88rem; line-height:1.45; }
.tool-card__action { display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; border:1px solid var(--blue); border-radius:12px; background:#073d78; padding:.65rem .9rem; color:white; font-size:.82rem; font-weight:800; text-align:center; text-decoration:none; white-space:nowrap; box-shadow:var(--glow); }
.tool-card__action::after { content:' ↗'; }
.tool-card__action:hover { background:#0a4d93; }
.tool-card__action:focus-visible { outline:2px solid var(--blue-light); outline-offset:3px; }
.checklist-card { margin:1.5rem 0; border:1px solid var(--line); border-radius:18px; background:rgba(17,31,48,.42); padding:1rem; }
.checklist-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.6rem; }
.checklist-title { color:var(--text); font-size:.82rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.checklist-count { color:var(--blue-light); font-size:.78rem; font-weight:900; white-space:nowrap; }
.checklist-progress { height:5px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.checklist-progress__bar { height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#0752a9,#1c99ff); box-shadow:0 0 14px rgba(20,136,255,.38); transition:width .2s ease; }
.chapter-content .checklist-list { display:grid; gap:.55rem; margin:1rem 0 0; padding:0; list-style:none; }
.checklist-list li { margin:0; }
.checklist-item { display:flex; align-items:flex-start; gap:.72rem; border:1px solid var(--line); border-radius:12px; background:rgba(2,8,16,.45); padding:.75rem; cursor:pointer; transition:border-color .2s ease,background .2s ease; }
.checklist-item:hover { border-color:rgba(103,184,255,.35); }
.checklist-item:has(input:focus-visible) { outline:2px solid var(--blue-light); outline-offset:3px; }
.checklist-item input { flex:0 0 auto; width:1.25rem; height:1.25rem; margin:.08rem 0 0; accent-color:var(--blue); }
.checklist-item:has(input:checked) { border-color:rgba(20,136,255,.35); background:rgba(7,61,120,.16); }
.checklist-item:has(input:checked) .checklist-item__text { color:#91a0b3; text-decoration:line-through; text-decoration-color:rgba(103,184,255,.45); }
.refresh-button { color:white; box-shadow:var(--glow); }

/* Aula de vídeos: mesmos cards, sem coluna de investimento. */
@media (min-width:900px) { .tool-card--without-price { grid-template-columns:minmax(10rem,.6fr) minmax(0,1.4fr) auto; } }
.chapter-content .lesson-video { display:block; width:100%; max-width:360px; max-height:640px; margin:1.5rem auto; border:1px solid var(--line); border-radius:var(--radius); background:#020408; }
