*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font)}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--text)}.masthead{display:flex;align-items:center;gap:42px;padding:23px max(32px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:var(--sidebar)}.brand{font-weight:800;letter-spacing:.04em;color:var(--text);text-decoration:none;white-space:nowrap}.brand span{color:var(--accent);font-size:13px}.masthead nav a{text-decoration:none;font-size:14px}.badge{margin-left:auto;font-size:10px;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);padding:5px 10px;border-radius:20px;white-space:nowrap}main{max-width:1180px;margin:auto;padding:40px 32px 80px}.hero{padding:22px 0 34px;max-width:890px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--accent);text-transform:uppercase;margin:0 0 14px}h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.035em;line-height:1.13;margin:0 0 22px}h2{font-size:25px;line-height:1.3;margin:0 0 18px;letter-spacing:-.02em}h3{line-height:1.4;font-size:18px}.intro{font-size:19px;color:var(--muted);max-width:750px}.muted,small{color:var(--muted);font-size:14px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}.vod-card{max-width:555px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}.cover{height:160px;background:linear-gradient(125deg,#242b50,#141722);color:var(--accent);font-size:64px;font-weight:800;display:flex;align-items:center;justify-content:center;position:relative}.cover span{position:absolute;bottom:14px;left:20px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:500}.card-body{padding:26px}.card-body h2 a{text-decoration:none;color:var(--text)}.card-body>p:not(.eyebrow){color:var(--muted)}.button{display:inline-block;background:var(--accent-fill);color:var(--ink);padding:9px 18px;font-size:14px;border-radius:8px;font-weight:700;text-decoration:none}.button:hover{background:var(--accent-fill-hover);color:var(--ink)}.back{font-size:14px;text-decoration:none}.detail-hero{padding-top:32px}.sections{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:0 0 30px;padding-bottom:14px}.sections a{text-decoration:none;font-weight:600;font-size:14px}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:24px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px}.panel p{margin-top:12px}.panel li{margin-bottom:18px}.focus{font-weight:600;color:var(--accent)}.facts h2{font-size:17px}.facts dt{color:var(--muted);font-size:12px;margin-top:18px}.facts dd{margin:2px 0 0;font-size:14px}.notice{padding:16px;border-left:2px solid var(--warning);background:var(--surface-2);font-size:14px;color:var(--muted);margin-top:26px}.timeline{margin-top:24px}.timeline ol{list-style:none;padding:0;margin-bottom:0}.moment{display:grid;grid-template-columns:135px minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding-top:22px}.moment h3{margin:0}.moment p{color:var(--muted)}.time{font-variant-numeric:tabular-nums;font-size:14px}.time small{display:block;font-size:12px;margin-top:4px}.time-link{text-decoration:none;font-weight:700}footer{max-width:1180px;margin:auto;border-top:1px solid var(--line);padding:25px 32px 45px;color:var(--muted);font-size:12px}p,dd,h1,h2,h3{overflow-wrap:anywhere}@media(max-width:850px){.reading-layout{grid-template-columns:1fr}.facts{display:block}.masthead{gap:24px;padding:20px 24px}.badge{display:none}main{padding:28px 24px 60px}.moment{grid-template-columns:105px minmax(0,1fr);gap:14px}.panel{padding:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
details{margin:18px 0;border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;color:var(--accent);font-weight:600}.character-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.character-list li{padding:16px;background:var(--surface-2);border-radius:8px}.character-list span{display:block}.sections{flex-wrap:wrap}.topic-list li{padding-bottom:14px;border-bottom:1px solid var(--line)}
#search-form{display:flex;flex-wrap:wrap;align-items:center;gap:14px}#search-form input,#search-form select{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:7px;padding:10px}#search-form input{flex:1;min-width:200px}.search-result{margin:20px 0}.search-result p{white-space:pre-wrap}.button{cursor:pointer;border:0}
#playback-screen{position:relative;background:#000;margin-top:18px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}#public-video,#public-youtube,#public-youtube iframe{width:100%;height:100%;max-height:80vh;border:0}#playback-screen:fullscreen{width:100vw;height:100vh}#playback-screen:fullscreen video,#playback-screen:fullscreen iframe{max-height:100vh}#public-caption{position:absolute;bottom:12%;left:8%;right:8%;text-align:center;white-space:pre-line;font:600 clamp(18px,2vw,32px)/1.35 sans-serif;color:#fff;text-shadow:0 2px 3px #000;pointer-events:none;background:#000b;border-radius:5px}#public-caption:empty{display:none}.playback-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:15px}.playback-controls input{width:80px;font:inherit}.playback-controls select{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:7px;padding:9px}

/* Apresentação comum ao aplicativo local: biblioteca compacta e vídeo com navegação. */
body{padding-left:var(--nav-width);font-size:14px;line-height:1.55}
.masthead{position:fixed;inset:0 auto 0 0;width:var(--nav-width);display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:28px 14px;border-right:1px solid var(--line);border-bottom:0;z-index:10}
.brand{font-size:18px;padding:0 10px}.brand span{display:block;font-size:12px}
.masthead nav{display:grid;gap:6px}.masthead nav a{padding:11px 12px;border-radius:8px;color:var(--muted)}
.masthead nav a:hover,.masthead nav a[aria-current="page"]{color:var(--accent);background:var(--surface)}
.badge{margin:auto 0 0;font-size:9px;white-space:normal;text-align:center;border-radius:6px}
main{max-width:1480px;padding:28px var(--page-gutter) 64px}
.hero{padding:0 0 20px;max-width:none}.eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 8px}
h1{font-size:28px;line-height:1.25;margin:0 0 10px}h2{font-size:20px;margin:0 0 14px}h3{font-size:16px}
.intro{font-size:14px;margin:0;max-width:850px}.muted,small{font-size:13px}
.panel{padding:20px;border-radius:10px}.button{padding:8px 12px;font-size:13px}.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}
.secondary:hover,.secondary[aria-pressed="true"]{background:var(--surface);color:var(--accent);border-color:var(--accent)}
.library-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:16px;align-items:end}
.library-filters label{display:grid;gap:7px;font-size:12px;color:var(--muted)}
.library-filters input,.library-filters select{min-width:0;width:100%;padding:10px;font:inherit;font-size:14px;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:7px}
.cards{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.vod-card{max-width:none;border-radius:10px}
.cover{height:64px;font-size:32px;justify-content:flex-end;padding-right:18px}.cover span{bottom:22px;left:18px}
.card-body{padding:18px;display:flex;flex-direction:column;height:calc(100% - 64px)}.card-body h2{font-size:17px;line-height:1.45;margin-bottom:10px}.card-body p{margin:10px 0}.card-body>.button{align-self:flex-start;margin-top:auto}
.detail-hero{padding:16px 0 20px}.detail-hero .muted{margin:8px 0}.detail-hero .button{background:transparent;color:var(--accent);padding:0}
.public-stage{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
#assistir{min-width:0;padding:18px}#assistir h2{font-size:18px;margin-bottom:6px}#playback-status{margin:6px 0 10px}
.playback-controls{gap:10px;font-size:12px}.playback-controls select{font-size:12px;padding:7px}.playback-controls label{display:flex;align-items:center;gap:8px}.playback-controls input{background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:6px;width:62px;font-size:12px}
.stage-navigation{display:flex;flex-direction:column;min-height:0;height:var(--stage-height,720px);padding:18px;overflow:hidden}
.stage-navigation h2{font-size:18px;margin-bottom:12px}.stage-navigation>.muted{font-size:12px;margin:10px 0}.stage-modes{display:flex;gap:8px}
#stage-current{align-self:flex-start;margin-bottom:12px}button:disabled{opacity:.5;cursor:default}
.stage-list{overflow:auto;min-height:0;flex:1;scrollbar-gutter:stable}.stage-list ol{list-style:none;padding:0;margin:0}.stage-list li{margin:0;border-top:1px solid var(--line)}
.stage-moment{display:grid;grid-template-columns:65px minmax(0,1fr);gap:10px;background:transparent;border:0;width:100%;padding:14px 8px;text-align:left;color:var(--text);font:inherit;cursor:pointer;border-radius:6px}
.stage-moment span{font-size:11px;font-variant-numeric:tabular-nums;color:var(--accent)}.stage-moment strong{font-size:13px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.stage-moment:hover,.stage-moment[aria-current="true"]{background:var(--surface-2)}.stage-moment[aria-current="true"]{box-shadow:inset 3px 0 var(--accent)}
.stage-list details{margin:0 8px 12px;padding:0;border:0;font-size:12px}.stage-list details li{border:0;margin-top:8px}.stage-list details ul{padding-left:18px}
.summary-lead{padding:18px 0;margin:0;color:var(--text);font-size:15px;max-width:1100px}
.sections{gap:24px;margin:0 0 20px;padding:12px 0}.reading-layout{gap:20px}.timeline{margin-top:20px}.moment{grid-template-columns:110px minmax(0,1fr);gap:18px;padding-top:18px}
footer{max-width:1480px;padding:20px var(--page-gutter) 35px}
@media(max-width:1200px){.public-stage{grid-template-columns:minmax(0,1fr) 280px}.library-filters{grid-template-columns:2fr 1fr}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}
@media(max-width:900px){body{padding-left:0}.masthead{position:static;width:auto;flex-direction:row;align-items:center;padding:14px 20px;gap:20px}.brand span{display:inline}.masthead nav{display:flex}.badge{display:none}.public-stage{grid-template-columns:1fr}.stage-navigation{height:420px}.library-filters{grid-template-columns:1fr 1fr}.reading-layout{grid-template-columns:1fr}}
