/* Casa da Alma · identidade: creme-pérola, ameixa, ametista, dourado, rosé */
:root{
  --papel:#fbf7f1; --creme:#f4ece1; --areia:#e9dccb; --nevoa:#efe8f4; --branco:#fffdf9;
  --tinta:#2b2233; --ameixa:#3b2a4a; --suave:#6e6579; --linha:rgba(59,42,74,.10);
  --ametista:#5d4a85; --ametista-2:#7a63a8; --lilas:#c7b5e0; --lilas-claro:#e6dcf1;
  --ouro:#b08a4f; --ouro-claro:#dcc394; --ouro-fundo:rgba(176,138,79,.12);
  --rose:#e4b7a0; --pessego:#f3d9cb; --verde:#9fb8a3; --erro:#a8443f; --ok:#4f7d5c;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost",system-ui,-apple-system,sans-serif;
  --r:18px; --r-sm:12px; --sombra:0 10px 30px -18px rgba(59,42,74,.35); --sombra-2:0 20px 50px -25px rgba(59,42,74,.45);
  --nav-h:64px; --side-w:264px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --papel:#1b1622; --creme:#231c2c; --areia:#2d2437; --nevoa:#261f31; --branco:#201925;
  --tinta:#f1eaf5; --ameixa:#f6f0f9; --suave:#a89fb5; --linha:rgba(241,234,245,.10);
  --lilas-claro:#3a2f4a; --ouro-fundo:rgba(220,195,148,.14); --pessego:#3a2b2a;
  --sombra:0 10px 30px -18px rgba(0,0,0,.6); --sombra-2:0 20px 50px -25px rgba(0,0,0,.7);
}}
:root[data-theme="dark"]{
  --papel:#1b1622; --creme:#231c2c; --areia:#2d2437; --nevoa:#261f31; --branco:#201925;
  --tinta:#f1eaf5; --ameixa:#f6f0f9; --suave:#a89fb5; --linha:rgba(241,234,245,.10);
  --lilas-claro:#3a2f4a; --ouro-fundo:rgba(220,195,148,.14); --pessego:#3a2b2a;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(900px 500px at 10% -10%,rgba(199,181,224,.28),transparent 60%),
             radial-gradient(700px 400px at 100% 0%,rgba(228,183,160,.22),transparent 60%),
             radial-gradient(600px 400px at 50% 110%,rgba(176,138,79,.10),transparent 60%)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--ameixa);margin:0 0 .35em;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,2.9rem)} h2{font-size:clamp(1.5rem,3.4vw,2rem)} h3{font-size:1.35rem} h4{font-size:1.1rem}
p{margin:0 0 1em}
.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);font-weight:500}
.suave{color:var(--suave)} .pequeno{font-size:.86rem} .mini{font-size:.76rem} .serif{font-family:var(--serif)}
.itálico,.italico{font-style:italic}
.centro{text-align:center}
.flex{display:flex;gap:12px;align-items:center} .entre{justify-content:space-between} .wrap{flex-wrap:wrap}
.col{display:flex;flex-direction:column;gap:12px}
.mt{margin-top:24px} .mt-sm{margin-top:12px} .mb{margin-bottom:24px} .mb-sm{margin-bottom:12px}
.grid{display:grid;gap:16px} .g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr} .g2.manter,.g4.manter{grid-template-columns:repeat(2,1fr)}}
hr.orn{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--ouro-claro),transparent);margin:28px 0}

/* ---------- shell ---------- */
.app{display:grid;grid-template-columns:var(--side-w) 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;padding:28px 18px;border-right:1px solid var(--linha);background:rgba(255,253,249,.55);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:10px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .side{background:rgba(27,22,34,.6)}}
.logo{display:flex;align-items:center;gap:12px;padding:4px 10px 18px}
.logo .marca{font-family:var(--serif);font-size:1.45rem;color:var(--ameixa);line-height:1}
.logo .marca small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);margin-top:5px}
.marca-svg{width:38px;height:38px;flex:none}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--suave);font-weight:400;font-size:.95rem;transition:.2s}
.nav a svg{width:20px;height:20px;flex:none;opacity:.8}
.nav a:hover{background:var(--nevoa);color:var(--ameixa)}
.nav a.ativo{background:var(--ameixa);color:#fff}
.nav a.ativo svg{opacity:1}
.nav .sec{padding:16px 12px 6px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro)}
.side .rodape{margin-top:auto;padding:12px 10px 0;border-top:1px solid var(--linha)}
.topbar{display:none}
.main{min-width:0;padding:34px 40px 60px;max-width:1120px;width:100%;margin:0 auto}
.bottomnav{display:none}
@media(max-width:980px){
  .app{grid-template-columns:1fr}
  .side{display:none}
  .topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;padding:12px 16px;
    background:rgba(251,247,241,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--linha)}
  @media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .topbar{background:rgba(27,22,34,.8)}}
  .topbar .logo{padding:0}
  .topbar .marca{font-size:1.2rem} .topbar .marca small{display:none}
  .main{padding:20px 16px calc(var(--nav-h) + 28px)}
  .bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;height:var(--nav-h);
    padding-bottom:env(safe-area-inset-bottom);background:rgba(251,247,241,.9);backdrop-filter:blur(16px);border-top:1px solid var(--linha)}
  @media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bottomnav{background:rgba(27,22,34,.92)}}
  .bottomnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.66rem;color:var(--suave);letter-spacing:.02em}
  .bottomnav a svg{width:22px;height:22px}
  .bottomnav a.ativo{color:var(--ametista)}
  .bottomnav a.ativo svg{color:var(--ametista)}
}

/* ---------- componentes ---------- */
.card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:22px;box-shadow:var(--sombra)}
.card.suave-bg{background:var(--creme)}
.card.lilas-bg{background:linear-gradient(135deg,var(--lilas-claro),var(--branco))}
.card.ameixa-bg{background:linear-gradient(150deg,#3b2a4a,#5d4a85);color:#f6f0f9;border-color:transparent}
.card.ameixa-bg h1,.card.ameixa-bg h2,.card.ameixa-bg h3,.card.ameixa-bg h4{color:#fff}
.card.ameixa-bg .suave{color:rgba(246,240,249,.72)}
.card.ameixa-bg .eyebrow{color:var(--ouro-claro)}
.card.ouro-bg{background:linear-gradient(135deg,var(--pessego),var(--branco))}
.card-link{transition:.25s;display:block}
.card-link:hover{transform:translateY(-2px);box-shadow:var(--sombra-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid transparent;
  font-family:var(--sans);font-size:.92rem;font-weight:500;cursor:pointer;transition:.2s;background:var(--ameixa);color:#fff;letter-spacing:.01em;line-height:1.1}
.btn:hover{background:var(--ametista);transform:translateY(-1px)}
.btn svg{width:17px;height:17px}
.btn.ouro{background:var(--ouro);color:#fff} .btn.ouro:hover{background:#9a7840}
.btn.claro{background:var(--branco);color:var(--ameixa);border-color:var(--linha)} .btn.claro:hover{background:var(--nevoa)}
.btn.fantasma{background:transparent;color:var(--ameixa);border-color:var(--ameixa)} .btn.fantasma:hover{background:var(--ameixa);color:#fff}
.btn.fantasma.branco{color:#fff;border-color:rgba(255,255,255,.6)} .btn.fantasma.branco:hover{background:#fff;color:var(--ameixa)}
.btn.sm{padding:7px 14px;font-size:.82rem} .btn.xs{padding:5px 10px;font-size:.75rem}
.btn.perigo{background:transparent;color:var(--erro);border-color:rgba(168,68,63,.3)} .btn.perigo:hover{background:var(--erro);color:#fff}
.btn.bloco{width:100%}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;background:var(--nevoa);color:var(--ametista);font-weight:500}
.tag.ouro{background:var(--ouro-fundo);color:var(--ouro)} .tag.rose{background:var(--pessego);color:#9a5a3c} .tag.verde{background:rgba(159,184,163,.25);color:#3f6b4a}
.tag.ao-vivo{background:#c2413d;color:#fff;animation:pulsar 1.6s infinite}
@keyframes pulsar{0%,100%{opacity:1}50%{opacity:.6}}
.avatar{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1rem;color:#fff;flex:none;letter-spacing:.02em;font-weight:500}
.avatar.sm{width:30px;height:30px;font-size:.8rem} .avatar.lg{width:64px;height:64px;font-size:1.5rem} .avatar.xl{width:96px;height:96px;font-size:2.2rem}
.avatar.anel{box-shadow:0 0 0 2px var(--branco),0 0 0 4px var(--ouro)}
.pilha{display:flex} .pilha .avatar{margin-left:-10px;box-shadow:0 0 0 2px var(--branco)} .pilha .avatar:first-child{margin-left:0}
.ico{width:20px;height:20px;flex:none}
.ico-box{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.ico-box svg{width:22px;height:22px}
input,textarea,select{font-family:var(--sans);font-size:1rem;color:var(--tinta);background:var(--branco);border:1px solid var(--linha);border-radius:var(--r-sm);padding:12px 14px;width:100%;outline:none;transition:.2s}
input:focus,textarea:focus,select:focus{border-color:var(--lilas);box-shadow:0 0 0 3px rgba(199,181,224,.3)}
textarea{min-height:110px;resize:vertical;line-height:1.5}
label{display:block;font-size:.8rem;letter-spacing:.04em;color:var(--suave);margin-bottom:6px}
.campo{margin-bottom:16px}
.ajuda{font-size:.78rem;color:var(--suave);margin-top:5px}
.check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95rem;color:var(--tinta)}
.check input{width:auto;accent-color:var(--ametista)}
.flash{padding:12px 16px;border-radius:var(--r-sm);margin-bottom:16px;font-size:.92rem;background:var(--lilas-claro);color:var(--ameixa);border:1px solid var(--linha)}
.flash.erro{background:rgba(168,68,63,.08);color:var(--erro)}
.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 16px);transform:translateX(-50%) translateY(20px);opacity:0;background:var(--ameixa);color:#fff;padding:12px 20px;border-radius:999px;font-size:.9rem;z-index:100;transition:.3s;pointer-events:none;max-width:90vw;text-align:center;box-shadow:var(--sombra-2)}
@media(min-width:981px){.toast{bottom:28px}}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.cabecalho{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.cabecalho h1{margin:0}
.cabecalho .intro{color:var(--suave);max-width:560px;margin:.4em 0 0}
.lista-limpa{list-style:none;margin:0;padding:0}
.linha-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--linha)}
.linha-item:last-child{border-bottom:0}
.prosa{font-size:1.06rem;line-height:1.75}
.prosa p{margin-bottom:1.1em} .prosa h2,.prosa h3{margin-top:1.4em}
.prosa ul{padding-left:1.2em} .prosa strong{color:var(--ameixa);font-weight:600} .prosa em{color:var(--ametista)}
.prosa blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:2px solid var(--ouro-claro);font-family:var(--serif);font-size:1.25rem;color:var(--ameixa);font-style:italic}
.prosa.serif-grande{font-family:var(--serif);font-size:1.45rem;line-height:1.55;color:var(--ameixa)}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:var(--sombra-2)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.capa{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:linear-gradient(135deg,var(--lilas-claro),var(--pessego))}
.capa img{width:100%;height:100%;object-fit:cover}
.progresso{height:6px;border-radius:99px;background:var(--areia);overflow:hidden}
.progresso span{display:block;height:100%;background:linear-gradient(90deg,var(--ametista),var(--ouro));border-radius:99px;transition:.4s}
.ornamento{font-family:var(--serif);color:var(--ouro);font-size:1.4rem;letter-spacing:.4em;text-align:center;margin:8px 0}
.vazio{text-align:center;padding:40px 20px;color:var(--suave)}
.vazio svg{width:44px;height:44px;color:var(--lilas);margin:0 auto 12px}
.abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.abas a,.abas button{padding:8px 14px;border-radius:999px;font-size:.84rem;background:var(--branco);border:1px solid var(--linha);color:var(--suave);cursor:pointer;font-family:var(--sans)}
.abas a.ativo,.abas button.ativo{background:var(--ameixa);color:#fff;border-color:var(--ameixa)}
.scroll-x{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.scroll-x::-webkit-scrollbar{display:none}
.scroll-x>*{scroll-snap-align:start;flex:0 0 auto}
.tabela{width:100%;border-collapse:collapse;font-size:.9rem}
.tabela th{text-align:left;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ouro);padding:10px 12px;border-bottom:1px solid var(--linha);font-weight:500}
.tabela td{padding:11px 12px;border-bottom:1px solid var(--linha);vertical-align:middle}
.tabela tr:hover td{background:var(--nevoa)}
.kpi{display:flex;flex-direction:column;gap:4px}
.kpi b{font-family:var(--serif);font-size:2.2rem;font-weight:500;color:var(--ameixa);line-height:1}
.kpi span{font-size:.78rem;color:var(--suave);letter-spacing:.04em}
details summary{cursor:pointer;list-style:none} details summary::-webkit-details-marker{display:none}
.menu-flutuante{position:relative}
.menu-flutuante .itens{position:absolute;right:0;top:110%;background:var(--branco);border:1px solid var(--linha);border-radius:var(--r-sm);box-shadow:var(--sombra-2);min-width:180px;padding:6px;z-index:20;display:none}
.menu-flutuante.aberto .itens{display:block}
.menu-flutuante .itens a,.menu-flutuante .itens button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;font-size:.88rem;background:none;border:0;color:var(--tinta);cursor:pointer;font-family:var(--sans)}
.menu-flutuante .itens a:hover,.menu-flutuante .itens button:hover{background:var(--nevoa)}

/* ---------- início ---------- */
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-bottom:22px}
@media(max-width:860px){.hero{grid-template-columns:1fr}}
.sopro-card{position:relative;overflow:hidden;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end}
.sopro-card::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(220,195,148,.35)}
.sopro-card::before{content:"";position:absolute;right:-20px;top:-20px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(220,195,148,.35),transparent 70%)}
.sopro-card h2{font-size:clamp(1.6rem,3vw,2.3rem);font-style:italic;font-weight:400}
.checkin{display:flex;flex-wrap:wrap;gap:8px}
.checkin button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--linha);background:var(--branco);cursor:pointer;font-family:var(--sans);font-size:.86rem;color:var(--tinta);transition:.2s}
.checkin button i{width:10px;height:10px;border-radius:50%;display:inline-block}
.checkin button:hover{transform:translateY(-1px);border-color:var(--lilas)}
.checkin button.ativo{background:var(--ameixa);color:#fff;border-color:var(--ameixa)}
.atalhos{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
@media(max-width:860px){.atalhos{grid-template-columns:repeat(3,1fr)}}
.atalho{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);font-size:.76rem;color:var(--suave);text-align:center;transition:.2s}
.atalho:hover{background:var(--nevoa);color:var(--ameixa);transform:translateY(-2px)}
.atalho .ico-box{width:42px;height:42px}
.tema-card{position:relative;padding:20px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);min-height:150px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:.25s}
.tema-card::after{content:"";position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;background:var(--cor,var(--lilas));opacity:.18}
.tema-card:hover{transform:translateY(-3px);box-shadow:var(--sombra-2)}
.tema-card h3{font-size:1.25rem;margin:0}
.tema-card .frase{font-family:var(--serif);font-style:italic;color:var(--suave);font-size:1rem}
.tema-mini{flex:0 0 150px;padding:16px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);display:flex;flex-direction:column;gap:10px;font-size:.88rem;color:var(--ameixa);transition:.2s}
.tema-mini:hover{background:var(--nevoa)}
.conteudo-card{display:flex;gap:14px;padding:14px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);transition:.2s;align-items:center}
.conteudo-card:hover{box-shadow:var(--sombra-2);transform:translateY(-2px)}
.conteudo-card .thumb{width:92px;height:68px;border-radius:12px;flex:none;background:linear-gradient(135deg,var(--lilas-claro),var(--pessego));display:flex;align-items:center;justify-content:center;color:var(--ametista);overflow:hidden;position:relative}
.conteudo-card .thumb img{width:100%;height:100%;object-fit:cover}
.conteudo-card .thumb svg{width:24px;height:24px}
.conteudo-card .thumb .lido{position:absolute;right:5px;bottom:5px;width:18px;height:18px;border-radius:50%;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center}
.conteudo-card .thumb .lido svg{width:11px;height:11px}
.conteudo-card h4{margin:0 0 2px;font-size:1.08rem}
.conteudo-grande{display:block;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);overflow:hidden;transition:.25s}
.conteudo-grande:hover{transform:translateY(-3px);box-shadow:var(--sombra-2)}
.conteudo-grande .capa{border-radius:0;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;color:var(--ametista)}
.conteudo-grande .capa svg{width:34px;height:34px}
.conteudo-grande .corpo{padding:16px}
.evento-card{display:flex;gap:16px;align-items:stretch}
.evento-data{width:64px;flex:none;border-radius:14px;background:var(--ameixa);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px;font-family:var(--serif);line-height:1}
.evento-data b{font-size:1.7rem;font-weight:500} .evento-data span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--sans);margin-top:4px;opacity:.85}
.evento-data.ouro{background:var(--ouro)} .evento-data.rose{background:#b8826b}
.post{padding:20px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);margin-bottom:14px}
.post.fixado{border-color:var(--ouro-claro);background:linear-gradient(180deg,var(--ouro-fundo),var(--branco) 40%)}
.post .corpo{white-space:pre-wrap;line-height:1.6;margin:10px 0 14px;font-size:1rem}
.post .corpo.grande{font-family:var(--serif);font-size:1.25rem;color:var(--ameixa)}
.reacoes{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.reacao{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--linha);background:var(--creme);font-size:.82rem;color:var(--suave);cursor:pointer;font-family:var(--sans);transition:.2s}
.reacao svg{width:15px;height:15px}
.reacao:hover{border-color:var(--lilas);transform:translateY(-1px)}
.reacao.ativa{background:var(--ameixa);color:#fff;border-color:var(--ameixa)}
.reacao.bump{animation:bump .35s}
@keyframes bump{30%{transform:scale(1.18)}}
.enquete .opcao{position:relative;display:block;padding:10px 14px;border-radius:12px;border:1px solid var(--linha);margin-bottom:8px;cursor:pointer;overflow:hidden;background:var(--branco);font-size:.92rem}
.enquete .opcao .barra{position:absolute;left:0;top:0;bottom:0;background:var(--lilas-claro);z-index:0;transition:.5s;width:0}
.enquete .opcao span{position:relative;z-index:1;display:flex;justify-content:space-between}
.enquete .opcao.minha{border-color:var(--ametista)}
.enquete .opcao.minha .barra{background:var(--lilas)}
.compositor{padding:18px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);margin-bottom:22px}
.compositor textarea{border:0;background:transparent;padding:6px 0;min-height:60px;font-size:1.02rem}
.compositor textarea:focus{box-shadow:none}
.tipos-post{display:flex;gap:6px;flex-wrap:wrap}
.tipos-post label{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--linha);font-size:.8rem;cursor:pointer;color:var(--suave);margin:0;background:var(--creme)}
.tipos-post input{display:none}
.tipos-post label.ativo{background:var(--ameixa);color:#fff;border-color:var(--ameixa)}
.comentario{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--linha)}
.comentario:last-child{border-bottom:0}
.comentario .texto{white-space:pre-wrap;line-height:1.55;font-size:.96rem}
.carta-wrap{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
@media(max-width:760px){.carta-wrap{grid-template-columns:1fr}.carta-img{max-width:230px;margin:0 auto}}
.carta-img{border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(59,42,74,.6);transform:rotate(-2deg);transition:.6s;perspective:1000px}
.carta-img:hover{transform:rotate(0)}
.carta-img img{width:100%}
.virar{position:relative;width:100%;aspect-ratio:300/527;cursor:pointer}
.virar .face{position:absolute;inset:0;border-radius:16px;overflow:hidden;backface-visibility:hidden;transition:transform .9s cubic-bezier(.4,.2,.2,1)}
.virar .verso{background:linear-gradient(135deg,#3b2a4a,#5d4a85);display:flex;align-items:center;justify-content:center;border:3px solid var(--ouro-claro)}
.virar .verso svg{width:70px;height:70px;color:var(--ouro-claro)}
.virar .frente{transform:rotateY(180deg)}
.virar.virada .verso{transform:rotateY(180deg)} .virar.virada .frente{transform:rotateY(0)}
.mapa-humor{display:grid;grid-template-columns:repeat(14,1fr);gap:5px}
.mapa-humor i{aspect-ratio:1;border-radius:6px;background:var(--areia);display:block;position:relative}
.mapa-humor i[title]:hover::after{content:attr(title);position:absolute;bottom:120%;left:50%;transform:translateX(-50%);background:var(--ameixa);color:#fff;font-size:.7rem;padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:5}
.selo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:16px 10px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);font-size:.78rem;color:var(--suave)}
.selo .medalha{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--areia);color:var(--suave)}
.selo .medalha svg{width:24px;height:24px}
.selo.tem .medalha{background:linear-gradient(135deg,var(--ouro),var(--ouro-claro));color:#fff;box-shadow:0 8px 20px -8px rgba(176,138,79,.7)}
.selo.tem b{color:var(--ameixa)}
.selo b{font-weight:500;font-size:.86rem}
.passo{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--linha);cursor:pointer}
.passo:last-child{border-bottom:0}
.passo .caixa{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--lilas);display:flex;align-items:center;justify-content:center;flex:none;transition:.2s;color:#fff}
.passo .caixa svg{width:13px;height:13px;opacity:0}
.passo.feito .caixa{background:var(--ametista);border-color:var(--ametista)} .passo.feito .caixa svg{opacity:1}
.passo.feito span{color:var(--suave);text-decoration:line-through}
.servico{display:flex;gap:18px;padding:22px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha)}
.servico .ico-box{background:var(--lilas-claro);color:var(--ametista)}
.playlist{padding:20px;border-radius:var(--r);color:#fff;min-height:160px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:.25s}
.playlist:hover{transform:translateY(-3px)}
.playlist::before{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.14)}
.playlist h3{color:#fff;margin:0} .playlist .eyebrow{color:rgba(255,255,255,.8)}
.lista-sopros a{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--linha)}
.lista-sopros a:last-child{border:0}
.lista-sopros .d{font-family:var(--serif);color:var(--ouro);font-size:1.1rem;min-width:56px}
.onboarding-opcoes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:620px){.onboarding-opcoes{grid-template-columns:repeat(2,1fr)}}
.onboarding-opcoes label{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--r-sm);border:1px solid var(--linha);cursor:pointer;background:var(--branco);font-size:.86rem;color:var(--ameixa);margin:0;transition:.2s}
.onboarding-opcoes label:has(input:checked){background:var(--ameixa);color:#fff;border-color:var(--ameixa)}
.onboarding-opcoes input{display:none}
.onboarding-opcoes small{color:inherit;opacity:.7;font-size:.74rem}

/* ---------- auth / landing ---------- */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
@media(max-width:900px){.auth{grid-template-columns:1fr}.auth .lado{display:none}}
.auth .lado{background:linear-gradient(160deg,#2b2233,#3b2a4a 50%,#5d4a85);color:#f6f0f9;padding:50px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth .lado::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(220,195,148,.3);right:-200px;bottom:-200px}
.auth .lado::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(220,195,148,.25),transparent 70%);right:-60px;bottom:-60px}
.auth .lado h1{color:#fff;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:400;font-style:italic}
.auth .lado .frase{font-family:var(--serif);font-size:1.5rem;color:var(--ouro-claro);font-style:italic}
.auth .form{display:flex;align-items:center;justify-content:center;padding:40px 20px}
.auth .form>div{width:100%;max-width:420px}
.landing{max-width:1100px;margin:0 auto;padding:30px 20px 80px}
.landing .hero-l{text-align:center;padding:60px 0 40px}
.landing .hero-l h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:400;font-style:italic}
.landing .hero-l p.lead{font-size:1.2rem;color:var(--suave);max-width:620px;margin:0 auto 28px}
.preco{padding:28px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);text-align:center}
.preco.destaque{background:linear-gradient(150deg,#3b2a4a,#5d4a85);color:#fff;border:0}
.preco.destaque h3,.preco.destaque .valor{color:#fff}
.preco .valor{font-family:var(--serif);font-size:3rem;color:var(--ameixa);line-height:1}
.preco .valor small{font-size:1rem;font-family:var(--sans);opacity:.7}
.planos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.planos.tres{grid-template-columns:repeat(3,1fr)}
@media(max-width:620px){.planos,.planos.tres{grid-template-columns:1fr}}
.plano{display:block;padding:18px;border-radius:var(--r);border:1.5px solid var(--linha);background:var(--branco);cursor:pointer;transition:.2s}
.plano input{display:none}
.plano:has(input:checked){border-color:var(--ametista);background:var(--lilas-claro)}
.plano .valor{font-family:var(--serif);font-size:2rem;color:var(--ameixa)}
.instalar{display:none;position:fixed;left:16px;right:16px;bottom:calc(var(--nav-h) + 12px);z-index:40;background:var(--ameixa);color:#fff;padding:14px 16px;border-radius:var(--r);box-shadow:var(--sombra-2);align-items:center;gap:12px}
.instalar.show{display:flex}
.instalar .btn{background:#fff;color:var(--ameixa)}
@media(min-width:981px){.instalar{left:auto;right:24px;bottom:24px;max-width:380px}}

/* painel */
.painel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.painel-grid{grid-template-columns:repeat(2,1fr)}}
.cobertura{display:flex;gap:4px;flex-wrap:wrap}
.cobertura i{width:22px;height:22px;border-radius:6px;background:var(--areia);display:flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--suave);font-style:normal}
.cobertura i.ok{background:var(--verde);color:#fff}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:700px){.form-2{grid-template-columns:1fr}}
.acoes-inline{display:flex;gap:6px;flex-wrap:wrap}
.acoes-inline form{display:inline}
.humor-barra{display:flex;height:14px;border-radius:99px;overflow:hidden;background:var(--areia)}
.humor-barra i{display:block;height:100%}
.codigo{font-family:ui-monospace,Menlo,monospace;font-size:.82rem;background:var(--creme);padding:10px 12px;border-radius:10px;overflow:auto;white-space:pre}
@media print{.side,.bottomnav,.topbar{display:none}}
.fade{animation:fade .5s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- v2: modo anfitriã, fotos, gente de casa, trilha ---------- */
.alternador{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:12px 4px 4px;border-radius:14px;background:var(--nevoa);border:1px solid var(--linha)}
.alternador a{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:10px;font-size:.8rem;color:var(--suave)}
.alternador a svg{width:15px;height:15px}
.alternador a.ativo{background:var(--branco);color:var(--ameixa);box-shadow:var(--sombra);font-weight:500}
.modo-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;font-size:.74rem;background:var(--nevoa);color:var(--suave);border:1px solid var(--linha)}
.modo-chip svg{width:14px;height:14px}
.modo-chip.ativo{background:var(--ouro-fundo);color:var(--ouro);border-color:var(--ouro-claro)}
.faixa-admin{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:18px;border-radius:14px;background:var(--ouro-fundo);border:1px solid var(--ouro-claro);font-size:.84rem;color:var(--ameixa)}
.faixa-admin svg{width:16px;height:16px;color:var(--ouro)}
.faixa-admin span{flex:1;min-width:180px}
.faixa-admin a{color:var(--ouro);font-weight:500;white-space:nowrap}
.faixa-admin.membra{background:var(--nevoa);border-color:var(--linha)}
.faixa-admin.membra svg,.faixa-admin.membra a{color:var(--ametista)}
.editar-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:.74rem;font-weight:500;letter-spacing:.02em;
  background:var(--ouro);color:#fff;box-shadow:0 6px 16px -8px rgba(176,138,79,.8);transition:.2s;white-space:nowrap;line-height:1.2}
.editar-pill svg{width:13px;height:13px}
.editar-pill:hover{background:#9a7840;transform:translateY(-1px)}
.editar-pill.claro{background:var(--branco);color:var(--ouro);border:1px solid var(--ouro-claro);box-shadow:none}
.editar-pill.flutua{position:absolute;top:12px;right:12px;z-index:3}
.card .editar-pill.flutua,.tema-card .editar-pill.flutua{top:12px;right:12px}
.rel{position:relative}
.acoes-admin{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.post-foto{display:block;margin:4px 0 14px;border-radius:14px;overflow:hidden;background:var(--creme);max-height:560px}
.post-foto img{width:100%;max-height:560px;object-fit:cover}
.previa-foto{position:relative;margin:10px 0 4px;max-width:260px;border-radius:14px;overflow:hidden}
.previa-foto img{width:100%;max-height:260px;object-fit:cover}
.previa-foto button{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.92)}
.gente-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:26px 20px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);transition:.25s}
.gente-card:hover{transform:translateY(-3px);box-shadow:var(--sombra-2)}
.gente-card .avatar{width:96px;height:96px;font-size:2rem;box-shadow:0 0 0 3px var(--branco),0 0 0 4px var(--ouro-claro)}
.gente-card h3{margin:0;font-size:1.35rem}
.gente-card .area{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro)}
.gente-hero{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
@media(max-width:700px){.gente-hero{grid-template-columns:1fr;text-align:center;justify-items:center}}
.gente-hero .avatar{width:150px;height:150px;font-size:3rem;box-shadow:0 0 0 4px var(--branco),0 0 0 5px var(--ouro)}
.links-sociais{display:flex;gap:8px;flex-wrap:wrap}
.com-convidada{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--creme);border:1px solid var(--linha);margin:0 0 20px}
.trilha-card{position:relative;border-radius:var(--r);overflow:hidden;background:var(--branco);border:1px solid var(--linha);box-shadow:var(--sombra);display:flex;flex-direction:column}
.trilha-card .topo{position:relative;padding:20px;min-height:150px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background-size:cover;background-position:center}
.trilha-card .topo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(43,34,51,.72));z-index:0}
.trilha-card .topo>*{position:relative;z-index:1}
.trilha-card .topo h3{color:#fff;margin:0}
.trilha-card .topo .eyebrow{color:rgba(255,255,255,.85)}
.trilha-card .rodape{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;font-size:.8rem;color:var(--suave)}
.trilha-card iframe{display:block;border:0;width:100%}
.oculto-tag{position:absolute;top:12px;left:12px;z-index:3}

/* ---------- Sala de leitura ---------- */
.livro-capa{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:2/3;width:100%;border-radius:4px 10px 10px 4px;overflow:hidden;
  background:linear-gradient(135deg,var(--cor),color-mix(in srgb,var(--cor) 62%,#1b1622));color:#fff;padding:16% 12% 12% 16%;
  box-shadow:inset 6px 0 0 rgba(0,0,0,.18),inset 8px 0 6px -4px rgba(255,255,255,.18),0 14px 26px -14px rgba(43,34,51,.55);text-align:left}
.livro-capa::after{content:"";position:absolute;inset:8px 8px 8px 14px;border:1px solid rgba(220,195,148,.45);border-radius:2px 6px 6px 2px;pointer-events:none}
.livro-capa .lc-titulo{font-family:var(--serif);font-size:1.15rem;line-height:1.15;font-weight:500;position:relative;z-index:1;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.livro-capa{container-type:inline-size}
@container (max-width:150px){.livro-capa .lc-titulo{font-size:.95rem}}
@container (max-width:90px){.livro-capa .lc-titulo{font-size:.8rem;line-height:1.12}.livro-capa .lc-autora{font-size:.5rem;letter-spacing:.08em}}
@container (max-width:40px){.livro-capa .lc-titulo{font-size:.45rem}}
.livro-capa .lc-linha{display:block;width:30%;height:1px;background:var(--ouro-claro);margin:auto 0 8px}
.livro-capa .lc-autora{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro-claro);position:relative;z-index:1}
.livro-capa.foto{padding:0;background:var(--creme)}.livro-capa.foto::after{display:none}
.livro-capa.foto img{width:100%;height:100%;object-fit:cover}
.livro-capa.grande .lc-titulo{font-size:1.7rem}.livro-capa.grande .lc-autora{font-size:.72rem}
.livro-capa.mini{width:44px;padding:6px;flex:none}.livro-capa.mini .lc-titulo{font-size:.42rem}.livro-capa.mini .lc-autora,.livro-capa.mini .lc-linha{display:none}.livro-capa.mini::after{inset:3px 3px 3px 5px}
.livro-mes{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;margin-bottom:26px;background:linear-gradient(135deg,var(--lilas-claro),var(--branco) 70%)}
@media(max-width:640px){.livro-mes{grid-template-columns:1fr;text-align:center}.livro-mes .livro-capa{max-width:160px;margin:0 auto}.livro-mes .flex{justify-content:center}}
.livro-mes h2{margin:4px 0}
.estante{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.livro-card{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:16px;border-radius:var(--r);background:var(--branco);border:1px solid var(--linha);transition:.25s;align-items:start}
.livro-card:hover{box-shadow:var(--sombra-2);transform:translateY(-2px)}
.livro-card-capa{display:block}
.livro-card h3{font-size:1.2rem;margin:2px 0}
.livro-card p{margin:8px 0;color:var(--suave)}
.livro-card.mini-card{grid-template-columns:64px 1fr;align-items:center}
.livro-card.mini-card .lc-autora{display:none}
.coracoes{display:inline-flex;gap:1px;font-size:.9rem;color:var(--areia);letter-spacing:1px}.coracoes i{font-style:normal}.coracoes i.on{color:#b8826b}
.livro-topo{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start;margin-bottom:30px}
@media(max-width:700px){.livro-topo{grid-template-columns:1fr}.livro-topo-capa{max-width:190px;margin:0 auto}}
.livro-topo-capa .livro-capa{transform:rotate(-2deg);transition:.5s}.livro-topo-capa .livro-capa:hover{transform:none}
.estante-botoes{display:flex;gap:8px;flex-wrap:wrap}
.estante-botoes button{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;border:1px solid var(--linha);background:var(--branco);font-family:var(--sans);font-size:.88rem;color:var(--tinta);cursor:pointer;transition:.2s}
.estante-botoes button svg{width:16px;height:16px}
.estante-botoes button:hover{border-color:var(--lilas)}
.estante-botoes button.ativo{background:var(--ameixa);color:#fff;border-color:var(--ameixa)}
.avaliar{display:flex;align-items:center;gap:4px}
.avaliar button{background:none;border:0;font-size:1.5rem;color:var(--areia);cursor:pointer;padding:0 2px;transition:.15s;line-height:1}
.avaliar button.on,.avaliar button:hover{color:#b8826b;transform:scale(1.1)}
.livro-corpo{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:start}
@media(max-width:800px){.livro-corpo{grid-template-columns:1fr}}
.livro-trecho{margin:22px 0;padding:18px 22px;border-radius:var(--r);background:var(--creme);font-family:var(--serif);font-size:1.35rem;font-style:italic;color:var(--ameixa);border-left:3px solid var(--ouro)}
.livro-trecho cite{display:block;font-family:var(--sans);font-style:normal;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ouro);margin-top:8px}
details.spoiler summary{font-size:.84rem;color:var(--ametista);cursor:pointer;padding:6px 0}
.minha-estante{display:grid;gap:16px}
.estante-item{flex:0 0 84px;display:block}
.estante-item .lc-autora{display:none}

.flutua-acoes{position:absolute;top:12px;right:12px;z-index:4}
.acoes-livro .itens{min-width:210px}
.acoes-livro .editar-pill{border:0;cursor:pointer;font-family:var(--sans)}
.barra-admin{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px;margin-bottom:18px;border-radius:14px;background:var(--ouro-fundo);border:1px solid var(--ouro-claro)}
.barra-admin form{display:inline}
.barra-admin .mini{display:inline-flex;align-items:center;gap:5px;color:var(--ouro);font-weight:500;margin-right:6px}
.barra-admin .mini svg{width:14px;height:14px}
.livro-card:has(.menu-flutuante.aberto),.livro-mes:has(.menu-flutuante.aberto){z-index:10}

/* ---------- Cômodos ---------- */
.portas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.porta{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:26px 20px 22px;border-radius:120px 120px var(--r) var(--r);background:var(--branco);border:1px solid var(--linha);transition:.3s;height:100%;overflow:hidden}
.porta::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--cor) 26%,transparent),transparent 55%);pointer-events:none}
.porta:hover{transform:translateY(-4px);box-shadow:var(--sombra-2);border-color:var(--ouro-claro)}
.porta-arco{position:relative;width:86px;height:104px;border-radius:43px 43px 10px 10px;background:color-mix(in srgb,var(--cor) 40%,var(--branco));border:1.5px solid var(--ouro-claro);display:flex;align-items:center;justify-content:center;flex:none}
.porta-arco::after{content:"";position:absolute;right:16px;top:56px;width:6px;height:6px;border-radius:50%;background:var(--ouro)}
.porta-arco .ico-box{background:rgba(255,255,255,.7);color:var(--ametista);width:48px;height:48px;border-radius:50%}
.porta-arco.grande{width:110px;height:134px;border-radius:55px 55px 12px 12px}
.porta-arco.grande .ico-box{width:60px;height:60px}.porta-arco.grande .ico-box svg{width:28px;height:28px}
.porta-txt{position:relative}
.porta-txt h3{margin:2px 0 6px;font-size:1.45rem}
.porta-txt p{color:var(--suave);font-size:.92rem;margin:0 0 8px}
.porta-estar{border-color:var(--lilas)}
.comodo-topo{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:24px;border-radius:var(--r);background:linear-gradient(135deg,color-mix(in srgb,var(--cor) 30%,var(--branco)),var(--branco) 70%);border:1px solid var(--linha);margin-bottom:16px}
.regras-comodo{margin-bottom:16px;padding:12px 16px;border-radius:14px;background:var(--creme);border:1px solid var(--linha)}
.regras-comodo summary{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ameixa)}
.regras-comodo summary svg{width:16px;height:16px;color:var(--ouro)}
.regras-comodo .prosa{margin-top:8px}
.avatar.anonima{background:linear-gradient(135deg,#8b8aa6,#5d4a85);color:#fff}
.avatar.anonima svg{width:18px;height:18px}
.anonimo-check{padding:6px 10px;border-radius:999px;background:var(--nevoa);border:1px solid var(--linha)}

.nav .sec a.sec-link{display:inline;padding:0;font-size:inherit;letter-spacing:inherit;color:inherit;background:none;border-radius:0}
.nav .sec a.sec-link:hover{color:var(--ameixa);background:none}
.livro-card .flutua-acoes{left:12px;right:auto}
.livro-card .acoes-livro .itens{left:0;right:auto}
@media(max-width:560px){
  .portas{grid-template-columns:1fr 1fr;gap:12px}
  .porta{padding:16px 10px 14px;gap:8px;border-radius:70px 70px 16px 16px}
  .porta-arco{width:58px;height:72px;border-radius:29px 29px 8px 8px}
  .porta-arco::after{right:10px;top:40px;width:5px;height:5px}
  .porta-arco .ico-box{width:36px;height:36px}.porta-arco .ico-box svg{width:18px;height:18px}
  .porta-txt h3{font-size:1.08rem;line-height:1.15}
  .porta-txt p{display:none}
  .porta-txt .eyebrow{font-size:.58rem}
  .porta-txt .mini{font-size:.66rem}
}

/* ---------- Mobile: responsividade e instalação ---------- */
.app > div{min-width:0}
.main{min-width:0}
img,video,iframe{max-width:100%}
.topbar-menu,.gaveta-fechar,.instalar-chip{display:none}
.instalar-item{display:flex;align-items:center;gap:12px;width:calc(100% - 8px);margin:12px 4px 0;padding:12px;border-radius:14px;border:1px solid var(--ouro-claro);background:var(--ouro-fundo);color:var(--ameixa);text-align:left;cursor:pointer;font-family:var(--sans)}
.instalar-item svg{width:22px;height:22px;color:var(--ouro);flex:none}
.instalar-item b{display:block;font-weight:500;font-size:.9rem}.instalar-item small{display:block;color:var(--suave);font-size:.74rem}
.instalar-item[hidden],.instalar-chip[hidden]{display:none!important}
@media(max-width:980px){
  .topbar{gap:10px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top))}
  .topbar .logo{flex:1;min-width:0}
  .topbar .marca{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-menu{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--linha);background:var(--branco);color:var(--ameixa);cursor:pointer;flex:none}
  .topbar-menu svg{width:22px;height:22px}
  .instalar-chip{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--ouro-claro);background:var(--ouro-fundo);color:var(--ouro);font-family:var(--sans);font-size:.8rem;font-weight:500;cursor:pointer}
  .instalar-chip svg{width:15px;height:15px}
  .modo-chip span{display:none}
  /* gaveta */
  .side{display:flex;position:fixed;top:0;left:0;bottom:0;height:auto;width:min(86vw,330px);z-index:70;background:var(--papel);transform:translateX(-105%);transition:transform .3s cubic-bezier(.4,.1,.2,1);overflow-y:auto;padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));box-shadow:20px 0 50px -20px rgba(43,34,51,.45);backdrop-filter:none}
  body.menu-aberto .side{transform:none}
  .gaveta-fundo{position:fixed;inset:0;z-index:65;background:rgba(43,34,51,.4);opacity:0;pointer-events:none;transition:opacity .3s}
  body.menu-aberto .gaveta-fundo{opacity:1;pointer-events:auto}
  body.menu-aberto{overflow:hidden}
  .gaveta-fechar{display:flex;position:absolute;top:calc(14px + env(safe-area-inset-top));right:12px;width:38px;height:38px;border-radius:50%;border:1px solid var(--linha);background:var(--branco);align-items:center;justify-content:center;color:var(--ameixa);cursor:pointer}
  .gaveta-fechar svg{width:18px;height:18px}
  .side .nav a{padding:12px;font-size:1rem}
  /* toque confortável e sem zoom do iPhone em campos */
  input,select,textarea{font-size:16px!important}
  .btn{min-height:44px}
  .btn.sm{min-height:40px;padding:9px 16px}
  .btn.xs{min-height:34px;padding:7px 12px}
  .reacao{min-height:38px;padding:8px 14px}
  .abas{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}
  .abas::-webkit-scrollbar{display:none}
  .abas a,.abas button{flex:none;padding:10px 15px;white-space:nowrap}
  .tipos-post{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%}
  .tipos-post::-webkit-scrollbar{display:none}
  .tipos-post label{flex:none;padding:9px 13px}
  .compositor .flex.entre.wrap{gap:10px}
  .compositor .flex.entre.wrap>.flex{width:100%;justify-content:space-between}
  .check input{width:20px;height:20px}
  .cabecalho{margin-bottom:16px}
  .cabecalho h1{font-size:clamp(1.7rem,7vw,2.2rem)}
  .card{padding:18px}
  .hero{gap:12px}
  .checkin button{padding:10px 14px}
  .editar-pill{min-height:32px;padding:6px 12px}
  .tabela td,.tabela th{white-space:nowrap}
  .faixa-admin{font-size:.8rem}
  .main{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px)}
  .bottomnav{height:calc(var(--nav-h) + env(safe-area-inset-bottom))}
  .bottomnav a{min-height:var(--nav-h)}
  .menu-flutuante .itens a,.menu-flutuante .itens button{padding:12px 14px}
  .toast{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 14px)}
  .instalar{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px)}
}
@media(max-width:400px){
  .main{padding-left:14px;padding-right:14px}
  .atalhos{gap:8px}.atalho{padding:12px 4px;font-size:.72rem}
  .painel-grid{grid-template-columns:1fr 1fr}
}
.painel-grid.cinco{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.painel-grid.cinco{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.painel-grid.cinco{grid-template-columns:1fr 1fr}}
/* app instalado (tela cheia): respeita o entalhe do iPhone */
@media(display-mode:standalone){
  .topbar{padding-top:calc(10px + env(safe-area-inset-top))}
  .instalar-chip,.instalar-item,.instalar{display:none!important}
}
/* janela de instalação */
.modal-instalar{position:fixed;inset:0;z-index:100;background:rgba(43,34,51,.5);display:flex;align-items:flex-end;justify-content:center;padding:0}
.modal-instalar[hidden]{display:none}
.mi-caixa{position:relative;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:var(--papel);border-radius:24px 24px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));animation:subir .35s cubic-bezier(.3,.1,.2,1)}
@media(min-width:600px){.modal-instalar{align-items:center}.mi-caixa{border-radius:24px}}
@keyframes subir{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.mi-fechar{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--linha);background:var(--branco);cursor:pointer;font-size:1rem;color:var(--suave)}
.mi-topo{display:flex;gap:14px;align-items:center;margin-bottom:18px;padding-right:40px}
.mi-topo img{border-radius:16px;box-shadow:var(--sombra)}
.mi-topo h3{margin:0 0 2px;font-size:1.4rem}
.mi-bloco{display:none}.mi-bloco.ativo{display:block}
.mi-passos{list-style:none;padding:0;margin:0 0 12px}
.mi-passos li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--linha);line-height:1.45}
.mi-passos li:last-child{border:0}
.mi-passos small{display:block;color:var(--suave);font-size:.8rem;margin-top:3px}
.mi-n{width:28px;height:28px;border-radius:50%;background:var(--ameixa);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;font-family:var(--serif);font-size:1rem}
.mi-ico{display:inline-flex;vertical-align:middle;width:28px;height:28px;border-radius:8px;background:var(--branco);border:1px solid var(--linha);align-items:center;justify-content:center;color:#2f7cf6;margin:0 2px}
.mi-ico svg{width:17px;height:17px}
.mi-seta{position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:101;color:#fff;font-size:2rem;animation:pular 1.2s ease-in-out infinite;pointer-events:none;text-shadow:0 2px 8px rgba(0,0,0,.4)}
@keyframes pular{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
/* página /instalar */
.pagina-instalar{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px 18px}
.inst-wrap{max-width:440px;text-align:center}
.inst-icone img{width:112px;height:112px;border-radius:26px;margin:0 auto 18px;box-shadow:0 24px 50px -20px rgba(59,42,74,.6)}
.inst-wrap h1{font-size:clamp(2.1rem,9vw,2.8rem);font-weight:400}.inst-wrap h1 em{color:var(--ametista)}
.inst-botao{width:100%;margin-top:10px}
.inst-vantagens{list-style:none;padding:0;margin:26px 0;text-align:left;display:grid;gap:8px}
.inst-vantagens li{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--branco);border:1px solid var(--linha);font-size:.95rem}
.inst-vantagens svg{width:20px;height:20px;color:var(--ouro);flex:none}
.grid>*,.form-2>*,.painel-grid>*{min-width:0}
@media(max-width:980px){
  .abas{margin-left:0;margin-right:0;padding:0 0 4px}
  .linha-item{flex-wrap:wrap}
  .linha-item form{flex:none}
  .codigo{white-space:pre-wrap;word-break:break-all}
  .acoes-inline{gap:6px}
}
@media(max-width:980px){
  .card > .tabela{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  code{word-break:break-all}
}
@media(max-width:980px){.avaliar button{min-width:38px;min-height:38px;font-size:1.7rem}}
