/* Verse Solitaire (apps-5, prefix sol-) */
.sol-body { padding: 0; overflow: hidden; position: relative; background: #0b7a34; }
.sol-board { position: absolute; inset: 0; overflow-x: hidden; overflow-y: auto; user-select: none; -webkit-user-select: none;
  background: #0b7a34 radial-gradient(circle at 50% 40%, #12903f 0%, #0b7a34 60%, #075f27 100%); }
.sol-slot { position: absolute; box-sizing: border-box; border: 2px solid rgba(255,255,255,.28); border-radius: 6%/4.5%; background: rgba(0,0,0,.14);
  color: rgba(255,255,255,.38); display: flex; align-items: center; justify-content: center; font: bold 2.2em Georgia, serif; }
.sol-slot.stock { cursor: pointer; font-size: 2.4em; }
.sol-card { position: absolute; box-sizing: border-box; border-radius: 6%/4.5%; background: #fff; border: 1px solid #4a4a4a;
  box-shadow: 1px 1px 0 rgba(0,0,0,.45); touch-action: none; cursor: default; font-family: Arial, Helvetica, sans-serif; line-height: 1; }
html[data-phone] .sol-card, .sol-body.phone .sol-card { touch-action: pan-y; }
.sol-card.red { color: #c40000; }
.sol-card.blk { color: #111; }
.sol-tl, .sol-br { position: absolute; font-weight: bold; font-size: 1em; text-align: center; line-height: 1.02; }
.sol-tl { left: 6%; top: 4%; }
.sol-br { right: 6%; bottom: 4%; transform: rotate(180deg); }
.sol-mid { position: absolute; left: 0; right: 0; top: 0; bottom: 0; display: flex; align-items: center; justify-content: center; font-size: 2.3em; }
.sol-mid.face { font-size: 2em; gap: .1em; flex-direction: column; }
.sol-mid.face b { font: bold 1.1em Georgia, "Times New Roman", serif; letter-spacing: .02em; }
.sol-card.sel { background: #cfe3ff; outline: 2px solid #ffeb3b; outline-offset: -2px; }
.sol-card.drag { cursor: grabbing; box-shadow: 3px 4px 0 rgba(0,0,0,.4); transition: none; }
.sol-card.stk { cursor: pointer; }
/* original back: gold crosses on navy, framed in white */
.sol-card.back { border: 3px solid #fff; outline: 1px solid #4a4a4a; outline-offset: 0;
  background-color: #1a2f7a;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14'><path d='M7 2v10M3 6h8' stroke='%23f2c744' stroke-width='1.6' fill='none'/><circle cx='0' cy='0' r='1' fill='%23c0392b'/><circle cx='14' cy='14' r='1' fill='%23c0392b'/><circle cx='14' cy='0' r='1' fill='%23c0392b'/><circle cx='0' cy='14' r='1' fill='%23c0392b'/></svg>");
  background-size: 14px 14px; }
.sol-auto { position: absolute; white-space: normal; padding: 2px; line-height: 1.1; font-size: .85em; z-index: 950; }
.sol-cascade { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 20; cursor: pointer; }
@media (max-width: 640px) { .sol-card { touch-action: pan-y; } }
.sol-auto[hidden] { display: none; }

/* verse strip + passages */
.sol-hasverse .sol-board { bottom: 40px; }
.sol-verse { position: absolute; left: 0; right: 0; bottom: 0; min-height: 40px; max-height: 7em; overflow-y: auto; box-sizing: border-box; padding: 3px 8px; background: #063d19; color: #e8ffe8; font: 12px/1.25 Georgia, "Times New Roman", serif; border-top: 2px solid #c0c0c0; z-index: 5; }
.sol-verse b { color: #ffe97a; }
.sol-verse.flash { animation: solFlash 1.2s ease-out; }
@keyframes solFlash { from { background: #1a8a3d; } to { background: #063d19; } }
html[data-motion="off"] .sol-verse.flash { animation: none; }
.sol-mid.face b.vref { font: bold .32em Arial, sans-serif; text-align: center; line-height: 1.1; padding: 0 2px; }
.sol-passage { position: absolute; left: 6%; right: 6%; top: 28%; z-index: 21; pointer-events: none; text-align: center; color: #fff; text-shadow: 0 0 6px #000, 1px 1px 0 #000; font: 15px/1.35 Georgia, serif; max-height: 44%; overflow: hidden; }
.sol-passage b { color: #ffe97a; font-size: 1.15em; }
.sol-passage p { margin: 6px 0 0; }
.sol-wintxt { max-height: 220px; overflow-y: auto; text-align: left; font-size: 12px; line-height: 1.35; }
