/* Package detail controls extend the existing release cards. Load after styles.css. */
.download-card{min-width:0}
.download-card__scene{position:relative;height:84px;flex:none;overflow:hidden;border-radius:13px;margin-bottom:20px;background:var(--soft-surface);border:1px solid var(--glass-border);isolation:isolate}
.download-card__scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(20,39,32,.14));box-shadow:inset 0 1px 0 rgba(255,255,255,.34)}
.download-card__scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:64% 57%;filter:saturate(.84);transform:scale(1.015);transition:transform 1s cubic-bezier(.22,1,.36,1),filter .65s ease}
.download-card[data-game="26.1.2"] .download-card__scene img{object-position:62% 67%}
.download-card[data-game="26.2"] .download-card__scene img{object-position:78% 63%}
.download-card[data-game="26.3"] .download-card__scene img{object-position:43% 49%}
.download-card .download-card__actions .download-button{min-height:44px}
.download-package{min-width:0;width:100%}
.download-package__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--soft-surface);background:color-mix(in srgb,var(--glass) 54%,transparent);color:var(--muted);font-size:11px;line-height:1.5;font-weight:500;text-align:left;transition:background .3s,border-color .3s,color .3s,transform .3s cubic-bezier(.22,1,.36,1)}
.download-package__toggle:hover,.download-package__toggle[aria-expanded=true]{color:var(--ink);background:var(--soft-surface);border-color:color-mix(in srgb,var(--version-color) 30%,var(--line))}
.download-package__toggle:active{transform:scale(.985)}
.download-package__toggle .download-package__chevron{width:14px;height:14px;color:var(--faint);transition:transform .32s cubic-bezier(.22,.75,.2,1),color .3s}
.download-package__toggle[aria-expanded=true] .download-package__chevron{transform:rotate(180deg);color:var(--version-color)}
.download-package__panel{min-width:0}
.download-package__panel[hidden]{display:none!important}
.download-package__body{padding:15px 1px 8px}
.package-properties{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;font-size:11px;line-height:1.65}
.package-properties dt{color:var(--faint);font-size:10px;font-weight:400}
.package-properties dd{margin:0;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.package-properties__file{display:grid;gap:5px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.package-properties__file code{font:inherit;font-weight:500;letter-spacing:.02em}
.package-properties__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.package-properties__row dt{flex:none}
.package-properties__row dd{text-align:right;font-variant-numeric:tabular-nums}
.package-checksum{margin-top:12px;padding-top:6px;border-top:1px solid var(--line)}
.package-checksum__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}
.package-checksum__label{font-size:9px;letter-spacing:1.15px;color:var(--faint);font-weight:550}
.package-copy{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:58px;min-height:44px;padding:7px 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:10px;font-weight:500;transition:color .25s,background .25s,border-color .25s,transform .3s cubic-bezier(.22,1,.36,1)}
.package-copy svg{width:13px;height:13px}
.package-copy:hover{color:var(--ink);background:var(--soft-surface);border-color:var(--line)}
.package-copy:active{transform:scale(.95)}
.package-copy:disabled{opacity:.6;cursor:progress}
.package-copy[data-state=success]{color:var(--green)}
.package-copy[data-state=error]{color:var(--gold)}
.package-checksum__value{display:block;padding:9px 10px;border-radius:9px;border:1px solid var(--line);background:var(--soft-surface);color:var(--muted);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:10px;line-height:1.8;letter-spacing:.025em;overflow-wrap:anywhere;word-break:break-all;user-select:text;-webkit-user-select:text;cursor:text}
.package-copy-feedback{margin:9px 0 0;font-size:10px;line-height:1.7;overflow-wrap:anywhere;color:var(--muted)}
.package-copy-feedback:empty{display:none}
.package-copy-feedback[data-state=success]{color:var(--green)}
.package-copy-feedback[data-state=error]{color:var(--gold)}
.package-checksum-unavailable{margin:13px 0 0;padding-top:11px;border-top:1px solid var(--line);color:var(--faint);font-size:10px;line-height:1.7}
.download-package__toggle:focus-visible,.package-copy:focus-visible,.package-checksum__value:focus-visible{outline:2px solid var(--green);outline-offset:3px}
html[data-theme=dark] .download-card__scene img{filter:brightness(.8) saturate(.74)}
@media(hover:hover) and (pointer:fine){.download-card:hover .download-card__scene img{transform:scale(1.065);filter:saturate(.97)}html[data-theme=dark] .download-card:hover .download-card__scene img{filter:brightness(.89) saturate(.85)}}
@media(max-width:640px){.download-card__scene{height:68px;border-radius:10px;margin-bottom:16px}.download-package__toggle{padding-inline:9px;font-size:11px;border-radius:10px}.package-properties__row{gap:5px;flex-wrap:wrap}.package-properties__row dd{text-align:left}.package-checksum__value{padding:8px;font-size:10px}.package-copy{gap:4px;min-width:54px;padding-inline:5px}}
@media(prefers-reduced-motion:reduce){.download-card__scene img,.download-package__toggle,.download-package__chevron,.package-copy{transition:none!important}.download-card:hover .download-card__scene img,.download-package__toggle:active,.package-copy:active{transform:none!important}}

/* Version 3: four original scenes, official compatibility marks, and clearer controls. */
.download-card[data-artwork]{--download-inset:20px;min-width:0;padding:0 var(--download-inset) 18px;border-radius:26px;transform-origin:50% 70%;transition:transform .58s cubic-bezier(.18,.9,.22,1.12),box-shadow .55s ease,border-color .45s ease}
.download-card[data-artwork]::after{content:"";position:absolute;inset:1px;border:1px solid rgba(255,255,255,.28);border-radius:24px;pointer-events:none;z-index:3;opacity:.6;transition:opacity .5s ease,border-color .5s ease}
.download-card[data-artwork] .download-card__scene{height:146px;margin:0 calc(-1 * var(--download-inset));border:0;border-bottom:1px solid var(--glass-border);border-radius:0;isolation:isolate;overflow:hidden}
.download-card[data-artwork] .download-card__scene::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,24,25,.22),transparent 48%,rgba(10,24,25,.16));pointer-events:none}
.download-card[data-artwork] .download-card__scene::after{inset:auto 0 0;height:3px;background:var(--version-color);opacity:.7;box-shadow:0 0 18px var(--version-color);transition:opacity .5s ease}
.download-card[data-artwork] .download-card__scene>img{width:100%;height:100%;object-fit:cover;object-position:var(--scene-position,50% 50%);filter:saturate(.86) contrast(.97);transform:scale(1.025);transition:transform 1.2s cubic-bezier(.19,1,.22,1),filter .7s ease;will-change:auto}
.download-card[data-artwork] .download-card__scene-top{position:absolute;inset:12px 12px auto;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;z-index:2;letter-spacing:0}
.download-card[data-artwork] .download-card__loader,.download-card[data-artwork] .download-card__scene-top .release-badge{display:inline-flex;align-items:center;gap:6px;min-height:27px;padding:4px 8px;border:1px solid rgba(255,255,255,.55);border-radius:9px;background:rgba(248,251,249,.86);color:#263631;font-size:9px;line-height:1.3;font-weight:600;letter-spacing:.15px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 3px 8px rgba(18,32,26,.08)}
.download-card[data-artwork] .download-card__loader .brand-icon{width:15px;height:15px;object-fit:contain;object-position:center;filter:none;transform:none;transition:none;border-radius:2px}
.download-card[data-artwork] .download-card__scene-top .release-badge{color:color-mix(in srgb,var(--version-color) 75%,#16271f)}
.download-card[data-artwork] .download-card__identity{display:flex;align-items:center;gap:12px;margin:19px 0 14px;min-width:0}
.download-card__game-mark{display:grid;place-items:center;flex:none;width:55px;height:55px;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(235,243,237,.78));box-shadow:0 8px 19px -12px rgba(25,49,40,.5),inset 0 1px 0 #fff;transition:transform .65s cubic-bezier(.18,.9,.22,1.12),box-shadow .5s ease}
.download-card__game-mark .brand-icon{width:49px;height:49px;max-width:none;object-fit:contain;filter:none}
.download-card__identity-copy{flex:1;min-width:0}
.download-card[data-artwork] .download-card__eyebrow{margin:0 0 4px;color:var(--muted);font-size:9px;line-height:1.4;font-weight:450;letter-spacing:.15px}
.download-card[data-artwork] .download-card__version{margin:0;font-size:31px;line-height:1.17;letter-spacing:-1.15px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:normal;white-space:nowrap}
.download-card[data-artwork] .download-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;color:var(--ink);font-size:12px;line-height:1.5}
.download-card__build{font-weight:550;letter-spacing:.05px}
.download-card__format{padding:2px 6px;border:1px solid var(--line);border-radius:6px;color:var(--faint);font-size:9px;line-height:1.5;letter-spacing:.6px;font-weight:600}
.download-card[data-artwork] .download-card__date{display:flex;align-items:center;gap:6px;margin:0 0 16px;font-size:10px;line-height:1.5;color:var(--faint);font-variant-numeric:tabular-nums;flex-wrap:wrap}
.download-card__date>svg{width:12px;height:12px;stroke-width:1.5}
.download-card__date-separator{opacity:.5}
.download-card[data-artwork] .download-card__details{display:flex;flex-direction:column;gap:0;margin:0 0 13px;padding:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px}
.download-card[data-artwork] .download-card__detail{display:flex;justify-content:space-between;align-items:center;gap:8px!important;min-height:35px;padding:4px 0;flex-wrap:nowrap!important;transition:color .3s ease}
.download-card[data-artwork] .download-card__detail dt{display:flex;align-items:center;gap:7px;flex:none;color:var(--muted);font-size:10px;line-height:1.5}
.download-card[data-artwork] .download-card__detail dd{margin:0;min-width:0;max-width:54%;text-align:right;font-size:10px;line-height:1.55;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dependency-brand{display:grid;place-items:center;width:23px;height:23px;flex:none;border-radius:7px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.65);overflow:hidden}
.dependency-brand .brand-icon{width:17px;height:17px;object-fit:contain;filter:none;max-width:none}
.dependency-brand--java .brand-icon{width:22px;height:22px;transform:scale(1.6)}
.dependency-brand--desktop .brand-icon{width:17px;height:17px}
.download-card[data-artwork] .download-card__note{display:flex;align-items:center;gap:6px;margin:0 0 17px;color:var(--muted);font-size:10px;line-height:1.6}
.download-card[data-artwork] .download-card__note::before{content:none}
.download-card__note>svg{width:14px;height:14px;color:var(--version-color);stroke-width:1.6}
.download-card[data-artwork] .download-card__actions{gap:8px;margin-top:auto}
.download-card[data-artwork] .download-button{min-height:56px;padding:10px 12px 10px 14px;border-radius:15px;border:1px solid rgba(255,255,255,.24);background:var(--version-color);background:color-mix(in srgb,var(--version-color) 88%,#14251f);box-shadow:0 8px 18px -12px var(--version-color),inset 0 1px 0 rgba(255,255,255,.15);transition:transform .42s cubic-bezier(.18,.9,.22,1.12),background .4s ease,box-shadow .4s ease}
.download-card[data-artwork] .download-button::before{content:"";position:absolute;inset:-40% -25%;pointer-events:none;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.26) 50%,transparent 68%);transform:translateX(-100%);opacity:0;transition:transform .85s cubic-bezier(.22,.75,.2,1),opacity .3s ease}
.download-button__copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;position:relative;z-index:1}
.download-button__label{font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.1px}
.download-button__source{font-size:8px;line-height:1.4;font-weight:400;letter-spacing:.35px;opacity:.68}
.download-button__glyph{display:grid;place-items:center;position:relative;z-index:1;width:31px;height:31px;flex:none;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.09);transition:background .35s ease,transform .45s cubic-bezier(.18,.9,.22,1.12)}
.download-card[data-artwork] .download-button__glyph svg{width:17px;height:17px;transition:transform .45s cubic-bezier(.18,.9,.22,1.12)}
.download-card[data-artwork] .download-button:focus-visible{outline:3px solid var(--version-color);outline-offset:3px}
.download-card[data-artwork] .download-button:active{transform:translateY(1px) scale(.975);box-shadow:0 3px 9px -8px var(--version-color)}
.download-card[data-artwork] .download-button:active .download-button__glyph{transform:translateY(2px)}
.download-card[data-artwork] .download-package__toggle{min-height:44px;padding:10px 12px;border-radius:12px;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);overflow:hidden;justify-content:space-between}
.download-package__toggle-label{display:inline-flex;align-items:center;gap:7px;position:relative;z-index:1}
.download-package__toggle-label>svg{width:14px;height:14px;stroke-width:1.45;color:var(--faint);transition:color .3s ease,transform .4s cubic-bezier(.22,1,.36,1)}
.download-package__toggle[aria-expanded=true] .download-package__toggle-label>svg{color:var(--version-color);transform:translateY(-1px)}
.download-package__panel{border-radius:0 0 12px 12px}
.download-package__body{padding:16px 3px 9px}
.package-checksum__value{font-size:10px;line-height:1.9;background:rgba(var(--paper-rgb),.22);box-shadow:inset 0 1px 5px rgba(20,31,27,.035);transition:border-color .3s,background .3s}
.package-checksum__value:focus{border-color:var(--version-color)}
.download-card .package-copy{min-height:44px;min-width:63px;padding:7px 9px;border-radius:10px;font-size:10px;line-height:1.5;gap:6px;box-shadow:none;isolation:isolate}
.package-copy__glyph{display:grid;place-items:center;flex:none;width:15px;height:15px}
.package-copy__glyph>svg{display:block;width:14px;height:14px}
.package-copy[data-state=success]{background:var(--soft-surface);border-color:var(--line)}
.package-copy[data-state=success] .package-copy__glyph{animation:package-copy-confirm .38s cubic-bezier(.18,.9,.22,1.12) both}
.package-copy-feedback{padding:7px 9px;border-radius:8px;background:var(--soft-surface)}
.package-copy-feedback:empty{padding:0}
.download-card[data-artwork] .download-card__release-link{min-height:32px;font-size:10px;gap:5px;transition:color .3s ease}
.download-card__release-link>svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.download-card__release-link:hover>svg{transform:translate(2px,-2px)}
.download-brand-note{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin:18px 0 0;color:var(--faint);font-size:10px;line-height:1.8;text-align:center}
.download-brand-note__link{display:inline-flex;align-items:center;gap:3px;color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;transition:color .3s}
.download-brand-note__link:hover{color:var(--ink)}
.download-brand-note__link svg{width:11px;height:11px}
html[data-theme=dark] .download-card[data-artwork]::after{border-color:rgba(255,255,255,.09)}
html[data-theme=dark] .download-card[data-artwork] .download-card__scene>img{filter:brightness(.82) saturate(.8)}
html[data-theme=dark] .download-card__game-mark{background:linear-gradient(145deg,rgba(235,244,237,.95),rgba(203,219,208,.82));border-color:rgba(244,255,248,.6);box-shadow:0 8px 18px -12px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.5)}
html[data-theme=dark] .dependency-brand{background:rgba(235,243,237,.82);border-color:rgba(255,255,255,.22)}
@keyframes package-copy-confirm{0%{transform:scale(.65);opacity:.5}70%{transform:scale(1.15);opacity:1}100%{transform:scale(1);opacity:1}}
@media(hover:hover) and (pointer:fine){
  .download-card[data-artwork]:hover{transform:translateY(-9px);box-shadow:0 26px 55px -32px color-mix(in srgb,var(--version-color) 55%,#12261c),var(--glass-shadow);border-color:color-mix(in srgb,var(--version-color) 42%,var(--glass-border))}
  .download-card[data-artwork]:hover::after{opacity:1;border-color:rgba(255,255,255,.45)}
  .download-card[data-artwork]:hover .download-card__scene>img{transform:scale(1.09);filter:saturate(1.02) contrast(1.01)}
  .download-card[data-artwork]:hover .download-card__scene::after{opacity:1}
  .download-card[data-artwork]:hover .download-card__game-mark{transform:translateY(-2px);box-shadow:0 10px 21px -12px rgba(25,49,40,.6),inset 0 1px 0 #fff}
  .download-card[data-artwork] .download-button:hover{transform:translateY(-2px);background:var(--version-color);box-shadow:0 12px 23px -14px var(--version-color)}
  .download-card[data-artwork] .download-button:hover::before{transform:translateX(100%);opacity:1}
  .download-card[data-artwork] .download-button:hover .download-button__glyph{background:rgba(255,255,255,.19)}
  .download-card[data-artwork] .download-button:hover .download-button__glyph svg{transform:translateY(2px)}
  html[data-theme=dark] .download-card[data-artwork]:hover .download-card__scene>img{filter:brightness(.94) saturate(.94)}
}
@media(max-width:1100px) and (min-width:901px){.download-card[data-artwork]{--download-inset:16px}.download-card[data-artwork] .download-card__identity{gap:9px}.download-card__game-mark{width:49px;height:49px;border-radius:14px}.download-card__game-mark .brand-icon{width:44px;height:44px}.download-card[data-artwork] .download-card__version{font-size:28px}.download-card[data-artwork] .download-card__detail dt,.download-card[data-artwork] .download-card__detail dd{font-size:9px}}
@media(max-width:640px){.download-card[data-artwork]{--download-inset:22px;border-radius:25px;padding-bottom:20px}.download-card[data-artwork] .download-card__scene{height:156px}.download-card[data-artwork] .download-card__identity{gap:13px;margin-top:20px}.download-card__game-mark{width:60px;height:60px;border-radius:18px}.download-card__game-mark .brand-icon{width:53px;height:53px}.download-card[data-artwork] .download-card__eyebrow{font-size:10px}.download-card[data-artwork] .download-card__version{font-size:35px}.download-card[data-artwork] .download-card__detail dt,.download-card[data-artwork] .download-card__detail dd{font-size:11px}.download-card[data-artwork] .download-card__detail{min-height:38px}.download-card[data-artwork] .download-card__date{font-size:11px}.download-card[data-artwork] .download-card__meta{font-size:13px}.download-card[data-artwork] .download-card__note{font-size:11px}.download-card[data-artwork] .download-button{min-height:58px}.download-card[data-artwork] .download-package__toggle{min-height:46px;font-size:12px}.download-brand-note{font-size:10px;gap:3px 7px}}
@media(max-width:360px){.download-card[data-artwork]{--download-inset:18px}.download-card[data-artwork] .download-card__identity{gap:10px}.download-card__game-mark{width:52px;height:52px;border-radius:15px}.download-card__game-mark .brand-icon{width:47px;height:47px}.download-card[data-artwork] .download-card__version{font-size:31px}.download-card[data-artwork] .download-card__detail dt,.download-card[data-artwork] .download-card__detail dd{font-size:10px}.dependency-brand{width:21px;height:21px}}
.download-card[data-artwork] .download-button:hover:active{transform:translateY(1px) scale(.975)}
@media(prefers-reduced-motion:reduce){.download-card[data-artwork],.download-card[data-artwork]::after,.download-card[data-artwork] .download-card__scene>img,.download-card__game-mark,.download-card[data-artwork] .download-button,.download-card[data-artwork] .download-button::before,.download-button__glyph,.download-button__glyph svg,.download-package__toggle-label>svg,.download-card__release-link>svg{transition:none!important;animation:none!important}.download-card[data-artwork]:hover,.download-card[data-artwork]:hover .download-card__scene>img,.download-card[data-artwork]:hover .download-card__game-mark,.download-card[data-artwork] .download-button:hover,.download-card[data-artwork] .download-button:active,.download-card[data-artwork] .download-button:active .download-button__glyph,.download-card[data-artwork] .download-button:hover .download-button__glyph svg,.download-package__toggle[aria-expanded=true] .download-package__toggle-label>svg,.download-card__release-link:hover>svg{transform:none!important}.download-card[data-artwork] .download-button::before{display:none}.package-copy[data-state=success] .package-copy__glyph{animation:none!important}}
