.hero-dialog{width:min(1000px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #646373;border-radius:6px;background:#191c29;color:#e8eee9;box-shadow:0 20px 80px #000b;overflow:hidden}
.hero-dialog::backdrop{background:#070912d9}
.hero-dialog-body{padding:22px;margin:0;display:flex;flex-direction:column;max-height:calc(100dvh - 28px);box-sizing:border-box}
.hero-dialog-heading{text-align:center;margin-bottom:18px}
.hero-dialog-heading small{font-size:10px;color:#b6c2b8;letter-spacing:0}
.hero-dialog-heading h2{font-size:25px;line-height:1.2;margin:6px 0 0;letter-spacing:0}
.hero-options{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;min-height:0;padding:4px 4px 12px;scroll-snap-type:x mandatory;scroll-padding-inline:4px;overscroll-behavior-x:contain;scrollbar-color:#626875 #161923;flex-shrink:0}
.hero-options>.hero-option{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start}
.hero-slide-controls{display:flex;justify-content:flex-end;gap:8px;margin:-4px 0 8px;flex-shrink:0}
.hero-slide-controls button{display:grid;place-items:center;width:36px;height:32px;padding:0;font-size:20px;line-height:1;border-color:#59626b}
.hero-slide-controls button:disabled{opacity:.3;cursor:default;color:#9ca5aa;border-color:#383f49}
.hero-option{display:flex;flex-direction:column;min-width:0;text-align:left;padding:0 0 14px;border:2px solid #414451;border-radius:5px;background:#212531;color:#e8eee9;overflow:hidden}
.hero-option:hover{border-color:#d1b27a;color:#fff}
.hero-option.is-selected{border-color:#b9d6b7;box-shadow:0 0 0 1px #b9d6b7}
.hero-option:focus-visible{outline:2px solid #f0c977;outline-offset:4px}
.hero-visual{display:block;position:relative;width:100%;height:238px;background:#141923}
.hero-portrait{display:block;width:100%;height:174px;object-fit:cover;object-position:center 27%;image-rendering:pixelated}
.hero-sprite-stage{position:absolute;left:0;right:0;bottom:0;height:64px;background:#161d26;border-top:1px solid #4a5354;display:flex;justify-content:center;align-items:flex-end}
.hero-sprite-stage:before{content:"";position:absolute;bottom:6px;width:76px;height:12px;background:#0b0f16;border-bottom:2px solid #454c50}
.hero-sprite-stage canvas{position:relative;flex:none;width:96px;height:96px;image-rendering:pixelated;object-fit:contain}
.hero-check{position:absolute;top:9px;right:9px;display:none;place-items:center;width:25px;height:25px;background:#b9d6b7;color:#16251d;border:1px solid #182d24;border-radius:50%;font-size:16px;font-weight:700}
.is-selected .hero-check{display:grid}
.hero-name{display:block;padding:13px 13px 11px;font-size:17px;line-height:1.25;letter-spacing:0}
.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 13px;width:100%}
.hero-stats>span{display:flex;flex-direction:column;gap:3px;border-top:1px solid #424956;padding-top:7px}
.hero-stats small{font-size:10px;color:#abb5ba;letter-spacing:0}
.hero-stats b{font-size:16px;color:#edce91;font-variant-numeric:tabular-nums}
.hero-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}
.hero-aim{display:flex;flex-wrap:wrap;gap:10px;border:1px solid #414b54;border-radius:5px;padding:10px 12px;margin:14px 0 0;flex-shrink:0}
.hero-aim legend{padding:0 5px;color:#b9d6b7;font-size:12px}
.hero-aim label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px}
.hero-aim input{accent-color:#b9d6b7}
.hero-actions .primary{margin:0;min-width:150px;padding:12px 24px}
.hero-cancel{font-size:13px}
.hero-dialog-heading,.hero-actions{flex-shrink:0}
.hero-locked,.hero-locked:hover{position:relative;min-height:398px;background:#030405;border-color:#30343c;color:#858b95;cursor:not-allowed;opacity:1;justify-content:center;align-items:center;padding:0}
.hero-sealed{position:absolute;inset:0;overflow:hidden;background:#030405}
.hero-chain{position:absolute;left:50%;top:46%;display:flex;align-items:center;width:760px;height:20px;transform-origin:center;filter:drop-shadow(2px 3px 0 #000)}
.chain-forward{transform:translate(-50%,-50%) rotate(42deg)}
.chain-back{transform:translate(-50%,-50%) rotate(-42deg)}
.hero-chain i{display:block;flex:0 0 38px;height:17px;border:4px solid #59616d;border-radius:5px;box-shadow:inset 1px 1px 0 #939aa2,1px 1px 0 #252a32;margin-left:-3px;box-sizing:border-box}
.hero-chain i:nth-child(even){height:9px;border-width:3px;border-color:#737b84}
.hero-padlock{position:absolute;left:50%;top:46%;transform:translate(-50%,-30%);width:54px;height:44px;background:#66634f;border:4px solid #262832;box-shadow:inset 3px 3px 0 #aaa183,4px 5px 0 #000}
.hero-padlock:before{content:"";position:absolute;left:8px;top:-29px;width:22px;height:26px;border:6px solid #838888;border-bottom:0;border-radius:10px 10px 0 0;box-shadow:inset 2px 1px 0 #383e47;box-sizing:border-box}
.hero-padlock i{position:absolute;left:19px;top:13px;width:8px;height:8px;background:#1c2027}
.hero-padlock i:after{content:"";position:absolute;left:2px;top:6px;width:4px;height:8px;background:#1c2027}
.hero-locked-label{position:relative;margin-top:140px;font-size:14px;letter-spacing:0;color:#9b9fa7}
@media(max-width:780px){.hero-options>.hero-option{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:480px){.hero-options>.hero-option{flex-basis:84%}.hero-locked,.hero-locked:hover{min-height:340px}}
@media(max-height:580px){.hero-locked,.hero-locked:hover{min-height:290px}.hero-dialog-body{overflow-y:auto}}
@media(max-width:480px){.hero-dialog-body{padding:14px}.hero-options{gap:10px}.hero-dialog-heading h2{font-size:22px}.hero-visual{height:196px}.hero-portrait{height:138px}.hero-sprite-stage{height:58px}.hero-sprite-stage canvas{width:80px;height:80px}.hero-name{font-size:14px;padding:11px 8px 9px}.hero-stats{padding:0 8px;gap:7px}.hero-stats small{font-size:9px}.hero-stats b{font-size:15px}.hero-actions .primary{min-width:130px}.hero-dialog-heading{margin-bottom:13px}}
@media(max-height:580px){.hero-dialog-body{padding:14px}.hero-dialog-heading{margin-bottom:10px}.hero-visual{height:150px}.hero-portrait{height:100px}.hero-sprite-stage{height:50px}.hero-sprite-stage canvas{width:72px;height:72px}.hero-name{padding-top:9px;padding-bottom:7px}.hero-actions{margin-top:12px}}

.hero-description{display:block;padding:0 13px 12px;font-size:12px;line-height:1.5;color:#b9cece}.hero-description:empty{display:none}
