/* Ficha do Herói — abre pelo retrato da placa de identidade.
   Segue a mesma linguagem das outras janelas: moldura dourada sobre pedra
   escura, títulos em Georgia e corpo em tamanho legível (nada abaixo de 11px). */
.hero-sheet-modal {
    position: fixed;
    z-index: 20040;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(2, 4, 5, .72);
}
.hero-sheet-modal[hidden] { display: none; }

.hero-sheet {
    width: min(760px, calc(100vw - 32px));
    max-height: calc(100vh - 40px);
    overflow: auto;
    border: 1px solid #a8823a;
    background: linear-gradient(150deg, #1b1a13, #0a0c0c 46%, #14130e);
    box-shadow: 0 0 0 3px #060707, inset 0 0 30px #000, 0 18px 50px #000c;
    color: #e2e9e3;
    font: 12px Arial, sans-serif;
}

.hero-sheet-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 11px 14px;
    border-bottom: 1px solid #4b4128;
    background: linear-gradient(90deg, #2a2313, #0c0d0c);
}
.hero-sheet-head strong { color: #f2dc97; font: 700 15px Georgia, serif; letter-spacing: .6px; }
.hero-sheet-close {
    padding: 0 6px; border: 0; background: none;
    color: #c8b273; font: 700 22px/1 Georgia, serif; cursor: pointer;
}
.hero-sheet-close:hover { color: #ffeeb4; }

.hero-sheet-tabs { display: flex; gap: 3px; padding: 8px 12px 0; border-bottom: 1px solid #3a3524; }
.hero-sheet-tabs button {
    padding: 7px 18px;
    border: 1px solid #4a4229; border-bottom: 0;
    background: linear-gradient(#1a1a13, #0b0c0b);
    color: #b9b189; font: 700 12px Georgia, serif; cursor: pointer;
}
.hero-sheet-tabs button:hover { color: #f0e3b4; }
.hero-sheet-tabs button.is-active {
    border-color: #a8823a;
    background: linear-gradient(#3a3016, #14110a);
    color: #ffeeb4;
}

.hero-sheet-body { padding: 15px; }

/* ---- Aba Ficha ---- */
.hero-sheet-cols { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 18px; align-items: start; }
.hero-sheet-stage {
    display: grid; place-items: center;
    padding: 10px;
    border: 1px solid #4a4229;
    background: radial-gradient(ellipse at 50% 78%, #2a2a20, #0a0c0b 72%);
    box-shadow: inset 0 0 24px #000;
}
.hero-sheet-stage-canvas { display: block; max-width: 100%; height: auto; }

.hero-sheet-info h3 { margin: 0; color: #f4e3a9; font: 700 21px Georgia, serif; }
.hero-sheet-sub { margin: 3px 0 0; color: #b7c3bb; font: 13px Georgia, serif; }
.hero-sheet-guild { color: #9ecfe3; }
.hero-sheet-guild.is-none { color: #7c857e; font-style: italic; }
.hero-sheet-title {
    margin: 7px 0 0; color: #f0d78d;
    font: 700 11px Georgia, serif; letter-spacing: 1.6px;
}
.hero-sheet-info h4 {
    margin: 16px 0 7px; padding-top: 11px;
    border-top: 1px solid #3a3524;
    color: #b3dbd5; font: 700 11px Arial, sans-serif; letter-spacing: 1px; text-transform: uppercase;
}

.hero-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 13px; }
.hero-stat { padding: 7px 9px; border: 1px solid #3b4139; background: rgba(10, 14, 13, .7); }
.hero-stat small { display: block; color: #93a49a; font: 11px Arial, sans-serif; }
.hero-stat b { color: #ecefe4; font: 700 15px Georgia, serif; }

.hero-sheet-gear { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 0; list-style: none; }
.hero-sheet-gear li {
    display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 7px; align-items: baseline;
    padding: 4px 7px; border-left: 2px solid #4a4229; background: rgba(9, 12, 12, .6);
}
.hero-sheet-gear small { color: #8fa196; font: 11px Arial, sans-serif; }
.hero-sheet-gear span { overflow: hidden; color: #dbe6dc; font: 11px Arial, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.hero-sheet-gear b { color: #f0d78d; }
.hero-sheet-gear li.is-empty { opacity: .45; }
.hero-sheet-gear li.is-excellent { border-left-color: #53e8a9; }
.hero-sheet-gear li.is-excellent span { color: #a8f2cf; }

/* ---- Aba Feitos ---- */
.hero-feat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 8px; }
.hero-feat {
    display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; align-items: center;
    padding: 11px; border: 1px solid #3b4139;
    background: linear-gradient(140deg, rgba(20, 24, 22, .9), rgba(8, 11, 11, .9));
}
.hero-feat i { font-size: 21px; font-style: normal; line-height: 1; text-align: center; }
.hero-feat b { display: block; color: #f4e3a9; font: 700 19px Georgia, serif; }
.hero-feat small { display: block; color: #9fb0a5; font: 11px Arial, sans-serif; }
.hero-feat em { display: block; margin-top: 2px; color: #78877e; font: italic 11px Arial, sans-serif; }
.hero-feat-note { margin: 12px 0 0; color: #b7c3bb; font: 12px Arial, sans-serif; }
.hero-feat-note b { color: #f0d78d; }

/* O retrato passa a se anunciar como botão. */
.mu-player-portrait { cursor: pointer; transition: box-shadow .15s ease, border-color .15s ease; }
.mu-player-portrait:hover { border-color: #f0d78d; box-shadow: 0 0 0 2px #0a0a08, 0 0 14px rgba(240, 215, 141, .55); }

@media (max-width: 680px) {
    .hero-sheet-cols { grid-template-columns: minmax(0, 1fr); }
    .hero-sheet-stage { justify-self: center; }
    .hero-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hero-sheet-gear { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Ficha viva: retrato, recursos, poder e vitrine de equipamento ---- */
.hero-sheet { width:min(1040px,calc(100vw - 32px)); border-color:#8d7130; background:linear-gradient(145deg,#111510,#070a0a 54%,#151309); }
.hero-sheet-head { padding:14px 18px; background:linear-gradient(90deg,#201d10,#0a0d0c 55%,#161208); }
.hero-sheet-head strong { font-size:22px; }
.hero-sheet-tabs { padding-left:18px; }
.hero-sheet-body { padding:14px 18px 18px; }
.hero-sheet-premium { display:grid; grid-template-columns:300px minmax(0,1fr); gap:16px; }
.hero-sheet-stage { position:relative; min-height:480px; overflow:hidden; padding:30px 10px 8px; border-color:#65552f; background:radial-gradient(ellipse at 50% 72%,rgba(21,109,71,.35),transparent 42%),radial-gradient(ellipse at 50% 20%,#12251e,#080c0b 71%); box-shadow:inset 0 0 0 2px #17170d,inset 0 0 35px #000; }
.hero-sheet-stage::before { content:''; position:absolute; inset:15px; border:1px solid rgba(191,157,72,.48); pointer-events:none; }
.hero-sheet-stage::after { content:''; position:absolute; inset:36% 10% 8%; background:radial-gradient(ellipse,rgba(56,213,142,.35),transparent 62%); filter:blur(12px); pointer-events:none; }
.hero-sheet-stage p { position:relative; z-index:2; margin:0 0 -18px; color:#aee6bd; font:700 16px Georgia,serif; text-align:center; text-shadow:0 1px #000; }
.hero-class-crest { position:absolute; z-index:3; top:13px; left:50%; display:grid; width:46px; height:46px; place-items:center; border:1px solid #b99b52; border-radius:50%; background:radial-gradient(circle,#275e42,#0b1c16 70%); box-shadow:0 0 15px #4dc88c66,inset 0 0 9px #000; color:#e5dfa9; font:24px Georgia,serif; transform:translateX(-50%); }
.hero-sheet-stage-canvas { position:relative; z-index:1; width:100%; max-width:280px; margin:auto; }
.hero-sheet-info { min-width:0; }
.hero-identity { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:4px 2px 10px; border-bottom:1px solid #3e4c41; }
.hero-sheet-info h3 { font-size:27px; }
.hero-sheet-sub { color:#c6d6cc; }
.hero-sheet-title { margin:0; color:#f0ce70; white-space:nowrap; }
.hero-resource-stack { display:grid; gap:7px; margin:12px 0; }
.hero-resource { display:grid; grid-template-columns:22px 28px minmax(0,1fr); gap:7px; align-items:center; color:#ece8d6; }
.hero-resource>i { font:20px/1 Georgia,serif; text-align:center; }.hero-resource-hp>i{color:#ff645b}.hero-resource-mp>i{color:#56aaff}
.hero-resource>b { font:700 12px Georgia,serif; }.hero-resource>span { position:relative; display:block; height:18px; overflow:hidden; border:1px solid #584e35; background:#130a09; box-shadow:inset 0 0 5px #000; }.hero-resource>span em { position:absolute; inset:2px auto 2px 2px; display:block; background:linear-gradient(90deg,#a50f0b,#f33d31); box-shadow:0 0 8px #e94037; }.hero-resource-mp>span{background:#071018}.hero-resource-mp>span em{background:linear-gradient(90deg,#104fad,#2197ef);box-shadow:0 0 8px #289af4}.hero-resource strong { position:relative; z-index:1; display:block; padding:2px 7px; color:#fff; font:700 11px Arial,sans-serif; text-align:right; text-shadow:1px 1px #000; }
.hero-stat-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:3px; margin:0; border:1px solid #33423b; background:#080d0c; }.hero-stat { display:flex; align-items:center; gap:6px; min-height:55px; padding:6px 7px; border:0; border-right:1px solid #33423b; background:linear-gradient(160deg,#17201c,#0a100e); }.hero-stat:last-child{border:0}.hero-stat>i{color:#d8bd69;font:17px Georgia,serif;font-style:normal}.hero-stat small{color:#a8b9ad}.hero-stat b{font-size:16px}
.hero-power-card { display:grid; grid-template-columns:40% 60%; align-items:center; min-height:74px; margin:12px 0; padding:9px 12px; border:1px solid #665327; background:linear-gradient(100deg,#1d190b,#0d100d 55%,#132019); box-shadow:inset 0 0 16px #000; }.hero-power-card small{display:block;color:#b9b8a1;font:11px Arial,sans-serif}.hero-power-card>div:first-child small{color:#e6c871;font:700 11px Georgia,serif;text-transform:uppercase}.hero-power-card>div:first-child>b{display:block;color:#f0d47b;font:700 34px Georgia,serif;text-shadow:0 0 12px #b58b25}.hero-power-card strong{color:#d7e7d6;font:700 13px Georgia,serif}.hero-power-card span{display:block;height:11px;margin:6px 0 4px;border:1px solid #5d715d;background:#060a08;box-shadow:inset 0 0 5px #000}.hero-power-card span em{display:block;height:100%;background:linear-gradient(90deg,#258a72,#72e6b2);box-shadow:0 0 7px #51d29d}.hero-power-card>div:last-child small{color:#9bad9f}
.hero-sheet-info h4 { display:flex; justify-content:space-between; align-items:baseline; margin:9px 0 7px; padding-top:9px; }.hero-sheet-info h4 small{color:#6f897b;font:10px Arial,sans-serif;text-transform:none;letter-spacing:0}
.hero-sheet-gear { grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; }.hero-gear-slot { position:relative; display:grid; min-height:76px; place-items:center; overflow:hidden; padding:16px 4px 4px; border:1px solid #4f5346; background:radial-gradient(circle at 50% 45%,#20251d,#090d0b 76%); box-shadow:inset 0 0 10px #000; }.hero-gear-slot>small { position:absolute; z-index:2; top:3px; left:4px; right:4px; overflow:hidden; color:#d4c98c; font:700 10px Georgia,serif; text-align:center; text-overflow:ellipsis; white-space:nowrap; }.hero-gear-slot::before { content:''; position:absolute; inset:18px 10px 7px; opacity:.22; background:url('../assets/img/items/equipment-slot-silhouettes-source.png') center/400% 300% no-repeat; filter:grayscale(1); }.hero-gear-slot.is-filled::before{display:none}.hero-gear-slot.is-empty>i{position:relative;z-index:1;color:#627067;font:20px Georgia,serif;font-style:normal}.hero-gear-icon{position:relative!important;z-index:1!important;display:block;width:50px!important;height:50px!important;background-position:center!important;background-repeat:no-repeat!important;filter:drop-shadow(0 3px 3px #000)}.hero-gear-slot>b{position:absolute;z-index:3;right:2px;bottom:1px;color:#fff0a9;font:700 11px Arial,sans-serif;text-shadow:1px 1px #000}.hero-gear-slot.is-excellent{border-color:#3dd48a;box-shadow:inset 0 0 12px #08774466,0 0 7px #0fb46d55}.hero-gear-slot.is-excellent small{color:#9cf1be}.hero-gear-slot[data-hero-equipment-slot]{cursor:help}.hero-gear-slot[data-hero-equipment-slot]:hover{z-index:3;border-color:#f2dc8b;filter:brightness(1.14)}
.hero-sheet-highlights { grid-column:1/-1; display:grid; grid-template-columns:1fr repeat(3,1fr); align-items:center; gap:8px; margin-top:2px; padding:10px 14px; border:1px solid #514a30; background:linear-gradient(90deg,#12170f,#101411,#171309); }.hero-sheet-highlights>strong{color:#e8cc7c;font:700 16px Georgia,serif;text-transform:uppercase}.hero-sheet-highlights>div{display:flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid #3d473c}.hero-sheet-highlights i{color:#d6b65e;font:22px Georgia,serif;font-style:normal}.hero-sheet-highlights b{display:block;color:#79dfad;font:700 19px Georgia,serif}.hero-sheet-highlights small{display:block;color:#a9b8ac;font:10px Arial,sans-serif}
@media(max-width:860px){.hero-sheet-premium{grid-template-columns:220px minmax(0,1fr)}.hero-sheet-stage{min-height:420px}.hero-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stat:nth-child(3){border-right:0}.hero-sheet-gear{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-sheet-highlights{grid-template-columns:1fr 1fr}.hero-sheet-highlights>strong{grid-column:1/-1}}
@media(max-width:620px){.hero-sheet-body{padding:10px}.hero-sheet-premium{grid-template-columns:1fr}.hero-sheet-stage{min-height:330px}.hero-sheet-stage-canvas{max-height:310px;width:auto}.hero-power-card{grid-template-columns:1fr}.hero-sheet-gear{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-sheet-highlights{grid-template-columns:1fr}.hero-sheet-highlights>div{border-left:0;border-top:1px solid #3d473c;padding:7px 0 0}.hero-sheet-head strong{font-size:18px}}
