*{box-sizing:border-box;margin:0;padding:0}
:root{
  --cr:#8B0000;--cr-l:#C41E3A;--cr-d:#4A0000;--cr-glow:#C41E3A;
  --bg:#0A0A0F;--bg2:#12121A;--bg3:#1A1A24;--bg4:#22222E;
  --txt:#E8E0D0;--txt2:#9A9080;--txt3:#5A5248;
  --gold:#8B7355;--gold-l:#C4A882;
  --border:#2A2030;--border-h:#3A3045;
  --sidebar-w:240px;
}
body{background:var(--bg);color:var(--txt);font-family:'Segoe UI',system-ui,sans-serif;min-height:100vh;overflow-x:hidden}

/* ===== SIDEBAR ===== */
#sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:300;opacity:0;pointer-events:none;transition:opacity 0.25s}
#sidebar-overlay.open{opacity:1;pointer-events:all}
#sidebar{position:fixed;top:0;left:0;height:100%;width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--cr-d);z-index:301;transform:translateX(-100%);transition:transform 0.28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
#sidebar.open{transform:translateX(0)}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem 0.75rem;border-bottom:1px solid var(--border)}
.sidebar-title{font-size:0.78rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--cr-l)}
.sidebar-close{background:none;border:none;color:var(--txt3);font-size:1.1rem;cursor:pointer;padding:2px 5px;line-height:1;transition:color 0.15s;border-radius:3px}
.sidebar-close:hover{color:var(--txt)}
.sidebar-nav{padding:0.75rem 0.5rem;flex:1}
.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:0.65rem 0.75rem;border-radius:6px;cursor:pointer;font-size:0.88rem;color:var(--txt2);transition:all 0.15s;border:1px solid transparent;margin-bottom:3px;user-select:none}
.sidebar-nav-item:hover{background:var(--bg3);color:var(--txt);border-color:var(--border-h)}
.sidebar-nav-item.active{background:var(--cr-d);color:var(--cr-l);border-color:var(--cr)}
.sidebar-nav-item .nav-icon{font-size:1rem;min-width:20px;text-align:center}
.sidebar-footer{padding:0.75rem 1rem;border-top:1px solid var(--border);font-size:0.68rem;color:var(--txt3);text-align:center;letter-spacing:0.04em}

/* ===== GLOBAL HEADER ===== */
#global-header{display:flex;align-items:center;gap:10px;padding:0.7rem 1rem;border-bottom:1px solid var(--cr-d);position:sticky;top:0;background:var(--bg);z-index:50}
#hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:4px 5px;border-radius:4px;transition:background 0.15s}
#hamburger:hover{background:var(--bg3)}
#hamburger span{display:block;width:22px;height:2px;background:var(--cr-l);border-radius:2px;transition:all 0.25s}
#hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
#hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.header-page-title{font-size:0.95rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--cr-l)}
.header-page-title span{color:var(--gold-l);font-size:0.65em;letter-spacing:0.05em;display:block;font-weight:400;margin-top:1px}

/* ===== MAIN CONTENT ===== */
#main{padding:1rem;max-width:860px;margin:0 auto}
.page{display:none}.page.active{display:block}

/* ===== INICIATIVA ===== */
.top-bar{display:flex;gap:8px;margin-bottom:1rem;align-items:center;flex-wrap:wrap}
.btn{padding:0.4rem 1rem;border-radius:5px;border:1px solid var(--cr);background:var(--cr-d);color:var(--cr-l);font-size:0.82rem;cursor:pointer;font-family:inherit;letter-spacing:0.04em;transition:all 0.15s;text-transform:uppercase}
.btn:hover{background:var(--cr);color:#fff}
.btn-ghost{background:transparent;border-color:var(--border-h);color:var(--txt2)}
.btn-ghost:hover{background:var(--bg3);border-color:var(--cr);color:var(--cr-l)}
.btn-gold{border-color:var(--gold);background:transparent;color:var(--gold-l)}
.btn-gold:hover{background:var(--gold);color:#1a1410}
.btn-sm{padding:0.25rem 0.6rem;font-size:0.75rem}
.btn-icon{padding:0.28rem 0.55rem;font-size:0.82rem;min-width:28px;text-align:center}
.btn-danger{border-color:#5A1A1A;color:#B03030}
.btn-danger:hover{background:#5A1A1A;color:#F08080}
.delete-confirm-msg{color:var(--txt2);margin:0.5rem 0 1.25rem;font-size:0.9rem;line-height:1.5}

/* ===== IMAGE ZOOM MODAL ===== */
#img-zoom-modal{z-index:500}
.img-zoom-wrap{position:relative;display:inline-flex}
#img-zoom-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,0.85);display:block;cursor:default}
.img-zoom-close{position:absolute;top:-13px;right:-13px;width:28px;height:28px;border-radius:50%;background:var(--bg2);border:1px solid var(--border-h);color:var(--txt);font-size:0.82rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all 0.15s}
.img-zoom-close:hover{background:var(--cr-d);border-color:var(--cr);color:var(--cr-l)}
.round-info{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:0.82rem;color:var(--txt2)}
.round-badge{background:var(--bg3);border:1px solid var(--border-h);padding:0.25rem 0.75rem;border-radius:4px;color:var(--cr-l);font-weight:600;letter-spacing:0.06em}
.entity-list{display:flex;flex-direction:column;gap:8px}
.entity-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color 0.2s}
.entity-card.current-turn{border-color:var(--cr-l);box-shadow:0 0 0 1px var(--cr-d)}
.entity-card.dead{opacity:0.45;filter:grayscale(0.5)}
.entity-header{display:flex;align-items:center;gap:10px;padding:0.55rem 0.75rem;cursor:pointer;user-select:none}
.turn-marker{width:8px;height:8px;border-radius:50%;background:var(--bg4);border:1px solid var(--txt3);flex-shrink:0;transition:all 0.2s}
.current-turn .turn-marker{background:var(--cr-l);border-color:var(--cr-l);box-shadow:0 0 5px var(--cr-glow)}
.entity-initiative{font-size:0.9rem;font-weight:700;color:var(--gold-l);min-width:22px;text-align:center;font-variant-numeric:tabular-nums;flex-shrink:0}
.entity-name-block{flex:1;min-width:0}
.entity-name{font-size:0.9rem;font-weight:600;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.entity-effects-preview{display:flex;gap:3px;flex-wrap:wrap;margin-top:2px}
.effect-pip{font-size:0.65rem;padding:1px 5px;border-radius:3px;background:var(--bg4);border:1px solid var(--border-h);color:var(--txt2);white-space:nowrap}
.effect-pip.expiring{border-color:#8B4513;color:#CD853F}
.stats-inline{display:flex;align-items:center;gap:12px;flex-shrink:0}
.stat-inline{display:flex;flex-direction:column;align-items:center;gap:1px}
.stat-inline .lbl{font-size:0.6rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--txt3)}
.stat-bar-wrap{display:flex;align-items:center;gap:5px}
.stat-value{font-size:0.82rem;font-weight:600;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}
.stat-value.hp{color:#E05555}
.stat-value.def{color:#5588E0}
.bar-track{width:60px;height:5px;background:var(--bg4);border-radius:3px;overflow:hidden;border:1px solid var(--border)}
.bar-fill{height:100%;border-radius:3px;transition:width 0.3s}
.bar-fill.hp{background:var(--cr-l)}
.bar-fill.def{background:#3A60C4}
.card-expand-btn{background:none;border:none;color:var(--txt3);cursor:pointer;padding:2px 4px;font-size:0.75rem;transition:color 0.15s;flex-shrink:0}
.card-expand-btn:hover{color:var(--txt)}
.entity-body{padding:0 0.75rem 0.65rem;display:none}
.entity-body.open{display:block}
.entity-controls{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:0.75rem}
.stat-ctrl{display:flex;flex-direction:column;gap:4px}
.stat-ctrl label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--txt3)}
.ctrl-row{display:flex;align-items:center;gap:4px}
.ctrl-num{width:44px;text-align:center;background:var(--bg3);border:1px solid var(--border-h);color:var(--txt);font-size:0.88rem;font-variant-numeric:tabular-nums;padding:3px;border-radius:4px;outline:none;-moz-appearance:textfield}
.ctrl-num::-webkit-inner-spin-button,.ctrl-num::-webkit-outer-spin-button{-webkit-appearance:none}
.effects-section{border-top:1px solid var(--border);padding-top:0.65rem;margin-top:0.1rem}
.effects-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--txt3);margin-bottom:0.4rem}
.effects-grid{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:0.5rem}
.effect-tag{display:flex;align-items:center;gap:5px;padding:3px 7px 3px 9px;border-radius:4px;background:var(--bg3);border:1px solid var(--border-h);font-size:0.74rem;color:var(--txt2)}
.effect-tag .turns{color:var(--cr-l);font-weight:700;font-variant-numeric:tabular-nums}
.effect-tag button{background:none;border:none;color:var(--txt3);cursor:pointer;font-size:0.7rem;padding:0 1px;line-height:1}
.effect-tag button:hover{color:#E05555}
.add-effect-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.select-effect{background:var(--bg3);border:1px solid var(--border-h);color:var(--txt2);font-size:0.78rem;padding:4px 6px;border-radius:4px;outline:none;cursor:pointer;font-family:inherit;flex:1;min-width:140px}
.select-effect:focus{border-color:var(--cr)}
.input-turns{width:52px;background:var(--bg3);border:1px solid var(--border-h);color:var(--txt);font-size:0.78rem;padding:4px 6px;border-radius:4px;outline:none;text-align:center;-moz-appearance:textfield}
.input-turns::-webkit-inner-spin-button,.input-turns::-webkit-outer-spin-button{-webkit-appearance:none}
.input-turns:focus{border-color:var(--cr)}
.card-footer{display:flex;gap:6px;justify-content:flex-end;padding-top:0.4rem;border-top:1px solid var(--border);margin-top:0.4rem}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--txt3);font-size:0.9rem;border:1px dashed var(--border);border-radius:8px}
.empty-state b{display:block;font-size:1.1rem;color:var(--txt2);margin-bottom:0.4rem}
.bar-fill.hp.overheal{background:var(--gold-l)}
.stat-value.hp.overheal{color:var(--gold-l)}

/* ===== EVENTO ALEATÓRIO ===== */
.ev-page{display:flex;flex-direction:column;height:calc(100vh - 57px)}
.ev-content{flex:1;overflow-y:auto;padding:1rem}

/* Bottom toolbar */
.ev-toolbar{display:flex;background:var(--bg2);border-top:1px solid var(--border);padding:0 0.25rem}
.ev-tool-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0.6rem 0.25rem;background:none;border:none;color:var(--txt3);cursor:pointer;font-family:inherit;font-size:0.72rem;letter-spacing:0.05em;text-transform:uppercase;transition:all 0.15s;border-top:2px solid transparent;position:relative}
.ev-tool-btn:hover{color:var(--txt2);background:var(--bg3)}
.ev-tool-btn.active{color:var(--cr-l);border-top-color:var(--cr-l)}

/* Sub-pages */
.ev-sub{display:none}.ev-sub.active{display:block}

/* ---- EVENTO (sorteio) ---- */
.ev-draw-area{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1.5rem;padding:1rem}
.ev-card-frame{width:min(280px,75vw);aspect-ratio:700/1000;background:var(--bg2);border:2px solid var(--cr-d);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;box-shadow:0 0 30px rgba(139,0,0,0.18)}
.ev-card-frame img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.ev-card-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--txt3);font-size:0.82rem;text-align:center;padding:1rem}
.ev-card-placeholder .big{font-size:2.5rem;opacity:0.3}
.ev-card-name{font-size:1rem;font-weight:600;color:var(--txt);letter-spacing:0.05em;text-align:center;min-height:1.4em}
.ev-draw-btn{padding:0.7rem 2.5rem;font-size:0.92rem;letter-spacing:0.1em;border-radius:8px;border:1px solid var(--cr-l);background:var(--cr-d);color:var(--cr-l);cursor:pointer;font-family:inherit;text-transform:uppercase;transition:all 0.18s;box-shadow:0 0 12px rgba(196,30,58,0.15)}
.ev-draw-btn:hover{background:var(--cr-l);color:#fff;box-shadow:0 0 20px rgba(196,30,58,0.35)}
.ev-draw-btn:active{transform:scale(0.97)}
.ev-draw-btn:disabled{opacity:0.4;cursor:not-allowed}

/* ---- HISTÓRICO ---- */
.ev-history-list{display:flex;flex-direction:column;gap:8px}
.ev-history-item{display:flex;align-items:center;gap:12px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:0.6rem 0.75rem;transition:border-color 0.15s}
.ev-history-item:hover{border-color:var(--border-h)}
.ev-history-thumb{width:40px;height:57px;object-fit:cover;border-radius:5px;flex-shrink:0;background:var(--bg3);border:1px solid var(--border)}
.ev-history-thumb-empty{width:40px;height:57px;flex-shrink:0;background:var(--bg3);border:1px solid var(--border);border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--txt3);font-size:1rem}
.ev-history-info{flex:1;min-width:0}
.ev-history-name{font-size:0.88rem;font-weight:600;color:var(--txt);margin-bottom:2px}
.ev-history-time{font-size:0.72rem;color:var(--txt3)}
.ev-history-seq{font-size:0.72rem;color:var(--txt3);background:var(--bg3);border:1px solid var(--border);padding:1px 7px;border-radius:10px;flex-shrink:0}
.ev-empty{text-align:center;padding:3rem 1rem;color:var(--txt3);font-size:0.88rem}
.ev-empty b{display:block;font-size:1rem;color:var(--txt2);margin-bottom:0.4rem}

/* ---- CATÁLOGO ---- */
.ev-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.ev-cat-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color 0.2s}
.ev-cat-card:hover{border-color:var(--border-h)}
.ev-cat-img{width:100%;aspect-ratio:700/1000;object-fit:cover;display:block;background:var(--bg3)}
.ev-cat-img-empty{width:100%;aspect-ratio:700/1000;background:var(--bg3);display:flex;align-items:center;justify-content:center;color:var(--txt3);font-size:1.8rem}
.ev-cat-body{padding:0.5rem}
.ev-cat-name{font-size:0.78rem;font-weight:600;color:var(--txt);margin-bottom:0.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-cat-actions{display:flex;gap:4px}
.ev-cat-btn{flex:1;padding:3px 0;font-size:0.68rem;border-radius:4px;border:1px solid var(--border-h);background:transparent;color:var(--txt3);cursor:pointer;font-family:inherit;transition:all 0.13s;text-align:center}
.ev-cat-btn:hover{background:var(--bg3);color:var(--txt)}
.ev-cat-btn.del:hover{border-color:#5A1A1A;color:#E05555;background:#1A0808}

/* ---- ADICIONAR ---- */
.ev-add-area{max-width:440px;margin:0 auto}
.ev-add-area h2{font-size:0.88rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--cr-l);margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid var(--cr-d)}
.form-row{margin-bottom:0.75rem}
.form-row label{display:block;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.07em;color:var(--txt3);margin-bottom:4px}
.form-input{width:100%;background:var(--bg3);border:1px solid var(--border-h);color:var(--txt);font-size:0.88rem;padding:0.45rem 0.65rem;border-radius:5px;outline:none;font-family:inherit;transition:border-color 0.15s}
.form-input:focus{border-color:var(--cr)}
.upload-zone{border:2px dashed var(--border-h);border-radius:8px;padding:2rem 1rem;text-align:center;cursor:pointer;transition:all 0.18s;background:var(--bg3);position:relative}
.upload-zone:hover,.upload-zone.drag{border-color:var(--cr-l);background:var(--bg4)}
.upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-zone .uz-icon{font-size:2rem;color:var(--txt3);margin-bottom:0.5rem;display:block}
.upload-zone .uz-text{font-size:0.82rem;color:var(--txt3)}
.upload-zone .uz-text b{color:var(--cr-l)}
.upload-preview{width:100%;max-width:200px;margin:0.75rem auto 0;border-radius:8px;border:1px solid var(--border);display:block;aspect-ratio:700/1000;object-fit:cover}

/* ===== MODALS ===== */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:400;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal{background:var(--bg2);border:1px solid var(--cr-d);border-radius:10px;padding:1.25rem;width:100%;max-width:420px}
.modal h2{font-size:0.95rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--cr-l);margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid var(--cr-d)}
.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:1rem;padding-top:0.75rem;border-top:1px solid var(--border)}
.hidden{display:none!important}

/* ===== TOAST ===== */
.toast{position:fixed;bottom:4.5rem;right:1rem;background:var(--bg3);border:1px solid var(--cr-d);color:var(--cr-l);font-size:0.82rem;padding:0.5rem 1rem;border-radius:6px;opacity:0;transition:opacity 0.3s;pointer-events:none;z-index:500;letter-spacing:0.04em;max-width:calc(100vw - 2rem);display:flex;align-items:center;gap:10px}
.toast.show{opacity:1;pointer-events:auto}
.toast-undo-btn{background:none;border:1px solid var(--cr-l);color:var(--cr-l);font-size:0.78rem;padding:2px 10px;border-radius:4px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background 0.12s;flex-shrink:0}
.toast-undo-btn:hover{background:var(--cr-d)}

/* ===== UPLOAD PREVIEW WRAP ===== */
.upload-img-wrap{position:relative;max-width:200px;margin:0.75rem auto 0}
.upload-img-wrap .upload-preview{display:block;margin:0;width:100%;border-radius:8px;border:1px solid var(--border);aspect-ratio:700/1000;object-fit:cover}
.img-menu-btn{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:5px;background:rgba(0,0,0,0.7);border:1px solid rgba(255,255,255,0.15);color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;padding:0;line-height:1}
.img-menu-btn:hover{background:rgba(0,0,0,0.9)}
.img-menu-dropdown{position:absolute;top:40px;right:6px;background:var(--bg2);border:1px solid var(--border-h);border-radius:6px;overflow:hidden;min-width:160px;z-index:10;box-shadow:0 4px 16px rgba(0,0,0,0.5)}
.img-menu-dropdown button{display:block;width:100%;padding:0.5rem 0.85rem;background:none;border:none;color:var(--txt);font-size:0.82rem;cursor:pointer;text-align:left;font-family:inherit;transition:background 0.12s}
.img-menu-dropdown button:hover{background:var(--bg3);color:var(--cr-l)}

/* ===== EVENTOS PAGE — SEM ROLAGEM VERTICAL ===== */
html.ev-active,
body.ev-active{overflow:hidden}
body.ev-active #main{padding:0}
body.ev-active .ev-content{display:flex;flex-direction:column;overflow:hidden}
body.ev-active .ev-sub.active{flex:1;display:flex;flex-direction:column;overflow-y:auto}
body.ev-active #ev-sub-evento.active{overflow:hidden}
body.ev-active .ev-draw-area{flex:1;min-height:0}
body.ev-active #ev-sub-adicionar.active,
body.ev-active #ev-sub-historico.active,
body.ev-active #ev-sub-catalogo.active{overflow-y:auto}

/* ===== RESPONSIVO ===== */
@media(max-width:560px){
  #main{padding:0.6rem 0.5rem}
  .btn{padding:0.35rem 0.7rem;font-size:0.78rem}
  .top-bar{gap:5px}
  .round-info{margin-left:0;width:100%;justify-content:flex-end}
  .entity-header{gap:7px;padding:0.5rem 0.6rem}
  .bar-track{width:42px}
  .stat-value{min-width:22px;font-size:0.78rem}
  .stats-inline{gap:8px}
  .entity-name{font-size:0.85rem}
  .modal{padding:1rem 0.875rem}
  .form-grid{grid-template-columns:1fr 1fr}
  .select-effect{min-width:120px}
  .ev-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
  .ev-card-frame{width:min(200px,55vw)}
  .ev-draw-area{gap:1rem;padding:0.75rem}
}
@media(max-width:400px){
  .bar-track{display:none}
  .stat-bar-wrap{gap:0}
  .stat-inline{flex-direction:row;align-items:center;gap:4px}
  .stat-inline .lbl{font-size:0.62rem}
  .stat-value{min-width:0;font-size:0.8rem}
  .stats-inline{gap:10px}
  .entity-name{font-size:0.82rem}
  .form-grid{grid-template-columns:1fr}
  .entity-controls{gap:8px}
  .ev-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
}

/* ===== MONTE SUA FICHA ===== */
#page-ficha{display:flex;flex-direction:column;height:calc(100vh - 3.2rem)}
.ficha-creator{display:flex;flex-direction:column;height:100%;overflow:hidden}
.ficha-topbar{display:flex;align-items:center;gap:0.75rem;padding:0.65rem 1rem;border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0}
.ficha-progress-wrap{flex:1;display:flex;flex-direction:column;gap:4px}
.ficha-progress-track{height:5px;background:var(--bg4);border-radius:3px;overflow:hidden}
.ficha-progress-fill{height:100%;background:linear-gradient(90deg,var(--cr-d),var(--cr-l));border-radius:3px;transition:width 0.35s ease;width:0}
.ficha-progress-label{font-size:0.67rem;color:var(--txt3);letter-spacing:0.04em}
.ficha-pp-badge{padding:0.25rem 0.65rem;border-radius:20px;background:var(--bg3);border:1px solid var(--cr-d);color:var(--cr-l);font-size:0.8rem;font-weight:700;letter-spacing:0.04em;white-space:nowrap;transition:all 0.2s;flex-shrink:0}
.ficha-pp-badge.zerado{border-color:var(--gold);color:var(--gold-l)}
.ficha-pp-badge.negativo{border-color:#8B1010;background:#4A0000;color:#F08080}
.ficha-step-content{flex:1;overflow-y:auto;padding:1.1rem 1rem}
.ficha-nav-bar{display:flex;gap:0.5rem;padding:0.65rem 1rem;border-top:1px solid var(--border);background:var(--bg2);flex-shrink:0;justify-content:space-between}
/* Intro */
.ficha-intro h2{font-size:1rem;color:var(--cr-l);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid var(--cr-d)}
.ficha-intro-section{margin-bottom:0.9rem}
.ficha-intro-section h3{font-size:0.78rem;color:var(--gold-l);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.25rem}
.ficha-intro-section p{font-size:0.82rem;color:var(--txt2);line-height:1.55}
/* Step headers */
.ficha-step-header{margin-bottom:0.9rem}
.ficha-step-header h2{font-size:0.95rem;color:var(--cr-l);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:0.2rem}
.ficha-step-header p{font-size:0.78rem;color:var(--txt3);line-height:1.4}
/* Cards grid */
.ficha-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0.6rem;margin-bottom:1rem}
.ficha-card{background:var(--bg2);border:1px solid var(--border);border-radius:7px;padding:0.65rem;cursor:pointer;transition:all 0.15s;position:relative}
.ficha-card:hover{border-color:var(--cr);background:var(--bg3)}
.ficha-card.selected{border-color:var(--cr-l);background:var(--cr-d);box-shadow:0 0 0 1px var(--cr)}
.ficha-card.bloqueado{opacity:0.35;cursor:not-allowed;pointer-events:none}
.ficha-card.bloqueado::after{content:'Bloqueado';position:absolute;top:5px;right:5px;font-size:0.58rem;background:#5A1A1A;color:#F08080;padding:2px 5px;border-radius:3px;letter-spacing:0.05em;text-transform:uppercase}
.ficha-card-name{font-size:0.88rem;font-weight:600;color:var(--txt);margin-bottom:0.25rem}
.ficha-card-tags{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:0.25rem}
.ficha-tag{font-size:0.6rem;padding:1px 5px;border-radius:3px;letter-spacing:0.04em;text-transform:uppercase;border:1px solid}
.ficha-tag.custo{background:#1A1A0A;border-color:var(--gold);color:var(--gold-l)}
.ficha-tag.sazonal{background:#0A1A2A;border-color:#3A6A9A;color:#6AAAD4}
.ficha-tag.dificuldade-1{background:#0A2A0A;border-color:#2A6A2A;color:#6AD46A}
.ficha-tag.dificuldade-2{background:#2A1A0A;border-color:#7A5A1A;color:#C4A048}
.ficha-tag.dificuldade-3{background:#2A0A0A;border-color:var(--cr-d);color:var(--cr-l)}
.ficha-card-desc{font-size:0.72rem;color:var(--txt3);line-height:1.35}
/* Card detail */
.ficha-card-detail{margin-top:1rem;background:var(--bg2);border:1px solid var(--cr-d);border-radius:8px;padding:0.9rem}
.ficha-card-detail h3{font-size:0.9rem;color:var(--cr-l);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:0.65rem;padding-bottom:0.4rem;border-bottom:1px solid var(--cr-d)}
.ficha-detail-section{margin-bottom:0.6rem}
.ficha-detail-section h4{font-size:0.68rem;color:var(--gold-l);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.2rem}
.ficha-detail-section p,.ficha-detail-section li{font-size:0.78rem;color:var(--txt2);line-height:1.45}
.ficha-habilidade-list{display:flex;flex-direction:column;gap:0.4rem}
.ficha-hab-item{background:var(--bg3);border-radius:5px;padding:0.45rem 0.6rem;border-left:2px solid var(--cr-d)}
.ficha-hab-item.passiva{border-left-color:var(--gold)}
.ficha-hab-item.acao-rapida{border-left-color:var(--cr-l)}
.ficha-hab-name{font-size:0.77rem;font-weight:600;color:var(--txt);margin-bottom:2px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.ficha-hab-custo{font-size:0.65rem;color:var(--txt3);margin-bottom:2px}
.ficha-hab-desc{font-size:0.72rem;color:var(--txt2);line-height:1.38}
/* Legados */
.ficha-legado-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0.6rem}
.ficha-legado-card{background:var(--bg2);border:1px solid var(--border);border-radius:7px;padding:0.75rem;cursor:pointer;transition:all 0.15s}
.ficha-legado-card:hover{border-color:var(--gold);background:var(--bg3)}
.ficha-legado-card.selected{border-color:var(--gold-l);background:#1A1A0A;box-shadow:0 0 0 1px var(--gold)}
.ficha-legado-name{font-size:0.83rem;font-weight:600;color:var(--gold-l);margin-bottom:0.35rem}
.ficha-legado-desc{font-size:0.75rem;color:var(--txt2);line-height:1.42}
/* Attribute choice */
.ficha-attr-choice{margin-top:0.9rem;padding:0.65rem;background:var(--bg3);border:1px solid var(--gold);border-radius:6px}
.ficha-attr-choice p{font-size:0.77rem;color:var(--gold-l);margin-bottom:0.4rem}
.ficha-attr-choice-btns{display:flex;gap:0.4rem;flex-wrap:wrap}
.ficha-attr-btn{padding:0.3rem 0.75rem;border:1px solid var(--border-h);border-radius:4px;background:var(--bg4);color:var(--txt2);font-size:0.78rem;cursor:pointer;transition:all 0.15s;font-family:inherit}
.ficha-attr-btn:hover,.ficha-attr-btn.active{background:var(--cr-d);border-color:var(--cr);color:var(--cr-l)}
/* Attribute rolling */
.ficha-roll-btn-wrap{text-align:center;margin-bottom:0.9rem}
.ficha-rolagens-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin-bottom:0.9rem}
.ficha-rolagem-num{background:var(--bg3);border:1px solid var(--border-h);border-radius:5px;text-align:center;padding:0.4rem 0.2rem;font-size:0.95rem;font-weight:700;color:var(--txt)}
.ficha-rolagem-num.usada{opacity:0.35;text-decoration:line-through;color:var(--txt3)}
.ficha-atrib-table{width:100%;border-collapse:collapse;font-size:0.8rem}
.ficha-atrib-table th{text-align:left;font-size:0.67rem;color:var(--txt3);text-transform:uppercase;letter-spacing:0.06em;padding:0.28rem 0.45rem;border-bottom:1px solid var(--border)}
.ficha-atrib-table td{padding:0.32rem 0.45rem;color:var(--txt);border-bottom:1px solid var(--border);vertical-align:middle}
.ficha-atrib-table select{background:var(--bg3);border:1px solid var(--border-h);color:var(--txt);border-radius:4px;padding:0.22rem 0.4rem;font-size:0.78rem;font-family:inherit;cursor:pointer;width:100%}
.ficha-mod-cell{font-weight:700;color:var(--txt3)}
.ficha-mod-cell.pos{color:#6AD46A}
.ficha-mod-cell.zero{color:var(--txt3)}
.ficha-mod-cell.neg{color:#F08080}
/* Calc boxes */
.ficha-calc-box{background:var(--bg2);border:1px solid var(--cr-d);border-radius:7px;padding:1.1rem;text-align:center;margin-bottom:0.9rem}
.ficha-calc-title{font-size:0.68rem;color:var(--txt3);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:0.4rem}
.ficha-calc-value{font-size:2rem;font-weight:700;color:var(--cr-l);margin-bottom:0.2rem}
.ficha-calc-formula{font-size:0.77rem;color:var(--txt2)}
.ficha-calc-nota{font-size:0.7rem;color:var(--gold-l);margin-top:0.3rem}
/* List items (vantagens/runas/etc) */
.ficha-list-item{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:0.65rem;margin-bottom:0.4rem;display:flex;align-items:flex-start;gap:0.6rem;cursor:pointer;transition:all 0.15s}
.ficha-list-item:hover{border-color:var(--cr);background:var(--bg3)}
.ficha-list-item.selected{border-color:var(--cr-l);background:var(--cr-d)}
.ficha-list-item.disabled{opacity:0.35;cursor:not-allowed;pointer-events:none}
.ficha-list-check{width:16px;height:16px;border-radius:3px;border:1px solid var(--border-h);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:0.65rem;color:var(--cr-l)}
.ficha-list-item.selected .ficha-list-check{background:var(--cr-l);border-color:var(--cr-l);color:#fff}
.ficha-list-body{flex:1}
.ficha-list-name{font-size:0.83rem;font-weight:600;color:var(--txt);margin-bottom:2px}
.ficha-list-cost{font-size:0.65rem;color:var(--gold-l);letter-spacing:0.04em;margin-bottom:3px}
.ficha-list-cost.ganho{color:#6AD46A}
.ficha-list-desc{font-size:0.73rem;color:var(--txt2);line-height:1.38}
/* Runa groups */
.ficha-grupo-header{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--gold-l);border-bottom:1px solid var(--gold);padding-bottom:0.25rem;margin:0.9rem 0 0.35rem}
.ficha-grupo-bonus{font-size:0.7rem;color:var(--txt3);margin-bottom:0.55rem;padding-left:0.45rem;border-left:2px solid var(--gold)}
/* Ordem */
.ficha-ordem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0.6rem}
.ficha-ordem-card{background:var(--bg2);border:1px solid var(--border);border-radius:7px;padding:0.75rem;cursor:pointer;transition:all 0.15s}
.ficha-ordem-card:hover{border-color:var(--cr);background:var(--bg3)}
.ficha-ordem-card.selected{border-color:var(--cr-l);background:var(--cr-d);box-shadow:0 0 0 1px var(--cr)}
.ficha-ordem-name{font-size:0.85rem;font-weight:600;color:var(--cr-l);margin-bottom:0.3rem}
.ficha-ordem-desc{font-size:0.75rem;color:var(--txt2);line-height:1.42}
/* Summary */
.ficha-summary{display:grid;gap:0.6rem}
.ficha-summary-section{background:var(--bg2);border:1px solid var(--border);border-radius:7px;padding:0.75rem}
.ficha-summary-section h3{font-size:0.67rem;color:var(--gold-l);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:0.45rem;padding-bottom:0.25rem;border-bottom:1px solid var(--border)}
.ficha-summary-row{display:flex;justify-content:space-between;gap:0.5rem;padding:0.18rem 0;font-size:0.78rem;color:var(--txt2);border-bottom:1px solid var(--border)}
.ficha-summary-row:last-child{border-bottom:none}
.ficha-summary-row strong{color:var(--txt);text-align:right}
.ficha-atrib-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:0.3rem}
.ficha-atrib-summary-cell{background:var(--bg3);border-radius:5px;padding:0.3rem;text-align:center}
.ficha-atrib-summary-abbr{font-size:0.6rem;color:var(--txt3);text-transform:uppercase}
.ficha-atrib-summary-val{font-size:0.9rem;font-weight:700;color:var(--txt)}
.ficha-atrib-summary-mod{font-size:0.7rem;font-weight:600}
/* Save */
.ficha-save-wrap{max-width:380px;margin:1rem auto 0}
.ficha-save-input{width:100%;background:var(--bg3);border:1px solid var(--border-h);color:var(--txt);border-radius:5px;padding:0.6rem 0.7rem;font-size:0.95rem;font-family:inherit}
.ficha-save-input:focus{outline:none;border-color:var(--cr)}
/* Alerts */
.ficha-alert{padding:0.55rem 0.8rem;border-radius:5px;font-size:0.77rem;margin-bottom:0.6rem;line-height:1.42}
.ficha-alert.warning{background:#1A1800;border:1px solid #5A5000;color:#C4A800}
.ficha-alert.info{background:#001A1A;border:1px solid #005A5A;color:#40B0B0}
.ficha-alert.especial{background:var(--cr-d);border:1px solid var(--cr);color:var(--cr-l)}
@media(max-width:480px){
  .ficha-card-grid{grid-template-columns:1fr 1fr}
  .ficha-rolagens-grid{grid-template-columns:repeat(3,1fr)}
  .ficha-atrib-summary-grid{grid-template-columns:repeat(3,1fr)}
  .ficha-ordem-grid{grid-template-columns:1fr}
}

/* ===== SPLASH ===== */
#splash{position:fixed;inset:0;background:var(--bg);z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:opacity 0.5s}
#splash.out{opacity:0;pointer-events:none}
.splash-ascii{color:var(--cr-l);font-family:'Courier New',Courier,monospace;font-size:clamp(5px,1.9vw,10px);line-height:1.4;white-space:pre;text-shadow:0 0 24px rgba(196,30,58,0.6);padding:0 1rem;max-width:100vw;overflow:hidden}
.splash-hint{color:var(--txt3);font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;margin-top:2.5rem;animation:blink-hint 1.6s ease-in-out infinite}
@keyframes blink-hint{0%,100%{opacity:0.25}50%{opacity:1}}
