:root{--navy:#0B192C;--navy2:#12284a;--blue:#1E517B;--or:#F07A22;--gr:#82C341;--bg:#F4F7FA;--tx:#1F2E43;--mut:#617388;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg);color:var(--tx);line-height:1.7;padding-top:96px;overflow-x:hidden}
:focus-visible{outline:3px solid var(--or);outline-offset:3px}
.grat{background:radial-gradient(circle at 70% 0,#1c4a7a55,transparent 55%),repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,transparent 1px 56px),var(--navy)}
.navbar,nav{position:fixed;top:0;left:0;width:100%;z-index:1000;height:84px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:#0b192cEE;backdrop-filter:blur(12px);border-bottom:3px solid var(--or);transition:height .35s var(--ease),box-shadow .35s}
.navbar.small{height:66px;box-shadow:0 10px 30px #0006}
.nav-logo{height:62px;width:auto;transition:height .35s,transform .3s}.navbar.small .nav-logo{height:46px}.nav-logo:hover{transform:rotate(-4deg) scale(1.06)}
.nav-links{display:flex;list-style:none;gap:2.2rem}
.nav-links a{position:relative;text-decoration:none;color:#fff;font:800 1.02rem 'League Spartan',sans-serif;text-transform:uppercase;letter-spacing:1.5px;padding:6px 0}
.nav-links a:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}
.nav-links a.active,.nav-links a:hover{color:var(--or)}
#bar{position:fixed;top:0;left:0;height:4px;width:0;z-index:1100;background:linear-gradient(90deg,var(--gr),var(--or))}
.section-header,.section-title-container{max-width:none;margin:-96px 0 0;padding:150px max(5%,calc(50% - 600px)) 2.5rem;background:inherit}
.section-header,.section-title-container{background:radial-gradient(circle at 80% 0,#1c4a7a66,transparent 55%),repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,transparent 1px 56px),var(--navy)}
.title-row,.section-title-container{display:flex;align-items:center;gap:1rem}
.section-title{font:900 clamp(2.2rem,5vw,3.6rem)/1.05 'League Spartan',sans-serif;color:#fff;text-transform:uppercase;animation:rise .9s var(--ease) both}
.section-line{flex:1;height:4px;border:0;border-radius:4px;background:linear-gradient(90deg,var(--or),transparent);transform-origin:left;animation:grow 1.2s .3s var(--ease) both}
.search-container{max-width:600px;margin-top:1.2rem}
.search-input{width:100%;padding:1rem 1.6rem;border-radius:50px;border:2px solid #ffffff22;background:#ffffff14;color:#fff;font:inherit;transition:.3s}
.search-input::placeholder{color:#ffffff99}.search-input:focus{outline:0;border-color:var(--or);background:#ffffff22;box-shadow:0 0 0 6px #F07A2233}
.main-content{max-width:1200px;margin:2.5rem auto 5rem;padding:0 2rem}
.continents-grid,.grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:2rem}
.continent-card,.card{position:relative;background:#fff;border-radius:26px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;border:1px solid #0b192c10;box-shadow:0 14px 34px #0b192c0f;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.continent-card:hover,.card:hover{transform:translateY(-10px) rotate(-.4deg);box-shadow:0 28px 50px #0b192c26;border-color:#F07A2255}
.continent-card:after,.card:after{content:"";position:absolute;left:0;bottom:0;height:5px;width:100%;background:linear-gradient(90deg,var(--or),var(--gr));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.continent-card:hover:after,.card:hover:after{transform:scaleX(1)}
.continent-img-wrapper,.card-img-wrapper{overflow:hidden;background:#e8eef5}.card-img-wrapper{height:230px}.continent-img-wrapper{aspect-ratio:4/5}
.continent-img,.card-img{width:100%;height:100%;background-size:cover;background-position:center;transition:transform .8s var(--ease)}
.continent-card:hover .continent-img,.card:hover .card-img{transform:scale(1.09)}
.continent-info{padding:1.6rem;text-align:center;flex:1}.continent-name,.card-title{font:900 1.6rem/1.15 'League Spartan',sans-serif;color:var(--navy);text-transform:uppercase;transition:color .3s}
.card-title{text-transform:none;font-size:1.45rem;margin-bottom:.8rem}.continent-card:hover .continent-name,.card:hover .card-title{color:var(--or)}
.continent-count{color:var(--mut);font-weight:600}.card-content{padding:1.8rem;display:flex;flex-direction:column;flex:1}
.card-tag-container{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1rem}.card-tag{font:800 .78rem 'League Spartan',sans-serif;color:#fff;background:var(--navy);padding:4px 13px;border-radius:50px}.card-tag.alt{background:var(--or)}.card-tag.green{background:var(--gr)}
.card-excerpt{color:var(--mut);flex:1;margin-bottom:1.4rem}.card-link{font:800 .9rem 'League Spartan',sans-serif;letter-spacing:1.2px;color:var(--navy);transition:.3s}.card:hover .card-link{color:var(--or);letter-spacing:2px}
.modal-overlay{position:fixed;inset:0;background:#0b192c99;backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.modal-overlay.active{opacity:1;pointer-events:auto}
.modal-box{background:#fff;width:92%;max-width:820px;max-height:86vh;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;transform:translateY(40px) scale(.95);transition:transform .45s var(--ease)}
.modal-overlay.active .modal-box{transform:none}
.modal-header{padding:1.5rem 2.2rem;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid var(--or)}
.modal-title{font:900 1.9rem/1.1 'League Spartan',sans-serif;text-transform:uppercase}.modal-title-group span{color:#ffffffaa}
.modal-close{background:#ffffff1a;border:0;color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.7rem;cursor:pointer;transition:.3s}.modal-close:hover{background:var(--or);transform:rotate(90deg)}
.modal-body{padding:2rem;overflow:auto}.countries-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem}
.country-item{padding:.85rem 1rem;background:var(--bg);border-radius:14px;font-weight:600;text-align:center;border:1px solid #0b192c0d;transition:.25s;cursor:pointer}
a.country-item:hover,.countries-list>div.country-item:hover{background:var(--blue);color:#fff!important;transform:translateY(-3px) scale(1.04);box-shadow:0 10px 20px #1e517b44}
.priprema-container{text-align:center;padding:2rem 1rem}.priprema-text{font:900 1.8rem 'League Spartan',sans-serif;color:var(--navy);margin-bottom:1.5rem}
.priprema-container:before{content:"🧭";display:block;font-size:3.5rem;animation:spin 6s ease-in-out infinite}
.back-btn{display:inline-block;background:var(--or);color:#fff;border:0;padding:.8rem 1.8rem;border-radius:50px;font:800 .95rem 'League Spartan',sans-serif;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:.3s}.back-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #F07A2255}
.hero-section{position:relative;min-height:100vh;margin-top:-96px;padding:130px 6% 4rem;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;color:#fff}
body:has(.hero-section){background:var(--navy);color:#fff}
.hero-main-logo-container{grid-column:1;margin-bottom:-1rem}.hero-main-logo{width:110px;filter:drop-shadow(0 8px 16px #0006);animation:float 5s ease-in-out infinite}
.hero-section>:not(.hero-main-logo-container):not(canvas){grid-column:1;justify-self:start}
.welcome-text{font:800 1.1rem 'League Spartan',sans-serif;color:var(--or);letter-spacing:3px;animation:rise .9s .1s both}
.main-title{font:900 clamp(2.6rem,6vw,5rem)/1.02 'League Spartan',sans-serif;animation:rise .9s .25s var(--ease) both}.main-title span{color:var(--gr)}
.hero-subtitle{color:#b6c4dc;max-width:560px;font-size:1.12rem;animation:rise .9s .4s var(--ease) both}
.btn-instagram,.cta-button{display:inline-flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font:800 1.05rem 'League Spartan',sans-serif;text-transform:uppercase;letter-spacing:1.4px;padding:1rem 2.2rem;border-radius:50px;transition:.35s var(--ease);animation:rise .9s .55s both}
.btn-instagram{background:linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888);box-shadow:0 8px 25px #dc274344;margin:0 .6rem .8rem 0}.cta-button{background:linear-gradient(135deg,var(--or),#D85F0E);box-shadow:0 8px 25px #F07A2244}
.btn-instagram:hover,.cta-button:hover{transform:translateY(-4px) scale(1.04)}
#globe{grid-column:2;grid-row:1/span 6;width:100%;aspect-ratio:1;cursor:grab;animation:fade 1.6s .3s both}#globe:active{cursor:grabbing}
body.country{background:var(--navy)}
.country .container{max-width:1060px;margin:auto;padding:0 1.5rem 3rem}
.country h1{font:900 clamp(2.6rem,9vw,5.5rem)/1 'League Spartan',sans-serif;text-transform:uppercase;text-align:center;color:#fff;letter-spacing:3px;margin:1rem 0 2.2rem;text-shadow:0 6px 30px #82C34166;animation:rise 1s var(--ease) both}
.header-section-wrapper{display:flex;gap:2rem;align-items:stretch;margin-bottom:2.5rem}
.info-container{flex:1;display:flex;flex-direction:column;gap:.7rem}
.info-box{display:flex;align-items:center;gap:1rem;padding:.7rem 1.3rem;border-radius:50px;background:linear-gradient(90deg,#82C34133,#82C34111);border:1px solid #82C34155;color:#fff;font-weight:700;animation:slide .7s var(--ease) both;transition:.3s}
.info-box:hover{transform:translateX(8px);background:#82C34144}
.info-box:nth-child(2){animation-delay:.1s}.info-box:nth-child(3){animation-delay:.2s}.info-box:nth-child(4){animation-delay:.3s}.info-box:nth-child(5){animation-delay:.4s}
.info-icon{width:34px;height:34px;object-fit:contain}.info-text{color:#fff}.info-text:before{content:attr(data-l);display:block;font-size:.72rem;font-weight:600;color:#9fd36a}
.header-img-side{flex:1}.header-slika-okvir,.slika-okvir{width:100%;border-radius:22px;border:4px solid var(--or);padding:5px;background:#fff;box-shadow:0 18px 40px #0007;cursor:zoom-in;transition:transform .5s var(--ease)}
.header-slika-okvir{height:100%;object-fit:cover}.header-slika-okvir:hover,.slika-okvir:hover{transform:scale(1.03) rotate(-.6deg)}
.content-box{background:#fff;border-radius:26px;padding:2.4rem;margin-bottom:2rem;border-top:6px solid var(--or);box-shadow:0 14px 40px #0006}
.content-box h2{font:900 1.9rem 'League Spartan',sans-serif;color:var(--navy);display:inline-block;margin-bottom:1.2rem;padding-bottom:4px;background:linear-gradient(var(--gr),var(--gr)) 0 100%/0 4px no-repeat;transition:background-size 1s .3s var(--ease)}
.content-box.in h2{background-size:100% 4px}
.section-wrapper{display:flex;gap:2.5rem;align-items:flex-start;flex-wrap:wrap}.content-box:nth-of-type(even) .section-wrapper{flex-direction:row-reverse}
.text-side{flex:2;min-width:300px}.img-side{flex:1;min-width:260px}.slika-okvir{max-width:400px;display:block;margin:auto}
.country p{font-size:1.1rem;line-height:1.85;text-align:justify;hyphens:auto}
#idx{position:fixed;left:14px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;gap:10px;z-index:900}
#idx a{width:12px;height:12px;border-radius:50%;background:#ffffff44;position:relative;transition:.3s}#idx a.on{background:var(--or);transform:scale(1.5)}
#idx a:hover:after{content:attr(data-t);position:absolute;left:22px;top:-6px;white-space:nowrap;background:var(--navy);color:#fff;padding:3px 12px;border-radius:20px;font:700 .8rem 'Plus Jakarta Sans'}
@media(min-width:1200px){#idx{display:flex}}
.lb{position:fixed;inset:0;background:#0b192cEE;z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s;cursor:zoom-out}.lb.on{opacity:1;pointer-events:auto}.lb img{max-width:92vw;max-height:90vh;border-radius:18px;transform:scale(.9);transition:.4s var(--ease)}.lb.on img{transform:none}
#top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border:0;border-radius:50%;background:var(--or);color:#fff;font-size:1.4rem;cursor:pointer;z-index:900;opacity:0;transform:translateY(20px);pointer-events:none;transition:.35s;box-shadow:0 8px 20px #0005}#top.on{opacity:1;transform:none;pointer-events:auto}
.article-container{max-width:820px;margin:0 auto 5rem;padding:0 1.5rem}.article-header{margin:1rem 0 2rem}
.article-tag{display:inline-block;font:800 .8rem 'League Spartan',sans-serif;color:#fff;background:var(--or);padding:4px 14px;border-radius:50px;margin-bottom:1rem}
.article-title{font:900 clamp(2rem,5vw,3rem)/1.12 'League Spartan',sans-serif;color:var(--navy);animation:rise .9s var(--ease) both}
.featured-image{width:100%;height:clamp(240px,45vw,460px);background-size:cover;background-position:center;border-radius:26px;box-shadow:0 20px 45px #0b192c26;margin-bottom:2.5rem;animation:fade 1.2s both}
.article-content p{margin-bottom:1.5rem;font-size:1.12rem;line-height:1.9}.article-content h2{font:800 1.8rem 'League Spartan',sans-serif;color:var(--navy);margin:2.5rem 0 1rem}
blockquote{background:#F07A220d;border-left:5px solid var(--or);padding:1.5rem;border-radius:0 18px 18px 0;margin:2rem 0;font-style:italic}
.gz-foot{background:var(--navy);color:#9fb0c8;text-align:center;padding:2.5rem 1rem;border-top:3px solid var(--or);font-size:.95rem}.gz-foot a{color:#fff;margin:0 .8rem;text-decoration:none;font-weight:700}.gz-foot a:hover{color:var(--or)}.gz-foot p{margin:0;text-align:center}.gz-foot .gz-made{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.6rem}.gz-foot .gz-potpis{display:inline-block;max-width:180px;max-height:60px;width:auto;height:auto}
.js .rv{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .rv.in{opacity:1;transform:none}
@keyframes rise{from{opacity:0;transform:translateY(34px)}}@keyframes fade{from{opacity:0}}@keyframes slide{from{opacity:0;transform:translateX(-40px)}}@keyframes grow{from{transform:scaleX(0)}}@keyframes float{50%{transform:translateY(-10px)}}@keyframes spin{50%{transform:rotate(25deg)}}
@media(max-width:900px){.hero-section{grid-template-columns:1fr;padding-top:120px}#globe{grid-column:1;grid-row:auto;max-width:420px;margin:auto}.hero-section>:not(canvas){justify-self:center!important;text-align:center}}
@media(max-width:768px){body{padding-top:120px}.navbar,nav{height:auto;flex-direction:column;padding:8px 10px;gap:4px}.navbar.small{height:auto}.nav-logo,.navbar.small .nav-logo{height:44px}.nav-links{gap:1.4rem}.nav-links a{font-size:.9rem}.section-header,.section-title-container{margin-top:-120px;padding-top:170px}.hero-section{margin-top:-120px}.header-section-wrapper{flex-direction:column}.content-box{padding:1.3rem}.country p{text-align:left;font-size:1rem}.content-box:nth-of-type(even) .section-wrapper{flex-direction:row}.text-side{min-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}
.back-link{display:inline-flex;align-items:center;gap:8px;margin:1rem 0 0;padding:.6rem 1.4rem;border-radius:50px;background:var(--or);color:#fff;text-decoration:none;font:800 .95rem "League Spartan",sans-serif;text-transform:uppercase;letter-spacing:1.2px;box-shadow:0 8px 20px #F07A2244;transition:.3s var(--ease)}.back-link:hover{transform:translateX(-6px);box-shadow:0 12px 26px #F07A2266}.country .back-link{margin-top:1.4rem}
.container>.back-btn,.article-container>.back-btn{margin:1.4rem 0 0;display:inline-flex;gap:8px}.back-btn:hover{transform:translateX(-6px)}

body.lesson{background:var(--navy)}.lh{margin:-96px 0 0;padding:150px max(5%,calc(50% - 450px)) 3rem;color:#fff;background:radial-gradient(circle at 80% 0,#1c4a7a66,transparent 55%),repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,transparent 1px 56px),var(--navy)}
.lh .cat{display:inline-block;background:var(--or);font:800 .85rem 'League Spartan',sans-serif;padding:4px 16px;border-radius:50px;margin-bottom:1rem;animation:rise .7s both}.lh h1{font:900 clamp(2.2rem,6vw,4rem)/1.05 'League Spartan',sans-serif;text-transform:uppercase;animation:rise .9s .1s both}.lh p{max-width:680px;color:#c4d2e6;font-size:1.15rem;margin-top:1rem;animation:rise .9s .25s both}
.lw{max-width:900px;margin:2rem auto 4rem;padding:0 1.2rem}.lw .back-btn{margin-bottom:1.5rem}.lw .content-box{box-shadow:0 10px 30px #0b192c14;border-top-width:5px}.lw p,.lw li{font-size:1.08rem}.lw p{margin-bottom:1rem}
.facts{background:linear-gradient(135deg,#82C34120,#82C34108);border:2px solid #82C34166;border-radius:22px;padding:1.4rem 1.8rem;margin:2rem 0}.facts h3{font:900 1.4rem 'League Spartan',sans-serif;color:var(--navy);margin-bottom:.6rem}.facts li{margin:.4rem 0 .4rem 1.2rem}
.wg{background:#f1f6fb;border:1px solid #1e517b22;border-radius:20px;padding:1.2rem;margin:1.4rem 0}.wg:before{content:attr(data-t);display:block;font:800 .95rem 'League Spartan',sans-serif;color:var(--blue);margin-bottom:.8rem}.wg[data-w=quiz]{background:#fff7ee;border-color:#F07A2244}
.wg label{display:block;font-weight:600;margin:.5rem 0}.wg input[type=range]{width:100%;accent-color:var(--or)}.wg select{padding:.3rem .6rem;border-radius:8px;font:inherit}.wi{margin-top:.8rem;font-size:1rem!important;color:var(--tx)}.wi.big{font-size:1.2rem!important}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:.8rem}.tabs button{border:0;border-radius:50px;padding:.5rem 1.1rem;background:#fff;font:700 .9rem 'Plus Jakarta Sans';cursor:pointer;box-shadow:0 2px 6px #0b192c14;transition:.25s}.tabs button.on,.tabs button:hover{background:var(--blue);color:#fff}.tabs.chk label{background:#fff;border-radius:50px;padding:.4rem 1rem;margin:0}
.tabd{background:#fff;border-radius:16px;padding:1rem 1.3rem;animation:rise .5s both}.tabd h4{font:900 1.2rem 'League Spartan',sans-serif;color:var(--or)}
.br{display:grid;grid-template-columns:150px 1fr 130px;gap:10px;align-items:center;margin:.5rem 0;font-size:.95rem}.bt{background:#dce6f0;border-radius:50px;height:16px;overflow:hidden}.bt i{display:block;height:100%;width:0;border-radius:50px;background:linear-gradient(90deg,var(--gr),var(--or));transition:width 1.6s var(--ease)}.go .bt i{width:var(--w)}
.pp{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.8rem}.pp h4{font:900 1.05rem 'League Spartan',sans-serif;color:var(--blue)}.pp li{margin-left:1.1rem;font-size:.95rem!important}
.two{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center}.two canvas{flex:1 1 280px}
.rul{background:#dce6f0;height:18px;border-radius:4px;margin:.8rem 0}.rul i{display:block;height:100%;background:var(--or);border-radius:4px;transition:width .4s var(--ease)}
.cyc,.gis{width:100%;border-radius:16px;display:block}.cyc text{transition:opacity .6s}.cyc path{animation:dash 1.2s linear infinite}.gis g{transition:opacity .5s}@keyframes dash{to{stroke-dashoffset:-34}}.cl{animation:drift 6s ease-in-out infinite alternate}@keyframes drift{to{transform:translateX(-30px)}}
.qq{margin:1rem 0}.qq button{display:block;width:100%;text-align:left;margin:.4rem 0;padding:.7rem 1rem;border-radius:12px;border:2px solid #e3d2bf;background:#fff;font:inherit;cursor:pointer;transition:.2s}.qq button:hover{border-color:var(--or)}.qq button.ok{background:#e4f5d3;border-color:var(--gr)}.qq button.no{background:#fde2dc;border-color:#e85d3f}
.lnav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2rem}.lnav a{flex:1 1 260px;background:#fff;border-radius:18px;padding:1rem 1.4rem;text-decoration:none;color:var(--navy);font:800 1.05rem 'League Spartan',sans-serif;box-shadow:0 8px 22px #0b192c14;transition:.3s var(--ease)}.lnav a:hover{transform:translateY(-4px);color:var(--or)}.lnav small{display:block;color:var(--mut);font:600 .8rem 'Plus Jakarta Sans'}.lnav a:last-child{text-align:right}
body.lesson #idx{display:none!important}@media(max-width:700px){.br{grid-template-columns:90px 1fr 90px;font-size:.8rem}.pp{grid-template-columns:1fr}}

.wg .nb{margin-top:.6rem;background:var(--or);color:#fff;border:0;border-radius:50px;padding:.55rem 1.4rem;font:800 .95rem 'League Spartan',sans-serif;cursor:pointer}.wg .two{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.wg small{color:#5b6b80}.tl{border-left:4px solid var(--gr);margin:1rem 0 1rem .5rem;padding-left:1.2rem}.tl p{margin-bottom:.7rem}.ex{background:#fff7ee;border-left:5px solid var(--or);border-radius:12px;padding:1rem 1.3rem;margin:1rem 0}

.zleg i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:4px}.wg canvas{border-radius:16px;box-shadow:0 10px 30px #0b192c33}.wg{transition:box-shadow .3s}.wg:hover{box-shadow:0 12px 36px #1e517b26}.lesson .content-box h2{position:relative}.lesson .content-box{animation:cbIn .6s ease both}@keyframes cbIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:600px){.wg{padding:.7rem;border-radius:16px}.wg canvas{flex-basis:100%}}
.lesson .facts{background:#fff;border:0;border-top:6px solid var(--gr);box-shadow:0 14px 40px #0006;padding:1.8rem 2.4rem}.lesson .facts h3{color:var(--navy)}.lesson .facts li{color:var(--tx)}
@media(max-width:700px){.lesson .facts{padding:1.3rem}}

.plc{display:flex;flex-wrap:wrap;gap:8px;margin:.6rem 0}.plc span{background:#fff;border:1px solid #1e517b22;border-radius:12px;padding:.4rem .8rem;font-size:.88rem;line-height:1.35;color:var(--tx)}.plc b{display:block;font:800 .7rem 'League Spartan',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--or)}

.pinfo{background:#fff;border-radius:16px;padding:1rem 1.2rem;margin-top:.9rem;box-shadow:0 6px 18px #0b192c12;animation:cbIn .45s ease both}.pinfo h4{font:900 1.3rem 'League Spartan',sans-serif;color:var(--navy);margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}.pinfo h4:before{content:'';width:16px;height:16px;border-radius:50%;background:var(--c)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.7rem}.pgrid span{background:#f1f6fb;border-radius:12px;padding:.55rem .7rem;font-size:.8rem;color:var(--mut)}.pgrid b{display:block;color:var(--navy);font-size:.98rem}.pinfo p{margin:0!important;font-size:1rem!important}
@media(max-width:600px){.pgrid{grid-template-columns:1fr 1fr}}
.tabs button.pl{background:var(--or);color:#fff}.tabs button.pl.on{background:var(--navy)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.chips span{background:#fff;border-radius:12px;padding:.4rem .7rem;font-size:.85rem;box-shadow:0 2px 8px #0b192c12;display:flex;align-items:center;gap:.35rem}.chips span.me{outline:2px solid var(--or)}.chips b{font-family:'League Spartan',sans-serif;font-size:1rem}.chips i{font-style:normal;background:#ffe2cc;color:#b4520d;border-radius:6px;padding:0 .3rem;font-size:.72rem;font-weight:700}.chips small{color:var(--mut);font-size:.7rem}
.rvz{width:100%;display:block;border-radius:16px;box-shadow:0 10px 30px #0b192c33;background:#cfe6f7}.rvf path{animation:rvflow 1.4s linear infinite}@keyframes rvflow{to{stroke-dashoffset:-28}}.rvfall path{stroke-dasharray:6 6;animation:rvflow .5s linear infinite}
.rvt{font:900 15px 'League Spartan',sans-serif;fill:#0b192c}.rvs{font:800 12px 'Plus Jakarta Sans',sans-serif;fill:#3a3326}
.hs{cursor:pointer}.hs circle{fill:var(--or);stroke:#fff;stroke-width:2.5;transition:.25s}.hs .hp{fill:#F07A2255;stroke:none;animation:hpul 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}.hs text{fill:#fff;font:900 13px 'League Spartan',sans-serif;text-anchor:middle;pointer-events:none}.hs.on circle:not(.hp),.hs:hover circle:not(.hp){fill:var(--navy)}@keyframes hpul{from{transform:scale(.8);opacity:1}to{transform:scale(1.9);opacity:0}}
.rvb{margin-top:.9rem}.rvb button{font-size:.8rem;padding:.4rem .8rem}
.gw{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.8rem;padding:.6rem 0}.gt{background:#fff;border-radius:18px;padding:1rem 1.3rem;text-align:center;box-shadow:0 8px 22px #0b192c18;min-width:150px;opacity:0;transform:translateY(20px) scale(.9)}.gt b{display:block;font:600 1.2rem serif;color:var(--blue)}.gt span{display:block;font:900 1.6rem 'League Spartan',sans-serif;color:var(--navy);letter-spacing:.04em}.gt small{color:var(--mut);font-size:.85rem}.gt.g3{background:var(--navy)}.gt.g3 span{color:var(--or)}.gt.g3 b{color:#9fc5ee}.gt.g3 small{color:#cfe0f2}.gp{font:900 2rem 'League Spartan',sans-serif;color:var(--or);opacity:0}
.gw.go .gt,.gw.go .gp{animation:gwIn .7s var(--ease) forwards}.gw.go .g1{animation-delay:.1s}.gw.go .gp:nth-child(2){animation-delay:.6s}.gw.go .g2{animation-delay:.9s}.gw.go .gp:nth-child(4){animation-delay:1.5s}.gw.go .g3{animation-delay:1.8s}@keyframes gwIn{to{opacity:1;transform:none}}

.prog{display:flex;gap:6px;justify-content:center;margin:.7rem 0 .2rem}.prog i{flex:0 1 34px;height:7px;border-radius:4px;background:#d0dbe6;cursor:pointer;transition:.3s}.prog i.on{background:var(--or)}
.tw{overflow-x:auto;margin:1rem 0}.gtab{width:100%;border-collapse:collapse;font-size:.98rem;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px #0b192c10}.gtab th{background:var(--navy);color:#fff;text-align:left;padding:.6rem .8rem;font:800 .9rem 'League Spartan',sans-serif}.gtab td{padding:.55rem .8rem;border-top:1px solid #e3eaf2;vertical-align:top}.gtab tr:nth-child(even) td{background:#f6f9fc}
.toc{background:#fff;border-radius:18px;padding:1rem 1.4rem;margin:0 0 1.5rem;box-shadow:0 10px 30px #0b192c14}.toc b{font:900 1.1rem 'League Spartan',sans-serif;color:var(--navy)}.toc ol{columns:2 220px;margin:.5rem 0 0 1.2rem}.toc a{color:var(--blue);font-weight:600;text-decoration:none}.toc a:hover{color:var(--or)}
.hero-social{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:.8rem}.hero-social .btn-instagram{margin:0}
.soc-ic{width:1.35em;height:1.35em;flex:none}
.btn-youtube{display:inline-flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font:800 1.05rem 'League Spartan',sans-serif;text-transform:uppercase;letter-spacing:1.4px;padding:1rem 2.2rem;border-radius:50px;background:linear-gradient(135deg,#FF3D3D,#C8001E);box-shadow:0 8px 25px #E0102A44;transition:.35s var(--ease);animation:rise .9s .65s both}
.btn-youtube:hover{transform:translateY(-4px) scale(1.04)}
@media(max-width:900px){.hero-social{justify-content:center}}
@media(max-width:480px){.hero-social a{padding:.9rem 1.5rem;font-size:.95rem}}
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:18px;overflow:hidden;cursor:pointer;color:#fff;text-align:left;font:inherit;background:linear-gradient(180deg,#0B192C00 45%,#0B192Cdd),var(--yt-img,none) center/cover no-repeat,repeating-linear-gradient(0deg,#ffffff10 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,#ffffff10 0 1px,transparent 1px 40px),radial-gradient(circle at 70% 20%,#1E517B,var(--navy) 70%);box-shadow:0 10px 30px #0b192c33;transition:transform .35s var(--ease),box-shadow .35s}
.yt:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0b192c55}.yt:focus-visible{outline:4px solid var(--gr);outline-offset:3px}
.yt-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--or);box-shadow:0 0 0 10px #F07A2240,0 10px 30px #0008;transition:transform .35s var(--ease)}
.yt-play:after{content:"";position:absolute;left:34px;top:26px;border-style:solid;border-width:16px 0 16px 26px;border-color:transparent transparent transparent #fff}
.yt:hover .yt-play{transform:scale(1.1)}
.yt-cap{position:absolute;left:1.3rem;bottom:1.1rem;right:6rem}.yt-cap b{display:block;font:900 clamp(1.1rem,3vw,1.6rem)/1.1 'League Spartan',sans-serif;text-transform:uppercase}.yt-cap small{color:#c4d2e6;font-weight:600}
.yt-dur{position:absolute;right:1.1rem;bottom:1.1rem;background:#0B192Ccc;border-radius:8px;padding:2px 9px;font-weight:700;font-size:.9rem}
.yt-msg{display:none;position:absolute;left:50%;top:calc(50% + 58px);transform:translateX(-50%);background:#0B192Ce6;border:1px solid #F07A22;border-radius:50px;padding:.45rem 1.1rem;font-weight:700;font-size:.92rem;white-space:nowrap}.yt.off .yt-msg{display:block}.yt.off .yt-cap,.yt.off .yt-dur{display:none}
.yt.on{cursor:auto;background:#000}.yt.on:hover{transform:none}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-links{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:.9rem 0 0!important}.yt-links a{color:var(--blue);font-weight:700;text-decoration:none}.yt-links a:hover{color:var(--or)}
@media(max-width:600px){.yt-play{top:42%;width:64px;height:64px;margin:-32px 0 0 -32px}.yt-cap b{font-size:1rem}.yt-cap small{font-size:.75rem}.yt-play:after{left:26px;top:20px;border-width:12px 0 12px 20px}.yt-cap{left:.9rem;bottom:.8rem;right:4.5rem}.yt-dur{right:.8rem;bottom:.8rem}.yt-msg{top:calc(42% + 44px);font-size:.8rem}}

body:has(>.section-header),body:has(>.section-title-container){background:radial-gradient(circle at 80% 0,#1c4a7a66,transparent 900px),repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,transparent 1px 56px),var(--navy)}
body>.section-header,body>.section-title-container{background:transparent}
body:has(>.article-container){background:var(--navy)}
body>.article-container{margin-top:1rem}
body>.article-container>article{background:#fff;border-radius:26px;border-top:6px solid var(--or);box-shadow:0 14px 40px #0006;padding:.6rem 2.4rem 2rem;margin-top:1.5rem}
body>.article-container>article>.article-content>:last-child{margin-bottom:0}
@media(max-width:640px){body>.article-container{padding:0 12px}body>.article-container>article{padding:.2rem 1.3rem 1.4rem;border-radius:20px}}
