.global-sound{max-width:1240px;margin:12px auto 0;padding:0 24px;display:flex;justify-content:flex-end}
.campaign-hub{position:relative;max-width:980px;min-height:calc(100svh - 255px);padding:36px 30px 45px;isolation:isolate}
.hub-body{position:relative;z-index:2;max-width:780px;margin:0 auto}
.hub-body h1{font-size:44px;line-height:1.15;margin:9px 0 16px;color:#f6ead2}
.hub-intro{font-size:16px;color:var(--muted);margin-bottom:28px}
.hub-status,.hub-error{max-width:780px;margin:18px auto 0;color:var(--gold);text-align:center;font-size:14px}
.hub-status:empty{display:none}
#hubError{max-width:780px;margin:12px auto 0;text-align:center}
.hub-back{display:block;background:none;border:0;color:var(--gold);padding:6px 0;margin-bottom:22px;text-align:left}
.elyrion-gateway{position:relative;width:min(340px,65vw);aspect-ratio:1.12;margin:0 auto 20px;display:grid;place-items:center;animation:gateway-arrive 1.5s both}
.elyrion-gateway>img{width:90%;height:100%;object-fit:contain;filter:drop-shadow(0 0 25px #cda45744);position:relative;z-index:1;animation:gateway-breathe 5s ease-in-out infinite}
.gateway-halo{position:absolute;inset:7%;border-radius:50%;box-shadow:0 0 50px 10px #bc873922,inset 0 0 35px #b7863722;border:1px solid #c9964855}
.gateway-sparks{position:absolute;inset:0;pointer-events:none}
.gateway-sparks i{position:absolute;width:3px;height:3px;border-radius:50%;background:#f9d693;box-shadow:0 0 10px 3px #eccb66;left:calc(10% + var(--i)*11%);top:80%;animation:gateway-spark 4s ease-out infinite;animation-delay:calc(var(--i)*-.5s)}
.gateway-sparks i:nth-child(1){--i:0}.gateway-sparks i:nth-child(2){--i:1}.gateway-sparks i:nth-child(3){--i:2}.gateway-sparks i:nth-child(4){--i:3}.gateway-sparks i:nth-child(5){--i:4}.gateway-sparks i:nth-child(6){--i:5}.gateway-sparks i:nth-child(7){--i:6}.gateway-sparks i:nth-child(8){--i:7}
body[data-screen=welcome] .hub-body{text-align:center;animation:gateway-arrive 1.4s .15s both}
body[data-screen=welcome] .hub-body h1{font-size:clamp(30px,5vw,48px)}
body[data-screen=welcome] .hub-body em{display:block;font-style:normal;color:var(--gold);font-size:1.4em;letter-spacing:.03em;margin-top:4px}
.welcome-sound{display:block;margin:16px auto 0}.sm-inspection-back{margin:16px 0}
.campaign-toolbar>.campaign-toolbar-actions{display:flex;flex-direction:row;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
.shared-map-status{font-size:14px;color:var(--gold);margin:12px 0}.shared-map-status:empty{display:none}.map-retry{margin:0 0 20px}.map-retry[hidden]{display:none}
.shared-map-dialog{width:min(1100px,calc(100vw - 28px));max-width:1100px;max-height:calc(100svh - 28px);padding:24px;background:linear-gradient(145deg,#29212a,#16141b);border:1px solid #c49b5b;border-radius:9px;color:var(--text);box-shadow:0 15px 80px #0009;overflow:auto}
.shared-map-dialog::backdrop{background:#08060cde}.shared-map-dialog h2{font-size:30px;color:var(--gold)}.shared-map-name{overflow-wrap:anywhere;color:var(--muted);font-size:16px;margin:8px 0 16px}
.shared-map-image{display:flex;align-items:center;justify-content:center;min-height:160px;background:#0b090e;border:1px solid #796039;border-radius:5px;padding:8px}.shared-map-image img{display:block;max-width:100%;max-height:65svh;width:auto;height:auto;object-fit:contain}.shared-map-image img[hidden]{display:none}
.shared-map-image-status{color:#f2c19f;font-size:14px;margin:12px 0}.shared-map-dialog>[data-map-ok]{display:block;width:min(230px,100%);margin:18px auto 0;font-size:18px}
@media(max-width:650px){.shared-map-dialog{padding:16px}.shared-map-dialog h2{font-size:25px}.campaign-toolbar>.campaign-toolbar-actions{flex-shrink:1}.shared-map-image img{max-height:58svh}}
.initial-value-ok{display:block;min-width:110px;margin:20px auto 0;border-color:var(--gold);background:#493321;color:#ffedc8;font-size:18px}
.character-portrait{position:relative;display:inline-flex;width:72px;height:72px;flex:none}
.character-portrait .saved-race{display:block;width:100%;height:100%}
.character-portrait.is-dead .saved-race{filter:grayscale(1);opacity:.55}
.death-stamp{position:absolute;left:50%;bottom:1px;transform:translateX(-50%) rotate(-12deg);min-width:82px;padding:3px 7px;border:2px solid #a5232f;border-radius:3px;background:radial-gradient(ellipse at 20% 15%,#b42b39aa,transparent 55%),#49040bdc;color:#ffd7d7;font:700 16px Georgia,serif;letter-spacing:.08em;text-align:center;text-transform:uppercase;box-shadow:0 2px 9px #46000caa,inset 0 0 5px #d2444155;text-shadow:0 2px #3a0005}
.saved-character.is-dead,.sm-player-card.is-dead{border-color:#684345;background:linear-gradient(145deg,#2c2023,#19171d)}
.sm-player-card>.dead-character-status,.saved-character>span:nth-child(2)>.dead-character-status,.sm-inspection-heading .dead-character-status{color:#f08c8f;font-weight:700}
.campaign-death-banner{z-index:140;animation:campaign-death-arrive .8s ease-out both}
.campaign-death-banner strong{display:block;font-size:clamp(34px,7vw,64px);line-height:1.14;overflow-wrap:anywhere}
.party-death-banner{width:min(92vw,780px);padding:60px 26px}
.party-death-banner strong{font-size:clamp(31px,6vw,60px)}
.enemy-loss-banner{background:radial-gradient(ellipse,#3d080dec,#090709f5 75%);border-color:#b43d44;box-shadow:0 0 100px #83001866}
.enemy-loss-banner strong{color:#f26e78;text-shadow:0 3px 0 #480613,0 0 25px #8d0018}
.outcome-shadow-loss{color:#ffa8ad;background:radial-gradient(ellipse,#580d21aa,#1d080e);border-color:#9d3445;box-shadow:0 0 24px #a21f4333;animation:failure-reveal .7s ease-out both}
@media(prefers-reduced-motion:reduce){.outcome-shadow-loss{animation:none}}
@keyframes campaign-death-arrive{from{opacity:0;transform:translate(-50%,-50%) scale(.84)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:650px){.character-portrait{width:58px;height:58px}.death-stamp{min-width:70px;font-size:14px}.campaign-death-banner{padding:40px 20px}}
@media(prefers-reduced-motion:reduce){.campaign-death-banner{animation:none}}
.shared-combat-player{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;padding:18px 20px;border:1px solid #b68d4f;border-radius:8px;background:radial-gradient(ellipse at top left,#7c391f44,transparent),#211a22}.shared-combat-player[hidden]{display:none}.shared-combat-player strong{display:block;color:var(--gold);font-size:20px;margin:6px 0}.shared-combat-player p{font-size:14px;color:var(--muted)}.shared-combat-player>.error{width:100%}.shared-turn-actions{display:flex;gap:10px;flex-wrap:wrap}.shared-turn-actions button{min-height:44px}
.sm-combat-panel{margin:30px 0;padding:24px;background:linear-gradient(140deg,#292029,#18171d);border:1px solid #917040;border-radius:9px}.sm-combat-heading h2{font-size:30px;color:var(--gold);margin:8px 0}.sm-combat-heading p{color:var(--gold);font-size:16px;margin-bottom:22px}.sm-combat-builder{display:grid;grid-template-columns:2fr 1fr .7fr 1fr;gap:14px;align-items:end}.sm-combat-builder>button{grid-column:1/-1;margin:0}.sm-combat-panel>.dice-note{margin:18px 0}.sm-enemy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:16px;margin:20px 0}.sm-enemy-card{min-width:0;padding:20px;border:1px solid #705837;border-radius:7px;background:#201b24;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.sm-enemy-card>img{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center 24%;border:2px solid #997643}.sm-enemy-card strong{color:var(--gold);font:20px Georgia,serif}.sm-enemy-card p,.sm-enemy-card small{font-size:13px;color:var(--muted)}.sm-enemy-card progress{width:100%;accent-color:#b54037}.sm-enemy-card label{width:100%;text-align:left;font-size:13px}.sm-enemy-card.is-selected{border-color:#e2b670;box-shadow:inset 0 0 0 2px #d2a25155,0 0 22px #ca954c33;background:#3e2b24}.sm-enemy-card.is-dead{opacity:.55}.sm-enemy-card.is-dead img{filter:grayscale(1)}.sm-enemy-attack{margin:24px 0;padding:22px;border:1px solid #b28a50;border-radius:8px;background:#34251f}.sm-enemy-attack h3{font-size:24px;color:var(--gold);margin-bottom:16px}.sm-enemy-attack>.shared-turn-actions{margin-top:16px}.sm-combat-result p{margin:10px 0;font-size:15px}.sm-combat-result .outcome-badge{display:block;text-align:center}.sm-combat-log{padding-left:20px;border-top:1px solid var(--line);margin-top:20px}.sm-combat-log li{color:var(--muted);font-size:13px;margin:12px 0}
.sm-combat-builder[hidden],.sm-enemy-grid[hidden]{display:none}
.sm-combat-panel [data-combat-help]{margin:18px 0}
.sm-combat-menu h2{font:30px Georgia,serif;color:var(--gold);margin:10px 0 16px}.sm-combat-menu p{color:var(--muted);margin:0 0 22px}.sm-combat-menu .primary{margin-bottom:0}
.sm-combat-finish{padding-top:22px;margin-top:22px;border-top:1px solid var(--line)}.sm-combat-finish p{color:var(--muted);margin-bottom:16px}.sm-combat-finish .primary{margin-bottom:0}
@media(max-width:650px){.sm-combat-panel{padding:18px}.sm-combat-builder{grid-template-columns:1fr 1fr}.sm-combat-builder>label:first-child{grid-column:1/-1}.sm-enemy-grid{grid-template-columns:1fr}.shared-combat-player strong{font-size:18px}.sm-enemy-attack{padding:16px}}
.gateway-enter{max-width:320px;font-size:17px;letter-spacing:.03em}
.gateway-opening .elyrion-gateway{animation:gateway-open 1.5s ease-in forwards}
.gateway-opening .hub-body{animation:gateway-out 1.5s ease-in forwards}
body:not([data-screen=welcome]) .elyrion-gateway{position:absolute;width:360px;right:-60px;top:20px;opacity:.06;z-index:-1;pointer-events:none;animation:none}
body:not([data-screen=character]) .brand-divider{display:none}
.adventure-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.adventure-choice{min-height:205px;display:flex;align-items:flex-start;text-align:left;flex-direction:column;gap:14px;padding:26px;border:1px solid #816338;border-radius:9px;background:radial-gradient(ellipse at top left,#96734522,transparent 75%),linear-gradient(150deg,#262127,#17161b);color:var(--text);box-shadow:0 14px 35px #0005;transition:transform .2s,border-color .2s}
.adventure-choice:hover{transform:translateY(-3px);border-color:#e1bd79}
.adventure-choice strong{font:26px Georgia,serif;color:var(--gold)}
.adventure-choice>span:last-child{font-size:14px;color:var(--muted)}
.choice-symbol{font-size:29px;color:var(--gold);text-shadow:0 0 25px #c9995666}
.campaign-form{max-width:620px;padding:26px;border:1px solid #745a38;border-radius:9px;background:#201c23}
.account-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;max-width:1240px;margin:20px auto;padding:14px 20px;border:1px solid #745a38;border-radius:8px;background:#211b24;color:var(--muted);font-size:14px}.account-bar strong{color:var(--gold);overflow-wrap:anywhere}.account-bar>div{display:flex;gap:10px;flex-wrap:wrap}.account-bar a{display:inline-flex;align-items:center;text-decoration:none;min-height:44px}.account-bar>.error{width:100%;margin:0}.account-bar>.error:empty{display:none}
.account-sign-in{display:inline-block;text-align:center;text-decoration:none;max-width:340px}.account-note{color:var(--muted);font-size:14px;max-width:520px}.invitation-entry{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0 0 26px}.invitation-entry label{flex:1;min-width:200px}.invitation-entry button{min-height:46px}.owned-character .assign-character{margin:10px 0}.account-invitation label{margin-top:22px}.account-invitation input{font-size:14px}.account-invitation p{margin-top:14px}
@media(max-width:650px){.account-bar{margin:12px 16px;padding:12px}.account-bar>span{width:100%}.invitation-entry label{min-width:100%}}
.campaign-form>label{margin-bottom:22px}
.campaign-form small{display:block;line-height:1.5;font-size:13px;color:var(--muted);margin-top:9px}
.role-choices{border:0;padding:0;margin:0 0 24px}
.role-choices legend{font-size:14px;color:var(--muted);margin-bottom:10px}
.role-choices label{display:flex;align-items:center;gap:12px;background:#171419;border:1px solid #695137;border-radius:6px;padding:14px;margin:8px 0;cursor:pointer}
.role-choices label:has(input:checked){border-color:var(--gold);background:#3e2d1e}
.role-choices input{appearance:auto;width:20px;min-height:20px;height:20px;margin:0;accent-color:var(--gold);flex:none}
.role-choices strong{font-size:16px;color:var(--text)}
.role-choices small{margin:3px 0 0}
.campaign-list{display:grid;gap:18px}
.campaign-card{border:1px solid #765933;border-radius:8px;background:linear-gradient(150deg,#282229,#19171c);overflow:hidden;box-shadow:0 10px 28px #0004}
.campaign-card-main{display:flex;align-items:center;gap:18px;padding:22px}
.campaign-card-main>div{flex:1;min-width:0}
.campaign-card h2{font-size:26px;color:#eed8b0;overflow-wrap:anywhere}
.campaign-card p{font-size:13px;color:var(--muted);margin-top:6px}
.campaign-seal{font-size:35px;color:var(--gold)}
.campaign-card-actions{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #584530;padding:12px 20px;background:#14121666}
.campaign-success,.campaign-danger{border:1px solid #7c9a74;border-radius:5px;padding:9px 13px;background:#1d3127;color:#cff1c2;font-size:14px;min-height:44px}
.campaign-danger{border-color:#95514c;background:#3b1e22;color:#fac1b1}
.campaign-empty{text-align:center;background:#211c24;border:1px dashed #826039;border-radius:8px;padding:30px;color:var(--muted)}
.campaign-empty h2{font-size:27px;color:var(--gold);margin-bottom:10px}
.campaign-empty .primary{max-width:300px}
.archive-note{font-size:14px;color:var(--gold);border-top:1px solid var(--line);padding-top:18px;margin-top:24px}
.saved-characters{display:grid;gap:14px}
.saved-character{display:flex;align-items:center;gap:20px;text-align:left;width:100%;padding:20px;border:1px solid #795d37;background:linear-gradient(140deg,#29222a,#19171d);border-radius:8px;color:var(--text)}
.saved-character:hover{border-color:var(--gold);background:#342927}
.saved-character>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.saved-character strong{font:24px Georgia,serif;color:var(--gold);overflow-wrap:anywhere}
.saved-character small,.saved-character>span:nth-child(2)>span{color:var(--muted);font-size:13px}
.saved-race{width:72px;height:72px;flex:none;border-radius:50%;border:1px solid #ac824a;background:#17141c center/600% no-repeat;box-shadow:0 0 0 3px #17141c,0 0 0 4px #715333}
.saved-race.humano{background-image:url('assets/race-humano.jpeg');background-position:49% 28%}
.saved-race.elfo{background-image:url('assets/race-elfo.jpeg');background-position:53% 14%}
.saved-race.enano{background-image:url('assets/race-enano.jpeg');background-position:57% 27%}
.saved-race.hechicero{background-image:url('assets/race-hechicero.jpeg');background-position:36% 25%}
.character-arrow{font-size:30px;color:var(--gold)}
.campaign-bottom-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.shadowmaster-placeholder{border:1px solid #705939;border-radius:9px;padding:36px;background:#211b26;color:var(--muted);text-align:center;max-width:650px}
.shadowmaster-placeholder>span{font-size:45px;color:var(--gold)}
.shadowmaster-placeholder h2{font-size:28px;color:var(--gold);margin:15px 0}
.shadowmaster-placeholder p{margin:12px 0}
body[data-screen=shadowmaster] .primary{max-width:320px}
.campaign-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;margin-bottom:28px;border:1px solid #75603e;border-radius:7px;background:#221b21}
.campaign-toolbar>div{display:flex;flex-direction:column;min-width:0;gap:3px}
.campaign-toolbar strong{font:20px Georgia,serif;color:var(--gold);overflow-wrap:anywhere}
.save-close-button{border-color:#d8b777;color:#f4e2be;background:#34261b;font-weight:600}
#saveStatus[data-save-state=error]{color:#ffbcaa;max-width:380px}
#saveStatus[data-save-state=pending],#saveStatus[data-save-state=saving]{color:var(--gold)}
.campaign-confirmation{max-width:550px;width:calc(100% - 28px);border:1px solid #ae8247;background:#231c23;color:var(--text);border-radius:9px}
.campaign-confirm-content{padding:28px}
.campaign-confirm-content h2{font-size:30px;margin:10px 0 18px}
.campaign-confirm-content p{color:var(--muted)}
.campaign-confirm-content>div{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:24px}
@keyframes gateway-arrive{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gateway-breathe{50%{filter:drop-shadow(0 0 35px #d8a34088)}}
@keyframes gateway-spark{0%{opacity:0;transform:translateY(0)}20%{opacity:.8}100%{opacity:0;transform:translateY(-210px)}}
@keyframes gateway-open{to{transform:scale(1.25);opacity:0;filter:brightness(2)}}
@keyframes gateway-out{to{opacity:0;transform:translateY(-10px)}}
@media(max-width:650px){.campaign-hub{padding:24px 18px 36px}.hub-body h1{font-size:34px}.adventure-choices{grid-template-columns:1fr;gap:14px}.adventure-choice{min-height:145px;padding:20px}.choice-symbol{font-size:24px}.campaign-form{padding:20px}.campaign-card-main{padding:17px;gap:12px;flex-wrap:wrap}.campaign-seal{display:none}.campaign-card h2{font-size:23px}.campaign-card-actions{padding:12px;flex-wrap:wrap}.campaign-card-actions button{flex:1}.saved-character{padding:17px;gap:15px}.saved-race{width:58px;height:58px}.saved-character strong{font-size:21px}.saved-character small{font-size:12px}.character-arrow{display:none}.campaign-toolbar{align-items:flex-start;gap:12px;padding:12px}.campaign-toolbar .eyebrow{font-size:10px}.save-close-button{font-size:13px;padding:8px}.campaign-confirm-content{padding:20px}.elyrion-gateway{margin-bottom:5px}.global-sound{margin-top:10px;padding:0 18px}}
@media(prefers-reduced-motion:reduce){.elyrion-gateway,.elyrion-gateway>img,.gateway-sparks i,body[data-screen=welcome] .hub-body,.gateway-opening .elyrion-gateway,.gateway-opening .hub-body{animation:none!important}.adventure-choice{transition:none}}
.stat-lock-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #776141;background:#252022;border-radius:7px;margin-bottom:24px}
.stat-lock-panel strong{color:var(--gold);font-size:16px}.stat-lock-panel p{font-size:14px;color:var(--muted);margin-top:6px;max-width:700px}.stat-locked{border-color:#59514b!important;background:#1c1b20!important;color:#d7c6aa;cursor:default}
body[data-screen=shadowmaster] .campaign-hub{max-width:1240px}body[data-screen=shadowmaster] .hub-body{max-width:none}body[data-screen=shadowmaster] .elyrion-gateway{display:none}
.sm-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:28px}.sm-toolbar p{font-size:16px;color:var(--muted)}.sm-toolbar>div:last-child{display:flex;gap:10px;flex-wrap:wrap;padding-top:10px;justify-content:flex-end}
.sm-player-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-bottom:30px}
.sm-player-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-width:0;border:1px solid #725937;background:linear-gradient(145deg,#282128,#17151c);border-radius:8px;padding:22px 14px;color:var(--text)}
.sm-player-card:hover,.sm-player-card[aria-pressed=true]{border-color:#e5be73;background:linear-gradient(140deg,#4a3422,#211a25);box-shadow:inset 0 0 0 1px #cb98475c,0 0 20px #ca973b18}
.sm-player-card strong{font:21px Georgia,serif;color:var(--gold);overflow-wrap:anywhere}.sm-player-card>span:not(.saved-race){font-size:14px;color:var(--muted)}.sm-player-card small{font-size:13px;color:var(--muted)}.saved-race.sin-raza{background-image:url('assets/rs-logo.webp');background-size:cover}
.sm-select-hint{padding:36px;border:1px dashed #80613b;border-radius:8px;background:#211b2488;text-align:center;color:var(--muted)}
.sm-inspection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0;margin-top:12px}.sm-inspection-heading h2{font-size:33px;color:var(--gold);margin:8px 0}.sm-inspection-heading p{font-size:14px;color:var(--muted)}.sm-lock-status{padding:10px 14px;border:1px solid #75623e;border-radius:5px;color:var(--gold);font-size:14px;max-width:280px}
.sm-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sm-wide{grid-column:1/-1}.sm-panel p{color:var(--muted)}
.sm-values{margin:0;display:grid;gap:0}.sm-values>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #4d423033}.sm-values>div:last-child{border-bottom:none}.sm-values dt{font-size:16px}.sm-values dd{margin:0;font-size:17px;color:var(--gold);text-align:right;overflow-wrap:anywhere}.sm-equipment{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:16px;border-top:1px solid var(--line);padding-top:18px;margin-top:16px}
.sm-details-list,.sm-progression-history{padding:0;margin:0;list-style:none}.sm-details-list li{padding:14px 0;border-bottom:1px solid #63503055;font-size:16px}.sm-details-list li:last-child{border-bottom:none}.sm-details-list span,.sm-details-list small{display:block;margin-top:5px;color:var(--muted);font-size:14px}.sm-progression-history>li{padding:16px 0;border-bottom:1px solid var(--line)}.sm-progression-history>li>strong{color:var(--gold);font:20px Georgia,serif}.sm-progression-history>li>small{display:block;font-size:13px;color:var(--muted);margin:8px 0}
@media(max-width:650px){.stat-lock-panel{align-items:flex-start;flex-direction:column}.sm-toolbar,.sm-inspection-heading{flex-direction:column;gap:15px}.sm-toolbar>div:last-child{padding:0;justify-content:flex-start}.sm-player-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sm-player-card{padding:18px 10px}.sm-sheet-grid{grid-template-columns:1fr}.sm-wide{grid-column:auto}.sm-lock-status{max-width:100%}.sm-values dt{font-size:15px}}
.public-roll-panel{border:1px solid #806335;background:#171319;padding:1.2rem;margin:1rem 0;color:#efdfbb;border-radius:12px}.public-roll-panel h2{font-size:1.35rem}.public-roll-panel ol{max-height:280px;overflow:auto;padding-left:1.5rem}.public-roll-panel li{padding:.5rem 0;border-bottom:1px solid #514029}.public-roll-panel small{display:block}.public-request-form{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.public-request-form h3{flex-basis:100%}.roll-request{padding:1rem;background:#292027;margin:.6rem 0;border:1px solid #ab8645}.public-roll-overlay{position:fixed;inset:15% 8% auto;z-index:2147483000;padding:1.5rem;border:2px solid #cfad64;border-radius:18px;background:rgba(13,12,20,.97);box-shadow:0 0 70px #000;color:#f8e6bf;text-align:center;pointer-events:none}.public-roll-overlay[hidden]{display:none}.public-roll-overlay>strong{font-size:1.5rem}.public-roll-overlay .dice-stage{height:250px}.public-roll-overlay p{font-size:1.4rem;font-weight:bold}.roll-request label{display:inline-flex;gap:.5rem;align-items:center}.roll-request input{width:90px}

.public-roll-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.public-roll-heading h2{margin:0}.public-roll-heading button{flex-shrink:0}#combatInitiative{padding:.8rem;border:1px solid #806335;border-radius:8px;background:#211b22;color:#efdfbb;line-height:1.7}

.free-dice{padding:.8rem 0;border-bottom:1px solid #806335;margin-bottom:1rem}.is-fled{opacity:.55}.combat-turn-choice{flex-wrap:wrap}.roll-request button{margin:.5rem}
.turn-warning{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2147483001;width:min(460px,calc(100vw - 36px));box-sizing:border-box;padding:32px 24px;border:2px solid #d18c4b;border-radius:16px;background:radial-gradient(ellipse at top,#4b291d,#1c1319 75%);color:#ffe7b9;text-align:center;box-shadow:0 20px 100px #000e,0 0 50px #a94d2544;pointer-events:none;animation:turn-warning-arrive .25s ease-out}.turn-warning[hidden]{display:none}.turn-warning>span{display:block;font-size:38px;margin-bottom:14px}.turn-warning strong{display:block;font:700 clamp(28px,5vw,40px)/1.2 Georgia,serif}
.level-improvement-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #e9c579;border-radius:16px;padding:32px;background:radial-gradient(ellipse at top,#44301e,#20191c 75%);color:#faebcb;text-align:center;box-shadow:0 20px 90px #000b}.level-improvement-dialog::backdrop{background:#070609dc;backdrop-filter:blur(6px)}.level-improvement-dialog h2{font:700 clamp(28px,5vw,38px)/1.2 Georgia,serif;color:#ffe1a0;margin:14px 0 20px}.level-improvement-dialog p{font-size:17px;line-height:1.65;margin-bottom:24px}.level-improvement-dialog button{min-width:140px;min-height:48px}.required-roll-dialog [data-pifia-confirmation] h3{color:#f9d58b;font:700 25px/1.3 Georgia,serif}.required-roll-dialog [data-pifia-confirmation] button{display:block;width:100%;margin-top:24px}
@keyframes turn-warning-arrive{from{opacity:0;transform:translate(-50%,-50%) scale(.88)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.turn-warning{animation:none}}

.npc-upgrade-dialog{width:min(94vw,620px);max-height:90dvh;overflow:auto;border:2px solid #ba9b54;border-radius:16px;padding:28px;background:#211c24;color:#f7edcf;box-shadow:0 0 40px #b58b3244}.npc-upgrade-dialog::backdrop{background:#08060ddd}.npc-upgrade-dialog h2{color:#ffe9a3}.npc-upgrade-dialog label{display:grid;gap:8px}.npc-upgrade-dialog input{max-width:180px}.npc-upgrade-dialog button{margin-top:16px}.npc-upgrade-dialog [data-error]{color:#ffb3a8}.npc-level-celebration{text-align:center;animation:npc-level-glow 1.2s ease-out}.npc-level-celebration>span{display:block;font-size:64px;color:#ffdc74}.npc-upgrade-result{font-size:1.2rem;font-weight:700;color:#ffe39c}@keyframes npc-level-glow{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.player-presence{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem;padding:8px}.player-presence i{width:12px;height:12px;flex:none;border-radius:50%;background:#e35353;box-shadow:0 0 8px #d6323266}.player-presence.is-online i{background:#4cdb85;box-shadow:0 0 9px #4cdb8588}
.info-confirmation p{white-space:pre-line}
.npc-damage-animation{font-size:clamp(24px,5vw,40px);font-weight:700;color:#ff9b96;text-align:center;animation:npc-damage-rise .7s ease-out both}@keyframes npc-damage-rise{from{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.npc-damage-animation{animation:none}}

/* Keep the character's values close to the top of the working screen. */
body[data-screen=character] .masthead{min-height:64px;padding-top:6px;padding-bottom:6px;padding-right:190px;}
body[data-screen=character] .brand{gap:12px;}
body[data-screen=character] .brand-logo{width:52px;height:48px;}
body[data-screen=character] .brand div>span,body[data-screen=character] .edition{display:none;}
body[data-screen=character] .global-sound{position:absolute;top:10px;right:24px;margin:0;padding:0;}
body[data-screen=character] .account-bar{margin:4px auto;padding:4px 12px;border:0;background:transparent;gap:8px;}
body[data-screen=character] #gameMain{padding-top:6px;}
body[data-screen=character] .campaign-toolbar{padding:7px 12px;margin-bottom:10px;gap:12px;}
body[data-screen=character] .campaign-toolbar .eyebrow{display:none;}
body[data-screen=character] .page-heading{margin:10px 0;gap:12px;}
body[data-screen=character] .page-heading h1{font-size:30px;margin:0;}
body[data-screen=character] .page-heading .eyebrow{display:none;}
body[data-screen=character] .race-portrait{width:76px;height:76px;}
body[data-screen=character] .race-portrait-frame{gap:7px;font-size:14px;}
body[data-screen=character] .character-status{gap:4px;}
body[data-screen=character] .view-tabs{margin-bottom:12px;padding-bottom:8px;}
body[data-screen=character] .public-roll-panel{margin:8px 0;padding:10px 14px;border-radius:7px;}
body[data-screen=character] .public-roll-heading h2{font-size:17px;}
body[data-screen=character] .public-roll-panel[data-empty=true]{padding:10px 14px;}
body[data-screen=character] .public-roll-panel[data-empty=true] .public-roll-heading::after{content:'Sin tiradas';font-size:14px;color:var(--muted);}
body[data-screen=character] .public-roll-panel[data-empty=true] [data-clear-rolls],body[data-screen=character] .public-roll-panel[data-empty=true] [data-clear-note],body[data-screen=character] .public-roll-panel[data-empty=true] [data-public-log]{display:none;}
body[data-screen=character] .public-roll-panel ol{max-height:180px;}
body[data-screen=character] .public-roll-panel .error:empty,body[data-screen=character] .shared-map-status:empty{display:none;}
.vital-panel{padding:12px 18px;margin-bottom:12px;}
.vital-panel h2{font-size:16px;margin-bottom:10px;padding-bottom:6px;}
.vital-panel #attributes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start;}
.vital-panel .stat-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin:0;}
.vital-panel .stat-row>label{grid-column:1/-1;font-size:15px;}
.vital-panel .stat-row input{width:100%;max-width:none;min-width:0;font-size:23px;text-align:center;}
.vital-panel .stat-row:not(:has(button)) input{grid-column:1/-1;}
body[data-screen=character] .identity{padding:14px 18px;}
body[data-screen=character] .identity h2{font-size:18px;margin-bottom:12px;padding-bottom:8px;}
body[data-screen=character] .identity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
body[data-screen=character] .identity-grid>.wide{grid-column:auto;}
body[data-screen=character] .identity-grid>label:has([name=marca]){grid-column:2/-1;}
body[data-screen=character] .identity-grid small{display:none;}
.level-summary{min-width:0;}
.level-summary>label{display:block;}
.level-summary .stat-lock-panel{display:block;padding:6px 0 0;margin:0;border:0;background:none;}
.level-summary .stat-lock-panel strong{font-size:14px;}
.level-summary .stat-lock-panel p{font-size:14px;line-height:1.4;}
.level-summary .stat-lock-panel[data-locked=true] #statLockNote{display:none;}
.level-summary .stat-lock-panel .error:empty{display:none;}
.level-summary .stat-lock-panel button{margin-top:8px;}
body[data-screen=character] .sheet-columns{gap:14px;margin-top:14px;}
@media(max-width:700px){
 body[data-screen=character] .masthead{padding-left:14px;padding-right:150px;}
 body[data-screen=character] .brand strong{font-size:15px;letter-spacing:0;}
 body[data-screen=character] .brand-logo{width:38px;height:38px;}
 body[data-screen=character] .global-sound{right:12px;}
 body[data-screen=character] .account-bar{padding:4px 14px;}
 body[data-screen=character] .account-bar>span{font-size:14px;}
 body[data-screen=character] .campaign-toolbar{flex-wrap:wrap;}
 body[data-screen=character] .page-heading h1{font-size:24px;}
 body[data-screen=character] .race-portrait-frame>span,body[data-screen=character] #saveStatus{display:none;}
 body[data-screen=character] .identity-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 body[data-screen=character] .identity-grid>label:has([name=marca]){grid-column:1/-1;}
 .vital-panel #attributes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .vital-panel .stat-row input{font-size:20px;}
}
.sheet-overview{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;}
.sheet-overview .vital-panel{margin:0;}
.sheet-overview #attributes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.sheet-overview>.panel{padding:14px 18px;}
.sheet-overview>.panel h2{font-size:18px;margin-bottom:12px;padding-bottom:8px;}
body[data-screen=character] .column-stack{grid-row:1/span 2;}
body[data-screen=character] .page-heading{min-height:60px;}
body[data-screen=character] .portrait-pair{gap:16px;}
body[data-screen=character] .race-portrait-frame{flex-direction:row;width:auto;min-width:108px;}
@media(max-width:700px){.sheet-overview{grid-template-columns:1fr;}body[data-screen=character] .column-stack{grid-row:auto;}body[data-screen=character] .page-heading{min-height:52px;}}

@media(max-width:700px){body[data-screen=character] .race-portrait-frame{min-width:0;width:76px;}}

.possession-cover{position:fixed;inset:0;z-index:20000;display:grid;place-content:center;text-align:center;padding:24px;background:radial-gradient(ellipse,#240e28ed,#000f);color:#e9c183}.possession-cover[hidden]{display:none}.possession-cover strong{font:clamp(28px,5vw,60px) Georgia,serif;animation:possession-pulse 2s infinite alternate}.master-request{padding:12px;border:1px solid #cba458;margin-top:8px}.character-mark{color:#dabf91;font-size:14px}@keyframes possession-pulse{to{text-shadow:0 0 25px #8f33c5;transform:scale(1.03)}}

.master-reference{width:min(1100px,95vw);max-height:90dvh;overflow:auto;padding:24px;background:#211b23;color:#eee0cb;border:1px solid #cbaa63}.master-reference>button{position:sticky;top:0;z-index:1;background:#30252a}

.sheet-columns>*,.column-stack,.panel{min-width:0}.gold-purse>.row-roll{grid-column:1/-1;white-space:normal}

.master-editor{width:min(920px,calc(100vw - 24px));max-height:92dvh;overflow:auto;padding:24px}.master-editor h2{margin:8px 0}.master-editor fieldset{border:1px solid #705d3c;border-radius:8px;margin:18px 0;padding:16px;min-width:0}.master-editor legend{color:var(--gold);padding:0 8px}.master-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.master-editor label{display:grid;gap:6px;min-width:0;font-size:14px}.master-editor input,.master-editor select,.master-editor textarea{width:100%;min-width:0}.master-editor input[readonly]{opacity:.7}.master-edit-actions{position:sticky;bottom:-24px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:20px -24px -24px;padding:16px 24px;background:#211c22;border-top:1px solid #705d3c}.master-edit-condition{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:10px;align-items:end;margin:12px 0}.master-editor .master-spell-option{display:flex;align-items:center;gap:10px;margin:12px 0}.master-editor .master-spell-option input{width:20px;flex:none}.master-edit-magic summary{cursor:pointer;color:var(--gold);padding:12px 0}@media(max-width:640px){.master-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.master-edit-condition{grid-template-columns:1fr}.master-editor{padding:16px}.master-edit-actions{bottom:-16px;margin:20px -16px -16px;padding:12px 16px}}

.private-message-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:28px;border:1px solid #cbaa63;border-radius:14px;background:linear-gradient(145deg,#30242c,#19161d);color:#f8ecd7;box-shadow:0 20px 80px #000b}
.private-message-dialog::backdrop{background:#08060cce;backdrop-filter:blur(4px)}
.private-message-dialog h2{margin:10px 0 22px;color:#f3d397;font:700 clamp(24px,5vw,32px)/1.2 Georgia,serif;overflow-wrap:anywhere}
.private-message-dialog .private-message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:18px;margin:0 0 24px;padding:18px;background:#ffffff06;border:1px solid #cbaa6338;border-radius:8px}
.private-message-dialog label{display:grid;gap:10px;font-size:16px}.private-message-dialog textarea{box-sizing:border-box;width:100%;min-height:150px;resize:vertical;font:inherit;line-height:1.5}.private-message-dialog small{display:block;color:#c9baa4;margin:6px 0 18px}
.private-message-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.private-message-actions button{margin:0;min-height:48px;min-width:112px;flex:1}.private-message-dialog [hidden]{display:none!important}.private-message-dialog .error:empty{display:none}.private-message-status{font-size:14px;color:#e5b777;margin:8px 0}
@media(max-width:480px){.private-message-dialog{padding:20px}.private-message-dialog .private-message-text{padding:14px}}

/* ShadowMaster: grouped tools and complete, equal-height character cards. */
.sm-toolbar{align-items:center;margin-bottom:20px;flex-wrap:wrap}
.sm-heading{min-width:0}
.sm-heading h1{font-size:clamp(2.125rem,5vw,2.75rem);margin:6px 0 0;border:0;background:none;box-shadow:none}
.sm-heading h1[tabindex="-1"]:focus{outline:none}
.sm-toolbar>.sm-session-actions{padding:0;gap:8px}
.sm-action-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.sm-action-group{min-width:0;padding:14px;border:1px solid #72593766;border-radius:8px;background:#211c2480}
.sm-action-group h2{font:600 .875rem/1.4 system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.sm-action-group>div,.sm-action-group .shared-turn-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.sm-action-group .shared-turn-actions{width:100%}
.sm-action-group button,.sm-session-actions button{min-height:42px;font-size:.875rem;white-space:normal}
.sm-action-group [data-day]{width:100%}
.sm-player-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-auto-rows:1fr;align-items:stretch}
.sm-player-entry{min-width:0;height:100%;gap:0;border:1px solid #725937;border-radius:9px;background:linear-gradient(145deg,#282128,#17151c)}
.sm-player-entry>.sm-player-card{border:0;border-radius:8px 8px 0 0;background:transparent;min-height:260px;padding:20px 12px 14px}
.sm-player-card[aria-pressed=true]{background:linear-gradient(140deg,#4a3422,#211a25)}
.sm-player-card:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.sm-player-card>.player-presence{margin-top:auto;padding:4px 0 0;font-size:.875rem;color:var(--text)}
.sm-player-card small{font-size:.875rem}
.sm-player-controls{padding:0 12px 12px;font-size:.875rem;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:8px}
.sm-player-controls:empty,.sm-player-controls p:empty{display:none}
.sm-player-controls p{margin:0;line-height:1.45}
.sm-player-controls button,.sm-player-actions button{min-height:40px;font-size:.875rem;white-space:normal}
.sm-player-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:12px;border-top:1px solid #72593755}
.sm-player-actions button{flex:1 1 65px}
@media(max-width:650px){
 .sm-toolbar{align-items:flex-start;gap:16px}
 .sm-action-groups{grid-template-columns:1fr;gap:8px}
 .sm-action-group{padding:12px}
 .sm-action-group [data-day]{width:auto}
 .sm-player-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sm-player-entry>.sm-player-card{padding:16px 8px 12px}
 .sm-player-controls,.sm-player-actions{padding:10px}
}
@media(max-width:380px){.sm-player-list{grid-template-columns:1fr}}

.master-state-effect{grid-column:1/-1;margin:0;padding:10px 12px;border-left:3px solid var(--gold);font-size:14px;line-height:1.5}.master-edit-condition [data-custom-label]{grid-column:1/-1}.master-edit-condition [hidden]{display:none}

.sm-player-entry,.sm-enemy-card.combat-actor-card,.sm-enemy-card.is-dead{border:3px solid var(--actor-color,#9b7847)}
.sm-enemy-card.is-dead{opacity:1;background:#19161c}.sm-enemy-card.is-dead img{opacity:.5}
.sm-enemy-card .dead-stamp{color:var(--actor-color,#ef9589)}
.combat-health-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.master-request strong{white-space:pre-line}
.sm-player-entry>.sm-player-card.sm-enemy-card{height:100%;gap:12px}
.combat-army-heading{display:flex;align-items:center;gap:18px;padding:16px 0;margin-top:20px;border-top:1px solid #8f713f}
.combat-army-heading>img{width:88px;height:88px;object-fit:cover;border-radius:8px;border:1px solid #ba9459}
.combat-army-heading>h3{margin:0;color:#ebc884;font:clamp(22px,3vw,30px) Georgia,serif;line-height:1.2}
.combat-army-shadows{border-color:#80638f}.combat-army-shadows>h3{color:#d5b8eb}.combat-army-shadows>img{border-color:#a980be}
.combat-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:auto}
.combat-card-actions>button{margin:0;padding:10px 6px;font-size:14px;min-height:42px}.combat-card-actions>button:first-child{grid-column:1/-1}
.sm-enemy-card.combat-actor-card{display:flex;min-width:0}.sm-enemy-card>.character-portrait{width:80px;height:80px}
.sm-enemy-card .combat-target-button{width:100%;font-size:14px;min-height:42px}
.sm-enemy-card.is-attacker{background:#322a1d}.sm-enemy-card.is-attacker>strong::after{content:' · Atacante';font:600 14px system-ui;color:#f2dbaf}
.sm-enemy-card.is-target{outline:3px solid #fff0b8;outline-offset:3px;background:#443524;box-shadow:0 0 24px #d6ab5655}
.sm-enemy-card.is-target .combat-target-button{background:#e7c98d;border-color:#fff2c8;color:#221911;font-weight:700}
.sm-attack-editor{background:#29212b}.sm-attack-editor>h3{font:24px Georgia,serif;color:var(--gold)}
.sm-attack-editor>label{display:block;margin:14px 0}.sm-attack-editor>button{margin:6px}
.sm-combat-panel [data-target-hint]:empty{display:none}.sm-combat-panel [data-target-hint]{color:#ffedbb;font-size:16px;margin:8px 0 18px}
.sm-enemy-card p,.sm-enemy-card small,.sm-enemy-card label{font-size:14px}
@media(max-width:600px){.sm-combat-panel{padding:16px}.combat-army-heading{gap:12px}.combat-army-heading>img{width:64px;height:64px}.combat-health-roster,.sm-enemy-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr))}}

.is-current-turn,.turn-order [data-turn="current"]{border:4px solid var(--actor-color,#f3ca73)!important;box-shadow:0 0 0 3px #17131c,0 0 0 6px var(--actor-color,#f3ca73),0 0 24px var(--actor-color,#f3ca73)!important;background:linear-gradient(135deg,#443624,#201b25);}
.is-current-turn>strong::before{content:'▶ Turno actual · ';font-size:14px;color:var(--actor-color,#f3ca73);}

body[data-screen=welcome] .elyrion-gateway,body[data-screen=signin] .elyrion-gateway{position:relative;inset:auto;z-index:1;opacity:1;pointer-events:auto;width:min(300px,75vw);aspect-ratio:auto;display:block;margin:16px auto 24px;animation:none}
.elyrion-gateway>img{display:block;width:100%;height:auto;animation:none}body:not([data-screen=welcome]):not([data-screen=signin]) .elyrion-gateway{display:none}.global-sound{gap:10px;flex-wrap:wrap}

.magic-action-dialog,.beast-action-dialog{width:min(760px,94vw);max-height:90svh;overflow:auto;border:3px solid var(--actor-color,#cda66b);padding:24px;background:#201b25;color:#f7ead2;border-radius:16px}.magic-action-dialog label{display:block;margin:16px 0}.magic-action-dialog select,.magic-action-dialog input{width:100%;background:#302738;color:#fff4de;border:1px solid #9a7e54;padding:12px}.magic-action-dialog option{background:#302738;color:#fff4de}.summoned-beasts{margin:24px 0;padding:20px;border:1px solid #806b48;border-radius:14px}.summoned-beasts h2{font-family:Georgia,serif}.beast-action-dialog .is-target{outline:3px solid #ffe5a3;background:#463829}.combat-conditions{color:#f8dba2;font-weight:600}

.level-improvement-dialog{border-color:var(--actor-color,#e9c579)}.level-improvement-dialog h3{font-size:1.25rem;margin:1rem 0}.level-improvement-dialog .level-roll-progress{margin:.75rem 0;font-size:1rem;color:#e7cc9f}.level-improvement-dialog .level-roll-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem;margin:12px 0 24px;border:1px solid #846c46;border-radius:8px;background:#171319;font-weight:700}.level-improvement-dialog label{display:block;text-align:left;margin:1.25rem 0 .5rem;font-size:1rem}.level-improvement-dialog input{display:block;width:100%;box-sizing:border-box;padding:.75rem;margin-top:.5rem;font-size:1.125rem}.level-improvement-dialog .dice-stage{height:auto}.level-improvement-dialog .dice-stage-caption{box-sizing:border-box;margin:0;padding:9px 12px;font-size:14px;line-height:1.5}.level-improvement-dialog .error{margin-top:1rem;font-size:1rem}.level-improvement-dialog button{max-width:100%;white-space:normal}.level-improvement-dialog [hidden]{display:none!important}
.level-roll-metric{display:flex;flex-direction:column;gap:.2rem;min-width:0}.level-roll-metric-label{font-size:.85rem;font-weight:400;color:#d5c4a5}.level-roll-metric strong{font-size:1.65rem;line-height:1.2;font-variant-numeric:tabular-nums}.level-roll-metric[data-metric="2"] strong{color:#ffe1a0}.level-roll-metric[data-metric="3"] strong{color:#d5c4a5}.level-roll-result[data-improved="true"] .level-roll-metric[data-metric="3"] strong{color:#a6e8ab}

.sm-priority{display:flex;flex-wrap:wrap;gap:20px;padding:16px;background:#2e2431;border:1px solid #b28b4f;border-radius:12px;margin:12px 0}#smTurnFocus{font-size:22px;font-weight:bold;padding:18px;border:2px solid #eac275;border-radius:12px;color:#ffe0a1;background:#302535}.campaign-confirm-dialog{max-width:min(740px,94vw);max-height:85dvh;overflow:auto;background:#211d23;color:#eedfc9;border:1px solid #b28b4f;padding:24px}.campaign-confirm-dialog textarea{width:100%;background:#302832;color:#fff}.campaign-confirm-dialog pre{white-space:pre-wrap}.campaign-confirm-dialog [data-close]{display:block;margin:18px auto}.campaign-confirm-dialog details{padding:12px;border-bottom:1px solid #655039}.sm-panel details summary,.sm-wide>summary{cursor:pointer;color:#e8c47d;padding:10px}

/* Keep component visibility rules while the adventure disallows manual rolls. */
.manual-roll-disabled{display:none!important}
