.source-page{max-width:1200px;padding:48px 0 64px}
.source-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.source-intro h1{font-size:clamp(28px,3vw,40px);line-height:1.35;letter-spacing:-.025em;margin:12px 0}
.source-lead{font-size:15px;line-height:1.8;color:var(--muted);margin:0}
.source-back{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;border:1px solid var(--line);border-radius:9px;padding:11px 15px;font-size:13px;color:var(--muted)}
.source-back:hover{background:#ffffff05;color:var(--text)}
.source-back:focus-visible,.source-card button:focus-visible,.source-card summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.source-notice{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#ffffff03;border:1px solid var(--line);border-radius:12px}
.source-notice p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}
.source-version{flex-shrink:0;padding:5px 10px;border:1px solid #e9b38735;border-radius:6px;color:var(--accent);font-size:12px;font-weight:600;background:#e9b38708}
.source-status{color:var(--muted);font-size:12px;line-height:1.7;margin:22px 0 12px;min-height:21px}
.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.source-card{min-width:0;border:1px solid var(--line);border-radius:14px;padding:24px;background:linear-gradient(155deg,#1b2021,#171b1c);display:flex;flex-direction:column}
.source-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.source-module{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.source-format{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:4px 6px}
.source-card h2{font-size:23px;line-height:1.4;margin:18px 0 6px;letter-spacing:-.02em}
.source-description{font-size:13px;color:var(--muted);line-height:1.8;min-height:24px;margin:0 0 20px}
.source-filename{display:block;font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere;min-height:38px;margin-bottom:12px}
.source-file-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-bottom:16px}
.source-card button.download-primary{height:44px;min-height:44px;line-height:20px;border-radius:8px;padding:10px 14px;font-size:13px;box-shadow:none;border-color:transparent}
.source-card .download-checksum{margin-top:16px;font-size:11px;line-height:1.8}
.source-card .download-checksum summary{min-height:20px}
.source-card .download-checksum code{font-size:11px;line-height:1.8;padding-top:10px;overflow-wrap:anywhere;user-select:all}
.source-license{display:flex;gap:24px;border-top:1px solid var(--line);margin-top:28px;padding-top:20px;color:var(--muted);font-size:12px;line-height:1.9}
.source-license strong{flex-shrink:0;color:var(--text);font-weight:500}
.source-license p{margin:0;max-width:860px}.source-license code{overflow-wrap:anywhere;font-size:11px}
@media(max-width:900px){.source-grid{gap:12px}.source-card{padding:18px}.source-intro{align-items:flex-start}.source-card h2{font-size:21px}}
@media(max-width:680px){.source-page{padding-top:28px}.source-intro{flex-direction:column;gap:16px;margin-bottom:20px}.source-notice{align-items:flex-start;gap:12px;padding:14px}.source-grid{grid-template-columns:1fr;gap:14px}.source-card{padding:22px}.source-filename{min-height:0}.source-description{margin-bottom:16px}.source-license{flex-direction:column;gap:8px}.source-status{margin-top:20px}}
