/* Elo: identidade do protótipo (verde, Georgia) com as regras base do @baitaos/kit (foco visível, 16 px no toque,
   movimento só para quem não pediu menos movimento). */
:root{--fundo:#f5f4f0;--papel:#fffefa;--tinta:#283a36;--suave:#66736c;--linha:#e2e6dd;--marca:#285f4e;--marca-escura:#244e43;--marca-clara:#dfece4;--realce:#e4ecbe;--erro:#a3392e;--erro-fundo:#fbecea;--raio:18px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overscroll-behavior:none}
body{margin:0;background:var(--fundo);color:var(--tinta);font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:transparent;border-radius:10px}
button:disabled{cursor:not-allowed;opacity:.55}
:focus-visible{outline:2px solid var(--marca);outline-offset:2px}
[hidden]{display:none!important}
h1{font:400 34px/1.15 Georgia,serif;margin:6px 0 8px;letter-spacing:-.5px}
h2{font:400 25px/1.2 Georgia,serif;margin:16px 0 8px}
h3{margin:4px 0 10px;font-size:17px}
p{margin:8px 0}
small,.muted{color:var(--suave);font-size:12.5px}
.topo{min-height:78px;position:sticky;top:0;background:var(--papel);z-index:3;border-bottom:1px solid var(--linha);display:flex;align-items:center;padding:0 4%;gap:22px}
.logo{font:italic 900 43px Georgia,serif;color:#276959;letter-spacing:-4px;padding:0 4px}
.tag{font-size:11px;background:#e9f0e8;padding:6px 10px;border-radius:20px;color:#37614e;font-weight:600;letter-spacing:.3px;white-space:nowrap}
.search{flex:1;max-width:460px;background:#f0f1eb;border:1px solid transparent;padding:12px 18px;border-radius:12px}
.search:focus{border-color:var(--marca);background:var(--papel)}
select,.campo input,.campo textarea,.campo select{border:1px solid #d3dbd0;background:white;padding:11px 12px;border-radius:10px;width:100%}
.topo .btn.sec{padding:9px 13px;white-space:nowrap}
.avatar{background:#e2bdb0;color:#633f36;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-weight:700;flex-shrink:0;margin-left:auto}
.layout{max-width:1440px;margin:30px auto;display:grid;grid-template-columns:220px minmax(0,1fr) 280px;gap:28px;padding:0 28px}
.layout.solo{grid-template-columns:minmax(0,560px);justify-content:center}
nav{position:sticky;top:110px;align-self:start}
nav button{display:flex;gap:10px;width:100%;text-align:left;padding:12px 13px;margin:3px 0}
nav button:hover{background:#eef2ec}
nav button[aria-current=page]{background:var(--marca-clara);color:#25634f;font-weight:700}
.label{text-transform:uppercase;letter-spacing:1.7px;font-size:10px;font-weight:700;margin:25px 12px 10px;color:var(--suave)}
nav footer{margin:28px 12px 0;line-height:1.7;font-size:11px;color:#829086}
.card{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:22px;margin-bottom:18px}
.hero{background:var(--marca-escura);color:#fffbe9;padding:32px;border-radius:20px;position:relative;overflow:hidden;margin-bottom:8px}
.hero:after{content:'◎';position:absolute;right:0;top:-50px;font-size:240px;opacity:.12;pointer-events:none}
.hero h1{margin:12px 0;max-width:460px;font-size:36px}
.hero p{color:#c6d9ca;max-width:460px;line-height:1.6}
.hero small{color:#d6e1bd;letter-spacing:1px}
.btn{background:var(--marca);color:white;padding:11px 17px;border-radius:10px;font-weight:650;display:inline-flex;align-items:center;gap:6px}
.btn:hover{background:#21513f}
a.btn{text-decoration:none}
.hero .btn{background:var(--realce);color:#27493a}
.btn.sec{background:#eef2ec;color:var(--tinta)}
.btn.sec:hover{background:#e3eae1}
.btn.perigo{background:var(--erro);color:white}
.link{color:var(--marca);font-weight:600;padding:6px 4px;text-decoration:underline;text-underline-offset:3px}
.row{display:flex;align-items:center;gap:12px}
.between{justify-content:space-between}
.wrap{flex-wrap:wrap}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 20px}
.chip{border:1px solid #d8dfd5;border-radius:30px;padding:9px 14px;background:var(--papel)}
.chip[aria-pressed=true]{background:var(--marca);color:white;border-color:var(--marca)}
.case h2{margin:16px 0 8px}
.case .texto,.texto-longo{line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.case h2,.comment b,.card h3{overflow-wrap:anywhere}
.autor{display:flex;align-items:center;gap:12px;text-align:left;padding:2px}
.actions{display:flex;gap:6px 14px;margin-top:16px;padding-top:12px;border-top:1px solid #eee;flex-wrap:wrap;align-items:center}
.actions button{font-size:13px;padding:7px 8px}
.actions button:hover{background:#f0f3ee}
.actions button[aria-pressed=true]{color:var(--marca);font-weight:700}
.actions .dono{margin-left:auto;display:flex;gap:4px}
.sponsor{background:#eee9de}
.sponsor h3{font:400 24px Georgia,serif;margin:12px 0}
.dot{height:8px;width:8px;background:#73a478;border-radius:50%;display:inline-block}
.profile-cover{height:96px;background:linear-gradient(130deg,#274f42,#91aa8f);border-radius:12px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:15px}
.grid .card{margin:0}
.stats{display:flex;gap:28px;margin:18px 0}
.stats strong{font-size:23px;display:block}
.comment{background:#f4f4ee;padding:13px;border-radius:10px;margin:10px 0}
.comment .row{justify-content:space-between}
/* estados */
.estado{text-align:center;padding:44px 26px}
.estado .icone{font-size:34px;color:#7fa58f;display:block;margin-bottom:6px}
.estado h2{margin-top:6px}
.estado p{color:var(--suave);max-width:420px;margin:8px auto 18px}
.estado.erro{background:var(--erro-fundo);border-color:#efc9c3}
.estado.erro .icone{color:var(--erro)}
.esqueleto{pointer-events:none}
.esqueleto i{display:block;height:13px;border-radius:7px;background:linear-gradient(90deg,#ecebe5 0,#f6f5f0 40%,#ecebe5 80%);background-size:800px 100%;margin:10px 0}
.esqueleto i.t{height:22px;width:62%;margin:16px 0}
.esqueleto i.c{width:40%}
.esqueleto i.av{width:43px;height:43px;border-radius:50%;margin:0}
/* entrada */
.porta{max-width:560px;margin:8vh auto;text-align:center}
.porta .logo{font-size:64px;display:block;margin:0 auto 6px;cursor:default}
.porta h1{font-size:32px}
.porta p{color:var(--suave)}
.porta .acoes{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
/* formulários */
.campo{display:block;margin:12px 0}
.campo>span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.campo textarea{min-height:110px;resize:vertical}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aviso{font-size:12.5px;color:#665b3c;background:#f6f1e1;padding:10px 12px;border-radius:10px}
.novo{font-size:11px;font-weight:700;color:var(--marca-escura);background:var(--realce);padding:2px 8px;border-radius:20px;white-space:nowrap}
.mais{display:flex;flex-direction:column;align-items:center;gap:10px;margin:22px 0 6px}
.avisos{display:grid;gap:6px}
.avisos button{display:grid;gap:4px;justify-items:start;text-align:left;padding:10px;margin:0 -10px;overflow-wrap:anywhere}
.avisos button:hover{background:#f0f3ee}
.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px}
.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--marca)}
.erro-campo{color:var(--erro);font-size:13px;min-height:18px;margin:6px 0 0}
dialog{width:min(640px,94vw);max-height:90vh;border:0;border-radius:20px;padding:27px;color:var(--tinta);background:var(--papel)}
dialog::backdrop{background:#142e27aa}
.fechar{float:right;font-size:18px;width:38px;height:38px;margin:-8px -8px 0 0}
.fechar:hover{background:#f0f3ee}
#toast .toast{pointer-events:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#254e42;color:white;padding:14px 22px;border-radius:12px;z-index:10;max-width:min(520px,92vw);box-shadow:0 10px 30px #142e2733}
#toast .toast.erro{background:var(--erro)}
@media (prefers-reduced-motion:no-preference){
  .btn,.chip,nav button,.actions button,.avisos button{transition:background-color .15s ease,border-color .15s ease,color .15s ease}
  .esqueleto i{animation:brilho 1.6s linear infinite}
  #toast .toast{animation:sobe .22s ease-out}
  dialog[open]{animation:sobe .2s ease-out}
  .lista.entra>*{animation:aparece .25s ease-out both}
}
@keyframes brilho{0%{background-position:-400px 0}100%{background-position:400px 0}}
@keyframes sobe{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes aparece{from{opacity:0}to{opacity:1}}
@media (pointer:coarse),(max-width:767px){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:max(16px,1em)!important}}
@media(max-width:1100px){.layout{grid-template-columns:190px minmax(0,1fr)}aside{display:none}}
@media(max-width:680px){
  .topo{gap:10px;flex-wrap:wrap;padding:10px 15px}
  .search{order:3;max-width:none;flex-basis:100%}
  .topo .tag{max-width:150px;overflow:hidden;text-overflow:ellipsis}
  .logo{font-size:36px}
  .layout{display:block;padding:0 12px;margin-top:15px}
  nav{position:static;display:flex;overflow-x:auto;margin-bottom:15px;gap:4px;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  nav button{white-space:nowrap;width:auto}
  nav .label,nav footer{display:none}
  .hero{padding:23px}
  .hero h1{font-size:29px}
  h1{font-size:28px}
  .card{padding:17px}
  .duas{grid-template-columns:1fr}
  dialog{padding:20px}
  .actions .dono{margin-left:0}
}
