:root{
  --tinta:#2b2117;--tinta2:#5b4a36;--perg:#f3e9d2;--perg2:#ece0c4;--papel:#fbf5e6;--campo:#fffdf6;
  --sangue:#7c1c14;--ouro:#9a7b3f;--borda:#d8c7a0;--sombra:rgba(60,40,20,.18);--font-head:'Cinzel',serif;--font-body:'EB Garamond',Georgia,serif;
  --mestre:#6b2230;--mesa:#2f5d50;--privado:#7a5c1e;--publico:#3a6ea5;
}
*{box-sizing:border-box}
html{overflow-x:hidden}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--font-body);font-size:18px;line-height:1.65;overflow-x:hidden}
a{color:var(--sangue);cursor:pointer;text-decoration:none}
.topo{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:10px 18px;
  background:linear-gradient(180deg,#23170f,#3a2616);color:#f0e6cf;border-bottom:3px solid var(--ouro)}
.marca{font-family:var(--font-head);font-weight:700;font-size:20px;color:#f0e6cf;cursor:pointer;white-space:nowrap}
.marca small{display:block;font-size:11px;color:#cbb892;font-weight:500;font-style:italic}
.userbox{margin-left:auto;font-size:13px;color:#cbb892;display:flex;align-items:center;gap:10px}
.layout{display:flex;max-width:1320px;margin:0 auto;min-height:calc(100vh - 60px)}
.lateral{flex:0 0 250px;background:var(--perg);border-right:1px solid var(--borda);padding:16px 12px}
.lateral h4{font-family:var(--font-head);font-size:13px;color:var(--ouro);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 6px}
.lateral a{display:block;padding:6px 10px;border-radius:8px;color:var(--tinta2);font-size:16px}
.lateral a:hover{background:var(--perg2)} .lateral a.on{background:var(--sangue);color:#fff}
.conteudo{flex:1;min-width:0;padding:24px 32px 60px}
.bread{font-size:13px;color:var(--tinta2);margin-bottom:6px}
h1{font-family:var(--font-head);color:var(--sangue);font-size:30px;margin:.1em 0 .3em}
h2{font-family:var(--font-head);color:var(--tinta);border-bottom:1px solid var(--borda);padding-bottom:5px;margin-top:1.4em;font-size:20px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:12px}
.card{background:var(--papel);border:1px solid var(--borda);border-radius:10px;padding:14px;box-shadow:0 1px 4px var(--sombra);transition:.15s}
.card.clic{cursor:pointer}.card.clic:hover{transform:translateY(-2px);border-color:var(--ouro);box-shadow:0 5px 14px var(--sombra)}
.card h3{font-family:var(--font-head);margin:.3em 0 .1em;color:var(--sangue);font-size:17px}
.card .res{color:var(--tinta2);font-size:14px;margin:.2em 0}
.thumb{height:130px;border-radius:8px;overflow:hidden;background:var(--perg2);border:1px solid var(--borda);margin:-2px 0 2px}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb.noimg{display:flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:50%;margin:14px auto 4px;font-size:30px;color:var(--ouro);border:2px solid var(--ouro);box-shadow:0 2px 8px var(--sombra)}
.chip{display:inline-block;border-radius:12px;padding:1px 10px;font-size:12px;color:#fff;margin:2px 4px 2px 0}
.c-mestre{background:var(--mestre)}.c-mesa{background:var(--mesa)}.c-privado{background:var(--privado)}
.c-publico{background:var(--publico)}.c-autor_mestre{background:#7a3b1e}
.tipo{display:inline-block;background:var(--perg2);border:1px solid var(--borda);color:var(--tinta2);border-radius:12px;padding:1px 10px;font-size:12px;margin:2px 4px 2px 0}
.btn{display:inline-block;background:var(--sangue);color:#fff;border:0;border-radius:20px;padding:9px 18px;font-family:var(--font-head);font-size:14px;cursor:pointer}
.btn.sec{background:transparent;color:var(--sangue);border:1px solid var(--ouro)}
.lista{list-style:none;padding:0;margin:10px 0}.lista li{padding:10px 0;border-bottom:1px dotted var(--borda)}
.lista .meta{font-size:12px;color:var(--tinta2)}
.form{background:var(--perg);border:1px solid var(--borda);border-radius:12px;padding:18px;max-width:min(1040px,100%);margin-top:14px}
.form label{display:block;font-family:var(--font-head);font-size:13px;color:var(--tinta2);margin:12px 0 4px}
.form input,.form select,.form textarea{width:100%;padding:9px 11px;border:1px solid var(--ouro);border-radius:8px;font-family:inherit;font-size:15px;background:var(--campo)}
.form textarea{min-height:120px;resize:vertical}
.row{display:flex;gap:12px;flex-wrap:wrap}.row>div{flex:1;min-width:160px}
.aviso{background:#f3d9d4;border:1px solid #d6a99f;color:var(--sangue);padding:10px 14px;border-radius:8px;font-size:14px;margin:10px 0}
.ok{background:#dcebd9;border:1px solid #a9c79f;color:#2f5d2f;padding:10px 14px;border-radius:8px;font-size:14px;margin:10px 0}
.vis-leg{font-size:13px;color:var(--tinta2);margin:8px 0}
img.capa{max-width:100%;border-radius:8px;border:1px solid var(--borda);margin:10px 0}
.empty{color:var(--tinta2);font-style:italic;padding:20px 0}
.login{max-width:380px;margin:8vh auto;background:var(--perg);border:1px solid var(--borda);border-radius:14px;padding:28px;box-shadow:0 4px 20px var(--sombra)}
.login h1{text-align:center;font-size:26px}
.login .sub{text-align:center;color:var(--tinta2);font-style:italic;margin-top:-6px;margin-bottom:14px}
.login input{width:100%;padding:11px;border:1px solid var(--ouro);border-radius:8px;margin:6px 0;font-family:inherit;font-size:15px;background:var(--campo)}
.login .btn{width:100%;margin-top:8px;text-align:center}
.linkbtn{background:none;border:0;color:var(--sangue);cursor:pointer;font-family:inherit;font-size:14px;text-decoration:underline}
#btn-menu{display:none;background:none;border:0;color:var(--perg);font-size:24px;cursor:pointer;padding:0 4px;line-height:1}
@media(max-width:820px){
  #btn-menu{display:block}
  .lateral{position:fixed;top:56px;left:0;bottom:0;z-index:40;width:240px;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto;box-shadow:3px 0 16px rgba(0,0,0,.35)}
  .lateral.aberta{transform:translateX(0)}
  .conteudo{padding:18px}
}

/* corpo de markdown renderizado */
.corpo{font-size:18.5px;max-width:760px}
.corpo h1,.corpo h2,.corpo h3{font-family:var(--font-head);color:var(--tinta);line-height:1.25;margin-top:1.3em;border:0}
.corpo h2{border-bottom:1px solid var(--borda);padding-bottom:4px}
.corpo img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--borda)}
.corpo blockquote{border-left:4px solid var(--ouro);margin:1em 0;padding:.4em 1.1em;background:var(--perg);color:var(--tinta2);font-style:italic;border-radius:0 8px 8px 0}
.corpo table{border-collapse:collapse;width:100%;margin:1em 0;font-size:16px}
.corpo th,.corpo td{border:1px solid var(--borda);padding:7px 10px;text-align:left}
.corpo th{background:var(--perg2);font-family:var(--font-head)}
.corpo code{background:var(--perg2);padding:1px 5px;border-radius:4px;font-size:.85em}
.corpo hr{border:0;border-top:1px solid var(--borda);margin:1.6em 0}
.corpo a{border-bottom:1px dotted var(--sangue)}

/* ===== UI v2: hero, dashboard, autor, impressão ===== */
.hero2{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--borda);margin-bottom:22px;background:#3a2616}
.hero2 .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.9)}
.hero2 .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,6,.35),rgba(20,12,6,.78))}
.hero2 .in{position:relative;padding:38px 28px;color:var(--perg)}
.hero2 h1{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5);margin:0 0 .2em}
.hero2 .desc{color:#f0e6cf;max-width:680px;margin:.2em 0 0;max-height:7.4em;overflow:hidden;transition:max-height .35s ease}
.hero2 .desc.aberto{max-height:1500px}
.hero2 .btn-ler-mais{display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.28);color:#f0e6cf;border:1px solid rgba(240,230,207,.55);border-radius:999px;padding:4px 13px;font-size:12.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;margin-top:9px;transition:.18s}
.hero2 .btn-ler-mais:hover{background:rgba(0,0,0,.45);border-color:#fff}
.hero2 .btn-ler-mais:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:640px){.hero2 .desc{max-height:5.2em}}
.hero2 p{color:#f0e6cf;max-width:680px;margin:.2em 0 0}
.hero2 .acts{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:14px 0 4px}
.stat{background:var(--perg);border:1px solid var(--borda);border-radius:10px;padding:12px 14px;text-align:center}
.stat b{display:block;font-family:var(--font-head);font-size:24px;color:var(--sangue)}
.stat span{font-size:13px;color:var(--tinta2)}
.atalhos{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.atalho{background:var(--perg2);border:1px solid var(--borda);border-radius:18px;padding:6px 14px;font-size:14px;cursor:pointer;color:var(--tinta2)}
.atalho:hover{border-color:var(--ouro);color:var(--sangue)}
.autor-cap{display:flex;align-items:center;gap:16px;margin:6px 0 10px}
.autor-cap .av{width:84px;height:84px;border-radius:50%;background:var(--perg2) center/cover no-repeat;border:2px solid var(--ouro);display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--ouro)}
.acoes-pub{margin:14px 0 20px;padding:12px 0;border-top:1px solid var(--borda);border-bottom:1px solid var(--borda);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn.mini{padding:6px 12px;font-size:13px}
@media print{ .topo,.lateral,.acoes-pub,.bread,.img-acoes{display:none!important} .layout{display:block} .conteudo{padding:0} }

/* ===== explorador: cards de categoria + abas retráteis ===== */
.expq{width:100%;max-width:420px;padding:9px 13px;border:1px solid var(--ouro);border-radius:20px;font-family:inherit;font-size:15px;background:var(--campo);margin:6px 0 4px}
.cards-cat{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 6px}
.catcard{cursor:pointer;background:var(--perg);border:1px solid var(--borda);border-radius:10px;padding:9px 14px;min-width:118px;text-align:center;transition:.12s}
.catcard:hover{border-color:var(--ouro);transform:translateY(-1px)}
.catcard.active{background:var(--sangue);border-color:var(--sangue);color:#fff}
.catcard .ic{font-size:22px;line-height:1}
.catcard .nm{font-family:var(--font-head);font-size:12.5px;margin-top:2px}
.catcard .ct{font-size:12px;color:var(--ouro)}
.catcard.active .ct{color:#f0d9b5}
details.bloco{border:1px solid var(--borda);border-radius:10px;margin:10px 0;background:var(--perg);overflow:hidden}
details.bloco>summary{cursor:pointer;padding:11px 14px;font-family:var(--font-head);color:var(--tinta);list-style:none;display:flex;justify-content:space-between;align-items:center}
details.bloco>summary::-webkit-details-marker{display:none}
details.bloco>summary .ct{color:var(--ouro);font-size:13px;font-weight:400}
details.bloco>summary:after{content:"▸";color:var(--ouro);margin-left:8px}
details.bloco[open]>summary:after{content:"▾"}
details.bloco[open]>summary{border-bottom:1px solid var(--borda);background:var(--perg2)}
details.bloco .cards{padding:12px}

/* ===== UI v3: lista/cards, multi-mundo ===== */
.expbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0}
.lista2{list-style:none;padding:0;margin:8px 0}
.li-clic{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:9px 12px;border-bottom:1px dotted var(--borda);cursor:pointer;border-radius:8px}
.rec-obs{flex:1 1 100%;font-size:.9em;color:var(--tinta2);padding:.2em 0 .1em 2.2em;line-height:1.5}
.li-clic:hover{background:var(--perg2)}
.li-ic{font-size:18px;width:24px;text-align:center}
.li-tit{flex:1;font-family:var(--font-head);font-size:15px;color:var(--sangue)}
.lat-mundo{font-size:12px;color:var(--tinta2);margin:2px 4px 6px;font-style:italic}
.card.sel{border-color:var(--sangue);box-shadow:0 0 0 2px rgba(124,28,20,.25)}
.login .sub small{color:var(--tinta2);font-size:12.5px}

/* indicador de mundo atual (barra lateral) */
.mundo-atual{display:flex;align-items:center;gap:10px;margin:8px 4px 12px;padding:8px 10px;background:var(--perg2);border:1px solid var(--ouro);border-radius:10px;cursor:pointer;transition:.12s}
.mundo-atual:hover{border-color:var(--sangue);box-shadow:0 2px 8px var(--sombra)}
.mundo-atual .mi{flex:0 0 36px;width:36px;height:36px;border-radius:8px;background:var(--perg) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:20px;border:1px solid var(--borda)}
.mundo-atual .ms{font-size:10px;color:var(--tinta2);text-transform:uppercase;letter-spacing:.6px}
.mundo-atual .mt{font-family:var(--font-head);font-size:14.5px;color:var(--sangue);line-height:1.15}

/* ===== barra superior: seletor de mundo + menu do usuário ===== */
.topo{gap:10px}
.marca{display:flex;align-items:center}
.userbox{position:relative}
.world-switch{display:flex;align-items:center;gap:7px;margin-left:8px;padding:5px 12px;background:rgba(255,255,255,.07);border:1px solid var(--ouro);border-radius:20px;cursor:pointer;color:#f0e6cf;max-width:240px}
.world-switch:hover{background:rgba(255,255,255,.16)}
.world-switch .ws-ic{font-size:14px;line-height:1}
.world-switch .ws-nm{font-family:var(--font-head);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-ar{color:#cbb892;font-size:10px}
.user-btn{display:flex;align-items:center;gap:8px;background:none;border:0;color:#f0e6cf;cursor:pointer;font-family:inherit;font-size:13.5px}
.user-btn:hover{color:#fff}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--ouro) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#23170f;font-family:var(--font-head);font-weight:700;font-size:14px;flex:0 0 30px}
.user-menu{display:none;position:absolute;right:0;top:46px;background:var(--papel);border:1px solid var(--borda);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.28);min-width:190px;padding:6px;z-index:60}
.user-menu.aberto{display:block}
.user-menu a{display:block;padding:8px 12px;border-radius:7px;color:var(--tinta2);font-size:14px;cursor:pointer}
.user-menu a:hover{background:var(--perg2);color:var(--sangue)}
.user-menu .sep{height:1px;background:var(--borda);margin:5px 4px}
@media(max-width:600px){ .user-nm{display:none} .marca{font-size:17px} }

/* ===== dropdown de mundos (pílula do topo) ===== */
.ws-wrap{position:relative;display:flex}
.world-menu{display:none;position:absolute;left:0;top:42px;background:var(--papel);border:1px solid var(--borda);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.28);min-width:210px;max-height:60vh;overflow:auto;padding:6px;z-index:60}
.world-menu.aberto{display:block}
.world-menu a{display:block;padding:8px 12px;border-radius:7px;color:var(--tinta2);font-size:14px;cursor:pointer;white-space:nowrap}
.world-menu a:hover{background:var(--perg2);color:var(--sangue)}
.world-menu a.atual{background:var(--sangue);color:#fff}
.world-menu .sep{height:1px;background:var(--borda);margin:5px 4px}

/* destaque do item Jornais na lateral */
.lateral a.destaque{color:var(--sangue);font-weight:600}
.lateral a.destaque.on{color:#fff}

/* rodapé / créditos */
.rodape{max-width:1320px;margin:0 auto;padding:18px 32px 30px;border-top:1px solid var(--borda);color:var(--tinta2);font-size:13px;text-align:center;line-height:1.6}
.rodape a{text-decoration:underline}
.rodape b{color:var(--tinta)}
@media(max-width:820px){ .rodape{padding:16px 18px 26px} }

/* wikilinks e busca no topo */
.wikilink{border-bottom:1px dashed var(--sangue);cursor:pointer}
.wikilink:hover{background:var(--perg2)}
.topo-busca{flex:1;min-width:90px;max-width:300px;margin-left:8px;padding:6px 12px;border:1px solid var(--ouro);border-radius:18px;background:rgba(255,255,255,.07);color:#f0e6cf;font-family:inherit;font-size:13.5px}
.topo-busca::placeholder{color:#cbb892}
@media(max-width:600px){ .topo-busca{display:none} }

/* linha do tempo */
.tl{position:relative;margin:18px 0 0;padding-left:30px}
.tl:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--ouro)}
.tl-item{position:relative;margin:0 0 18px}
.tl-dot{position:absolute;left:-25px;top:6px;width:14px;height:14px;border-radius:50%;border:2px solid var(--papel);box-shadow:0 0 0 1px var(--ouro)}
.tl-card{background:var(--perg);border:1px solid var(--borda);border-radius:10px;padding:12px 16px}
.tl-card h3{font-family:var(--font-head);color:var(--sangue);margin:.1em 0 .2em;font-size:18px}
.tl-quando{font-size:12px;color:var(--ouro);text-transform:uppercase;letter-spacing:.5px;font-weight:600}

/* campo de imagem unificado (link + upload) */
.img-campo{display:flex;gap:8px;align-items:center}
.img-campo>input{flex:1;min-width:0}
.img-up{display:inline-flex!important;align-items:center;gap:5px;white-space:nowrap;background:var(--perg2);border:1px solid var(--ouro);border-radius:8px;padding:9px 12px;margin:0!important;cursor:pointer;font-family:var(--font-head);font-size:13px;color:var(--sangue);width:auto!important}
.img-up:hover{background:var(--perg)}
/* cards do dashboard do mundo */
.card.dash{text-align:center}
.dash-ic{font-size:34px;line-height:1;margin:2px 0 6px}

/* botões legíveis sobre o hero (imagem de fundo) */
.hero2 .acts .btn.sec{color:#fff;border-color:rgba(255,255,255,.7);background:rgba(0,0,0,.22)}
.hero2 .acts .btn.sec:hover{background:rgba(0,0,0,.4);border-color:#fff}

/* tags como chips clicáveis */
.tagc{display:inline-block;background:var(--perg2);border:1px solid var(--ouro);color:var(--sangue);border-radius:12px;padding:2px 10px;font-size:12.5px;margin:2px 5px 2px 0;cursor:pointer}
.tagc:hover{background:var(--ouro);color:#fff}

/* ===== responsividade no celular ===== */
@media(max-width:600px){
  .topo{gap:8px;padding:8px 12px}
  .marca{font-size:21px}
  .marca-tx{display:none}
  .topo{gap:6px;padding:8px 10px}
  .ws-wrap{flex:1 1 auto;min-width:0;margin-left:4px}
  .world-switch{max-width:none;width:100%;padding:6px 12px;margin-left:0}
  .world-switch .ws-ic{display:none}
  .modo-btn{padding:7px 9px;font-size:0;border-radius:9px}
  .modo-btn .modo-tx{display:none}
  .modo-btn .modo-ic{font-size:18px}
  .jn-grid,.mural,.cards,.rec-cards{grid-template-columns:1fr}
  .jc-mast{font-size:17px}
  h1{font-size:23px}
  .conteudo{padding:14px}
  .hero2 .in{padding:20px 15px}
  .hero2 h1{font-size:23px}
  .form{padding:14px}
  .row{gap:8px}
  .row>div{min-width:100%}
  .stats{grid-template-columns:1fr 1fr;gap:8px}
  .stat b{font-size:20px}
  .thumb{height:120px}
  .corpo{font-size:17px}
  .corpo table{display:block;overflow-x:auto;white-space:nowrap}
  .acoes-pub{flex-wrap:wrap}
  .btn{padding:8px 14px;font-size:13px}
  .autor-cap{gap:10px}
  .autor-cap .av{width:64px;height:64px;font-size:26px}
}

/* bloco de imagem com ações */
.img-bloco{margin:10px 0}
.img-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}

/* ===== Linha do Tempo v2 (períodos + fluxo) ===== */
.tl2{position:relative;margin-top:14px}

/* ===== Seções padronizadas (mesa, área do mestre, etc.) ===== */
.secao{margin:24px 0}
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:2px solid var(--ouro);padding-bottom:7px;margin-bottom:14px}
.sec-head h2{margin:0;border:0;padding:0;font-size:20px;display:flex;align-items:center;gap:8px}
.sec-head .sec-ct{font-family:var(--font-body);font-size:13px;color:#fff;background:var(--ouro);border-radius:20px;padding:1px 9px;font-weight:600}
.sec-acts{display:flex;gap:8px;flex-wrap:wrap}
.meta-mesa{color:var(--tinta2);font-style:italic;margin:-12px 0 8px}
/* ===== Formulários — polimento uniforme ===== */
.form input:focus,.form select:focus,.form textarea:focus,.com-form textarea:focus{outline:2px solid var(--sangue);outline-offset:1px;border-color:var(--sangue);box-shadow:none}
.form>p:last-child{border-top:1px solid var(--borda);padding-top:15px}
@media(max-width:600px){.sec-head h2{font-size:17px}.sec-head{padding-bottom:5px}.secao{margin:18px 0}}

/* ===== Favoritos + combobox da lateral ===== */
.fav-btn.on{background:var(--ouro);color:#fff;border-color:var(--ouro)}
.nav-select{width:calc(100% - 4px);margin:4px 2px;padding:7px 9px;border:1px solid var(--ouro);border-radius:8px;background:var(--campo);font-family:inherit;font-size:14px;color:var(--tinta)}

/* ===== Toolkit de formulários ===== */
.form-head{margin:2px 0 14px}
.form-head h1{margin:0 0 .1em}
.form-sub{color:var(--tinta2);font-style:italic;margin:0;font-size:15px}
.form-grupo{border:1px solid var(--borda);border-left:3px solid var(--sangue);border-radius:10px;padding:14px 16px 6px;margin:0 0 16px;background:var(--perg2)}
.form-grupo>legend{font-family:var(--font-head);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta);background:var(--perg);border:1px solid var(--borda);border-radius:20px;padding:2px 11px;font-weight:700}
.grupo-dica{color:var(--tinta2);font-size:13px;margin:-2px 0 12px}
.campo{margin:0 0 13px}
.campo>label{display:block;font-family:var(--font-head);font-size:13px;color:var(--tinta2);margin:0 0 4px}
.campo-help{color:var(--tinta2);font-size:12px;margin:3px 0 0}
.form-acoes{display:flex;gap:10px;border-top:1px solid var(--borda);padding-top:16px;margin-top:4px}
.form-grupo .row{margin:0}
/* Editor Markdown */
.mded{margin:0}
.mded-bar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;background:var(--perg2);border:1px solid var(--ouro);border-bottom:none;border-radius:8px 8px 0 0;padding:5px 7px}
.mded-b{cursor:pointer;border:1px solid transparent;background:transparent;border-radius:6px;padding:3px 9px;font-size:14px;font-family:inherit;color:var(--tinta);line-height:1.4}
.mded-b:hover{background:#fff;border-color:var(--ouro)}
.mded-sp{flex:1}
.mded-pv{font-size:12.5px;color:var(--tinta);font-weight:600}
.mded>textarea{border-radius:0 0 8px 8px !important;border-top:none !important;margin:0}
.mded-prev{border:1px dashed var(--ouro);border-radius:8px;padding:12px 16px;margin-top:8px;background:var(--campo)}
.mded-prev:empty:before{content:"(nada para pré-visualizar)";color:var(--tinta2);font-style:italic}

/* ===== Ficha de personagem ===== */
.ficha-bloco{border:1px solid var(--ouro);border-radius:10px;padding:14px 16px;margin:10px 0;background:var(--campo);box-shadow:0 1px 4px rgba(60,40,20,.06)}
.ficha-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--borda)}
.ficha-bloco>.capa{max-width:240px;border-radius:8px;margin:0 0 10px}

/* ===== Anexo de arquivo (ficha) ===== */
.arq-campo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--ouro);border-radius:8px;padding:9px 12px;background:var(--campo)}
.arq-nome{font-size:14px;color:var(--tinta)}
.anexo-bloco{background:var(--perg2);border:1px solid var(--ouro);border-radius:8px;padding:9px 13px;margin:10px 0}

/* ===== Cropper de imagem ===== */
.crop-ov{position:fixed;inset:0;background:rgba(20,12,6,.72);display:flex;align-items:center;justify-content:center;z-index:9999}
.crop-box{background:var(--perg);border:1px solid var(--ouro);border-radius:12px;padding:18px 20px;max-width:92vw;max-height:92vh;overflow:auto;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.crop-box h3{margin:0 0 12px;font-family:var(--font-head);color:var(--tinta)}
.crop-asp{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.crop-asp button{cursor:pointer;border:1px solid var(--ouro);background:var(--campo);border-radius:7px;padding:5px 12px;font-family:inherit;font-size:13px;color:var(--tinta)}
.crop-asp button.on{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.crop-frame{position:relative;overflow:hidden;border:2px solid var(--ouro);border-radius:8px;background:#222;cursor:grab;margin:0 auto}
.crop-frame:active{cursor:grabbing}
.crop-frame img{position:absolute;max-width:none;user-select:none;pointer-events:none}
.crop-zoom{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-family:var(--font-head);font-size:13px;color:var(--tinta2)}
.crop-zoom input{flex:1}
.crop-acts{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}

/* ===== Personagens da mesa — retratos circulares ===== */
.pers-circ-grid{display:flex;flex-wrap:wrap;gap:20px;margin-top:14px}
/* Personagens da mesa: jogadores x NPCs */
.pers-sub{margin-top:4px}
.pers-sub-h{display:flex;align-items:center;gap:8px;font-family:var(--font-head);font-size:1.02rem;color:var(--tinta);margin:16px 0 2px;padding-bottom:6px;border-bottom:1px solid var(--borda)}
.pers-ct{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--perg2);border:1px solid var(--borda);color:var(--tinta2);font-size:.78rem;font-family:var(--font-body);font-weight:600}
.pers-npc{margin-top:16px;border:1px solid var(--borda);border-radius:10px;background:var(--perg2);padding:0 14px 6px}
.pers-npc>summary{list-style:none;cursor:pointer;border-bottom:none;margin:0;padding:12px 0}
.pers-npc>summary::-webkit-details-marker{display:none}
.pers-npc-sum::before{content:"\25B8";color:var(--sangue);font-weight:700;transition:transform .15s;display:inline-block}
.pers-npc[open] .pers-npc-sum::before{transform:rotate(90deg)}
.pers-npc[open]>summary{border-bottom:1px solid var(--borda)}
.pers-npc-hint{margin-left:auto;font-size:.72rem;font-style:italic;color:var(--tinta2);font-family:var(--font-body);opacity:.85;font-weight:400}
@media(max-width:600px){.pers-npc-hint{display:none}}
.pers-sub-act{margin-left:auto}
.pers-sub-act .btn.mini{font-size:.8rem}
.pers-empty-act .btn.mini{font-size:.8rem}
.pers-sec .pers-sub:first-child .pers-sub-h{margin-top:2px}
.pc-circ{width:138px;text-align:center;cursor:pointer;transition:transform .15s}
.pc-circ:hover{transform:translateY(-3px)}
.pc-av{width:112px;height:112px;border-radius:50%;background-size:cover;background-position:center;margin:0 auto 9px;border:3px solid var(--ouro);box-shadow:0 3px 10px rgba(60,40,20,.2)}
.pc-circ:hover .pc-av{border-color:var(--sangue);box-shadow:0 4px 14px rgba(124,28,20,.28)}
.pc-av-ph{display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:40px;color:var(--ouro);background:var(--perg2)}
.pc-nm{font-family:var(--font-head);font-size:15px;color:var(--tinta);line-height:1.2}
.pc-ep{font-style:italic;color:var(--tinta2);font-size:12.5px;margin-top:2px}
.pc-chips{margin-top:5px}
@media(max-width:600px){.pc-circ{width:100px}.pc-av{width:82px;height:82px}.pers-circ-grid{gap:14px;justify-content:center}}

/* ===== TEMAS DO MUNDO — paletas leves, integradas; fonte própria por tema ===== */
/* SAMURAI — papel de arroz frio, tinta sumi, índigo + terracota */
body[data-tema="samurai"]{--papel:#f6f2ea;--perg:#efeae0;--perg2:#e6dfd2;--campo:#fdfbf6;--tinta:#23201c;--tinta2:#6b6358;--sangue:#34506e;--ouro:#9c6f52;--borda:#d6cdba;--sombra:rgba(60,50,30,.15);--font-head:'Shippori Mincho','Cinzel',serif;--font-body:'Shippori Mincho','EB Garamond',serif}
body[data-tema="samurai"] .topo{background:linear-gradient(180deg,#1d2533,#2a384c);border-bottom-color:#9c2b2e}

/* LOVECRAFT — manuscrito anos 1920, sépia-oliva, verde-musgo dessaturado */
body[data-tema="lovecraft"]{--papel:#eae7db;--perg:#e2dfd1;--perg2:#d8d4c2;--campo:#f4f1e7;--tinta:#262720;--tinta2:#5e6151;--sangue:#3f6b61;--ouro:#7e774c;--borda:#cbc6af;--sombra:rgba(50,50,30,.15);--font-head:'IM Fell English SC','Cinzel',serif;--font-body:'EB Garamond',Georgia,serif}
body[data-tema="lovecraft"] .topo{background:linear-gradient(180deg,#1b211a,#28301f);border-bottom-color:#3f6b61}

/* HORROR — gótico pesado: charcoal-plum escuro, oxblood, bordas visíveis */
body[data-tema="horror"]{--papel:#16121a;--perg:#1f1a25;--perg2:#2a2230;--campo:#241d2b;--tinta:#ece1e7;--tinta2:#b7a1ae;--sangue:#cd5a68;--ouro:#9a818c;--borda:#4a3b4c;--sombra:rgba(0,0,0,.5);--font-head:'Cinzel Decorative','Cinzel',serif;--font-body:'EB Garamond',Georgia,serif}
body[data-tema="horror"] .topo{background:linear-gradient(180deg,#0e0a10,#211826);border-bottom-color:#c52a3c}
body[data-tema="horror"] .card{box-shadow:0 2px 12px rgba(0,0,0,.5)}
body[data-tema="horror"] h1{text-shadow:0 1px 12px rgba(197,42,60,.3)}

/* ANOS 80 — pastel Memphis: lavanda/creme, magenta suave + teal */
body[data-tema="anos80"]{--papel:#efeaf2;--perg:#e8e2ee;--perg2:#ded6e8;--campo:#faf7fc;--tinta:#2a2533;--tinta2:#6b6378;--sangue:#a84479;--ouro:#2f8f99;--borda:#d6cce2;--sombra:rgba(120,80,160,.15);--font-head:'Audiowide','Cinzel',cursive;--font-body:'Rajdhani','EB Garamond',sans-serif}
body[data-tema="anos80"] .topo{background:linear-gradient(180deg,#241a33,#34264c);border-bottom-color:#c24b87}
body[data-tema="anos80"] h2{border-bottom-color:#2f8f99}

/* SCI-FI — blueprint frio: cinza-azulado, teal-ciano + âmbar */
body[data-tema="scifi"]{--papel:#eceae2;--perg:#e3e0d5;--perg2:#d8d4c6;--campo:#f6f4ec;--tinta:#24272b;--tinta2:#5c6167;--sangue:#2f5d76;--ouro:#a9772f;--borda:#cec8b6;--sombra:rgba(50,45,30,.15);--font-head:'Orbitron','Cinzel',sans-serif;--font-body:'Rajdhani','EB Garamond',sans-serif}
body[data-tema="scifi"] .topo{background:linear-gradient(180deg,#171c21,#242d35);border-bottom-color:#a9772f}
body[data-tema="scifi"] h2{border-bottom-color:#a9772f}

/* Seletor de tema (forms) — cada opção na própria fonte/cor */
.tema-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:10px;margin-top:4px}
.tema-opt{cursor:pointer;text-align:left;border:2px solid;border-radius:10px;padding:12px 13px;display:flex;flex-direction:column;gap:3px;transition:.12s}
.tema-opt:hover{transform:translateY(-2px)}
.tema-opt.on{outline:3px solid currentColor;outline-offset:1px}
.tema-opt .tema-nm{font-size:15px;font-weight:700;line-height:1.15}
.tema-opt .tema-sub{font-size:11.5px;opacity:.95;font-family:var(--font-body)}
.tema-sw-medieval{background:#f3e9d2;color:#7c1c14;border-color:#9a7b3f;font-family:'Cinzel',serif}
.tema-sw-samurai{background:#f2ece1;color:#1f2f44;border-color:#9c2b2e;font-family:'Shippori Mincho',serif}
.tema-sw-lovecraft{background:#e2dfd1;color:#3f6b61;border-color:#7e774c;font-family:'IM Fell English SC',serif}
.tema-sw-horror{background:#241d2b;color:#f2c1ca;border-color:#c52a3c;font-family:'Cinzel Decorative','Cinzel',serif}
.tema-sw-anos80{background:#e8e2ee;color:#a84479;border-color:#2f8f99;font-family:'Audiowide',cursive}
.tema-sw-scifi{background:#e3e0d5;color:#2f5d76;border-color:#a9772f;font-family:'Orbitron',sans-serif}

/* ===== Ajustes base de legibilidade (valem p/ todos os temas) ===== */
.form input,.form select,.form textarea,.com-form textarea,.nav-select{color:var(--tinta)}
.form input::placeholder,.form textarea::placeholder,.com-form textarea::placeholder{color:var(--tinta2);opacity:.7}
.tipo{color:var(--tinta)}
input.topo-busca{color:#f0e6cf}
input.topo-busca::placeholder{color:#cbb892}

/* ===== Notificações (sino) ===== */
.sino-wrap{position:relative;display:inline-block}
.sino-btn{position:relative;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:8px;padding:4px 9px;cursor:pointer;font-size:16px;line-height:1.2}
.sino-btn:hover{background:rgba(0,0,0,.4)}
.sino-ct{position:absolute;top:-7px;right:-7px;background:var(--sangue);color:#fff;border-radius:20px;font-size:11px;min-width:17px;height:17px;line-height:16px;text-align:center;padding:0 4px;border:1px solid #fff}
.sino-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);width:330px;max-width:88vw;max-height:430px;overflow:auto;background:var(--perg);border:1px solid var(--ouro);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.32);z-index:60}
.sino-menu.aberto{display:block}
.sino-top{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid var(--borda);font-family:var(--font-head);font-size:14px;color:var(--tinta)}
.sino-top a{font-size:12px}
.sino-vazio{padding:16px 13px;color:var(--tinta2);font-style:italic}
.sino-item{display:flex;flex-direction:column;gap:2px;padding:10px 13px;border-bottom:1px solid var(--borda);color:var(--tinta);cursor:pointer}
.sino-item:hover{background:var(--perg2)}
.sino-item.nlida{background:rgba(124,28,20,.08)}
.sino-item.nlida .sino-tx{font-weight:600}
.sino-tx{font-size:14px;line-height:1.3}
.sino-data{font-size:11px;color:var(--tinta2)}
/* ===== Comentários ===== */
.com-form{margin-top:12px}
.com-form textarea{width:100%;min-height:72px;padding:9px 11px;border:1px solid var(--ouro);border-radius:8px;font-family:inherit;font-size:15px;background:var(--campo);color:var(--tinta);resize:vertical}
.com-item{border:1px solid var(--borda);border-radius:9px;padding:10px 13px;margin:10px 0;background:var(--perg)}
.com-top{font-size:13px;color:var(--tinta2);margin-bottom:4px;display:flex;align-items:center;gap:8px}
.com-top b{color:var(--tinta);font-family:var(--font-head);font-size:14px}
.com-del{color:#b23b3b;font-size:12px;margin-left:auto;cursor:pointer}
.com-corpo{font-size:15px}
.com-corpo p{margin:.3em 0}

/* ===== Toggle global Cards/Lista ===== */
.modo-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:8px;padding:4px 10px;cursor:pointer;font-size:13px;font-family:var(--font-head)}
.modo-btn .modo-ic{font-size:14px;line-height:1}
.modo-btn:hover{background:rgba(0,0,0,.4)}
body.modo-lista .cards{display:block}
body.modo-lista .cards>.card{text-align:left;overflow:hidden;margin:0 0 8px}
body.modo-lista .cards>.card>.thumb{float:left;width:62px;height:62px;flex:none;margin:2px 14px 4px 0}
body.modo-lista .cards>.card>.thumb img{width:62px;height:62px}
body.modo-lista .cards>.card h3{margin:0 0 2px;font-size:17px}
body.modo-lista .cards>.card .res{margin:.1em 0}
body.modo-lista .cards>.card .dash-ic{float:left;margin:0 14px 0 0;font-size:30px}
body.modo-lista .pers-circ-grid{display:block}
body.modo-lista .pc-circ{width:auto;text-align:left;overflow:hidden;padding:7px 2px;border-bottom:1px solid var(--borda)}
body.modo-lista .pc-circ .pc-av{float:left;width:46px;height:46px;margin:0 14px 0 0}
body.modo-lista .pc-circ .pc-nm{font-size:16px}

/* ===== Polimento (auditoria 4 níveis) ===== */
/* Toasts */
#toasts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:var(--tinta);color:var(--papel);padding:10px 18px;border-radius:10px;box-shadow:0 6px 22px rgba(0,0,0,.32);font-size:14px;max-width:90vw;font-family:var(--font-body);animation:toastin .25s ease}
.toast-erro{background:#8a2018;color:#fff}
.toast-ok{background:#2f6b3a;color:#fff}
.toast.saindo{opacity:0;transform:translateY(8px);transition:.36s}
@keyframes toastin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* Comentários com avatar + hierarquia */
.com-item{display:flex;gap:12px;align-items:flex-start}
.com-av{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background-color:var(--perg2);background-size:cover;background-position:center;border:1px solid var(--ouro);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:16px;color:var(--ouro)}
.com-body{flex:1;min-width:0}
/* Chip rascunho mais visível */
.chip-rascunho{display:inline-block;background:#caa53f;color:#2b2117;border-radius:12px;padding:1px 10px;font-size:12px;font-weight:600;margin:2px 4px 2px 0}
/* Placeholder de capa temático */
.thumb.noimg{background:radial-gradient(circle at 50% 36%, var(--perg), var(--perg2))}
.card:has(>.thumb.noimg){text-align:center}
.card:has(>.thumb.noimg) .res{text-align:center}
body.modo-lista .cards>.card>.thumb.noimg{width:50px;height:50px;border-radius:50%;margin:0 14px 0 0}

/* ===== Tela-guia visual ===== */
.guia{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:12px}
.guia-card{background:var(--perg);border:1px solid var(--borda);border-left:3px solid var(--sangue);border-radius:10px;padding:16px 18px;box-shadow:0 1px 4px var(--sombra)}
.guia-card .gc-ic{font-size:30px;line-height:1}
.guia-card h3{margin:.3em 0 .2em;font-family:var(--font-head);font-size:17px;color:var(--tinta)}
.guia-card p{margin:0;font-size:14.5px;color:var(--tinta2)}
.guia-card code{background:var(--perg2);padding:1px 5px;border-radius:5px;font-size:13px}
.guia-passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:12px}
.gp{display:flex;gap:12px;align-items:flex-start;background:var(--perg);border:1px solid var(--borda);border-radius:10px;padding:14px 16px}
.gp-n{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--sangue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:16px}
.gp b{font-family:var(--font-head);color:var(--tinta)}
.gp p{margin:.25em 0 0;font-size:14px;color:var(--tinta2)}
.guia-vis{background:var(--perg);border:1px solid var(--ouro);border-radius:10px;padding:16px 18px;margin-top:12px}
.guia-vis>p{margin:0 0 10px}
.gv-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed var(--borda)}
.gv-row:last-child{border-bottom:none}
.gv-row>span:last-child{color:var(--tinta2);font-size:14.5px}
.guia-p{font-size:15px;max-width:760px}
.guia-dicas{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.gd{background:var(--perg2);border:1px solid var(--borda);border-radius:10px;padding:16px 18px}
.gd h3{margin:0 0 .3em;font-family:var(--font-head);color:var(--sangue)}
.gd p{margin:0;font-size:14.5px;color:var(--tinta)}
.guia-cta{text-align:center;margin:24px 0 8px}
@media(max-width:600px){.guia-dicas{grid-template-columns:1fr}}

/* ===== Mural da Campanha (mesa) ===== */
.mural-sec .sec-head{border-bottom-color:var(--sangue)}
.mural{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:14px}
.mural-item{position:relative;display:flex;flex-direction:column;gap:7px;background:var(--perg2);border:1px solid var(--ouro);border-top:3px solid var(--sangue);border-radius:9px;padding:20px 15px 15px;cursor:pointer;box-shadow:0 2px 7px var(--sombra);transition:.13s;min-height:100px}
.mural-item:hover{transform:translateY(-3px);box-shadow:0 8px 18px var(--sombra)}
.mural-pin{position:absolute;top:-11px;left:50%;transform:translateX(-50%);font-size:21px;line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.mural-tipo{font-size:10px;color:var(--sangue);text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.mural-tit{font-family:var(--font-head);font-size:15.5px;color:var(--tinta);line-height:1.28;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* ===== Jornais — recorte de jornal ===== */
.jn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:14px}
.jn-ed{display:block;background:#f7f1e0;color:#241c12;border:1px solid #c9b68d;border-radius:3px;padding:16px 18px 14px;cursor:pointer;box-shadow:0 2px 9px rgba(40,28,12,.22);transition:.14s}
.jn-ed:hover{transform:translateY(-3px) rotate(-.3deg);box-shadow:0 10px 24px rgba(40,28,12,.32)}
.jn-mast{font-family:'Cinzel Decorative','Cinzel',serif;font-weight:700;text-align:center;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:#241c12}
.jn-rule{border-top:3px double #241c12;margin:6px 0 11px}
.jn-hl{font-family:'EB Garamond',Georgia,serif;font-weight:700;font-size:21px;line-height:1.15;margin:0 0 9px;text-align:center;color:#1c150c}
.jn-corpo{font-family:'EB Garamond',Georgia,serif;font-size:14px;line-height:1.5;color:#3a2f22;text-align:justify}
.jn-foot{margin-top:11px;padding-top:8px;border-top:1px solid #cbb88f;font-size:12px;color:#7c1c14;font-style:italic;text-align:right}

/* ===== Jornais — capa de jornal (lista) ===== */
.jn-capa{display:flex;flex-direction:column;background:#f7f1e0;color:#241c12;border:1px solid #c9b68d;border-radius:3px;cursor:pointer;box-shadow:0 2px 9px rgba(40,28,12,.22);transition:.14s;overflow:hidden}
.jn-capa:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(40,28,12,.32)}
.jc-img{height:130px;background-size:cover;background-position:center;background-color:#e7ddc4;border-bottom:2px solid #241c12}
.jc-noimg{display:flex;align-items:center;justify-content:center;font-size:40px;color:#b9a06a}
.jc-mast{font-family:'Cinzel Decorative','Cinzel',serif;font-weight:700;text-align:center;font-size:19px;letter-spacing:.02em;text-transform:uppercase;color:#241c12;padding:13px 14px 0}
.jn-capa .jn-rule{margin:8px 16px 9px}
.jc-lema{font-family:'EB Garamond',Georgia,serif;font-style:italic;text-align:center;font-size:14px;color:#3a2f22;padding:0 16px 4px}
.jc-foot{margin:auto 16px 14px;padding-top:9px;border-top:1px solid #cbb88f;font-size:12px;color:#7c1c14;font-style:italic;text-align:right}

/* ===== Jornal: cabeçalho estilo periódico + busca de edições ===== */
.jornal-mast{text-align:center;margin:6px 0 16px;padding:14px 10px 13px;border-top:4px double var(--tinta);border-bottom:4px double var(--tinta)}
.jm-top{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-body);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta2);border-bottom:1px solid var(--borda);padding-bottom:7px;margin-bottom:11px}
.jm-logo{width:66px;height:66px;border-radius:10px;background-size:cover;background-position:center;margin:0 auto 8px;box-shadow:0 2px 8px var(--sombra);border:1px solid var(--borda)}
.jm-title{font-family:'Cinzel Decorative',var(--font-head);font-weight:700;font-size:clamp(30px,6vw,52px);line-height:1.03;margin:0;color:var(--sangue);letter-spacing:.01em}
.jm-lema{font-family:var(--font-body);font-style:italic;font-size:16px;color:var(--tinta2);margin:9px auto 0;max-width:640px}
.jm-meta{font-family:var(--font-body);font-size:13px;color:var(--tinta2);margin-top:9px}
.jm-meta a{color:var(--sangue)}
.jn-busca-bar{display:flex;align-items:center;gap:9px;margin:2px 0 14px;padding:9px 13px;border:1px solid var(--borda);border-radius:10px;background:var(--campo)}
.jn-busca-bar iconify-icon{color:var(--ouro);font-size:18px;flex:none}
.jn-busca-bar input{flex:1;min-width:0;border:0;background:transparent;font-family:var(--font-body);font-size:15px;color:var(--tinta);outline:none}
.jn-busca-ct{font-size:12px;color:var(--tinta2);white-space:nowrap;flex:none}


/* ===== Fixar no mural (pin) ===== */
.pin-mesas{display:flex;flex-direction:column;gap:8px}
.pin-mesas .btn{text-align:left}
.mural-x{position:absolute;top:6px;right:7px;background:none;border:0;color:var(--tinta2);cursor:pointer;font-size:12px;line-height:1;padding:2px 6px;border-radius:6px;z-index:2}
.mural-x:hover{background:#b23b3b;color:#fff}

/* ===== Ícones SVG (game-icons via Iconify) ===== */
.gi{display:inline-block;vertical-align:-0.14em;line-height:1}
.thumb.noimg .gi{font-size:34px}
.dash-ic .gi{font-size:30px}
.lateral a .gi{font-size:17px;margin-right:2px}
.sec-head h2 .gi{font-size:20px}

/* ===== Zona de perigo (admin) ===== */
.zona-perigo .sec-head{border-bottom-color:#b23b3b}
.zona-perigo .sec-head h2{color:#b23b3b}
.btn-perigo{background:#b23b3b !important;border-color:#b23b3b !important;color:#fff !important}
.btn-perigo:hover{background:#9a2f24 !important}

/* ===== Foto do grupo TOGA (créditos) ===== */
.toga-foto{margin:14px 0;max-width:560px}
.toga-foto img{width:100%;border-radius:10px;border:1px solid var(--ouro);box-shadow:0 3px 12px var(--sombra)}
.toga-foto figcaption{font-size:13px;color:var(--tinta2);font-style:italic;text-align:center;margin-top:6px}

/* ===== Reordenar eventos ===== */
.ev-mv{display:inline-block;min-width:20px;text-align:center;padding:0 6px;border:1px solid var(--ouro);border-radius:5px;color:var(--sangue);text-decoration:none;font-size:13px;line-height:1.6}
.ev-mv:hover{background:var(--sangue);color:#fff;border-color:var(--sangue)}

/* ===== Lightbox (ampliar fotos) ===== */
.lightbox-ov{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:10001;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:20px}
.lightbox-ov img{max-width:94vw;max-height:94vh;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.6)}


/* ===== Card de MUNDO (orbe planetário) e MESA (d20) ===================== */
.mundo-orb,.mesa-d20{text-align:center;cursor:pointer;padding:8px 6px 14px;transition:transform .15s}
.mundo-orb:hover,.mesa-d20:hover{transform:translateY(-3px)}
.mw-kick,.md-kick{font-size:11px;font-weight:700;letter-spacing:.16em;margin-top:9px}
.mw-t,.md-t{font-family:var(--font-head);font-size:18px;color:var(--sangue);margin:2px 0 1px}
.mw-d,.md-d{font-size:13px;color:var(--tinta2);margin:1px 8px 0;line-height:1.45}
.mw-portal{position:relative;width:150px;margin:6px auto 0;padding-top:22px}
.mw-arch{height:158px;background-size:cover;background-position:center;border:3px solid var(--ouro);border-radius:74px 74px 8px 8px;box-shadow:0 4px 14px var(--sombra)}
.mw-arch-ph{background:radial-gradient(circle at 50% 26%,var(--perg),var(--perg2))}
.mundo-orb:hover .mw-arch{border-color:var(--sangue)}
.mundo-orb.sel .mw-arch{border-color:var(--sangue);box-shadow:0 0 0 3px color-mix(in srgb,var(--sangue) 30%,transparent),0 4px 14px var(--sombra)}
.mw-key{position:absolute;top:0;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;background:var(--perg);border:2px solid var(--ouro);color:var(--ouro);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 7px var(--sombra)}
.mw-kick{color:var(--ouro)}
.md-hex{position:relative;width:140px;height:140px;margin:6px auto 0;background:var(--sangue);clip-path:polygon(50% 1%,93% 25%,93% 75%,50% 99%,7% 75%,7% 25%);display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 10px var(--sombra))}
.md-face{width:130px;height:130px;background-size:cover;background-position:center;clip-path:polygon(50% 1%,93% 25%,93% 75%,50% 99%,7% 75%,7% 25%)}
.md-face-ph{display:flex;align-items:center;justify-content:center;color:var(--sangue);background:radial-gradient(circle at 50% 40%,var(--perg),var(--perg2))}
.md-facets{position:absolute;inset:5px;pointer-events:none}
.md-kick{color:var(--sangue)}
body.modo-lista .mundo-orb,body.modo-lista .mesa-d20{text-align:left;overflow:hidden;padding:8px 2px;border-bottom:1px solid var(--borda)}
body.modo-lista .mw-portal,body.modo-lista .md-hex{width:64px;height:64px;margin:0 12px 0 0;float:left;padding-top:0}
body.modo-lista .mw-arch{height:64px;border-radius:32px 32px 5px 5px}
body.modo-lista .mw-key{width:26px;height:26px;top:-4px}
body.modo-lista .md-face{width:56px;height:56px}
body.modo-lista .mw-kick,body.modo-lista .md-kick{margin-top:2px}

/* ===== Card de MAPA (pergaminho com rolos) ============================== */
.mapa-scroll{text-align:center;cursor:pointer;padding:8px 6px 14px;transition:transform .15s}
.mapa-scroll:hover{transform:translateY(-3px)}
.ms-roll{position:relative;width:200px;max-width:100%;margin:0 auto;padding:0 14px}
.ms-roll::before,.ms-roll::after{content:"";position:absolute;top:6px;bottom:6px;width:14px;border-radius:7px;background:linear-gradient(90deg,#4a3219,#8a6438 45%,#5a3f24);box-shadow:0 2px 5px rgba(40,25,10,.45)}
.ms-roll::before{left:0}.ms-roll::after{right:0}
.ms-body{position:relative;height:128px;background-size:cover;background-position:center;border-top:3px solid var(--ouro);border-bottom:3px solid var(--ouro);box-shadow:inset 0 0 0 1px var(--borda),inset 0 0 22px rgba(70,46,18,.25)}
.ms-noimg{background:radial-gradient(circle at 50% 42%,var(--perg),var(--perg2))}
.ms-rose{position:absolute;right:8px;bottom:7px;width:30px;height:30px;color:#6b4a26;background:rgba(247,241,224,.82);border:1px solid var(--ouro);border-radius:50%;display:flex;align-items:center;justify-content:center}
.mp-kick{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--ouro);margin-top:10px}
.mp-t{font-family:var(--font-head);font-size:17px;color:var(--sangue);margin:2px 0 0}
.mp-sub{font-size:12.5px;color:var(--tinta2);margin:1px 0 0;font-style:italic}
body.modo-lista .ms-roll{width:84px;float:left;margin:0 12px 0 0;padding:0 8px}
body.modo-lista .ms-body{height:54px}
body.modo-lista .ms-rose{width:20px;height:20px}
body.modo-lista .mapa-scroll{text-align:left;overflow:hidden;padding:8px 2px;border-bottom:1px solid var(--borda)}

/* ===== Jornal e Edição: papel velho, sujo e amassado =================== */
.jn-capa,.jn-ed{background-color:#e9dab4;background-image:radial-gradient(circle at 15% 18%,rgba(120,86,40,.22),transparent 22%),radial-gradient(circle at 86% 70%,rgba(108,76,32,.18),transparent 24%),radial-gradient(circle at 60% 90%,rgba(90,60,24,.16),transparent 18%),radial-gradient(circle at 38% 48%,rgba(150,120,68,.10),transparent 42%),linear-gradient(112deg,transparent 47%,rgba(80,54,24,.13) 49%,transparent 51%),linear-gradient(202deg,transparent 27%,rgba(80,54,24,.09) 30%,transparent 33%),linear-gradient(70deg,transparent 60%,rgba(80,54,24,.08) 63%,transparent 66%);box-shadow:inset 0 0 30px rgba(72,46,16,.4);filter:drop-shadow(0 3px 8px rgba(40,28,12,.34));border-color:#ad9663}
.jn-capa:hover,.jn-ed:hover{filter:drop-shadow(0 9px 17px rgba(40,28,12,.42))}
.jn-capa{clip-path:polygon(0 1.6%,9% .3%,21% 1.3%,36% 0,54% 1.1%,72% .2%,88% 1.2%,100% .5%,99.3% 14%,100% 33%,99% 58%,100% 80%,99.4% 100%,78% 99%,57% 100%,36% 99.2%,17% 100%,.6% 99%,1% 74%,0 50%,.9% 28%,0 13%)}
.jn-ed{position:relative;transform:rotate(-1.2deg);margin-top:12px;clip-path:polygon(0 5px,7% 0,22% 6px,42% 0,62% 6px,82% 0,95% 6px,100% 5px,100% 100%,0 100%)}
.jn-pin{position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#e06a63,#9c2b2e);box-shadow:0 2px 4px rgba(0,0,0,.45);z-index:2}


/* ---- Editor Quill (corpo de publicacoes) ---- */
.qled-wrap{ margin:4px 0 2px; }
.ql-toolbar.ql-snow, .ql-container.ql-snow{ border-color:var(--borda); }
.ql-toolbar.ql-snow{ background:var(--perg2); border-top-left-radius:8px; border-top-right-radius:8px; }
.ql-container.ql-snow{ background:var(--campo); border-bottom-left-radius:8px; border-bottom-right-radius:8px; font-family:var(--font-body); font-size:17px; color:var(--tinta); resize:vertical; overflow-y:auto; min-height:440px; }
.ql-editor{ min-height:420px; line-height:1.7; }
.ql-editor.ql-blank::before{ color:var(--tinta2); font-style:italic; left:15px; right:15px; }
.ql-snow .ql-stroke{ stroke:var(--tinta); }
.ql-snow .ql-fill, .ql-snow .ql-stroke.ql-fill{ fill:var(--tinta); }
.ql-snow .ql-picker{ color:var(--tinta); }
.ql-snow.ql-toolbar button:hover .ql-stroke, .ql-snow.ql-toolbar button.ql-active .ql-stroke, .ql-snow .ql-toolbar button:hover .ql-stroke{ stroke:var(--sangue); }
.ql-snow.ql-toolbar button.ql-active .ql-fill{ fill:var(--sangue); }
.ql-editor a{ color:var(--sangue); }
.ql-editor img{ max-width:100%; height:auto; border-radius:6px; }
.ql-snow .ql-picker-options{ background:var(--campo); border-color:var(--borda)!important; }
.ql-snow .ql-tooltip{ background:var(--perg2); border-color:var(--borda); color:var(--tinta); box-shadow:0 2px 10px var(--sombra); }
.ql-snow .ql-tooltip input[type=text]{ background:var(--campo); border-color:var(--borda); color:var(--tinta); }


/* ---- Modo foco / tela cheia do editor ---- */
.qled-bar2{ display:flex; justify-content:flex-end; margin-bottom:4px; }
.qled-foco-btn{ background:var(--ouro); color:var(--papel); border:1.5px solid var(--ouro); border-radius:7px; padding:7px 16px; font-family:var(--font-head); font-size:14px; font-weight:700; letter-spacing:.02em; cursor:pointer; box-shadow:0 1px 4px var(--sombra); }
.qled-foco-btn:hover{ background:var(--sangue); border-color:var(--sangue); color:#fff; }
body.foco-lock{ overflow:hidden; }
.qled-wrap.foco{ position:fixed; inset:0; z-index:9000; background:var(--papel); padding:14px 16px 22px; display:flex; flex-direction:column; }
.qled-wrap.foco .qled-bar2{ max-width:min(1150px,94vw); width:100%; margin:0 auto 8px; }
.qled-wrap.foco .ql-toolbar.ql-snow{ max-width:min(1150px,94vw); width:100%; margin:0 auto; border-radius:8px 8px 0 0; }
.qled-wrap.foco .ql-container.ql-snow{ max-width:min(1150px,94vw); width:100%; margin:0 auto; flex:1 1 auto; min-height:0; resize:none; border-radius:0 0 8px 8px; }
.qled-wrap.foco + .campo-help{ display:none; }


/* ---- Ferramentas de imagem no editor ---- */
.ql-editor img{ cursor:pointer; }
.ql-editor img.img-sel{ outline:2px solid var(--sangue); outline-offset:2px; }
.corpo .ql-align-center{ text-align:center; }
.corpo .ql-align-right{ text-align:right; }
.corpo .ql-align-justify{ text-align:justify; }
.ql-editor .ql-align-center{ text-align:center; }
.ql-editor .ql-align-right{ text-align:right; }


/* ---- Alca de redimensionar imagem ---- */


/* ---- Barra de recuperacao de rascunho ---- */
.rasc-bar{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; background:var(--perg2); border:1px solid var(--ouro); border-radius:8px; padding:8px 12px; margin:6px 0; font-size:14px; color:var(--tinta); }


/* ---- Contorno de imagem (float) ---- */
.corpo::after, .ql-editor::after{ content:""; display:block; clear:both; }
.corpo img[style*="float"]{ border-radius:8px; }


/* ---- Arrastar imagem (mouse) ---- */
.img-ghost{ position:fixed; max-width:130px; max-height:130px; opacity:.55; pointer-events:none; z-index:9700; border:1px solid var(--sangue); border-radius:4px; }
.img-drop-mark{ position:fixed; display:none; width:3px; background:var(--sangue); border-radius:2px; pointer-events:none; z-index:9700; box-shadow:0 0 4px var(--sangue); }


/* ---- Imagem sendo arrastada (reflui ao vivo) ---- */
.ql-editor img.img-arrastando{ outline:2px dashed var(--sangue); outline-offset:2px; opacity:.7; }


/* ---- Toolbar de imagem (redesign) + arraste fluido ---- */
.img-drop-line{ position:fixed; display:none; width:3px; background:var(--sangue); border-radius:2px; pointer-events:none; z-index:9700; box-shadow:0 0 8px 1px var(--sangue); }
.ql-editor img.img-arrastando{ opacity:.32; outline:2px dashed var(--ouro); }

.mw-tema{ color:var(--sangue); }


/* ---- Imagens do editor (blot-formatter2) na publicacao ---- */
.corpo{ --blot-align-left-margin:.4em 1.1em .6em 0; --blot-align-center-margin:1em auto; --blot-align-right-margin:.4em 0 .6em 1.1em; }
.corpo [class^="ql-image-align-"]{ display:flex; flex-wrap:wrap; width:var(--resize-width); max-width:100%; }
.corpo [class^="ql-image-align-"]>img{ flex:1 1 auto; height:auto; }
.corpo .ql-image-align-left{ margin:var(--blot-align-left-margin); float:left; }
.corpo .ql-image-align-center{ margin:var(--blot-align-center-margin); }
.corpo .ql-image-align-right{ margin:var(--blot-align-right-margin); float:right; }


/* ---- Modal de corte de imagem (reusa .crop-ov/.crop-box/.crop-acts) ---- */
.crop-head{ font-family:var(--font-head); color:var(--tinta); margin-bottom:8px; text-align:left; }
.crop-hint{ color:var(--tinta2); font-size:13px; font-family:var(--font-body); }
.crop-stage{ position:relative; display:inline-block; max-width:80vw; max-height:66vh; overflow:hidden; }
.crop-stage img{ display:block; max-width:80vw; max-height:66vh; user-select:none; }
.crop-load,.crop-erro{ padding:40px 30px; color:var(--tinta2); font-family:var(--font-body); font-size:14px; text-align:center; }
.crop-erro{ color:var(--sangue); }
.crop-sel{ position:absolute; border:2px dashed #fff; box-shadow:0 0 0 9999px rgba(0,0,0,.45); cursor:move; box-sizing:border-box; }


/* ===== Recompensas: card clicavel + detalhe ===== */
.rec-li{cursor:pointer}
.rec-li .li-tit{display:flex;flex-direction:column;gap:1px}
.rec-li .rec-sub{font-family:var(--font-body);font-size:12px;color:var(--tinta2);font-weight:400}
.rec-acts{display:inline-flex;gap:5px;align-items:center;margin-left:auto}
.rec-acts a,.rec-acts button{cursor:pointer}
.rec-pin{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--ouro);color:var(--sangue);border-radius:7px;padding:2px 8px;font-size:14px;line-height:1.3;cursor:pointer;transition:.15s}
.rec-pin:hover{background:var(--perg2)}
.rec-pin.on{background:var(--sangue);color:var(--papel);border-color:var(--sangue)}
.rec-pin.on iconify-icon{color:var(--papel)}
/* Recompensas — cards (mural + área da sessão) */
.rec-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:12px 0}
.rec-card{position:relative;display:flex;align-items:flex-start;gap:14px;background:var(--perg2);border:1px solid var(--ouro);border-radius:11px;padding:16px 16px 16px 19px;cursor:pointer;box-shadow:0 2px 8px var(--sombra);transition:.15s;overflow:hidden}
.rec-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sangue)}
.rec-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px var(--sombra)}
.rec-card-ic{flex:none;width:44px;height:44px;border-radius:50%;background:var(--papel);border:2px solid var(--ouro);display:flex;align-items:center;justify-content:center;font-size:23px;line-height:1;box-shadow:0 1px 4px var(--sombra)}
.rec-card-main{flex:1;min-width:0}
.rec-card-resumo{font-family:var(--font-head);font-size:16px;font-weight:600;color:var(--tinta);line-height:1.32;word-wrap:break-word;overflow-wrap:anywhere}
.rec-card-sub{font-family:var(--font-body);font-size:12.5px;color:var(--tinta2);margin-top:3px;line-height:1.35;font-style:italic}
.rec-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.rec-chip{font-family:var(--font-body);font-size:11px;color:var(--tinta2);background:var(--papel);border:1px solid var(--borda);border-radius:20px;padding:3px 10px;line-height:1.5;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.rec-chip-tipo{color:#fff;background:var(--ouro);border-color:var(--ouro);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.rec-card .rec-acts{flex:none;margin:0;flex-direction:column;gap:5px}
.rec-mini{background:transparent;border:1px solid var(--borda);border-radius:7px;padding:2px 7px;font-size:13px;line-height:1.3;cursor:pointer;color:var(--tinta2);transition:.15s}
.rec-mini:hover{background:var(--perg2);border-color:var(--ouro)}
.rec-det-ses{margin:.2em 0 0;font-size:13px}
.rec-det-ses a{color:var(--sangue);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.rec-det-ses a:hover{text-decoration:underline}
.mural-rec-ses{font-family:var(--font-body);font-size:11.5px;color:var(--tinta2);display:inline-flex;align-items:center;gap:4px;margin-top:2px}
.rec-chip-ses{border-color:var(--ouro);color:var(--sangue)}
.rec-det{max-width:760px}
.rec-det-head{display:flex;align-items:center;gap:14px;margin:.2em 0 .4em}
.rec-det-ic{font-size:34px;line-height:1}
.rec-det-head h1{margin:0}
.rec-det-acts{display:flex;flex-wrap:wrap;gap:8px;margin:.2em 0 1.1em}
.rec-det-acts .btn.on{background:var(--sangue);color:var(--papel);border-color:var(--sangue)}
.rec-det-acts .btn.on iconify-icon{color:var(--papel)}

.secao-ped:not(:empty){margin:14px 0;padding:12px 14px;background:var(--perg);border:1px solid var(--ouro);border-left:4px solid var(--sangue);border-radius:10px}

/* ===== Barra lateral colapsável ===== */
.nav-grp{margin-top:6px}
.nav-h4{font-family:var(--font-head);font-size:13px;color:var(--ouro);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 6px;cursor:pointer;display:flex;align-items:center;gap:6px;user-select:none}
.nav-h4:hover{color:var(--sangue)}
.nav-h4 .grp-ar{margin-left:auto;font-size:11px;transition:transform .18s ease;opacity:.75}
.nav-grp.col .nav-h4 .grp-ar{transform:rotate(-90deg)}
.nav-grp.col .nav-grp-body{display:none}
.nav-grp-body{display:block}

/* Selo do mundo no card de "continuar de onde parou" */
.card .rec-mundo{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--sangue);background:var(--papel);border:1px solid var(--ouro);border-radius:999px;padding:1px 8px;margin-bottom:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .rec-mundo iconify-icon{font-size:12px}

/* ===== TUDO MEU! (dashboard pessoal) ===== */
.tm-head{display:flex;align-items:center;gap:16px;margin:6px 0 14px}
.tm-id{min-width:0;flex:1 1 auto}
.tm-av{width:66px;height:66px;border-radius:50%;flex:0 0 auto;background:var(--sangue) center/cover no-repeat;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:28px;border:3px solid var(--ouro);box-shadow:var(--sombra)}
.tm-id h1{font-family:var(--font-head)}
.tm-nome{margin:.15em 0;font-size:17px;color:var(--tinta)}
.tm-ep{font-style:italic;color:var(--tinta2)}
.tm-acts{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}
.btn.mini{font-size:13px;padding:4px 10px}
.tm-worldsel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px;padding:10px 12px;background:var(--perg);border:1px solid var(--borda);border-radius:10px}
.tm-worldsel label{font-family:var(--font-head);font-size:13px;color:var(--ouro);text-transform:uppercase;letter-spacing:.5px}
.tm-worldsel select{padding:6px 10px;border:1px solid var(--borda);border-radius:8px;background:var(--campo);color:var(--tinta);font-size:15px;max-width:100%}
.tm-criar{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}

/* Sub-rótulos dentro de "Meu Espaço" na lateral */
.nav-sub{font-size:11px;font-weight:600;color:var(--tinta2);text-transform:uppercase;letter-spacing:.4px;opacity:.7;margin:10px 0 3px;padding:0 10px;display:flex;align-items:center;gap:5px}
.nav-sub iconify-icon{font-size:13px}
.nav-grp-body .nav-sub:first-child{margin-top:4px}

/* ===== Meu Espaço — hub + sub-grupos aninhados ===== */
.nav-hub{display:flex;align-items:center;gap:7px;margin:4px 0 8px;padding:9px 12px;border-radius:10px;background:linear-gradient(180deg,var(--perg2),var(--perg));border:1px solid var(--ouro);color:var(--tinta);font-family:var(--font-head);font-weight:700;letter-spacing:.3px;box-shadow:var(--sombra);cursor:pointer}
.nav-hub iconify-icon{font-size:19px;color:var(--sangue)}
.nav-hub:hover{border-color:var(--sangue)}
.nav-hub.on{background:var(--sangue);border-color:var(--sangue);color:#fff}
.nav-hub.on iconify-icon{color:#fff}
.nav-subgrp{margin:2px 0}
.nav-subh{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;cursor:pointer;color:var(--tinta2);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;user-select:none}
.nav-subh:hover{background:var(--perg2);color:var(--sangue)}
.nav-subh iconify-icon{font-size:14px}
.nav-subh .sub-lb{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-subh .sub-ar{font-size:10px;transition:transform .18s ease;opacity:.7}
.nav-subgrp:not(.col) .nav-subh .sub-ar{transform:rotate(90deg)}
.nav-count{flex:0 0 auto;background:var(--ouro);color:#3a2b12;font-size:11px;font-weight:700;border-radius:999px;padding:0 7px;min-width:18px;text-align:center}
.nav-subgrp.col .nav-subbody{display:none}
.nav-subbody{padding-left:8px;margin:2px 0 4px;border-left:2px solid var(--borda)}
.nav-subbody a{font-size:14.5px;padding:5px 10px}

/* ===== Personagens — busca, filtro e paginação (escala) ===== */
.pers-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0 14px}
.pers-q{flex:1 1 260px;min-width:0;padding:9px 12px;border:1px solid var(--borda);border-radius:10px;background:var(--campo);color:var(--tinta);font-size:15px}
.pers-q:focus{outline:none;border-color:var(--ouro)}
.pers-chips{display:flex;flex-wrap:wrap;gap:6px}
.pers-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border:1px solid var(--borda);border-radius:999px;background:var(--perg);color:var(--tinta2);font-size:13.5px;font-weight:600;cursor:pointer}
.pers-chip iconify-icon{font-size:15px}
.pers-chip:hover{border-color:var(--ouro)}
.pers-chip.on{background:var(--sangue);border-color:var(--sangue);color:#fff}
.pers-chip.on iconify-icon{color:#fff}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 4px}
.pager-inf{font-size:13px;color:var(--tinta2)}
.pager .btn[disabled]{opacity:.45;cursor:default;pointer-events:none}

/* ===== Meu Espaço — refinamento (menos ícones, hierarquia mais clara) ===== */
.nav-hub{padding:8px 12px;font-size:15px;margin:2px 0 8px}
.nav-hub iconify-icon{font-size:18px}
.nav-mini{margin:0}
.nav-div{height:0;border-top:1px solid var(--borda);margin:9px 6px;opacity:.8}
/* sub-cabeçalhos sem ícone: leves, só rótulo + contagem + seta */
.nav-subh{color:var(--ouro);font-size:11.5px}
.nav-subh:hover{color:var(--sangue)}
/* itens das listas pessoais: sem ícone repetido, com marcador discreto */
.nav-subbody{border-left:2px solid var(--ouro);opacity:1;padding-left:6px;margin:2px 0 6px 6px}
.nav-leaf{position:relative;padding-left:18px!important}
.nav-leaf::before{content:"";position:absolute;left:6px;top:50%;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:var(--ouro);opacity:.7}
.nav-leaf.on::before{background:#fff}
.nav-subbody a[onclick*="novo"], .nav-subbody a[onclick*="nova"]{color:var(--sangue);font-weight:600}

/* Miniaturas nos itens pessoais da lateral (substituem o ponto) */
.nav-leaf{display:flex;align-items:center;gap:8px;padding-left:10px!important}
.nav-leaf::before{display:none!important}
.nav-thumb{flex:0 0 auto;width:22px;height:22px;border-radius:6px;background:var(--sangue) center/cover no-repeat;border:1px solid var(--ouro);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;font-family:var(--font-head)}
.nav-thumb-ph{background:var(--perg2);color:var(--sangue)}
.nav-leaf-tx{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-leaf.on .nav-thumb{border-color:#fff}

/* ===== TUDO MEU! — estatísticas, abas ===== */
.tm-stats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.tm-stat{flex:1 1 120px;min-width:110px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 10px;background:var(--perg);border:1px solid var(--borda);border-radius:12px;cursor:pointer;transition:border-color .15s,transform .1s}
.tm-stat:hover{border-color:var(--ouro);transform:translateY(-1px)}
.tm-stat b{font-family:var(--font-head);font-size:26px;color:var(--sangue);line-height:1}
.tm-stat span{font-size:12px;color:var(--tinta2);text-transform:uppercase;letter-spacing:.4px}
.tm-tabs{display:flex;flex-wrap:nowrap;gap:4px;margin:14px 0 8px;border-bottom:2px solid var(--borda);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.tm-tabs::-webkit-scrollbar{height:0;display:none}
.tm-tab-btn{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;padding:9px 16px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--tinta2);font-family:var(--font-head);font-size:15px;font-weight:600;cursor:pointer}
.tm-tab-btn:hover{color:var(--sangue)}
.tm-tab-btn.on{color:var(--sangue);border-bottom-color:var(--sangue)}
#tm-tab{min-height:120px}

/* ===== Minha Página — contadores ===== */
.autor-stats{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 14px}
.autor-stat{flex:0 1 auto;min-width:96px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 18px;background:var(--perg);border:1px solid var(--borda);border-radius:12px}
.autor-stat b{font-family:var(--font-head);font-size:23px;color:var(--sangue);line-height:1}
.autor-stat span{font-size:11.5px;color:var(--tinta2);text-transform:uppercase;letter-spacing:.4px}
.autor-criar{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}

/* Lateral — listas em texto limpo (miniaturas removidas p/ legibilidade e performance) */
.nav-thumb,.nav-thumb-ph{display:none!important}
.nav-leaf{display:block!important;padding:5px 10px!important}
.nav-leaf::before{display:none!important}
.nav-leaf-tx{all:unset}
/* itens de "Criar" com aparência calma (sem tudo vermelho/negrito) */
.nav-subbody a[onclick*="novo"], .nav-subbody a[onclick*="nova"]{color:var(--tinta2);font-weight:400}
.nav-subbody a[onclick*="novo"]:hover, .nav-subbody a[onclick*="nova"]:hover{color:var(--sangue)}
.nav-subbody{margin:2px 0 8px 8px}

/* ===== Abas reutilizáveis (padrão do site) ===== */
.abas{display:flex;flex-wrap:nowrap;gap:2px;margin:16px 0 0;border-bottom:2px solid var(--borda);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.abas::-webkit-scrollbar{height:0;display:none}
.aba-btn{display:inline-flex;flex:0 0 auto;scroll-snap-align:start;align-items:center;gap:6px;white-space:nowrap;padding:9px 16px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--tinta2);font-family:var(--font-head);font-size:15px;font-weight:600;cursor:pointer;transition:color .12s}
.aba-btn iconify-icon{font-size:17px}
.aba-btn:hover{color:var(--sangue)}
.aba-btn.on{color:var(--sangue);border-bottom-color:var(--sangue)}
.aba-badge{background:var(--ouro);color:#3a2b12;font-size:11px;font-weight:700;border-radius:999px;padding:0 7px;min-width:18px;text-align:center}
.aba-panels{padding-top:4px}
.aba-panel{display:none}
.aba-panel.on{display:block;animation:abaIn .18s ease}
@keyframes abaIn{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}

/* ===== Administração ===== */
.adm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:6px 0 14px}
.adm-stat{background:var(--perg2);border:1px solid var(--borda);border-radius:12px;padding:12px;text-align:center}
.adm-stat-ic{font-size:20px;line-height:1}
.adm-stat-n{font-family:var(--font-head);font-size:26px;font-weight:700;color:var(--tinta);margin-top:2px}
.adm-stat-l{font-size:12px;color:var(--tinta2)}
.adm-busca{margin:4px 0 12px}
.adm-busca input{width:100%}
.adm-users-list,.adm-list{display:flex;flex-direction:column;gap:8px}
.adm-user,.adm-row{display:flex;align-items:center;gap:10px;background:var(--perg2);border:1px solid var(--borda);border-radius:10px;padding:8px 12px}
.adm-user-id,.adm-row-id{flex:1 1 auto;min-width:0}
.adm-user-ac,.adm-row-ac{flex:0 0 auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.adm-av{width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:var(--campo);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--tinta)}
.adm-badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:20px;background:var(--campo);border:1px solid var(--borda);color:var(--tinta2);vertical-align:middle}
.adm-badge.adm{background:var(--ouro);color:#241a08;border-color:var(--ouro)}
.adm-badge.sup{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.adm-badge.off{opacity:.7}
.adm-nav{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:12px}
.aviso-global{background:var(--ouro);color:#241a08;border-radius:10px;padding:10px 14px;margin:0 0 14px;font-weight:600;text-align:center}
.aviso-vis{display:flex;align-items:center;gap:8px;background:var(--perg2);border:1px dashed var(--ouro);color:var(--tinta2);padding:8px 12px;border-radius:8px;font-size:13px;margin:8px 0 12px}
@media(max-width:600px){ .adm-user,.adm-row{flex-wrap:wrap} .adm-user-ac,.adm-row-ac{width:100%;justify-content:flex-start} }

/* filtros das abas de administração */
.adm-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px}
.adm-chip{font:inherit;font-size:13px;padding:5px 12px;border-radius:20px;border:1px solid var(--borda);background:var(--perg2);color:var(--tinta2);cursor:pointer}
.adm-chip.on{background:var(--ouro);color:#241a08;border-color:var(--ouro);font-weight:600}
.adm-sel{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--borda);background:var(--campo);color:var(--tinta);max-width:100%}

/* ===== Amigos / Chat ===== */
.menu-ct{display:inline-block;background:var(--sangue);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:0 6px;margin-left:4px;vertical-align:middle}
.msg-wrap{position:relative;display:inline-block}
#msgbtn{position:relative}
.msg-ct{position:absolute;top:-3px;right:-3px;background:var(--sangue);color:#fff;font-size:10px;line-height:1;font-weight:700;padding:2px 4px;border-radius:10px}
.conv-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--borda);border-radius:12px;background:var(--perg2);margin-bottom:8px;cursor:pointer;transition:border-color .15s}
.conv-item:hover{border-color:var(--ouro)}
.conv-av-wrap{flex:0 0 auto}
.conv-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--papel) center/cover no-repeat;border:2px solid var(--ouro);color:var(--sangue);font-weight:700;font-family:var(--font-head)}
.conv-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.conv-top{display:flex;align-items:center;gap:8px}
.conv-top b{font-family:var(--font-head)}
.conv-time{margin-left:auto;font-size:.76em;color:var(--tinta2);white-space:nowrap}
.conv-prev{color:var(--tinta2);font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.conv-badge{flex:0 0 auto;background:var(--sangue);color:#fff;border-radius:12px;padding:2px 8px;font-size:.8em;font-weight:700}
.chat-wrap{display:flex;flex-direction:column;height:min(62vh,560px);border:1px solid var(--borda);border-radius:12px;background:var(--perg2);overflow:hidden;margin-top:6px}
.chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.msg-row{display:flex;flex-direction:column;align-items:flex-start;max-width:80%}
.msg-row.mine{align-self:flex-end;align-items:flex-end}
.msg-nome{font-size:.75em;color:var(--tinta2);margin:0 0 1px 8px;font-weight:600}
.msg-bubble{background:var(--papel);border:1px solid var(--borda);border-radius:14px;padding:7px 11px;word-break:break-word;line-height:1.42}
.msg-row.mine .msg-bubble{background:var(--ouro);border-color:var(--ouro);color:#2a1e0c}
.msg-bubble a{color:var(--sangue);text-decoration:underline}
.msg-row.mine .msg-bubble a{color:#3a1410}
.msg-time{display:block;font-size:.66em;opacity:.6;margin-top:3px;text-align:right}
.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--borda);background:var(--perg)}
.chat-input input{flex:1;min-width:0;padding:9px 13px;border:1px solid var(--ouro);border-radius:20px;background:#fffdf6;font-family:var(--font-body)}

/* ===== Responsividade — abas roláveis + header limpo no celular ===== */
@media(max-width:600px){
  .abas{gap:0;margin-top:12px}
  .aba-btn{padding:9px 13px;font-size:13.5px}
  .aba-btn iconify-icon{font-size:15px}
  .aba-badge{font-size:10px;padding:0 5px;min-width:15px}
  .userbox .modo-btn{display:none}   /* remove o botão de modo (parecia 2º menu) */
  .msg-wrap{display:none}            /* chat vai pelo menu do usuário (com contador) */
  .hero2 .in{padding:22px 16px}
  .hero2 .acts{gap:6px}
  .hero2 .acts .btn{padding:7px 11px;font-size:12.5px}
  .chat-wrap{height:70vh}
  .msg-row{max-width:90%}
}

/* ===== Gerenciamento de conversas ===== */
.conv-tools{display:flex;flex-direction:column;gap:10px;margin:6px 0 14px}
.conv-busca{width:100%;padding:10px 14px;border:1px solid var(--ouro);border-radius:22px;background:#fffdf6;font-family:var(--font-body)}
.conv-filtros{display:flex;flex-wrap:wrap;gap:6px}
.conv-chip{background:var(--perg2);border:1px solid var(--borda);color:var(--tinta2);border-radius:999px;padding:5px 13px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-head);transition:.14s}
.conv-chip:hover{border-color:var(--ouro)}
.conv-chip.on{background:var(--sangue);border-color:var(--sangue);color:#fff}
.conv-item{position:relative}
.conv-item.fixada{border-color:var(--ouro);background:var(--perg)}
.conv-pin{margin-right:2px}
.conv-menu{flex:0 0 auto;position:relative;margin-left:2px}
.conv-menu-btn{background:none;border:none;color:var(--tinta2);font-size:22px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:8px}
.conv-menu-btn:hover{background:var(--papel);color:var(--sangue)}
.conv-menu-pop{display:none;position:absolute;top:100%;right:0;z-index:40;min-width:186px;background:var(--perg2);border:1px solid var(--ouro);border-radius:12px;box-shadow:0 8px 22px rgba(0,0,0,.28);padding:5px;margin-top:4px}
.conv-menu-pop.on{display:block}
.conv-menu-pop a{display:block;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--tinta);white-space:nowrap}
.conv-menu-pop a:hover{background:var(--papel)}
.conv-menu-pop a.perigo{color:var(--sangue)}
.chat-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;margin:.1em 0 .4em}
.chat-head h1{margin:0;font-size:22px}
.chat-head-acts{display:flex;gap:6px;flex-wrap:wrap}
.msg-linha{display:flex;align-items:flex-end;gap:4px;max-width:100%}
.msg-row.mine .msg-linha{flex-direction:row-reverse}
.msg-del{opacity:0;background:none;border:none;color:var(--tinta2);cursor:pointer;font-size:13px;padding:2px 4px;flex:0 0 auto;transition:opacity .12s}
.msg-row:hover .msg-del{opacity:.55}
.msg-del:hover{opacity:1;color:var(--sangue)}
@media(max-width:600px){ .msg-del{opacity:.4} .conv-menu-btn{font-size:24px} }

/* ===== Chat: formatação, anexos, modal ===== */
.chat-foot{border-top:1px solid var(--borda);background:var(--perg)}
.chat-foot .chat-input{border-top:none}
.chat-fmt{display:flex;gap:5px;padding:7px 10px 0;flex-wrap:wrap}
.fmtb{display:inline-flex;align-items:center;justify-content:center;background:var(--perg2);border:1px solid var(--borda);border-radius:7px;min-width:30px;height:28px;padding:0 7px;cursor:pointer;color:var(--tinta);font-size:14px;font-family:var(--font-head);line-height:1}
.fmtb:hover{border-color:var(--ouro);color:var(--sangue)}
.fmtb.mono{font-family:monospace;font-size:12px}
.msg-bubble code{background:rgba(0,0,0,.13);padding:1px 5px;border-radius:5px;font-family:monospace;font-size:.9em}
.msg-row.mine .msg-bubble code{background:rgba(0,0,0,.16)}
.msg-img{max-width:210px;max-height:220px;border-radius:8px;display:block;margin:2px 0}
.msg-img-link{display:inline-block}
.mdl-ov{position:fixed;inset:0;background:rgba(10,6,3,.55);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}
.mdl{background:var(--perg);border:1px solid var(--ouro);border-radius:14px;max-width:440px;width:100%;max-height:82vh;overflow:auto;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.mdl-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--borda)}
.mdl-head h3{margin:0;font-family:var(--font-head);color:var(--sangue);font-size:18px}
.mdl-x{background:none;border:none;font-size:19px;cursor:pointer;color:var(--tinta2)}
.mdl-x:hover{color:var(--sangue)}
.mdl-body{padding:14px 16px}

/* TUDO MEU! — abas roláveis no mobile (mesma base do .abas) */
@media(max-width:600px){
  .tm-tabs{gap:0}
  .tm-tab-btn{padding:9px 13px;font-size:13.5px}
}

/* ===== Modal de confirmação / Zona de perigo (LGPD) ===== */
body.modal-lock{ overflow:hidden; }
.mds-modal-ov{ position:fixed; inset:0; background:rgba(0,0,0,.62); display:flex; align-items:center; justify-content:center; z-index:9000; padding:18px; }
.mds-modal{ background:var(--perg2,var(--papel)); color:var(--tinta); border:2px solid var(--sangue); border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.5); max-width:440px; width:100%; padding:20px 22px; font-family:var(--font-body); }
.mds-modal.mds-modal-lg{ max-width:560px; }
.mds-modal h3{ margin:0 0 .5em; font-family:var(--font-head); color:var(--sangue); }
.mds-modal-corpo{ font-size:.96em; line-height:1.5; }
.mds-modal-corpo p{ margin:.4em 0; }
.mds-modal-lb{ display:block; margin:.9em 0 .3em; font-size:.92em; }
.mds-modal-inp{ width:100%; box-sizing:border-box; padding:9px 11px; border:1px solid var(--borda); border-radius:6px; background:var(--campo,var(--papel)); color:var(--tinta); font-size:1em; }
.mds-modal-inp:focus{ outline:2px solid var(--sangue); outline-offset:1px; }
.mds-modal-acts{ display:flex; gap:10px; justify-content:flex-end; margin-top:16px; }
.ec-op{ border:1px solid var(--borda); border-radius:7px; padding:9px 11px; margin:.5em 0; }
.ec-op label{ display:block; cursor:pointer; font-size:.92em; line-height:1.45; }
.ec-suc{ margin-top:.5em; width:100%; box-sizing:border-box; padding:7px 9px; border:1px solid var(--borda); border-radius:6px; background:var(--campo,var(--papel)); color:var(--tinta); }
.btn.perigo{ background:var(--sangue); color:#fff; border-color:var(--sangue); }
.btn.perigo:hover{ filter:brightness(1.08); }
.btn.perigo:disabled{ opacity:.5; cursor:not-allowed; }
.form.zona-perigo{ border:1px dashed var(--sangue); margin-top:22px; }
.form.zona-perigo h3{ color:var(--sangue); font-family:var(--font-head); margin-top:0; }
.rodape .rodape-legal a{ text-decoration:underline; }

/* ===== Aceite de termos (cadastro) + páginas legais ===== */
.aceite-lb{ display:block; font-size:.88em; line-height:1.45; margin:6px 2px 12px; text-align:left; opacity:.95; }
.aceite-lb input{ margin-right:6px; }
.aceite-lb a{ text-decoration:underline; cursor:pointer; }
.doc-legal{ max-width:760px; margin:0 auto; }
.doc-legal h1{ font-family:var(--font-head); color:var(--sangue); }
.doc-legal h2{ font-family:var(--font-head); margin-top:1.4em; }
.doc-legal blockquote{ border-left:3px solid var(--ouro); padding:.3em .9em; background:var(--perg2,transparent); font-size:.92em; opacity:.9; }

/* ===== Denúncias (Painel Admin) ===== */
.den-filtros{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.den-filtros .btn.on{ background:var(--sangue); color:#fff; border-color:var(--sangue); }
.den-list{ display:flex; flex-direction:column; gap:10px; }
.den-card{ border:1px solid var(--borda); border-left:4px solid var(--sangue); border-radius:8px; padding:10px 12px; background:var(--perg2,var(--papel)); }
.den-top{ display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; align-items:baseline; }
.den-cat{ font-family:var(--font-head); font-weight:600; color:var(--sangue); }
.den-det{ margin:.4em 0; white-space:pre-wrap; }
.den-acts{ display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }

/* ===== Tela de acesso (login/cadastro) — redesenho ===== */
.login{ max-width:440px; margin:6vh auto; background:
    radial-gradient(120% 90% at 50% -10%, var(--perg2,var(--perg)) 0%, var(--perg) 55%);
  border:1px solid var(--ouro); border-radius:18px; padding:30px 30px 26px;
  box-shadow:0 10px 40px var(--sombra), inset 0 0 0 1px rgba(255,255,255,.04); position:relative; }
.login::before{ content:""; position:absolute; inset:7px; border:1px solid var(--borda); border-radius:12px; pointer-events:none; opacity:.55; }
.login-emblema{ width:66px; height:66px; margin:2px auto 8px; border-radius:50%;
  background:var(--papel); border:2px solid var(--ouro); display:flex; align-items:center; justify-content:center;
  font-size:32px; color:var(--sangue); box-shadow:0 3px 12px var(--sombra); }
.login-emblema iconify-icon{ color:var(--sangue); }
.login h1{ text-align:center; font-family:var(--font-head); font-size:30px; letter-spacing:.02em; color:var(--sangue); margin:0; }
.login .sub{ text-align:center; color:var(--tinta2); font-style:italic; margin:.25em 0 0; }
.login-orna{ text-align:center; color:var(--ouro); letter-spacing:.5em; font-size:13px; margin:10px 0 16px; opacity:.85; }
.login-form{ display:flex; flex-direction:column; gap:13px; }
.login .campo{ display:flex; flex-direction:column; gap:5px; margin:0; text-align:left; }
.login .campo>label{ font-size:12.5px; font-weight:600; letter-spacing:.03em; color:var(--tinta2); text-transform:uppercase; }
.login .campo-in{ position:relative; display:flex; align-items:center; }
.login .campo-in .fx{ position:absolute; left:12px; font-size:16px; opacity:.7; pointer-events:none; }
.login .campo-in input{ width:100%; box-sizing:border-box; padding:12px 14px 12px 38px; margin:0;
  border:1px solid var(--borda); border-radius:10px; background:var(--campo,var(--papel)); color:var(--tinta);
  font-family:inherit; font-size:15px; transition:border-color .15s, box-shadow .15s, background .15s; }
.login .campo-in input::placeholder{ color:var(--tinta2); opacity:.6; }
.login .campo-in input:focus{ outline:0; border-color:var(--sangue); box-shadow:0 0 0 3px color-mix(in srgb, var(--sangue) 22%, transparent); background:var(--papel); }
.login .campo-in .olho{ position:absolute; right:8px; background:none; border:0; cursor:pointer; font-size:16px; padding:4px 6px; opacity:.65; line-height:1; }
.login .campo-in .olho:hover{ opacity:1; }
.login-hint{ min-height:1.1em; margin:0; font-size:12.5px; color:var(--sangue); text-align:left; }
.login .aceite-lb{ margin:2px 0 4px; }
.login .aceite-lb input{ width:auto; margin:0 7px 0 0; }
.login-btn{ width:100%; margin-top:2px; text-align:center; font-family:var(--font-head); font-size:16px; letter-spacing:.03em; padding:13px; border-radius:10px; box-shadow:0 4px 14px var(--sombra); transition:transform .12s, filter .12s; }
.login-btn:hover:not(:disabled){ transform:translateY(-1px); filter:brightness(1.06); }
.login-btn:disabled{ opacity:.5; cursor:not-allowed; }
.login-alt{ text-align:center; margin-top:14px; color:var(--tinta2); font-size:14px; }
.login-explorar{ text-align:center; margin-top:14px; }
@media(max-width:480px){ .login{ margin:3vh 12px; padding:24px 20px; } .login h1{ font-size:26px; } }

/* ===== Mobile: menus do topo (sino/usuário/mundo) sem vazar da tela ===== */
@media(max-width:640px){
  .sino-menu.aberto, .user-menu.aberto, .world-menu.aberto{
    position:fixed; left:8px; right:8px; top:60px; width:auto; max-width:none;
    max-height:calc(100vh - 72px); overflow:auto;
  }
}

/* ===== Notificações: "ver todas" no sino + página de histórico ===== */
.sino-vertodas{display:block;text-align:center;padding:10px 13px;font-family:var(--font-head);font-size:13px;color:var(--sangue);cursor:pointer;background:var(--perg2)}
.sino-vertodas:hover{text-decoration:underline}
.notif-lista{display:flex;flex-direction:column;border:1px solid var(--ouro);border-radius:10px;overflow:hidden;background:var(--perg)}
.notif-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--borda);color:var(--tinta);cursor:pointer;text-decoration:none}
.notif-row:last-child{border-bottom:none}
.notif-row:hover{background:var(--perg2)}
.notif-row.nlida{background:rgba(124,28,20,.08)}
.notif-row.nlida .notif-tx{font-weight:600}
.notif-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:transparent}
.notif-row.nlida .notif-dot{background:var(--sangue)}
.notif-tx{flex:1;min-width:0;line-height:1.35}
.notif-row .sino-data{flex:0 0 auto;white-space:nowrap}

/* ===== Escudo do Mestre ===== */
.esc-intro{margin:.2em 0 1em}
.escudo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.esc-tool{background:var(--papel);border:1px solid var(--borda);border-radius:12px;box-shadow:0 1px 4px var(--sombra);overflow:hidden;display:flex;flex-direction:column}
.esc-tool>h3{font-family:var(--font-head);color:var(--sangue);font-size:16px;margin:0;padding:11px 14px;background:var(--perg);border-bottom:1px solid var(--borda);display:flex;align-items:center;gap:8px}
.esc-tool .esc-body{padding:14px;display:flex;flex-direction:column;gap:10px}
.esc-tool-wide{grid-column:1 / -1}
.esc-tool .esc-body textarea,.esc-tool .esc-body input{width:100%}
.esc-row{display:flex;gap:8px;align-items:center}
.esc-row input{flex:1;min-width:0}
.esc-acts{margin:2px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.esc-addbox{margin-top:6px;padding:11px 12px;background:var(--perg);border:1px solid var(--borda);border-radius:9px;display:flex;flex-direction:column;gap:9px}
.esc-addbox::before{content:"Adicionar";font-family:var(--font-head);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta2);opacity:.75}
/* dados */
.esc-dados{display:flex;flex-wrap:wrap;gap:6px}
.esc-dado{font-family:var(--font-head);font-size:14px;min-width:48px;padding:9px 0;text-align:center;border:1px solid var(--ouro);border-radius:9px;background:var(--campo);color:var(--sangue);cursor:pointer}
.esc-dado:hover{background:var(--perg2)}
.esc-rolagem{text-align:center;font-family:var(--font-head);font-size:40px;color:var(--sangue);margin:2px 0;min-height:46px;line-height:1.05}
.esc-rolagem small{display:block;font-family:var(--font-body);font-size:13px;color:var(--tinta2);font-style:italic}
.esc-hist{list-style:none;margin:0;padding:0;max-height:100px;overflow:auto;font-size:13px;color:var(--tinta2)}
.esc-hist li{border-top:1px dotted var(--borda);padding:3px 0}
/* planilha de batalha (colunas editaveis) */
.esc-plan-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--borda);border-radius:8px;max-width:100%}
table.esc-plan{border-collapse:collapse;font-size:13.5px;min-width:100%}
.esc-plan th{background:var(--perg);padding:2px 3px;border-bottom:1px solid var(--borda);border-right:1px dotted var(--borda);white-space:nowrap;position:relative;vertical-align:middle}
.esc-plan td{padding:2px 4px;border-bottom:1px dotted var(--borda);border-right:1px dotted var(--borda)}
.esc-plan td input{width:100%;min-width:74px;border:0;background:transparent;padding:3px;color:var(--tinta)}
.esc-plan input.esc-plan-col{width:100px;font-family:var(--font-head);font-size:10.5px;text-transform:uppercase;color:var(--tinta2);border:0;background:transparent;padding:2px 15px 2px 2px}
.esc-plan-delcol{position:absolute;top:1px;right:0;border:0;background:0;color:var(--sangue);cursor:pointer;font-size:11px;opacity:.45;line-height:1;padding:1px 2px}
.esc-plan-delcol:hover{opacity:1}
.esc-plan-thx{width:26px}
.esc-plan tr.ativo{background:var(--perg2)}
.esc-plan-ro td,.esc-plan-ro th{padding:4px 8px;font-size:13.5px}
.esc-rm{color:var(--sangue);cursor:pointer;border:0;background:0;font-size:15px;line-height:1;padding:2px 4px}
/* trilha */
.esc-pastas{display:flex;flex-wrap:wrap;gap:6px}
.esc-pasta{font-size:13px;padding:5px 12px;border:1px solid var(--ouro);border-radius:20px;cursor:pointer;background:var(--campo);color:var(--tinta);font-family:var(--font-body)}
.esc-pasta.on{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.esc-faixa{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dotted var(--borda);font-size:14px}
.esc-faixa-nm{flex:1;min-width:0}
.esc-play{width:30px;height:30px;border-radius:50%;border:1px solid var(--ouro);background:var(--campo);color:var(--sangue);cursor:pointer;flex:0 0 30px;font-size:13px}
.esc-embed{width:100%;height:80px;border:0;border-radius:8px;margin:4px 0}
.esc-embed-sp{height:152px}
/* imagens */
.esc-imgs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.esc-imgtile{aspect-ratio:1;border-radius:8px;border:1px solid var(--borda);cursor:pointer;background-size:cover;background-position:center;position:relative;overflow:hidden}
.esc-imgtile:hover{outline:2px solid var(--ouro)}
.esc-imgtile-t{position:absolute;left:0;right:0;bottom:0;font-size:11px;font-family:var(--font-head);color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));padding:12px 5px 4px;text-shadow:0 1px 2px #000}
.esc-imgtile-x{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:12px;display:none;align-items:center;justify-content:center;text-align:center;line-height:20px}
.esc-imgtile:hover .esc-imgtile-x{display:block}
/* tabela consulta */
.esc-tabela{margin-bottom:10px}
.esc-tabela-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--font-head);font-size:14px;color:var(--sangue)}
.esc-tabela-acts{margin-left:auto;display:flex;gap:6px;align-items:center}
table.esc-tc{width:100%;border-collapse:collapse;margin-top:6px}
.esc-tc td{padding:4px 6px;border-bottom:1px dotted var(--borda);font-size:14px}
.esc-tc tr.hit{background:var(--perg2);font-weight:600}
.esc-tc .esc-tc-n{color:var(--tinta2);width:44px;white-space:nowrap}
/* regras / acordeão */
.esc-acc{border-bottom:1px dotted var(--borda)}
.esc-acc summary{cursor:pointer;font-family:var(--font-head);font-size:14px;color:var(--sangue);padding:7px 0}
.esc-acc .corpo{font-size:14px;margin:2px 0 10px}
/* listas (pers, novidades, histórico) */
.esc-lista{list-style:none;margin:0;padding:0}
.esc-lista li{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px dotted var(--borda);font-size:14px;cursor:pointer}
.esc-lista li:hover{background:var(--perg)}
.esc-av{width:34px;height:34px;border-radius:50%;background:var(--perg2);border:1px solid var(--ouro);display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 34px;background-size:cover;background-position:center;color:var(--sangue);font-family:var(--font-head)}
.esc-li-nm{flex:1;min-width:0}
.esc-tag2{font-size:11px;background:var(--perg2);border:1px solid var(--borda);border-radius:12px;padding:1px 8px;color:var(--tinta2);margin-left:auto;white-space:nowrap}
.esc-tag2.esc-novo{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.esc-hist-li .esc-hist-ic{width:34px;height:34px;border-radius:8px;background:var(--perg2);border:1px solid var(--ouro);display:flex;align-items:center;justify-content:center;flex:0 0 34px;color:var(--sangue)}
.esc-hist-li{align-items:flex-start}
.esc-hist-tx{flex:1;min-width:0}
/* cards de gerenciamento */
.esc-ger{cursor:pointer;transition:box-shadow .12s,transform .12s}
.esc-ger:hover{box-shadow:0 3px 10px var(--sombra);transform:translateY(-1px)}
.esc-ger>h3{color:var(--sangue)}
/* resumo de novidades na tela da mesa */
.nov-resumo-lista li{cursor:pointer}
/* responsivo */
@media(max-width:820px){.escudo-grid{grid-template-columns:1fr}.esc-tool-wide{grid-column:auto}.esc-imgs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.esc-imgs{grid-template-columns:repeat(2,1fr)}}


/* ===== Escudo do Mestre — melhorias (2026-07-08 v2) ===== */
/* abas do hub do escudo: quebram em linhas (nao cortam a ultima) */
.abas[data-abas^="mestre-"]{flex-wrap:wrap;overflow:visible}
/* escudos salvos */
.esc-sel{flex:1;min-width:0}
.esc-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--tinta2);flex:1;min-width:150px}
.esc-check input{width:auto!important;flex:0 0 auto}
.esc-escudos-lista{list-style:none;margin:0;padding:0}
.esc-escudo-li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dotted var(--borda);font-size:14px;flex-wrap:wrap}
.esc-escudo-nm{flex:1;min-width:150px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.esc-escudo-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:auto}
.esc-tag2.esc-padrao{background:var(--ouro);color:#3a2b12;border-color:var(--ouro)}
/* biblioteca de imagens: rolavel + compacta */
.esc-imgs-scroll{max-height:330px;overflow-y:auto;padding-right:2px;margin-top:4px}
.esc-imgs-ro{margin-top:4px}
/* tabela de monstros */
.esc-mons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.esc-mon-card{border:1px solid var(--borda);border-radius:10px;background:var(--perg);padding:9px 10px}
.esc-mon-h{display:flex;align-items:center;gap:6px;font-family:var(--font-head);color:var(--sangue)}
.esc-mon-h b{flex:1;min-width:0}
.esc-mon-acts{display:flex;gap:4px;align-items:center}
.esc-mon-chips{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}
.esc-mon-chip{font-size:11px;background:var(--campo);border:1px solid var(--borda);border-radius:10px;padding:1px 7px;color:var(--tinta2)}
.esc-mon-obs{margin:2px 0}
.esc-mon-res{font-size:13px;color:var(--sangue);min-height:2px}
.esc-mon-res b{color:var(--tinta)}
/* modal do escudo (personagem/resumo) */
.esc-modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:10002;display:flex;align-items:center;justify-content:center;padding:18px}
.esc-modal{background:var(--papel);border:1px solid var(--borda);border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.5);max-width:560px;width:100%;max-height:88vh;overflow:auto;padding:16px}
.esc-modal-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.esc-modal-head h3{margin:0;color:var(--sangue);font-family:var(--font-head)}
.esc-modal-av{width:56px;height:56px;border-radius:50%;background:var(--perg2);background-size:cover;background-position:center;border:1px solid var(--ouro);flex:0 0 56px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--sangue);font-family:var(--font-head)}
.esc-modal-x{margin-left:auto;border:0;background:0;color:var(--sangue);font-size:18px;cursor:pointer;line-height:1}
.esc-modal-lb{display:block;font-family:var(--font-head);color:var(--sangue);font-size:14px;margin:4px 0}
.esc-modal textarea{width:100%}
/* regras rapidas: botao de excluir no summary */
.esc-acc-rm{float:right;opacity:.5;margin-left:8px}
.esc-acc-rm:hover{opacity:1}
/* historico do escudo na tela da sessao */
.esc-hist-escudo{border:1px solid var(--borda);border-radius:10px;background:var(--perg);padding:12px 14px;margin-top:6px}
.esc-hist-escudo h4{margin:12px 0 4px;color:var(--sangue)}
.esc-hist-nm{margin:0 0 6px}
.esc-hist-notas{white-space:normal;font-size:14px}
.esc-hist-trilha li{cursor:default}


/* ===== Escudo do Mestre — sub-navegação por grupos (2026-07-08 v3) ===== */
.esc-intro{margin:.2em 0 .8em}
/* faixa de Escudos preparados no topo (compacta) */
.esc-prepbar{margin-bottom:12px}
.esc-prepbar>h3{background:var(--perg2)}
/* segmented control (pílulas) para escolher o grupo de ferramentas */
.esc-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 2px}
.esc-subtab{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid var(--ouro);border-radius:22px;background:var(--campo);color:var(--tinta);font-family:var(--font-head);font-size:14.5px;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s}
.esc-subtab:hover{background:var(--perg2)}
.esc-subtab.on{background:var(--sangue);color:#fff;border-color:var(--sangue);box-shadow:0 1px 5px var(--sombra)}
/* grupos: só um visível por vez */
.esc-grp{display:none}
.esc-grp.on{display:block;animation:abaIn .18s ease}
.esc-grp-tip{margin:2px 0 14px}
@media(max-width:600px){.esc-subnav{gap:6px}.esc-subtab{padding:8px 13px;font-size:13.5px}}


/* ===== Lista lateral com limite + "Mostrar todos" (2026-07-08) ===== */
.nav-more-wrap{display:none}
.nav-more-wrap.on{display:block;animation:abaIn .15s ease}
.nav-more{display:block;cursor:pointer;font-size:12.5px;color:var(--sangue);padding:5px 10px 5px 18px;font-style:italic;font-weight:600}
.nav-more:hover{text-decoration:underline;background:var(--perg)}

/* Encontros + anotações auto-crescer + ponte bestiário (Escudo) */
.esc-enc{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.esc-enc-lb{font-weight:600;color:var(--tinta2)}
.esc-enc-sel{flex:0 1 240px;min-width:150px}
.esc-notas-wrap{position:relative}
.esc-grow{min-height:64px;max-height:360px;overflow-y:auto;resize:none}
.esc-notas-wrap .esc-expand{position:absolute;right:6px;bottom:6px;border:1px solid var(--ouro);background:var(--campo);color:var(--tinta2);border-radius:6px;cursor:pointer;font-size:14px;line-height:1;padding:2px 7px;opacity:.65}
.esc-notas-wrap .esc-expand:hover{opacity:1}
#esc-notas-big{width:100%;min-height:340px;resize:vertical;padding:9px 11px;border:1px solid var(--ouro);border-radius:8px;font-family:inherit;font-size:15px;background:var(--campo);color:var(--tinta)}
.esc-plan-acts{white-space:nowrap}
.esc-plan-b2{border:none;background:none;cursor:pointer;font-size:14px;opacity:.55;padding:0 2px}
.esc-plan-b2:hover{opacity:1}

/* Card de monstro: ações no rodapé + filtro NPC/Jogador (Escudo) */
.esc-mon-foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.esc-mon-foot .btn{white-space:nowrap}
.esc-pers-fil{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.esc-chipf{border:1px solid var(--ouro);background:var(--campo);color:var(--tinta2);border-radius:14px;padding:3px 12px;font-size:13px;cursor:pointer;font-family:inherit}
.esc-chipf.on{background:var(--sangue);color:#fff;border-color:var(--sangue)}

/* Resultado do rolador com a forma do dado (Escudo) */
.esc-rolagem.shape{display:flex;flex-direction:column;align-items:center;justify-content:center;width:132px;height:132px;margin:8px auto;background:var(--campo);color:var(--sangue);font-size:34px;line-height:1;box-sizing:border-box;padding:10px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}
.esc-rolagem.shape small{font-size:11px;margin-top:3px}
.esc-rolagem.d6{border-radius:14px}
.esc-rolagem.d100{border-radius:50%}
.esc-rolagem.d4{clip-path:polygon(50% 4%,3% 96%,97% 96%);justify-content:flex-end;padding-bottom:16px}
.esc-rolagem.d8{clip-path:polygon(50% 2%,98% 50%,50% 98%,2% 50%)}
.esc-rolagem.d10{clip-path:polygon(50% 1%,98% 40%,50% 99%,2% 40%)}
.esc-rolagem.d12{clip-path:polygon(50% 2%,98% 38%,80% 98%,20% 98%,2% 38%)}
.esc-rolagem.d20{clip-path:polygon(50% 2%,93% 26%,93% 74%,50% 98%,7% 74%,7% 26%)}

/* Tabela de Monstros: busca + alternador cartões/lista (Escudo) */
.esc-mon-bar{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.esc-mon-bar #esc-mon-q{flex:1}
.esc-viewtog{display:flex;flex:0 0 auto}
.esc-vbtn{border:1px solid var(--ouro);background:var(--campo);color:var(--tinta2);cursor:pointer;font-size:16px;line-height:1;padding:6px 10px}
.esc-vbtn:first-child{border-radius:8px 0 0 8px}
.esc-vbtn:last-child{border-radius:0 8px 8px 0;border-left:none}
.esc-vbtn.on{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.esc-mon-litem{border-bottom:1px dotted var(--borda);padding:6px 2px}
.esc-mon-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.esc-mon-rnm{flex:0 0 auto;color:var(--sangue);font-family:var(--font-head)}
.esc-mon-rchips{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 120px}
.esc-mon-racts{display:flex;gap:4px;flex:0 0 auto;align-items:center}

/* Resultado da rolagem do monstro — leitura rápida (Escudo) */
.esc-roll{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.esc-roll-line{display:flex;align-items:baseline;gap:10px}
.esc-roll-lb{flex:0 0 58px;font-size:11px;color:var(--tinta2);text-transform:uppercase;letter-spacing:.04em}
.esc-roll-tot{font-family:var(--font-head);font-size:20px;color:var(--sangue);min-width:26px;text-align:right}
.esc-roll-det{font-size:12px;color:var(--tinta2);font-style:italic}

/* Resultado da rolagem: botão limpar (Escudo) */
.esc-roll{position:relative;padding-right:18px}
.esc-roll-x{position:absolute;top:-2px;right:-2px;border:none;background:none;color:var(--tinta2);cursor:pointer;font-size:12px;opacity:.55;line-height:1;padding:2px}
.esc-roll-x:hover{opacity:1;color:var(--sangue)}


/* ===== Escudo do Mestre — responsividade mobile (2026-07-08 v4) ===== */
@media(max-width:600px){
  /* abas do hub voltam a rolar na horizontal (mais limpo que quebrar em 2 colunas) */
  .abas[data-abas^="mestre-"]{flex-wrap:nowrap;overflow-x:auto}
  /* linhas de formulário do escudo: empilham em vez de estourar a largura */
  .esc-row{flex-wrap:wrap}
  .esc-addbox .esc-row>input,.esc-addbox .esc-row>select,.esc-addbox .esc-row>.esc-sel{flex:1 1 100%!important;min-width:0}
  .esc-addbox .esc-row>.btn{flex:1 1 auto;justify-content:center}
  .esc-check{flex:1 1 100%}
  /* botão de "2ª tela" não faz sentido no celular */
  .esc-so-desktop{display:none}
}

/* ===== Player de trilha sonora — barra fixa persistente (Escudo do Mestre) ===== */
.mds-player{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--perg2,var(--papel));border-top:2px solid var(--ouro);box-shadow:0 -4px 18px var(--sombra,rgba(0,0,0,.25));font-family:var(--font-body)}
.mds-player.oculto{display:none}
.mp-video{flex:0 0 auto;width:150px;height:84px;border-radius:8px;overflow:hidden;background:#000;border:1px solid var(--borda)}
.mp-video #mds-yt,.mp-video iframe{width:150px;height:84px;border:0;display:block}
.mp-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center}
.mp-tit{font-weight:600;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-sub{font-size:12px;color:var(--tinta2)}
.mp-ctrls{flex:0 0 auto;display:flex;align-items:center;gap:4px}
.mp-b{width:38px;height:38px;border-radius:50%;border:1px solid var(--ouro);background:var(--campo);color:var(--tinta);cursor:pointer;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}
.mp-b:hover{border-color:var(--sangue)}
.mp-b.on{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.mp-play{background:var(--sangue);color:#fff;border-color:var(--sangue);font-size:16px}
.mp-x{border-color:var(--borda);color:var(--tinta2)}
@media(max-width:600px){ .mds-player{gap:6px;padding:6px 8px} .mp-video{width:66px;height:40px} .mp-video #mds-yt,.mp-video iframe{width:66px;height:40px} .mp-b{width:34px;height:34px;font-size:14px} .mp-sub{display:none} }

/* Trilha — controles do player e importação */
.esc-tr-ctrls{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.esc-tr-import{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dotted var(--borda)}
.esc-tr-leg{margin-top:6px}
.esc-tr-badge{margin-left:6px;color:var(--tinta2);font-size:12px}

/* Anotações — ações de salvar/baixar */
.esc-notas-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.esc-notas-acts .esc-sel{flex:1 1 auto;min-width:140px}

/* Importar do Spotify — progresso + revisão de match */
.esc-spbar{height:8px;border-radius:5px;background:var(--campo);border:1px solid var(--borda);overflow:hidden;margin:8px 0}
.esc-spbar-in{height:100%;background:var(--sangue);transition:width .2s}
.esc-sp-lista{list-style:none;padding:0;margin:8px 0;max-height:52vh;overflow:auto}
.esc-sp-li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dotted var(--borda)}
.esc-sp-th{flex:0 0 auto;width:52px;height:40px;border-radius:6px;background-size:cover;background-position:center;background-color:var(--campo);display:flex;align-items:center;justify-content:center}
.esc-sp-th0{color:var(--tinta2)}
.esc-sp-tx{flex:1 1 auto;min-width:0;font-size:14px}
.esc-sp-st{flex:0 0 auto;text-align:right;font-size:12px}
.esc-sp-ok{color:#2f7d32}
.esc-sp-no{color:#b23b3b}
.esc-sp-off{color:var(--tinta2)}

/* ============================================================================
   Trilhas Sonoras (tab pessoal) + player local — v20260709a
   ============================================================================ */
#mds-audio{display:none}
.mp-local{width:150px;height:84px;display:none;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(135deg,var(--perg2),var(--campo));color:var(--sangue)}
.mp-video{position:relative}

.ts-list{display:flex;flex-direction:column;gap:4px;max-height:52vh;overflow:auto}
.ts-item{display:flex;align-items:center;gap:7px;width:100%;text-align:left;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--tinta);cursor:pointer;font-family:var(--font-body);font-size:14px}
.ts-item:hover{background:var(--perg2)}
.ts-item.on{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.ts-item.on iconify-icon,.ts-item.on .ts-ct{color:#fff}
.ts-item iconify-icon{color:var(--ouro);flex:0 0 auto}
.ts-item .ts-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts-ct{flex:0 0 auto;font-size:12px;opacity:.7;background:var(--perg2);border-radius:10px;padding:0 7px;color:var(--tinta2)}
.ts-item.on .ts-ct{background:rgba(255,255,255,.25)}
.ts-item-acts{display:none;gap:2px;flex:0 0 auto}
.ts-item:hover .ts-item-acts,.ts-item.on .ts-item-acts{display:flex}
.ts-item-acts i{font-style:normal;cursor:pointer;padding:0 4px;border-radius:5px;opacity:.75}
.ts-item-acts i:hover{opacity:1;background:rgba(0,0,0,.12)}
.ts-add{display:flex;gap:6px;margin-top:8px}
.ts-add input{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--borda);border-radius:7px;background:var(--campo);color:var(--tinta);font-size:13px}
.ts-add-faixa{flex-wrap:wrap}
.ts-add-faixa .ts-fx-tit{flex:0 0 34%}
.ts-empty,.ts-aviso{padding:6px 4px}
.ts-aviso{color:var(--sangue)}
.ts-ctrls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ts-imp{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ts-faixas{display:flex;flex-direction:column;max-height:46vh;overflow:auto;margin-bottom:6px}
.ts-faixa{display:flex;align-items:center;gap:8px;padding:6px 2px;border-bottom:1px dotted var(--borda);font-size:14px}
.ts-faixa.ts-off{opacity:.55}
.ts-faixa-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts-play{width:30px;height:30px;flex:0 0 auto;border-radius:50%;border:1px solid var(--ouro);background:var(--campo);color:var(--sangue);cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}
.ts-play:hover{background:var(--sangue);color:#fff}
.ts-rm{flex:0 0 auto;border:0;background:transparent;color:var(--tinta2);cursor:pointer;font-size:14px;opacity:.6}
.ts-rm:hover{opacity:1;color:var(--sangue)}
.ts-badge{font-size:11px;margin-left:6px;color:var(--tinta2);opacity:.8}
.ts-badge-local{background:var(--perg2);border-radius:8px;padding:0 6px;color:var(--sangue)}
.ts-drop{margin-top:10px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border:2px dashed var(--ouro);border-radius:10px;text-align:center;color:var(--tinta2);background:var(--perg)}
.ts-drop.on{background:var(--perg2);border-color:var(--sangue);color:var(--sangue)}
.ts-drop-ic{font-size:26px}
.ts-drop-tx{font-size:13px}
.ts-drop-btn{margin-top:2px}
.esc-loc-lbl{cursor:pointer}
/* Modal "trazer da biblioteca" no Escudo */
.esc-bib{list-style:none;margin:8px 0;padding:0;max-height:50vh;overflow:auto}
.esc-bib-li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 4px;border-bottom:1px dotted var(--borda)}
.esc-bib-nm{min-width:0;overflow:hidden;text-overflow:ellipsis}
.esc-bib-acts{flex:0 0 auto;display:flex;gap:6px}
@media(max-width:760px){
  .ts-list{max-height:34vh}
  .ts-faixas{max-height:none}
}
/* Cabeçalho de pasta no modal "Trazer da biblioteca" (Escudo) */
.esc-bib-h{list-style:none;font-family:var(--font-title,serif);font-weight:700;color:var(--sangue);font-size:13px;padding:8px 2px 3px;border-bottom:1px solid var(--borda);margin-top:4px}
.esc-tr-badge-local{background:var(--perg2);border-radius:8px;padding:0 6px;color:var(--sangue);font-size:11px;margin-left:6px}

/* Barra "Conectar pasta de músicas" (ritual de sessão p/ faixas locais) */
.ts-connect{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border:2px dashed var(--ouro);border-radius:10px;background:var(--perg)}
.ts-connect.on{background:var(--perg2);border-color:var(--sangue)}
.ts-connect.ok{border-style:solid;border-color:var(--borda);background:transparent;color:var(--tinta2);font-size:13px;padding:8px 12px;display:block}
.ts-connect-tx{flex:1;min-width:200px}
.ts-connect-btn{flex:0 0 auto;cursor:pointer}
.ts-connect-btns{flex:0 0 auto;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
/* Breadcrumb de subpastas (aba Trilhas) */
/* Barra de progresso/seek do player (YouTube + local) */
.mp-prog{display:flex;align-items:center;gap:6px;margin-top:3px}
.mp-cur,.mp-dur{font-size:11px;color:var(--tinta2);min-width:32px;font-variant-numeric:tabular-nums}
.mp-dur{text-align:right}
.mp-seek{flex:1;min-width:80px;height:4px;-webkit-appearance:none;appearance:none;background:var(--perg2);border-radius:3px;cursor:pointer;outline:none}
.mp-seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--sangue);cursor:pointer;border:0}
.mp-seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--sangue);cursor:pointer;border:0}
/* Seleção múltipla + ações em massa (aba Trilhas) */
.ts-row{display:flex;align-items:center;gap:4px}
.ts-row .ts-item{flex:1;width:auto}
.ts-chk{flex:0 0 auto;cursor:pointer;accent-color:var(--sangue)}
.ts-row.sel{background:var(--perg2);border-radius:8px}
.ts-bulk{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:8px 12px;border:1px solid var(--sangue);border-radius:10px;background:var(--perg2)}
.ts-bulk-tx{font-size:13px;font-weight:600}
.ts-bulk-acts{display:flex;gap:6px;flex-wrap:wrap}
.btn.ts-danger{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.ts-faixa.sel{background:var(--perg2);border-radius:6px}
.ts-pick{display:flex;flex-direction:column;gap:2px;max-height:50vh;overflow:auto;margin:8px 0}
.ts-pick-it{text-align:left;background:transparent;border:1px solid var(--borda);border-radius:7px;padding:7px 9px;cursor:pointer;color:var(--tinta);font-family:var(--font-body)}
.ts-pick-it:hover{background:var(--perg2)}
.esc-tr-manage{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}
.btn.esc-danger{border-color:var(--sangue);color:var(--sangue)}
.btn.esc-danger:hover{background:var(--sangue);color:#fff}
/* Correção de jitter ao rolar listas de Trilhas (reflow por hover + scroll anchoring) */
.ts-list{overflow-anchor:none;overscroll-behavior:contain}
.ts-item-acts{display:flex !important;visibility:hidden}
.ts-item:hover .ts-item-acts,.ts-item.on .ts-item-acts,.ts-row:hover .ts-item-acts{visibility:visible}
.ts-faixas{overflow-anchor:none;overscroll-behavior:contain}
.ts-item{min-height:34px}
/* ===== Redesign da ferramenta Trilha Sonora do Escudo (v20260709h) ===== */
.esc-tr-head{margin-bottom:6px}
.esc-pastas{gap:5px;margin-bottom:8px}
.esc-pasta{font-size:12.5px;padding:4px 11px}
.esc-tr-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.esc-tr-play{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.esc-tr-manage{display:flex;gap:2px;margin:0;flex:0 0 auto}
.esc-tr-mini{background:transparent;border:0;color:var(--tinta2);cursor:pointer;font-size:12px;padding:4px 8px;border-radius:6px;font-family:var(--font-body);white-space:nowrap}
.esc-tr-mini:hover{background:var(--perg2);color:var(--sangue)}
.esc-tr-mini.danger:hover{background:var(--sangue);color:#fff}
/* lista de faixas como um card único, linhas limpas e densas */
.esc-faixas{max-height:340px;overflow:auto;overflow-anchor:none;border:1px solid var(--borda);border-radius:10px;background:var(--campo);margin:10px 0;padding:0}
.esc-faixa{display:flex;align-items:center;gap:10px;padding:5px 10px;border:0;border-bottom:1px solid var(--borda);border-radius:0;font-size:14px}
.esc-faixa:last-child{border-bottom:0}
.esc-faixa:hover{background:var(--perg2)}
.esc-faixa.ts-off{opacity:.5}
.esc-faixa-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esc-play{width:28px;height:28px;flex:0 0 28px;border-radius:50%;border:1px solid var(--ouro);background:var(--campo);color:var(--sangue);cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}
.esc-play:hover{background:var(--sangue);color:#fff}
.esc-rm{opacity:.5;color:var(--tinta2);border:0;background:0;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px}
.esc-faixa:hover .esc-rm{opacity:.75}
.esc-rm:hover{opacity:1;color:var(--sangue)}
/* barra de fontes (adicionar de) */
.esc-tr-src{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;padding-top:10px;border-top:1px solid var(--borda)}
.esc-tr-src-h{font-size:12px;color:var(--tinta2);font-weight:700;margin-right:2px}
.esc-tr-leg{margin-top:8px}
/* ===== Player: barra de progresso visível + polimento (cores do tema) v20260709i ===== */
.mds-player{gap:14px;padding:9px 16px;background:var(--papel);border-top:1px solid var(--ouro);box-shadow:0 -6px 22px var(--sombra,rgba(0,0,0,.22))}
.mp-video{width:104px;height:58px;border-radius:8px}
.mp-video #mds-yt,.mp-video iframe{width:104px;height:58px}
.mp-local{width:104px;height:58px;font-size:26px;background:radial-gradient(circle at 32% 30%,var(--perg2),var(--campo));color:var(--sangue)}
.mp-tit{font-size:15px}
.mp-prog{margin-top:6px;gap:8px}
.mp-cur,.mp-dur{font-size:11px;color:var(--tinta2);min-width:34px}
.mp-seek{flex:1;min-width:120px;height:6px;border-radius:4px;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}
.mp-seek::-webkit-slider-runnable-track{-webkit-appearance:none;height:6px;border-radius:4px;background:linear-gradient(var(--sangue),var(--sangue)) 0/var(--pct,0%) 100% no-repeat, rgba(90,60,30,.22)}
.mp-seek::-moz-range-track{height:6px;border-radius:4px;background:rgba(90,60,30,.22)}
.mp-seek::-moz-range-progress{height:6px;border-radius:4px;background:var(--sangue)}
.mp-seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-4px;border-radius:50%;background:var(--sangue);border:2px solid var(--papel);box-shadow:0 1px 3px rgba(0,0,0,.35);cursor:pointer}
.mp-seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--sangue);border:2px solid var(--papel);cursor:pointer}
.mp-b{width:40px;height:40px;transition:transform .08s ease,background .12s,border-color .12s}
.mp-b:active{transform:scale(.9)}
.mp-play{width:46px;height:46px;font-size:18px;box-shadow:0 2px 8px rgba(120,20,20,.28)}
@media(max-width:600px){ .mp-video,.mp-video #mds-yt,.mp-video iframe,.mp-local{width:60px;height:38px} .mp-play{width:42px;height:42px} }

/* ===== Indicador de carregamento global (mdsBusy) ===== */
.mds-busy{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;background:rgba(24,14,7,.26)}
.mds-busy.on{display:flex}
.mds-busy-card{display:flex;align-items:center;gap:13px;background:var(--papel);border:1px solid var(--ouro);border-radius:13px;padding:16px 22px;box-shadow:0 10px 34px rgba(0,0,0,.32);font-family:var(--font-body);color:var(--tinta);max-width:82vw}
.mds-busy-msg{font-size:14px}
.mds-spin{width:22px;height:22px;border-radius:50%;border:3px solid var(--perg2);border-top-color:var(--sangue);animation:mdsSpin .8s linear infinite;flex:0 0 auto}
@keyframes mdsSpin{to{transform:rotate(360deg)}}

/* ===== Polimento do Escudo do Mestre ===== */
.esc-tool{border-radius:14px;box-shadow:0 2px 10px var(--sombra,rgba(0,0,0,.08));transition:box-shadow .15s ease}
.esc-tool:hover{box-shadow:0 5px 18px var(--sombra,rgba(0,0,0,.14))}
.esc-tool>h3{font-size:15px;padding:12px 16px;background:linear-gradient(var(--perg),var(--papel))}
.esc-tool .esc-body{padding:16px}
.escudo-grid{gap:18px}
.esc-pasta{transition:background .12s,border-color .12s,transform .07s}
.esc-pasta:hover{border-color:var(--sangue)}
.esc-pasta:active{transform:scale(.97)}

/* ==================== Imagens: dropzone + croppers modernos + Home mundos + Escudo (2026-07-09) ==================== */
/* --- Dropzone reusável dos formulários (campoImagem) --- */
.imgfield{display:flex;flex-direction:column;gap:8px;margin:2px 0}
.imgdrop{position:relative;min-height:118px;border:2px dashed var(--ouro);border-radius:12px;background:var(--perg);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s,box-shadow .15s;outline:none}
.imgdrop:hover{background:var(--perg2)}
.imgdrop:focus-visible{box-shadow:0 0 0 3px rgba(154,123,63,.4)}
.imgdrop.drag{border-color:var(--sangue);background:var(--perg2);box-shadow:inset 0 0 0 9999px rgba(124,28,20,.06)}
.imgdrop.has{min-height:150px;border-style:solid;border-color:var(--borda)}
.imgdrop-prev{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.imgdrop.has .imgdrop-prev{box-shadow:inset 0 0 0 1px var(--borda)}
.imgdrop-ph{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:18px;color:var(--tinta2);font-family:var(--font-body);pointer-events:none}
.imgdrop-ic{font-size:30px;line-height:1}
.imgdrop-tx b{display:block;font-family:var(--font-head);color:var(--tinta);font-size:14px}
.imgdrop-tx span{font-size:12.5px}
.imgdrop.has .imgdrop-ph{opacity:0;transition:opacity .12s}
.imgdrop.has:hover .imgdrop-ph{opacity:1;background:rgba(20,12,6,.5);color:#fff;padding:18px 12px;width:100%;height:100%;justify-content:center}
.imgdrop.has:hover .imgdrop-tx b{color:#fff}
.imgdrop-busy{position:absolute;inset:0;z-index:2;display:none;align-items:center;justify-content:center;gap:10px;background:rgba(20,12,6,.55);color:#fff;font-family:var(--font-head);font-size:14px}
.imgdrop.busy .imgdrop-busy{display:flex}
.imgdrop.busy .imgdrop-ph{opacity:0}
.imgdrop-spin{width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:imgspin .8s linear infinite}
@keyframes imgspin{to{transform:rotate(360deg)}}
.imgfield-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.imgf-linkbtn{margin-left:auto;background:none;border:none;color:var(--sangue);cursor:pointer;font-family:var(--font-body);font-size:12.5px;text-decoration:underline;padding:2px}
.imgfield-url input{width:100%}
.imgf-st.ok{color:var(--ouro)}
.imgf-st.erro{color:var(--sangue)}

/* --- Croppers modernos (v2) --- */
.crop-box2{width:auto;max-width:94vw;min-width:min(460px,90vw);padding:16px 18px}
.crop-box2 .crop-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.crop-title{font-family:var(--font-head);color:var(--tinta);font-size:17px;font-weight:700}
.crop-asp2{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.crop-asp2 button{cursor:pointer;border:1px solid var(--ouro);background:var(--campo);border-radius:20px;padding:5px 14px;font-family:var(--font-head);font-size:12.5px;color:var(--tinta);transition:background .12s,color .12s}
.crop-asp2 button:hover{background:var(--perg2)}
.crop-asp2 button.on{background:var(--sangue);color:#fff;border-color:var(--sangue)}
.crop-stage2{display:block;width:fit-content;max-width:100%;margin:0 auto;background:#1a1410;border-radius:10px;overflow:hidden}
.crop-stage2 img{display:block;max-width:86vw;max-height:60vh;width:auto;height:auto;margin:0 auto;border-radius:10px}
.crop-sel2{border:1px solid rgba(255,255,255,.95);box-shadow:0 0 0 9999px rgba(0,0,0,.5)}
.crop-sel2 .ch{position:absolute;width:12px;height:12px;background:#fff;border:1px solid var(--sangue);border-radius:2px;z-index:2}
.crop-sel2 .ch-nw{left:-6px;top:-6px;cursor:nwse-resize}
.crop-sel2 .ch-ne{right:-6px;top:-6px;cursor:nesw-resize}
.crop-sel2 .ch-sw{left:-6px;bottom:-6px;cursor:nesw-resize}
.crop-sel2 .ch-se{right:-6px;bottom:-6px;cursor:nwse-resize}
.crop-sel2 .ch-n{left:50%;top:-6px;transform:translateX(-50%);cursor:ns-resize}
.crop-sel2 .ch-s{left:50%;bottom:-6px;transform:translateX(-50%);cursor:ns-resize}
.crop-sel2 .ch-e{right:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.crop-sel2 .ch-w{left:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.crop-sel2::before{content:"";position:absolute;left:33.33%;right:33.33%;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.35);border-right:1px solid rgba(255,255,255,.35);pointer-events:none}
.crop-sel2::after{content:"";position:absolute;top:33.33%;bottom:33.33%;left:0;right:0;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);pointer-events:none}
.crop-frame2{background:#1a1410}
.crop-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:33.33% 33.33%;opacity:.5}
.crop-zoomrow{display:flex;align-items:center;gap:10px;margin:12px 0 0}
.crop-zoomrow input[type=range]{flex:1}
.crop-zbtn{width:32px;height:32px;border-radius:8px;border:1px solid var(--ouro);background:var(--campo);color:var(--sangue);font-size:20px;line-height:1;cursor:pointer;font-family:var(--font-head)}
.crop-zbtn:hover{background:var(--perg2)}

/* --- Home: Meus mundos × Explorar + busca --- */
.hm-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.hm-tabs{display:inline-flex;gap:6px;background:var(--perg);border:1px solid var(--borda);border-radius:24px;padding:4px}
.hm-tab{display:inline-flex;align-items:center;gap:7px;border:none;background:none;cursor:pointer;border-radius:20px;padding:7px 16px;font-family:var(--font-head);font-size:13.5px;color:var(--tinta2);transition:background .12s,color .12s}
.hm-tab:hover{color:var(--tinta)}
.hm-tab.on{background:var(--sangue);color:#fff}
.hm-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:rgba(255,255,255,.25);font-size:11.5px;font-family:var(--font-body);font-weight:600}
.hm-tab:not(.on) .hm-count{background:var(--perg2);color:var(--tinta2)}
.hm-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.hm-busca{flex:1;min-width:220px}
.hm-busca input{width:100%;padding:9px 14px;border:1px solid var(--ouro);border-radius:22px;background:var(--campo);font-family:var(--font-body);color:var(--tinta)}
.hm-temas{display:flex;gap:6px;flex-wrap:wrap}
.hm-tchip{cursor:pointer;border:1px solid var(--borda);background:var(--perg);border-radius:16px;padding:5px 12px;font-family:var(--font-body);font-size:12.5px;color:var(--tinta2);transition:background .12s,color .12s,border-color .12s}
.hm-tchip:hover{background:var(--perg2);color:var(--tinta)}
.hm-tchip.on{background:var(--ouro);border-color:var(--ouro);color:#fff}
.hm-mais{display:flex;justify-content:center;margin:20px 0 4px}
@media(max-width:600px){.hm-head{gap:10px}.hm-tabs{width:100%;max-width:100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.hm-tabs::-webkit-scrollbar{display:none}.hm-tab{flex:0 0 auto;white-space:nowrap}.hm-busca{min-width:100%}}
/* Mundo em foco — botão que abre a busca (quando há muitos mundos) */
.mf-btn{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 14px;border:1px solid var(--ouro);border-radius:22px;background:var(--campo);color:var(--tinta);font-family:var(--font-head);font-size:14px;cursor:pointer}
.mf-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mf-btn i{font-style:normal;opacity:.6}
.mf-btn:hover{background:var(--perg2)}

/* --- Escudo do Mestre: passada de Design/UX (elegância, fluidez, conforto) --- */
.esc-img-drop{margin-top:2px}
.esc-imgs-grid{gap:9px}
.esc-imgtile{border-radius:10px;transition:transform .1s ease,outline-color .12s,box-shadow .12s;box-shadow:0 1px 3px var(--sombra)}
.esc-imgtile:hover{outline:2px solid var(--ouro);transform:translateY(-2px);box-shadow:0 4px 12px var(--sombra)}
.esc-imgtile-x{background:rgba(124,28,20,.82);top:5px;right:5px}
.esc-subtab{box-shadow:0 1px 3px var(--sombra)}
.esc-subtab.on{box-shadow:0 2px 8px var(--sombra)}
.esc-grp-tip{background:var(--perg);border-left:3px solid var(--ouro);border-radius:0 8px 8px 0;padding:8px 12px;font-style:italic}
.esc-addbox{box-shadow:inset 0 1px 3px rgba(0,0,0,.04)}
.esc-tool>h3{letter-spacing:.01em}

/* Sessoes — selo de data (Proxima / Jogada em / E hoje) */
.ses-data{margin:.4em 0 0}
.ses-selo{display:inline-block;font-size:12.5px;line-height:1.4;padding:3px 10px;border-radius:999px;border:1px solid var(--borda);background:var(--papel);color:var(--tinta2);font-family:var(--font-body)}
.ses-prox{border-color:var(--ouro);color:var(--ouro);font-weight:600}
.ses-hoje{border-color:var(--sangue);color:var(--sangue);font-weight:700}

/* ===== Linha do Tempo v3 — "Crônica" ===== */
.tl3{position:relative;margin-top:10px}
.tl3-ctl{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 14px}
.tl3-busca{flex:1 1 200px;display:flex;align-items:center;gap:8px;background:var(--campo);border:1px solid var(--borda);border-radius:20px;padding:6px 14px;color:var(--ouro)}
.tl3-busca input{border:0;outline:0;background:transparent;font-family:var(--font-body);font-size:15.5px;width:100%;color:var(--tinta)}
.tl3-vistas{display:flex;gap:6px}
.tl3-baixar{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
@media(max-width:640px){.tl3-baixar{margin-left:0}}
.tl3-tgl{display:flex;align-items:center;gap:7px;font-family:var(--font-head);font-size:12.5px;color:var(--tinta2);cursor:pointer;user-select:none}
.tl3-tgl .sw{width:36px;height:20px;border-radius:12px;background:var(--perg2);border:1px solid var(--borda);position:relative;transition:.2s;flex:0 0 auto}
.tl3-tgl .sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid var(--borda);transition:.2s}
.tl3-tgl .sw.on{background:var(--sangue);border-color:var(--sangue)}
.tl3-tgl .sw.on::after{left:17px}
body.tl-editando #tl-edit-btn .sw{background:var(--sangue);border-color:var(--sangue)}
body.tl-editando #tl-edit-btn .sw::after{left:17px}
.tl3-per{margin:0 0 24px;position:relative}
.tl3-anc{position:absolute;top:-70px}
.tl3-per-head{position:relative;list-style:none;border-radius:14px;overflow:hidden;cursor:pointer;color:#fff;padding:18px 20px;min-height:30px;display:flex;align-items:flex-end;gap:14px;box-shadow:0 3px 10px var(--sombra);border:1px solid var(--borda);background:#3a2616}
.tl3-per-head::-webkit-details-marker{display:none}
.tl3-per-head .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.tl3-per-head .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,6,.25),rgba(20,12,6,.78))}
.tl3-per-head>*{position:relative}
.tl3-per-head .tx{display:flex;flex-direction:column;min-width:0}
.tl3-per-head .nm{font-family:var(--font-head);font-size:21px;text-shadow:0 2px 6px rgba(0,0,0,.7);line-height:1.2}
.tl3-per-head .itv{font-size:13px;color:#e8d5a8;font-style:italic;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.tl3-per-head .ct{margin-left:auto;font-size:12px;font-family:var(--font-head);color:#f0d9b5;background:rgba(0,0,0,.35);border:1px solid rgba(240,217,181,.4);border-radius:14px;padding:2px 12px;white-space:nowrap}
.tl3-per-head .ped{color:#f0d9b5;font-size:15px;padding:0 4px;display:none}
.tl-editando .tl3-per-head .ped{display:inline}
.tl3-per-head .nm-edit{cursor:pointer}
.tl3-per-head .nm-pen{opacity:.6;font-size:15px}
.tl3-per-head .nm-edit:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
.tl3-per-head .nm-edit:hover .nm-pen{opacity:1}
.tl3-per-head .nm-input{font-family:var(--font-head);font-size:20px;background:rgba(255,255,255,.96);color:#2b241b;border:none;border-radius:8px;padding:2px 12px;outline:none;min-width:220px;max-width:70%}
.tl3-per-head .chev{color:#f0d9b5;font-size:14px;transition:.25s}
.tl3-per:not([open]) .tl3-per-head .chev{transform:rotate(-90deg)}
.tl3-fio{position:relative;margin:8px 0 0 24px;padding:14px 0 4px 34px}
.tl3-fio::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--ouro),transparent)}
.tl3-vazio{padding:6px 0 10px;margin:0}
.ev3{position:relative;margin:0 0 12px;display:flex;gap:8px;align-items:flex-start}
.ev3-med{position:absolute;left:-51px;top:2px;width:36px;height:36px;border-radius:50%;background:var(--papel);border:2px solid var(--ouro);display:flex;align-items:center;justify-content:center;color:var(--sangue);font-size:18px;box-shadow:0 2px 6px var(--sombra);z-index:2}
.ev3-med.destaque{border-color:var(--sangue);background:var(--sangue);color:#f0d9b5;width:42px;height:42px;left:-54px;font-size:21px}
.ev3-card{flex:1;min-width:0;background:var(--campo);border:1px solid var(--borda);border-radius:12px;padding:9px 14px;box-shadow:0 1px 4px var(--sombra);cursor:pointer;transition:.15s}
.ev3-card:hover{border-color:var(--ouro);transform:translateX(2px)}
/* --- linha do tempo v3.1: filtros, sessão no card, distância entre acontecimentos --- */
.tl3-filsel{padding:7px 9px;border:1px solid var(--borda);border-radius:8px;background:var(--campo);color:var(--tinta);font-size:13px;max-width:172px}
.ev3-gap{margin:-4px 0 10px 12px;font-size:12.5px;color:var(--tinta2);font-style:italic;opacity:.9}
.selo3.sessao{cursor:pointer}
.selo3.sessao:hover{text-decoration:underline}
.ar-form label{display:block;margin:10px 0 4px;font-weight:600}
.ar-form input,.ar-form select{width:100%;padding:8px;border:1px solid var(--borda);border-radius:8px;background:var(--campo);color:var(--tinta)}
.ar-form .row{display:flex;gap:10px}
.ar-form .row>div{flex:1;min-width:0}
.ev3.aberto .ev3-card{border-color:var(--ouro);box-shadow:0 4px 12px var(--sombra)}
.ev3-topo{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ev3-quando{font-family:var(--font-head);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#fff;background:var(--ouro);border-radius:10px;padding:1px 10px;white-space:nowrap}
.ev3-tit{font-family:var(--font-head);font-size:16px;color:var(--sangue);font-weight:600}
.ev3-res{color:var(--tinta2);font-size:14.5px;margin:2px 0 0;font-style:italic}
.ev3-chev{margin-left:auto;color:var(--ouro);font-size:12px;transition:.2s}
.ev3.aberto .ev3-chev{transform:rotate(180deg)}
.ev3-body{display:none;margin-top:8px;border-top:1px dotted var(--borda);padding-top:8px}
.ev3.aberto .ev3-body{display:block}
.ev3-img{float:right;max-width:220px;width:40%;margin:0 0 8px 12px;border-radius:8px;border:1px solid var(--borda)}
.ev3.aberto .ev3-body::after{content:"";display:block;clear:both}
.chips3{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.chip3{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;background:var(--perg);border:1px solid var(--borda);border-radius:12px;padding:2px 10px;color:var(--tinta2);cursor:pointer}
.chip3:hover{border-color:var(--ouro);color:var(--sangue)}
.chip3 iconify-icon{color:var(--ouro)}
.chip3.mais{border-style:dashed;color:var(--ouro);display:none}
.chip3 .x{display:none;color:var(--sangue);font-weight:700;margin-left:2px}
body.tl-editando .chip3 .x,body.tl-editando .chip3.mais{display:inline-flex}
.selo3{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-family:var(--font-head);letter-spacing:.4px;border-radius:10px;padding:1px 9px;border:1px solid var(--ouro);color:var(--ouro)}
.selo3.sessao{border-color:var(--sangue);color:var(--sangue)}
.ev3-sel,.ev3-drag{display:none}
body.tl-editando .ev3-sel{display:block;margin-top:9px;width:17px;height:17px;accent-color:var(--sangue);cursor:pointer;flex:0 0 auto}
body.tl-editando .ev3-drag{display:flex;align-items:center;color:var(--ouro);cursor:grab;font-size:17px;margin-top:7px;flex:0 0 auto}
.ev3.arrastando{opacity:.35}
.ev3.drop-antes::before{content:"";position:absolute;left:-8px;right:0;top:-7px;height:3px;background:var(--sangue);border-radius:2px}
.ev3-acoes{display:none;gap:12px;margin-top:8px;font-size:13.5px;align-items:center}
.ev3-acoes a{color:var(--sangue);cursor:pointer}
body.tl-editando .ev3.aberto .ev3-acoes{display:flex;flex-wrap:wrap}
.tl3-qadd{display:none;margin:4px 0 8px;gap:8px;align-items:center;color:var(--ouro)}
body.tl-editando .tl3-qadd{display:flex}
.tl3-qadd input{flex:1;border:1px dashed var(--ouro);background:transparent;border-radius:10px;padding:7px 12px;font-family:var(--font-body);font-size:15px;color:var(--tinta);outline:none}
.tl3-qadd input:focus{background:var(--campo);border-style:solid}
.tl3-rail{position:fixed;right:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;z-index:5}
.tl3-rail a{width:12px;height:12px;border-radius:50%;background:var(--perg2);border:2px solid var(--ouro);cursor:pointer;position:relative;display:block}
.tl3-rail a:hover::after{content:attr(data-n);position:absolute;right:20px;top:-4px;white-space:nowrap;background:#3a2616;color:#f0e6cf;font-size:12px;font-family:var(--font-head);padding:3px 10px;border-radius:8px}
.tl3-bulk{position:fixed;left:50%;transform:translateX(-50%) translateY(90px);bottom:14px;background:#3a2616;color:#f0e6cf;border:1px solid var(--ouro);border-radius:30px;padding:9px 18px;display:flex;gap:14px;align-items:center;font-family:var(--font-head);font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.4);transition:.25s;z-index:20}
.tl3-bulk.on{transform:translateX(-50%) translateY(0)}
.tl3-bulk a{color:#f0d9b5;cursor:pointer}
.tl3-bulk a:hover{color:#fff}
.tl3-bulk select{background:#23170f;color:#f0e6cf;border:1px solid var(--ouro);border-radius:8px;font-family:var(--font-body);padding:3px 8px;max-width:170px}
.ck3{display:flex;align-items:center;gap:8px;margin:8px 0 2px;font-size:15px;color:var(--tinta2);cursor:pointer}
.ck3 input{width:17px;height:17px;accent-color:var(--sangue)}
/* Seletor moderno (busca + multi-seleção) */
.sel-ov{position:fixed;inset:0;background:rgba(20,12,6,.55);display:flex;align-items:center;justify-content:center;z-index:60}
.sel-mod{background:var(--papel);border:1px solid var(--ouro);border-radius:14px;width:min(480px,92vw);max-height:78vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.sel-mod h3{font-family:var(--font-head);color:var(--sangue);margin:0;padding:14px 18px 10px;font-size:17px}
.sel-busca{margin:0 18px 10px;display:flex;align-items:center;gap:8px;background:var(--campo);border:1px solid var(--borda);border-radius:18px;padding:6px 12px;color:var(--ouro)}
.sel-busca input{border:0;outline:0;background:transparent;width:100%;font-family:var(--font-body);font-size:15px;color:var(--tinta)}
#sel-lista{list-style:none;margin:0;padding:0 10px;overflow:auto;flex:1;min-height:120px}
#sel-lista li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}
#sel-lista li:hover{background:var(--perg)}
#sel-lista li input{width:16px;height:16px;accent-color:var(--sangue);flex:0 0 auto;pointer-events:none}
#sel-lista li .t{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sel-lista li .k{margin-left:auto;font-size:11.5px;color:var(--tinta2);background:var(--perg2);border-radius:10px;padding:1px 8px;flex:0 0 auto}
#sel-lista .sel-nada{color:var(--tinta2);font-style:italic;cursor:default}
.sel-acts{padding:12px 18px;border-top:1px solid var(--borda);display:flex;gap:10px;justify-content:flex-end}
/* Visão Teia */
.teia-wrap{margin-top:6px}
/* bloco 'Sem era definida' vazio: só no modo edição */
body:not(.tl-editando) .tl3-per.tl3-sem-vazia{display:none}

.teia-scroll{overflow-x:auto;border:1px solid var(--borda);border-radius:12px;background:var(--campo);box-shadow:0 1px 4px var(--sombra)}
.teia text{font-family:var(--font-head);font-size:12px;fill:var(--tinta);text-anchor:middle;paint-order:stroke;stroke:var(--campo);stroke-width:3px;stroke-linejoin:round}
.teia .teia-eixo{stroke:var(--ouro);stroke-width:2.5;opacity:.8}
.teia .teia-fio{fill:none;stroke:var(--ouro);stroke-width:1.4;opacity:.55}
.teia .teia-ev{cursor:pointer}
.teia .teia-ev circle{fill:var(--papel);stroke:var(--sangue);stroke-width:2.5}
.teia .teia-ev.herd circle{stroke-dasharray:4 3}
.teia .teia-ev.destaque circle{fill:var(--sangue)}
.teia .teia-ev:hover circle{stroke-width:4}
.teia .teia-ev .qd{fill:var(--ouro);font-size:10.5px;letter-spacing:.4px}
.teia .teia-ct{cursor:pointer}
.teia .teia-ct rect{fill:var(--perg2);stroke:var(--ouro);stroke-width:1.6}
.teia .teia-ct:hover rect{fill:var(--ouro)}
.teia .teia-ct text{font-size:11px;fill:var(--tinta2)}
.teia .teia-era rect{fill:var(--perg);opacity:.5;stroke:var(--borda)}
.teia .teia-era text{fill:var(--tinta2);font-size:12.5px;font-style:italic;opacity:.9}
@media(max-width:720px){
  .tl3-rail{display:none}
  .tl3-fio{margin-left:14px;padding-left:26px}
  .ev3-med{left:-40px;width:31px;height:31px;font-size:15px}
  .ev3-med.destaque{left:-43px;width:36px;height:36px;font-size:17px}
  .ev3-img{float:none;width:100%;max-width:none;margin:6px 0}
  .tl3-bulk{width:calc(100vw - 24px);justify-content:center;flex-wrap:wrap;gap:8px;border-radius:16px}
}

/* ===== 2026-07-14: moldes de imagem, cropper inteligente, Jornada, placa de sessão, busca de usuários ===== */
.molde-tag{font-weight:400;font-size:.78em;color:var(--tinta2);border:1px dashed var(--borda);border-radius:20px;padding:1px 8px;margin-left:6px;vertical-align:middle}
.crop-zoomrow{display:flex;align-items:center;gap:8px}
.crop-dim{margin-left:auto;font-size:12px;color:var(--tinta2);white-space:nowrap}
.crop-warn{color:var(--sangue)!important}
.crop-frame.circ::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle closest-side, transparent calc(100% - 2px), rgba(20,12,6,.55) 100%);z-index:3}
.crop-frame.circ .crop-grid{display:none}
.crop-asp2{flex-wrap:wrap}
/* Sessão — placa de cena (hero próprio, diferente do hero de mundo/mesa) */
.ses-hero{position:relative;height:clamp(180px,30vw,300px);border-radius:8px;overflow:hidden;margin:6px 0 14px;border:1px solid var(--ouro);box-shadow:0 3px 14px var(--sombra)}
.ses-hero::before{content:"";position:absolute;inset:7px;border:1px solid var(--ouro);opacity:.55;border-radius:4px;pointer-events:none;z-index:3}
.ses-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.ses-hero .vinheta{position:absolute;inset:0;background:radial-gradient(ellipse at center, transparent 52%, rgba(0,0,0,.35)),linear-gradient(to top, rgba(0,0,0,.66), transparent 58%)}
.ses-hero .faixa{position:absolute;left:0;right:0;bottom:0;padding:12px 18px;z-index:2}
.ses-hero .faixa h1{margin:0;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8);font-size:clamp(20px,3.4vw,32px)}
.ses-hero .faixa .sub{margin:.15em 0 0;color:#f2e9d5;font-style:italic;text-shadow:0 1px 6px rgba(0,0,0,.75);font-size:15px}
.ses-hero .ses-hero-selo{position:absolute;top:10px;right:12px;z-index:2}
@media(max-width:640px){ .ses-hero{height:170px} }
/* Jornada do personagem */
.jorfio{margin-top:6px}
.jor-sep{display:flex;align-items:center;gap:8px;margin:18px 0 10px;color:var(--tinta2);font-family:var(--font-head);font-size:15px}
.jor-sep::before,.jor-sep::after{content:"";flex:1;border-top:1px solid var(--borda)}
.jor-form{background:var(--perg2);border:1px solid var(--ouro);border-radius:10px;padding:14px 16px;margin:10px 0 14px;box-shadow:0 2px 10px var(--sombra)}
.jor-form label{display:block;margin:.6em 0 .2em;font-weight:600}
.jor-form input,.jor-form select,.jor-form textarea{width:100%;padding:8px;border:1px solid var(--borda);border-radius:8px;background:var(--campo);color:var(--tinta);font:inherit}
.jor-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){ .jor-form .row{grid-template-columns:1fr} }
/* Dono do personagem */
.dono-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:.2em 0 .4em}
.dono-chip{font-weight:600}
/* Busca de usuários (modal) */
.bu-lista{max-height:340px;overflow:auto;margin:8px 0;padding:0;list-style:none}
.bu-li{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--borda)}
.bu-li .bu-av .avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--perg2) center/cover no-repeat;border:1px solid var(--ouro);color:var(--ouro);font-weight:700}
.bu-li .bu-tx{flex:1;min-width:0}
.bu-li .bu-tx .t{display:block;font-weight:600}
.bu-li .bu-tx .k{display:block;font-size:.82em;color:var(--tinta2)}
.sel-nada{list-style:none;color:var(--tinta2);padding:10px 4px}

/* ===== Capa integrada da publicação — a imagem dissolve no pergaminho ===== */
.capa-abre{position:relative;margin:10px 0 0;overflow:hidden;border-radius:12px;max-width:760px}
.capa-abre img{display:block;width:100%;max-height:460px;object-fit:cover;border:0;margin:0}
.capa-abre .vinheta{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px rgba(0,0,0,.26)}
.capa-abre .vinheta::before{content:"";position:absolute;inset:0;background:linear-gradient(to right, var(--papel), transparent 10%, transparent 90%, var(--papel));opacity:.5}
.capa-abre .veu{position:absolute;left:0;right:0;bottom:-1px;height:64%;pointer-events:none;background:linear-gradient(to bottom, transparent, var(--papel) 86%)}
.capa-abre .acts{position:absolute;top:10px;right:10px;display:flex;gap:6px;margin:0;opacity:0;transition:opacity .25s;z-index:2}
.capa-abre:hover .acts,.capa-abre:focus-within .acts{opacity:1}
.cab{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(20,14,8,.55);color:#fff;cursor:pointer;text-decoration:none;font-size:15px;padding:0}
.cab:hover{background:rgba(20,14,8,.82)}
.capa-orn{display:flex;align-items:center;gap:10px;margin:-118px 2px 10px;position:relative;z-index:1;color:var(--ouro);max-width:760px}
.capa-orn span{flex:1;border-top:1px solid var(--ouro);opacity:.45}
.capa-orn i{font-style:normal;font-size:13px;opacity:.85}
.capa-orn+.corpo{position:relative;z-index:1}
@media(max-width:640px){ .capa-abre img{max-height:250px} .capa-abre .acts{opacity:1} .capa-orn{margin-top:-62px} }

/* --- L3: acordeões com entrada suave --- */
details.bloco>.cards,details.bloco>div,.tl3-per>.tl3-fio,.pers-npc>div{animation:mdsAccIn .22s ease}
@keyframes mdsAccIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
/* --- L3: aproveitar telas muito largas --- */
@media(min-width:1500px){ .layout,.rodape{max-width:1440px} }
@media(max-width:640px){ .ev3-gap{margin-left:4px} .tl3-filsel{max-width:46%} }

/* ===== Trilhas Sonoras v2 — Estante & Palco ===== */
.ts2-hero{display:flex;gap:14px;align-items:center;margin:4px 0 14px}
.ts2-hero-ic{flex:0 0 auto;width:58px;height:58px;border-radius:50%;background:var(--perg2);border:2px solid var(--ouro);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--sangue);box-shadow:0 2px 8px var(--sombra)}
.ts2-hero h1{margin:0 0 2px}
.ts2{display:grid;grid-template-columns:minmax(230px,300px) 1fr;gap:16px;align-items:start}
.ts2-side{background:var(--perg);border:1px solid var(--borda);border-radius:14px;overflow:hidden;box-shadow:0 1px 5px var(--sombra);position:sticky;top:70px}
.ts2-side-h{display:flex;align-items:center;gap:8px;padding:10px 14px;font-family:var(--font-head);font-weight:700;color:var(--papel);background:var(--sangue);letter-spacing:.03em}
.ts2-side-h iconify-icon{color:var(--ouro)}
.ts2-side-acts{display:flex;flex-wrap:wrap;gap:5px;padding:8px 10px;border-bottom:1px solid var(--borda);background:var(--perg2)}
.ts2-org-on{background:var(--ouro)!important;color:var(--papel)!important;border-color:var(--ouro)!important}
.ts2-tree{max-height:56vh;overflow:auto;padding:6px 4px}
.ts2-row{display:flex;align-items:center;gap:6px;padding:7px 8px;border-radius:8px;cursor:pointer;color:var(--tinta);font-size:14px}
.ts2-row:hover{background:var(--perg2)}
.ts2-row.cur{background:var(--campo);box-shadow:inset 3px 0 0 var(--sangue)}
.ts2-pl.cur{font-weight:700;color:var(--sangue)}
.ts2-chev{flex:0 0 12px;font-size:11px;color:var(--tinta2)}
.ts2-ic{flex:0 0 auto;font-size:14px;color:var(--ouro)}
.ts2-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts2-ct{flex:0 0 auto;font-size:11.5px;color:var(--tinta2);background:var(--perg2);border-radius:10px;padding:0 7px}
.ts2-vis{flex:0 0 auto;font-size:12px;opacity:.5;cursor:pointer;border-radius:6px;padding:0 3px}
.ts2-vis.pub{opacity:1}
.ts2-vis:hover{opacity:1;background:var(--perg2)}
.ts2-acts{display:none;gap:2px;flex:0 0 auto}
.ts2-row:hover .ts2-acts{display:flex}
.ts2-acts i{font-style:normal;cursor:pointer;padding:0 4px;border-radius:5px;opacity:.7}
.ts2-acts i:hover{opacity:1;background:rgba(0,0,0,.12)}
.ts2-side-foot{padding:8px 12px;border-top:1px solid var(--borda);font-size:12.5px;color:var(--tinta2);background:var(--perg2)}
.ts2-side-foot a{cursor:pointer}
.ts2-ok{color:var(--sangue)}
.ts2-stage{background:var(--campo);border:1px solid var(--borda);border-radius:14px;padding:16px 18px;min-height:300px;box-shadow:0 1px 5px var(--sombra)}
.ts2-cab{display:flex;gap:14px;align-items:center;border-bottom:2px solid var(--ouro);padding-bottom:12px;margin-bottom:12px}
.ts2-cab-ic{flex:0 0 auto;width:52px;height:52px;border-radius:12px;background:var(--perg2);border:1px solid var(--ouro);display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--sangue)}
.ts2-cab-tx h2{margin:0}
.ts2-bc{display:block;font-size:12px;color:var(--tinta2)}
.ts2-ctrls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.ts2-bv{text-align:center;padding:26px 10px 8px}
.ts2-bv-ic{font-size:46px;color:var(--ouro);opacity:.9}
.ts2-bv h2{margin:.3em 0 .2em}
.ts2-acoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:16px 0}
.ts2-acao{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;padding:12px 14px;background:var(--perg);border:1px solid var(--borda);border-radius:12px;cursor:pointer;color:var(--tinta);font-family:var(--font-body);transition:.15s}
.ts2-acao:hover{border-color:var(--ouro);transform:translateY(-2px);box-shadow:0 3px 10px var(--sombra)}
.ts2-acao-ic{font-size:20px;color:var(--sangue)}
@media(max-width:760px){
  .ts2{grid-template-columns:1fr}
  .ts2-side{position:static}
  .ts2-tree{max-height:38vh}
}

/* ===== Teia: Referências & Relacionados (temável) ===== */
.refs-sec{margin-top:1.4em}
.refs-lista{margin:.4em 0 0 1.5em;padding:0}
.refs-lista li{margin:.35em 0;line-height:1.55;color:var(--tinta)}
.refs-lista li a{color:var(--sangue)}
.ref-src{color:var(--tinta2);font-size:.85em;font-style:italic}
.ref-lista-edit{margin:.3em 0 0 .2em;padding:0;list-style:none}
.ref-lista-edit li{margin:.3em 0;color:var(--tinta);line-height:1.5}
.ref-lista-edit .ref-n{color:var(--ouro);font-weight:700;margin-right:.15em}
.ref-lista-edit .x{color:var(--sangue);font-weight:700;margin-left:.35em}
.vt-sub{margin:1.1em 0 .2em;font-family:var(--font-head);color:var(--sangue);font-size:15px}


/* ===== Sistema de ações (docs/DESIGN.md): menu ⋯, barras roláveis, grupos retráteis ===== */
.mm{position:relative;display:inline-block;vertical-align:middle}
.mm-btn{font-weight:700;min-width:40px;letter-spacing:1px;line-height:1}
.mm-menu{display:none;position:fixed;z-index:120;min-width:220px;max-width:min(320px,92vw);background:var(--papel);border:1px solid var(--borda);border-radius:12px;box-shadow:0 10px 28px var(--sombra);padding:6px;text-align:left}
.mm.aberto .mm-menu{display:block}
.mm.aberto .mm-btn{background:var(--perg2);color:var(--sangue)}
.mm-it{display:block}
.mm-it .btn,.mm-it .btn.mini,.mm-it .btn.sec{display:flex;width:100%;background:transparent;border:0;color:var(--tinta);padding:9px 12px;border-radius:8px;font-size:13.5px;font-family:var(--font-head);text-align:left;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}
.mm-it .btn:hover{background:var(--perg2);color:var(--sangue)}
.mm-it .btn[onclick*="xcluir"]{color:#b23b3b}
.mm-it .btn[onclick*="denunciar"]{color:#b23b3b}
.mm-it .fav-btn.on{color:var(--ouro)}
.mm-it .vis-leg{display:none}
/* hero: menu ⋯ sobre o fundo escuro */
.hero2 .acts .mm-btn{color:#fff;border-color:rgba(255,255,255,.7);background:rgba(0,0,0,.22)}
.hero2 .acts .mm-menu .btn,.hero2 .acts .mm-menu .btn.sec,.hero2 .acts .mm-menu .btn.mini{background:transparent;border:0;color:var(--tinta);border-radius:8px;box-shadow:none}
.hero2 .acts .mm-menu .btn:hover{background:var(--perg2);color:var(--sangue)}
.hero2 .acts .mm-menu .fav-btn.on{color:var(--ouro)}

/* barras de ação viram trilho rolável no mobile (estilo app), sem quebrar em 3 linhas */
@media(max-width:640px){
  .hero2 .acts,.acoes-pub{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .hero2 .acts::-webkit-scrollbar,.acoes-pub::-webkit-scrollbar{display:none}
  .hero2 .acts .btn,.acoes-pub .btn{flex:0 0 auto;white-space:nowrap}
  .acoes-pub .mm,.hero2 .acts .mm{flex:0 0 auto}
}

/* linha do tempo: cabeçalho de era não espreme mais o título no mobile */
.tl3-per-head .tx{flex:1 1 auto}
@media(max-width:640px){
  .tl3-per-head{flex-wrap:wrap;align-items:center;padding:14px 16px;row-gap:6px}
  .tl3-per-head .tx{flex:1 1 100%}
  .tl3-per-head .nm{font-size:17.5px;line-height:1.25}
  .tl3-per-head .ct{margin-left:0}
  .tl3-busca{flex:1 1 100%}
  .tl3-ctl{row-gap:8px}
  .tl3-ctl>*:not(.tl3-busca){flex:0 0 auto}
  .tl3-baixar{margin-left:auto}
}

/* grupos retráteis de formulário (divulgação progressiva) */
details.form-ret{border:1px solid var(--borda);border-left:3px solid var(--ouro);border-radius:10px;margin:0 0 16px;background:var(--perg2);padding:0 16px}
details.form-ret>summary{list-style:none;cursor:pointer;padding:12px 0;font-family:var(--font-head);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--tinta);display:flex;align-items:center;gap:8px}
details.form-ret>summary::-webkit-details-marker{display:none}
details.form-ret>summary::after{content:"▸";margin-left:auto;color:var(--ouro);font-size:14px}
details.form-ret[open]>summary::after{content:"▾"}
details.form-ret[open]{padding-bottom:10px}
details.form-ret>summary:hover{color:var(--sangue)}
.form-ret-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--tinta2);font-size:12px;border:1px solid var(--borda);border-radius:10px;padding:0 8px}


/* ===== Redesign mobile (p17b): Trilhas, TUDO MEU!, Enciclopédia, Minha página ===== */
.ts2-side-det{display:none}
@media(max-width:700px){
  .ts2{grid-template-columns:1fr;gap:12px}
  .ts2-side{position:static}
  .ts2-mob .ts2-side{border:0;border-radius:0;box-shadow:none}
  .ts2-mob .ts2-side-h{display:none}
  .ts2-side-det{display:block;background:var(--perg);border:1px solid var(--borda);border-radius:14px;overflow:hidden;box-shadow:0 1px 5px var(--sombra)}
  .ts2-side-det>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:11px 14px;font-family:var(--font-head);font-weight:700;color:var(--papel);background:var(--sangue);letter-spacing:.03em}
  .ts2-side-det>summary::-webkit-details-marker{display:none}
  .ts2-side-det>summary::after{content:"▸";margin-left:auto;color:var(--ouro)}
  .ts2-side-det[open]>summary::after{content:"▾"}
  .ts2-det-hint{font-family:var(--font-body);font-weight:400;font-size:12px;opacity:.85}
  .ts2-tree{max-height:45vh;overflow-y:auto}
  .ts2-stage{padding:12px 12px 16px;min-height:180px}
  .ts2-ctrls{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .ts2-ctrls::-webkit-scrollbar{display:none}
  .ts2-ctrls .btn{flex:0 0 auto;white-space:nowrap}
  .ts-add-faixa .ts-fx-tit{flex:1 1 100%}
  .ts2-acoes{grid-template-columns:1fr 1fr}
  /* TUDO MEU! + Minha página: barras viram trilho rolável; stats em grade compacta */
  .tm-acts,.tm-criar,.autor-criar{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;max-width:100%;min-width:0}
  .tm-acts::-webkit-scrollbar,.tm-criar::-webkit-scrollbar,.autor-criar::-webkit-scrollbar{display:none}
  .tm-acts .btn,.tm-criar .btn,.autor-criar .btn{flex:0 0 auto;white-space:nowrap}
  .tm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .autor-stats{gap:8px}
  .autor-stat{flex:1 1 30%}
  /* Enciclopédia: categorias viram trilho de pílulas */
  .cards-cat{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .cards-cat::-webkit-scrollbar{display:none}
  .catcard{min-width:auto;flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:18px;text-align:left}
  .catcard .ic{font-size:14px}
  .catcard .nm{font-size:12.5px}
  .catcard .ct{font-size:11px;color:var(--tinta2)}
}

/* ===== Dica de trilho (rolagem horizontal) — ver dicaTrilhos() em js/core.js =====
   Todo container que rola na horizontal ganha um fade na borda onde há mais
   conteúdo (.td-dir = mais à direita, .td-esq = mais à esquerda). O conteúdo
   "desmanchando" na borda é o convite elegante pra arrastar o trilho. */
/* menu ⋯ (ou qualquer .mm) aberto dentro do trilho: suspende o fade — o mask
   mascararia o menu junto (filho do container), deixando só uma "lasca" visível */
.trilho-dica:has(.mm.aberto){-webkit-mask-image:none!important;mask-image:none!important}
.trilho-dica.td-dir{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent)}
.trilho-dica.td-esq{-webkit-mask-image:linear-gradient(to right,transparent,#000 36px);mask-image:linear-gradient(to right,transparent,#000 36px)}
.trilho-dica.td-esq.td-dir{-webkit-mask-image:linear-gradient(to right,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,transparent,#000 36px,#000 calc(100% - 36px),transparent)}

/* ===== Menu de mundos do topo: filtro + lista rolável + explorar ===== */
.wm-busca{padding:2px 4px 8px 4px}
.wm-busca input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--borda);border-radius:8px;background:var(--campo);color:var(--tinta);font:inherit;font-size:14px}
.wm-lista{max-height:44vh;overflow:auto}
.wm-vazio{display:none;padding:8px 12px;color:var(--tinta2);font-size:13px;font-style:italic}

/* link "Explorar todos os mundos" da lateral — discreto, fecha a lista curta */
.lateral .nav-mais{font-size:13px;color:var(--tinta2);font-style:italic}
.lateral .nav-mais:hover{color:var(--sangue)}

/* ===== Arquivo (migração #50) — selo/banner de item arquivado ===== */
.arq-aviso{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-left:4px solid var(--ouro)}
.arq-aviso .btn{flex:none}

/* ===== Lateral: ordem + filtro dos grupos (mundos/mesas) ===== */
.nav-ord{display:block;font-size:12px;font-style:italic;opacity:.72;padding:2px 10px;cursor:pointer}
.nav-ord:hover{opacity:1;color:var(--sangue)}
.nav-busca{padding:2px 8px 6px}
.nav-busca input{width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid var(--borda);border-radius:8px;background:var(--campo);color:var(--tinta);font:inherit;font-size:13px}
.nav-extra{display:none}
.nav-vazio{display:none;font-size:13px;font-style:italic;opacity:.7;padding:2px 10px}

/* ===== Escudo › Gerenciar: tiles compactos de navegação ===== */
.ger-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:860px}
.ger-it{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;background:var(--papel);border:1px solid var(--borda);border-radius:12px;cursor:pointer;font:inherit;color:var(--tinta);box-shadow:0 1px 4px var(--sombra);transition:box-shadow .12s,transform .12s}
.ger-it:hover{box-shadow:0 3px 10px var(--sombra);transform:translateY(-1px)}
.ger-ic{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--perg);border:1px solid var(--ouro);color:var(--sangue);font-size:20px}
.ger-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.ger-tx b{font-family:var(--font-head);color:var(--sangue);font-size:15px;letter-spacing:.02em}
.ger-tx span{font-size:13px;color:var(--tinta2)}
.ger-ar{margin-left:auto;color:var(--tinta2);font-size:19px;flex:none}
.ger-arq .ger-ic{border-color:var(--borda);filter:grayscale(.2)}
@media(max-width:640px){.ger-grid{grid-template-columns:1fr}}

/* ===== TUDO MEU › Trilhas: estante compacta ===== */
.tmts{border:1px solid var(--borda);border-radius:10px;background:var(--campo);padding:6px;max-width:760px}
.tmts-pl{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;cursor:pointer}
.tmts-pl:hover{background:var(--perg2)}
.tmts-ic{opacity:.7}
.tmts-nm{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.tmts-vis{font-size:.85em}
.tmts-ct{font-size:.78em;color:var(--tinta2);white-space:nowrap}
.tmts-pasta{margin:2px 0}
.tmts-pasta>summary{cursor:pointer;padding:7px 10px;border-radius:8px;font-weight:700;list-style:none}
.tmts-pasta>summary::-webkit-details-marker{display:none}
.tmts-pasta>summary::before{content:"▸ ";opacity:.6}
.tmts-pasta[open]>summary::before{content:"▾ "}
.tmts-pasta>summary:hover{background:var(--perg2)}
.tmts-sub{margin-left:14px;border-left:1px dashed var(--borda);padding-left:6px}
/* Arquivo: excluir de vez */
.arq-del{color:var(--sangue)}

/* ============================================================
   Rodada 2026-07-16b — placa do Mundo em foco + galeria, Sala de
   Cartografia, assinaturas (alcunha) e Arquivo/listas organizáveis
   ============================================================ */
/* Mundo em foco — placa central COMPACTA (medalhão do tema + nome; capa do
   mundo ao fundo, acalmada por véu escuro). É ela que dita o tema da página. */
.mf-placa{position:relative;display:block;margin:14px auto 8px;max-width:520px;padding:12px 16px 11px;text-align:center;background:var(--perg);border:1px solid var(--ouro);border-radius:12px;box-shadow:0 1px 6px var(--sombra);background-size:cover;background-position:center;overflow:hidden}
.mf-placa::after{content:"";position:absolute;inset:4px;border:1px solid var(--ouro);opacity:.5;border-radius:9px;pointer-events:none}
.mf-placa.comcapa::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(22,14,8,.78),rgba(22,14,8,.88))}
.mf-placa.clic{cursor:pointer;transition:box-shadow .15s}
.mf-placa.clic:hover{box-shadow:0 3px 12px var(--sombra)}
.mf-placa.clic:hover::after{opacity:.9}
.mf-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px}
.mf-med{width:38px;height:38px;border-radius:50%;border:1px solid var(--ouro);background:var(--campo);display:flex;align-items:center;justify-content:center;color:var(--ouro);font-size:19px;box-shadow:0 1px 4px var(--sombra);margin-bottom:3px}
.mf-placa.comcapa .mf-med{background:rgba(22,14,8,.55)}
.mf-k{font-family:var(--font-head);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro)}
.mf-nome{font-family:var(--font-head);font-size:20px;line-height:1.15;color:var(--sangue)}
.mf-placa.comcapa .mf-nome{color:#f7edd8;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.mf-sub{font-size:12px;color:var(--tinta2);font-style:italic}
.mf-placa.comcapa .mf-sub{color:#e7dbc2;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.mf-troca{margin-top:6px;position:relative;z-index:1}
.mf-placa.comcapa .mf-troca{color:#f2e8d5;border-color:rgba(242,232,213,.5);background:rgba(22,14,8,.45)}
.mf-placa.comcapa .mf-troca:hover{border-color:#f2e8d5;background:rgba(22,14,8,.65)}
/* Seletor do mundo em foco: clique-e-troca; busca + chips de tema (escala p/ dezenas) */
.mf-mod{max-width:560px;width:min(560px,94vw);max-height:86vh}
.mf-tot{font-family:var(--font-body);font-size:12px;color:var(--tinta2);font-weight:400;margin-left:8px}
.mf-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 18px 0}
.mf-chips .hm-tchip .gi{font-size:13px;vertical-align:-2px}
.mf-lista{list-style:none;flex:1 1 auto;min-height:0;margin:10px 14px 4px;padding:0;overflow-y:auto;overflow-x:hidden}
.mf-it{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--borda);border-radius:10px;margin:6px 1px;cursor:pointer;background:var(--campo);transition:border-color .12s,box-shadow .12s}
.mf-it:hover{border-color:var(--ouro);box-shadow:0 1px 6px var(--sombra)}
.mf-it.on{border-color:var(--ouro);box-shadow:inset 0 0 0 1px var(--ouro);background:var(--perg);cursor:default}
.mf-it-capa{flex:0 0 auto;width:40px;height:40px;border-radius:8px;border:1px solid var(--ouro);background-size:cover;background-position:center;box-shadow:0 1px 4px var(--sombra)}
.mf-it-med{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--ouro);background:var(--perg);display:flex;align-items:center;justify-content:center;color:var(--ouro);font-size:19px}
.mf-it-tx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.mf-it-tx b{font-family:var(--font-head);font-size:15px;color:var(--sangue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mf-it-tx span{font-size:12px;color:var(--tinta2);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mf-it-tag{flex:0 0 auto;font-size:11px;color:var(--ouro);font-weight:700;white-space:nowrap}
.mf-it-vai{flex:0 0 auto;color:var(--ouro);opacity:0;transition:opacity .12s}
.mf-it:hover .mf-it-vai{opacity:1}
.mf-vazio{padding:14px;color:var(--tinta2);font-style:italic}
/* Sala de Cartografia */
.carto-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 10px}
.carto-head h1{margin:0}
/* MESA de madeira (destaque da Cartografia e página do mapa): tábuas
   horizontais + veios finos + luz de lamparina + borda de mesa (aro escuro
   com filete dourado). A folha (.cd-folha) deita sobre ela. */
.carto-dest,.pub-mesa{position:relative;border-radius:14px;overflow:hidden;background:
  radial-gradient(ellipse at 50% 16%,rgba(255,214,140,.15),transparent 56%),
  repeating-linear-gradient(180deg,rgba(0,0,0,.18) 0 2px,rgba(255,255,255,.03) 2px 4px,transparent 4px 76px),
  repeating-linear-gradient(92deg,rgba(255,255,255,.025) 0 2px,transparent 2px 7px),
  linear-gradient(180deg,#6b4a26,#54371b 55%,#3f2a13);
  box-shadow:inset 0 0 0 6px rgba(30,18,7,.85),inset 0 0 0 7px rgba(233,196,106,.28),inset 0 14px 44px rgba(0,0,0,.35),0 3px 12px var(--sombra)}
/* Mesas ILUSTRADAS por tema (imagens do autor, otimizadas em WebP em
   imagens/pagina-mapas-cartografia/). O override troca só o background-image:
   imagem por cima + gradiente de madeira por baixo — se a imagem faltar (404),
   o gradiente segura o visual; o aro de mesa (box-shadow) continua emoldurando.
   Os apetrechos CSS (.cd-prop*) somem: cada mesa ilustrada já tem os seus. */
.carto-dest,.pub-mesa{background-size:cover;background-position:center;background-color:#3f2a13}
body[data-tema="medieval"] .carto-dest,body[data-tema="medieval"] .pub-mesa{background-image:url("imagens/pagina-mapas-cartografia/mesa-medieval.webp"),linear-gradient(180deg,#6b4a26,#54371b 55%,#3f2a13)}
body[data-tema="horror"] .carto-dest,body[data-tema="horror"] .pub-mesa{background-image:url("imagens/pagina-mapas-cartografia/mesa-horror.webp"),linear-gradient(180deg,#3a2020,#2a1414 55%,#1c0d0d)}
body[data-tema="lovecraft"] .carto-dest,body[data-tema="lovecraft"] .pub-mesa{background-image:url("imagens/pagina-mapas-cartografia/mesa-lovecraft.webp"),linear-gradient(180deg,#5a3a22,#422814 55%,#301c0e)}
body[data-tema="anos80"] .carto-dest,body[data-tema="anos80"] .pub-mesa{background-image:url("imagens/pagina-mapas-cartografia/mesa-anos80.webp"),linear-gradient(180deg,#6b4a26,#54371b 55%,#3f2a13)}
body[data-tema="scifi"] .carto-dest,body[data-tema="scifi"] .pub-mesa{background-image:url("imagens/pagina-mapas-cartografia/mesa-scifi.webp"),linear-gradient(180deg,#2c3644,#1e2530 55%,#131820)}
body[data-tema="samurai"] .carto-dest,body[data-tema="samurai"] .pub-mesa{background-image:url("imagens/pagina-mapas-cartografia/mesa-samurai.webp"),linear-gradient(180deg,#5e3f22,#4a2f17 55%,#372210)}
.cd-prop,.cd-prop1,.cd-prop2{display:none}
.carto-dest{margin:6px 0 16px;padding:26px 24px 16px}
.pub-mesa{margin:8px 0 18px;padding:24px 18px 16px;display:flex;flex-direction:column;align-items:center;gap:10px}
.pub-mesa .cd-folha img{max-height:62vh}
.pub-mesa-acts{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.cd-folha{position:relative;z-index:1;margin:0 auto;width:max-content;max-width:min(680px,94%);background:var(--papel);padding:9px;border-radius:3px;transform:rotate(-1.4deg);box-shadow:0 10px 26px rgba(10,5,0,.55),0 2px 6px rgba(10,5,0,.4);cursor:zoom-in;transition:transform .18s}
.cd-folha:hover{transform:rotate(-.5deg) scale(1.01)}
.cd-folha img{display:block;max-width:100%;max-height:280px}
.cd-noimg{display:flex;align-items:center;justify-content:center;min-height:120px;padding:20px 70px;color:var(--ouro);cursor:default}
.cd-prop{position:absolute;pointer-events:none;color:rgba(233,196,106,.5)}
.cd-prop1{right:18px;top:14px}
.cd-prop2{left:16px;bottom:18px;font-size:26px;transform:rotate(-14deg)}
.cd-etq{position:relative;z-index:1;margin:-12px auto 0;width:max-content;max-width:92%;background:var(--perg);border:1px solid var(--ouro);border-radius:8px;padding:7px 14px 8px;display:flex;flex-direction:column;gap:1px;align-items:center;text-align:center;transform:rotate(.6deg);box-shadow:0 3px 10px rgba(10,5,0,.4)}
.cd-k{font-family:var(--font-head);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro)}
.cd-etq b{font-family:var(--font-head);font-size:16.5px;color:var(--sangue);line-height:1.2}
.cd-sub{font-size:12px;font-style:italic;color:var(--tinta2)}
.cd-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:5px}
.carto-bar{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.carto-q{max-width:460px}
.carto-chips{display:flex;gap:6px;flex-wrap:wrap}
.carto-sec{margin:6px 0 16px}
.carto-sec-h{display:flex;align-items:center;gap:10px;margin:0 0 6px}
.carto-sec-h h2{margin:0;font-size:19px}
.carto-orn{flex:1 1 auto;height:1px;background:linear-gradient(90deg,transparent,var(--ouro),transparent);opacity:.55}
.carto-sec-h .carto-orn:first-child{flex:0 0 26px}
/* Assinatura (alcunha) */
.pena-de{font-size:.88em;opacity:.75;font-style:italic}
.jn-by{font-size:12px;color:var(--tinta2);font-style:italic;margin-top:6px}
/* Arquivo e listas organizáveis */
.arq-bar select{padding:8px;border:1px solid var(--borda);border-radius:8px;background:var(--campo);color:var(--tinta);font-size:13.5px;max-width:100%}
.arq-bar .btn.on{border-color:var(--ouro);box-shadow:0 0 0 1px var(--ouro) inset}
.arq-mass{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 10px;padding:8px 10px;border:1px dashed var(--ouro);border-radius:10px;background:var(--perg)}
.arq-mass-lista{max-height:180px;overflow:auto;margin:.4em 0;padding-left:18px}
.arq-mass-aviso{color:var(--sangue);font-weight:600}
.arq-card{position:relative}
.arq-ck{position:absolute;top:8px;left:8px;z-index:2}
.arq-ck input{width:18px;height:18px;accent-color:var(--sangue);cursor:pointer}
.card.arq-on{outline:2px solid var(--ouro);outline-offset:-2px}
/* Ordenação do explorador (enciclopédia e afins) */
.expord{padding:8px;border:1px solid var(--borda);border-radius:8px;background:var(--campo);color:var(--tinta);font-size:13.5px}
@media(max-width:640px){
  .mf-nome{font-size:18px}
  .mf-med{width:32px;height:32px;font-size:16px}
  .mf-placa{padding:10px 10px 9px}
  .mf-mod{max-height:92vh}
  .carto-dest{padding:18px 10px 12px}
  .pub-mesa{padding:18px 10px 12px}
  .cd-folha img{max-height:190px}
  .pub-mesa .cd-folha img{max-height:48vh}
  .cd-etq b{font-size:15px}
  .carto-q{max-width:100%}
}
