@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap";
.bench{--bg:#0b1a28;--bg-2:#060f18;--panel:#091520;--panel-2:#06101a;--ink:#f3f6fa;--ink-2:#d8dee5;--ink-3:#c6ced7;--ink-4:#b8c2cd;--line:#243a4c;--line-2:#374552;--blue:#36bba1;--blue-glow:#36bba129;--green:#b0d795;--green-glow:#b0d79524;--amber:#faa433;--red:#f26327;--violet:#8a8aff;--teal:#36bba1;--purple:#8a8aff;--teal-glow:#36bba129;--mono:"DM Mono", ui-monospace, monospace;--sans:"Basis Grotesque Pro", system-ui, sans-serif;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(60% 50% at 78% -5%,#36bba11f,#0000 60%),radial-gradient(50% 40% at 0 8%,#413b9529,#0000 55%);min-height:100vh;font-size:15.6px;line-height:1.5}.bench *{box-sizing:border-box}.bench .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.bench .wrap{max-width:1320px;margin:0 auto;padding:0 40px}.bench a{color:inherit;text-decoration:none}.bench .brand{letter-spacing:.01em;align-items:center;gap:11px;font-size:16.6px;font-weight:500;display:flex}.bench .brand .sub{color:var(--ink-3);font-weight:500}.bench .logo-wm{width:auto;height:19px;color:var(--ink);display:block}.bench .hero{border-bottom:1px solid var(--line);padding:88px 0 56px}.bench .tagchip{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--teal);border:1px solid var(--line-2);background:var(--teal-glow);border-radius:100px;align-items:center;gap:8px;margin-bottom:26px;padding:6px 12px;font-size:12.5px;display:inline-flex}.bench .tagchip .dot{background:var(--teal);width:6px;height:6px;box-shadow:0 0 10px var(--teal);border-radius:50%}.bench h1{letter-spacing:-.03em;font-size:56.2px;font-weight:400;line-height:1.05}.bench h1 .grad{background:linear-gradient(100deg, var(--teal), #8a8aff);color:#0000;-webkit-background-clip:text;background-clip:text}.bench .subtitle{color:var(--ink-2);max-width:620px;margin-top:24px;font-size:18.7px;line-height:1.55}.bench .body-copy{color:var(--ink-3);max-width:620px;margin-top:20px;font-size:15.1px;line-height:1.6}.bench .hero-cta{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.bench .btn-primary{background:var(--blue);color:#03070e;border:1px solid var(--blue);border-radius:9px;align-items:center;gap:9px;padding:12px 20px;font-size:14.6px;font-weight:500;display:inline-flex}.bench .btn-primary:hover{box-shadow:0 0 24px var(--blue-glow)}.bench .btn-ghost{color:var(--ink);border:1px solid var(--line-2);border-radius:9px;align-items:center;gap:9px;padding:12px 20px;font-size:14.6px;font-weight:500;display:inline-flex}.bench .btn-ghost:hover{border-color:var(--ink-3)}.bench header[id],.bench .dd-fam[id],.bench .chartcard[id]{scroll-margin-top:76px}@media (min-width:981px){.bench .dd-fam[id],.bench .chartcard[id]{scroll-margin-top:120px}}.bench section.block[id]{scroll-margin-top:25px}@media (min-width:981px){.bench section.block[id]{scroll-margin-top:48px}}.bench section.block{border-bottom:1px solid var(--line);padding:72px 0}.bench section.block:last-of-type{border-bottom:none}.bench h2{letter-spacing:-.025em;font-size:33.3px;font-weight:400;line-height:1.12}.bench .sec-desc{color:var(--ink-2);max-width:680px;margin-top:12px;font-size:16.6px}.bench .tab-h{letter-spacing:-.025em;margin-bottom:6px;font-size:33.3px;font-weight:400}.bench .tab-sub{color:var(--ink-2);max-width:720px;margin-bottom:28px;font-size:15.6px}.bench .tabbar{background:var(--panel);border:1px solid var(--line);border-radius:11px;flex-wrap:wrap;gap:4px;margin:30px 0;padding:5px;display:inline-flex}.bench .tabbtn{font-family:var(--mono);color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:10px 20px;font-size:13.5px;font-weight:500}.bench .tabbtn:hover{color:var(--ink-2)}.bench .tabbtn.on{color:var(--ink);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--line-2)}.bench .tabpane.on{animation:.3s benchfade}@keyframes benchfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bench .legend{flex-wrap:wrap;gap:22px;margin-top:16px;display:flex}.bench .legend .lg{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.bench .legend .lg .sw{border-radius:50%;width:11px;height:11px}.bench .lat-dot{transition:r .12s,fill-opacity .12s}.bench .grid-line{stroke:var(--line);stroke-width:1px}.bench .subsec-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;margin:34px 0 2px;font-size:12.5px;display:flex}.bench .subsec-label:before{content:"";background:var(--blue);width:14px;height:2px}.bench .dd-fam{font-family:var(--sans);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:12px;margin:40px 0 16px;font-size:26px;font-weight:400;display:flex}.bench .dd-fam .meta{color:var(--ink-4);letter-spacing:0;margin-left:auto;font-size:12.5px}.bench .dd-fam-link{color:inherit;text-decoration:none;transition:opacity .15s}.bench .dd-fam-link:hover{opacity:.85;text-decoration:underline}.bench .dd-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.bench .dd-grid+.dd-grid{margin-top:24px}.bench .cc-footnote{font-family:var(--mono);color:var(--ink-3);max-width:860px;margin-top:34px;font-size:13px;line-height:1.6}.bench .cc-footnote.section-footnote{margin-top:20px}.bench .dd-grid.dd-2{grid-template-columns:1fr 1fr}@media (max-width:860px){.bench .dd-grid.dd-2{grid-template-columns:1fr}}.bench .chartcard{border:1px solid var(--line);background:var(--panel);border-radius:11px;flex-direction:column;padding:16px 16px 14px;display:flex}.bench .chartcard .cc-title{margin-top:2px;font-size:18.7px;font-weight:500;line-height:1.25}.bench .chartcard .cc-desc{color:var(--ink-3);margin-top:5px;font-size:13px;line-height:1.35}.bench .chartcard .cc-chart{margin-top:14px}.bench .chartcard .cc-chart svg{width:100%;height:auto;display:block}.bench .cc-legend{flex-wrap:wrap;gap:10px 16px;margin-top:11px;display:flex}.bench .cc-legend .li{color:var(--ink-2);align-items:center;gap:6px;font-size:12.5px;display:flex}.bench .cc-legend .li .sw{border-radius:2px;width:9px;height:9px}.bench .bm-label{font-family:var(--mono);fill:var(--ink-3);font-size:11.4px}.bench .bm-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}.bench .axis-label{font-family:var(--mono);fill:var(--ink-3);font-size:12.5px}.bench .cc-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bench .chartcard{min-width:0;margin:0}.bench .chartcard .cc-cap{flex-direction:column;display:flex}.bench .chartcard .cc-cap-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.bench .chartcard .cc-cap-controls{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.bench .chartcard .cc-cap-toggle{flex:none}.bench .chartcard .cc-cap-toggle .cc-linkbtn{font-family:var(--mono);color:var(--ink-2);background:var(--panel-2);border:1px solid var(--line-2);border-radius:7px;padding:7px 13px;font-size:12.5px;text-decoration:none}.bench .chartcard .cc-cap-toggle .cc-linkbtn:hover:not(:disabled){border-color:var(--ink-4);color:var(--ink)}.bench .chartcard .cc-cap-toggle .cc-linkbtn.on{border-color:var(--teal);color:var(--ink)}.bench .chartcard .cc-cap-controls .cc-ctl{flex-direction:row;align-items:center;gap:0}.bench .chartcard h3.cc-title{letter-spacing:-.01em;margin:2px 0 0;font-size:18.7px;font-weight:500;line-height:1.25}.bench .chartcard p.cc-desc{color:var(--ink-3);margin-top:5px;font-size:13px;line-height:1.35}.bench .cc-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px 18px;margin-top:14px;display:flex}.bench .cc-ctl{flex-direction:column;gap:5px;display:flex;position:relative}.bench .cc-ctl-label{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);font-size:10.5px}.bench .cc-seg{border-radius:8px;gap:2px;margin:0;padding:3px}.bench .cc-seg .tabbtn{border-radius:5px;padding:6px 11px;font-size:12px}.bench .cc-linkbtn{font-family:var(--mono);color:var(--ink-3);cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);background:0 0;border:none;padding:4px 2px;font-size:12px}.bench .cc-linkbtn:hover:not(:disabled){color:var(--teal);-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal)}.bench .cc-linkbtn:disabled{opacity:.45;cursor:default}.bench .cc-linkbtn.on{color:var(--teal)}.bench .cc-hint{font-family:var(--mono);color:var(--ink-4);font-size:11.5px}.bench .tabbtn:focus-visible,.bench .cc-linkbtn:focus-visible,.bench .cc-picker-trigger:focus-visible,.bench .cc-picker-opt:focus-visible,.bench .cc-th-btn:focus-visible,.bench .li-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}.bench .cc-hit:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.bench .cc-picker{position:relative}.bench .cc-picker-trigger{font-family:var(--mono);color:var(--ink-2);background:var(--panel-2);border:1px solid var(--line-2);cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:7px 11px;font-size:12.5px;display:inline-flex}.bench .cc-picker-trigger:hover{border-color:var(--ink-4);color:var(--ink)}.bench .cc-picker-trigger.open{border-color:var(--teal);color:var(--ink)}.bench .cc-picker-trigger .mono{color:var(--teal)}.bench .cc-picker-caret{color:var(--ink-4);font-size:10px}.bench .cc-picker-pop{z-index:30;background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;flex-direction:column;gap:6px;width:268px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 14px 34px #00000080}.bench .cc-picker-search{font-family:var(--mono);color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;width:100%;padding:7px 9px;font-size:12.5px}.bench .cc-picker-search::placeholder{color:var(--ink-4)}.bench .cc-picker-search:focus-visible{border-color:var(--teal);outline:none}.bench .cc-picker-list{flex-direction:column;max-height:244px;display:flex;overflow-y:auto}.bench .cc-picker-opt{width:100%;font-family:var(--mono);color:var(--ink-3);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:12.5px;display:flex}.bench .cc-picker-opt:hover:not(:disabled){background:var(--panel);color:var(--ink)}.bench .cc-picker-opt.on{color:var(--ink)}.bench .cc-picker-opt:disabled{cursor:default;opacity:.7}.bench .cc-picker-check{width:13px;color:var(--teal);flex:none;font-size:13px;font-weight:700}.bench .cc-picker-empty{font-family:var(--mono);color:var(--ink-4);padding:10px 8px;font-size:12px}.bench .cc-picker-foot{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:4px;display:flex}.bench .cc-plot{margin-top:14px;position:relative}.bench .cc-plot svg{width:100%;height:auto;display:block;overflow:visible}.bench .cc-mark{transition:opacity .12s}.bench .cc-mark.dim{opacity:.32}.bench .cc-mark.active{opacity:1}.bench .cc-mark.active path,.bench .cc-mark.active circle{filter:brightness(1.18)}.bench .cc-hit{cursor:default}.bench .cc-tip{z-index:40;pointer-events:none;background:var(--bg-2);border:1px solid var(--line-2);border-radius:9px;min-width:168px;max-width:300px;padding:9px 11px;transition:opacity 90ms;position:fixed;box-shadow:0 14px 34px #0000008c}.bench .cc-tip-title{color:var(--ink);font-size:12.8px;font-weight:500;line-height:1.25}.bench .cc-tip-sub{font-family:var(--mono);color:var(--ink-4);margin-top:2px;font-size:11px}.bench .cc-tip-rows{flex-direction:column;gap:4px;margin-top:7px;display:flex}.bench .cc-tip-row{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.bench .cc-tip-row.muted .cc-tip-val{color:var(--ink-3);font-weight:400}.bench .cc-tip-key{color:var(--ink-3);align-items:center;gap:6px;font-size:12px;display:flex}.bench .cc-tip-line{border-radius:1px;flex:none;width:11px;height:2px}.bench .cc-tip-val{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:500}.bench .cc-tip-foot{font-family:var(--mono);color:var(--ink-4);border-top:1px solid var(--line);margin-top:7px;padding-top:6px;font-size:10.5px;line-height:1.35}.bench .cc-legend .sw.line{border-radius:2px;width:12px;height:3px}.bench .li-btn{cursor:pointer;font:inherit;color:var(--ink-2);background:0 0;border:none;padding:3px 2px;font-size:12.5px}.bench .li-btn:hover{color:var(--ink)}.bench .li-btn.off{color:var(--ink-4)}.bench .li-btn.off .sw{opacity:.3}.bench .li-btn.off{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.bench .cc-tablewrap{min-width:0;margin-top:16px}.bench .cc-tablescroll{min-width:0;overflow-x:auto}.bench .cc-datatable{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%}.bench .cc-datatable th:first-child,.bench .cc-datatable td:first-child{width:auto}.bench .cc-datatable thead th{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);background:var(--panel-2);text-align:left;vertical-align:bottom;border-top:1.5px solid var(--ink-4);border-bottom:1px solid var(--line-2);white-space:normal;padding:10px 14px 9px 0;font-size:11.5px;font-weight:500}.bench .cc-datatable thead th:first-child{padding-left:10px}.bench .cc-datatable thead th.num{text-align:right}.bench .cc-datatable thead th.num .cc-th-btn{justify-content:flex-end;width:100%}.bench .cc-datatable tbody td,.bench .cc-datatable tbody th{font-family:var(--mono);color:var(--ink-2);text-align:left;border:none;padding:7px 14px 7px 0;font-size:13.6px;font-weight:400}.bench .cc-datatable tbody th.cc-rowhead{color:var(--ink);white-space:nowrap;padding-left:10px}.bench .cc-datatable tbody td.num,.bench .cc-datatable tbody th.num{text-align:right}.bench .cc-datatable th.gap,.bench .cc-datatable td.gap{padding-left:34px}.bench .cc-datatable tbody tr:last-child td,.bench .cc-datatable tbody tr:last-child th{border-bottom:1.5px solid var(--ink-4)}.bench .cc-datatable tbody tr:hover td,.bench .cc-datatable tbody tr:hover th{color:var(--ink);background:var(--panel-2)}.bench .cc-th-btn{font:inherit;color:inherit;cursor:pointer;letter-spacing:inherit;text-transform:inherit;text-align:inherit;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:inline-flex}.bench .cc-th-btn:hover{color:var(--teal)}.bench .cc-th-arrow{color:var(--teal);min-width:8px}.bench .cc-tablefoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.bench .cc-runsettings{border-top:1px solid var(--line);margin-top:14px}.bench .cc-runsettings>summary{font-family:var(--mono);color:var(--ink-3);cursor:pointer;align-items:center;gap:8px;padding:10px 0 2px;font-size:12px;list-style:none;display:flex}.bench .cc-runsettings>summary::-webkit-details-marker{display:none}.bench .cc-runsettings>summary:before{content:"▸";color:var(--teal);font-size:10px;transition:transform .12s}.bench .cc-runsettings[open]>summary:before{content:"▾"}.bench .cc-runsettings>summary:hover{color:var(--ink)}.bench .cc-runsettings>summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}.bench .cc-runsettings dl{gap:1px;margin:8px 0 4px;display:grid}.bench .cc-runsettings dl>div{border-bottom:1px solid var(--line);grid-template-columns:190px 1fr;gap:16px;padding:7px 0;display:grid}.bench .cc-runsettings dl>div:last-child{border-bottom:none}.bench .cc-runsettings dt{font-family:var(--mono);color:var(--ink-4);font-size:11.5px}.bench .cc-runsettings dd{color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.5}.bench .cc-runsettings dd code{font-family:var(--mono);color:var(--ink);font-size:.92em}.bench .cc-rs-note{color:var(--ink-4);margin-top:8px;font-size:12px;line-height:1.5}@media (max-width:620px){.bench .cc-runsettings dl>div{grid-template-columns:1fr;gap:2px}.bench .cc-datatable{table-layout:auto}}.bench .cc-ci{stroke:var(--ink-4);stroke-width:1.5px;opacity:.85}.bench .cc-dot{transition:r .12s}@media (max-width:620px){.bench .cc-plot{min-width:0;overflow-x:auto}.bench .cc-plot svg{min-width:min(620px, var(--plot-max,620px))}.bench .cc-toolbar{gap:10px 12px}.bench .cc-picker-pop{width:min(268px,100vw - 72px)}}@media (prefers-reduced-motion:reduce){.bench .cc-mark,.bench .cc-tip,.bench .cc-dot,.bench .lat-dot,.bench .tabpane.on{transition:none;animation:none}}.bench .panel-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px}.bench .card-title{font-size:13.5px;font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.bench .card-foot{font-family:var(--mono);color:var(--ink-4);margin-top:14px;font-size:12.5px}.bench .method-grid{border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;display:grid;overflow:hidden}.bench .method-col{border-right:1px solid var(--line);padding:30px}.bench .method-col:last-child{border-right:none}.bench .method-col h3{letter-spacing:-.01em;align-items:center;gap:10px;margin-bottom:12px;font-size:17.7px;font-weight:500;display:flex}.bench .method-col h3 .n{font-family:var(--mono);color:var(--blue);border:1px solid var(--line-2);border-radius:5px;padding:2px 7px;font-size:12.5px}.bench .method-col p{color:var(--ink-2);font-size:14px;line-height:1.6}.bench .method-col p b{color:var(--ink);font-weight:600}.bench .method-col a{color:var(--teal);text-decoration:none}.bench .method-col a:hover{text-decoration:underline}.bench .btable{border:1px solid var(--line);border-radius:12px;margin-top:24px;overflow:hidden}.bench .btable-scroll{overflow-x:auto}.bench .btable table{border-collapse:collapse;width:100%;min-width:720px}.bench .btable thead th{color:var(--ink);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;text-align:left;white-space:nowrap;background:#0d2438;padding:16px 18px;font-size:11.5px;font-weight:500}.bench .btable tbody td{color:var(--ink-2);border-top:1px solid var(--line);vertical-align:top;padding:16px 18px;font-size:14px}.bench .btable tbody tr:hover{background:var(--panel)}.bench .btable .cat{color:var(--teal);font-weight:500}.bench .btable .bench-name{color:var(--ink);font-weight:500}.bench .btable .mono{font-family:var(--mono);font-size:13px}.bench .btable .muted{color:var(--ink-4);font-style:italic}.bench .btable .teal{color:var(--teal)}.bench .pill{font-family:var(--mono);border:1px solid var(--line-2);border-radius:100px;padding:3px 9px;font-size:11.5px;display:inline-block}.bench .pill.easy{color:var(--green);border-color:#b0d79566}.bench .pill.medium{color:var(--blue);border-color:#36bba166}.bench .pill.hard{color:var(--amber);border-color:#faa43366}.bench .pill.veryhard{color:var(--red);border-color:#f2632766}.bench footer{padding:54px 0 60px}.bench .foot-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:30px;display:grid}.bench .foot-grid .copy{color:var(--ink-3);margin-top:14px;font-size:13.5px;line-height:1.7}.bench .foot-col h4{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-bottom:14px;font-size:12.5px}.bench .foot-col a{color:var(--ink-2);padding:5px 0;font-size:14.6px;display:block}.bench .foot-col a:hover{color:var(--blue)}@media (max-width:980px){.bench .method-grid,.bench .foot-grid{grid-template-columns:1fr 1fr}.bench .method-col{border-right:none;border-bottom:1px solid var(--line)}.bench h1{font-size:41.6px}.bench .nav-links{display:none}}@media (max-width:620px){.bench .foot-grid{grid-template-columns:1fr}.bench .wrap{padding:0 20px}.bench .method-grid{grid-template-columns:1fr}.bench .method-col:last-child{border-bottom:none}.bench .dd-fam{flex-wrap:wrap;row-gap:4px}.bench .dd-fam .meta{flex:1 0 100%;margin-left:0}}
