:root { --case-muted: #a2b0c3; --case-rule: #2a394d; --case-red: #f16a7c; --case-cyan: #7fcce7; }
.case-kicker,.case-edition { font: 600 11px/1.7 'JetBrains Mono',monospace; letter-spacing: .1em; text-transform: uppercase; }
.case-kicker { color: var(--case-red); }
.case-edition { color: #8193ae; }
.accountability-section p,.enforcement-focus p { font: 13.0px/1.9 'Inter',sans-serif; color: var(--case-muted); }
.accountability-section h3,.enforcement-focus h3 { color: #eef3fb; font-weight: 750; letter-spacing: -.025em; line-height: 1.35; }
.accountability-section a,.enforcement-focus a { text-underline-offset: 4px; }
.case-section-heading { max-width: 910px; }
.case-section-heading h2 { margin: 13px 0 17px; text-transform: uppercase; color: #f0f4fc; font-weight: 900; }
.case-section-heading>p { max-width: 840px; }
.case-section-heading>.case-kicker::before { content: ''; display: inline-block; width: 24px; height: 1px; background: currentColor; vertical-align: middle; margin-right: 12px; }
.case-spread { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 38px; }
.case-prose h3 { font-size: 29.0px; margin: 15px 0 20px; }
.case-prose>p { margin: 14px 0; }
.case-prose blockquote { border-left: 2px solid var(--case-red); margin: 25px 0; padding: 2px 0 2px 21px; color: #e7edf7; font: italic 21px/1.7 Georgia,serif; }
.case-source { font: 11.0px/1.9 'JetBrains Mono',monospace !important; color: #8fa3bf !important; margin-top: 19px; overflow-wrap: anywhere; }
.case-source a,.case-text-link,.case-legal-note a,.case-method-note a { color: var(--case-cyan); }
.case-source a:hover,.case-text-link:hover,.case-legal-note a:hover,.case-method-note a:hover { text-decoration: underline; }
.case-legal-note { border-left: 2px solid #527e96; background: #16233485; padding: 19px 22px; margin-top: 22px; }
.case-legal-note p { margin-top: 9px; font-size: 12.0px; }
.case-legal-note>.case-kicker { color: var(--case-cyan); }
.case-text-link { display: inline-block; margin-top: 15px; font: 600 11px/1.8 'Inter',sans-serif; }
.case-disclosure { border-top: 1px solid var(--case-rule); border-bottom: 1px solid var(--case-rule); margin: 25px 0; }
.case-disclosure summary { cursor: pointer; padding: 17px 0; list-style: none; display: flex; justify-content: space-between; gap: 18px; color: #d5dfef; font: 600 12px/1.7 'Inter',sans-serif; }
.case-disclosure summary::-webkit-details-marker { display: none; }
.case-disclosure summary>span { font-size: 19.0px; font-weight: 400; color: var(--case-red); transition: transform .2s; }
.case-disclosure[open] summary>span { transform: rotate(45deg); }
.case-disclosure>div { padding-bottom: 18px; }
.case-disclosure p+p { margin-top: 12px; }
.case-disclosure strong { color: #f1d4dc; }
.surveillance-panel { padding: 29px; border: 1px solid #583043; border-top: 2px solid #d4546e; border-radius: 10px; background: radial-gradient(ellipse at 100% 0,#6a263122,transparent 65%),#0c1420; }
.surveillance-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 13px; padding-bottom: 20px; border-bottom: 1px solid #513043; }
.case-status { color: #f9b1be; border: 1px solid #754152; padding: 4px 9px; background: #6d29382b; font: 600 11px/1.5 'JetBrains Mono',monospace; text-transform: uppercase; white-space: nowrap; }
.surveillance-panel h3 { font-size: 30.0px; margin: 24px 0 13px; }
.surveillance-capabilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 25px; margin-top: 24px; }
.surveillance-capabilities>div { padding: 17px 0; border-top: 1px solid #2b3447; }
.surveillance-capabilities dt { font: 600 12px/1.8 'Inter',sans-serif; color: #e4e9f3; margin-bottom: 8px; }
.surveillance-capabilities dt>span { font: 11.0px 'JetBrains Mono',monospace; margin-right: 8px; color: #c96d82; }
.surveillance-capabilities dd { color: #94a4bc; font: 11.0px/1.9 'Inter',sans-serif; }
.case-bottom-line,.case-law-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px; }
.case-bottom-line { border-top: 1px solid var(--case-rule); padding-top: 27px; align-items: start; }
.case-bottom-line h3,.case-law-columns h3 { font-size: 21.0px; margin: 13px 0; }
.case-bottom-line .case-legal-note { margin: 0; }
.case-law-columns>div { padding: 6px 0 0 22px; border-left: 1px solid #35475e; }
.case-method-note { border: 1px solid var(--case-rule); border-radius: 6px; padding: 17px 21px; font-size: 11.0px !important; }
.case-method-note strong { color: #d3deed; }
.case-actions { display: flex; flex-wrap: wrap; gap: 13px 26px; margin-top: 19px; }
.case-actions>a { font: 600 11px/1.7 'Inter',sans-serif; color: var(--case-cyan); }
.case-actions>a:hover { text-decoration: underline; }
.revenue-explorer { border: 1px solid #3b475a; border-radius: 11px; background: linear-gradient(120deg,#152335,#0c1522 70%); overflow: hidden; scroll-margin-top: 170px; }
.revenue-explorer-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 29px 32px; }
.revenue-explorer-head h3 { margin-top: 9px; font-size: 27.0px; }
.revenue-explorer-head .case-kicker { color: #e6b66c; }
.revenue-tabs { display: flex; gap: 5px; padding: 0 27px; border-bottom: 1px solid #32445b; }
.revenue-tabs button { color: #a6b3c7; padding: 15px 18px; border-bottom: 2px solid transparent; background: transparent; font: 500 11px/1.7 'JetBrains Mono',monospace; }
.revenue-tabs button[aria-selected=true] { color: #f2c484; border-bottom-color: #edb262; background: #e8b26b09; }
.revenue-tabs button:hover { box-shadow: none !important; color: #f5d4a3; transform: none !important; }
.revenue-panel { padding: 32px; }
.revenue-panel[hidden] { display: none; }
.money-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; list-style: none; padding: 0; margin: 0; }
.money-flow>li { position: relative; padding: 20px; background: #0a121fb3; border: 1px solid #36465c; border-radius: 6px; }
.money-flow>li+li::before { content: '→'; position: absolute; left: -27px; top: 40%; color: #ddae75; font-size: 20.0px; }
.money-flow>li>span { display: block; color: #90a5c2; font: 11.0px/1.7 'JetBrains Mono',monospace; text-transform: uppercase; }
.money-flow strong { display: block; color: #e6eef9; font: 650 18px/1.5 'Inter',sans-serif; margin: 11px 0 7px; }
.money-flow p { font-size: 11.0px; }
.flow-result { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.3fr); align-items: center; gap: 32px; border-top: 1px solid #2e4056; padding-top: 25px; margin-top: 26px; }
.flow-result>strong { color: #f1c689; font: 700 clamp(28px,3vw,42px)/1.2 'Inter',sans-serif; letter-spacing: -.04em; }
.flow-result small { display: block; color: #9fb0c9; font: 11.0px/1.7 'JetBrains Mono',monospace; letter-spacing: 0; max-width: 230px; margin-top: 11px; }
.flow-result>p { font-size: 12.0px; }
.dsa-spread { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.65fr); gap: 40px; align-items: start; }
.dsa-timeline { padding-left: 40px; }
.dsa-timeline>div { position: relative; padding: 0 0 31px 25px; border-left: 1px solid #48536b; }
.dsa-timeline>div:last-child { padding-bottom: 0; }
.timeline-node { position: absolute; top: -2px; left: -16px; width: 31px; height: 31px; background: #111b29; border: 1px solid #53637b; display: grid; place-items: center; color: #adbad0; font: 11.0px 'JetBrains Mono',monospace; border-radius: 50%; }
.dsa-timeline h3 { font-size: 22.0px; margin: 9px 0; }
.dsa-timeline p { max-width: 680px; font-size: 12.0px; }
.dsa-fine { border-top: 2px solid #ed667b; background: linear-gradient(145deg,#301c2b,#152235); padding: 27px; border-radius: 0 0 8px 8px; }
.dsa-fine>strong { display: block; color: #f7a9b8; font: 800 126px/1.2 'Inter',sans-serif; letter-spacing: -.08em; margin: 17px 0 4px; }
.dsa-fine>strong>span { font-size: 61.0px; }
.dsa-fine h3 { font-size: 19.0px; max-width: 210px; margin-bottom: 15px; }
.dsa-fine p { font-size: 11.0px; }
.age-bridge { display: grid; grid-template-columns: minmax(0,1fr) 75px minmax(0,1fr); align-items: center; padding: 27px 32px; border: 1px solid #38475c; border-radius: 9px; background: linear-gradient(110deg,#162a3a,#151c2a); }
.age-bridge strong { display: block; font: 700 26.0px/1.4 'Inter',sans-serif; color: #e9eff9; margin: 12px 0; letter-spacing: -.025em; }
.age-bridge-symbol { text-align: center; font: 300 47px 'Inter',sans-serif; color: #e991a0; }
.age-bridge .case-kicker { color: #7cbfdb; }
.age-bridge>div:last-child .case-kicker { color: #eaa2b0; }
.dsar-layout { display: grid; grid-template-columns: minmax(0,.77fr) minmax(0,1.23fr); gap: 36px; align-items: start; }
.dsar-steps { list-style: none; padding: 0; margin: 0; }
.dsar-steps>li { display: flex; gap: 18px; padding: 20px 0; border-top: 1px solid var(--case-rule); }
.dsar-steps>li>span { font: 500 11px/1.6 'JetBrains Mono',monospace; color: var(--case-cyan); padding-top: 4px; }
.dsar-steps h3 { font-size: 19.0px; margin-bottom: 9px; }
.dsar-steps p { font-size: 12.0px; }
.dsar-steps a { color: var(--case-cyan); font: 11.0px/1.8 'JetBrains Mono',monospace; display: inline-block; margin-top: 9px; }
.dsar-paper { padding: 30px 32px 19px; background: #eeeae1; color: #26323f; border-top: 4px solid #b64157; border-radius: 4px; box-shadow: 0 20px 45px #0003; min-width: 0; }
.dsar-paper-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; border-bottom: 1px solid #b4b5b1; padding-bottom: 16px; color: #57575a; font: 11.0px/1.7 'JetBrains Mono',monospace; text-transform: uppercase; letter-spacing: .08em; }
.dsar-paper h3 { color: #293544; font: 700 25.0px/1.35 Georgia,serif; letter-spacing: -.01em; margin: 20px 0 8px; }
.dsar-paper .dsar-paper-caption { color: #726d68; font-size: 11.0px; }
.dsar-paper #dsar-template { margin: 22px 0; white-space: pre-wrap; overflow-wrap: anywhere; font: 13.0px/1.85 Georgia,serif !important; color: #303c48; background: transparent; border: 0; padding: 0; }
.dsar-paper-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 20px; border-top: 1px solid #c4c3ba; }
.dsar-paper-actions button,.dsar-paper-actions a { display: flex; justify-content: space-between; align-items: center; gap: 23px; padding: 11px 16px; border-radius: 4px; background: #24374b; color: #f2f2eb; font: 600 11px/1.7 'Inter',sans-serif; }
.dsar-paper-actions a { background: transparent; border: 1px solid #939997; color: #35434b; }
.dsar-paper-actions button:disabled { opacity: .45; cursor: default; }
.dsar-copy-status { min-height: 22px; margin-top: 10px; color: #42634d !important; font-size: 11.0px !important; }
.evidence-conclusion { padding: 26px 30px; border: 1px solid #3b5268; background: linear-gradient(115deg,#16324577,#15233444); border-radius: 7px; }
.evidence-conclusion h3 { font-size: 24.0px; margin: 11px 0 13px; }
.evidence-conclusion .case-kicker { color: var(--case-cyan); }
.enforcement-focus { padding: 31px 0 0; margin-top: 31px; border-top: 1px solid #3f4359; }
.focus-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.enforcement-focus>h3 { font-size: clamp(24px,2.6vw,35px); margin: 13px 0; }
.enforcement-focus .focus-intro { max-width: 910px; font-size: 13.0px; }
.enforcement-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 25px 0; border-block: 1px solid #3b3c50; }
.enforcement-stats>div { padding: 23px 19px; border-right: 1px solid #3b3c50; }
.enforcement-stats>div:first-child { padding-left: 0; }
.enforcement-stats>div:last-child { border-right: 0; }
.enforcement-stats strong { display: block; font: 700 clamp(24px,2.8vw,37px)/1.35 'Inter',sans-serif; color: #f0d8d9; letter-spacing: -.04em; }
.enforcement-stats span { display: block; color: #9bacc3; font: 11.0px/1.7 'JetBrains Mono',monospace; margin-top: 9px; }
.rule-line { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.4fr) minmax(0,.7fr); gap: 27px; align-items: center; padding: 23px 0; border-bottom: 1px solid #303c4e; }
.rule-line h4 { color: #eff1f8; font: 650 17px/1.5 'Inter',sans-serif; margin-top: 7px; }
.rule-line p { font-size: 12.0px; }
.rule-line>a { font: 500 11px/1.8 'JetBrains Mono',monospace; color: var(--case-cyan); }
.trust-question { margin-top: 28px; padding: 25px 28px; border-left: 2px solid #e7a69f; background: #111a26; }
.trust-question h4 { font: 700 22.0px/1.45 'Inter',sans-serif; color: #e6ecf7; margin: 11px 0; letter-spacing: -.025em; }
.trust-question p { font-size: 12.0px; }
@keyframes flow-enter {
  from { opacity: 1; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion:no-preference) {
  .revenue-explorer.is-interactive .revenue-panel:not([hidden]) { animation: flow-enter .3s ease both; }
}
@media (max-width:1050px) {
  .case-spread { gap: 25px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .surveillance-capabilities { grid-template-columns: 1fr; }
  .surveillance-panel { padding: 23px; }
  .money-flow { gap: 25px; }
  .money-flow>li { padding: 17px; }
  .money-flow>li+li::before { left: -21px; }
  .dsar-layout { gap: 25px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsar-paper { padding: 24px; }
  .rule-line { gap: 20px; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); }
  .rule-line>a { grid-column: 2; }
  .dsa-spread { gap: 25px; }
}
@media (max-width:767px) {
  .case-spread,.case-bottom-line,.case-law-columns,.dsar-layout,.dsa-spread { grid-template-columns: 1fr; gap: 26px; }
  .case-prose h3 { font-size: 25.0px; }
  .surveillance-capabilities { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
  .surveillance-panel h3 { font-size: 26.0px; }
  .revenue-explorer-head { padding: 23px; }
  .revenue-explorer-head h3 { font-size: 23.0px; }
  .revenue-tabs { padding: 0 12px; gap: 0; justify-content: space-between; }
  .revenue-tabs button { font-size: 11.0px; padding: 12px 8px; line-height: 1.9; }
  .revenue-panel { padding: 23px; }
  .money-flow { grid-template-columns: 1fr; gap: 26px; }
  .money-flow>li+li::before { content: '↓'; left: calc(50% - 6px); top: -27px; font-size: 18.0px; }
  .money-flow strong { font-size: 19.0px; margin: 6px 0; }
  .flow-result { grid-template-columns: 1fr; gap: 18px; margin-top: 23px; }
  .flow-result small { max-width: none; }
  .flow-result>strong { font-size: 35.0px; }
  .dsa-timeline { padding-left: 16px; }
  .dsa-fine { padding: 23px; display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 8px 23px; align-items: center; }
  .dsa-fine>.case-kicker { grid-column: 1/-1; }
  .dsa-fine>strong { font-size: 84.0px; grid-row: 2/4; margin: 0; }
  .dsa-fine>strong>span { font-size: 42.0px; }
  .dsa-fine h3 { font-size: 18.0px; margin: 8px 0 0; }
  .dsa-fine p { grid-column: 2; font-size: 11.0px; }
  .age-bridge { grid-template-columns: 1fr; gap: 10px; padding: 23px; }
  .age-bridge strong { font-size: 23.0px; }
  .age-bridge-symbol { text-align: left; font-size: 35.0px; }
  .dsar-paper #dsar-template { font-size: 13.0px !important; }
  .dsar-paper { padding: 24px 23px 14px; }
  .evidence-conclusion { padding: 22px; }
  .evidence-conclusion h3 { font-size: 22.0px; }
  .focus-heading>.case-edition { font-size: 11.0px; }
  .enforcement-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .enforcement-stats>div { padding: 18px; }
  .enforcement-stats>div:nth-child(2) { border-right: 0; }
  .enforcement-stats>div:nth-child(3) { padding-left: 0; border-top: 1px solid #3b3c50; }
  .enforcement-stats>div:nth-child(4) { border-top: 1px solid #3b3c50; }
  .enforcement-stats strong { font-size: 29.0px; }
  .rule-line { grid-template-columns: 1fr; gap: 11px; }
  .rule-line>a { grid-column: auto; }
  .trust-question { padding: 21px; }
  .trust-question h4 { font-size: 20.0px; }
}
@media (max-width:440px) {
  .surveillance-capabilities { grid-template-columns: 1fr; }
  .revenue-tabs button { font-size: 11.0px; padding: 12px 6px; }
  .case-kicker,.case-edition { font-size: 11.0px; }
  .dsa-fine { grid-template-columns: 90px minmax(0,1fr); gap: 10px 18px; }
  .dsa-fine>strong { font-size: 75.0px; }
  .dsa-fine>strong>span { font-size: 37.0px; }
  .dsar-paper-actions a,.dsar-paper-actions button { padding: 10px 12px; gap: 15px; }
  .enforcement-focus p { font-size: 12.0px; }
}
@media print {
  .revenue-panel[hidden] { display: block !important; }
  .revenue-panel { break-inside: avoid; border-bottom: 1px solid #aaa; }
  .case-spread,.case-bottom-line,.case-law-columns,.dsar-layout,.dsa-spread { display: block; }
  .accountability-section,.enforcement-focus { break-inside: auto !important; }
  .accountability-section p,.accountability-section h3,.accountability-section strong,.accountability-section a,.accountability-section dd,.accountability-section dt,.accountability-section .case-kicker,.enforcement-focus * { color: #222 !important; }
  .surveillance-panel,.dsar-paper,.dsa-fine,.evidence-conclusion,.revenue-explorer,.case-legal-note,.trust-question,.age-bridge,.money-flow>li { background: #fff !important; box-shadow: none !important; }
  .case-disclosure>div { display: block !important; }
  .case-disclosure summary>span { display: none; }
  .money-flow>li { border-color: #aaa; }
  .dsar-paper { margin-top: 25px; }
  .dsa-fine>strong { font-size: 65.0px; }
  .surveillance-capabilities { grid-template-columns: repeat(2,1fr); }
}
.rule-record { grid-column: 1 / -1; margin-top: 4px; padding: 14px 16px; border: 1px solid #2f3f52; border-left: 3px solid var(--case-cyan); border-radius: 4px; background: #0e1722; transition: border-color .2s ease, background-color .2s ease; }
.rule-record-head { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; justify-content: space-between; }
.rule-record-head span { color: var(--case-cyan); font: 700 11.0px/1.5 'JetBrains Mono', monospace; letter-spacing: .13em; text-transform: uppercase; }
.rule-record-head b { color: #eff4f9; font: 700 13.0px/1.4 'JetBrains Mono', monospace; }
.rule-record-classes { display: flex; flex-wrap: wrap; gap: 6px; margin: 11px 0 0; padding: 0; list-style: none; }
.rule-record-classes li { display: inline-flex; align-items: baseline; gap: 6px; padding: 3px 9px; border: 1px solid #33455a; border-radius: 99px; color: #b3c4d3; font: 500 11px/1.6 'Inter', sans-serif; }
.rule-record-classes b { color: #e7eff6; font-weight: 700; }
.rule-record-examples { margin: 11px 0 0; padding: 0; list-style: none; }
.rule-record-examples li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 5px 0; border-top: 1px solid #1d2938; font: 500 11px/1.6 'JetBrains Mono', monospace; }
.rule-record-examples code { color: #e6b3ba; background: none; padding: 0; }
.rule-record-examples code.is-auth { color: #8fd3e0; }
.rule-record-examples i { color: #63788c; font-style: normal; }
.rule-record-examples .is-direct { color: #7b8ea1; }
.rule-record-examples em { margin-left: auto; color: #8ea2b4; font: 500 11px/1.6 'Inter', sans-serif; font-style: normal; }
.rule-record-note { margin: 10px 0 0 !important; color: #8195a8 !important; font: 400 11px/1.65 'Inter', sans-serif !important; }
@media (hover: hover) and (pointer: fine) {
  .rule-line:hover .rule-record { border-color: #46627a; border-left-color: #a9e2f1; background: #101c29; }
}
.rule-line:focus-within .rule-record { border-color: #46627a; border-left-color: #a9e2f1; }
@media screen {
  .casework .rule-record.motion-in-view .rule-record-examples li { animation: route-step-in .42s cubic-bezier(.2,.75,.3,1) both; }
  .casework .rule-record.motion-in-view .rule-record-examples li:nth-child(1) { animation-delay: .06s; }
  .casework .rule-record.motion-in-view .rule-record-examples li:nth-child(2) { animation-delay: .15s; }
  .casework .rule-record.motion-in-view .rule-record-examples li:nth-child(3) { animation-delay: .24s; }
  .casework .rule-record.motion-in-view .rule-record-classes li { animation: route-step-in .38s cubic-bezier(.2,.75,.3,1) both; }
  .casework .rule-record.motion-in-view .rule-record-classes li:nth-child(2) { animation-delay: .05s; }
  .casework .rule-record.motion-in-view .rule-record-classes li:nth-child(3) { animation-delay: .1s; }
  .casework .rule-record.motion-in-view .rule-record-classes li:nth-child(4) { animation-delay: .15s; }
}
@media print {
  .rule-record { background: #fff !important; border-color: #bbb !important; }
  .rule-record-examples code, .rule-record-head b { color: #111 !important; }
}
@media (max-width: 720px) {
  .rule-record-examples em { margin-left: 0; width: 100%; }
}
.rule-record-overlap { margin: 10px 0 0 !important; padding-top: 9px; border-top: 1px solid #1d2938; color: #b0c2d2 !important; font: 400 11px/1.65 'Inter', sans-serif !important; }
.rule-record-overlap b { color: #e9f1f7; font-weight: 700; }
.rule-record-overlap:empty { display: none; }
