/* Biblioteca (Meus aprendizados) e página do curso: CSS da referência exata do ChatGPT (biblioteca-referencia-exata.zip, 17/10/2026),
   preso a .fx para nenhum estilo antigo interferir. Não misturar com v2.css. */
.fx{--bg:#101615;--panel:#19201e;--line:#ffffff18;--muted:#a4afa8;--green:#d1e5b0;--gold:#d5bb8b}.fx,.fx *{box-sizing:border-box}.fx{margin:0;background:var(--bg);color:#f1f3ed;font:14px 'DM Sans',sans-serif}.fx button,.fx input,.fx textarea{font:inherit}.fx button,.fx a{ -webkit-tap-highlight-color:transparent}.fx button{cursor:pointer;color:inherit}.fx button:focus-visible,.fx a:focus-visible,.fx input:focus-visible,.fx textarea:focus-visible{outline:2px solid var(--green);outline-offset:4px}.fx button{border:0;background:none}.fx a{color:inherit}.fx h1,.fx h2,.fx h3,.fx p{margin:0}.fx h1,.fx h2,.fx h3{font-family:Manrope,sans-serif}.fx .container{max-width:1600px;margin:auto;padding:0 5%}.fx .hero{position:relative;min-height:520px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#1a2822}.fx .hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-3}.fx .hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101615 0%,#101615dd 29%,#10161533 70%),linear-gradient(0deg,#101615,transparent 45%);z-index:-2}.fx .hero-copy{padding:55px 5% 85px;max-width:680px}.fx .eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;color:var(--green);text-transform:uppercase;display:flex;gap:10px;align-items:center;margin-bottom:20px}.fx .eyebrow:before{content:'';width:22px;height:1px;background:var(--green)}.fx .hero h1{font-size:60px;letter-spacing:-2.8px;line-height:1.04;font-weight:500;margin-bottom:22px}.fx .hero p{color:#c0c9c1;line-height:1.8;max-width:420px;font-size:15px}.fx .meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:12px;margin:22px 0}.fx .meta span+span:before{content:'·';margin-right:16px}.fx .actions{display:flex;gap:12px;align-items:center}.fx .btn{border-radius:7px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;background:var(--green);color:#18211a;min-height:44px;text-decoration:none}.fx .btn.secondary{color:white;background:#ffffff0c;border:1px solid #ffffff30;backdrop-filter:blur(8px)}.fx .btn:hover{filter:brightness(1.1)}.fx .hero-foot{position:absolute;bottom:32px;right:5%;font-size:11px;letter-spacing:1px;color:#c0cbbd;display:flex;gap:16px;align-items:center}.fx .hero-foot b{font-size:20px;color:white}.fx .section-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 22px}.fx .section-head h2{font-size:21px;letter-spacing:-.6px;font-weight:600}.fx .section-head p{color:var(--muted);font-size:12px;margin-top:8px}.fx .small{font-size:12px;color:var(--muted)}.fx .progress{height:3px;background:#ffffff14;border-radius:9px;margin-top:12px;overflow:hidden}.fx .progress i{display:block;background:var(--green);height:100%}.fx .filters{display:flex;gap:9px;flex-wrap:wrap}.fx .chip{border:1px solid var(--line);border-radius:30px;padding:8px 15px;font-size:12px;color:var(--muted)}.fx .chip.active{background:#d1e5b015;border-color:#d1e5b066;color:var(--green)}.fx .course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.fx .card{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden;text-align:left;padding:0;transition:transform .25s,border-color .25s}.fx .card:hover{transform:translateY(-6px);border-color:#d1e5b080}.fx .cover{height:270px;position:relative;overflow:hidden;background:#2c3b30}.fx .cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.fx .card:hover img{transform:scale(1.05)}.fx .cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101615e8,transparent 80%)}.fx .cover-title{position:absolute;z-index:1;bottom:26px;left:23px;right:18px;font-size:30px;line-height:1.08;letter-spacing:-1px;font-weight:500;font-family:Manrope}.fx .cover-title small{display:block;letter-spacing:2px;font:9px 'DM Sans';margin-bottom:12px;color:#e4e9dc}.fx .badge{position:absolute;top:16px;left:16px;z-index:1;font-size:9px;letter-spacing:1px;background:#15221cc9;border:1px solid #ffffff30;padding:6px 9px;border-radius:4px}.fx .card-bottom{padding:18px 20px}.fx .card-bottom h3{font-size:14px;font-weight:500}.fx .card-bottom p{font-size:11px;color:var(--muted);margin-top:7px}.fx .card-bottom .meta{margin:16px 0 0;font-size:10px}.fx .quote{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);margin-top:50px;padding:35px 0;color:#b5beb4}.fx .quote p{font-family:Manrope;font-size:19px;letter-spacing:-.4px}.fx .quote small{color:var(--muted)}.fx .overlay{position:fixed;inset:0;background:#050a08c9;backdrop-filter:blur(9px);z-index:10;display:flex;align-items:center;justify-content:center;padding:20px}.fx .modal{width:760px;max-height:92vh;overflow:auto;border-radius:16px;background:#18211c;border:1px solid #ffffff25;position:relative;box-shadow:0 30px 120px #0008}.fx .modal-image{height:280px;width:100%;object-fit:cover}.fx .modal-top{position:relative}.fx .modal-top:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#18211c,transparent)}.fx .close{position:absolute;right:18px;top:18px;z-index:2;border-radius:50%;width:36px;height:36px;background:#101615bb;border:1px solid #fff4;font-size:22px}.fx .modal-body{padding:0 35px 35px;margin-top:-28px;position:relative}.fx .modal h2{font-size:35px;letter-spacing:-1px}.fx .description{line-height:1.8;color:#b6c1b6;margin:18px 0}.fx .module-preview{border-top:1px solid var(--line);margin-top:25px}.fx .module-preview div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.fx .back{display:inline-flex;gap:10px;color:#bec9bd;margin:24px 0;font-size:12px}.fx .detail-hero{border-radius:14px;min-height:430px}.fx .detail-hero .hero-copy{padding:55px;max-width:660px}.fx .detail-hero h1{font-size:55px}.fx .module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:25px 0 60px}.fx .module-card{padding:0;text-align:left;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}.fx .module-card img{width:100%;height:150px;object-fit:cover;filter:brightness(.7)}.fx .module-card div{padding:20px}.fx .module-card h3{margin:10px 0;font-size:17px}.fx .empty{padding:50px;color:var(--muted);text-align:center}.fx .hide{display:none!important}body.modal-open{overflow:hidden}@media(min-width:1600px){.fx .hero{min-height:590px}.fx .cover{height:320px}}@media(max-width:1050px){.fx .course-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.fx .hero{min-height:510px}.fx .hero h1{font-size:47px}.fx .hero-copy{padding:50px 5% 90px}.fx .hero:before{background:linear-gradient(90deg,#101615ed,#10161566),linear-gradient(0deg,#101615,transparent)}.fx .hero-foot{left:5%;right:auto;bottom:28px}.fx .course-grid{grid-template-columns:repeat(2,1fr);gap:14px}.fx .cover{height:245px}.fx .cover-title{font-size:25px;left:17px}.fx .card-bottom{padding:15px}.fx .section-head{align-items:start;gap:15px;flex-direction:column}.fx .filters{gap:7px}.fx .chip{padding:7px 12px}.fx .quote{flex-direction:column;align-items:start}.fx .quote p{font-size:17px}.fx .module-grid{grid-template-columns:1fr}.fx .detail-hero .hero-copy{padding:35px 24px}.fx .detail-hero h1{font-size:42px}.fx .modal-body{padding:0 22px 25px}.fx .modal-image{height:230px}.fx .modal h2{font-size:28px}}@media(prefers-reduced-motion:reduce){.fx,.fx *{transition:none!important;scroll-behavior:auto!important}}.fx .library-hero{min-height:540px}.fx .library-hero #hero-images{position:absolute;inset:0;z-index:-3}.fx .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity 1.3s ease,transform 8s linear}.fx .hero-slide.active{opacity:1;transform:scale(1.055)}.fx .library-hero .hero-copy{padding-bottom:110px;max-width:720px}.fx .library-hero h1{max-width:600px}.fx .library-hero p{max-width:470px}.fx .hero-copy.arriving{animation:copy-in .65s ease both}.fx @keyframes copy-in{from{opacity:0;transform:translateY(12px)}.fx to{opacity:1;transform:translateY(0)}.fx }.carousel-controls{position:absolute;bottom:32px;right:5%;display:flex;align-items:center;gap:15px}.fx .carousel-controls>button{width:32px;height:32px;border:1px solid #ffffff35;border-radius:50%;background:#10161555;display:grid;place-items:center}.fx .carousel-controls>span{font-size:11px;color:#c1cbbf;letter-spacing:2px;margin-left:8px}.fx .carousel-dots{display:flex;gap:8px}.fx .carousel-dots button{position:relative;width:18px;height:32px;padding:0}.fx .carousel-dots button:after{content:'';position:absolute;left:0;right:0;top:15px;height:3px;background:#ffffff45;border-radius:10px;transition:.3s}.fx .carousel-dots .active{width:35px}.fx .carousel-dots .active:after{background:var(--green)}.fx .library-catalog{padding-top:12px}.fx .course-grid{gap:22px;position:relative;align-items:start;padding:6px 0 90px}.fx .stream-card{position:relative;overflow:visible;border:0;border-radius:8px;z-index:1;background:transparent;transition:transform .3s ease,box-shadow .3s ease;transform-origin:center top}.fx .stream-card:hover,.fx .stream-card:focus-within{transform:scale(1.12);z-index:4;box-shadow:0 20px 55px #0009}.fx .stream-card:first-child{transform-origin:left top}.fx .stream-card:last-child{transform-origin:right top}.fx .cover-only{padding:0;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:8px;background:#26362c}.fx .cover-only img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}.fx .stream-card:hover img,.fx .stream-card:focus-within img{transform:scale(1.04)}.fx .stream-card:hover .cover-only,.fx .stream-card:focus-within .cover-only{border-radius:8px 8px 0 0}.fx .hover-details{display:flex;align-items:center;gap:12px;padding:20px;background:#202923;position:absolute;left:0;right:0;top:100%;border-radius:0 0 8px 8px;opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .2s,transform .25s,visibility .25s;box-shadow:0 15px 35px #0007}.fx .stream-card:hover .hover-details,.fx .stream-card:focus-within .hover-details{opacity:1;visibility:visible;transform:translateY(0)}.fx .hover-copy{flex:1;min-width:0}.fx .hover-copy h3{font-size:14px;font-weight:600;line-height:1.4}.fx .hover-copy p{font-size:11px;color:var(--muted);margin:6px 0 12px}.fx .hover-copy .small{font-size:10px;color:#d0d9ca}.fx .course-arrow{flex-shrink:0;width:36px;height:36px;border:1px solid #ffffff55;border-radius:50%;font-size:20px;display:grid;place-items:center}.fx .course-arrow:hover{background:var(--green);color:#172119}.fx .library-catalog .quote{margin-top:45px}.fx .course-grid .empty{grid-column:1/-1}.fx .stream-card:focus-within{outline:1px solid #d1e5b055}@media(hover:none){.fx .hover-details{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:13px}.fx .stream-card .cover-only{border-radius:8px 8px 0 0}.fx .stream-card:hover,.fx .stream-card:focus-within{transform:none;box-shadow:none}.fx .course-grid{padding-bottom:20px}.fx .course-arrow{width:34px;height:34px}.fx .hover-copy h3{font-size:12px}.fx .hover-copy p{font-size:10px}}@media(max-width:760px){.fx .library-hero{min-height:600px}.fx .library-hero .hero-copy{padding-bottom:125px;padding-top:42px}.fx .library-hero h1{font-size:44px}.fx .library-hero p{font-size:14px}.fx .carousel-controls{left:5%;right:auto;bottom:32px;gap:12px}.fx .course-grid{gap:14px;row-gap:140px}.fx .stream-card:hover,.fx .stream-card:focus-within{transform:scale(1.035)}.fx .hover-details{padding:14px;gap:8px}.fx .hover-copy h3{font-size:12px}.fx .course-arrow{width:30px;height:30px}.fx .library-catalog .quote{margin-top:35px}}@media(max-width:760px) and (hover:none){.fx .course-grid{row-gap:18px}}@media(prefers-reduced-motion:reduce){.fx .hero-slide,.fx .hero-slide.active{transform:none}.fx .hero-copy.arriving{animation:none}.fx .stream-card:hover,.fx .stream-card:focus-within{transform:none}}
/* Encaixe no site: fundo contínuo, sem limite de largura nem espaço do #app nessas rotas */
body.tela-cinema{background:#101615!important}
body.tela-cinema #app{max-width:none!important;padding:0 0 0!important;background:#101615}
body.tela-cinema .site-footer,body.tela-cinema footer.rodape{background:#101615;color:#a4afa8;border-color:#ffffff18}
@media (min-width:1024px){body.tela-cinema header.topo{background:transparent!important}}
@media (max-width:1023px){body.tela-cinema header.topo{background:#101615!important;border-color:#ffffff18!important;color:#f1f3ed}body.tela-cinema header.topo .col-abrir{color:#f1f3ed}body.tela-cinema header.topo .logo-claro{display:none!important}body.tela-cinema header.topo .logo-escuro{display:block!important}}
.fx{min-height:60vh}
.fx a{text-decoration:none}
.fx .course-arrow{color:inherit}
.fx .module-card{display:block;color:inherit;transition:transform .25s,border-color .25s}
.fx a.module-card:hover{transform:translateY(-4px);border-color:#d1e5b066}
.fx .module-card.vazio{opacity:.55}
.fx .back:hover{color:#fff}
.fx-curso .container{padding-top:8px;padding-bottom:40px}
.fx .detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.fx .fx-dono{margin:0 0 16px}
.fx .fx-dono .curso-aviso{background:#19201e;border-color:#d5bb8b55;color:#f1f3ed}
.fx .fx-dono .curso-aviso .btn{background:#d1e5b0}
.fx .ver-aluno{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;margin:0 0 16px;border:1px solid #ffffff25;border-radius:9px;background:#19201e;color:#d0d9ca;font-size:13px}
.fx .ver-aluno button{color:#d1e5b0;text-decoration:underline}
#fx-modal-root.fx{min-height:0}
@media (min-width:1024px){.fx-lib .library-hero .hero-copy{padding-top:96px}}

/* títulos e textos herdam a cor da referência (o site antigo pinta h1/h2 com a cor do canal) */
.fx h1,.fx h2,.fx h3{color:inherit}
.fx .hero p{color:#c0c9c1}
.fx .btn,.fx button,.fx .chip{text-transform:none!important;letter-spacing:normal!important}
.fx .btn{font-size:14px;border:0}
.fx .btn.secondary{border:1px solid #ffffff30}
.fx .fx-dono .curso-aviso strong,.fx .fx-dono .curso-aviso span{color:#f1f3ed}
@media (min-width:1024px){.fx-curso .container{padding-top:64px}}
@media (max-width:1023px){.fx-curso .container{padding-top:4px}}
body.tela-cinema header.topo .logo-claro{display:none!important}
body.tela-cinema header.topo .logo-escuro{display:block!important}
body.tela-cinema header.topo .col-abrir,body.tela-cinema header.topo .icon-btn{color:#f1f3ed}
