:root{
  --ink:#17140f;
  --paper:#e8dcc0;
  --paper2:#cdbb91;
  --gold:#c69a4c;
  --gold2:#8b6329;
  --night:#0a0d12;
  --slate:#111821;
  --line:#5f513b;
  --muted:#aa9d82;
  --teal:#4db5b0;
  --red:#9d3d3d;
  --ok:#6bbf7c;
  --warn:#d8a348;
  --shadow:0 16px 50px rgba(0,0,0,.38);
}

html{scroll-behavior:smooth}
body.v4-player-skin{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:var(--night);
  color:#f0e8d8;
  font-family:Georgia,"Times New Roman",serif;
}
body.v4-player-skin::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(rgba(5,7,10,.08),rgba(5,7,10,.80)),
    radial-gradient(circle at 18% 12%,rgba(255,232,165,.95) 0 1.4%,rgba(241,170,86,.30) 1.7% 7%,transparent 11%),
    radial-gradient(circle at 78% 16%,rgba(255,218,128,.88) 0 1.1%,rgba(221,127,72,.24) 1.5% 6%,transparent 10%),
    radial-gradient(circle at 50% 28%,rgba(77,181,176,.14),transparent 24%),
    linear-gradient(180deg,#51443f 0%,#2b2830 28%,#141921 58%,#080a0e 100%);
}
body.v4-player-skin::after{
  content:"";
  position:fixed;
  left:0;right:0;bottom:0;
  height:58vh;
  z-index:-2;
  opacity:.8;
  background-repeat:repeat-x;
  background-position:center bottom;
  background-size:1100px 520px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1100' height='520' viewBox='0 0 1100 520'%3E%3Cg fill='%23080b10'%3E%3Cpath d='M0 520V350h55v-95h18v-55h18v55h22v95h54V210h38v-80h10v-62h10v62h14v80h40v140h35V270h23v-94h12v-70h9v70h15v94h27v80h55V165h26V86h12V20h10v66h16v79h32v185h46V248h26v-68h12v-48h8v48h15v68h34v102h51V225h31v-95h10V58h10v72h15v95h35v125h54v170z'/%3E%3C/g%3E%3Cg fill='%2310151d'%3E%3Cpath d='M0 520V405h90v-70h28v-86h14v86h29v70h76v-112h36v-55h19v55h41v112h92v-90h29v-110h13v110h33v90h90v-72h44v-84h18v84h36v72h112v115z'/%3E%3C/g%3E%3C/svg%3E");
}

.v4-player-skin *{box-sizing:border-box}
.v4-player-skin [hidden]{display:none!important}
.v4-runtime-hooks{display:none!important}
.v4-player-skin .wrap{
  width:min(1160px,calc(100% - 28px));
  margin:0 auto;
}

/* Testata campagna V4 */
.campaign-hero{
  position:relative;
  padding:18px 0 10px;
  text-align:center;
}
.campaign-hero-image{
  display:block;
  width:100%;
  height:auto;
  max-height:495px;
  object-fit:cover;
  border:1px solid rgba(198,154,76,.25);
  border-radius:18px;
  box-shadow:0 22px 58px rgba(0,0,0,.42);
}
.campaign-hero-caption{
  margin:10px 0 0;
  color:#c7b99c;
  font-size:14px;
  font-style:italic;
  letter-spacing:.025em;
}

/* Sistema card V4 */
.v4-player-skin .card{
  background:linear-gradient(180deg,rgba(30,30,26,.96),rgba(17,18,19,.96));
  color:#f0e8d8;
  border:1px solid rgba(198,154,76,.34);
  box-shadow:var(--shadow);
  border-radius:18px;
  overflow:hidden;
}
.v4-player-skin .card.paper{
  background:linear-gradient(135deg,#efe4ca,#d7c59e);
  color:var(--ink);
  border-color:#9a7e4f;
}
.v4-player-skin .card-pad{padding:22px}
.v4-player-skin .grid{display:grid;gap:18px}
.v4-player-skin .grid-2{grid-template-columns:1.1fr .9fr}
.v4-player-skin .eyebrow,
.v4-player-skin .card-kicker{
  font:700 11px/1.2 Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
}
.v4-player-skin .section-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 15px;
  color:#f0e8d8;
  font:700 20px/1.15 Georgia,"Times New Roman",serif;
}
.v4-player-skin .section-title small{
  margin-left:auto;
  color:var(--gold);
  font:600 11px/1.2 Arial,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.v4-player-skin .muted{color:#aa9d82}

/* Login V4.13: pergamena + timbro LR */
.login-shell{
  width:min(620px,100%);
  margin:24px auto 74px;
}
.parchment-login{
  position:relative;
  min-height:465px;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  isolation:isolate;
}
.parchment-login-bg{
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:fill;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.42));
}
.parchment-content{
  position:relative;
  z-index:2;
  width:72%;
  margin:0 auto;
  padding:105px 0 76px!important;
  color:#2a1d0f;
}
.parchment-content h2{
  margin:7px 0 8px;
  color:#24170c;
  font-size:30px;
  line-height:1.08;
}
.parchment-content>p:not(.hint){
  margin:0 0 19px;
  color:#59452c;
  font-size:15px;
  line-height:1.45;
}
.login-wax-seal{
  position:absolute;
  z-index:4;
  width:112px;
  height:112px;
  right:48px;
  top:40px;
  transform:rotate(35deg);
  filter:drop-shadow(0 10px 12px rgba(40,8,7,.42));
  pointer-events:none;
}
.login-wax-seal img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.v4-player-skin .field{
  display:grid;
  gap:7px;
  margin-bottom:14px;
}
.v4-player-skin .field label{
  color:#6d5c42;
  font:700 11px Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.v4-player-skin .input{
  width:100%;
  border:1px solid #8c7654;
  background:rgba(255,255,255,.52);
  color:#17140f;
  border-radius:10px;
  padding:13px 14px;
  font:16px Georgia,"Times New Roman",serif;
  outline:none;
}
.v4-player-skin .input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(198,154,76,.13);
}
.v4-player-skin .btn,
.v4-player-skin .button{
  appearance:none;
  border:1px solid var(--gold2);
  background:linear-gradient(#d2a75d,#9c6b2e);
  color:#170f08;
  padding:12px 16px;
  border-radius:10px;
  font:800 12px/1.1 Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 5px 16px rgba(0,0,0,.18);
  transition:.16s transform,.16s filter,.16s opacity;
}
.v4-player-skin .btn:hover,
.v4-player-skin .button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.v4-player-skin .btn:disabled,
.v4-player-skin .button:disabled{filter:grayscale(.7);opacity:.55;cursor:not-allowed;transform:none}
.v4-player-skin .btn.ghost,
.v4-player-skin .button-ghost{
  background:transparent;
  color:var(--gold);
  box-shadow:none;
}
.v4-player-skin .btn.block{width:100%}
.v4-player-skin .btn.small,
.v4-player-skin .button.compact{padding:8px 10px;font-size:10px}
.v4-player-skin .hint{
  margin:12px 0 0;
  color:#6d5c42;
  font-size:13px;
  line-height:1.35;
}
.v4-player-skin .form-message{
  min-height:18px;
  margin-top:9px;
  font:700 12px/1.35 Arial,sans-serif;
}
.v4-player-skin .form-message.error{color:#8b2424}
.v4-player-skin .form-message.ok{color:#326736}

/* Dashboard V4 */
#playerDashboard:not([hidden]){
  display:block;
  padding:14px 0 80px;
}
.v4-player-skin .player-strip{
  display:grid;
  grid-template-columns:1.55fr .68fr .82fr .76fr;
  gap:12px;
  margin-bottom:18px;
}
.v4-player-skin .stat{
  min-width:0;
  padding:17px 19px;
}
.v4-player-skin .stat small,
.v4-player-skin .campaign-meta small{
  display:block;
  color:var(--muted);
  font:700 10px/1.2 Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.v4-player-skin .stat b{
  display:block;
  margin-top:5px;
  color:#f0e8d8;
  font-size:27px;
  line-height:1.1;
  white-space:nowrap;
}
.v4-player-skin .player-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.v4-player-skin .player-identity{
  display:flex;
  min-width:0;
  align-items:center;
  gap:13px;
}
.v4-player-skin .player-avatar{
  position:relative;
  flex:0 0 66px;
  width:66px;
  height:66px;
  overflow:visible!important;
  border:1px solid rgba(198,154,76,.58);
  border-radius:14px;
  background:#0e1319;
  box-shadow:0 7px 16px rgba(0,0,0,.28);
}
.v4-player-skin .player-avatar>img:not(.affiliation-badge-v512){
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:13px!important;
}
.v4-player-skin #avatarFallback{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  color:#d7bb83;
  font-size:25px;
  font-weight:800;
}
.v4-player-skin #avatarFallback[hidden]{display:none!important}
.v4-player-skin .player-identity-copy{min-width:0}
.v4-player-skin .player-name{
  margin-top:3px;
  overflow:hidden;
  color:#f0e8d8;
  font-size:27px;
  font-weight:bold;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v4-player-skin .player-affiliation{
  margin-top:5px;
  color:#c69a4c;
  font:700 10px/1.25 Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.v4-player-skin .player-card-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:5px;
}
.v4-player-skin .level-hint{
  margin-top:7px;
  color:#9f927d;
  font:600 10px/1.25 Arial,sans-serif;
}
.v4-player-skin .xp-progress{
  height:5px;
  margin-top:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.v4-player-skin .xp-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#8b6329,#d4aa60);
  transition:width .25s ease;
}

/* Badge come nelle V4.13.12/15: sovrapposti in basso a destra, affiancati */
.v4-player-skin .affiliation-badges-v512{
  position:absolute!important;
  right:-7px!important;
  bottom:-8px!important;
  top:auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:3px!important;
  transform:none!important;
  z-index:7;
}
.v4-player-skin .avatar img.affiliation-badge-v512,
.v4-player-skin .avatar .affiliation-badge-v512{
  width:26px!important;
  height:26px!important;
  max-width:26px!important;
  max-height:26px!important;
  border:1px solid rgba(205,169,99,.62)!important;
  border-radius:50%!important;
  background:#11151b!important;
  box-shadow:0 4px 10px rgba(0,0,0,.48)!important;
  object-fit:contain!important;
  padding:2px!important;
}

/* Dossier */
.v4-player-skin .campaign-dossier{margin-bottom:18px}
.v4-player-skin .archive-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.v4-player-skin .campaign-meta-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.v4-player-skin .campaign-meta{
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(198,154,76,.18);
  border-radius:12px;
  background:rgba(8,11,15,.38);
}
.v4-player-skin .campaign-meta b{
  display:block;
  margin-top:6px;
  overflow:hidden;
  color:#eee0c7;
  font-size:16px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Eco + convocazioni */
.v4-primary-grid{align-items:stretch;margin-bottom:18px}
.v4-player-skin .issue-card{position:relative}
.v4-player-skin .newspaper-card-inner{min-height:100%}
.v4-player-skin .v4-eco-title{
  margin:5px 0 14px;
  color:#2a1d0f;
  font-size:26px;
}
.v4-player-skin .paper #playerEcoActive{color:#2a1d0f}
.v4-player-skin .paper #playerEcoActive.empty-state{color:#59452c}
.v4-player-skin .paper .eco-v506-head{
  border-color:rgba(90,63,29,.2);
}
.v4-player-skin .paper .eco-v506-head h3,
.v4-player-skin .paper .eco-v506-stage h3,
.v4-player-skin .paper .eco-v506-confirm h3,
.v4-player-skin .paper .eco-v506-confirmed h3{color:#2b1d0f}
.v4-player-skin .paper .eco-v506-head .card-kicker,
.v4-player-skin .paper .eco-v506-stage .card-kicker,
.v4-player-skin .paper .eco-v506-confirm .card-kicker,
.v4-player-skin .paper .eco-v506-confirmed .card-kicker{color:#7a5d2a}
.v4-player-skin .paper .eco-v506-meta,
.v4-player-skin .paper .eco-v506-stage p,
.v4-player-skin .paper .eco-v506-confirm p,
.v4-player-skin .paper .eco-v506-confirmed p{color:#665037}
.v4-player-skin .paper .eco-v506-stage,
.v4-player-skin .paper .eco-v506-confirm,
.v4-player-skin .paper .eco-v506-confirmed{
  border-color:rgba(108,79,42,.28);
  background:rgba(117,87,38,.07);
}
.v4-player-skin .paper .eco-v506-lock{
  border-color:rgba(108,79,42,.35);
  background:rgba(117,87,38,.08);
  color:#5f4a30;
}
.v4-player-skin .paper .button-ghost{color:#704d1f;border-color:#8d6a39}
.v4-player-skin .next-session-v4{min-height:100%}
.v4-player-skin .next-session-v4 .session-date{
  margin-bottom:5px;
  color:#c69a4c;
  font-size:30px;
  font-weight:800;
}
.v4-player-skin .next-session-v4 .session-meta{
  margin-bottom:12px;
  color:#b8ab92;
  font-size:13px;
}
.v4-player-skin .next-session-v4 .session-people{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.v4-player-skin .next-session-v4 .session-person{
  padding:5px 8px;
  border:1px solid rgba(198,154,76,.24);
  border-radius:999px;
  color:#d9cdb9;
  background:#0e1319;
  font:700 11px Arial,sans-serif;
}
.v4-player-skin .next-session-v4 .session-person.is-me{
  color:#171006;
  border-color:#c69a4c;
  background:#c69a4c;
}
.v4-player-skin .convocation-ack-v512{
  margin-top:16px;
  border:1px dashed rgba(198,154,76,.38);
  border-radius:10px;
  background:rgba(198,154,76,.06);
}

/* Archivio */
.v4-player-skin .archive-accordion{margin-bottom:18px}
.v4-player-skin .archive-accordion-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  padding:18px 22px;
  cursor:pointer;
  list-style:none;
}
.v4-player-skin .archive-accordion-summary::-webkit-details-marker{display:none}
.v4-player-skin .archive-summary-title{
  color:#f0e8d8;
  font-size:19px;
  font-weight:700;
}
.v4-player-skin .archive-summary-title small{
  margin-left:8px;
  color:var(--gold);
  font:600 10px Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.v4-player-skin .archive-summary-meta{
  color:#aa9d82;
  font:700 10px Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.v4-player-skin .archive-intro{margin-top:0}

/* Banco illustrato V4 */
.v4-player-skin .benedict-bank-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-bottom:18px;
}
.v4-player-skin .benedict-bank-bg{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% 44%;
  opacity:.24;
  pointer-events:none;
  user-select:none;
}
.v4-player-skin .benedict-bank-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(10,13,17,.84) 0%,rgba(10,13,17,.48) 48%,rgba(10,13,17,.72) 100%);
}
.v4-player-skin .benedict-bank-card>.card-pad{position:relative;z-index:1}
.v4-player-skin .bet-v505-list{display:grid;gap:13px}
.v4-player-skin .bet-v505-card{
  padding:16px;
  border:1px solid #4d4334;
  border-radius:14px;
  background:rgba(10,13,17,.68);
  backdrop-filter:blur(1.5px);
}
.v4-player-skin .bet-v505-card h3{margin:5px 0 6px;color:#eee0c7;font-size:18px}
.v4-player-skin .bet-v505-card p{color:#b8ab92;font-size:14px}
.v4-player-skin .bet-v505-option{
  border-color:#514735;
  background:#0e1319;
}
.v4-player-skin .bet-v505-option strong{color:var(--gold)}
.v4-player-skin .bet-v505-amount{
  background:#0f141a;
  color:#eee0c7;
  border-color:#554b3b;
}
.v4-player-skin .bet-v505-status{color:#c7b99c}

/* Liste inferiori */
.v4-secondary-grid{margin-bottom:18px}
.v4-player-skin .data-list{display:grid}
.v4-player-skin .data-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:9px;
  align-items:center;
  padding:11px 0;
  border-top:1px solid rgba(158,135,96,.22);
  color:#e8decc;
  font-size:14px;
}
.v4-player-skin .data-row:first-child{border-top:0}
.v4-player-skin .data-row strong{color:#eee0c7}
.v4-player-skin .data-row small{
  display:block;
  margin-top:3px;
  color:#9f927d;
}
.v4-player-skin .quantity{color:var(--gold);font-weight:800}
.v4-player-skin .delta.positive{color:#74d18a}
.v4-player-skin .delta.negative{color:#d58a6d}
.v4-player-skin .v4-ledger-card{margin-bottom:18px}
.v4-player-skin .empty-state{
  color:#aa9d82;
  font-style:normal;
}

/* Footer V4 */
.v4-player-skin .footer{
  padding:0 0 34px;
  color:#7f7564;
  text-align:center;
  font-size:12px;
  font-style:italic;
  line-height:1.4;
}

/* Notices/modali V5 integrati nella pelle V4 */
.v4-player-skin .player-v512-notice,
.v4-player-skin .player-v512-confirm-card{
  border-color:rgba(198,154,76,.36);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(30,30,26,.99),rgba(17,18,19,.99));
}
.v4-player-skin .player-v512-confirm-card h2{font-family:Georgia,"Times New Roman",serif}

/* Responsive equivalente alla V4 */
@media(max-width:980px){
  .v4-player-skin .player-strip{
    grid-template-columns:1fr 1fr 1fr;
  }
  .v4-player-skin .player-strip .player-card{grid-column:1/-1}
  .v4-player-skin .campaign-meta-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .v4-player-skin .grid-2{grid-template-columns:1fr}
  .campaign-hero{padding-top:12px}
  .campaign-hero-image{border-radius:14px}
  .login-shell{margin-top:18px}
  .parchment-login{min-height:470px}
  .parchment-content{width:72%;padding-top:103px!important}
  .login-wax-seal{width:94px;height:94px;right:37px;top:46px}
  .v4-player-skin .archive-head{display:block}
  .v4-player-skin .archive-head>.muted{display:block;margin-top:-6px;margin-bottom:14px}
}
@media(max-width:600px){
  .v4-player-skin .wrap{width:min(100% - 18px,1160px)}
  .campaign-hero-caption{font-size:12px}
  .parchment-login{min-height:445px}
  .parchment-content{width:70%;padding:92px 0 68px!important}
  .parchment-content h2{font-size:25px}
  .parchment-content>p:not(.hint){font-size:13px}
  .login-wax-seal{width:80px;height:80px;right:27px;top:43px}
  .v4-player-skin .player-strip{grid-template-columns:1fr 1fr}
  .v4-player-skin .player-strip .player-card{grid-column:1/-1}
  .v4-player-skin .player-card{align-items:flex-start}
  .v4-player-skin .player-card-actions{flex-direction:column;align-items:stretch}
  .v4-player-skin .stat{padding:15px 16px}
  .v4-player-skin .stat b{font-size:22px}
  .v4-player-skin .player-name{font-size:23px}
  .v4-player-skin .campaign-meta-grid{grid-template-columns:1fr 1fr}
  .v4-player-skin .card-pad{padding:17px}
  .v4-player-skin .section-title{font-size:18px}
  .v4-player-skin .section-title small{font-size:9px}
  .v4-player-skin .archive-accordion-summary{padding:16px 17px}
  .v4-player-skin .archive-summary-meta{display:none}
  .v4-player-skin .benedict-bank-bg{object-position:60% 45%;opacity:.20}
  .v4-player-skin .benedict-bank-card::after{background:rgba(10,13,17,.64)}
  .v4-player-skin .avatar img.affiliation-badge-v512,
  .v4-player-skin .avatar .affiliation-badge-v512{
    width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;
  }
}
@media(max-width:420px){
  .parchment-login{min-height:430px}
  .parchment-content{width:68%;padding:84px 0 58px!important}
  .parchment-content h2{font-size:22px}
  .v4-player-skin .field{margin-bottom:10px}
  .v4-player-skin .input{padding:11px 12px}
  .v4-player-skin .hint{font-size:11px}
  .login-wax-seal{width:70px;height:70px;right:22px;top:39px}
  .v4-player-skin .player-avatar{width:58px;height:58px;flex-basis:58px}
  .v4-player-skin .campaign-meta-grid{grid-template-columns:1fr}
}
