/* ALBA · Juego de la Oca — visual, accesible y adaptable al iPad 10 */
#home .oca-entry{margin:18px 0 0;background:linear-gradient(110deg,#092b53,#125a91 75%,#107d89);color:#fff;border:1px solid #70bdf3;border-radius:20px;padding:22px 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 13px 30px #092b5326}
#home .oca-entry h2{margin:4px 0 8px;font-size:clamp(22px,3.3vw,30px);font-weight:900;letter-spacing:-.6px}
#home .oca-entry p{font-size:13px;line-height:1.6;color:#dfedff;margin:0}
#home .oca-entry small{color:#a7e7ef;font-weight:900;font-size:11px;letter-spacing:1.2px}
#openOca{background:#f7d977;color:#092342;border:0;border-radius:14px;min-height:54px;padding:12px 25px;font-weight:900;white-space:nowrap;box-shadow:inset 0 -3px #b68c2b}
#openOca:hover{background:#ffe79b}
#oca{color:#15345a}
#oca .oca-top{display:flex;align-items:center;justify-content:space-between;margin:18px 0;gap:15px}
#oca .oca-top h1{font-size:clamp(23px,4vw,35px);color:#092e53;line-height:1.1;margin:5px 0}
#oca .oca-top small{color:#267499;letter-spacing:1.1px;font-size:11px;font-weight:900}
#oca .oca-exit{min-height:44px;background:#e9eff7;border:1px solid #bad1e7;color:#12375a;padding:10px 15px;border-radius:12px;font-weight:850}
#oca .oca-setup{background:linear-gradient(140deg,#0b3159,#17628c);border-radius:18px;padding:25px;color:white;max-width:770px;margin:20px auto;box-shadow:0 15px 34px #0c376333}
#oca .oca-setup h2{margin:0 0 12px;font-size:23px}
#oca .oca-setup p{color:#deedfb;font-size:14px;line-height:1.65}
#oca .oca-rules{margin:12px 0 22px;padding-left:22px;line-height:1.85;font-size:13px;color:#eaf2ff}
#oca .oca-setup label{display:grid;gap:10px;font-weight:850;font-size:12px;color:#ddf5ff}
#oca #ocaPool{width:100%;border:1px solid #b8d2eb;border-radius:11px;padding:13px;font-size:16px;color:#122d4e;background:#f8fcff;max-width:100%}
#oca .oca-gold{border:0;background:#ffe18a;color:#1d3752;border-radius:12px;font-size:16px;min-height:51px;padding:11px 20px;font-weight:950;box-shadow:inset 0 -3px #cead51}
#oca .oca-setup .oca-gold{width:100%;margin-top:21px}
#oca .oca-scorebar{background:linear-gradient(110deg,#0a2d51,#144f7b);color:white;border-radius:17px;display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:11px;padding:16px 20px}
#oca .oca-scorebar .oca-stat{border-left:1px solid #ffffff40;padding-left:16px;text-align:center;min-width:67px}
#oca .oca-stat small{font-size:10px;display:block;font-weight:800;color:#cbe4f1}
#oca .oca-stat b{font-size:24px;line-height:1.3}
#oca #ocaTheme{font-size:14px;font-weight:850;max-width:300px;overflow-wrap:anywhere}
#oca .oca-boardwrap{background:linear-gradient(155deg,#cfecff,#e8f8f7);border:2px solid #6baac9;border-radius:18px;padding:13px;margin:17px 0;box-shadow:0 14px 25px #1c56831b}
#oca .oca-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}
#oca .oca-cell{position:relative;min-width:0;height:84px;background:#fff;border:2px solid #b2d1e6;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 0 #b2d1e6;transition:box-shadow .15s}
#oca .oca-cell b{position:absolute;left:8px;top:6px;color:#315d82;font-size:12px}
#oca .oca-symbol{font-size:30px;line-height:1.1;color:#8aafc2}
#oca .oca-cell small{margin-top:4px;color:#426784;font-size:9px;font-weight:900;line-height:1.1;letter-spacing:.1px}
#oca .oca-cell.oca-special{background:linear-gradient(145deg,#fff6db,#ffecb1);border-color:#edc15b;box-shadow:0 2px 0 #e0b65a}
#oca .oca-cell.oca-current{outline:4px solid #05aab8;outline-offset:-1px;z-index:1;box-shadow:0 0 0 5px #ffffff,0 2px 13px #086c8d66;background:#d8fff1}
#oca .oca-cell.oca-current small{color:#08624f;font-weight:950}
#oca .oca-statuspanel{background:#fff;border:1px solid #cadbe9;border-radius:15px;padding:18px;display:flex;align-items:center;gap:17px;flex-wrap:wrap}
#oca .oca-die{background:#f4f8fd;border:2px solid #bbd2e4;border-radius:14px;min-width:77px;height:77px;display:grid;place-items:center;font-size:52px;color:#103e70}
#oca #ocaStatus{font-size:14px;line-height:1.55;font-weight:750;flex:1;min-width:200px}
#oca .oca-statuspanel button{min-width:156px}
#oca .oca-question{background:#fff;border:2px solid #b3d5eb;border-radius:18px;padding:23px;margin:17px 0;box-shadow:0 10px 24px #21517a19}
#oca .oca-question h2{margin:0;color:#0d5380;font-size:17px;font-weight:900}
#oca .oca-question .oca-source{color:#4d748f;font-size:11px;font-weight:850;margin:7px 0 18px}
#oca .oca-question h3{font-size:clamp(17px,2.7vw,23px);line-height:1.45;margin:0 0 18px;overflow-wrap:anywhere}
#oca .oca-answers{display:grid;gap:10px}
#oca .oca-answer{display:flex;align-items:flex-start;gap:13px;text-align:left;width:100%;padding:14px;background:#f5f9fd;border:2px solid #d4e1ec;border-radius:12px;color:#183c5d;line-height:1.5;font-size:14px;min-height:52px}
#oca .oca-answer:hover{border-color:#158ba4;background:#e5f9f7}
#oca .oca-answer:focus-visible{outline:3px solid #d09b23;outline-offset:1px}
#oca .oca-answer b{border-radius:9px;background:#dbe7f4;min-width:30px;height:30px;display:grid;place-items:center;font-size:14px;color:#123e62;flex-shrink:0}
#oca .oca-feedback{background:#f2f7fb;border:2px solid #9cc6d7;border-radius:13px;margin-top:15px;padding:17px;line-height:1.6;overflow-wrap:anywhere}
#oca .oca-feedback.oca-good{border-color:#28a47a;background:#ecfbf3}
#oca .oca-feedback.oca-bad{border-color:#d06a71;background:#fff2f3}
#oca .oca-feedback strong{font-size:16px;display:block}
#oca .oca-feedback p{font-size:13px;margin:9px 0;white-space:pre-line}
#oca .oca-feedback small{font-size:11px;color:#56718a;display:block}
#oca .oca-feedback a{font-size:12px;color:#12628d;font-weight:850;display:inline-block;margin-top:8px}
#oca .oca-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:20px 0 30px}
#oca .oca-bottom small{font-size:11px;color:#66849b}
#oca .oca-bottom button{border-radius:11px;padding:11px 16px;background:#e2eaf4;color:#1d426b;font-weight:850;border:1px solid #bbcadc;min-height:46px}
#oca .oca-finish{background:#e7fff6;border:2px solid #4caf92;border-radius:15px;padding:22px;margin-top:15px;text-align:center}
#oca .oca-finish strong{display:block;font-size:22px;color:#087b5a}
#oca .oca-finish p{font-size:13px}
@media(max-width:750px){
 #home .oca-entry{flex-direction:column;align-items:stretch;padding:20px}
 #openOca{width:100%}
 #oca .oca-scorebar{grid-template-columns:1fr repeat(3,minmax(0,58px));gap:4px;padding:12px}
 #oca #ocaTheme{font-size:11px}
 #oca .oca-scorebar .oca-stat{padding-left:7px;min-width:0}
 #oca .oca-stat b{font-size:19px}
 #oca .oca-boardwrap{padding:7px}
 #oca .oca-board{gap:4px}
 #oca .oca-cell{height:67px;border-radius:7px}
 #oca .oca-cell b{top:3px;left:4px;font-size:10px}
 #oca .oca-symbol{font-size:23px}
 #oca .oca-cell small{font-size:7px}
 #oca .oca-statuspanel{padding:12px;gap:10px}
 #oca .oca-die{min-width:62px;height:62px;font-size:44px}
 #oca #ocaStatus{font-size:12px;min-width:125px}
 #oca .oca-statuspanel button{width:100%}
 #oca .oca-question{padding:16px}
}
@media(max-width:440px){
 #oca .oca-board{gap:3px}
 #oca .oca-cell{height:56px;border-width:1px}
 #oca .oca-symbol{font-size:19px}
 #oca .oca-cell small{font-size:6px}
 #oca .oca-cell b{font-size:9px}
}

#oca .oca-setup .oca-fullbank{border:1px solid #a0d4e8;background:#0c446c;border-radius:12px;padding:13px 17px;color:#e6faff;font-size:14px;line-height:1.65;}


/* ALBA OCA V87: gorra como ficha y placa en la meta. */
#oca .oca-cell .oca-player-piece{
  position:absolute;z-index:4;pointer-events:none;
  width:76%;height:66%;top:17%;left:12%;object-fit:contain;
  filter:drop-shadow(0 3px 2px rgba(6,20,36,.32));
}
#oca .oca-cell.oca-current:not(.oca-final) .oca-symbol{opacity:.18}
#oca .oca-cell.oca-final .oca-plaque-icon{
  position:absolute;z-index:2;pointer-events:none;
  height:75%;width:78%;top:9%;left:11%;object-fit:contain;
}
#oca .oca-cell.oca-final > small{
  position:absolute;bottom:4px;z-index:3;
  color:#4c3820;font-weight:950;
}
#oca .oca-cell.oca-final.oca-current .oca-player-piece{
  width:47%;height:46%;top:auto;left:auto;right:0;bottom:10%;
}
@media(max-width:750px){
  #oca .oca-cell .oca-player-piece{width:78%;height:62%;top:19%;left:11%}
  #oca .oca-cell.oca-final .oca-plaque-icon{height:72%;top:12%}
}
@media(max-width:440px){
  #oca .oca-cell.oca-final > small{bottom:2px;font-size:6px}
}


/* ALBA OCA v88: patrullas, cárceles y retos extremos. */
#oca .oca-cell.oca-patrol {
  background:linear-gradient(142deg,#d4f3ff,#e6f5ff);
  border-color:#4399c9;
  box-shadow:0 2px 0 #3479a4;
}
#oca .oca-cell.oca-patrol .oca-patrol-icon{
  position:absolute;top:17%;left:8%;width:84%;height:66%;
  object-fit:contain;pointer-events:none;
  filter:drop-shadow(0 2px 1px rgba(10,41,76,.25));
}
#oca .oca-cell.oca-patrol > small {
  position:absolute;bottom:3px;color:#174d77;
  font-size:8px;font-weight:900;
}
#oca .oca-cell.oca-special:not(.oca-patrol):not(.oca-final){background:linear-gradient(145deg,#fff8e4,#ffefbd)}
#oca .oca-cell[aria-label*="CÁRCEL"]{background:linear-gradient(145deg,#ffe6df,#ffcabb)!important;border-color:#ca7d74!important}
#oca .oca-cell[aria-label*="TRIPLE"]{background:linear-gradient(145deg,#e9e1ff,#cec2ff)!important;border-color:#9477d9!important}
#oca .oca-cell[aria-label*="MULTA"]{background:linear-gradient(145deg,#ffe4e4,#ffd1d5)!important;border-color:#c57d81!important}
#oca .oca-cell[aria-label*="RETÉN"]{background:linear-gradient(145deg,#fff1ce,#ffe09f)!important;border-color:#c9a156!important}
#oca .oca-cell.oca-current{background:#d8fff1!important;border-color:#34ae96!important}
@media(max-width:750px){
  #oca .oca-cell.oca-patrol .oca-patrol-icon{top:20%;height:61%}
  #oca .oca-cell.oca-patrol > small{font-size:7px;bottom:2px}
}
@media(max-width:440px){
  #oca .oca-cell.oca-patrol > small{font-size:6px}
}

/* Tablero más amplio para escritorio, conserva el diseño adaptable */
@media(min-width:850px){.app:has(#oca:not(.hidden)){max-width:none!important;width:100%!important}.app:has(#oca:not(.hidden)) main{max-width:none!important;width:100%!important;padding-inline:clamp(15px,3vw,58px)!important}#oca .oca-boardwrap{max-width:1500px;margin:20px auto;padding:clamp(12px,1.5vw,24px)}#oca .oca-board{gap:clamp(6px,.7vw,12px)}#oca .oca-cell{height:clamp(88px,7.5vw,136px)}#oca .oca-symbol{font-size:clamp(30px,3vw,48px)}#oca .oca-cell small{font-size:clamp(9px,.8vw,12px)}#oca .oca-cell b{font-size:clamp(12px,1vw,16px)}}
