.shark-article{width:min(700px,calc(100% - 48px));margin:64px auto 0;outline:none}.shark-article .article-back{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--accent)}.shark-article .article-hero{padding-block:24px 32px;border-bottom:1px solid var(--border)}.shark-article h1{font-size:clamp(32px,4.5vw,48px);line-height:1.2;letter-spacing:-.035em;font-weight:550}.shark-article .accent{font-family:var(--font-editorial),serif;font-style:italic;font-weight:400;font-size:1.16em;color:var(--accent)}.shark-article .subtitle{max-width:720px;margin-top:24px;font-size:18px;line-height:1.8;color:var(--secondary)}.shark-article .byline{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:26px;font-size:13px;color:var(--secondary)}.shark-article .author{font-weight:650;color:var(--text)}.shark-article .article-layout{margin-top:0}.shark-article .prose{width:100%;min-width:0;margin-top:36px;font-size:17px;line-height:1.85;overflow-wrap:anywhere}.shark-article .prose>p{margin-block:20px}.shark-article .prose>.lead{margin-top:0;font-size:18px;line-height:1.85}.shark-article .prose h2{color:var(--accent);margin:56px 0 20px;font-size:clamp(24px,3vw,28px);line-height:1.3;letter-spacing:-.03em;scroll-margin-top:28px}.shark-article .prose h3{margin:32px 0 14px;font-size:21px;letter-spacing:-.02em}.shark-article .prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px}.shark-article .prose li{margin-block:12px;padding-left:5px}.shark-article .prose ol,.shark-article .prose ul{padding-left:23px}.shark-article code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.84em;background:var(--surface);border-radius:3px;padding:.15em .3em}.shark-article .callout,.shark-article .inline-cta{margin-block:32px;padding-block:24px;border-block:1px solid var(--border)}.shark-article .callout:not(.warn) p{font-family:var(--font-editorial),serif;font-style:italic;font-size:clamp(25px,3vw,30px);line-height:1.45;letter-spacing:-.01em}.shark-article .callout:not(.warn) strong{color:var(--accent);font-weight:400}.shark-article .prose>p em{font-family:var(--font-editorial),serif;font-size:1.2em}.shark-article .callout-head{font-family:var(--font-display),sans-serif;font-weight:600;margin-bottom:8px}.shark-article .warn{padding:24px;background:var(--surface);border:0;border-radius:6px}.shark-article .fact-grid{display:flex;flex-wrap:wrap;gap:20px 32px;margin-block:30px;padding-block:20px;border-block:1px solid var(--border)}.shark-article .fact{display:flex;align-items:baseline;gap:9px;font-size:13px}.shark-article .fact b{font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shark-article .step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:18px;margin-block:30px}.shark-article .step h3{margin-top:0}.shark-article .num{padding-top:2px;color:var(--accent);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shark-article .shark{padding-block:22px;border-bottom:1px solid var(--border)}.shark-article .shark .label{color:var(--accent);font-size:12px;margin-bottom:5px}.shark-article .shark>strong{display:block;font-size:19px;margin-bottom:8px}.shark-article .code-wrap{margin-block:26px;background:var(--surface);border-radius:6px;overflow:hidden}.shark-article .code-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 18px;border-bottom:1px solid var(--border);font-size:12px;line-height:1.5}.shark-article .code-top button{flex-shrink:0;min-width:60px;min-height:44px;border:0;background:transparent;color:var(--accent);font-size:12px;border-radius:4px}.shark-article .code-top button:hover{background:var(--wash)}.shark-article pre{margin:0;padding:22px;overflow-x:auto;font-size:14px;line-height:1.8}.shark-article pre code{padding:0;border-radius:0;background:transparent;font-size:inherit}.shark-article .table-scroll:focus-visible,.shark-article pre:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.shark-article .table-scroll{overflow-x:auto;margin-block:26px}.shark-article table{width:100%;min-width:580px;border-collapse:collapse;font-size:14px;line-height:1.7;text-align:left}.shark-article td,.shark-article th{padding:16px;border-bottom:1px solid var(--border);vertical-align:top}.shark-article th{background:var(--surface);font-weight:600}.shark-article .timeline>div{padding-block:20px;border-bottom:1px solid var(--border)}.shark-article .timeline p{margin-top:8px}.shark-article details{padding-block:6px;border-bottom:1px solid var(--border)}.shark-article summary{padding:16px 24px 16px 0;font-weight:550;position:relative}.shark-article summary:after{content:"+";position:absolute;right:0;color:var(--accent)}.shark-article details[open] summary:after{content:"−"}.shark-article details p{padding-bottom:20px}.shark-article .inline-cta p{margin-top:10px}.shark-article .cta-link{display:inline-block;padding-block:14px 2px}.shark-article .sources{margin-top:48px;font-size:14px;color:var(--secondary)}.shark-article .article-contents{padding-block:0}.shark-article .article-contents summary{min-height:56px;padding-block:16px;color:var(--secondary);font-size:13px;font-weight:500}.shark-article .toc{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding-bottom:20px;font-size:13px;line-height:1.5}.shark-article .toc a{display:flex;align-items:center;min-height:44px;color:var(--secondary)}.shark-article .toc a:hover{color:var(--accent);text-decoration:underline}.shark-article .article-footer{display:flex;justify-content:space-between;gap:24px;max-width:720px;margin-top:64px;padding-block:30px 60px;border-top:1px solid var(--border);font-size:13px;color:var(--accent)}@media (max-width:600px){.shark-article{width:calc(100% - 40px);margin-top:40px}.shark-article .article-hero{padding-top:22px;padding-bottom:28px}.shark-article .subtitle{font-size:17px}.shark-article .prose{font-size:16px}.shark-article .prose>.lead{font-size:18px}.shark-article .prose h2{margin-top:48px}.shark-article .warn{padding:22px}.shark-article .toc{grid-template-columns:1fr}.shark-article .code-top{padding-inline:14px}.shark-article pre{padding:18px;font-size:13px}}