*{box-sizing:border-box}body{margin:0;background:#101c18;color:#e8e7d8;font:15px system-ui,Arial}header{background:#192d24;border-bottom:1px solid #8d7950;position:sticky;top:0;z-index:5;padding:10px 16px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.brand{font-family:Georgia,serif;font-size:23px;color:#e5c98a;white-space:nowrap}.brand small{display:block;font:11px system-ui;color:#a5b4a8}nav{display:flex;gap:5px;flex-wrap:wrap}button,input,select,textarea{font:inherit}button{background:#2c4839;color:#f2e8cc;border:1px solid #63785e;border-radius:9px;padding:9px 12px;cursor:pointer;min-height:39px}button:hover,button.active{background:#6b5835;border-color:#d5b779}button:disabled{opacity:.45;cursor:not-allowed}main{padding:15px;max-width:1600px;margin:auto}h1,h2,h3{font-family:Georgia,serif;color:#e7cd92;margin:4px 0 12px}h1{font-size:26px}h2{font-size:20px}h3{font-size:17px}.muted{color:#a6b3a6;font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#20352b;border:1px solid #596b55;border-radius:13px;padding:14px;min-width:0}.card.hero{border-color:#b99a5b}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.spread{justify-content:space-between}.stat{display:inline-block;background:#16271e;border:1px solid #425b49;border-radius:8px;padding:7px 9px;margin:3px}.big{font-size:23px;color:#e8cb8c;font-weight:700}.hp{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hp button{min-width:42px}.bar{height:10px;background:#4d3030;border-radius:9px;overflow:hidden;margin:9px 0}.bar span{display:block;background:#79a477;height:100%}.pill{display:inline-block;padding:4px 8px;border:1px solid #7a805b;border-radius:18px;font-size:12px;margin:3px;color:#e5d4a9}.item{border-top:1px solid #3f5848;padding:9px 0}.item:first-child{border:0}input,select,textarea{background:#13251c;border:1px solid #6c806b;color:#f2eee0;border-radius:8px;padding:8px;max-width:100%}input[type=number]{width:83px}input[type=checkbox]{accent-color:#c9a665}textarea{width:100%;min-height:100px}label{display:inline-flex;gap:7px;align-items:center;margin:4px 6px 4px 0}.warning{border-left:4px solid #c59b54;padding:9px;background:#3d3524;margin:10px 0}.actions{display:flex;gap:7px;flex-wrap:wrap}.danger{background:#633b37}.gold{background:#6e5a35}.small{font-size:12px}.scroll{max-height:58vh;overflow:auto}.tag{color:#d4b97a}#toast{position:fixed;bottom:12px;right:12px;background:#d4b97a;color:#14251b;padding:10px 16px;border-radius:8px;display:none;z-index:10}@media(max-width:780px){header{position:static}.grid,.three{grid-template-columns:1fr}main{padding:9px}.card{padding:10px}nav{overflow-x:auto;flex-wrap:nowrap;width:100%}nav button{white-space:nowrap}}
.summon-item{border:1px solid #63785e;border-radius:10px;padding:10px;margin:10px 0;background:#162b21}.summon-item textarea{min-height:58px}.wizard{max-width:760px;margin:12px auto}.wizard textarea{min-height:130px}button:disabled{opacity:.45;cursor:not-allowed}@media(min-width:800px) and (max-width:1200px){.three{grid-template-columns:repeat(3,minmax(0,1fr))}.three .card{padding:9px}.three button{padding:7px 8px;font-size:12px}}
.history-controls{display:flex;gap:5px}.history-controls button{white-space:nowrap;padding:8px 10px}.history-controls button:disabled{opacity:.4}

.spell-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.83);display:flex;justify-content:center;align-items:center;padding:16px}.spell-dialog{width:min(760px,100%);max-height:90vh;overflow:auto;background:#17251f;color:#f3f0e7;border:1px solid #bda96e;border-radius:14px;padding:20px;box-shadow:0 12px 40px #000}.spell-dialog p{line-height:1.6}.spell-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.spell-meta>div{background:#23352b;padding:9px;border-radius:8px;display:flex;flex-direction:column;gap:5px}.spell-meta span{color:#e8e5d9}

.weapon-entry{background:#182b21;border:1px solid #49634f;border-radius:9px;margin:7px 0;padding:9px}.weapon-entry summary{cursor:pointer;display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between}.weapon-entry summary span{color:#e4c98c}.weapon-detail{padding:5px 8px}.table-scroll{overflow-x:auto}.feats-table{width:100%;border-collapse:collapse}.feats-table th,.feats-table td{padding:6px;border-bottom:1px solid #526451;text-align:left}.feats-table input{width:100%;min-width:85px}.feats-table input[type=number]{min-width:65px;width:70px}

.hero h2{display:flex;align-items:center;gap:12px}.portrait{width:62px;height:62px;object-fit:contain;border-radius:11px;border:1px solid #cbb77b66;background:#0a1513;flex:none}.sheet-portrait{width:94px;height:94px;object-fit:contain;float:right;border-radius:12px;background:#0a1513}.info-modal{width:min(680px,calc(100vw - 28px));max-height:85dvh;overflow:auto;border:1px solid #c8a66c;border-radius:15px;padding:23px;background:#17251f;color:#f6eddc;box-shadow:0 15px 65px #000a}.info-modal::backdrop{background:#000b}.info-modal h2{font-family:Georgia,serif;color:#ecd09c}.modal-actions{position:sticky;bottom:-23px;background:#17251f;padding:12px 0 0;text-align:right}.modal-row{padding:7px 0;border-bottom:1px solid #ffffff17}.story-image{display:block;max-width:100%;max-height:620px;object-fit:contain;margin:0 auto 22px;border-radius:12px}.story-body{white-space:pre-line;line-height:1.8;max-width:760px;margin:auto}.trick-button{cursor:pointer;margin:3px}.spell-source{font-size:.85em;color:#cbb77b}.creature-editor{margin-top:10px;padding:8px;border:1px solid #ffffff26;border-radius:8px}.creature-editor input,.creature-editor select{max-width:125px}.world-video{pointer-events:none}

.concentration-table{width:100%;border-collapse:collapse;margin:12px 0}.concentration-table th,.concentration-table td{padding:9px 7px;border-bottom:1px solid #71816b;text-align:left}.concentration-table strong{white-space:nowrap}.spell-paragraph{white-space:pre-line;line-height:1.55}

/* V5.3: indicadores y desgloses de equipo */
.effect-positive{color:#39c994!important;border-color:rgba(57,201,148,.55)!important}.effect-negative{color:#ff8585!important;border-color:rgba(255,133,133,.55)!important}.effect-breakdown{display:block;margin-top:5px;font-size:.84rem;max-width:100%;white-space:normal}.effect-breakdown summary{cursor:pointer;font-weight:600}.effect-breakdown div{padding:3px 0}.bonus-editor{width:100%;flex-basis:100%;display:grid;gap:8px;margin-top:8px;padding:9px;border:1px solid rgba(180,180,180,.25);border-radius:10px}.bonus-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bonus-line select{max-width:185px}.bonus-line input[type=number]{max-width:85px}.bonus-editor label{display:inline-flex;align-items:center;gap:6px}.bonus-editor input[type=checkbox]{width:auto}.item:has(.bonus-editor){flex-wrap:wrap}

.creature-sheet{border-left:3px solid #b4b98a;padding:.65rem 1rem;line-height:1.5}.creature-sheet p{margin:.45rem 0}.warning{border-left:3px solid #d59a58;padding:.75rem}

/* V5.5.4: enlaces entre conjuros */
.spell-related{margin:1.2rem 0;padding:.75rem 0;border-top:1px solid #607263}.spell-related-links{display:flex;flex-wrap:wrap;gap:.6rem}.spell-related-link{white-space:normal;text-align:left;padding:.55rem .8rem;border:1px solid #a8a47b;border-radius:.6rem;background:#2c4639;color:#f4e4b6;cursor:pointer}.spell-related-link:focus-visible{outline:3px solid #e8c889}

/* V6.0.4: ficha Ralan con el lenguaje visual de Nymra */
.ralan-hp{background:#20352b!important;border:1px solid #b99a5b!important}.ralan-hp h3{font-size:23px}.ralan-portrait{display:block;width:min(100%,360px);max-height:480px;object-fit:cover;object-position:top;border:1px solid #b99a5b;border-radius:12px;margin:12px 0 22px}.ralan-hp button{min-height:44px}.ralan-hp input{font-size:16px}.card.hero>p{color:#b7c3b7}#access-note{color:#d9c58f}#app [data-field]{width:100%;max-width:100%!important}#app textarea[data-field]{min-height:110px}#app .card.hero{max-width:1050px}