.library-page .dsa-difficulty{display:inline-flex;align-items:center;padding:0 var(--cf-space-200);border:1px solid;border-radius:var(--cf-radius-full);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-semibold);line-height:var(--cf-line-height-170);text-transform:capitalize}.library-page .dsa-difficulty.is-easy{border-color:var(--cf-color-success-border);color:var(--cf-color-success)}.library-page .dsa-difficulty.is-medium{border-color:var(--cf-color-warning-border);color:var(--cf-color-warning)}.library-page .dsa-difficulty.is-hard{border-color:var(--cf-color-danger-border);color:var(--cf-color-danger)}.library-page .dsa-tag{display:inline-flex;padding:0 var(--cf-space-200);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-full);background:var(--cf-color-surface);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-250);line-height:var(--cf-line-height-180);white-space:nowrap}.library-page .dsa-tag:hover{border-color:var(--cf-color-primary-border-hover);color:var(--cf-color-primary)}.library-page .dsa-xp-bar{height:8px;overflow:hidden;border-radius:var(--cf-radius-full);background:var(--cf-color-surface-strong)}.library-page .dsa-xp-bar span{display:block;height:100%;border-radius:var(--cf-radius-full);background:var(--cf-color-primary-solid);transition:width var(--cf-duration-slow) var(--cf-ease-out)}.library-page .dsa-medal{display:inline-grid;place-items:center;flex-shrink:0;width:22px;height:22px;border:1px dashed var(--cf-color-border-strong);border-radius:var(--cf-radius-round);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-bold)}.library-page .dsa-medal.is-bronze{border:1px solid var(--cf-color-primary-border-hover);background:var(--cf-color-primary-subtle);color:var(--cf-color-primary)}.library-page .dsa-medal.is-silver{border:1px solid var(--cf-color-border-emphasis);background:var(--cf-color-surface-strong);color:var(--cf-color-text-secondary)}.library-page .dsa-medal.is-gold{border:1px solid var(--cf-color-warning-border);background:var(--cf-color-warning-subtle);color:var(--cf-color-warning)}.library-page .dsa-search{display:flex;align-items:center;gap:var(--cf-space-200);flex:1 1;min-width:min(100%,240px);padding:0 var(--cf-space-300);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-200);background:var(--cf-color-surface-input);color:var(--cf-color-text-tertiary)}.library-page .dsa-search:focus-within{border-color:var(--cf-color-primary)}.library-page .dsa-search input{flex:1 1;min-width:0;height:36px;border:0;background:none;font:inherit;outline:none}.library-page .dsa-button,.library-page .dsa-search input{color:var(--cf-color-text);font-size:var(--cf-font-size-325)}.library-page .dsa-button{display:inline-flex;align-items:center;gap:var(--cf-space-150);min-height:34px;padding:0 var(--cf-space-400);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-200);background:var(--cf-color-surface);font-weight:var(--cf-font-weight-semibold);white-space:nowrap}.library-page .dsa-button.is-primary{border-color:var(--cf-color-primary-solid);background:var(--cf-color-primary-solid);color:var(--cf-color-on-primary-solid)}.library-page .dsa-button.is-primary:hover{background:var(--cf-color-primary-solid-hover)}.library-page .dsa-algorithm-card code,.library-page .dsa-article-header code,.library-page .dsa-toc code{padding:0 var(--cf-space-100);border-radius:var(--cf-radius-100);background:var(--cf-color-code-inline-bg);color:var(--cf-color-code-inline-text);font-family:var(--cf-font-mono);font-size:.9em}.library-page .dsa-solved-mark{display:inline-flex;color:var(--cf-color-success)}.library-page .dsa-solved-mark svg{width:15px;height:15px}.library-page .dsa-empty{padding:var(--cf-space-600);border:1px dashed var(--cf-color-border);border-radius:var(--cf-radius-250);color:var(--cf-color-text-tertiary);text-align:center}.library-page .dsa-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--cf-space-400);gap:var(--cf-space-400);margin-bottom:var(--cf-space-600)}@media(max-width:560px){.library-page .dsa-entry{grid-template-columns:minmax(0,1fr)}}.library-page .dsa-entry-card{display:flex;flex-direction:column;gap:var(--cf-space-150);padding:var(--cf-space-500);border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-300);background:var(--cf-color-primary-faint);transition:border-color var(--cf-duration-fast),background-color var(--cf-duration-fast)}.library-page .dsa-entry-card:hover{border-color:var(--cf-color-primary-border-hover);background:var(--cf-color-primary-subtle)}.library-page .dsa-entry-card strong{color:var(--cf-color-text-strong);font-size:var(--cf-font-size-500);font-weight:var(--cf-font-weight-bold)}.library-page .dsa-entry-card>span:not([class]){color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325)}.library-page .dsa-entry .dsa-entry-tuto{grid-column:1/-1;margin:0}.library-page .dsa-entry-kicker{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-widest)}.library-page .dsa-entry-cta{display:inline-flex;align-items:center;gap:var(--cf-space-150);margin-top:auto;padding-top:var(--cf-space-200);color:var(--cf-color-primary);font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-daily-status,.library-page .dsa-player{scroll-margin-top:84px}.library-page .dsa-daily-status{color:var(--cf-color-text-secondary)}.library-page .dsa-daily-status a{color:var(--cf-color-primary)}.library-page .dsa-player{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-gap:var(--cf-space-500);gap:var(--cf-space-500);margin-bottom:var(--cf-space-900);padding:var(--cf-space-600);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-300);background:var(--cf-color-surface)}@media(max-width:768px){.library-page .dsa-player{grid-template-columns:minmax(0,1fr);padding:var(--cf-space-450)}}.library-page .dsa-player-level{display:flex;align-items:center;gap:var(--cf-space-400)}.library-page .dsa-player-level h2{font-size:var(--cf-font-size-450)}.library-page .dsa-player-level p{margin:var(--cf-space-150) 0 0;color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-300)}.library-page .dsa-player-level p strong{color:var(--cf-color-text)}.library-page .dsa-player-level .dsa-xp-bar{margin-top:var(--cf-space-200)}.library-page .dsa-level-badge{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border:3px solid var(--cf-color-primary-border-hover);border-radius:var(--cf-radius-round);background:var(--cf-color-primary-solid);color:var(--cf-color-on-primary-solid);font-size:var(--cf-font-size-600);font-weight:var(--cf-font-weight-heavy)}.library-page .dsa-level-text{flex:1 1;min-width:0}.library-page .dsa-player-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:var(--cf-space-200);gap:var(--cf-space-200);margin:0}@media(max-width:560px){.library-page .dsa-player-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.library-page .dsa-player-stats>div{padding:var(--cf-space-250) var(--cf-space-300);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-200);background:var(--cf-color-bg-subtle)}.library-page .dsa-player-stats dt{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250)}.library-page .dsa-player-stats dd{display:flex;align-items:center;gap:var(--cf-space-100);margin:0;font-size:var(--cf-font-size-500);font-weight:var(--cf-font-weight-bold)}.library-page .dsa-player-stats dd span{color:var(--cf-color-text-muted);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-regular)}.library-page .dsa-player-stats .is-easy dt{color:var(--cf-color-success)}.library-page .dsa-player-stats .is-medium dt{color:var(--cf-color-warning)}.library-page .dsa-player-stats .is-hard dt{color:var(--cf-color-danger)}.library-page .dsa-player-stats .is-streak dd svg{color:var(--cf-color-primary)}.library-page .dsa-player-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:var(--cf-space-300);gap:var(--cf-space-300)}.library-page .dsa-continue,.library-page .dsa-daily{display:flex;flex-direction:column;gap:var(--cf-space-100);padding:var(--cf-space-350) var(--cf-space-400);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-bg-subtle);transition:border-color var(--cf-duration-fast),background-color var(--cf-duration-fast)}.library-page .dsa-continue:hover,.library-page .dsa-daily:hover{border-color:var(--cf-color-primary-border-hover);background:var(--cf-color-surface-raised)}.library-page .dsa-continue strong,.library-page .dsa-daily strong{font-size:var(--cf-font-size-350)}.library-page .dsa-daily{border-color:var(--cf-color-primary-border);background:var(--cf-color-primary-faint)}.library-page .dsa-daily-kicker{display:flex;align-items:center;gap:var(--cf-space-150);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-wider)}.library-page .dsa-daily-kicker svg{width:14px;height:14px;color:var(--cf-color-primary)}.library-page .dsa-daily-meta{display:flex;align-items:center;gap:var(--cf-space-300);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}.library-page .dsa-daily-meta>span:last-child{display:inline-flex;align-items:center;gap:var(--cf-space-100)}.library-page .dsa-daily-meta svg{width:14px;height:14px}.library-page .dsa-daily-done{color:var(--cf-color-success)}.library-page .dsa-badges{grid-column:1/-1}.library-page .dsa-badges h3{display:flex;justify-content:space-between;margin:0 0 var(--cf-space-250);font-size:var(--cf-font-size-325)}.library-page .dsa-badges h3 span{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-regular)}.library-page .dsa-badges ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));grid-gap:var(--cf-space-200);gap:var(--cf-space-200);margin:0;padding:0;list-style:none}.library-page .dsa-badges li{display:flex;align-items:center;gap:var(--cf-space-250);padding:var(--cf-space-200) var(--cf-space-250);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-200);color:var(--cf-color-text-muted)}.library-page .dsa-badges li.is-earned{border-color:var(--cf-color-success-border);background:var(--cf-color-success-subtle);color:var(--cf-color-text)}.library-page .dsa-badges li.is-earned .dsa-badge-mark{border-color:var(--cf-color-success);background:var(--cf-color-success);color:var(--cf-color-on-success)}.library-page .dsa-badge-mark{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-round)}.library-page .dsa-badge-mark svg{width:14px;height:14px}.library-page .dsa-badge-text{display:flex;flex-direction:column;min-width:0;line-height:var(--cf-line-height-140)}.library-page .dsa-badge-text strong{font-size:var(--cf-font-size-300)}.library-page .dsa-badge-text span{font-size:var(--cf-font-size-250)}.library-page .dsa-how{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));grid-gap:var(--cf-space-300);gap:var(--cf-space-300);margin:0;padding:0;list-style:none;counter-reset:dsa-how}.library-page .dsa-how li{display:flex;flex-direction:column;gap:var(--cf-space-100);padding:var(--cf-space-400);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface);counter-increment:dsa-how}.library-page .dsa-how li:before{content:counter(dsa-how,decimal-leading-zero);color:var(--cf-color-accent);font:var(--cf-font-size-275)/var(--cf-line-height-160) var(--cf-font-mono)}.library-page .dsa-how li span{color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325)}.library-page .dsa-map-nav{display:flex;flex-wrap:wrap;gap:var(--cf-space-150);margin-bottom:var(--cf-space-500)}.library-page .dsa-map-nav a{padding:var(--cf-space-100) var(--cf-space-300);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-full);background:var(--cf-color-surface);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-275)}.library-page .dsa-map-nav a:hover{border-color:var(--cf-color-primary-border-hover);color:var(--cf-color-text-strong)}.library-page .dsa-map-nav a span{color:var(--cf-color-text-muted);font-family:var(--cf-font-mono)}.library-page .dsa-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-400);margin-bottom:var(--cf-space-600)}.library-page .dsa-map-legend{display:flex;align-items:center;gap:var(--cf-space-150);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}.library-page .dsa-map-legend .dsa-medal{margin-left:var(--cf-space-200)}.library-page .dsa-map-section{scroll-margin-top:84px}.library-page .dsa-map-section+.dsa-map-section{margin-top:var(--cf-space-1000)}.library-page .dsa-map-heading{display:flex;align-items:flex-start;gap:var(--cf-space-400);margin-bottom:var(--cf-space-400)}.library-page .dsa-map-heading h3{margin:0;font-size:var(--cf-font-size-450)}.library-page .dsa-map-heading p{margin:var(--cf-space-100) 0 0;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325)}.library-page .dsa-map-heading>div{flex:1 1}.library-page .dsa-map-number{color:var(--cf-color-accent);font:var(--cf-font-size-500)/var(--cf-line-height-140) var(--cf-font-mono)}.library-page .dsa-map-count{flex-shrink:0;color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}@media(max-width:560px){.library-page .dsa-map-count{display:none}}.library-page .dsa-algorithm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:var(--cf-space-300);gap:var(--cf-space-300);margin:0;padding:0;list-style:none}.library-page .dsa-algorithm-card{position:relative;cursor:pointer;display:flex;flex-direction:column;gap:var(--cf-space-200);padding:var(--cf-space-400);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface);transition:border-color var(--cf-duration-fast)}.library-page .dsa-algorithm-card:hover{border-color:var(--cf-color-primary-border-hover);background:var(--cf-color-surface-raised)}.library-page .dsa-algorithm-card:hover .dsa-algorithm-name{color:var(--cf-color-primary)}.library-page .dsa-algorithm-card>p{margin:0;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-160)}.library-page .dsa-algorithm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--cf-space-200)}.library-page .dsa-algorithm-name{color:var(--cf-color-text-strong);font-size:var(--cf-font-size-350);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-algorithm-name:after{content:"";position:absolute;inset:0;border-radius:var(--cf-radius-250)}.library-page .dsa-algorithm-name:hover{color:var(--cf-color-primary)}.library-page .dsa-algorithm-name:focus-visible{outline:none}.library-page .dsa-algorithm-name:focus-visible:after{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.library-page .dsa-algorithm-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250)}.library-page .dsa-level{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-level.is-advanced{color:var(--cf-color-secondary)}.library-page .dsa-level.is-core{color:var(--cf-color-tertiary)}.library-page .dsa-problem-numbers{display:flex;flex-wrap:wrap;gap:var(--cf-space-100);margin:0;padding:var(--cf-space-200) 0 0;border-top:1px solid var(--cf-color-border);list-style:none}.library-page .dsa-number{position:relative;z-index:1;display:inline-flex;padding:0 var(--cf-space-150);border:1px solid var(--cf-color-border);border-left-width:3px;border-radius:var(--cf-radius-100);color:var(--cf-color-text-secondary);font:var(--cf-font-size-250)/var(--cf-line-height-180) var(--cf-font-mono)}.library-page .dsa-number.is-easy{border-left-color:var(--cf-color-success-border)}.library-page .dsa-number.is-medium{border-left-color:var(--cf-color-warning-border)}.library-page .dsa-number.is-hard{border-left-color:var(--cf-color-danger-border)}.library-page .dsa-number.is-solved{border-color:var(--cf-color-success-border);background:var(--cf-color-success-subtle);color:var(--cf-color-success)}.library-page .dsa-number.is-more{border-left-width:1px;color:var(--cf-color-primary)}.library-page .dsa-number:hover{border-color:var(--cf-color-primary-border-hover);color:var(--cf-color-text-strong)}.library-page .dsa-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--cf-space-300)}.library-page .dsa-filters label:not(.dsa-search){display:flex;flex-direction:column;gap:var(--cf-space-100);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250)}.library-page .dsa-filters select{height:38px;max-width:220px;padding:0 var(--cf-space-250);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-200);background:var(--cf-color-surface-input);color:var(--cf-color-text);font:inherit;font-size:var(--cf-font-size-325)}.library-page .dsa-filters .dsa-search input{height:36px}.library-page .dsa-browser-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-200);margin:var(--cf-space-400) 0;color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-300)}.library-page .dsa-browser-status a{color:var(--cf-color-primary)}.library-page .dsa-clear,.library-page .dsa-more{padding:var(--cf-space-100) var(--cf-space-300);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-200);background:var(--cf-color-surface);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300)}.library-page .dsa-clear:hover,.library-page .dsa-more:hover{color:var(--cf-color-text-strong)}.library-page .dsa-more{display:block;margin:var(--cf-space-500) auto 0}.library-page .dsa-problem-table{width:100%;border-collapse:collapse;font-size:var(--cf-font-size-325)}.library-page .dsa-problem-table td,.library-page .dsa-problem-table th{padding:var(--cf-space-250) var(--cf-space-300);border-bottom:1px solid var(--cf-color-border);text-align:left;vertical-align:middle}.library-page .dsa-problem-table thead th{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-medium);letter-spacing:var(--cf-letter-spacing-wide);text-transform:uppercase}.library-page .dsa-problem-table tbody th{font-weight:var(--cf-font-weight-medium)}.library-page .dsa-problem-table tbody th a:hover{color:var(--cf-color-primary)}.library-page .dsa-problem-table tbody tr:hover{background:var(--cf-color-surface-hover)}@media(max-width:768px){.library-page .dsa-problem-table .is-wide{display:none}}.library-page .dsa-problem-id{width:72px;color:var(--cf-color-text-tertiary);font-family:var(--cf-font-mono);white-space:nowrap}.library-page .dsa-problem-id .dsa-solved-mark{vertical-align:middle;margin-right:var(--cf-space-100)}.library-page .dsa-problem-xp{color:var(--cf-color-text-tertiary);font-family:var(--cf-font-mono)}.library-page .is-solved .dsa-problem-xp{color:var(--cf-color-success)}.library-page .dsa-tags{display:flex;flex-wrap:wrap;gap:var(--cf-space-100)}.library-page .dsa-article{max-width:820px}.library-page .dsa-article-header h1{margin-top:var(--cf-space-300)}.library-page .dsa-article-summary{margin:var(--cf-space-250) 0 0;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-400);line-height:var(--cf-line-height-160)}.library-page .dsa-chips{display:flex;flex-wrap:wrap;gap:var(--cf-space-200);margin-top:var(--cf-space-450)}.library-page .dsa-chips span{padding:var(--cf-space-050) var(--cf-space-250);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-full);background:var(--cf-color-surface);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-275)}.library-page .dsa-toc{margin:var(--cf-space-700) 0 var(--cf-space-200);padding:var(--cf-space-400);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-bg-subtle)}.library-page .dsa-toc>span{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-widest);text-transform:uppercase}.library-page .dsa-toc ol{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));grid-gap:var(--cf-space-100) var(--cf-space-400);gap:var(--cf-space-100) var(--cf-space-400);margin:var(--cf-space-200) 0 0;padding-left:var(--cf-space-500);font-size:var(--cf-font-size-300)}.library-page .dsa-toc a{color:var(--cf-color-text-secondary)}.library-page .dsa-toc a:hover{color:var(--cf-color-primary)}.library-page .dsa-article-section{padding-top:var(--cf-space-800);scroll-margin-top:72px}.library-page .dsa-article-section h2{position:relative;margin-bottom:var(--cf-space-300);padding-top:var(--cf-space-300)}.library-page .dsa-article-section h2:before{content:"";position:absolute;top:0;left:0;width:28px;height:3px;border-radius:var(--cf-radius-full);background:var(--cf-color-primary-solid)}.library-page .dsa-article-section>p{margin:0 0 var(--cf-space-300);color:var(--cf-color-text-secondary)}.library-page .dsa-article-section h3{margin:0 0 var(--cf-space-150);font-size:var(--cf-font-size-400);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-article-section code{padding:0 var(--cf-space-100);border-radius:var(--cf-radius-100);background:var(--cf-color-code-inline-bg);color:var(--cf-color-code-inline-text);font-family:var(--cf-font-mono);font-size:.9em}.library-page .dsa-analogy{padding:var(--cf-space-500);border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-300);background:var(--cf-color-primary-faint)}.library-page .dsa-analogy>p{margin:0 0 var(--cf-space-400);color:var(--cf-color-text-secondary)}.library-page .dsa-analogy-pairs,.library-page .dsa-complexity{width:100%;border-collapse:collapse;font-size:var(--cf-font-size-325)}.library-page .dsa-analogy-pairs td,.library-page .dsa-analogy-pairs th,.library-page .dsa-complexity td,.library-page .dsa-complexity 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-analogy-pairs thead th,.library-page .dsa-complexity thead th{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cf-letter-spacing-wide)}.library-page .dsa-complexity{margin-bottom:var(--cf-space-400)}.library-page .dsa-complexity th{width:140px;color:var(--cf-color-text-tertiary);font-weight:var(--cf-font-weight-medium)}.library-page .dsa-frontend,.library-page .dsa-mistakes,.library-page .dsa-signals{display:grid;grid-gap:var(--cf-space-200);gap:var(--cf-space-200);margin:0;padding:0;list-style:none}.library-page .dsa-frontend li,.library-page .dsa-mistakes li,.library-page .dsa-signals li{position:relative;padding:var(--cf-space-300) var(--cf-space-400) var(--cf-space-300) var(--cf-space-1000);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-200);background:var(--cf-color-surface);color:var(--cf-color-text-secondary)}.library-page .dsa-frontend li:before,.library-page .dsa-mistakes li:before,.library-page .dsa-signals li:before{position:absolute;top:var(--cf-space-300);left:var(--cf-space-400);font:var(--cf-font-size-275)/var(--cf-line-height-170) var(--cf-font-mono)}.library-page .dsa-signals li:before{content:"?";color:var(--cf-color-tertiary)}.library-page .dsa-mistakes li{border-left:3px solid var(--cf-color-danger-border)}.library-page .dsa-mistakes li:before{content:"!";color:var(--cf-color-danger)}.library-page .dsa-frontend li:before{content:"</>";left:var(--cf-space-300);color:var(--cf-color-accent)}.library-page .dsa-steps{display:grid;grid-gap:var(--cf-space-200);gap:var(--cf-space-200);margin:0;padding:0;list-style:none;counter-reset:dsa-step}.library-page .dsa-steps li{display:flex;gap:var(--cf-space-400);counter-increment:dsa-step;color:var(--cf-color-text-secondary)}.library-page .dsa-steps li:before{content:counter(dsa-step);display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:var(--cf-radius-round);background:var(--cf-color-primary-subtle);color:var(--cf-color-primary);font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-bold)}.library-page .dsa-detail{padding:var(--cf-space-400) 0;border-bottom:1px solid var(--cf-color-border)}.library-page .dsa-detail p{margin:0;color:var(--cf-color-text-secondary)}.library-page .dsa-annotated{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-gap:var(--cf-space-400);gap:var(--cf-space-400);align-items:start}@media(max-width:768px){.library-page .dsa-annotated{grid-template-columns:minmax(0,1fr)}}.library-page .dsa-code-frame{overflow:hidden;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-code-bg)}.library-page .dsa-code-heading{display:flex;justify-content:space-between;gap:var(--cf-space-300);padding:var(--cf-space-200) var(--cf-space-400);border-bottom:1px solid var(--cf-color-border);background:var(--cf-color-code-gutter-bg);color:var(--cf-color-code-line-number);font-size:var(--cf-font-size-275)}.library-page .dsa-code-heading a{color:var(--cf-color-code-button)}.library-page .dsa-code-heading a:hover{text-decoration:underline}.library-page .dsa-code-lines,.library-page .dsa-viz-code{margin:0;padding:var(--cf-space-200) 0;overflow-x:auto;list-style:none;color:var(--cf-color-code-text);font:var(--cf-font-size-300)/var(--cf-line-height-170) var(--cf-font-mono)}.library-page .dsa-code-lines .tok-keyword,.library-page .dsa-viz-code .tok-keyword{color:var(--cf-color-code-keyword)}.library-page .dsa-code-lines .tok-regexp,.library-page .dsa-code-lines .tok-string,.library-page .dsa-viz-code .tok-regexp,.library-page .dsa-viz-code .tok-string{color:var(--cf-color-code-string)}.library-page .dsa-code-lines .tok-number,.library-page .dsa-viz-code .tok-number{color:var(--cf-color-code-number)}.library-page .dsa-code-lines .tok-constant,.library-page .dsa-viz-code .tok-constant{color:var(--cf-color-code-constant)}.library-page .dsa-code-lines .tok-comment,.library-page .dsa-viz-code .tok-comment{color:var(--cf-color-code-comment)}.library-page .dsa-code-lines .tok-function,.library-page .dsa-viz-code .tok-function{color:var(--cf-color-code-function)}.library-page .dsa-code-lines .tok-type,.library-page .dsa-viz-code .tok-type{color:var(--cf-color-code-type)}.library-page .dsa-code-lines .tok-definition,.library-page .dsa-viz-code .tok-definition{color:var(--cf-color-code-definition)}.library-page .dsa-code-lines .tok-variable,.library-page .dsa-viz-code .tok-variable{color:var(--cf-color-code-variable)}.library-page .dsa-code-lines .tok-property,.library-page .dsa-viz-code .tok-property{color:var(--cf-color-code-property)}.library-page .dsa-code-lines li,.library-page .dsa-viz-code li{display:flex;min-width:max-content;padding-right:var(--cf-space-400);border-left:3px solid rgba(0,0,0,0)}.library-page .dsa-code-lines li.is-current,.library-page .dsa-code-lines li.is-lit,.library-page .dsa-viz-code li.is-current,.library-page .dsa-viz-code li.is-lit{border-left-color:var(--cf-color-code-button);background:var(--cf-color-code-active-line)}.library-page .dsa-code-lines code,.library-page .dsa-viz-code code{padding:0;background:none;color:inherit;font:inherit;white-space:pre}.library-page .dsa-viz-line-number{flex-shrink:0;width:36px;padding-right:var(--cf-space-300);color:var(--cf-color-code-line-number);text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.library-page .dsa-code-notes{display:grid;grid-gap:var(--cf-space-150);gap:var(--cf-space-150);margin:0;padding:0;list-style:none}.library-page .dsa-code-notes button{display:flex;flex-direction:column;gap:var(--cf-space-050);width:100%;padding:var(--cf-space-250) var(--cf-space-300);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-200);background:var(--cf-color-surface);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300);text-align:left}.library-page .dsa-code-notes button:hover,.library-page .dsa-code-notes button[aria-pressed=true]{border-color:var(--cf-color-code-button);color:var(--cf-color-text)}.library-page .dsa-code-note-lines{color:var(--cf-color-text-tertiary);font:var(--cf-font-size-250)/var(--cf-line-height-160) var(--cf-font-mono)}.library-page .dsa-practice-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-300);margin-bottom:var(--cf-space-400);padding:var(--cf-space-400);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface)}.library-page .dsa-practice-summary p{flex:1 1;min-width:200px;margin:0;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325)}.library-page .dsa-practice-summary .dsa-medal{width:32px;height:32px;font-size:var(--cf-font-size-350)}.library-page .dsa-practice-group+.dsa-practice-group{margin-top:var(--cf-space-400)}.library-page .dsa-practice-group h3{margin-bottom:var(--cf-space-200)}.library-page .dsa-practice-group ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-gap:var(--cf-space-150);gap:var(--cf-space-150);margin:0;padding:0;list-style:none}.library-page .dsa-practice-group a{display:flex;align-items:center;gap:var(--cf-space-250);padding:var(--cf-space-200) var(--cf-space-300);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-200);font-size:var(--cf-font-size-325)}.library-page .dsa-practice-group a:hover{border-color:var(--cf-color-primary-border-hover);background:var(--cf-color-surface-hover)}.library-page .dsa-practice-group a.is-solved{border-color:var(--cf-color-success-border)}.library-page .dsa-practice-id{color:var(--cf-color-text-tertiary);font-family:var(--cf-font-mono);font-size:var(--cf-font-size-275)}.library-page .dsa-practice-title{flex:1 1}.library-page .dsa-related{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));grid-gap:var(--cf-space-250);gap:var(--cf-space-250);margin:0;padding:0;list-style:none}.library-page .dsa-related a{display:flex;flex-direction:column;gap:var(--cf-space-100);height:100%;padding:var(--cf-space-350) var(--cf-space-400);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface)}.library-page .dsa-related a:hover{border-color:var(--cf-color-primary-border-hover)}.library-page .dsa-related a span{color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300)}.library-page .dsa-pager{display:flex;justify-content:space-between;gap:var(--cf-space-400);margin-top:var(--cf-space-1000);padding-top:var(--cf-space-600);border-top:1px solid var(--cf-color-border)}.library-page .dsa-pager a{display:flex;flex-direction:column;gap:var(--cf-space-050);max-width:48%}.library-page .dsa-pager a span{display:inline-flex;align-items:center;gap:var(--cf-space-100);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}.library-page .dsa-pager a:hover strong{color:var(--cf-color-primary)}.library-page .dsa-pager a.is-next{margin-left:auto;align-items:flex-end;text-align:right}.library-page .dsa-viz{overflow:hidden;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-300);background:var(--cf-color-surface)}.library-page .dsa-viz.is-loading{padding:var(--cf-space-1000);color:var(--cf-color-text-tertiary);text-align:center}.library-page .dsa-viz button,.library-page .dsa-viz select{min-height:32px;padding:0 var(--cf-space-300);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-200);background:var(--cf-color-surface-raised);color:var(--cf-color-text);font:inherit;font-size:var(--cf-font-size-300)}.library-page .dsa-viz button:hover:not(:disabled),.library-page .dsa-viz select:hover:not(:disabled){border-color:var(--cf-color-border-hover)}.library-page .dsa-viz button:disabled,.library-page .dsa-viz select:disabled{cursor:default;opacity:.45}.library-page .dsa-viz button[aria-pressed=true],.library-page .dsa-viz select[aria-pressed=true]{border-color:var(--cf-color-primary);color:var(--cf-color-primary)}.library-page .dsa-viz button.is-primary,.library-page .dsa-viz select.is-primary{border-color:var(--cf-color-code-button);background:var(--cf-color-code-button);color:var(--cf-color-code-on-button)}.library-page .dsa-viz button.is-primary:hover:not(:disabled),.library-page .dsa-viz select.is-primary:hover:not(:disabled){background:var(--cf-color-code-button-hover)}.library-page .dsa-viz-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-250);padding:var(--cf-space-300) var(--cf-space-400);border-bottom:1px solid var(--cf-color-border);background:var(--cf-color-bg-subtle)}.library-page .dsa-viz-toolbar label{display:flex;align-items:center;gap:var(--cf-space-150);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}.library-page .dsa-viz-title{flex-basis:100%;font-size:var(--cf-font-size-325)}.library-page .dsa-viz-input{max-width:100%;overflow:hidden;color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275);text-overflow:ellipsis;white-space:nowrap}.library-page .dsa-viz-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}@media(max-width:768px){.library-page .dsa-viz-body{grid-template-columns:minmax(0,1fr)}}.library-page .dsa-viz-stage{display:flex;flex-direction:column;gap:var(--cf-space-400);min-height:220px;padding:var(--cf-space-500) var(--cf-space-400);overflow-x:auto}.library-page .dsa-viz-code{position:relative;max-height:340px;overflow:auto;border-left:1px solid var(--cf-color-border);background:var(--cf-color-code-bg)}@media(max-width:768px){.library-page .dsa-viz-code{max-height:220px;border-top:1px solid var(--cf-color-border);border-left:0}}.library-page .dsa-viz-rows{display:flex;flex-direction:column;gap:var(--cf-space-300)}.library-page .dsa-viz-row{display:flex;align-items:center;gap:var(--cf-space-300)}.library-page .dsa-viz-row-label{flex-shrink:0;min-width:56px;color:var(--cf-color-text-tertiary);font:var(--cf-font-size-250)/var(--cf-line-height-160) var(--cf-font-mono)}.library-page .dsa-viz-cells{display:flex;gap:var(--cf-space-100);margin:0;padding:0;list-style:none}.library-page .dsa-viz-cell{display:flex;flex-direction:column;align-items:center;gap:var(--cf-space-050);min-width:36px}.library-page .dsa-viz-cell .dsa-viz-value{display:grid;place-items:center;min-width:36px;height:36px;padding:0 var(--cf-space-100);border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-150);background:var(--cf-color-surface-raised);font:var(--cf-font-size-325)/var(--cf-line-height-100) var(--cf-font-mono);font-weight:var(--cf-font-weight-semibold);transition:background-color var(--cf-duration-fast),border-color var(--cf-duration-fast)}.library-page .dsa-viz-cell.is-past .dsa-viz-value{border-style:dashed;background:none}.library-page .dsa-viz-cell.is-active .dsa-viz-value{border-color:var(--cf-color-primary);background:var(--cf-color-primary-subtle);color:var(--cf-color-text-strong)}.library-page .dsa-viz-cell.is-compare .dsa-viz-value{border-color:var(--cf-color-tertiary-border);background:var(--cf-color-tertiary-subtle)}.library-page .dsa-viz-cell.is-window .dsa-viz-value{border-color:var(--cf-color-secondary-border);background:var(--cf-color-secondary-subtle)}.library-page .dsa-viz-cell.is-done .dsa-viz-value{border-color:var(--cf-color-success-border);background:var(--cf-color-success-subtle)}.library-page .dsa-viz-cell.is-found .dsa-viz-value{border-color:var(--cf-color-success);background:var(--cf-color-success);color:var(--cf-color-on-success)}.library-page .dsa-viz-cell.is-swap .dsa-viz-value{border-color:var(--cf-color-warning-border);background:var(--cf-color-warning-subtle)}.library-page .dsa-viz-cell.is-discard .dsa-viz-value{opacity:.4}.library-page .dsa-viz-index{color:var(--cf-color-text-muted);font:var(--cf-font-size-225)/var(--cf-line-height-130) var(--cf-font-mono)}.library-page .dsa-viz-pointer{min-height:16px;color:var(--cf-color-primary);font:var(--cf-font-size-250)/var(--cf-line-height-140) var(--cf-font-mono);font-weight:var(--cf-font-weight-semibold);white-space:nowrap}.library-page .dsa-viz-grid-wrap{overflow-x:auto}.library-page .dsa-viz-grid{border-collapse:separate;border-spacing:3px;margin:0 auto}.library-page .dsa-viz-grid td{min-width:32px;height:32px;padding:0 var(--cf-space-100);border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-100);background:var(--cf-color-surface-raised);font:var(--cf-font-size-300)/var(--cf-line-height-100) var(--cf-font-mono);text-align:center}.library-page .dsa-viz-grid td.is-active{border-color:var(--cf-color-primary);background:var(--cf-color-primary-subtle);color:var(--cf-color-text-strong)}.library-page .dsa-viz-grid td.is-compare{border-color:var(--cf-color-tertiary-border);background:var(--cf-color-tertiary-subtle)}.library-page .dsa-viz-grid td.is-window{border-color:var(--cf-color-secondary-border);background:var(--cf-color-secondary-subtle)}.library-page .dsa-viz-grid td.is-done{border-color:var(--cf-color-success-border);background:var(--cf-color-success-subtle)}.library-page .dsa-viz-grid td.is-found{border-color:var(--cf-color-success);background:var(--cf-color-success);color:var(--cf-color-on-success)}.library-page .dsa-viz-grid td.is-swap{border-color:var(--cf-color-warning-border);background:var(--cf-color-warning-subtle)}.library-page .dsa-viz-grid td.is-discard{opacity:.4}.library-page .dsa-viz-graph{display:block;width:100%;max-height:320px}.library-page .dsa-viz-graph .dsa-viz-edge line{stroke:var(--cf-color-border-emphasis);stroke-width:.45}.library-page .dsa-viz-graph .dsa-viz-edge.is-active line,.library-page .dsa-viz-graph .dsa-viz-edge.is-found line{stroke:var(--cf-color-primary);stroke-width:.9}.library-page .dsa-viz-graph .dsa-viz-edge.is-compare line{stroke:var(--cf-color-tertiary);stroke-width:.8}.library-page .dsa-viz-graph .dsa-viz-edge.is-done line,.library-page .dsa-viz-graph .dsa-viz-edge.is-window line{stroke:var(--cf-color-success);stroke-width:.8}.library-page .dsa-viz-graph .dsa-viz-edge.is-discard line{opacity:.3}.library-page .dsa-viz-graph .dsa-viz-arrowhead{fill:var(--cf-color-border-emphasis)}.library-page .dsa-viz-graph .dsa-viz-edge-label{fill:var(--cf-color-text-secondary)}.library-page .dsa-viz-graph .dsa-viz-node circle{fill:var(--cf-color-surface-raised);stroke:var(--cf-color-border-emphasis);stroke-width:.45}.library-page .dsa-viz-graph .dsa-viz-node text{fill:var(--cf-color-text);font-family:var(--cf-font-mono);font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-viz-graph .dsa-viz-node.is-active circle{fill:var(--cf-color-primary-subtle);stroke:var(--cf-color-primary);stroke-width:.8}.library-page .dsa-viz-graph .dsa-viz-node.is-compare circle{fill:var(--cf-color-tertiary-subtle);stroke:var(--cf-color-tertiary)}.library-page .dsa-viz-graph .dsa-viz-node.is-window circle{fill:var(--cf-color-secondary-subtle);stroke:var(--cf-color-secondary)}.library-page .dsa-viz-graph .dsa-viz-node.is-done circle{fill:var(--cf-color-success-subtle);stroke:var(--cf-color-success)}.library-page .dsa-viz-graph .dsa-viz-node.is-found circle{fill:var(--cf-color-success);stroke:var(--cf-color-success)}.library-page .dsa-viz-graph .dsa-viz-node.is-found text{fill:var(--cf-color-on-success)}.library-page .dsa-viz-graph .dsa-viz-node.is-swap circle{fill:var(--cf-color-warning-subtle);stroke:var(--cf-color-warning)}.library-page .dsa-viz-graph .dsa-viz-node.is-discard{opacity:.35}.library-page .dsa-viz-side{display:flex;flex-wrap:wrap;gap:var(--cf-space-300)}.library-page .dsa-viz-list{display:flex;align-items:center;gap:var(--cf-space-200)}.library-page .dsa-viz-list>span{color:var(--cf-color-text-tertiary);font:var(--cf-font-size-250)/var(--cf-line-height-160) var(--cf-font-mono)}.library-page .dsa-viz-list ol{display:flex;flex-wrap:wrap;gap:var(--cf-space-100);margin:0;padding:0;list-style:none}.library-page .dsa-viz-list li{padding:0 var(--cf-space-200);border:1px solid var(--cf-color-tertiary-border);border-radius:var(--cf-radius-100);background:var(--cf-color-tertiary-subtle);font:var(--cf-font-size-300)/var(--cf-line-height-180) var(--cf-font-mono)}.library-page .dsa-viz-list li.is-empty{border-style:dashed;background:none;color:var(--cf-color-text-muted)}.library-page .dsa-viz-vars{display:flex;flex-wrap:wrap;gap:var(--cf-space-150);margin:0}.library-page .dsa-viz-vars div{display:flex;gap:var(--cf-space-100);padding:0 var(--cf-space-200);border:1px solid var(--cf-color-secondary-border);border-radius:var(--cf-radius-100);background:var(--cf-color-secondary-subtle);font:var(--cf-font-size-300)/var(--cf-line-height-180) var(--cf-font-mono)}.library-page .dsa-viz-vars dt{color:var(--cf-color-text-tertiary)}.library-page .dsa-viz-vars dd{margin:0;font-weight:var(--cf-font-weight-semibold)}.library-page .dsa-viz-note{display:flex;flex-direction:column;gap:var(--cf-space-100);min-height:76px;margin:0;padding:var(--cf-space-300) var(--cf-space-400);border-top:1px solid var(--cf-color-border);border-left:3px solid var(--cf-color-code-button);color:var(--cf-color-text);font-size:var(--cf-font-size-350)}.library-page .dsa-viz-note code{padding:0 var(--cf-space-100);border-radius:var(--cf-radius-100);background:var(--cf-color-code-inline-bg);color:var(--cf-color-code-inline-text);font-family:var(--cf-font-mono);font-size:.9em}.library-page .dsa-viz-step{color:var(--cf-color-text-tertiary);font:var(--cf-font-size-250)/var(--cf-line-height-160) var(--cf-font-mono)}.library-page .dsa-viz-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-200);padding:var(--cf-space-300) var(--cf-space-400);border-top:1px solid var(--cf-color-border);background:var(--cf-color-bg-subtle)}.library-page .dsa-viz-speed{display:flex;align-items:center;gap:var(--cf-space-150);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}.library-page .dsa-viz-scrub{flex:1 1;min-width:120px;accent-color:var(--cf-color-code-button)}.library-page .dsa-viz-legend{display:flex;flex-wrap:wrap;gap:var(--cf-space-200) var(--cf-space-400);margin:0;padding:var(--cf-space-200) var(--cf-space-400) var(--cf-space-300);background:var(--cf-color-bg-subtle);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275);list-style:none}.library-page .dsa-viz-legend li{display:flex;align-items:center;gap:var(--cf-space-150)}.library-page .dsa-viz-swatch{display:inline-block;width:14px;height:14px;border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-050);background:var(--cf-color-surface-raised)}.library-page .dsa-viz-swatch.is-active{border-color:var(--cf-color-primary);background:var(--cf-color-primary-subtle);color:var(--cf-color-text-strong)}.library-page .dsa-viz-swatch.is-compare{border-color:var(--cf-color-tertiary-border);background:var(--cf-color-tertiary-subtle)}.library-page .dsa-viz-swatch.is-window{border-color:var(--cf-color-secondary-border);background:var(--cf-color-secondary-subtle)}.library-page .dsa-viz-swatch.is-done{border-color:var(--cf-color-success-border);background:var(--cf-color-success-subtle)}.library-page .dsa-viz-swatch.is-found{border-color:var(--cf-color-success);background:var(--cf-color-success);color:var(--cf-color-on-success)}.library-page .dsa-viz-swatch.is-swap{border-color:var(--cf-color-warning-border);background:var(--cf-color-warning-subtle)}.library-page .dsa-viz-swatch.is-discard{opacity:.4}@media(prefers-reduced-motion:reduce){.library-page .dsa-viz-cell .dsa-viz-value,.library-page .dsa-xp-bar span{transition:none}}