.jigsocial-infinite-hidden{display:none !important}
.jigsocial-infinite-sentinel{min-height:48px;display:flex;align-items:center;justify-content:center;grid-column:1/-1;color:#aab3c2;font-size:14px}
.card,.puzzle-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.card:hover,.puzzle-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(0,0,0,.26)}
.puzzle-card-image,.puzzle-card img,.card img{height:260px;object-fit:cover}
.puzzle-description.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.puzzle-description-toggle{align-self:flex-start;margin:-8px 0 16px;padding:0;border:0;background:none;color:#8ec5ff;font:inherit;font-weight:700;cursor:pointer}
.puzzle-description-toggle:hover{text-decoration:underline;background:none}
@media (prefers-reduced-motion:reduce){.card,.puzzle-card{transition:none}.card:hover,.puzzle-card:hover{transform:none}}

/* Shared metadata beneath every puzzle artwork. Artwork badges remain in their existing wrapper. */
.puzzle-card-stats{margin:18px 0 12px;padding:14px;border:1px solid rgba(139,92,246,.32);border-radius:16px;background:linear-gradient(135deg,rgba(124,58,237,.11),rgba(8,12,22,.72));color:#f8fafc}.puzzle-card-stats-title{margin-bottom:10px;color:#a78bfa;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.puzzle-card-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.puzzle-card-times div{min-width:0;padding-right:8px;border-right:1px solid rgba(255,255,255,.11)}.puzzle-card-times div:nth-child(3n){border-right:0;padding-right:0}.puzzle-card-times div:nth-child(-n+3){padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.11)}.puzzle-card-times strong,.puzzle-card-times span{display:block;white-space:nowrap}.puzzle-card-times strong{font-size:.88rem;color:#fff}.puzzle-card-times span{margin-top:3px;color:#aeb8c8;font-size:.72rem}.puzzle-creator-link{color:#8ec5ff;text-decoration:none;font-weight:700}.puzzle-creator-link:hover{text-decoration:underline}.puzzle-card-price{display:inline-flex;align-items:center;gap:6px;margin:12px 0 0;padding:7px 10px;border-radius:999px;background:rgba(139,92,246,.16);color:#c4b5fd;font-weight:800;font-size:.85rem}@media(max-width:480px){.puzzle-card-times{grid-template-columns:repeat(2,minmax(0,1fr))}.puzzle-card-times div:nth-child(2){border-right:0}.puzzle-card-times div:nth-child(-n+2){padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.11)}}


/* Shared card rhythm across home, Discover, and Creator Studio. */
.grid, #puzzleGrid { align-items:stretch; }
.grid > .card, #puzzleGrid > .puzzle-card { height:100%; min-width:0; }
.card-content, .puzzle-card-body, .puzzle-info { min-height:0; }
.card h3, .puzzle-card h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.puzzle-description { min-height:calc(1.4em * 3); }
.card-content .creator-row, .puzzle-card-body .creator-row { margin-bottom:20px; }
.card-content > button:last-child { margin-top:0; }
.jigsocial-infinite-sentinel { gap:10px; font-weight:700; }
.jigsocial-infinite-sentinel.is-loading::before { content:''; width:18px; height:18px; border:3px solid rgba(142,197,255,.25); border-top-color:#8ec5ff; border-radius:50%; animation:jigsocial-card-spin .7s linear infinite; }
@keyframes jigsocial-card-spin { to { transform:rotate(360deg); } }
@media (max-width:680px) { .puzzle-card-image,.puzzle-card img,.card img { height:220px; } }

/* The description control reads as a continuation of the paragraph. */
.card .puzzle-description-toggle, .puzzle-card .puzzle-description-toggle {
  display:block; width:auto; align-self:flex-end; margin:0 0 18px auto; padding:0; border:0;
  background:transparent; color:inherit; font:inherit; font-size:inherit; font-weight:400;
  line-height:1.4; text-align:right; text-decoration:underline; text-underline-offset:2px;
  box-shadow:none;
}
.card .puzzle-description-toggle:hover, .puzzle-card .puzzle-description-toggle:hover { background:transparent; color:inherit; }

.jigsocial-grid-loading{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;color:#aab3c2;font-weight:700}
.jigsocial-grid-loading span{width:20px;height:20px;border:3px solid rgba(142,197,255,.22);border-top-color:#8ec5ff;border-radius:50%;animation:jigsocial-card-spin .7s linear infinite}

.card .puzzle-description, .puzzle-card-body .puzzle-description { margin-bottom:1px; }
.card .puzzle-description-toggle, .puzzle-card .puzzle-description-toggle { margin:0 0 0 auto; }
.puzzle-description + .puzzle-card-stats { margin-top:4px; }
.puzzle-card-stats{margin:20px 0 12px;padding:0;overflow:hidden}
.puzzle-card-stats-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:13px 14px;border:0;background:transparent;color:#f8fafc;cursor:pointer;text-align:left}
.puzzle-card-stats-toggle:hover{background:rgba(139,92,246,.12)}
.puzzle-card-stats-title{margin:0}
.puzzle-card-stats-arrow{color:#a78bfa;font-size:1.55rem;font-weight:800;line-height:1;transition:transform .18s ease}
.puzzle-card-stats:not(.is-collapsed) .puzzle-card-stats-arrow{transform:rotate(180deg)}
.puzzle-card-stats.is-collapsed .puzzle-card-times{display:none}
.puzzle-card-stats:not(.is-collapsed) .puzzle-card-times{padding:0 14px 14px}
.console-settings-switch{display:flex!important;align-items:center;gap:10px;cursor:pointer}.console-settings-switch input{display:inline-block!important;width:20px!important;height:20px;margin:0!important;accent-color:#8b5cf6}

.card .puzzle-card-stats-toggle, .puzzle-card .puzzle-card-stats-toggle{display:flex;width:100%;min-height:48px;margin:0;padding:13px 14px;border:0;border-radius:0;background:transparent;color:#f8fafc;text-align:left;box-shadow:none}
.card .puzzle-card-stats-toggle:hover, .puzzle-card .puzzle-card-stats-toggle:hover{background:rgba(139,92,246,.12)}

/* Fixed-size chevron keeps both states optically centered with the title. */
.puzzle-card-stats-arrow{display:grid;place-items:center;width:20px;height:20px;font-size:0;line-height:1;transform:none!important}
.puzzle-card-stats-arrow::before{content:'';width:11px;height:11px;box-sizing:border-box;border-right:4px solid currentColor;border-bottom:4px solid currentColor;transform:translateY(-2px) rotate(45deg);transform-origin:center}
.puzzle-card-stats:not(.is-collapsed) .puzzle-card-stats-arrow::before{transform:translateY(2px) rotate(225deg)}

/* Discover reserves three tag lines so card metadata shares a clean baseline. */
.discover-page #puzzleGrid .puzzle-card{display:flex;flex-direction:column;height:100%}
.discover-page #puzzleGrid .puzzle-card-body{display:flex;flex-direction:column;flex:1}
.discover-page #puzzleGrid .creator-row{margin-top:auto}
.discover-page #puzzleGrid .card-footer{min-height:84px;margin-top:0;align-items:flex-end}
.discover-page #puzzleGrid .tag-pills{min-height:72px;align-content:flex-end}

/* Shared Home and Discover metadata baseline. */
.card-content .creator-row{margin-top:auto}
.creator-row + .puzzle-card-stats{margin-top:0}
.card-content > .puzzle-card-stats + button{margin-top:0}
/* Two-pixel lower, lighter chevrons for optical alignment with the title. */
.puzzle-card-stats-arrow::before{border-right-width:3px;border-bottom-width:3px;transform:translateY(0) rotate(45deg)}
.puzzle-card-stats:not(.is-collapsed) .puzzle-card-stats-arrow::before{transform:translateY(4px) rotate(225deg)}

.puzzle-card-time-player{color:#b9a1ff;text-decoration:none;font:inherit;font-weight:700}.puzzle-card-time-player:hover{text-decoration:underline}
/* Site-controlled Best Times layouts. Both preserve the existing visual language. */
.puzzle-card-stats.is-stacked .puzzle-card-times{display:block}
.puzzle-card-stats.is-stacked .puzzle-card-times>div{display:block;padding:8px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}
.puzzle-card-stats.is-stacked .puzzle-card-times>div:first-child{padding-top:0}
.puzzle-card-stats.is-stacked .puzzle-card-times>div:last-child{padding-bottom:0;border-bottom:0}
.puzzle-card-stats.is-grid .puzzle-card-time-player{display:inline-block;max-width:0;overflow:hidden;opacity:0;vertical-align:bottom;pointer-events:none;transition:max-width .18s ease,opacity .18s ease}
.puzzle-card-stats.is-grid .puzzle-card-times>div{cursor:pointer}
.puzzle-card-stats.is-grid .puzzle-card-times>div:hover .puzzle-card-time-player,.puzzle-card-stats.is-grid .puzzle-card-times>div:focus-within .puzzle-card-time-player,.puzzle-card-stats.is-grid .puzzle-card-times>div.is-username-revealed .puzzle-card-time-player{max-width:14rem;opacity:1;pointer-events:auto}
/* The collapsed state always wins over the selected record layout. */
.puzzle-card-stats.is-stacked.is-collapsed .puzzle-card-times{display:none}
/* A revealed username in the compact six-pack remains legible over adjacent records. */
.puzzle-card-time-player::before{content:' – '}
.puzzle-card-stats.is-grid .puzzle-card-times>div{position:relative}
.puzzle-card-stats.is-grid .puzzle-card-time-player{position:absolute;left:0;top:50%;z-index:5;max-width:none;overflow:visible;opacity:0;transform:translateY(-50%) scale(.98);padding:6px 9px;border-radius:8px;background:#050507;color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.45);white-space:nowrap;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.puzzle-card-stats.is-grid .puzzle-card-time-player::before{content:''}
.puzzle-card-stats.is-grid .puzzle-card-times>div:hover .puzzle-card-time-player,.puzzle-card-stats.is-grid .puzzle-card-times>div:focus-within .puzzle-card-time-player,.puzzle-card-stats.is-grid .puzzle-card-times>div.is-username-revealed .puzzle-card-time-player{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto}
/* Six-pack usernames open beside their own time; right-edge records open inward. */
.puzzle-card-stats.is-grid .puzzle-card-times strong{position:relative}
.puzzle-card-stats.is-grid .puzzle-card-time-player{left:calc(100% + 8px);top:50%;color:#b9a1ff;text-decoration:none}
.puzzle-card-stats.is-grid .puzzle-card-time-player:hover,.puzzle-card-stats.is-grid .puzzle-card-time-player:focus{text-decoration:none}
.puzzle-card-stats.is-grid .puzzle-card-times>div:nth-child(3n) .puzzle-card-time-player{left:auto;right:calc(100% + 8px)}
/* Keep an expanding record panel anchored in place on touch screens. */
.puzzle-card-stats{overflow-anchor:none}
@media (hover:none),(pointer:coarse){
  .puzzle-card-stats.is-grid .puzzle-card-times>div:hover .puzzle-card-time-player{opacity:0;pointer-events:none}
  .puzzle-card-stats.is-grid .puzzle-card-times>div.is-username-revealed .puzzle-card-time-player{top:auto;bottom:calc(100% + 15px);transform:scale(1);opacity:1;pointer-events:auto}
}
/* The selected six-pack record reads as one clear target on every device. */
.puzzle-card-stats:not(.is-collapsed) .puzzle-card-times{padding-top:15px}
.puzzle-card-stats.is-grid .puzzle-card-time-player{left:0;right:auto;top:auto;bottom:calc(100% + 8px);transform:scale(.98)}
.puzzle-card-stats.is-grid .puzzle-card-times>div:nth-child(3n) .puzzle-card-time-player{left:0;right:auto}
.puzzle-card-stats.is-grid .puzzle-card-times>div:hover,.puzzle-card-stats.is-grid .puzzle-card-times>div.is-username-revealed{background:rgba(139,92,246,.13);border-radius:8px}
.puzzle-card-stats.is-grid .puzzle-card-times>div.is-username-revealed .puzzle-card-time-player{transform:scale(1)}
@media (hover:none),(pointer:coarse){.puzzle-card-stats.is-grid .puzzle-card-times>div.is-username-revealed .puzzle-card-time-player{bottom:calc(100% + 8px)}}

/* Keep Best Times identities visible, including the right-hand column. */
.puzzle-card-stats,.puzzle-card-times,.puzzle-card-times>div{overflow:visible}
.puzzle-card-stats.is-grid .puzzle-card-time-player{z-index:20;max-width:calc(100vw - 42px);overflow:hidden;text-overflow:ellipsis}
.puzzle-card-stats.is-grid .puzzle-card-times>div:nth-child(3n) .puzzle-card-time-player{left:auto;right:0}

.puzzle-card-associate{display:block;margin:4px 0 14px;padding:0;border:0;background:none;color:#a78bfa;font:inherit;font-size:.86rem;font-weight:750;cursor:pointer}.puzzle-card-associate:hover,.puzzle-card-associate:focus-visible{text-decoration:underline}
