/* Shared product download tiles for Windows/macOS/Linux/Android.
   Visual interaction adapted from user-supplied standalone HTML demo.
   Links must be real official installers and only supported platforms rendered.
   Globally available to future products, with a single reusable Go template. */
.pd-download-grid{
  --pd-surface:#23332b;
  --pd-surface-hover:#314237;
  --pd-text:#fff7eb;
  --pd-muted:#c8d0c3;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(13px,2vw,24px);width:100%;min-width:0;margin-top:42px
}
.pd-download-card{
  --pd-accent:#f2b18a;min-width:0;min-height:450px;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;
  padding:clamp(23px,3vw,35px) clamp(15px,2vw,26px);
  border:1px solid #71847748;border-radius:18px;
  background:var(--pd-surface);color:var(--pd-text);
  text-decoration:none;text-align:center;
  box-shadow:0 10px 28px #14291a12;
  transition:background .25s,border-color .25s,transform .3s,box-shadow .3s
}
.pd-download-card:before{
  content:"";position:absolute;inset:0;transform:translateX(-115%);
  background:linear-gradient(90deg,transparent,#ffffff10,transparent);
  transition:transform .55s ease;pointer-events:none
}
.pd-download-card:is(:hover,:focus-visible){
  transform:translateY(-6px);border-color:var(--pd-accent);
  background:var(--pd-surface-hover);box-shadow:0 15px 30px #101e1966
}
.pd-download-card:is(:hover,:focus-visible):before{transform:translateX(115%)}
.pd-download-card:focus-visible{outline:3px solid var(--pd-accent);outline-offset:4px}
.pd-icon-box{
  display:grid;place-items:center;width:70px;height:74px;margin:0 0 16px;
  color:var(--pd-accent)
}
.pd-icon{display:block;width:70px;max-width:100%;height:70px;max-height:100%;transition:transform .3s ease}
.pd-platform-windows{--pd-accent:#5eaeef}
.pd-platform-linux{--pd-accent:#fcc624}
.pd-platform-android{--pd-accent:#3ddc84}
.pd-platform-macos{--pd-accent:#bfc9cf}
.pd-platform-name{
  font:800 clamp(23px,2.5vw,29px)/1.2 'DM Sans',Arial,sans-serif;
  letter-spacing:-.035em
}
.pd-platform-info{
  min-height:36px;margin:7px 0 19px;max-width:100%;
  color:var(--pd-muted);font:600 12px/1.5 'DM Sans',Arial,sans-serif
}
.pd-action-badge{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 19px;border:1px solid #ffffff24;
  border-radius:999px;background:#ffffff0c;color:var(--pd-text);
  font:800 12px/1.4 'DM Sans',Arial,sans-serif;
  transition:background .2s,color .2s,border-color .2s
}
.pd-arrow-icon{width:15px;height:15px;transition:transform .2s}
.pd-download-card:is(:hover,:focus-visible) .pd-action-badge{
  background:var(--pd-accent);color:#11261e;border-color:var(--pd-accent)
}
.pd-download-card:is(:hover,:focus-visible) .pd-arrow-icon{transform:translateY(3px)}
.pd-card-divider{width:100%;height:1px;background:#ffffff29;margin:22px 0 17px}
.pd-build-status{
  display:inline-flex;align-items:center;justify-content:center;
  padding:6px 10px;border-radius:6px;background:#ffffff11;
  font:800 10px/1.4 'DM Sans',Arial,sans-serif;
  letter-spacing:.05em;text-transform:uppercase;
  color:#f3d5be
}
.pd-status-tested{color:#c8e6b4}
.pd-status-beta{color:#f1ba91}
.pd-file-spec{
  margin-top:13px;display:block;
  font:800 11px/1.5 'DM Sans',Arial,sans-serif;
  color:var(--pd-text);overflow-wrap:anywhere
}
.pd-file-spec span{color:var(--pd-muted);padding-inline:3px}
.pd-card-note{
  display:block;margin-top:11px;
  color:var(--pd-muted);font:500 11px/1.65 'DM Sans',Arial,sans-serif;
  max-width:340px;overflow-wrap:anywhere
}
/* User-provided per-platform motion. Focus matches pointer hover. */
.pd-win-tile{
  transform-origin:center;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1)
}
.pd-platform-windows:is(:hover,:focus-visible) .pd-tile-1{transform:translate(-2px,-2px)}
.pd-platform-windows:is(:hover,:focus-visible) .pd-tile-2{transform:translate(2px,-2px)}
.pd-platform-windows:is(:hover,:focus-visible) .pd-tile-3{transform:translate(-2px,2px)}
.pd-platform-windows:is(:hover,:focus-visible) .pd-tile-4{transform:translate(2px,2px)}
@keyframes pd-macos-pulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}
  50%{transform:scale(1.08);filter:drop-shadow(0 0 8px #ffffff6b)}
}
.pd-platform-macos:is(:hover,:focus-visible) .pd-macos-icon{animation:pd-macos-pulse 1.2s ease-in-out infinite}
@keyframes pd-tux-waddle{
  0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}
}
.pd-platform-linux:is(:hover,:focus-visible) .pd-linux-icon{
  transform-origin:50% 85%;animation:pd-tux-waddle .6s ease-in-out infinite
}
@keyframes pd-android-jump{
  0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}
}
.pd-platform-android:is(:hover,:focus-visible) .pd-android-head{
  animation:pd-android-jump .6s ease-in-out infinite
}
.pd-antenna-l,.pd-antenna-r{transform-origin:50% 28%;transition:transform .3s}
.pd-platform-android:is(:hover,:focus-visible) .pd-antenna-l{transform:rotate(-10deg)}
.pd-platform-android:is(:hover,:focus-visible) .pd-antenna-r{transform:rotate(10deg)}
/* Global color-scheme contract: card palette is purposefully dark in both
   appearances. Accent colors stay authentic to the OS platform identities. */
html[data-theme="dark"] .pd-download-grid{
  --pd-surface:#292b27;--pd-surface-hover:#393731;
  --pd-text:#f6ede4;--pd-muted:#d0bfb0
}
@media(max-width:1050px){
 .pd-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pd-download-card:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:680px){
 .pd-download-grid{grid-template-columns:1fr}
 .pd-download-card{min-height:360px}
 .pd-download-card:last-child:nth-child(odd){grid-column:auto}
 .pd-card-note{max-width:420px}
}
@media(prefers-reduced-motion:reduce){
 .pd-download-card,.pd-download-card:before,.pd-icon,.pd-arrow-icon,
 .pd-win-tile,.pd-antenna-l,.pd-antenna-r{transition:none!important}
 .pd-download-card *,.pd-download-card :before,.pd-download-card :after{
   animation:none!important;transform:none!important
 }
 .pd-download-card:is(:hover,:focus-visible){transform:none}
}
