/* Correções verificadas na auditoria de experiência e acessibilidade. */
a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}

.lesson-panel {
  inset: 0;
  z-index: 30;
  padding: clamp(5rem, 8vw, 7rem) clamp(1rem, 14vw, 14rem);
}

.lesson-panel .close {
  top: 18px;
  width: 48px;
  height: 48px;
  cursor: pointer;
}

@media (max-width: 850px) {
  .topbar nav {
    padding: .65rem 1rem 1rem;
    gap: .15rem;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 14px 28px rgba(7, 26, 43, .12);
  }

  .topbar nav a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: .55rem .35rem;
  }
}

/* Seleção global de idioma */
.language-control { display: flex; align-items: center; gap: .45rem; padding-left: .8rem; border-left: 1px solid var(--line); }
.language-label { font-size: .72rem; font-weight: 850; color: var(--muted); }
.goog-te-gadget { height: 34px; overflow: hidden; font-size: 0 !important; color: transparent !important; }
.goog-te-gadget .goog-te-combo { min-width: 132px; height: 34px; margin: 0 !important; padding: 0 1.8rem 0 .65rem; border: 1px solid var(--line); border-radius: 9px; background: var(--white); color: var(--ink); font: 700 .78rem Inter, sans-serif; cursor: pointer; }
.goog-logo-link,.goog-te-gadget span { display: none !important; }
body { top: 0 !important; }
.skiptranslate iframe { display: none !important; }

.language-welcome { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgba(4,17,29,.8); backdrop-filter: blur(12px); }
.language-welcome-card { width: min(560px,100%); padding: clamp(1.5rem,5vw,3rem); border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: var(--paper); box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.language-welcome-card h2 { margin: .15rem 0 1rem; font: clamp(2.2rem,6vw,4rem)/1 Georgia,serif; letter-spacing: -.04em; }
.language-welcome-card>p:not(.eyebrow) { color: var(--muted); }
.language-welcome-card label { display: block; margin: 1.4rem 0 .45rem; }
.language-welcome-card select { width: 100%; min-height: 50px; padding: .7rem; border: 1px solid var(--line); border-radius: 12px; background: var(--white); color: var(--ink); font-weight: 750; }
#welcomeLanguageSlot .goog-te-combo { width: 100%; min-height: 50px; margin: 0 !important; padding: .7rem; border: 1px solid var(--line); border-radius: 12px; background: var(--white); color: var(--ink); font: 750 1rem Inter,sans-serif; cursor: pointer; }
.language-welcome-card small { display: block; margin-top: 1.2rem; color: var(--muted); }
.language-actions { display: flex; margin-top: 1rem; }
.language-symbol { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 1.5rem; border-radius: 18px; background: var(--ink); color: var(--lime); font: 800 1.2rem Georgia,serif; }

@media (max-width: 1120px) and (min-width: 851px) {
  .topbar { padding-inline: 1.2rem; }
  .topbar nav { gap: .75rem; }
  .language-label { display: none; }
  .language-control { padding-left: .4rem; }
  .goog-te-gadget .goog-te-combo { min-width: 110px; max-width: 120px; }
}

@media (max-width: 850px) {
  .language-control { min-height: 48px; margin-top: .35rem; padding: .55rem .35rem 0; border-top: 1px solid var(--line); border-left: 0; }
  .language-label { min-width: 58px; }
  .goog-te-gadget .goog-te-combo { width: min(230px,65vw); }
  .language-welcome { align-items: end; padding: .65rem; }
  .language-welcome-card { max-height: calc(100vh - 1.3rem); overflow: auto; border-radius: 24px; }
}

/* Apresentação, autoria e créditos */
.about-section {
  color: var(--white);
  background:
    radial-gradient(circle at 15% 15%, rgba(105, 230, 220, .15), transparent 28%),
    radial-gradient(circle at 85% 70%, rgba(45, 108, 223, .24), transparent 30%),
    var(--ink);
}

.about-section .eyebrow { color: var(--lime); }
.about-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.about-identity h2 { margin: .15rem 0; font: clamp(2.8rem, 5vw, 5.4rem)/.95 Georgia, serif; letter-spacing: -.045em; }
.about-role { margin: .8rem 0 1.6rem; color: #b8c8d0; font-weight: 700; }
.portrait-mark { position: relative; display: grid; place-items: center; width: 132px; height: 132px; margin-bottom: 2rem; border: 1px solid rgba(255,255,255,.24); border-radius: 32px; background: rgba(255,255,255,.06); overflow: hidden; }
.portrait-mark span { position: relative; z-index: 2; font: italic 2.6rem Georgia, serif; color: var(--lime); }
.portrait-mark i { position: absolute; width: 110px; height: 42px; border: 1px solid rgba(105,230,220,.45); border-radius: 50%; transform: rotate(18deg); }
.portrait-mark i:nth-of-type(2) { transform: rotate(78deg); }
.portrait-mark i:nth-of-type(3) { transform: rotate(138deg); }
.profile-links { display: flex; gap: .75rem; flex-wrap: wrap; }
.profile-links a { display: inline-flex; align-items: center; gap: .55rem; min-height: 46px; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; text-decoration: none; font-weight: 800; }
.profile-links a:hover { color: var(--lime); border-color: var(--lime); }
.profile-links span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; background: var(--white); color: var(--ink); font-size: .72rem; font-weight: 900; }
.about-copy { max-width: 760px; font-family: Georgia, serif; font-size: 1.12rem; color: #d8e1e5; }
.about-copy .about-lead { margin-top: 0; color: var(--white); font-size: clamp(1.55rem, 3vw, 2.45rem); line-height: 1.15; }
.about-copy blockquote { margin: 2rem 0 0; padding: 1.1rem 1.3rem; border-left: 4px solid var(--lime); background: rgba(255,255,255,.06); color: var(--white); }
.thanks-card { margin-top: clamp(3rem, 8vw, 7rem); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); background: rgba(255,255,255,.06); }
.thanks-card h3 { margin: 0 0 1rem; font: clamp(1.8rem, 3vw, 3rem)/1.05 Georgia, serif; }
.thanks-card p:not(.eyebrow) { max-width: 920px; color: #c6d2d8; }
.project-credits { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; margin-top: 2rem; }
.project-credits article { display: flex; flex-direction: column; gap: 1rem; min-width: 0; padding: 1.25rem; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(4,17,29,.38); }
.project-credits b { display: block; color: var(--white); line-height: 1.25; }
.project-credits p { margin: .6rem 0; color: #b8c8d0; font-size: .84rem; }
.project-credits a { color: var(--lime); font-size: .78rem; font-weight: 800; }
.credit-mark { display: grid; place-items: center; width: 66px; height: 48px; border-radius: 12px; background: var(--white); color: var(--ink); font-weight: 900; letter-spacing: -.03em; }
.sidiney-mark { background: var(--lime); font: italic 1.25rem Georgia,serif; }
.openai-mark { width: 94px; font-size: .9rem; }
.google-mark { color: var(--blue); font-size: 1.35rem; }
.independence-note { margin: 1.5rem 0 0; font-size: .76rem; }
.source-grid a { min-height: 148px; justify-content: flex-end; }
.source-grid img { width: 48px; height: 48px; margin: 0 0 auto; object-fit: contain; object-position: left center; }
.institution-note { max-width: 900px; margin: 1.4rem 0 0; color: var(--muted); font-size: .78rem; }
footer a { color: var(--lime); }

@media (max-width: 850px) {
  .about-grid { grid-template-columns: 1fr; }
  .portrait-mark { width: 110px; height: 110px; }
  .about-copy { font-size: 1.04rem; }
  .project-credits { grid-template-columns: 1fr; }
}
