:root{
    --player-bg:#071821;
    --player-panel:#f0dfb8;
    --player-ink:#493722;
    --player-gold:#d8b56b;
    --player-navy:#0f3142;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.wb-player-body{
    min-height:100vh;
    margin:0;
    overflow-x:hidden;
    background:
        radial-gradient(circle at top,#173846 0,#081923 48%,#05131a 100%);
    color:#e4d2aa;
    font-family:Georgia,"Times New Roman",serif;
}

a{color:inherit}

.wb-player-topbar{
    position:sticky;
    top:0;
    z-index:50;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:.75rem;
    min-height:58px;
    padding:.55rem clamp(.75rem,3vw,1.4rem);
    border-bottom:1px solid rgba(203,159,80,.42);
    background:rgba(5,22,31,.94);
    backdrop-filter:blur(12px);
    box-shadow:0 .35rem .9rem rgba(0,0,0,.2);
}

.wb-player-brand,
.wb-player-logout{
    color:#e8c77f;
    font-size:.76rem;
    font-weight:800;
    text-decoration:none;
}

.wb-player-topbar-copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    text-align:center;
}

.wb-player-topbar-copy strong{
    overflow:hidden;
    color:#f2d89a;
    font-size:.75rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wb-player-topbar-copy span{
    overflow:hidden;
    color:#a99a78;
    font-size:.58rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wb-player-shell{
    width:min(980px,100%);
    margin:0 auto;
    padding:1rem clamp(.75rem,3vw,1.2rem) 4rem;
}

.wb-player-kicker{
    color:#9b7e4b;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.wb-player-welcome{
    margin-bottom:1rem;
    padding:1rem 1.05rem;
    border:1px solid rgba(191,143,62,.55);
    border-radius:.72rem;
    background:
        linear-gradient(115deg,rgba(12,47,63,.95),rgba(8,31,42,.96));
    box-shadow:0 .5rem 1.1rem rgba(0,0,0,.18);
}

.wb-player-welcome h1{
    margin:.08rem 0 .25rem;
    color:#f0d397;
    font-size:clamp(1.5rem,6vw,2.6rem);
}

.wb-player-welcome p{
    margin:0;
    color:#c3b28b;
    font-size:.76rem;
}

.wb-player-section{
    margin-top:1rem;
    padding:.9rem;
    border:1px solid #94703d;
    border-radius:.7rem;
    background:
        linear-gradient(rgba(255,249,229,.96),rgba(238,220,182,.97));
    color:var(--player-ink);
    box-shadow:0 .4rem .9rem rgba(0,0,0,.13);
}

.wb-player-section-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:.75rem;
    margin-bottom:.75rem;
    padding-bottom:.55rem;
    border-bottom:1px solid rgba(131,95,45,.3);
}

.wb-player-section-head h2{
    margin:.04rem 0 0;
    color:#473522;
    font-size:1.05rem;
}

.wb-player-section-head>span{
    display:grid;
    min-width:32px;
    height:28px;
    place-items:center;
    border:1px solid rgba(142,102,47,.36);
    border-radius:999px;
    background:#e7d3a4;
    color:#604723;
    font-size:.7rem;
    font-weight:900;
}

.wb-player-character-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
}

.wb-player-character-card{
    position:relative;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:end;
    gap:.7rem;
    min-height:180px;
    overflow:hidden;
    padding:.85rem;
    border:1px solid #a37a38;
    border-radius:.62rem;
    background:
        linear-gradient(180deg,rgba(5,20,27,.08),rgba(5,20,27,.92)),
        url("../arcanum/backgrounds/arcanum-map-pattern.png?v=1.40.0") center/cover;
    color:#f1d99e;
    text-decoration:none;
    box-shadow:0 .35rem .75rem rgba(37,22,9,.15);
}

.wb-player-character-card.has-cover{
    background:
        linear-gradient(180deg,rgba(5,20,27,.05),rgba(5,20,27,.93)),
        var(--player-character-cover) center/cover no-repeat;
}

.wb-player-character-card:hover{
    color:#fff0bd;
    border-color:#c08b38;
    transform:translateY(-2px);
}

.wb-player-character-icon,
.wb-player-hero-icon{
    display:grid;
    place-items:center;
    border:1px solid rgba(229,188,99,.7);
    border-radius:50%;
    background:rgba(7,31,43,.9);
    color:#e8c677;
    box-shadow:0 3px 8px rgba(0,0,0,.25);
}

.wb-player-character-icon{
    width:48px;
    height:48px;
    font-size:1.2rem;
}

.wb-player-character-card>div{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.wb-player-character-card small{
    color:#c8b47e;
    font-size:.53rem;
    font-weight:900;
    text-transform:uppercase;
}

.wb-player-character-card strong{
    overflow:hidden;
    font-size:1rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wb-player-character-card em{
    overflow:hidden;
    color:#bfb18d;
    font-size:.62rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wb-player-character-card>b{
    font-size:.61rem;
}

.wb-player-empty{
    display:grid;
    min-height:150px;
    place-items:center;
    align-content:center;
    gap:.25rem;
    color:#806c4d;
    text-align:center;
}

.wb-player-empty.compact{min-height:105px}
.wb-player-empty>span{font-size:1.8rem}
.wb-player-empty p{margin:0;font-size:.68rem}

.wb-player-character-hero{
    display:flex;
    min-height:220px;
    align-items:flex-end;
    gap:.9rem;
    overflow:hidden;
    padding:1rem;
    border:1px solid #a0783c;
    border-radius:.72rem;
    background:
        linear-gradient(180deg,rgba(4,17,24,.08),rgba(4,17,24,.92)),
        url("../arcanum/backgrounds/arcanum-map-pattern.png?v=1.40.0") center/cover;
    box-shadow:0 .5rem 1rem rgba(0,0,0,.2);
}

.wb-player-character-hero.has-cover{
    background:
        linear-gradient(180deg,rgba(4,17,24,.04),rgba(4,17,24,.93)),
        var(--player-hero-cover) center/cover no-repeat;
}

.wb-player-hero-icon{
    width:58px;
    height:58px;
    flex:none;
    font-size:1.45rem;
}

.wb-player-character-hero h1{
    margin:.08rem 0;
    color:#f3d79a;
    font-size:clamp(1.7rem,8vw,3rem);
    text-shadow:0 2px 7px rgba(0,0,0,.55);
}

.wb-player-character-hero p{
    margin:0;
    color:#c7b590;
    font-size:.72rem;
}

.wb-player-tabs{
    display:flex;
    gap:.4rem;
    margin-top:.7rem;
    overflow-x:auto;
    padding-bottom:.15rem;
    scrollbar-width:none;
}

.wb-player-tabs::-webkit-scrollbar{display:none}

.wb-player-tabs a{
    flex:none;
    min-height:38px;
    padding:.42rem .65rem;
    border:1px solid rgba(189,143,66,.45);
    border-radius:999px;
    background:#0e3040;
    color:#dfc489;
    font-size:.65rem;
    font-weight:800;
    text-decoration:none;
}

.wb-player-saved{
    margin-top:.7rem;
    padding:.5rem .7rem;
    border:1px solid #6c8a62;
    border-radius:.45rem;
    background:#dce8d2;
    color:#456042;
    font-size:.68rem;
    font-weight:900;
}

.wb-player-data-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.6rem;
}

.wb-player-data-card{
    padding:.65rem;
    border:1px solid rgba(141,102,47,.34);
    border-radius:.5rem;
    background:rgba(255,250,235,.65);
}

.wb-player-data-card.is-editable{
    border-color:#9d783e;
    box-shadow:inset 0 0 0 1px rgba(157,120,62,.06);
}

.wb-player-data-card.is-readonly{
    opacity:.82;
}

.wb-player-data-label{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.4rem;
    margin-bottom:.38rem;
}

.wb-player-data-label strong{
    overflow:hidden;
    font-size:.72rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wb-player-data-label small{
    flex:none;
    color:#8b7655;
    font-size:.5rem;
    text-transform:uppercase;
}

.wb-player-data-card .form-control{
    min-height:42px;
    border-color:rgba(117,84,41,.35);
    background:#fffaf0;
    color:#46331f;
    font-family:Arial,sans-serif;
    font-size:.92rem;
    font-weight:700;
}

.wb-player-data-card .form-control:disabled{
    opacity:1;
    background:#eadfca;
    color:#5b4b36;
}

.wb-player-dual-value{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:.35rem;
}

.wb-player-dual-value>span{
    font-size:1rem;
    font-weight:900;
}

.wb-player-checkbox{
    display:flex;
    min-height:42px;
    align-items:center;
    gap:.5rem;
    font-size:.76rem;
    font-weight:800;
}

.wb-player-checkbox input{
    width:22px;
    height:22px;
}

.wb-player-primary-button{
    display:flex;
    width:100%;
    min-height:44px;
    align-items:center;
    justify-content:center;
    margin-top:.75rem;
    padding:.55rem .8rem;
    border:1px solid #b18238;
    border-radius:.48rem;
    background:#123b4e;
    color:#f1d59a;
    font-family:Georgia,"Times New Roman",serif;
    font-size:.74rem;
    font-weight:900;
}

.wb-player-primary-button:hover{
    background:#194b61;
}

.wb-player-inventory{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem;
}

.wb-player-inventory-row{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    gap:.55rem;
    min-height:82px;
    padding:.48rem;
    border:1px solid rgba(141,103,49,.34);
    border-radius:.48rem;
    background:rgba(255,249,231,.7);
}

.wb-player-inventory-thumb{
    display:grid;
    width:54px;
    height:66px;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(153,114,56,.4);
    border-radius:.36rem;
    background:
        linear-gradient(rgba(7,29,40,.1),rgba(7,29,40,.7)),
        url("../arcanum/backgrounds/arcanum-map-pattern.png?v=1.40.0") center/cover;
}

.wb-player-inventory-thumb.has-cover{
    background:
        linear-gradient(rgba(4,18,25,.04),rgba(4,18,25,.24)),
        var(--player-item-cover) center/cover no-repeat;
}

.wb-player-inventory-thumb>span{
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    border:1px solid rgba(229,190,104,.58);
    border-radius:50%;
    background:rgba(7,31,43,.78);
    color:#e5c375;
}

.wb-player-inventory-copy{
    min-width:0;
}

.wb-player-inventory-copy>div{
    display:flex;
    flex-direction:column;
}

.wb-player-inventory-copy strong{
    overflow:hidden;
    font-size:.76rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wb-player-inventory-copy small{
    overflow:hidden;
    color:#765e3b;
    font-size:.56rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wb-player-inventory-copy p{
    display:-webkit-box;
    margin:.28rem 0 0;
    overflow:hidden;
    color:#66543b;
    font-size:.6rem;
    line-height:1.3;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.wb-player-inventory-qty{
    align-self:start;
    padding:.17rem .38rem;
    border:1px solid rgba(141,103,49,.36);
    border-radius:999px;
    background:#e6d19f;
    color:#594222;
    font-size:.68rem;
}

.wb-player-writing-form{
    display:grid;
    gap:.8rem;
}

.wb-player-writing-form label{
    display:flex;
    flex-direction:column;
    gap:.2rem;
}

.wb-player-writing-form label>span{
    color:#483521;
    font-size:.78rem;
    font-weight:900;
}

.wb-player-writing-form label>small{
    color:#817052;
    font-size:.6rem;
}

.wb-player-writing-form textarea{
    width:100%;
    resize:vertical;
    padding:.7rem;
    border:1px solid rgba(133,95,44,.42);
    border-radius:.5rem;
    background:#fffaf0;
    color:#3f3020;
    font-family:Georgia,"Times New Roman",serif;
    font-size:.82rem;
    line-height:1.5;
}

.wb-player-writing-note{
    margin:0;
    color:#7e6848;
    font-size:.6rem;
    font-style:italic;
}

.wb-player-gate{
    display:grid;
    min-height:calc(100vh - 48px);
    place-items:center;
    padding:1rem;
}

.wb-player-gate-card{
    width:min(520px,100%);
    padding:1.6rem;
    border:1px solid rgba(196,148,65,.58);
    border-radius:.8rem;
    background:
        linear-gradient(rgba(245,229,191,.96),rgba(224,199,150,.97));
    color:#4b3824;
    text-align:center;
    box-shadow:0 1rem 2.2rem rgba(0,0,0,.28);
}

.wb-player-seal{
    display:grid;
    width:64px;
    height:64px;
    margin:0 auto .7rem;
    place-items:center;
    border:2px solid #ab7e37;
    border-radius:50%;
    background:#103445;
    color:#e4bf72;
    font-size:1.6rem;
}

.wb-player-gate-card h1{
    margin:.1rem 0 .5rem;
    font-size:1.65rem;
}

.wb-player-gate-card p{
    margin:0;
    color:#6f5a3b;
    font-size:.76rem;
    line-height:1.5;
}

.wb-player-footer{
    padding:1rem;
    color:#7d765f;
    font-size:.55rem;
    text-align:center;
}

@media(max-width:767.98px){
    .wb-player-shell{padding-top:.75rem}
    .wb-player-character-grid,
    .wb-player-inventory{grid-template-columns:1fr}
    .wb-player-character-card{min-height:160px}
    .wb-player-character-hero{min-height:190px}
}

@media(max-width:520px){
    .wb-player-topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem;padding:.5rem .65rem}
    .wb-player-brand,.wb-player-logout{font-size:.65rem}
    .wb-player-data-grid{grid-template-columns:1fr 1fr;gap:.45rem}
    .wb-player-data-card{padding:.55rem}
    .wb-player-data-label{align-items:flex-start;flex-direction:column;gap:.05rem}
    .wb-player-data-label strong{font-size:.68rem}
    .wb-player-data-card .form-control{min-height:40px;font-size:.82rem}
    .wb-player-section{padding:.72rem}
    .wb-player-character-hero{min-height:170px;padding:.8rem}
    .wb-player-hero-icon{width:50px;height:50px}
}

@media(max-width:380px){
    .wb-player-data-grid{grid-template-columns:1fr}
}


/* ================================================================
   ARCANUM v1.17.2 — RITRATTO PG + LIGHTBOX PLAYER
================================================================ */

.wb-player-character-hero{
    position:relative;
    min-height:320px!important;
    background-position:center 28%!important;
}

.wb-player-character-hero.has-cover{
    cursor:default;
}

.wb-player-hero-copy{
    position:relative;
    z-index:2;
    min-width:0;
}

.wb-player-world-profile{
    display:inline-flex;
    min-height:36px;
    align-items:center;
    gap:.35rem;
    margin-top:.55rem;
    padding:.38rem .58rem;
    border:1px solid rgba(232,195,111,.62);
    border-radius:999px;
    background:rgba(5,27,38,.82);
    color:#f2d79b;
    font-size:.64rem;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 3px 10px rgba(0,0,0,.2);
    backdrop-filter:blur(4px);
}
.wb-player-world-profile:hover,
.wb-player-world-profile:focus{
    border-color:#e5bd69;
    background:rgba(11,46,61,.96);
    color:#fff1c4;
}
.wb-player-world-profile .wb-icon{width:1rem;height:1rem}

.wb-player-image-expand{
    position:absolute;
    top:.72rem;
    right:.72rem;
    z-index:5;
    display:inline-flex;
    min-height:38px;
    align-items:center;
    gap:.35rem;
    padding:.4rem .58rem;
    border:1px solid rgba(232,195,111,.7);
    border-radius:999px;
    background:rgba(5,27,38,.88);
    color:#f2d79b;
    font-size:.64rem;
    font-weight:900;
    box-shadow:0 3px 10px rgba(0,0,0,.28);
    backdrop-filter:blur(4px);
}

.wb-player-image-expand:hover,
.wb-player-image-expand:focus{
    border-color:#e5bd69;
    background:rgba(11,46,61,.96);
    color:#fff1c4;
}

.wb-player-image-expand>span{
    font-size:1rem;
    line-height:1;
}

.wb-player-lightbox[hidden]{
    display:none!important;
}

.wb-player-lightbox{
    position:fixed;
    inset:0;
    z-index:100000;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    place-items:center;
    padding:3.7rem 1rem 1rem;
    background:rgba(2,9,13,.95);
    backdrop-filter:blur(8px);
}

.wb-player-lightbox-stage{
    display:grid;
    width:100%;
    height:100%;
    min-height:0;
    place-items:center;
}

.wb-player-lightbox-stage img{
    display:block;
    width:auto;
    height:auto;
    max-width:min(96vw,1400px);
    max-height:calc(100dvh - 6.7rem);
    object-fit:contain;
    border:1px solid rgba(224,183,93,.55);
    border-radius:.48rem;
    background:#091a22;
    box-shadow:0 1rem 2.5rem rgba(0,0,0,.55);
}

.wb-player-lightbox-close{
    position:absolute;
    top:max(.75rem,env(safe-area-inset-top));
    right:max(.75rem,env(safe-area-inset-right));
    z-index:3;
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border:1px solid rgba(232,195,111,.68);
    border-radius:50%;
    background:rgba(8,35,47,.94);
    color:#f2d79b;
    font-size:1.55rem;
    line-height:1;
}

.wb-player-lightbox-close:hover,
.wb-player-lightbox-close:focus{
    background:#16475c;
    color:#fff0bd;
}

.wb-player-lightbox-caption{
    max-width:min(92vw,900px);
    padding:.65rem 1rem .2rem;
    color:#d9c28c;
    font-family:Georgia,"Times New Roman",serif;
    font-size:.76rem;
    text-align:center;
}

@media(max-width:767.98px){
    .wb-player-character-hero{
        min-height:285px!important;
        background-position:center 24%!important;
    }

    .wb-player-image-expand{
        top:.6rem;
        right:.6rem;
        min-height:40px;
    }
}

@media(max-width:520px){
    .wb-player-character-hero{
        min-height:265px!important;
        padding:.8rem!important;
    }

    .wb-player-image-expand{
        width:42px;
        height:42px;
        min-height:42px;
        justify-content:center;
        padding:0;
    }

    .wb-player-image-expand>b{
        display:none;
    }

    .wb-player-image-expand>span{
        font-size:1.1rem;
    }

    .wb-player-lightbox{
        padding:3.6rem .55rem .7rem;
    }

    .wb-player-lightbox-stage img{
        max-width:97vw;
        max-height:calc(100dvh - 6.3rem);
    }
}


/* ================================================================
   ARCANUM v1.17.3 — NODO PLAYER-SAFE
================================================================ */

.wb-player-inventory-open-node{
    display:inline-flex;
    align-items:center;
    gap:.2rem;
    margin-top:.08rem;
    color:#72562f;
    font-size:.58rem;
    font-weight:900;
    text-decoration:none;
}

.wb-player-inventory-open-node:hover{
    color:#3f2c13;
    text-decoration:underline;
}

.wb-player-node-hero{
    position:relative;
    display:flex;
    min-height:300px;
    align-items:flex-end;
    gap:.85rem;
    overflow:hidden;
    padding:1rem;
    border:1px solid #a0783c;
    border-radius:.72rem;
    background:
        linear-gradient(180deg,rgba(4,17,24,.08),rgba(4,17,24,.93)),
        url("../arcanum/backgrounds/arcanum-map-pattern.png?v=1.40.0") center/cover;
    box-shadow:0 .5rem 1rem rgba(0,0,0,.2);
}

.wb-player-node-hero.has-cover{
    background:
        linear-gradient(180deg,rgba(4,17,24,.03),rgba(4,17,24,.94)),
        var(--player-node-cover) center 30%/cover no-repeat;
}

.wb-player-node-hero-icon{
    display:grid;
    width:58px;
    height:58px;
    flex:none;
    place-items:center;
    border:1px solid rgba(229,188,99,.7);
    border-radius:50%;
    background:rgba(7,31,43,.9);
    color:#e8c677;
    font-size:1.4rem;
    box-shadow:0 3px 8px rgba(0,0,0,.25);
}

.wb-player-node-hero-copy{
    position:relative;
    z-index:2;
    min-width:0;
}

.wb-player-node-hero h1{
    margin:.08rem 0;
    color:#f3d79a;
    font-size:clamp(1.7rem,8vw,3rem);
    text-shadow:0 2px 7px rgba(0,0,0,.55);
    overflow-wrap:anywhere;
}

.wb-player-node-hero p{
    margin:0;
    color:#c7b590;
    font-size:.72rem;
}

.wb-player-node-safe-note{
    display:flex;
    align-items:center;
    gap:.55rem;
    margin-top:.7rem;
    padding:.55rem .7rem;
    border:1px solid rgba(121,143,104,.45);
    border-radius:.5rem;
    background:rgba(220,233,208,.9);
    color:#496144;
}

.wb-player-node-safe-note>span{
    font-size:1.05rem;
}

.wb-player-node-safe-note>div{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.wb-player-node-safe-note strong{
    font-size:.67rem;
}

.wb-player-node-safe-note small{
    font-size:.57rem;
    line-height:1.35;
}

.wb-player-node-layout{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
    margin-top:1rem;
}

.wb-player-node-block{
    grid-column:span var(--player-node-span,1);
    min-width:0;
    overflow:hidden;
    padding:.85rem;
    border:1px solid #94703d;
    border-radius:.65rem;
    background:
        linear-gradient(rgba(255,249,229,.97),rgba(238,220,182,.98));
    color:#473522;
    box-shadow:0 .35rem .8rem rgba(0,0,0,.1);
}

.wb-player-node-block-title{
    margin:0 0 .25rem;
    color:#473522;
    font-size:1.05rem;
}

.wb-player-node-block-subtitle{
    margin-bottom:.55rem;
    color:#806c4c;
    font-family:Georgia,"Times New Roman",serif;
    font-size:.72rem;
    font-style:italic;
}

.wb-player-node-rich{
    color:#4a3926;
    font-size:var(--player-rich-size,16px);
    line-height:1.55;
    overflow-wrap:anywhere;
}

.wb-player-node-rich p:last-child{
    margin-bottom:0;
}

.wb-player-node-rich h1,
.wb-player-node-rich h2,
.wb-player-node-rich h3,
.wb-player-node-rich h4{
    color:#493620;
    font-family:Georgia,"Times New Roman",serif;
}

.wb-player-node-link{
    color:#795727;
    font-weight:800;
    text-decoration:underline;
    text-decoration-style:dotted;
}

.wb-player-node-link-locked{
    color:#8b806e;
    border-bottom:1px dotted #9b8e79;
    cursor:not-allowed;
}

.wb-player-external-link{
    color:#536e78;
}

.wb-player-node-image-button{
    position:relative;
    display:block;
    width:100%;
    overflow:hidden;
    padding:0;
    border:0;
    border-radius:.46rem;
    background:#0a2633;
}

.wb-player-node-image-button img{
    display:block;
    width:100%;
    max-height:540px;
    object-fit:contain;
    background:#0a2633;
}

.wb-player-node-image-button>span{
    position:absolute;
    right:.55rem;
    bottom:.55rem;
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:1px solid rgba(230,194,111,.65);
    border-radius:50%;
    background:rgba(5,29,40,.84);
    color:#edd194;
}

.wb-player-node-image-caption{
    margin-top:.4rem;
    color:#7e6848;
    font-size:.62rem;
    font-style:italic;
}

.wb-player-node-checklist{
    display:grid;
    gap:.45rem;
}

.wb-player-node-checklist>div{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:.35rem;
    align-items:start;
}

.wb-player-node-checklist>div>span{
    color:#6f5229;
}

.wb-player-node-checklist p{
    margin:0;
    font-size:.74rem;
}

.wb-player-node-value{
    padding:.7rem;
    border:1px solid rgba(139,101,49,.28);
    border-radius:.45rem;
    background:rgba(255,250,237,.66);
    font-size:.9rem;
    font-weight:800;
}

.wb-player-node-table-wrap{
    border:1px solid rgba(133,96,45,.28);
    border-radius:.42rem;
}

.wb-player-node-table-wrap th{
    background:#dfc99b;
    color:#4c3925;
    font-size:.64rem;
}

.wb-player-node-table-wrap td{
    background:rgba(255,250,237,.65);
    color:#54422d;
    font-size:.64rem;
}

.wb-player-node-tags{
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
}

.wb-player-node-tags>span{
    padding:.25rem .48rem;
    border:1px solid rgba(133,96,45,.32);
    border-radius:999px;
    background:#e6d3aa;
    color:#604824;
    font-size:.62rem;
    font-weight:800;
}

.wb-player-node-placeholder{
    color:#8a7a62;
    font-style:italic;
}

@media(max-width:767.98px){
    .wb-player-node-hero{
        min-height:265px;
        background-position:center 25%!important;
    }

    .wb-player-node-layout{
        grid-template-columns:1fr;
    }

    .wb-player-node-block{
        grid-column:1!important;
    }
}

@media(max-width:520px){
    .wb-player-node-hero{
        min-height:240px;
        padding:.8rem;
    }

    .wb-player-node-hero-icon{
        width:50px;
        height:50px;
    }

    .wb-player-node-block{
        padding:.72rem;
    }
}


/* ================================================================
   ARCANUM v1.17.6 — PLAYER-SAFE IMAGE FIT / FOCAL POINT
================================================================ */

.wb-player-node-image-button .wb-player-node-image{
    width:100%;
    object-position:var(--player-image-focus-x,50%) var(--player-image-focus-y,50%);
}

.wb-player-node-image-button .wb-player-node-fit-cover{
    height:min(calc(var(--player-image-block-h,3) * 85px),540px);
    min-height:170px;
    object-fit:cover;
}

.wb-player-node-image-button .wb-player-node-fit-contain{
    height:auto;
    max-height:540px;
    object-fit:contain;
}

.wb-player-node-image-button .wb-player-node-fit-original{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:540px;
    margin-inline:auto;
    object-fit:contain;
}


/* ================================================================
   ARCANUM v1.18.1 — PLAYER LIVE
================================================================ */
.wb-player-live{margin-bottom:1rem;padding:.7rem;border:1px solid #94713d;border-radius:.68rem;background:linear-gradient(rgba(6,29,40,.98),rgba(8,42,52,.96));box-shadow:0 .45rem 1rem rgba(0,0,0,.22)}
.wb-player-live-head{display:flex;align-items:center;gap:.55rem;padding:.15rem .15rem .65rem}.wb-player-live-pulse{display:flex;align-items:center;gap:.3rem;padding:.23rem .4rem;border:1px solid rgba(113,210,104,.44);border-radius:999px;color:#bceab6;font-size:.5rem;font-weight:900;letter-spacing:.08em}.wb-player-live-pulse>span{width:8px;height:8px;border-radius:50%;background:#72d16b;box-shadow:0 0 0 4px rgba(114,209,107,.1)}.wb-player-live-head>div:last-child{display:flex;min-width:0;flex-direction:column}.wb-player-live-head small{color:#9f9272;font-size:.45rem}.wb-player-live-head h2{margin:0;color:#f0d394;font-size:.88rem;overflow-wrap:anywhere}
.wb-player-live-label{margin:.1rem 0 .3rem;color:#cbb98e;font-size:.52rem;font-weight:900;text-transform:uppercase}.wb-player-live-focus-card{position:relative;display:grid;min-height:130px;grid-template-columns:45px minmax(0,1fr) auto;align-items:end;gap:.55rem;overflow:hidden;padding:.7rem;border:1px solid #b58a45;border-radius:.55rem;background:linear-gradient(180deg,#234d58,#102d3b);color:#f1d79b;text-decoration:none}.wb-player-live-focus-card.has-cover{background:linear-gradient(180deg,rgba(5,23,31,.08),rgba(5,23,31,.92)),var(--player-live-cover) center/cover no-repeat}.wb-player-live-focus-card>span{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(228,190,108,.62);border-radius:50%;background:rgba(7,31,42,.86);font-size:1.15rem}.wb-player-live-focus-card>div{display:flex;min-width:0;flex-direction:column}.wb-player-live-focus-card small{color:#c5b58e;font-size:.48rem}.wb-player-live-focus-card strong{font-size:.82rem;overflow-wrap:anywhere}.wb-player-live-focus-card>b{font-size:.55rem}
.wb-player-live-history{margin-top:.65rem}.wb-player-live-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem;color:#d8c28f;font-size:.58rem}.wb-player-live-history-head>span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:999px;background:rgba(233,200,125,.14);font-size:.48rem}.wb-player-live-history-list{display:grid;gap:.25rem}.wb-player-live-history-list>a{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:.35rem;padding:.36rem .42rem;border:1px solid rgba(211,174,96,.2);border-radius:.38rem;background:rgba(4,22,30,.42);color:#dbc590;text-decoration:none}.wb-player-live-history-list>a:hover{background:rgba(21,62,75,.66)}.wb-player-live-history-list>a>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#173948}.wb-player-live-history-list strong{overflow:hidden;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.wb-player-live-history-list small{color:#9ed098;font-size:.44rem}.wb-player-live-history-list b{color:#cbae70}.wb-player-live-empty{padding:.65rem;color:#a99a79;font-size:.55rem;text-align:center}
@media(max-width:520px){.wb-player-live-focus-card{min-height:155px;grid-template-columns:42px minmax(0,1fr)}.wb-player-live-focus-card>b{grid-column:1/-1;justify-self:end}.wb-player-live-history-list>a{grid-template-columns:30px minmax(0,1fr) auto}.wb-player-live-history-list small{grid-column:2/3}.wb-player-live-history-list b{grid-column:3;grid-row:1/3}}


/* ================================================================
   ARCANUM v1.19.0 — PLANCIA PLAYER
================================================================ */
.wb-player-live-board{
    margin:.7rem 0;
}

.wb-player-live-board>a{
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    align-items:center;
    gap:.55rem;
    padding:.65rem;
    border:1px solid rgba(127,174,112,.58);
    border-radius:.58rem;
    background:linear-gradient(135deg,rgba(23,66,59,.95),rgba(18,52,65,.96));
    color:#e6d19c;
    text-decoration:none;
    box-shadow:0 .35rem .8rem rgba(0,0,0,.2);
}

.wb-player-live-board>a>span{
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border:1px solid rgba(203,171,96,.45);
    border-radius:50%;
    background:#0d2f3e;
    font-size:1.25rem;
}

.wb-player-live-board>a>div{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.wb-player-live-board small{
    color:#91bd8d;
    font-size:.48rem;
    font-weight:900;
}

.wb-player-live-board strong{
    overflow:hidden;
    color:#f0d291;
    font-size:.78rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wb-player-live-board em{
    color:#b8aa89;
    font-size:.54rem;
    font-style:normal;
}

.wb-player-live-board b{
    font-size:.58rem;
}

.wb-player-board-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.8rem;
    margin-bottom:.65rem;
}

.wb-player-board-head h1{
    margin:.12rem 0 .18rem;
    color:#e6c982;
    font-size:clamp(1.55rem,6vw,2.4rem);
}

.wb-player-board-head p{
    max-width:760px;
    margin:0;
    color:#a99d80;
    font-size:.65rem;
}

@media(max-width:600px){
    .wb-player-board-head{
        align-items:stretch;
        flex-direction:column;
    }
}

/* ================================================================
   ARCANUM v1.22.0 — QUEST / OBIETTIVI NEL PORTALE PLAYER
================================================================ */
.wb-player-objective-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem;
}

.wb-player-objective-card{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:.65rem;
    min-width:0;
    padding:.75rem;
    border:1px solid rgba(141,102,48,.42);
    border-radius:.58rem;
    background:rgba(255,250,235,.58);
}

.wb-player-objective-completato{opacity:.78}
.wb-player-objective-fallito{opacity:.72}

.wb-player-objective-icon{
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    border:1px solid rgba(139,99,45,.36);
    border-radius:50%;
    background:#e7d3a4;
    font-size:1.15rem;
}

.wb-player-objective-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.wb-player-objective-copy small{
    color:#876a3f;
    font-size:.68rem;
    font-weight:900;
    text-transform:uppercase;
}

.wb-player-objective-copy strong{
    margin-top:.08rem;
    color:#493722;
    font-size:.94rem;
    overflow-wrap:anywhere;
}

.wb-player-objective-copy p{
    margin:.3rem 0 0;
    color:#685538;
    font-size:.78rem;
    line-height:1.42;
}

.wb-player-objective-card>b{
    align-self:center;
    justify-self:end;
    color:#755a32;
    font-size:1.15rem;
    line-height:1;
    white-space:nowrap;
}

@media(max-width:767.98px){
    .wb-player-objective-grid{grid-template-columns:1fr}
    .wb-player-objective-card{min-height:76px;padding:.72rem}
    .wb-player-objective-copy strong{font-size:1rem}
    .wb-player-objective-copy p{font-size:.86rem}
}

/* ================================================================
   ARCANUM v1.25.0 — QUEST ATTIVE / STORICO / RISERVATE PG
================================================================ */
.wb-player-quest-subsection+.wb-player-quest-subsection{margin-top:1.1rem}.wb-player-quest-subsection>h3{margin:0 0 .55rem;font-size:.92rem}.wb-player-objective-completata{opacity:.82}.wb-player-objective-fallita{opacity:.74}

/* ================================================================
   ARCANUM v1.30.0 — PLAYER LIVE · ATMOSFERA
================================================================ */
.wb-player-live-atmosphere{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.42rem;
    margin:.05rem 0 .65rem;
}
.wb-player-atmosphere-chip{
    display:grid;
    min-width:0;
    min-height:66px;
    grid-template-columns:58px minmax(0,1fr);
    align-items:center;
    gap:.45rem;
    padding:.28rem .48rem;
    border:1px solid rgba(218,185,111,.28);
    border-radius:.48rem;
    background:linear-gradient(135deg,rgba(15,54,65,.92),rgba(8,36,50,.94));
    color:#eed394;
}
.wb-player-atmosphere-chip>img{display:block;width:56px;height:56px;object-fit:contain}
.wb-player-atmosphere-chip>.wb-day-period-icon{display:block;width:56px;height:56px;color:#496684;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}
.wb-player-atmosphere-chip>.wb-day-period-icon>svg,.wb-player-atmosphere-chip>.wb-day-period-icon>img{display:block;width:100%;height:100%;object-fit:contain}
.wb-player-atmosphere-chip>div{display:flex;min-width:0;flex-direction:column}
.wb-player-atmosphere-chip small{color:#9eb8a4;font-size:.48rem;font-weight:900;letter-spacing:.06em}
.wb-player-atmosphere-chip strong{overflow:hidden;color:#f0d598;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){
    .wb-player-live-atmosphere{grid-template-columns:1fr}
    .wb-player-atmosphere-chip{min-height:62px}
}

/* ================================================================
   ARCANUM v1.31.0 / v1.32.14 — PLAYER · AUDIO LIVE SOUNDBOARD
================================================================ */
.wb-player-audio-gate{
    position:fixed;
    right:max(.75rem,env(safe-area-inset-right));
    bottom:max(.75rem,env(safe-area-inset-bottom));
    z-index:1085;
    display:flex;
    width:min(330px,calc(100vw - 1.5rem));
    align-items:stretch;
    flex-direction:column;
    gap:.18rem;
    padding:.42rem;
    border:1px solid rgba(214,174,89,.68);
    border-radius:.7rem;
    background:linear-gradient(145deg,rgba(5,27,38,.98),rgba(13,54,62,.98));
    box-shadow:0 .55rem 1.35rem rgba(0,0,0,.38);
    transition:width .18s ease,padding .18s ease,border-color .18s ease,background .18s ease;
}
.wb-player-audio-gate>button{
    min-height:46px;
    padding:.48rem .68rem;
    border:1px solid rgba(228,192,110,.42);
    border-radius:.5rem;
    background:#173d49;
    color:#efd18b;
    font-size:.78rem;
    font-weight:900;
    text-align:left;
}
.wb-player-audio-gate>button:hover{background:#20505a}
.wb-player-audio-gate>small{padding:0 .25rem .08rem;color:#9cb1a8;font-size:.56rem!important;line-height:1.3}
.wb-player-audio-gate.is-active{border-color:rgba(127,184,108,.78);box-shadow:0 .55rem 1.35rem rgba(0,0,0,.38),0 0 0 2px rgba(112,170,96,.12)}
.wb-player-audio-gate.is-active>button{border-color:rgba(130,193,110,.52);background:#214d42;color:#cce5b6}

/* Dopo il primo consenso resta solo il comando compatto. */
.wb-player-audio-gate.is-compact{
    width:48px;
    height:48px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    box-shadow:0 .45rem 1rem rgba(0,0,0,.3);
}
.wb-player-audio-gate.is-compact>small,
.wb-player-audio-gate.is-compact>button>span{display:none!important}
.wb-player-audio-gate.is-compact>button{
    display:grid;
    width:48px;
    height:48px;
    min-height:48px;
    place-items:center;
    padding:0;
    border:1px solid rgba(255,255,255,.24);
    border-radius:50%;
    background:#8c3434;
    color:#fff2e9;
    text-align:center;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
}
.wb-player-audio-gate.is-compact>button .wb-icon{width:21px;height:21px}
.wb-player-audio-gate.is-compact>button:hover{background:#a33c3c}
.wb-player-audio-gate.is-compact.is-active>button{
    border-color:rgba(217,243,205,.48);
    background:#34724f;
    color:#effbe8;
}
.wb-player-audio-gate.is-compact.is-active>button:hover{background:#3d805a}
.wb-player-audio-gate.is-playing{animation:wbPlayerAudioPulse .5s ease-out}
@keyframes wbPlayerAudioPulse{
    0%{transform:scale(.985);box-shadow:0 .55rem 1.35rem rgba(0,0,0,.38),0 0 0 0 rgba(194,222,143,.36)}
    55%{transform:scale(1.012);box-shadow:0 .55rem 1.35rem rgba(0,0,0,.38),0 0 0 7px rgba(194,222,143,.08)}
    100%{transform:scale(1)}
}
@media(max-width:520px){
    .wb-player-audio-gate:not(.is-compact){
        right:max(.55rem,env(safe-area-inset-right));
        bottom:max(.55rem,env(safe-area-inset-bottom));
        left:max(.55rem,env(safe-area-inset-left));
        width:auto;
    }
    .wb-player-audio-gate:not(.is-compact)>button{min-height:50px;font-size:.86rem}
    .wb-player-audio-gate.is-compact{
        right:max(.55rem,env(safe-area-inset-right));
        bottom:max(.55rem,env(safe-area-inset-bottom));
        left:auto;
        width:48px;
    }
}

/* ARCANUM v1.32.2 — Atmosfera Player: contrasto Meteocons */
.wb-player-atmosphere-chip>img{
    box-sizing:border-box;
    padding:3px;
    border:1px solid rgba(223,190,116,.32);
    border-radius:50%;
    background:radial-gradient(circle at 35% 28%,#1d5360 0,#123c48 58%,#0b2b36 100%);
    filter:drop-shadow(0 2px 3px rgba(0,0,0,.24));
}

/* ================================================================
   ARCANUM v1.33.0 — ICONE + INDICATORI A CASELLE DATI DI GIOCO
================================================================ */

.wb-player-data-title{
    display:flex;
    min-width:0;
    align-items:center;
    gap:.42rem;
}

.wb-player-data-title strong{
    min-width:0;
}

.wb-player-data-icon{
    display:grid;
    width:30px;
    height:30px;
    flex:none;
    place-items:center;
    border:1px solid rgba(141,102,47,.35);
    border-radius:50%;
    background:#f0e1bd;
    color:#17394a;
}

.wb-player-data-icon .wb-icon{
    width:18px;
    height:18px;
}

.wb-game-tracker{
    display:flex;
    align-items:center;
    gap:.5rem;
    min-height:44px;
}

.wb-game-tracker-cells{
    display:flex;
    min-width:0;
    flex-wrap:wrap;
    align-items:center;
    gap:.38rem;
}

.wb-game-tracker-cell{
    display:block;
    width:34px;
    height:34px;
    flex:none;
    padding:0;
    border:2px solid #17394a;
    border-radius:3px;
    background:#fff7e5;
    box-shadow:none;
    cursor:pointer;
}

.wb-game-tracker-cell.is-filled{
    background:#111820;
    border-color:#111820;
}

.wb-game-tracker-cell:disabled{
    cursor:default;
    opacity:1;
}

.wb-game-tracker-cell:focus-visible{
    outline:3px solid rgba(187,140,61,.45);
    outline-offset:2px;
}

.wb-game-tracker[data-shape="rettangolo"] .wb-game-tracker-cell{
    width:44px;
    height:28px;
    border-radius:3px;
}

.wb-game-tracker[data-shape="cerchio"] .wb-game-tracker-cell{
    border-radius:50%;
}

.wb-game-tracker[data-shape="rombo"] .wb-game-tracker-cell{
    width:27px;
    height:27px;
    margin:5px;
    border-radius:2px;
    transform:rotate(45deg);
}

.wb-game-tracker-readout{
    flex:none;
    color:#7d6848;
    font-size:.65rem;
    font-weight:900;
}

@media (max-width:575.98px){
    .wb-player-data-label{
        align-items:flex-start;
    }

    .wb-player-data-title{
        width:100%;
    }

    .wb-game-tracker{
        align-items:flex-start;
        flex-direction:column;
        gap:.3rem;
    }
}

/* ================================================================
   v1.40.0 — Player Identity / Login
   ================================================================ */
.wb-player-login-card{max-width:500px;text-align:left}
.wb-player-login-card .wb-player-seal,
.wb-player-login-card .wb-player-kicker,
.wb-player-login-card h1,
.wb-player-login-intro{text-align:center}
.wb-player-login-form{display:grid;gap:.85rem;margin-top:1.15rem}
.wb-player-login-form label>span{display:block;margin-bottom:.3rem;color:#665033;font-size:.68rem;font-weight:800;letter-spacing:.035em}
.wb-player-login-form .form-control{min-height:46px;border:1px solid rgba(118,82,38,.45);background:rgba(255,250,235,.85);color:#352619;font-weight:700}
.wb-player-login-form input[name="code"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}
.wb-player-login-form input[name="pin"],.wb-player-login-form input[name="pin_confirm"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;letter-spacing:.28em}
.wb-player-login-remember{display:flex!important;align-items:center;gap:.55rem;padding:.55rem .65rem;border:1px solid rgba(116,84,43,.2);border-radius:.45rem;background:rgba(255,255,255,.2)}
.wb-player-login-remember input{width:18px;height:18px;accent-color:#103445}
.wb-player-login-remember span{margin:0!important;font-weight:600!important}
.wb-player-login-submit{min-height:46px;font-weight:800}
.wb-player-login-alert{margin-top:1rem;padding:.65rem .75rem;border:1px solid rgba(143,53,43,.35);border-radius:.45rem;background:rgba(154,59,45,.08);color:#7b332a;font-size:.72rem;text-align:center}
.wb-player-login-help{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(110,82,43,.2);text-align:center}
.wb-player-login-help p{margin:0 0 .55rem}
.wb-player-login-help a{color:#163f53;font-size:.7rem;font-weight:800}
.wb-player-code-card{display:grid;gap:.25rem;margin:1rem 0;padding:.8rem;border:1px solid rgba(173,126,55,.45);border-radius:.55rem;background:#102f3f;color:#ead092;text-align:center}
.wb-player-code-card small{font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.wb-player-code-card strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;letter-spacing:.09em}
.wb-player-code-card span{color:#bda877;font-size:.6rem}
.wb-player-gate-login-link{display:inline-flex;margin-top:1rem}
.wb-player-account-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.wb-player-account-character-card{margin:0}
.wb-player-account-character-card button{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem;border:1px solid rgba(118,83,38,.36);border-radius:.55rem;background:rgba(255,250,234,.72);color:#45331f;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.wb-player-account-character-card button:hover{transform:translateY(-1px);border-color:#9a6e30;background:#fff8e7}
.wb-player-account-character-card button>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#12384a;color:#e3bd70}
.wb-player-account-character-card button>span .wb-icon{width:22px;height:22px}
.wb-player-account-character-card button div{display:flex;min-width:0;flex-direction:column}
.wb-player-account-character-card button small{overflow:hidden;color:#8a704a;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}
.wb-player-account-character-card button strong{overflow:hidden;font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}
.wb-player-account-character-card button b{color:#9d7537;font-size:1.2rem}
.wb-player-selection-empty{text-align:center}
@media(max-width:620px){.wb-player-account-character-grid{grid-template-columns:1fr}}
