:root{
  --rail:#0B0D10; --sidebar:#111418; --main:#16191E; --panel:#1C2026;
  --border:#252A31; --border-2:#2C323A; --text:#E8EAED; --muted:#9AA3AE; --faint:#8B95A1;
  --lime:#C8F05A; --lime-deep:#8DB82A; --on-lime:#0B0D10;
  --coral:#FF8A5B; --ceu:#6FD3F5;
  --font-head:'Bricolage Grotesque', system-ui, sans-serif;
  --font-body:'IBM Plex Sans', system-ui, sans-serif;
  --wrap: 1280px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ color-scheme: dark; }
html, body{ margin:0; padding:0; }
body{
  background:var(--rail); color:var(--text);
  font-family:var(--font-body); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img, svg{ max-width:100%; display:block; }
h1, h2, h3{ font-family:var(--font-head); font-weight:800; margin:0; letter-spacing:-0.02em; }
p{ margin:0; color:var(--muted); }
a{ color:var(--lime); }
a:hover{ color:#DDFA8C; }
code{ font-family:'IBM Plex Mono', ui-monospace, monospace; background:var(--panel); border:1px solid var(--border); border-radius:5px; padding:.1em .4em; font-size:.9em; color:var(--text); }
::selection{ background:var(--lime); color:var(--on-lime); }
.accent{ color:var(--lime); }

.skip-link{ position:absolute; inset-inline-start:-999px; top:0; background:var(--lime); color:var(--on-lime); padding:10px 16px; border-end-end-radius:8px; font-weight:600; z-index:100; }
.skip-link:focus{ inset-inline-start:0; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 clamp(20px, 5.5vw, 80px); }

:focus-visible{ outline:2px solid var(--lime); outline-offset:2px; border-radius:4px; }

/* ---------- Topbar ---------- */
.topbar{ position:sticky; top:0; z-index:20; background:rgba(11,13,16,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.topbar-inner{ height:72px; display:flex; align-items:center; gap:clamp(16px,3vw,40px); }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); flex:none; }
.brand span{ font-family:var(--font-head); font-weight:800; font-size:22px; letter-spacing:-0.02em; }
.topnav{ display:flex; gap:24px; flex-grow:1; }
.topnav a{ text-decoration:none; color:var(--muted); font-size:14.5px; font-weight:500; }
.topnav a:hover{ color:var(--text); }
@media (max-width:820px){ .topnav{ display:none; } .lang-switch{ margin-inline-start:auto; } }

/* ---------- Buttons ---------- */
.btn{ font-family:var(--font-body); font-weight:600; font-size:15px; border-radius:10px; border:none; padding:12px 20px; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:transform .12s ease, background .12s ease, opacity .12s ease, border-color .12s ease; white-space:nowrap; }
.btn-primary{ background:var(--lime); color:var(--on-lime); }
.btn-primary:hover:not(:disabled){ background:var(--lime-deep); }
.btn-primary:disabled{ opacity:.5; cursor:not-allowed; }
.btn-ghost{ background:transparent; color:var(--text); border:1px solid var(--border); }
.btn-ghost:hover{ border-color:var(--lime); color:var(--lime); }
.btn-sm{ padding:9px 16px; font-size:14px; border-radius:8px; }
.btn-lg{ height:56px; padding:0 26px; font-size:17px; font-weight:700; border-radius:12px; }
@media (prefers-reduced-motion: no-preference){
  .btn-primary:hover:not(:disabled){ transform:translateY(-1px); }
}

.dot{ width:9px; height:9px; border-radius:4px; flex:none; display:inline-block; }
.dot--coral{ background:var(--coral); }
.dot--ceu{ background:var(--ceu); }
.dot--lime{ background:var(--lime); }

/* ---------- Hero ---------- */
.hero{ padding:clamp(40px,7vw,88px) 0; overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,48px); align-items:center; }
.pill{ display:inline-block; font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); padding:6px 12px; border:1px solid var(--border); border-radius:999px; margin-bottom:24px; }
.hero-copy h1{ font-size:clamp(38px, 6.5vw, 88px); line-height:0.95; margin-bottom:24px; }
.hero-sub{ font-size:clamp(15px,1.6vw,19px); max-width:46ch; color:var(--muted); margin-bottom:28px; }
.hero-actions{ display:flex; flex-direction:column; gap:14px; }
.cta-row{ display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start; }
.hero-note{ font-size:13px; color:var(--faint); margin:0; }
.invite-note{ position:relative; }
.invite-note summary{ list-style:none; }
.invite-note summary::-webkit-details-marker{ display:none; }
.invite-note p{ position:absolute; top:calc(100% + 10px); inset-inline-start:0; margin:0; padding:14px 16px; background:var(--panel); border:1px solid var(--border); border-radius:12px; font-size:13.5px; width:min(360px, 80vw); box-shadow:0 20px 40px -16px rgba(0,0,0,.5); z-index:5; }

.hero-stage{ position:relative; aspect-ratio:1/1; max-width:560px; margin:0 auto; width:100%; }
.fafa-poster, .fafa-canvas{ position:absolute; inset:0; }
.fafa-canvas canvas{ width:100% !important; height:100% !important; }
.fafa-poster{ transition:opacity .3s ease; }
.fafa-poster.is-hidden{ opacity:0; pointer-events:none; }
.hero-chip{ position:absolute; z-index:3; padding:10px 14px; border-radius:14px; background:var(--panel); border:1px solid var(--border); font-size:13.5px; display:flex; gap:8px; align-items:center; box-shadow:0 12px 30px -10px rgba(0,0,0,.5); }
.hero-chip--top{ inset-inline-start:0; top:6%; }
.hero-chip--bottom{ inset-inline-end:0; bottom:14%; }

@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-stage{ order:-1; max-width:340px; }
  .hero-copy{ text-align:start; }
  .hero-chip{ font-size:12px; padding:8px 11px; }
}
@media (max-width:420px){
  .hero-chip--top{ top:2%; }
  .hero-chip--bottom{ bottom:8%; }
}

/* ---------- Section shell ---------- */
section{ padding:clamp(56px,8vw,120px) 0 0; }
section:last-of-type{ padding-bottom:clamp(56px,8vw,120px); }
.section-title{ font-size:clamp(28px, 4.4vw, 56px); line-height:1; letter-spacing:-0.03em; margin-bottom:clamp(28px,4vw,36px); }
.section-title.center{ text-align:center; max-width:26ch; margin-left:auto; margin-right:auto; }

/* ---------- App window / recursos ---------- */
.app-section-inner{ display:flex; flex-direction:column; align-items:center; }
.app-window{
  width:100%; border-radius:20px; border:1px solid var(--border-2); background:var(--main);
  overflow:hidden; display:flex; box-shadow:0 60px 120px -40px rgba(200,240,90,.18);
  min-height:420px;
}
.win-rail{ width:76px; background:var(--rail); flex:none; display:flex; flex-direction:column; align-items:center; gap:12px; padding-top:18px; }
.win-server{ width:50px; height:50px; border-radius:25px; background:var(--panel); color:var(--muted); font-weight:600; font-family:var(--font-head); display:flex; align-items:center; justify-content:center; flex:none; }
.win-server--active{ border-radius:14px; background:var(--lime); color:var(--on-lime); }
.win-sidebar{ width:230px; background:var(--sidebar); padding:18px 12px; display:flex; flex-direction:column; gap:4px; flex:none; }
.win-server-name{ font-family:var(--font-head); font-size:17px; padding:0 8px 14px; }
.win-cat{ font-size:11px; font-weight:600; letter-spacing:.08em; color:var(--faint); padding:12px 8px 6px; text-transform:uppercase; }
.win-channel{ padding:8px; border-radius:8px; color:var(--muted); font-size:14px; }
.win-channel--active{ background:#1F242B; color:var(--text); }
.win-channel--unread{ color:var(--text); font-weight:600; }
.win-channel--voice{ color:var(--text); }
.win-main{ flex:1; display:flex; flex-direction:column; min-width:0; }
.win-head{ height:52px; border-bottom:1px solid var(--border); display:flex; align-items:center; padding:0 20px; font-weight:600; flex:none; }
.win-messages{ flex:1; padding:20px; display:flex; flex-direction:column; justify-content:flex-end; gap:16px; }
.win-msg{ display:flex; gap:12px; }
.win-msg p{ margin:2px 0 0; color:var(--text); font-size:14px; }
.win-msg strong{ font-size:14px; color:var(--text); }
.win-time{ color:var(--faint); font-size:12.5px; }
.win-tag{ padding:1px 6px; border-radius:5px; background:var(--border); font-size:11px; font-weight:600; color:var(--text); }
.win-avatar{ width:36px; height:36px; border-radius:50%; flex:none; }
.win-composer{ margin:0 20px 20px; height:44px; border-radius:12px; background:var(--panel); border:1px solid var(--border); display:flex; align-items:center; padding:0 14px; color:var(--faint); font-size:13.5px; }

@media (max-width:640px){
  .win-rail{ display:none; }
  .win-sidebar{ width:150px; padding:14px 8px; }
  .win-server-name{ font-size:14px; padding:0 4px 10px; }
}
@media (max-width:460px){
  .win-sidebar{ display:none; }
}

.trio{ width:100%; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(24px,4vw,48px); margin-top:clamp(32px,5vw,56px); }
.trio-title{ display:block; font-family:var(--font-head); font-weight:800; font-size:clamp(26px,3vw,36px); margin-bottom:10px; }
.trio-title--lime{ color:var(--lime); }
.trio-title--coral{ color:var(--coral); }
.trio-title--ceu{ color:var(--ceu); }
.trio-item p{ font-size:15.5px; line-height:1.55; }
@media (max-width:760px){
  .trio{ grid-template-columns:1fr; gap:24px; }
}

/* ---------- Jogo e trabalho ---------- */
.turmas-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.turma-card{ border-radius:24px; padding:clamp(24px,4vw,40px); display:flex; flex-direction:column; gap:18px; color:var(--on-lime); }
.turma-card--coral{ background:var(--coral); }
.turma-card--ceu{ background:var(--ceu); }
.turma-when{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.turma-card h3{ font-size:clamp(30px,4vw,48px); line-height:.98; letter-spacing:-0.02em; }
.turma-preview{ margin-top:auto; border-radius:16px; background:var(--rail); color:var(--text); padding:20px; display:flex; flex-direction:column; gap:12px; }
.turma-who{ display:flex; align-items:center; gap:10px; }
.turma-who strong{ font-size:14.5px; }
.turma-preview p{ color:var(--muted); font-size:14px; margin:0; }
.turma-facts{ display:flex; flex-wrap:wrap; gap:8px; }
.turma-facts span{ padding:6px 10px; border-radius:8px; background:var(--panel); font-size:12.5px; }
.status-chip{ padding:1px 7px; border-radius:5px; font-size:11px; font-weight:700; }
.status-chip--live{ background:var(--coral); color:var(--on-lime); }
.status-chip--meeting{ background:var(--border); color:var(--text); }

@media (max-width:760px){
  .turmas-grid{ grid-template-columns:1fr; }
}

/* ---------- Privacidade ---------- */
.privacidade-inner{ padding-top:clamp(32px,5vw,56px); padding-bottom:clamp(32px,5vw,56px); border-radius:24px; background:var(--lime); color:var(--on-lime); display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,48px); align-items:center; }
.privacidade{ padding-top:0; }
.privacidade-inner h2{ font-size:clamp(28px,3.6vw,44px); line-height:1.02; }
.privacidade-inner ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; font-size:clamp(15px,1.6vw,18px); font-weight:500; }
@media (max-width:760px){
  .privacidade-inner{ grid-template-columns:1fr; text-align:start; }
}

/* ---------- Atualiza sozinho ---------- */
.updates{ padding-top:clamp(32px,5vw,56px); }
.update-strip{ padding:clamp(24px,4vw,40px) clamp(24px,4vw,48px); border-radius:22px; background:var(--sidebar); border:1px solid var(--border); display:flex; align-items:center; gap:clamp(20px,4vw,40px); flex-wrap:wrap; }
.update-copy{ flex:1 1 280px; }
.update-copy h2{ font-size:clamp(24px,2.6vw,32px); margin-bottom:8px; }
.update-copy p{ font-size:15.5px; }
.update-toast{ padding:14px 18px; border-radius:14px; background:var(--rail); border:1px solid var(--border); display:flex; align-items:center; gap:12px; flex:1 1 340px; max-width:420px; }
.update-toast-text{ flex:1; font-size:14.5px; }
.update-toast-btn{ padding:8px 12px; border-radius:8px; background:var(--lime); color:var(--on-lime); font-weight:700; font-size:13.5px; }

/* ---------- Roadmap ---------- */
.roadmap-strip{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:12px; }
.roadmap-item{ padding:18px; border-radius:14px; background:var(--sidebar); border:1px solid var(--border); display:flex; flex-direction:column; gap:6px; font-size:14.5px; color:var(--muted); }
.roadmap-item strong{ display:block; font-family:var(--font-head); font-weight:700; color:var(--text); font-size:14.5px; }
.roadmap-item--done{ border-color:var(--lime); }
.roadmap-item--done strong{ color:var(--lime); }

@media (max-width:900px){
  .roadmap-strip{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:480px){
  .roadmap-strip{ grid-template-columns:1fr; }
}

/* ---------- CTA final ---------- */
.cta-final-inner{ padding:36px clamp(28px,5vw,64px); min-height:clamp(180px,26vw,260px); border-radius:26px; background:var(--sidebar); border:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.cta-final-copy h2{ font-size:clamp(30px,4vw,48px); letter-spacing:-0.02em; margin-bottom:10px; }
.cta-final-copy p{ font-size:clamp(15px,1.6vw,18px); }

/* ---------- FAQ ---------- */
.faq-list{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.faq-item{ border:1px solid var(--border); border-radius:14px; background:var(--sidebar); padding:4px 20px; }
.faq-item summary{ cursor:pointer; list-style:none; padding:16px 0; font-weight:600; font-size:15.5px; color:var(--text); position:relative; padding-inline-end:28px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:'+'; position:absolute; inset-inline-end:0; top:14px; font-size:20px; color:var(--muted); }
.faq-item[open] summary::after{ content:'–'; }
.faq-item p{ margin:0 0 18px; font-size:14.5px; }

/* ---------- Apoie o Falafy (Pix) ---------- */
.apoie-inner{ max-width:640px; margin:0 auto; text-align:center; }
.apoie-text{ font-size:15.5px; margin-bottom:24px; }
.apoie-pix{ display:inline-flex; flex-direction:column; align-items:center; gap:12px; padding:24px 28px; border-radius:16px; background:var(--sidebar); border:1px solid var(--border); }
.apoie-pix-key{ font-size:14.5px; color:var(--text); margin:0; }
.apoie-pix-key code{ user-select:all; }
.apoie-pix-thanks{ color:var(--lime); font-weight:600; font-size:13.5px; margin:0; }

/* ---------- /apoie/ page (goal bar + Pix, filled by site.js) ---------- */
.apoie-live{ max-width:560px; margin-top:24px; display:flex; flex-direction:column; gap:16px; }
.apoie-card{ background:var(--sidebar); border:1px solid var(--border); border-radius:16px; padding:22px; }
.apoie-card p{ margin:0; font-size:15px; }
.apoie-card[hidden]{ display:none; }
.apoie-soon-title, .apoie-goal-label, .apoie-step{ font-family:var(--font-head); font-weight:700; color:var(--text); font-size:18px; }
.apoie-card .apoie-soon-title{ margin-bottom:6px; }
.apoie-card .apoie-goal-label{ margin-bottom:12px; }
.apoie-goal-bar{ height:12px; border-radius:999px; background:var(--rail); border:1px solid var(--border-2); overflow:hidden; }
.apoie-goal-fill{ display:block; height:100%; width:0; background:var(--lime); border-radius:inherit; transition:width .5s ease; }
.apoie-card .apoie-goal-nums{ margin-top:10px; font-size:14px; color:var(--muted); font-variant-numeric:tabular-nums; }
.apoie-card .apoie-step{ margin-bottom:12px; }
.apoie-amounts{ display:flex; flex-wrap:wrap; gap:8px; }
.apoie-amount{ font-variant-numeric:tabular-nums; }
.apoie-amount[aria-pressed="true"]{ background:var(--lime); border-color:var(--lime); color:var(--on-lime); }
.apoie-card .apoie-hint{ margin-top:10px; font-size:13.5px; color:var(--faint); }
.apoie-qr-wrap{ display:flex; justify-content:center; margin:18px 0; }
.apoie-qr-wrap:empty{ display:none; }
.apoie-qr{ width:220px; height:220px; max-width:100%; background:#fff; padding:10px; border-radius:12px; }
.apoie-code-label{ display:block; font-size:14px; font-weight:600; color:var(--text); margin-bottom:6px; }
.apoie-code-row{ display:flex; gap:8px; }
.apoie-code{ flex:1; min-width:0; font-family:ui-monospace, SFMono-Regular, Consolas, monospace; font-size:13px; color:var(--text); background:var(--rail); border:1px solid var(--border-2); border-radius:8px; padding:9px 12px; }
.apoie-card .apoie-receiver{ margin-top:12px; font-size:14px; color:var(--muted); }
.apoie-card .apoie-receiver:empty, .apoie-card .apoie-status:empty{ display:none; }
.apoie-card .apoie-status{ margin-top:8px; font-size:13.5px; font-weight:600; color:var(--lime); }
@media (max-width:480px){ .apoie-code-row{ flex-direction:column; } .apoie-card{ padding:18px; } }
@media (prefers-reduced-motion: reduce){ .apoie-goal-fill{ transition:none; } }

/* ---------- Footer ---------- */
.site-footer{ border-top:1px solid var(--border); padding:32px 0; }
.footer-inner{ display:flex; flex-direction:column; gap:10px; }
.footer-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; color:var(--faint); font-size:14px; }
.footer-about{ font-size:12.5px; color:var(--faint); margin:0; }

/* ---------- Online chip ---------- */
.online-chip{ display:flex; align-items:center; gap:8px; margin-top:12px; font-size:13.5px; color:var(--muted); font-variant-numeric:tabular-nums; }
.online-dot{ width:8px; height:8px; border-radius:50%; background:var(--lime); flex:none; animation:falafy-pulse 2s ease-in-out infinite; }
@keyframes falafy-pulse{ 0%,100%{ opacity:1; box-shadow:0 0 0 0 rgba(200,240,90,.5); } 50%{ opacity:.7; box-shadow:0 0 0 4px rgba(200,240,90,0); } }
@media (prefers-reduced-motion: reduce){ .online-dot{ animation:none; } }

/* ---------- Download modal ---------- */
.download-modal{ max-width:460px; width:calc(100% - 32px); border:1px solid var(--border); border-radius:16px; background:var(--panel); color:var(--text); padding:28px; }
.download-modal::backdrop{ background:rgba(6,7,9,.72); }
.download-modal h2{ font-size:22px; margin-bottom:14px; }
.download-modal p{ margin-bottom:12px; font-size:14.5px; }
.download-steps{ list-style:none; margin:0 0 12px; padding:0; display:flex; flex-direction:column; gap:10px; }
.download-steps li{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text); }
.download-step-badge{ flex:none; width:24px; height:24px; border-radius:50%; background:var(--lime); color:var(--on-lime); font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; }
.download-meta{ font-size:13px; color:var(--muted); min-height:1em; }
.download-modal-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:8px; }
.pix-block{ margin-top:20px; padding-top:16px; border-top:1px solid var(--border); }
.pix-title{ font-weight:700; color:var(--text); margin-bottom:6px; }
@media (max-width:480px){ .download-modal{ padding:20px; } }

/* ---------- Landing pages (SEO) ---------- */
.lp-hero{ padding:clamp(32px,6vw,72px) 0 0; }
.lp-hero h1{ font-size:clamp(34px,5.4vw,68px); line-height:1; max-width:20ch; margin-bottom:20px; }
.lp-lead{ font-size:clamp(15px,1.6vw,19px); max-width:62ch; margin-bottom:28px; }
.lp-hero .hero-note{ margin-top:14px; }
.crumbs ol{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-wrap:wrap; gap:6px; font-size:13.5px; color:var(--faint); }
.crumbs li + li::before{ content:'/'; margin-inline-end:6px; color:var(--border-2); }
.crumbs a{ color:var(--muted); text-decoration:none; }
.crumbs a:hover{ color:var(--text); }
.lp-section .section-title{ font-size:clamp(26px,3.4vw,42px); }
.lp-prose{ max-width:72ch; display:flex; flex-direction:column; gap:14px; }
.lp-prose p, .lp-prose li{ font-size:16px; color:var(--muted); }
.lp-prose ul{ margin:0; padding-inline-start:20px; display:flex; flex-direction:column; gap:8px; }
.lp-note{ font-size:14px; color:var(--faint); max-width:80ch; margin:16px 0; }
.lp-links{ margin-top:24px; font-size:15px; }
.lp-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.lp-card{ background:var(--sidebar); border:1px solid var(--border); border-radius:16px; padding:22px; }
.lp-card h3{ font-size:19px; margin-bottom:8px; color:var(--text); }
.lp-card p{ font-size:15px; }
@media (max-width:900px){ .lp-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:600px){ .lp-grid{ grid-template-columns:1fr; } }
.lp-steps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; max-width:780px; }
.lp-steps li{ display:flex; gap:16px; align-items:flex-start; background:var(--sidebar); border:1px solid var(--border); border-radius:14px; padding:18px 20px; }
.lp-steps strong{ display:block; color:var(--text); margin-bottom:4px; }
.lp-step-n{ flex:none; width:32px; height:32px; border-radius:10px; background:var(--lime); color:var(--on-lime); font-family:var(--font-head); font-weight:800; display:flex; align-items:center; justify-content:center; }
.lp-step-ico{ display:inline-block; vertical-align:-3px; margin-inline-end:8px; width:18px; height:18px; color:var(--lime); }
.lp-checks{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 24px; max-width:780px; }
.lp-checks li{ display:flex; gap:10px; align-items:flex-start; color:var(--text); font-size:16px; }
.lp-checks svg{ flex:none; width:20px; height:20px; margin-top:2px; color:var(--lime); }
@media (max-width:600px){ .lp-checks{ grid-template-columns:1fr; } }
.lp-table-wrap{ overflow-x:auto; border:1px solid var(--border); border-radius:16px; }
.lp-table{ width:100%; border-collapse:collapse; min-width:560px; font-size:15px; }
.lp-table th, .lp-table td{ text-align:start; padding:12px 16px; border-bottom:1px solid var(--border); vertical-align:top; }
.lp-table thead th{ background:var(--sidebar); font-family:var(--font-head); color:var(--text); }
.lp-table tbody th{ color:var(--text); font-weight:600; }
.lp-table td{ color:var(--muted); }
.lp-table td:nth-child(2){ color:var(--text); }
.lp-table tbody tr:last-child th, .lp-table tbody tr:last-child td{ border-bottom:none; }
.footer-links{ display:flex; flex-wrap:wrap; gap:10px 20px; font-size:14px; }
.footer-links a{ color:var(--muted); text-decoration:none; }
.footer-links a:hover{ color:var(--text); }
.h1-kicker{ display:block; font-family:var(--font-body); font-size:clamp(15px,1.5vw,18px); font-weight:600; letter-spacing:0; line-height:1.3; color:var(--muted); margin-bottom:14px; }

/* ---------- Guides & press (generated by scripts/site/build.mjs) ---------- */
.guide-meta{ font-size:14px; color:var(--faint); margin-top:4px; }
.guide-meta a{ color:var(--muted); }
.guide .wrap{ display:grid; grid-template-columns:minmax(0,72ch) minmax(0,280px); gap:48px; align-items:start; }
@media (max-width:1000px){ .guide .wrap{ grid-template-columns:minmax(0,1fr); } }
.guide-prose{ min-width:0; }
.guide-prose h2{ font-size:clamp(24px,2.8vw,32px); line-height:1.15; margin-top:22px; color:var(--text); }
.guide-prose h3{ font-size:20px; margin-top:8px; color:var(--text); }
.guide-prose ol{ margin:0; padding-inline-start:22px; display:flex; flex-direction:column; gap:8px; }
.guide-prose ol.lp-steps{ padding-inline-start:0; }
.guide-prose strong{ color:var(--text); }
.guide-callout{ border-inline-start:3px solid var(--lime); background:var(--sidebar); padding:14px 18px; border-start-end-radius:12px; border-end-end-radius:12px; }
.guide-related{ position:sticky; top:96px; background:var(--sidebar); border:1px solid var(--border); border-radius:16px; padding:20px 22px; }
.guide-related h2{ font-size:18px; margin-bottom:10px; }
.guide-related ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:14.5px; }
.guide-cta .lp-lead{ margin-bottom:20px; }
.lp-card h3 a{ color:var(--text); text-decoration:none; }
.lp-card h3 a:hover{ color:var(--lime); }
.lp-prose .press-quote{ border-inline-start:3px solid var(--lime); padding-block:6px; padding-inline:16px 0; color:var(--text); }
.press-logo{ margin:0; display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.press-logo img{ height:72px; width:auto; }
.footer-guides{ padding-top:10px; border-top:1px solid var(--border); font-size:13.5px; }

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

/* Trust strip (home, between hero and tour) */
.trust-strip{border-block:1px solid var(--border);background:var(--sidebar)}
.trust-list{list-style:none;margin:0;padding:16px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 0}
.trust-list li{font-size:14.5px;font-weight:500;color:var(--text);padding-inline:16px}
.trust-list li + li{border-inline-start:1px solid var(--border-2)}
@media(max-width:600px){.trust-list{flex-direction:column;align-items:center;gap:6px}.trust-list li + li{border-inline-start:0}}

/* Tour video */
.tour{padding-block:72px 24px}
.tour-inner{display:flex;flex-direction:column;align-items:center;gap:14px}
.tour-sub{color:var(--muted);text-align:center;max-width:60ch;margin:0}
.tour-frame{width:min(100%,1040px);margin-top:18px;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:var(--rail);box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(200,240,90,.08)}
.tour-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--rail)}
@media(max-width:600px){.tour{padding-block:48px 12px}.tour-frame{border-radius:12px}}

/* ---------- Languages (scripts/site/i18n.mjs) ---------- */
/* CJK, Arabic and Devanagari: no web font is loaded; use the platform's best UI font. */
:root:lang(ja){ --font-head:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo","Noto Sans JP",system-ui,sans-serif; --font-body:var(--font-head); }
:root:lang(ko){ --font-head:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif; --font-body:var(--font-head); }
:root:lang(zh-Hans){ --font-head:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif; --font-body:var(--font-head); }
:root:lang(ar){ --font-head:"Segoe UI","Noto Sans Arabic","Geeza Pro",Tahoma,system-ui,sans-serif; --font-body:var(--font-head); }
:root:lang(hi){ --font-head:"Nirmala UI","Noto Sans Devanagari","Kohinoor Devanagari","Mangal",system-ui,sans-serif; --font-body:var(--font-head); }
/* Bricolage has no Cyrillic: headings use IBM Plex Sans bold. */
:root:lang(ru){ --font-head:'IBM Plex Sans', system-ui, sans-serif; }
:lang(ja) h1, :lang(ja) h2, :lang(ja) h3, :lang(ko) h1, :lang(ko) h2, :lang(ko) h3,
:lang(zh-Hans) h1, :lang(zh-Hans) h2, :lang(zh-Hans) h3, :lang(ar) h1, :lang(ar) h2, :lang(ar) h3,
:lang(hi) h1, :lang(hi) h2, :lang(hi) h3, :lang(ar) .section-title, :lang(hi) .section-title{ letter-spacing:0; }
:lang(ja) .hero-copy h1, :lang(ko) .hero-copy h1, :lang(zh-Hans) .hero-copy h1, :lang(ar) .hero-copy h1, :lang(hi) .hero-copy h1,
:lang(ja) .section-title, :lang(ko) .section-title, :lang(zh-Hans) .section-title, :lang(ar) .section-title, :lang(hi) .section-title,
:lang(ar) .lp-hero h1, :lang(hi) .lp-hero h1, :lang(ru) .hero-copy h1{ line-height:1.2; }
:lang(ja) .hero-copy h1, :lang(ko) .hero-copy h1, :lang(zh-Hans) .hero-copy h1{ font-size:clamp(34px,5.4vw,72px); }
:lang(ar) .pill, :lang(ar) .win-cat, :lang(ar) .turma-when, :lang(ar) .eyebrow{ letter-spacing:0; }
:lang(ar) body, :lang(hi) body{ line-height:1.7; }
[dir="rtl"] .crumbs li + li::before{ content:'\\'; }
[dir="rtl"] .os-how code, [dir="rtl"] code{ direction:ltr; unicode-bidi:isolate; }

.lang-switch{ position:relative; flex:none; }
.lang-switch summary{ list-style:none; display:flex; align-items:center; gap:6px; height:36px; padding:0 10px; border:1px solid var(--border); border-radius:8px; color:var(--muted); font-size:13.5px; font-weight:600; cursor:pointer; }
.lang-switch summary::-webkit-details-marker{ display:none; }
.lang-switch summary:hover, .lang-switch[open] summary{ color:var(--text); border-color:var(--border-2); }
.lang-menu{ position:absolute; inset-inline-end:0; top:calc(100% + 8px); margin:0; padding:6px; list-style:none; width:min(240px, 80vw); max-height:min(70vh, 520px); overflow:auto; background:var(--panel); border:1px solid var(--border); border-radius:12px; box-shadow:0 20px 40px -16px rgba(0,0,0,.6); z-index:30; }
.lang-menu a{ display:block; padding:8px 10px; border-radius:8px; color:var(--text); text-decoration:none; font-size:14px; }
.lang-menu a:hover{ background:var(--border); }
.lang-menu a[aria-current="true"]{ color:var(--lime); }
.lang-banner{ background:var(--panel); border-bottom:1px solid var(--border); font-size:14px; }
.lang-banner-inner{ display:flex; align-items:center; gap:14px; min-height:44px; padding-block:6px; flex-wrap:wrap; }
.lang-banner-inner span{ color:var(--text); }
.lang-banner-inner a{ font-weight:600; }
.lang-banner-inner button{ margin-inline-start:auto; background:none; border:none; color:var(--muted); font-size:22px; line-height:1; cursor:pointer; padding:4px 8px; border-radius:6px; }
.lang-banner-inner button:hover{ color:var(--text); }
.footer-langs{ padding-top:10px; border-top:1px solid var(--border); font-size:13px; }
.app-lang-note{ margin-top:20px; font-size:13.5px; color:var(--faint); }
.legal-lang-note{ border-inline-start:3px solid var(--lime); padding-inline-start:12px; }
@media (max-width:520px){ .topbar-cta{ display:none; } }

/* ---------- Features grid (home) ---------- */
.eyebrow{ font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--lime); margin-bottom:12px; }
.feat-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.feat{ background:var(--sidebar); border:1px solid var(--border); border-radius:20px; padding:16px 16px 22px; display:flex; flex-direction:column; gap:10px; }
.feat h3{ font-size:20px; line-height:1.15; color:var(--text); margin-top:6px; padding-inline:6px; }
.feat p{ font-size:14.5px; line-height:1.55; padding-inline:6px; }
.feat-ill{ height:150px; border-radius:14px; background:var(--main); border:1px solid var(--border); padding:14px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:10px; overflow:hidden; font-size:12.5px; color:var(--text); }
@media (max-width:980px){ .feat-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:620px){ .feat-grid{ grid-template-columns:minmax(0,1fr); } }
.feat{ min-width:0; }

/* mini UI snippets (original, decorative) */
.ui-seg{ display:inline-flex; padding:3px; gap:2px; border-radius:10px; background:var(--rail); border:1px solid var(--border); }
.ui-seg span{ padding:6px 10px; border-radius:7px; color:var(--muted); font-weight:600; white-space:nowrap; }
.ui-seg .is-on{ background:var(--lime); color:var(--on-lime); }
.ui-meter{ display:flex; gap:3px; align-items:flex-end; height:26px; }
.ui-meter i{ width:6px; border-radius:3px; background:var(--border-2); height:30%; }
.ui-meter i:nth-child(-n+8){ background:var(--lime); }
.ui-meter i:nth-child(1){ height:35%; } .ui-meter i:nth-child(2){ height:60%; } .ui-meter i:nth-child(3){ height:85%; } .ui-meter i:nth-child(4){ height:55%; }
.ui-meter i:nth-child(5){ height:100%; } .ui-meter i:nth-child(6){ height:70%; } .ui-meter i:nth-child(7){ height:45%; } .ui-meter i:nth-child(8){ height:80%; }
.ui-meter i:nth-child(9){ height:40%; } .ui-meter i:nth-child(10){ height:25%; }
.ui-btn{ display:inline-flex; align-items:center; padding:7px 12px; border-radius:8px; border:1px solid var(--border-2); color:var(--text); font-weight:600; }
.ui-btn--sm{ padding:5px 10px; background:var(--lime); color:var(--on-lime); border-color:var(--lime); }
.ui-chip{ display:inline-flex; align-items:center; gap:7px; padding:5px 10px; border-radius:999px; background:var(--panel); border:1px solid var(--border); color:var(--muted); font-weight:500; }
.ui-tick{ width:14px; height:14px; border-radius:50%; background:var(--lime); position:relative; flex:none; }
.ui-tick::after{ content:''; position:absolute; inset-inline-start:4px; top:2.5px; width:4px; height:7px; border:solid var(--on-lime); border-width:0 2px 2px 0; transform:rotate(45deg); }
.ui-hint{ color:var(--faint); font-size:12px; }
.ui-screen{ position:relative; width:100%; height:100%; border-radius:10px; background:linear-gradient(135deg,#1F3A2A 0%,#16191E 45%,#3A2318 100%); border:1px solid var(--border-2); }
.ui-screen::before{ content:''; position:absolute; inset:28% 18% 30% 18%; border-radius:6px; background:repeating-linear-gradient(90deg, rgba(200,240,90,.18) 0 14px, rgba(111,211,245,.12) 14px 28px); }
.ui-live{ position:absolute; top:8px; inset-inline-start:8px; padding:2px 7px; border-radius:5px; background:var(--coral); color:var(--on-lime); font-size:10.5px; font-weight:700; text-transform:uppercase; }
.ui-badge{ position:absolute; top:8px; inset-inline-end:8px; padding:2px 7px; border-radius:5px; background:var(--lime); color:var(--on-lime); font-size:11px; font-weight:700; }
.ui-audio{ position:absolute; bottom:8px; inset-inline-start:8px; display:inline-flex; align-items:center; gap:5px; padding:3px 8px; border-radius:6px; background:rgba(11,13,16,.8); color:var(--text); font-size:11.5px; }
.ui-audio svg{ display:inline-block; }
.ui-cams{ display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; height:82px; }
.ui-cam{ position:relative; border-radius:10px; overflow:hidden; background:linear-gradient(160deg,#2C323A,#1C2026); }
.ui-cam--blur{ background:radial-gradient(circle at 20% 30%, rgba(255,138,91,.55), transparent 45%), radial-gradient(circle at 80% 20%, rgba(111,211,245,.5), transparent 40%), radial-gradient(circle at 60% 90%, rgba(200,240,90,.4), transparent 45%), #1C2026; }
.ui-cam--blur::before{ content:''; position:absolute; inset:0; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ui-head{ position:absolute; inset-inline-start:50%; bottom:-14px; width:46px; height:58px; margin-inline-start:-23px; border-radius:23px 23px 12px 12px; background:#E8C9A8; box-shadow:0 -34px 0 -14px #3B2A20; }
.ui-head--b{ background:#B98B66; box-shadow:0 -34px 0 -14px #1A1410; }
.ui-watch{ display:flex; gap:12px; align-items:center; width:100%; }
.ui-player{ width:92px; height:62px; flex:none; border-radius:10px; background:linear-gradient(135deg,#3A2318,#16191E); display:flex; align-items:center; justify-content:center; color:var(--text); border:1px solid var(--border-2); }
.ui-queue{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; min-width:0; }
.ui-queue li{ padding:5px 9px; border-radius:7px; background:var(--panel); color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ui-queue li.is-on{ color:var(--text); border-inline-start:3px solid var(--lime); }
.ui-stage{ display:flex; flex-direction:column; gap:10px; width:100%; align-items:flex-start; }
.ui-speakers{ display:flex; gap:10px; }
.ui-av{ width:34px; height:34px; border-radius:50%; background:#8A4FD1; display:inline-block; flex:none; }
.ui-speakers .ui-av + .ui-av{ background:#3B6FD9; }
.ui-av--talk{ box-shadow:0 0 0 3px var(--rail), 0 0 0 5px var(--lime); }
.ui-crowd{ display:flex; gap:5px; flex-wrap:wrap; }
.ui-crowd i{ width:16px; height:16px; border-radius:50%; background:var(--border-2); }
.ui-crowd i:nth-child(3n){ background:#4A5361; }
.ui-chip--hand{ border-color:var(--ceu); color:var(--ceu); }
.ui-pads{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:7px; width:100%; }
.ui-pads span{ padding:10px 6px; border-radius:9px; background:var(--panel); border:1px solid var(--border); text-align:center; font-weight:600; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ui-pads .is-on{ background:var(--coral); color:var(--on-lime); border-color:var(--coral); }
.ui-compose{ width:100%; padding:10px 12px; border-radius:10px; background:var(--panel); border:1px solid var(--border); color:var(--text); }
.ui-mention{ padding:1px 5px; border-radius:5px; background:rgba(200,240,90,.16); color:var(--lime); font-weight:600; }
.ui-profile{ display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:12px; row-gap:6px; align-items:center; width:100%; }
.ui-ring{ grid-row:1 / span 2; width:58px; height:58px; border-radius:50%; padding:3px; background:conic-gradient(var(--lime), var(--ceu), var(--coral), var(--lime)); }
.ui-av--lg{ width:100%; height:100%; border:3px solid var(--main); background:#C4533A; }
@media (prefers-reduced-motion: no-preference){ .ui-ring{ animation:falafy-spin 6s linear infinite; } .ui-ring .ui-av{ animation:falafy-spin 6s linear infinite reverse; } }
@keyframes falafy-spin{ to{ transform:rotate(1turn); } }
.ui-plate{ display:flex; align-items:center; gap:8px; padding:6px 10px; border-radius:9px; background:linear-gradient(90deg, rgba(111,211,245,.22), rgba(200,240,90,.08)); }
.ui-emblems{ display:inline-flex; gap:4px; }
.ui-emblems i{ width:12px; height:12px; border-radius:4px; background:var(--lime); }
.ui-emblems i:nth-child(2){ background:var(--coral); border-radius:50%; } .ui-emblems i:nth-child(3){ background:var(--ceu); transform:rotate(45deg) scale(.85); }
.ui-time{ color:var(--faint); font-size:12px; }
.ui-lfg{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:10px 12px; border-radius:10px; background:var(--panel); border:1px solid var(--border); }
.ui-lfg div{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.ui-lfg span{ color:var(--muted); }
/* audit 2026-10-02: the rule above also greyed the lime "Join" chip's label (axe color-contrast). */
.ui-lfg .ui-btn--sm{ color:var(--on-lime); }
.ui-doc{ display:flex; flex-direction:column; gap:6px; width:100%; padding:10px 12px; border-radius:10px; background:var(--panel); border:1px solid var(--border); }
.ui-doc i{ height:6px; border-radius:3px; background:var(--border-2); }
.ui-doc i.is-short{ width:60%; }
.ui-kbd{ color:var(--muted); display:inline-flex; gap:4px; align-items:center; }
.ui-kbd kbd{ font-family:'IBM Plex Mono', ui-monospace, monospace; font-size:11.5px; padding:2px 7px; border-radius:6px; background:var(--panel); border:1px solid var(--border-2); border-bottom-width:2px; color:var(--text); }
.ui-list{ list-style:none; margin:0; padding:0; width:100%; display:flex; flex-direction:column; gap:7px; }
.ui-list li{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 10px; border-radius:8px; background:var(--panel); }
.ui-list span{ color:var(--muted); }
.ui-list b{ font-weight:600; color:var(--text); }
.ui-toggle{ width:30px; height:17px; border-radius:9px; background:var(--border-2); position:relative; flex:none; }
.ui-toggle::after{ content:''; position:absolute; top:2px; inset-inline-start:2px; width:13px; height:13px; border-radius:50%; background:var(--text); }
.ui-toggle.is-on{ background:var(--lime); }
.ui-toggle.is-on::after{ inset-inline-start:15px; background:var(--on-lime); }
.ui-perf{ display:flex; flex-direction:column; gap:9px; align-items:flex-start; }

/* ---------- Para jogos / para trabalho ---------- */
.turma-list{ margin:0; padding-inline-start:18px; display:flex; flex-direction:column; gap:6px; font-size:15px; font-weight:500; }
.turma-link{ color:var(--on-lime); font-weight:700; text-decoration:underline; text-underline-offset:3px; align-self:flex-start; }
.turma-link:hover{ color:var(--on-lime); text-decoration-thickness:2px; }
.turma-link::after{ content:' →'; }
[dir="rtl"] .turma-link::after{ content:' ←'; }

/* ---------- Everywhere / platforms ---------- */
.plat-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:12px; }
.plat{ height:100%; display:flex; flex-direction:column; gap:6px; padding:18px; border-radius:16px; background:var(--sidebar); border:1px solid var(--border); text-decoration:none; color:var(--muted); font-size:13.5px; transition:border-color .12s ease; }
.plat:hover{ border-color:var(--lime); color:var(--muted); }
.plat svg{ width:28px; height:28px; fill:none; stroke:var(--lime); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; margin-bottom:6px; }
.plat strong{ color:var(--text); font-family:var(--font-head); font-size:18px; }
.plat--soon svg{ stroke:var(--faint); }
@media (max-width:980px){ .plat-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:560px){ .plat-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }

/* ---------- /baixar/ OS cards ---------- */
.os-section{ padding-top:clamp(28px,4vw,40px); }
.os-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.os-card{ position:relative; display:flex; flex-direction:column; gap:14px; padding:24px; border-radius:20px; background:var(--sidebar); border:1px solid var(--border); scroll-margin-top:96px; }
.os-card:target{ border-color:var(--border-2); }
.os-card.is-recommended{ border-color:var(--lime); box-shadow:0 30px 60px -36px rgba(200,240,90,.45); }
.os-rec{ align-self:flex-start; padding:3px 9px; border-radius:999px; background:var(--lime); color:var(--on-lime); font-size:12px; font-weight:700; }
.os-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.os-head svg{ width:28px; height:28px; fill:none; stroke:var(--lime); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.os-head h2{ font-size:24px; }
.os-badge{ padding:2px 9px; border-radius:999px; border:1px solid var(--border-2); color:var(--muted); font-size:12px; font-weight:600; }
.os-card--soon .os-head svg{ stroke:var(--faint); }
.os-card p{ font-size:14.5px; }
.os-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; }
.os-file{ font-size:13px; color:var(--faint); }
.os-how{ font-size:13.5px; }
.os-how summary{ cursor:pointer; color:var(--muted); font-weight:600; }
.os-how p{ margin-top:8px; font-size:13.5px; overflow-wrap:anywhere; }
.os-steps{ margin:0; padding-inline-start:20px; display:flex; flex-direction:column; gap:6px; font-size:14.5px; color:var(--muted); }
.os-steps strong{ color:var(--text); }
@media (max-width:980px){ .os-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:620px){ .os-grid{ grid-template-columns:minmax(0,1fr); } }
/* Long tokens (SHA-256 hashes, file names, URLs) must wrap instead of widening the card past the viewport */
.os-card{ min-width:0; }
.os-card code, .sha, .sha code{ overflow-wrap:anywhere; word-break:break-word; }
.os-card .btn{ max-width:100%; white-space:normal; }

/* Hero: one link per platform under the main download button */
.platform-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.platform-links a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);text-decoration:none;font-size:14px;font-weight:600;transition:border-color .15s,background .15s}
.platform-links a:hover{border-color:var(--lime);background:var(--main)}
.platform-links a:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.platform-links svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* 0065 developer docs (/desenvolvedores/) */
.dev-layout{ display:grid; grid-template-columns:minmax(0,220px) minmax(0,1fr); gap:32px; align-items:start; }
.dev-nav{ position:sticky; top:84px; font-size:14.5px; }
.dev-nav ol{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.dev-nav a{ text-decoration:none; }
.dev-nav a[aria-current="page"]{ font-weight:700; text-decoration:underline; }
.dev-prose{ min-width:0; }
.dev-code{ overflow-x:auto; padding:14px 16px; border-radius:10px; background:rgba(127,127,127,.12); font-size:13px; line-height:1.55; }
.dev-code code{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; white-space:pre; }
.dev-table-wrap{ overflow-x:auto; }
.dev-table{ width:100%; border-collapse:collapse; font-size:14px; }
.dev-table th,.dev-table td{ text-align:start; padding:8px 10px; border-bottom:1px solid rgba(127,127,127,.25); vertical-align:top; }
.dev-table code{ white-space:nowrap; }
@media (max-width:820px){ .dev-layout{ grid-template-columns:minmax(0,1fr); } .dev-nav{ position:static; } }

/* 0071 Mural de apoiadores (/apoie/) */
.apoie-wall { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .6rem; }
.apoie-wall-item { display: flex; align-items: center; gap: .7rem; padding: .6rem .8rem; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.03); }
.apoie-wall-avatar { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; color: #0b0d10; background: #c8f05a; }
.apoie-wall-text { display: flex; flex-direction: column; min-width: 0; }
.apoie-wall-text strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.apoie-wall-text span { font-size: .85rem; opacity: .75; }
.apoie-tier-bronze { border-color: rgba(224,160,106,.5); }
.apoie-tier-prata { border-color: rgba(215,220,226,.55); }
.apoie-tier-ouro { border-color: rgba(255,210,74,.6); }
.apoie-tier-diamante { border-color: rgba(79,200,232,.75); box-shadow: 0 0 0 1px rgba(79,200,232,.25) inset; }
.apoie-wall-empty { opacity: .75; }

/* Founder video slot (/por-que-falafy-plus/): hidden until site.js embeds the video (16:9, responsive) */
#founder-video[hidden] { display: none; }
.founder-video-frame { position: relative; width: 100%; max-width: 880px; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; border: 1px solid rgba(255,255,255,.1); }
.founder-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Novidades: changelog (/novidades/) and the home teaser */
.release + .release{ border-top:1px solid var(--border); }
.news-teaser-title{ font-size:clamp(20px,2.4vw,26px); margin:0 0 16px; color:var(--text); }
.news-teaser-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 28px; max-width:780px; }
.news-teaser-list li{ padding-inline-start:16px; position:relative; }
.news-teaser-list li::before{ content:""; position:absolute; inset-inline-start:0; top:.6em; width:6px; height:6px; border-radius:50%; background:var(--lime); }
.news-teaser-list a{ color:var(--text); text-decoration:none; }
.news-teaser-list a:hover{ color:var(--lime); text-decoration:underline; }
@media (max-width:600px){ .news-teaser-list{ grid-template-columns:1fr; } }
