/* ReleaseDeck: local, scoped, responsive; no fonts, CDN assets or browser API calls. */
.releasedeck{--rd-bg:rgb(255,255,255);--rd-soft:rgb(247,249,253);--rd-text:rgb(26,37,56);--rd-muted:rgb(91,107,130);--rd-line:rgb(219,226,237);--rd-accent:rgb(39,93,192);--rd-project-rgb:46,108,220;--rd-columns:3;--rd-radius:20px;color:var(--rd-text);font:inherit;line-height:1.65;margin:24px 0;width:100%;isolation:isolate;clear:both}
.releasedeck.rd-theme-dark{--rd-bg:rgb(23,32,48);--rd-soft:rgb(17,25,40);--rd-text:rgb(238,243,251);--rd-muted:rgb(171,187,210);--rd-line:rgb(57,72,95);--rd-accent:rgb(155,190,255)}
.releasedeck,.releasedeck *,.releasedeck *::before,.releasedeck *::after{box-sizing:border-box}
.releasedeck h2,.releasedeck h3,.releasedeck h4,.releasedeck p{color:inherit;clear:none;margin-top:0}
.releasedeck a{color:var(--rd-accent);text-decoration:none;box-shadow:none}
.releasedeck :is(a,button,summary,select):focus-visible{outline:3px solid var(--rd-accent);outline-offset:4px}
.releasedeck .rd-grid{display:grid;grid-template-columns:repeat(var(--rd-columns),minmax(0,1fr));gap:22px;align-items:start}
.releasedeck .rd-project-card,.releasedeck .rd-release-card{position:relative;background:var(--rd-bg);border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;box-shadow:0 8px 26px rgba(16,35,66,.045);min-width:0;transition:box-shadow .18s ease,border-color .18s ease}
.releasedeck .rd-project-card:hover,.releasedeck .rd-release-card:hover{border-color:var(--rd-accent);box-shadow:0 12px 34px rgba(16,35,66,.09)}
.releasedeck .rd-cover{height:164px;position:relative;background:linear-gradient(130deg,rgba(var(--rd-project-rgb),.25),rgba(var(--rd-project-rgb),.06)),var(--rd-soft);overflow:hidden;border-bottom:1px solid var(--rd-line)}
.releasedeck .rd-cover::after{content:"";width:200px;height:200px;border:1px solid rgba(var(--rd-project-rgb),.16);border-radius:35px;position:absolute;right:-35px;top:40px;transform:rotate(-25deg);pointer-events:none}
.releasedeck .rd-cover-image{width:100%;height:100%;object-fit:cover;display:block}
.releasedeck .rd-cover-label{position:absolute;left:20px;top:16px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--rd-line);border-radius:30px;padding:4px 10px;background:var(--rd-bg);color:var(--rd-text)}
.releasedeck .rd-project-monogram{position:absolute;left:22px;bottom:18px;background:var(--rd-bg);border:1px solid var(--rd-line);color:var(--rd-accent);width:64px;height:64px;display:grid;place-items:center;border-radius:16px;font-size:24px;font-weight:800;letter-spacing:-.04em;overflow:hidden}
.releasedeck .rd-logo-image{width:100%;height:100%;object-fit:contain;padding:6px;display:block}
.releasedeck .rd-card-body{padding:24px;min-width:0}
.releasedeck .rd-eyebrow{font-size:11px;font-weight:750;line-height:1.5;text-transform:uppercase;letter-spacing:.1em;color:var(--rd-muted);display:block}
.releasedeck .rd-title{font-size:clamp(19px,2vw,25px);font-weight:750;line-height:1.23;letter-spacing:-.025em;margin:10px 0 14px;overflow-wrap:anywhere}
.releasedeck .rd-summary{font-size:14px;line-height:1.75;color:var(--rd-muted);margin:12px 0 20px;overflow-wrap:anywhere}
.releasedeck .rd-project-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:24px 0 18px;font-size:12px;color:var(--rd-muted)}
.releasedeck .rd-version{display:inline-flex;align-items:center;background:var(--rd-soft);border:1px solid var(--rd-line);border-radius:7px;padding:3px 9px;font:600 13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--rd-text);overflow-wrap:anywhere;max-width:100%}
.releasedeck .rd-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;border:1px solid var(--rd-line);background:var(--rd-bg);color:var(--rd-text);padding:10px 15px;border-radius:9px;text-decoration:none;cursor:pointer;min-height:42px;white-space:normal;max-width:100%;box-shadow:none}
.releasedeck .rd-button-primary{background:var(--rd-text);color:var(--rd-bg);border-color:var(--rd-text);width:100%;justify-content:space-between}
.releasedeck .rd-button:hover{border-color:var(--rd-accent);text-decoration:none}
.releasedeck .rd-release-card::before{content:"";height:4px;background:rgb(var(--rd-project-rgb));position:absolute;inset:0 0 auto;z-index:1}
.releasedeck .rd-release-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.releasedeck .rd-badge{display:inline-block;font-size:10px;line-height:1.6;font-weight:750;letter-spacing:.035em;border:1px solid rgb(135,190,157);background:rgb(231,247,236);color:rgb(24,93,55);border-radius:20px;padding:3px 9px;white-space:nowrap}
.releasedeck .rd-badge-beta{background:rgb(255,243,219);border-color:rgb(216,175,96);color:rgb(114,75,7)}
.releasedeck .rd-version-large{font:700 clamp(25px,2.7vw,37px)/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.04em;margin:18px 0 12px;overflow-wrap:anywhere}
.releasedeck .rd-date{font-size:12px;color:var(--rd-muted);margin:10px 0 18px}
.releasedeck .rd-feature-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rd-accent)}
.releasedeck .rd-layout-featured .rd-highlight{grid-column:1/-1;background:linear-gradient(115deg,rgba(var(--rd-project-rgb),.10),transparent 75%),var(--rd-bg)}
.releasedeck .rd-layout-featured .rd-highlight>.rd-card-body{padding:32px 36px}
.releasedeck .rd-layout-featured .rd-highlight .rd-version-large{font-size:clamp(32px,4vw,48px)}
.releasedeck .rd-release-cover{height:150px;overflow:hidden}
.releasedeck .rd-release-image{width:100%;height:100%;object-fit:cover;display:block}
.releasedeck .rd-highlight .rd-release-cover{height:240px}
.releasedeck .rd-details{border-top:1px solid var(--rd-line);margin:22px 0 0;padding:0;background:transparent;clear:both}
.releasedeck .rd-details>summary{font-size:12px;font-weight:750;cursor:pointer;padding:16px 0 2px;display:flex;justify-content:space-between;gap:14px;align-items:center;list-style:none;min-height:44px;color:var(--rd-accent)}
.releasedeck .rd-details>summary::-webkit-details-marker{display:none}
.releasedeck .rd-details[open]>summary{padding-bottom:16px}
.releasedeck .rd-details[open]>summary>span{transform:rotate(45deg)}
.releasedeck .rd-details-body{font-size:14px;min-width:0}
.releasedeck .rd-prose{overflow-wrap:anywhere;min-width:0;color:var(--rd-text)}
.releasedeck .rd-prose :is(h2,h3,h4,h5,h6){font-weight:700;line-height:1.3;margin:1.4em 0 .65em;font-size:1.1em}
.releasedeck .rd-prose>:first-child{margin-top:0}
.releasedeck .rd-prose p{margin:0 0 1em}
.releasedeck .rd-prose ul,.releasedeck .rd-prose ol{padding-left:1.4em;margin:0 0 1em}
.releasedeck .rd-prose li{margin-bottom:.3em}
.releasedeck .rd-prose img{max-width:100%;height:auto}
.releasedeck .rd-prose a{text-decoration:underline;text-underline-offset:3px}
.releasedeck .rd-prose pre{max-width:100%;overflow:auto;white-space:pre;font-size:12px;background:var(--rd-soft);color:var(--rd-text);border:1px solid var(--rd-line);border-radius:10px;padding:14px}
.releasedeck .rd-prose code{background:var(--rd-soft);color:var(--rd-text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.releasedeck .rd-prose blockquote{border-left:3px solid var(--rd-accent);margin:0 0 1em;padding:6px 14px;color:var(--rd-muted);background:var(--rd-soft)}
.releasedeck .rd-downloads{margin-top:24px}
.releasedeck .rd-downloads h4{font-size:13px;font-weight:750;margin:0 0 10px}
.releasedeck .rd-download{display:flex;align-items:center;gap:10px;border:1px solid var(--rd-line);background:var(--rd-soft);border-radius:9px;padding:12px;margin:8px 0;text-decoration:none!important;min-height:44px;color:var(--rd-text)}
.releasedeck .rd-download:hover{border-color:var(--rd-accent)}
.releasedeck .rd-download>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px;font-weight:650}
.releasedeck .rd-download small{font-size:10px;color:var(--rd-muted);white-space:nowrap}
.releasedeck .rd-hero{position:relative;padding:48px;border-radius:24px;overflow:hidden;background:linear-gradient(120deg,rgba(var(--rd-project-rgb),.18),rgba(var(--rd-project-rgb),.02)),var(--rd-bg);border:1px solid var(--rd-line)}
.releasedeck .rd-hero-content{position:relative;z-index:1;max-width:700px}
.releasedeck .rd-hero h2{font-size:clamp(30px,5vw,54px);line-height:1.05;letter-spacing:-.045em;font-weight:800;margin:12px 0 20px}
.releasedeck .rd-hero p:last-child{font-size:17px;margin:0;line-height:1.65;color:var(--rd-muted)}
.releasedeck .rd-hero-logo{width:64px;height:64px;object-fit:contain;margin-bottom:18px}
.releasedeck .rd-hero-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.1;filter:saturate(.5)}
.releasedeck .rd-project-description{padding:28px 0 8px}
.releasedeck .rd-section-heading{display:flex;justify-content:space-between;align-items:center;margin:32px 0 22px;gap:16px}
.releasedeck .rd-section-heading h3{font-size:24px;font-weight:750;letter-spacing:-.02em;margin:4px 0 0}
.releasedeck .rd-section-heading p{margin:0}
.releasedeck .rd-count{background:var(--rd-soft);color:var(--rd-muted);border:1px solid var(--rd-line);padding:4px 12px;border-radius:40px;font-weight:700;font-size:12px}
.releasedeck .rd-footnote{font-size:12px;color:var(--rd-muted);margin:18px 0}
.releasedeck .rd-empty{padding:26px;border:1px dashed var(--rd-line);border-radius:12px;text-align:center;color:var(--rd-muted);background:var(--rd-soft)}
.releasedeck .rd-warning{padding:14px 16px;border-left:3px solid rgb(192,145,41);font-size:12px;background:var(--rd-soft);color:var(--rd-text);margin:20px 0}
.releasedeck .rd-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:30px 0 8px;font-size:12px;color:var(--rd-muted);flex-wrap:wrap}
.releasedeck .rd-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px 18px;border-radius:12px;background:var(--rd-soft);border:1px solid var(--rd-line);margin-bottom:24px}
.releasedeck .rd-filters label{font-size:12px;font-weight:650;display:grid;gap:4px;color:var(--rd-text)}
.releasedeck .rd-filters select{border:1px solid var(--rd-line);border-radius:7px;min-height:42px;background:var(--rd-bg);color:var(--rd-text);padding:8px 30px 8px 10px;font:inherit;max-width:100%}
.releasedeck .rd-layout-timeline{display:flex;flex-direction:column;gap:22px;padding-left:28px;margin-left:8px;border-left:2px solid var(--rd-line)}
.releasedeck .rd-layout-timeline>.rd-release-card{width:100%;overflow:visible}
.releasedeck .rd-layout-timeline>.rd-release-card::before{width:12px;height:12px;left:-35px;top:30px;border-radius:50%;outline:5px solid var(--rd-bg)}
.releasedeck .rd-layout-timeline .rd-release-cover{border-radius:var(--rd-radius) var(--rd-radius) 0 0}
.releasedeck .rd-layout-list,.releasedeck .rd-layout-compact{grid-template-columns:minmax(0,1fr)}
.releasedeck .rd-layout-list .rd-project-card,.releasedeck .rd-layout-compact .rd-project-card{display:grid;grid-template-columns:160px minmax(0,1fr)}
.releasedeck .rd-layout-list .rd-cover,.releasedeck .rd-layout-compact .rd-cover{height:100%;min-height:170px;border-bottom:0;border-right:1px solid var(--rd-line)}
.releasedeck .rd-layout-compact .rd-card-body{padding:18px 20px}
.releasedeck .rd-layout-compact .rd-title{font-size:18px;margin:8px 0}
.releasedeck .rd-layout-compact .rd-version-large{font-size:23px;margin:10px 0}
.releasedeck .rd-layout-compact .rd-release-top{margin-bottom:10px}
.releasedeck .rd-layout-compact .rd-summary{font-size:13px;margin:10px 0}
.releasedeck .rd-layout-compact .rd-details{margin-top:14px}
.releasedeck .rd-single-teaser{max-width:420px}
.releasedeck .rd-single-release{max-width:680px}
.releasedeck .rd-release-full{padding:32px;border:1px solid var(--rd-line);border-radius:20px;background:var(--rd-bg)}
.releasedeck .rd-release-full h2{font-size:clamp(24px,3vw,36px);line-height:1.2;letter-spacing:-.025em;font-weight:750;margin:10px 0 16px}
.releasedeck .rd-full-cover{width:100%;max-height:380px;object-fit:cover;border-radius:12px;margin:0 0 24px}
@media(max-width:1000px){.releasedeck .rd-grid{grid-template-columns:repeat(min(var(--rd-columns),2),minmax(0,1fr))}.releasedeck .rd-layout-list,.releasedeck .rd-layout-compact{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.releasedeck{margin:16px 0}.releasedeck .rd-grid{grid-template-columns:minmax(0,1fr);gap:16px}.releasedeck .rd-card-body{padding:20px}.releasedeck .rd-hero{padding:30px 24px;border-radius:18px}.releasedeck .rd-hero h2{font-size:34px}.releasedeck .rd-layout-featured .rd-highlight>.rd-card-body{padding:24px}.releasedeck .rd-layout-timeline{padding-left:20px;margin-left:4px}.releasedeck .rd-layout-timeline>.rd-release-card::before{left:-27px}.releasedeck .rd-layout-list .rd-project-card,.releasedeck .rd-layout-compact .rd-project-card{grid-template-columns:minmax(0,1fr)}.releasedeck .rd-layout-list .rd-cover,.releasedeck .rd-layout-compact .rd-cover{height:120px;min-height:120px;border-right:0;border-bottom:1px solid var(--rd-line)}.releasedeck .rd-release-full{padding:22px}.releasedeck .rd-section-heading h3{font-size:21px}.releasedeck .rd-download{flex-wrap:wrap}.releasedeck .rd-filters{padding:12px}}
@media(prefers-reduced-motion:reduce){.releasedeck *{transition:none!important;scroll-behavior:auto!important}}

/* Native links, including keyboard focus and middle-click; no whole-card JS. */
.releasedeck a.rd-project-cover-link{display:block;color:var(--rd-text)}
.releasedeck a.rd-project-cover-link:focus-visible{outline-offset:-4px}
.releasedeck .rd-title a.rd-project-title-link{color:inherit;text-decoration:none;display:inline;box-decoration-break:clone}
.releasedeck .rd-title a.rd-project-title-link:hover{text-decoration:underline;text-underline-offset:4px}
