/* OpenPuzzle platform downloads: scoped to the two public download panels. */
.op-downloads { margin-top:32px; text-align:left; }
.op-downloads .op-platform-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:18px; }
.op-downloads .op-platform-card { min-width:0; display:flex; flex-direction:column; padding:26px; border:1px solid var(--border,rgba(255,255,255,.12)); border-radius:16px; background:var(--panel,#0f1e2a); }
.op-downloads .op-platform-header { display:flex; gap:14px; align-items:center; margin-bottom:19px; }
.op-downloads .op-platform-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border:1px solid rgba(212,175,55,.2); border-radius:12px; color:var(--accent,#d4af37); background:rgba(212,175,55,.07); }
.op-downloads .op-platform-icon svg { width:24px; height:24px; }
.op-downloads .op-platform-card h3 { margin:0 0 3px; font-size:25px; font-weight:780; line-height:1.2; letter-spacing:-.025em; }
.op-downloads .op-platform-meta { margin:0; font-size:13px; color:var(--muted,#9eb0bd); }
.op-downloads .op-status { align-self:flex-start; display:inline-block; padding:3px 9px; margin:0 0 14px; border-radius:6px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.op-downloads .op-status--stable { color:#9bdfb4; background:rgba(89,185,126,.12); }
.op-downloads .op-status--test { color:#efd37a; background:rgba(212,175,55,.13); }
.op-downloads .op-platform-description { margin:0 0 24px; color:var(--muted,#9eb0bd); font-size:15px; line-height:1.65; }
.op-downloads .op-platform-card .button { width:100%; min-height:48px; padding:10px 16px; margin-top:auto; font-size:14px; text-align:center; }
.op-downloads .op-platform-card--test .button.primary { color:var(--accent,#d4af37); background:transparent; border-color:rgba(212,175,55,.6); }
.op-downloads .op-platform-card--test .button.primary:hover { background:rgba(212,175,55,.1); }
.op-downloads .op-platform-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:16px; font-size:13px; color:var(--muted,#9eb0bd); }
.op-downloads .op-platform-links a:hover, .op-downloads .op-driver-grid a:hover { color:var(--accent,#d4af37); text-decoration:underline; }
.op-downloads .op-prerequisites { margin-top:20px; padding:22px 24px; border:1px solid var(--border,rgba(255,255,255,.12)); border-radius:14px; background:rgba(255,255,255,.018); }
.op-downloads .op-prerequisites h3 { margin:0 0 13px; font-size:16px; line-height:1.4; letter-spacing:0; }
.op-downloads .op-driver-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:12px 28px; }
.op-downloads .op-driver-grid p { margin:0; font-size:14px; color:var(--muted,#9eb0bd); line-height:1.65; }
.op-downloads .op-driver-grid strong { display:block; color:var(--text,#f4f8fa); font-size:13px; }
.op-downloads .op-driver-grid a { color:#e4c76d; }
.op-downloads .op-sdk-note { margin:16px 0 0; font-size:12px; line-height:1.7; color:var(--muted,#9eb0bd); }
.op-downloads details, .op-windows-release details { border-top:1px solid var(--border,rgba(255,255,255,.12)); padding:15px 0; }
.op-downloads .op-details { margin-top:15px; }
.op-downloads summary, .op-windows-release summary { cursor:pointer; color:var(--text,#f4f8fa); font-size:14px; font-weight:650; }
.op-downloads details p, .op-downloads details li, .op-windows-release details p, .op-windows-release details li { font-size:14px; line-height:1.75; color:var(--muted,#9eb0bd); }
.op-downloads details p:first-of-type, .op-windows-release details p:first-of-type { margin-top:14px; }
.op-downloads details ol, .op-windows-release details ol { padding-left:22px; }
.op-downloads .hash-value, .op-windows-release .hash-value { font-size:11px; text-align:left; overflow-wrap:anywhere; }
.op-downloads .command-steps { max-width:none; margin:16px 0 0; }
.op-downloads .command-steps article { padding:10px 12px; font-size:13px; }
.op-linux-release-summary { margin-top:8px; text-align:left; border-top:1px solid var(--border,rgba(255,255,255,.12)); padding-top:15px; }
.op-linux-release-summary > summary { cursor:pointer; color:var(--muted,#9eb0bd); font-size:14px; }
.op-linux-release-summary .release-note-inline { font-size:14px; line-height:1.75; }
.op-windows-release { margin:24px 0; padding:26px; border:1px solid rgba(212,175,55,.32); border-radius:16px; background:rgba(212,175,55,.035); }
.op-windows-release .op-release-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.op-windows-release .op-release-heading h2 { margin:0; font-size:25px; line-height:1.3; letter-spacing:-.025em; }
.op-windows-release .op-release-heading svg { width:24px; height:24px; color:var(--accent,#d4af37); }
.op-windows-release .op-release-label { font-size:11px; color:#efd37a; padding:3px 8px; border-radius:5px; background:rgba(212,175,55,.12); }
.op-windows-release .op-release-description { margin:15px 0 0; font-size:15px; }
.op-windows-release .hero-actions { margin:20px 0; gap:12px; align-items:center; }
.op-windows-release .hero-actions .button { font-size:14px; }
.op-windows-release .op-release-link { font-size:13px; color:var(--muted,#9eb0bd); }
.op-windows-release .op-release-link:hover { color:var(--accent,#d4af37); text-decoration:underline; }
@media (max-width:520px) { .op-downloads .op-platform-card { padding:22px; } .op-downloads .op-prerequisites { padding:20px; } .op-windows-release { padding:20px; } }
.op-downloads #windows-test, .op-windows-release { scroll-margin-top:110px; }
.op-downloads a:focus-visible, .op-downloads summary:focus-visible, .op-windows-release a:focus-visible, .op-windows-release summary:focus-visible { outline:2px solid var(--accent,#d4af37); outline-offset:4px; }
