.playback-cases{padding-top:38px;padding-bottom:56px;min-width:0}.case-intro{margin-bottom:30px}.case-intro h1{font-size:clamp(30px,4vw,48px);margin:8px 0}.case-intro p,.incident-header p{color:#aebed0;margin:8px 0}.incident{border-top:1px solid #354452;padding-top:26px}.incident-header h2{font-size:clamp(24px,3vw,34px);margin:10px 0;max-width:960px}.incident-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:28px 0}.incident-summary section{border-left:2px solid #5f9f99;padding-left:18px;min-width:0}.case-number{font-size:14px;color:var(--mint)}.incident-summary h3{margin:10px 0;font-size:20px}.incident-summary p{margin:0;color:#bfccd8;line-height:1.8}.incident-summary small{display:block;color:#a3b2c2;margin-top:10px}.incident-flow{padding:20px 0;border-top:1px solid #293844;border-bottom:1px solid #293844}.incident-flow h3{margin:0 0 16px}.flow-scroll{overflow-x:auto;padding-bottom:6px;max-width:100%}.flow-scroll ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;min-width:850px;margin:0;padding:0}.flow-scroll li{position:relative;background:#13212b;border:1px solid #304555;border-radius:7px;padding:14px;min-width:0}.flow-scroll li+li:before{content:'→';position:absolute;left:-19px;top:42%;color:#a6c3d0}.flow-scroll small,.flow-scroll strong,.flow-scroll span{display:block}.flow-scroll small{color:#85dfc9;font-size:14px}.flow-scroll strong{margin:7px 0;font-size:18px}.flow-scroll span{font-size:14px;color:#b2c1d1}.flow-scroll .fault-node{border-color:#c38a56;background:#30251e}.fault-node small{color:#f4be7d}.flow-caption{color:#aebdcd;margin-bottom:0}.patch-comparison{padding:26px 0}.comparison-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}.comparison-heading h3{margin:0}.comparison-heading>span{color:var(--mint);font-size:15px}.patch-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:16px}.patch-columns section{min-width:0}.patch-columns small{color:#97b4c4}.patch-columns h4{font-size:19px;margin:8px 0}.patch-columns pre{max-width:100%;overflow:auto;background:#101b25;border:1px solid #2e414f;border-radius:6px;padding:14px;font:14px/1.8 Consolas,monospace}.patch-columns p{color:#b9c8d5}.patch-columns a,.case-evidence a{color:var(--mint)}.upstream-rule{padding:14px;background:#14272b;border-radius:6px;line-height:1.9}.case-evidence details{border-top:1px solid #30404e;padding:16px 0}.case-evidence summary{font-size:17px;cursor:pointer}.case-evidence p,.trace-list{color:#afc0cf;line-height:1.8}.case-evidence code{overflow-wrap:anywhere}.header-bytes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.header-bytes>div{padding:14px;background:#15232d;border:1px solid #3b5360;border-radius:6px}.header-bytes .protected-byte{border-color:#ae875d}.header-bytes small,.header-bytes strong{display:block}.header-bytes strong{font-size:16px;margin-top:6px}.playback-cases :focus-visible{outline:2px solid var(--mint);outline-offset:4px}@media(max-width:760px){.playback-cases{padding-top:24px}.incident-summary{grid-template-columns:1fr;gap:20px}.patch-columns{grid-template-columns:1fr;gap:20px}.header-bytes{grid-template-columns:1fr}.incident-summary{margin:22px 0}.flow-scroll ol{min-width:850px}}
.byte-analysis{padding:24px 0;border-bottom:1px solid #30404e}.byte-analysis>h3{margin:0 0 12px}.byte-analysis p{color:#b8c8d6;line-height:1.8}.byte-figure{margin:20px 0}.byte-figure figcaption{font-size:16px;margin-bottom:10px}.byte-figure figcaption>span{color:var(--mint);margin-left:12px}.byte-scroll{overflow-x:auto;max-width:100%;padding-bottom:5px}.sample-layout{display:grid;grid-template-columns:2fr 1.4fr 1.4fr 2fr;min-width:720px;gap:3px}.sample-layout>div{padding:14px;background:#152b2c;border:1px solid #46756d;text-align:center}.sample-layout small,.sample-layout strong,.sample-layout span{display:block}.sample-layout small{color:#a8bdcb}.sample-layout strong{font-size:17px;margin:6px 0}.sample-layout .cipher-cell{background:#30251e;border-color:#a38058}.sample-layout p{margin:2px 0 0;padding:7px;border-top:2px solid;font-size:14px;text-align:center}.sample-layout .clear-range{grid-column:1/3;color:#8fdfc9}.sample-layout .cipher-range{grid-column:3/5;color:#f0bc84}.nal-bits{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:720px}.nal-bits>div{border:1px solid #46756d;background:#152b2c;padding:12px}.nal-bits .second-byte{background:#30251e;border-color:#a38058}.nal-bits small{display:block;margin-bottom:10px;color:#c7d8e2}.bit-fields{display:flex;gap:3px}.bit-fields span{flex:1;text-align:center;border:1px solid #ffffff35;padding:9px 6px;white-space:nowrap}.bit-fields b{font-weight:400;color:#b7c5d2}.diagram-note{font-size:14px;margin:5px 0}.byte-explanation{padding-left:22px;line-height:1.9;color:#b8c8d6}.byte-explanation li{margin:12px 0}.byte-explanation strong{color:#edf3f7}.byte-takeaway{border-left:2px solid var(--mint);padding-left:14px}.byte-analysis details{padding-top:8px}.byte-analysis summary{cursor:pointer}.byte-analysis a{color:var(--mint)}.byte-scroll:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.case-intro{margin-bottom:22px}.incident-header h2{font-size:clamp(24px,3vw,32px)}.incident-header>p{display:none}.case-section{padding:22px 0;border-bottom:1px solid #30404e}.case-section>h3{font-size:22px;margin:0 0 14px}.case-section>h3>span{font:14px monospace;color:var(--mint);margin-right:12px}.case-section p{color:#bdcbd8;line-height:1.85;margin:10px 0}.case-section a{color:var(--mint)}.case-section code{overflow-wrap:anywhere}.failure-path{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;background:#121e28;border-radius:6px;color:#b9cbd7;font-size:15px}.failure-path strong{color:#efb57f}.byte-figure{margin:14px 0}.byte-figure .diagram-note{font-size:14px;margin:4px 0}.cause-explanation{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cause-explanation strong{color:#edf3f7}.cause-conclusion{border-left:2px solid var(--mint);padding-left:12px}.solution-code{margin:14px 0;padding:14px 18px;background:#111e28;border:1px solid #354958;border-radius:6px;max-width:100%;overflow:auto;font:14px/1.8 Consolas,monospace}.solution-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.solution-links small{color:#a6b8c7}.date-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding:16px 0}.date-comparison>div{border-left:2px solid #426e69;padding-left:16px}.date-comparison small,.date-comparison strong,.date-comparison span{display:block}.date-comparison strong{font-size:24px;margin:6px 0}.date-comparison span{font-size:15px;color:#b5c8d4}.date-comparison>p{text-align:center;color:var(--mint)}.date-comparison>p>strong{font-size:24px;color:var(--mint)}@media(max-width:760px){.cause-explanation{grid-template-columns:1fr;gap:0}.date-comparison{grid-template-columns:1fr;gap:12px}.date-comparison>p{text-align:left;margin:0}.date-comparison>p>strong{display:inline;margin-left:5px}.case-section{padding:20px 0}}
.source-call-chain{list-style:none;margin:20px 0;padding:0;max-width:100%}.source-call-chain li{position:relative;padding:12px 16px;margin:0 0 24px;background:#14212c;border-left:2px solid #547d79;min-width:0}.source-call-chain li:not(:last-child):after{content:'↓';position:absolute;bottom:-24px;left:22px;color:#8cbdba;line-height:24px}.source-call-chain code{display:block;font-size:14px;line-height:1.7;overflow-wrap:anywhere;white-space:normal;color:#dfedf4}.source-call-chain span{display:block;font-size:14px;color:#adbfce;margin-top:4px;line-height:1.7}.source-call-chain .trace-check{background:#30251e;border-color:#d0a072}
.date-comparison>div>a{display:inline-block;margin-top:12px;font-size:15px}
.playback-cases .case-intro{padding:12px 0 28px;margin-bottom:32px}.playback-cases .case-intro h1{font-size:clamp(38px,5vw,64px);font-weight:800;line-height:1.15;letter-spacing:.02em;margin:12px 0 18px}.gc-references{padding-left:22px;margin:16px 0;color:#afc0cf}.gc-references li{margin:14px 0;overflow-wrap:anywhere}.gc-references span{display:block;margin-top:4px;line-height:1.7;color:#afc0cf}
.memory-incident{margin-top:48px}.memory-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:20px 0;padding:0}.memory-flow li{position:relative;min-width:0;padding:16px;background:#14212c;border:1px solid #354958;border-radius:6px}.memory-flow li+li:before{content:'→';position:absolute;left:-20px;top:42%;color:#8cbdba}.memory-flow small,.memory-flow strong,.memory-flow span{display:block}.memory-flow small{color:var(--mint)}.memory-flow strong{font-size:18px;margin:8px 0}.memory-flow span{color:#b5c7d5;line-height:1.7}.memory-flow code{white-space:normal;overflow-wrap:anywhere}.memory-flow .memory-gc-node{border-color:#a38058;background:#30251e}.memory-gc-node small{color:#efb57f}.memory-incident h4{font-size:18px;margin:10px 0}.memory-solutions{margin-top:0}.memory-solutions section{min-width:0}.memory-solutions pre{white-space:pre;overflow-x:auto}.memory-patch-link{display:inline-block;padding:6px 0}.memory-attribution{border-left:2px solid #426e69;padding-left:14px;margin-top:22px!important}.memory-incident .case-evidence p{overflow-wrap:anywhere}@media(max-width:1024px){.memory-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.memory-flow li+li:before{content:none}}@media(max-width:520px){.memory-flow{grid-template-columns:1fr}.memory-flow li{padding:12px 16px}.memory-flow strong{margin:5px 0}.memory-flow span br{display:none}.memory-incident{margin-top:32px}}
