.case-section{min-width:0}.platform .case-index-header p{max-width:none}.case-section h1,.case-section h2,.case-section h3{text-wrap:balance}.case-section h2{font-size:28px;line-height:1.25}.case-section h3{font-size:23px;line-height:1.3}.case-section :is(h2,h3)[id]{scroll-margin-top:110px}.case-section a:not(.case-primary):hover{color:rgb(var(--accent))}.case-contents summary{cursor:pointer;min-height:28px;font-weight:500}.case-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0 24px}.case-filter-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.case-filter-row .filter-control{min-width:0}.case-filter-row .filter-control select{width:100%;min-width:0}.case-results{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0}.case-results button,.case-text-button{text-decoration:underline;text-underline-offset:4px;padding:6px 0;min-height:30px;color:rgb(var(--accent))}.case-grid{display:grid;margin-top:24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.case-card{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px;min-width:0}.case-card h2{font-size:27px}.case-card h2 a:after{content:"";position:absolute;inset:0;border-radius:inherit}.case-card-purchase{position:relative;z-index:1;margin-top:auto}.case-card:focus-within{outline:2px solid rgb(var(--accent));outline-offset:4px}.case-card p{margin:0;font-size:14px}.case-card-meta,.case-skills{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:12px}.case-chip{display:inline-block;padding:3px 9px;border:1px solid rgb(var(--neutral-200));border-radius:99px;font-size:12px;overflow-wrap:anywhere}.case-reference{margin-left:auto;color:rgb(var(--muted));white-space:nowrap}.case-facts-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;border-top:1px solid rgb(var(--neutral-200));padding-top:16px;margin-top:auto;font-size:13px}.case-difficulty{display:inline-flex;align-items:center;gap:9px}.case-dots{display:inline-flex;gap:3px}.case-dots>span{width:8px;height:8px;border:1px solid rgb(var(--muted));border-radius:50%}.case-dots>span[data-filled=true]{background:rgb(var(--ink));border-color:rgb(var(--ink))}.case-header{max-width:920px;margin:32px 0 44px}.case-header h1{margin:20px 0 14px}.case-header .case-standfirst{font-size:18px;margin:18px 0 28px;max-width:850px}.case-header dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:24px;border-block:1px solid rgb(var(--neutral-200));font-variant-numeric:tabular-nums}.case-header dt,.case-meta-label{color:rgb(var(--muted));font-size:12px;margin-bottom:6px}.case-header dd{margin:0}.case-meta-label{margin-top:24px}.case-header ul{list-style:disc;padding-left:20px}.case-reader{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:52px;align-items:start}.case-body{grid-column:1;grid-row:1;min-width:0}.case-side{grid-column:2;grid-row:1;position:sticky;top:104px;max-height:calc(100svh - 128px);overflow-y:auto;overscroll-behavior:contain;padding:4px;font-size:13px}.case-contents{margin-bottom:22px}.case-contents nav{padding-top:12px}.case-contents ul,.case-files ul{list-style:none;margin:0;padding:0}.case-contents li{margin-block:3px}.case-contents li[data-nested=true]{padding-left:16px;font-size:12px}.case-contents a,.case-contents li>span{display:flex;align-items:baseline;gap:7px;padding:4px 0;min-height:26px;color:rgb(var(--muted))}.case-contents a[aria-current=location]{color:rgb(var(--accent));font-weight:500}.case-files{border-top:1px solid rgb(var(--neutral-200));padding-top:20px}.case-panel-label{font-weight:500;font-size:15px}.case-file-group{margin:20px 0 10px;font-weight:500}.case-files a{display:flex;gap:9px;align-items:baseline;padding-block:8px;color:rgb(var(--accent))}.case-files small{display:block;color:rgb(var(--muted));font-size:12px;margin-top:3px}.case-locked-item{display:flex;align-items:baseline;gap:9px;padding-block:5px;color:rgb(var(--muted))}.case-locked-item svg{flex-shrink:0}.case-panel{background:rgb(var(--surface));border:1px solid rgb(var(--neutral-200));padding:28px;border-radius:8px}.case-panel>p{margin-bottom:18px}.case-panel ul{list-style:none;padding:0}.case-panel-title{font-family:var(--font-serif);font-size:26px;line-height:1.3}.case-locked-panel{margin-top:32px}.case-locked-panel>p:last-of-type{margin-top:28px}.case-primary{display:inline-flex;justify-content:center;align-items:center;border-radius:99px;background:#445be6;color:#fff;padding:12px 23px;font-size:14px;min-height:44px;margin-top:8px}.case-primary:hover{background:#354bc9;color:#fff}.case-primary:disabled{opacity:.7}.case-prose{overflow-wrap:anywhere}.case-prose h2,.case-solution>h2{margin:44px 0 22px;padding-top:24px;border-top:1px solid rgb(var(--neutral-200))}.case-prose:first-child>h2:first-child{margin-top:0}.case-prose h3{margin:32px 0 18px}.case-prose p{margin:16px 0}.case-prose ol,.case-prose ul{padding-left:24px;margin-block:18px}.case-prose ul{list-style-type:disc}.case-prose ol{list-style-type:decimal}.case-prose li{margin:7px 0}.case-prose li>ol,.case-prose li>ul{margin-block:8px}.case-prose blockquote{padding:10px 24px;margin:24px 0;border-left:2px solid rgb(var(--muted));background:rgb(var(--surface))}.case-prose code{font-size:.9em;background:rgb(var(--surface));padding:2px 5px;border-radius:3px}.case-note{color:rgb(var(--muted))}.case-table{overflow-x:auto;max-width:100%;margin:16px 0 28px;font-variant-numeric:tabular-nums}.case-table table{border-collapse:collapse;width:100%;font-size:13px}.case-table td,.case-table th{padding:10px 12px;border-bottom:1px solid rgb(var(--neutral-200));vertical-align:top}.case-table th{font-weight:500;color:rgb(var(--muted));text-align:left}.case-table [align=right]{text-align:right;white-space:nowrap}.platform[data-theme=dark] .case-section{--accent:158 170 255}@media (max-width:1023px){.case-reader{display:flex;flex-direction:column;gap:32px}.case-side{position:static;max-height:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:0}.case-body{width:100%}.case-files{border-top:0;padding-top:0}}@media (max-width:767px){.case-filter-row{grid-template-columns:minmax(0,1fr);gap:12px}}@media (max-width:640px){.case-grid,.case-side{grid-template-columns:minmax(0,1fr)}.case-card{padding:22px}.case-header dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.case-header h1{overflow-wrap:anywhere}.case-panel{padding:22px}}