.library-page .dsa-build-up{display:grid;grid-gap:var(--cf-space-300);gap:var(--cf-space-300);margin:0;padding:0;list-style:none;counter-reset:dsa-build}.library-page .dsa-build-up li{position:relative;padding-left:var(--cf-space-600);color:var(--cf-color-text-secondary);counter-increment:dsa-build}.library-page .dsa-build-up li:before{content:counter(dsa-build);position:absolute;top:0;left:0;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-round);color:var(--cf-color-primary);font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-bold)}.library-page .dsa-build-up li+li:after{content:"";position:absolute;top:calc(-1*var(--cf-space-300));left:13px;height:var(--cf-space-300);border-left:1px solid var(--cf-color-primary-border)}.library-page .dsa-storyboard.is-loading{padding:var(--cf-space-500);color:var(--cf-color-text-tertiary)}.library-page .dsa-storyboard-input{margin:0 0 var(--cf-space-300);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-300)}.library-page .dsa-storyboard-input span{color:var(--cf-color-text-secondary);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-storyboard-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:var(--cf-space-300);gap:var(--cf-space-300);margin:0;padding:0;list-style:none}.library-page .dsa-storyboard-step{display:flex;flex-direction:column;min-width:0;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface);overflow:hidden}.library-page .dsa-storyboard-step>p{margin:0;padding:var(--cf-space-250) var(--cf-space-300) var(--cf-space-300);border-top:1px solid var(--cf-color-border);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-160)}.library-page .dsa-storyboard-number{padding:var(--cf-space-150) var(--cf-space-300);border-bottom:1px solid var(--cf-color-border);background:var(--cf-color-bg-subtle);color:var(--cf-color-text-tertiary);font:var(--cf-font-size-225)/var(--cf-line-height-160) var(--cf-font-mono);letter-spacing:var(--cf-letter-spacing-wide);text-transform:uppercase}.library-page .dsa-storyboard-picture{display:flex;flex:1 1;flex-direction:column;gap:var(--cf-space-250);padding:var(--cf-space-300);overflow-x:auto;font-size:var(--cf-font-size-275)}.library-page .dsa-storyboard-picture .dsa-viz-graph{max-height:160px}.library-page .dsa-storyboard-more{margin-top:var(--cf-space-400);padding:var(--cf-space-200) var(--cf-space-400);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-150);background:var(--cf-color-surface);color:var(--cf-color-text);font:inherit;font-size:var(--cf-font-size-300);cursor:pointer}.library-page .dsa-storyboard-more:hover{border-color:var(--cf-color-primary-border-hover)}.library-page .dsa-trace-input{margin:0 0 var(--cf-space-300)}.library-page .dsa-trace-wrap{overflow-x:auto;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250)}.library-page .dsa-compare,.library-page .dsa-growth-table,.library-page .dsa-trace{width:100%;border-collapse:collapse;font-size:var(--cf-font-size-300)}.library-page .dsa-compare td,.library-page .dsa-compare th,.library-page .dsa-growth-table td,.library-page .dsa-growth-table th,.library-page .dsa-trace td,.library-page .dsa-trace th{padding:var(--cf-space-200) var(--cf-space-300);border-bottom:1px solid var(--cf-color-border);text-align:left;vertical-align:top}.library-page .dsa-compare tbody tr:last-child>*,.library-page .dsa-growth-table tbody tr:last-child>*,.library-page .dsa-trace tbody tr:last-child>*{border-bottom:0}.library-page .dsa-compare thead th,.library-page .dsa-growth-table thead th,.library-page .dsa-trace thead th{background:var(--cf-color-bg-subtle);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-medium);white-space:nowrap}.library-page .dsa-trace tbody th{color:var(--cf-color-text-tertiary);font-family:var(--cf-font-mono);font-weight:var(--cf-font-weight-medium)}.library-page .dsa-trace td:not(.dsa-trace-note){font-family:var(--cf-font-mono);white-space:nowrap}.library-page .dsa-trace-note{min-width:240px;color:var(--cf-color-text-secondary)}.library-page .dsa-trace-result{margin:var(--cf-space-300) 0 0;padding:var(--cf-space-250) var(--cf-space-300);border-left:3px solid var(--cf-color-success);background:var(--cf-color-success-subtle);color:var(--cf-color-text)}.library-page .dsa-compare tbody th{color:var(--cf-color-text-strong);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-compare td{color:var(--cf-color-text-secondary)}.library-page .dsa-compare td:nth-child(2),.library-page .dsa-compare td:nth-child(3){white-space:nowrap}.library-page .dsa-compare .is-this>*{background:var(--cf-color-primary-faint)}.library-page .dsa-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--cf-space-300);gap:var(--cf-space-300);margin:var(--cf-space-400) 0 var(--cf-space-300);padding:0;list-style:none}@media(max-width:768px){.library-page .dsa-cases{grid-template-columns:minmax(0,1fr)}}.library-page .dsa-cases li{padding:var(--cf-space-300) var(--cf-space-400);border-top-width:1px;border:1px solid var(--cf-color-border);border-top:3px solid var(--cf-color-border);border-radius:var(--cf-radius-200);background:var(--cf-color-surface)}.library-page .dsa-cases li>span{display:block;color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cf-letter-spacing-wide)}.library-page .dsa-cases li>code{display:inline-block;margin-top:var(--cf-space-100);font-size:var(--cf-font-size-400)}.library-page .dsa-cases li p{margin:var(--cf-space-150) 0 0;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300)}.library-page .dsa-cases .is-best{border-top-color:var(--cf-color-success)}.library-page .dsa-cases .is-average{border-top-color:var(--cf-color-warning)}.library-page .dsa-cases .is-worst{border-top-color:var(--cf-color-danger)}.library-page .dsa-cases-space{color:var(--cf-color-text-secondary)}.library-page .dsa-cases-space strong{color:var(--cf-color-text-strong)}.library-page .dsa-growth{margin:0}.library-page .dsa-growth svg{display:block;width:100%;max-width:640px;height:auto}.library-page .dsa-growth figcaption{margin-top:var(--cf-space-200)}.library-page .dsa-growth-grid line{stroke:var(--cf-color-border);stroke-width:.2}.library-page .dsa-growth-axis,.library-page .dsa-growth-grid text{fill:var(--cf-color-text-tertiary)}.library-page .dsa-growth-line{fill:none;stroke-width:.7;stroke-linejoin:round}.library-page .dsa-growth-line.is-series-0,.library-page .dsa-growth-swatch.is-series-0{stroke:var(--cf-color-primary);background:var(--cf-color-primary)}.library-page .dsa-growth-line.is-series-1,.library-page .dsa-growth-swatch.is-series-1{stroke:var(--cf-color-secondary);background:var(--cf-color-secondary)}.library-page .dsa-growth-line.is-series-2,.library-page .dsa-growth-swatch.is-series-2{stroke:var(--cf-color-tertiary);background:var(--cf-color-tertiary)}.library-page .dsa-growth-line.is-series-3,.library-page .dsa-growth-swatch.is-series-3{stroke:var(--cf-color-success);background:var(--cf-color-success)}.library-page .dsa-growth-legend{display:flex;flex-wrap:wrap;gap:var(--cf-space-150) var(--cf-space-500);margin:0;padding:0;list-style:none;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300)}.library-page .dsa-growth-legend li{display:inline-flex;align-items:center;gap:var(--cf-space-150)}.library-page .dsa-growth-swatch{width:16px;height:3px;border-radius:var(--cf-radius-full)}.library-page .dsa-growth-table{margin-top:var(--cf-space-400);border:1px solid var(--cf-color-border)}.library-page .dsa-growth-table caption{padding-bottom:var(--cf-space-150);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275);text-align:left}.library-page .dsa-growth-table td{font-family:var(--cf-font-mono)}.library-page .dsa-edge-cases{display:grid;grid-gap:var(--cf-space-200);gap:var(--cf-space-200);margin:0}.library-page .dsa-edge-cases>div{padding:var(--cf-space-300) var(--cf-space-400);border:1px solid var(--cf-color-border);border-left:3px solid var(--cf-color-warning);border-radius:var(--cf-radius-200);background:var(--cf-color-surface)}.library-page .dsa-edge-cases dt{color:var(--cf-color-text-strong);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-edge-cases dd{margin:var(--cf-space-100) 0 0;color:var(--cf-color-text-secondary)}.library-page .dsa-interview{display:grid;grid-gap:var(--cf-space-200);gap:var(--cf-space-200);margin:0;padding-left:var(--cf-space-500);color:var(--cf-color-text-secondary)}.library-page .dsa-check{border-bottom:1px solid var(--cf-color-border)}.library-page .dsa-check summary{padding:var(--cf-space-300) 0;color:var(--cf-color-text-strong);font-weight:var(--cf-font-weight-semibold);cursor:pointer}.library-page .dsa-check summary:hover{color:var(--cf-color-primary)}.library-page .dsa-check p{margin:0 0 var(--cf-space-300);color:var(--cf-color-text-secondary)}.library-page .dsa-further{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:var(--cf-space-200);gap:var(--cf-space-200);margin-top:var(--cf-space-300)}.library-page .dsa-further>.dsa-fold[open]{grid-column:1/-1}.library-page .dsa-fold{min-width:0;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface);scroll-margin-top:72px;transition:border-color var(--cf-duration-fast) var(--cf-ease-standard)}.library-page .dsa-fold:hover,.library-page .dsa-fold[open]{border-color:var(--cf-color-border-strong)}.library-page .dsa-fold>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-column-gap:var(--cf-space-400);column-gap:var(--cf-space-400);padding:var(--cf-space-300) var(--cf-space-400);cursor:pointer;list-style:none}.library-page .dsa-fold>summary::-webkit-details-marker{display:none}.library-page .dsa-fold>summary:after{content:"+";grid-row:1/span 2;grid-column:2;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--cf-radius-round);background:var(--cf-color-bg-subtle);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-400);line-height:var(--cf-line-height-100);transition:transform var(--cf-duration-fast) var(--cf-ease-standard)}.library-page .dsa-fold>summary:focus-visible{outline:2px solid var(--cf-color-primary-solid);outline-offset:2px;border-radius:var(--cf-radius-250)}.library-page .dsa-fold[open]>summary:after{transform:rotate(45deg)}.library-page .dsa-fold .dsa-fold-title{margin:0;color:var(--cf-color-text-strong);font-size:var(--cf-font-size-400);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-fold>summary:hover .dsa-fold-title{color:var(--cf-color-primary)}.library-page .dsa-fold .dsa-fold-hint{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-325)}.library-page .dsa-fold .dsa-fold-body,.library-page .dsa-fold>.dsa-storyboard{padding:0 var(--cf-space-400) var(--cf-space-400)}.library-page .dsa-fold .dsa-fold-body>p,.library-page .dsa-fold>.dsa-storyboard>p{color:var(--cf-color-text-secondary)}.library-page .dsa-fold .dsa-fold-body h4,.library-page .dsa-fold>.dsa-storyboard h4{margin:var(--cf-space-300) 0 var(--cf-space-150);color:var(--cf-color-text-strong);font-size:var(--cf-font-size-350);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-fold .dsa-fold-body .dsa-detail:last-child,.library-page .dsa-fold>.dsa-storyboard .dsa-detail:last-child{border-bottom:0}.library-page .dsa-every-step.dsa-fold{margin-top:var(--cf-space-400)}