/* =========================================================
   Sporlo · Sport Assets library
   --------------------------------------------------------
   SVG-based icons in the same glass language as the
   primitives. Each icon assumes the global <svg id="glassDefs">
   block in the host page provides:
     #g-body          — white/pale glass body
     #g-light         — top-left sparkle highlight
     #g-tint-mint     — mint edge tint
     #g-tint-blue     — cool blue tint
     #g-tint-warm     — warm peach tint
     #g-tint-clear    — neutral grey tint
     #g-tint-amber    — for yellow card
     #g-tint-pink     — for red card / accents
   ========================================================= */

.sport-icon {
  width: 100%;
  height: 100%;
  display: block;
  filter:
    drop-shadow(0 22px 30px rgba(30,60,46,.18))
    drop-shadow(0 4px 6px rgba(30,60,46,.08));
}

.asset-tile {
  background: var(--spo-paper);
  border: 1px solid var(--spo-line);
  border-radius: var(--r-xl);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 240px;
  transition: transform .25s, box-shadow .25s;
  position: relative;
  overflow: hidden;
}
.asset-tile:hover { transform: translateY(-3px); box-shadow: var(--shadow-3); }

.asset-tile .visual {
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
}
.asset-tile .visual svg { max-width: 130px; max-height: 130px; }

.asset-tile .meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 12px;
  border-top: 1px solid var(--spo-line);
  margin-top: auto;
}
.asset-tile .name {
  font-size: 14px;
  font-weight: 600;
  color: var(--spo-ink);
}
.asset-tile .asset-code {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--spo-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.asset-group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 56px 0 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--spo-line);
}
.asset-group-head h3 {
  font-size: 22px;
  font-weight: 600;
  color: var(--spo-ink);
}
.asset-group-head .count {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--spo-muted);
  letter-spacing: .06em;
}

.featured-board {
  background: linear-gradient(160deg, #F7FAF7 0%, #E7F2EC 60%, #D8E8E0 100%);
  border-radius: var(--r-xl);
  padding: 56px;
  position: relative;
  overflow: hidden;
  min-height: 460px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 32px;
  align-items: center;
}
.featured-board::before {
  content: "";
  position: absolute;
  inset: -100px auto auto -100px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(52,211,153,.18), transparent 60%);
  pointer-events: none;
}
.featured-board .copy { position: relative; z-index: 2; }
.featured-board .stage {
  position: relative;
  height: 380px;
}
.featured-board .stage > * { position: absolute; }

@keyframes float1 { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-12px) rotate(2deg); } }
@keyframes float2 { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-18px) rotate(-3deg); } }
@keyframes float3 { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-8px) rotate(4deg); } }
.float1 { animation: float1 6.5s ease-in-out infinite; }
.float2 { animation: float2 8.5s ease-in-out infinite; }
.float3 { animation: float3 10.5s ease-in-out infinite; }
