.char-name{color:var(--char-color);font-weight:700;-webkit-text-stroke:2px rgba(0,0,0,0.6);paint-order:stroke fill;text-shadow:0 0 3px rgba(0,0,0,.18);border-bottom:1px dashed rgba(0,0,0,.18);cursor:pointer;transition:border .15s}.char-name:hover{border-bottom-style:solid;border-bottom-color:rgba(0,0,0,.35)}.char-name.char-dark{-webkit-text-stroke-color:rgba(255,255,255,0.75);text-shadow:0 0 3px rgba(255,255,255,.25)}.char-name.char-plain{-webkit-text-stroke:0;text-shadow:none}.char-name.has-gradient{display:inline-block;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-shadow:none;-webkit-text-stroke:0}.char-card{position:fixed;z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.375rem;line-height:1.6;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .15s,transform .15s;text-align:center;width:min(280px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow-y:auto}.char-card.has-img{padding:.375rem}.char-card .card-avatar{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px;margin-bottom:.5rem;background:#f0ede6}.char-card.show{opacity:1;transform:translateY(0)}.char-card .card-faction{color:#9ca3af;font-size:.75rem;letter-spacing:.5px}.char-card .card-name{font-size:1.25rem;font-weight:600;-webkit-text-stroke:2px rgba(0,0,0,0.6);paint-order:stroke fill;text-shadow:0 0 3px rgba(0,0,0,.18)}.char-card .card-name.name-dark{-webkit-text-stroke-color:rgba(255,255,255,0.75);text-shadow:0 0 3px rgba(255,255,255,.25)}.char-card .card-name.name-plain{-webkit-text-stroke:0;text-shadow:none}.char-card .card-desc{color:#6b7280;font-size:.82rem;margin-top:.25rem}