/* Shared Brasa Olympic identity. Loaded after each shell's presentation styles. */
:root{--font-display:'Fredoka',ui-rounded,system-ui,sans-serif;--font-body:'DM Sans',Arial,sans-serif;--font:var(--font-body);--brand-green:oklch(.36 .075 158);--brand-gold:oklch(.84 .17 86);--brand-ivory:oklch(.98 .02 94)}
body,.performance-lab,.rio-world{font-family:var(--font-body)}
h1,h2,h3,.page-head h1,.world-hero h1,.explore-hero h1,.journey-hero h1,.module-copy h2,.world-featured h2,.brasa-family-section header h2,.performance-lab h1,.performance-lab h2,.performance-lab h3,.rio-toolbar h1,.rio-welcome h1,.world-map-caption h1,.world-panel-head h2,.world-polished .brasil-athlete h2,.world-popover h2{font-family:var(--font-display)!important;font-weight:500!important;font-style:normal!important;letter-spacing:0!important;text-transform:none;line-height:1.14}
h1,h2,h3{overflow-wrap:break-word}
h1 em,h2 em,h3 em{font-style:normal}
.world-hero h1{font-size:42px}.world-hero h1 br{display:none}.world-hero h1 br:after{content:' '}
.world-hero h1 em{display:block}.world-hero-copy{min-width:0}
.world-kpis b,.stat-value,.sport-row .value,.lab-score-list dd,.journey-xp,.numeric,.score-pill{font-family:var(--font-body)!important;font-style:normal;letter-spacing:0;font-variant-numeric:tabular-nums}
.world-avatar,.brand-name,.lab-brand,.cycle strong{font-family:var(--font-display)!important;font-style:normal;letter-spacing:0}
.world-brand img,.drawer-logo,.footer-brand img,.lab-logo,.lab-brand img{object-fit:contain;aspect-ratio:1080/410}
.footer-brand small{display:block;color:var(--muted);font:12px/1.5 var(--font-body);margin-top:8px}
@media(min-width:1600px){.world-hero h1{font-size:50px}}
@media(max-width:1100px){.world-hero h1{font-size:34px}}
@media(max-width:760px){.world-hero h1{font-size:29px}.page-head h1{font-size:30px}.performance-lab h1{font-size:28px}.world-map-caption h1{font-size:22px}}
@media(max-width:440px){.world-hero h1{font-size:27px}.world-brand img{width:112px;height:auto;aspect-ratio:1080/410}.world-hero-actions .btn{white-space:normal;text-align:center}}


/* Video cards share the app's semantic theme tokens. */
.world-brand img{width:155px;max-width:100%;height:43px}.footer-brand img{width:145px;height:40px}
.athlete-videos{margin-top:20px}.video-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.athlete-video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px;margin:24px 0}.athlete-video-card{min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:16px}.athlete-video-stage{aspect-ratio:16/9;background:var(--bg, var(--panel));display:grid;place-items:center;border-radius:12px;overflow:hidden}.athlete-video-stage iframe{width:100%;height:100%;border:0}.video-play{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}.video-play span{color:var(--green)}.athlete-video-card h3{margin:16px 0 8px}.athlete-video-card p{color:var(--muted)}
@media(max-width:640px){.world-brand img{width:112px;height:34px}.athlete-video-grid{grid-template-columns:1fr}}

.athlete-dashboard{margin:24px 0}.impact-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px}.impact-score{text-align:center;flex-shrink:0;color:var(--green)}.impact-score strong{display:block;font:600 72px/1 var(--font-display)}.impact-score sup{font-size:28px}.impact-score span{display:block;font-size:12px;margin-top:12px}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.dashboard-metrics strong{display:block;font-size:24px}.dashboard-metrics meter{width:100%;margin:12px 0}.dashboard-metrics small{display:block;color:var(--muted)}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.dashboard-columns svg{width:100%;max-height:180px;color:var(--green)}.scout-demo-row{display:flex;gap:12px;align-items:center;margin:14px 0}.scout-demo-row meter{flex:1;min-width:50px}.scout-demo-row span{width:120px;text-transform:capitalize}.dashboard-columns .controls{flex-wrap:wrap}.athlete-dashboard details summary{cursor:pointer;font-weight:700}.athlete-dashboard .panel{min-width:0}
@media(max-width:720px){.dashboard-columns,.dashboard-metrics{grid-template-columns:1fr}.impact-hero{align-items:flex-start;flex-direction:column}.impact-score strong{font-size:56px}}

.footer-sitemap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%;margin:20px 0}.footer-sitemap h3{font-size:14px;color:var(--text)}.footer-sitemap a{display:block;margin:10px 0;font-size:13px;color:var(--muted)}footer{flex-wrap:wrap}.institutional-page{max-width:900px;margin:auto}.institutional-page p{line-height:1.8}.institutional-page textarea{display:block;width:100%;margin:12px 0 20px}.institution-strip{color:var(--text);background:var(--panel)}.institution-strip img{background:#fff;border-radius:8px;padding:5px}.institution-logo{width:64px;height:64px;object-fit:contain;background:#fff;padding:6px;border-radius:10px}
@media(max-width:640px){.footer-sitemap{grid-template-columns:1fr 1fr;gap:20px}}
.institution-strip,.official-horizon{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)}.institution-strip b,.institution-strip span,.institution-strip small,.official-horizon p{color:var(--text)!important}.institution-strip img,.official-horizon>img{background:#fff!important;padding:6px!important;border-radius:8px}.impact-hero h2{font:600 28px/1.2 var(--font-display)}.dashboard-columns h2{font:600 24px/1.25 var(--font-display)}.athlete-video-card h3{font:600 20px/1.3 var(--font-display)}
/* Fan prototype: cards, score and audited local Energy. */
.athlete-level{display:inline-flex;flex-direction:column;gap:3px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;margin:8px 0;background:var(--panel);font-size:13px}.athlete-level small{font-size:10px;color:var(--muted)}.level-brasinha{border-color:var(--green)}.level-fagulha{border-color:var(--yellow)}.level-lumi{border-color:var(--green);box-shadow:inset 3px 0 var(--green)}.impact-card-score{padding:18px 0;border-block:1px solid var(--line);margin:14px 0}.impact-card-score>span{display:block;font-size:12px;color:var(--muted)}.impact-card-score strong{display:block;font:600 56px/1.1 var(--font-display);color:var(--green)}.impact-card-score strong small{font:500 14px var(--font-body);margin-left:8px}.card-energy{display:flex;justify-content:space-between;align-items:center}.card-energy b{font-size:23px;color:var(--yellow)}.fan-hub>section{margin:26px 0}.fan-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.fan-stat-grid strong{display:block;font:600 32px/1.25 var(--font-display);color:var(--green);margin-top:10px;overflow-wrap:anywhere}.fan-hub #fan-register{max-width:600px}.fan-hub #fan-register label{display:block;margin:16px 0 7px}.fan-hub #fan-register input,.fan-hub #fan-register select{display:block;width:100%}.fan-hub .controls,.fan-profile-panel .controls{flex-wrap:wrap}.fan-profile-panel{min-width:0}.fan-energy{display:flex;align-items:center;gap:14px;margin:16px 0}.fan-energy strong{font:600 48px/1 var(--font-display);color:var(--yellow)}.fan-energy span{font-size:12px;color:var(--muted)}.fan-trump-card{padding:22px;border:2px solid var(--line);border-radius:20px;background:var(--panel);position:relative;min-width:0}.fan-trump-card>img,.fan-card-initials{width:72px;height:72px;object-fit:cover;object-position:50% 20%;border-radius:50%;float:right;margin:0 0 12px 10px}.fan-card-initials{display:grid;place-items:center;background:var(--green);color:var(--panel)}.fan-trump-card h3{font:600 22px/1.2 var(--font-display);min-height:52px}.fan-trump-card p{font-size:12px;color:var(--muted);margin:10px 0}.fan-trump-card dl{clear:both;padding:10px 0}.fan-trump-card dl>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);gap:16px}.fan-trump-card dt{font-size:12px}.fan-trump-card dd{font:600 28px/1 var(--font-display);color:var(--green);margin:0}.fan-duel-cards{display:grid;grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);gap:18px;max-width:1000px;margin:24px auto}.fan-versus{align-self:center;text-align:center;color:var(--yellow);font:600 28px var(--font-display)}.fan-duel-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.fan-duel-controls label{display:block;min-width:180px;flex:1}.fan-duel-controls select{display:block;width:100%;max-width:100%;margin-top:8px}.fan-profile-panel h2{font-size:22px}.fan-hub a:focus-visible,.fan-hub button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:740px){.fan-stat-grid{grid-template-columns:1fr 1fr}.fan-duel-cards{grid-template-columns:1fr}.fan-duel-controls label{min-width:100%;width:100%}.fan-stat-grid strong{font-size:26px}.impact-card-score strong{font-size:48px}.fan-hub .team-grid{grid-template-columns:1fr}}

.profile-embedded #sidebar,.profile-embedded #topbar,.profile-embedded footer,.profile-embedded .institution-strip,.profile-embedded .brand-source-note{display:none!important}.profile-embedded main,.profile-embedded #main{margin:0!important;padding:20px!important;max-width:1320px!important}.profile-embedded body{min-height:0!important;height:auto!important}.profile-embedded .app,.profile-embedded .app-shell{margin-left:0!important;min-height:0!important}

.profile-embedded .workspace{margin-left:0!important}.profile-embedded #menu-backdrop{display:none!important}

/* Brasa Olympic: approved rounded brasa wordmark with OLYMPIC below. */
.world-brand img{width:170px;height:55px}.drawer-logo{width:175px;height:56px}.footer-brand img{width:160px;height:52px}.lab-brand img,.lab-logo{width:180px;height:58px}.athlete-public-nav img{width:154px;height:50px;object-fit:contain}@media(max-width:640px){.world-brand img{width:125px;height:40px}}

.world-brand img{width:155px;height:59px}.drawer-logo{width:165px;height:63px}.footer-brand img{width:155px;height:59px}.lab-brand img,.lab-logo{width:165px;height:63px}.athlete-public-nav img{width:150px;height:57px}@media(max-width:640px){.world-brand img{width:112px;height:43px}}
