/* Shared by the server-rendered body and the client article renderer. */
.ssr-prewrap { white-space: pre-wrap; }
.ssr-image { max-width: 100%; height: auto; }
.ssr-code { overflow-x: auto; max-width: 100%; }
.ssr-article-title { font-size: 30px; line-height: 1.4; overflow-wrap: anywhere; letter-spacing: 0; }
.ssr-article { max-width: 960px; margin: auto; padding: 24px; overflow-wrap: anywhere; line-height: 1.8; }
.ssr-content { max-width: 1168px; margin: 0 auto; padding: 32px 24px; }
.ssr-section { margin-top: 22px; border: 1px solid rgba(148,163,184,.18); border-radius: 24px; background: #fff; padding: 24px; }
.ssr-stack { display: grid; gap: 12px; }
.ssr-heading { margin: 0; font-size: 24px; line-height: 1.25; color: #111827; }
.ssr-software-heading { margin: 0 0 14px; font-size: 24px; line-height: 1.25; color: #111827; }
.ssr-paragraph { margin: 0; color: #475569; font-size: 15px; line-height: 1.9; }
.ssr-intro-grid { display: grid; gap: 18px; }
.ssr-intro-grid--media { grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 24px; align-items: start; }
.article-ifixit-guide.article-ifixit-guide.article-ifixit-guide.article-ifixit-guide { display: block; width: 100%; max-width: 100%; height: min(740px,85vh); min-height: 480px; aspect-ratio: auto; border: 0; border-radius: 12px; background: #fff; }

/* Static server-template declarations. Mail templates are deliberately excluded. */
.ssr-static-882da302c8ca2704.ssr-static-882da302c8ca2704.ssr-static-882da302c8ca2704.ssr-static-882da302c8ca2704 { margin:0;padding-left:18px;color:#475569;line-height:1.9;font-size:15px; }
.ssr-static-4266a33326cfc2e3.ssr-static-4266a33326cfc2e3.ssr-static-4266a33326cfc2e3.ssr-static-4266a33326cfc2e3 { display:block;text-decoration:none; }
.ssr-static-16bc9beffcc75143.ssr-static-16bc9beffcc75143.ssr-static-16bc9beffcc75143.ssr-static-16bc9beffcc75143 { display:block;width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:24px;background:#f8fafc; }
.ssr-static-684fa2f767d6898e.ssr-static-684fa2f767d6898e.ssr-static-684fa2f767d6898e.ssr-static-684fa2f767d6898e { display:grid;gap:12px;align-content:start; }
.ssr-static-63e369017e621bda.ssr-static-63e369017e621bda.ssr-static-63e369017e621bda.ssr-static-63e369017e621bda { display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:max-content;padding:8px 12px;border-radius:999px;background:rgba(219,234,254,0.7);color:#1d4ed8;font-size:12px;font-weight:800;line-height:1; }
.ssr-static-2253ed965d654a8b.ssr-static-2253ed965d654a8b.ssr-static-2253ed965d654a8b.ssr-static-2253ed965d654a8b { color:#64748b;font-size:13px;line-height:1.7; }
.ssr-static-8e300d70ef33f8f9.ssr-static-8e300d70ef33f8f9.ssr-static-8e300d70ef33f8f9.ssr-static-8e300d70ef33f8f9 { max-width:1168px;margin:0 auto;padding:40px 24px 56px; }
.ssr-static-f6098c5da60517c1.ssr-static-f6098c5da60517c1.ssr-static-f6098c5da60517c1.ssr-static-f6098c5da60517c1 { border:1px solid rgba(148,163,184,0.22);border-radius:28px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 18px 60px rgba(15,23,42,0.08);padding:28px; }
.ssr-static-e748dc1b52f36005.ssr-static-e748dc1b52f36005.ssr-static-e748dc1b52f36005.ssr-static-e748dc1b52f36005 { display:grid;gap:18px; }
.ssr-static-1e6913f0bd912f0f.ssr-static-1e6913f0bd912f0f.ssr-static-1e6913f0bd912f0f.ssr-static-1e6913f0bd912f0f { display:grid;gap:10px; }
.ssr-static-9f4c1830cbbc623a.ssr-static-9f4c1830cbbc623a.ssr-static-9f4c1830cbbc623a.ssr-static-9f4c1830cbbc623a { margin:0;font-size:38px;line-height:1.12;letter-spacing:-0.04em;color:#0f172a; }
.ssr-static-2e649cc19837e03b.ssr-static-2e649cc19837e03b.ssr-static-2e649cc19837e03b.ssr-static-2e649cc19837e03b { margin:0;font-size:24px;line-height:1.3;color:#111827; }
.ssr-static-92dc204582b9159d.ssr-static-92dc204582b9159d.ssr-static-92dc204582b9159d.ssr-static-92dc204582b9159d { margin:0;color:#475569;font-size:16px;line-height:1.9; }
.ssr-static-156ccaa3c9b18187.ssr-static-156ccaa3c9b18187.ssr-static-156ccaa3c9b18187.ssr-static-156ccaa3c9b18187 { max-width:1168px;margin:0 auto;padding:32px 24px; }
.ssr-static-be6250838f2f7c46.ssr-static-be6250838f2f7c46.ssr-static-be6250838f2f7c46.ssr-static-be6250838f2f7c46 { display:grid;gap:16px; }
.ssr-static-995380a1045eb4d0.ssr-static-995380a1045eb4d0.ssr-static-995380a1045eb4d0.ssr-static-995380a1045eb4d0 { padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,0.16); }
.ssr-static-465fb8bca6e7c1ab.ssr-static-465fb8bca6e7c1ab.ssr-static-465fb8bca6e7c1ab.ssr-static-465fb8bca6e7c1ab { display:inline-block;font-size:18px;line-height:1.5;font-weight:800;color:#0f172a;text-decoration:none; }
.ssr-static-2c6c7e0aef7b0f7e.ssr-static-2c6c7e0aef7b0f7e.ssr-static-2c6c7e0aef7b0f7e.ssr-static-2c6c7e0aef7b0f7e { margin-top:6px;font-size:13px;color:#64748b; }
.ssr-static-d9c9c5515392bf35.ssr-static-d9c9c5515392bf35.ssr-static-d9c9c5515392bf35.ssr-static-d9c9c5515392bf35 { margin:8px 0 0;color:#475569;font-size:15px;line-height:1.8; }
.ssr-static-21fea78d828206d8.ssr-static-21fea78d828206d8.ssr-static-21fea78d828206d8.ssr-static-21fea78d828206d8 { margin:0;color:#64748b;font-size:15px;line-height:1.8; }
.ssr-static-f2d880246d7fc108.ssr-static-f2d880246d7fc108.ssr-static-f2d880246d7fc108.ssr-static-f2d880246d7fc108 { margin-top:22px;border:1px solid rgba(148,163,184,0.18);border-radius:24px;background:#ffffff;padding:24px; }
.ssr-static-b51a97e67feb8cac.ssr-static-b51a97e67feb8cac.ssr-static-b51a97e67feb8cac.ssr-static-b51a97e67feb8cac { display:grid;gap:14px; }
.ssr-static-3fd3e5fab141436d.ssr-static-3fd3e5fab141436d.ssr-static-3fd3e5fab141436d.ssr-static-3fd3e5fab141436d { font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#64748b; }
.ssr-static-273bb679d3833e5e.ssr-static-273bb679d3833e5e.ssr-static-273bb679d3833e5e.ssr-static-273bb679d3833e5e { margin:0;font-size:24px;line-height:1.25;color:#111827; }
.ssr-static-8aeb19c8fcc8b928.ssr-static-8aeb19c8fcc8b928.ssr-static-8aeb19c8fcc8b928.ssr-static-8aeb19c8fcc8b928 { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px; }
.ssr-static-1731ec4760f99ec3.ssr-static-1731ec4760f99ec3.ssr-static-1731ec4760f99ec3.ssr-static-1731ec4760f99ec3 { display:grid;gap:8px;padding:18px;border-radius:18px;border:1px solid rgba(148,163,184,0.16);background:#f8fafc;text-decoration:none; }
.ssr-static-b6b02f05818a2070.ssr-static-b6b02f05818a2070.ssr-static-b6b02f05818a2070.ssr-static-b6b02f05818a2070 { font-size:17px;line-height:1.45;color:#0f172a; }
.ssr-static-566cfa56f33ebf0a.ssr-static-566cfa56f33ebf0a.ssr-static-566cfa56f33ebf0a.ssr-static-566cfa56f33ebf0a { font-size:12px;color:#64748b; }
.ssr-static-ccbf3f6ceee6e006.ssr-static-ccbf3f6ceee6e006.ssr-static-ccbf3f6ceee6e006.ssr-static-ccbf3f6ceee6e006 { font-size:14px;line-height:1.75;color:#475569; }
.ssr-static-2091aeebea156177.ssr-static-2091aeebea156177.ssr-static-2091aeebea156177.ssr-static-2091aeebea156177 { display:grid;gap:12px; }
.ssr-static-9720819dc5a63826.ssr-static-9720819dc5a63826.ssr-static-9720819dc5a63826.ssr-static-9720819dc5a63826 { margin:0;color:#475569;font-size:15px;line-height:1.9; }
