.hsc-card-study { margin-top:1rem; border:1px solid #d7caa9; border-radius:.75rem; padding:.85rem 1rem; background:#f8f4ea; color:#142d43; }
.hsc-card-study summary { font-weight:700; cursor:pointer; min-height:44px; display:list-item; align-content:center; }
.hsc-card-study-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.hsc-card-study button { min-height:44px; border:1px solid #b29654; border-radius:.5rem; padding:.65rem .9rem; font:inherit; font-weight:600; background:#142d43; color:#fffdf8; cursor:pointer; }
.hsc-card-study button[hidden],.hsc-card-study [data-copy-fallback][hidden] { display:none !important; }
.hsc-card-study button:disabled { opacity:.65; cursor:wait; }
.hsc-card-study button:focus-visible,.hsc-card-study a:focus-visible,.hsc-card-study summary:focus-visible,.hsc-card-study textarea:focus-visible { outline:3px solid #ac7d20; outline-offset:3px; }
.hsc-card-study [data-copy-status] { font-size:.9rem; line-height:1.5; }
.hsc-card-study textarea { display:block; width:100%; box-sizing:border-box; margin-top:.5rem; min-height:9rem; padding:.75rem; font:inherit; color:#142d43; background:white; }
@media(max-width:480px) { .hsc-card-study-actions { flex-direction:column; } .hsc-card-study button { width:100%; } }
.hsc-character-return { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.hsc-character-return a,.hsc-portrait-expand { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.6rem .85rem; border:1px solid #ad934f; border-radius:.5rem; background:#fffaf0; color:#142d43; font:inherit; font-weight:700; text-decoration:underline; cursor:pointer; }
.hsc-character-return a:focus-visible,.hsc-portrait-expand:focus-visible,.hsc-portrait-dialog button:focus-visible { outline:3px solid #ac7d20; outline-offset:3px; }
.hsc-portrait-unavailable { padding:1rem; background:#f6f1e6; color:#142d43; line-height:1.6; }
.hsc-character-portrait [hidden],.hsc-portrait-dialog [hidden] { display:none !important; }
.hsc-portrait-dialog { box-sizing:border-box; width:min(94vw,840px); max-width:94vw; max-height:94dvh; padding:1rem; border:1px solid #ad934f; border-radius:1rem; background:#fffaf0; color:#142d43; overflow:auto; }
.hsc-portrait-dialog::backdrop { background:rgb(5 18 30 / .85); }
.hsc-portrait-dialog button { display:block; margin:0 0 .75rem auto; min-height:44px; padding:.65rem 1rem; border:1px solid #ad934f; border-radius:.5rem; background:#142d43; color:#fffaf0; font:inherit; cursor:pointer; }
.hsc-portrait-dialog figure { margin:0; }
.hsc-portrait-dialog img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(94dvh - 180px); margin:auto; object-fit:contain; }
.hsc-portrait-dialog figcaption { margin-top:.75rem; font-size:.9rem; line-height:1.6; overflow-wrap:anywhere; }
@media(max-width:640px) { .hsc-character-return a { width:100%; } }
/* Comparison reuses the character card palette and ordinary disclosure controls. */
.hsc-character-comparison,.hsc-compare-tools { color:#142d43; background:#fffaf0; border:1px solid #d7caa9; border-radius:.85rem; padding:clamp(1rem,3vw,1.5rem); margin:1rem 0; overflow-wrap:anywhere; }
.hsc-character-comparison *,.hsc-compare-tools * { box-sizing:border-box; }
.hsc-compare-tools h2 { margin-top:0; }
.hsc-compare-tools ul { padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.hsc-compare-tools li { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.hsc-compare-tools strong { flex-basis:100%; }
.hsc-compare-tools button,.hsc-compare-tools [data-compare-controls]>a,[data-compare-select] { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.6rem .85rem; margin:.25rem; border:1px solid #ad934f; border-radius:.5rem; background:#fffaf0; color:#142d43; font:inherit; font-weight:700; cursor:pointer; }
[data-compare-select][aria-pressed=true] { background:#142d43; color:#fffaf0; }
.hsc-compare-tools :focus-visible,.hsc-character-comparison :focus-visible,[data-compare-select]:focus-visible { outline:3px solid #ac7d20; outline-offset:3px; }
.hsc-compare-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.hsc-compare-person { min-width:0; border:1px solid #d7caa9; border-radius:.75rem; padding:1rem; background:#f8f4ea; }
.hsc-compare-person h2 { margin-top:0; }
.hsc-compare-person .hsc-character-portrait { float:none; margin:0 auto 1rem; max-width:280px; width:100%; }
.hsc-compare-person img { max-width:100%; height:auto; }
.hsc-compare-person dl { margin:1rem 0; }
.hsc-compare-person dt { font-weight:700; margin-top:.75rem; }
.hsc-compare-person dd { margin:0; }
.hsc-compare-person summary { cursor:pointer; font-weight:700; min-height:44px; padding:.6rem 0; }
.hsc-compare-person details { border-top:1px solid #d7caa9; }
.hsc-character-comparison p,.hsc-character-comparison li,.hsc-character-comparison dd { line-height:1.65; }
.hsc-character-comparison a { text-decoration:underline; }
.hsc-compare-notice { padding:1rem; border-left:4px solid #ad934f; background:#f8f4ea; }
.hsc-compare-shared { margin-top:1.25rem; }
.hsc-compare-tools [hidden] { display:none!important; }
@media(max-width:700px) { .hsc-compare-grid,.hsc-compare-tools ul { grid-template-columns:minmax(0,1fr); } }
