.tl{--tl-bg:var(--paper);--tl-panel:#fffefa;--tl-line:var(--line);--tl-text:var(--ink);--tl-muted:var(--ink-soft);--tl-teal:var(--teal);--tl-copper:var(--copper-text);--tl-amber:var(--series-gold-deep);--tl-ink:var(--ink);--tl-slate:var(--series-sage);--tl-blue:var(--series-navy);--tl-plum:var(--series-purple);background:var(--tl-bg);color:var(--tl-text);padding-bottom:4rem}.tl-plate{margin-top:2rem}.tl-measure{border:0;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;display:flex}.tl-measure legend{color:var(--tl-muted);font:500 .8rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem}.tl-measure input{opacity:0;pointer-events:none;position:absolute}.tl-measure label{border:1px solid var(--tl-teal);background:var(--tl-panel);min-height:44px;color:var(--tl-text);cursor:pointer;align-items:center;padding:0 1rem;font-weight:600;display:inline-flex}.tl-measure input:checked+label{background:var(--tl-teal);color:#fff}.tl-measure input:focus-visible+label{outline:2px solid var(--teal);outline-offset:4px}.tl-measure[hidden]{display:none}.tl-sortbar{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 1rem;display:flex}.tl-sortbar[hidden]{display:none}.tl-sortbar label{color:var(--tl-muted);font:500 .8rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}.tl-sortbar select,.tl-sortbar button{border:1px solid var(--tl-teal);background:var(--tl-panel);min-height:44px;color:var(--tl-text);font:inherit;white-space:nowrap;padding:0 1rem;font-weight:600}.tl-sortbar button{background:var(--tl-teal);color:#fff;cursor:pointer}.tl-sortbar #sort-cell{background:var(--tl-panel);color:var(--tl-text)}.tl-sortbar select:focus-visible,.tl-sortbar button:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.tl-hint{color:var(--tl-muted);flex-basis:100%;margin:0;font-size:.92rem}.tl-sources:has(#c-1:not(:checked)) tr[data-bits="1"],.tl-sources:has(#c-2:not(:checked)) tr[data-bits="2"],.tl-sources:has(#c-3:not(:checked)) tr[data-bits="3"],.tl-sources:has(#c-4:not(:checked)) tr[data-bits="4"],.tl-sources:has(#c-5:not(:checked)) tr[data-bits="5"],.tl:has(#mk-samsung:not(:checked)) :is(tr[data-maker=samsung],.dot.v-samsung),.tl:has(#mk-hynix:not(:checked)) :is(tr[data-maker=hynix],.dot.v-hynix),.tl:has(#mk-micron:not(:checked)) :is(tr[data-maker=micron],.dot.v-micron),.tl:has(#mk-kioxia:not(:checked)) :is(tr[data-maker=kioxia],.dot.v-kioxia),.tl:has(#mk-ymtc:not(:checked)) :is(tr[data-maker=ymtc],.dot.v-ymtc),.tl:has(#mk-intel:not(:checked)) :is(tr[data-maker=intel],.dot.v-intel),.tl:has(#mk-solidigm:not(:checked)) :is(tr[data-maker=solidigm],.dot.v-solidigm),.tl:has(#mk-other:not(:checked)) tr[data-maker=other],.tl:has(#st-planar:checked) :is(.dot.s-3d,.dot.s-stacked-planar,tr[data-structure="3d"],tr[data-structure=stacked-planar]),.tl:has(#st-stacked-planar:checked) :is(.dot.s-planar,.dot.s-3d,tr[data-structure=planar],tr[data-structure="3d"]),.tl:has(#st-3d:checked) :is(.dot.s-planar,.dot.s-stacked-planar,tr[data-structure=planar],tr[data-structure=stacked-planar]),.tl:has(#st-3d:checked) :is(.cap-planar,.cap-stacked-planar),.tl:has(#st-planar:checked) .cap-stacked-planar,.tl:has(#st-stacked-planar:checked) .cap-planar{display:none}.tl-spread-note{max-width:min(62ch,100%);color:var(--tl-text);margin:.6rem 0 0}.tl-structure-top{flex-wrap:wrap;align-items:center;gap:.5rem;margin:-.25rem 0 1rem;display:flex}.tl-structure-top[hidden]{display:none}.tl-structure-label{color:var(--tl-muted);font:500 .8rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-basis:100%}.tl-structure-top button{border:1px solid var(--tl-teal);background:var(--tl-panel);min-height:44px;color:var(--tl-text);font:inherit;cursor:pointer;align-items:center;padding:0 1rem;font-weight:600;display:inline-flex}.tl-structure-top button[aria-pressed=true]{background:var(--tl-teal);color:#fff}.tl-structure-top button:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.tl-struct-note{margin:.9rem 0 0;font-weight:600;display:none}.tl:has(#st-planar:checked) .tl-struct-note.n-planar,.tl:has(#st-stacked-planar:checked) .tl-struct-note.n-stacked-planar,.tl:has(#st-3d:checked) .tl-struct-note.n-3d{display:block}.tl-chart{margin:0;display:none}.tl:has(#m-layers:checked) .chart-layers,.tl:has(#m-density_gb_mm2:checked) .chart-density_gb_mm2,.tl:has(#m-io_product_mts:checked) .chart-io_product_mts,.tl:has(#m-io_mts:checked) .chart-io_mts,.tl:has(#m-bits_per_cell:checked) .chart-bits_per_cell{display:block}.chart-bits_per_cell .dot.c-1 path,.tl-legend .lg-cell.c-1 path{fill:var(--tl-teal)}.chart-bits_per_cell .dot.c-2 path,.tl-legend .lg-cell.c-2 path{fill:var(--tl-copper)}.chart-bits_per_cell .dot.c-3 path,.tl-legend .lg-cell.c-3 path{fill:var(--tl-ink)}.chart-bits_per_cell .dot.c-4 path,.tl-legend .lg-cell.c-4 path{fill:var(--tl-amber)}.chart-bits_per_cell .dot.c-5 path,.tl-legend .lg-cell.c-5 path{fill:var(--tl-slate)}.tl-cap{color:var(--tl-muted);margin-bottom:.5rem}.tl-scroll{border:1px solid var(--tl-line);background:var(--tl-panel);position:relative;overflow-x:auto}.tl-scroll:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.tl-chart svg{width:100%;min-width:680px;max-width:none;height:auto;display:block}.tl-chart text{font:12px var(--mono);fill:var(--tl-muted)}.tl-chart .axis-title{fill:var(--tl-text);font-weight:500}.tl-chart .grid line{stroke:var(--tl-line);stroke-width:1px}.tl-chart .axis,.tl-chart .xtick{stroke:var(--tl-text);stroke-width:1.5px}.tl-chart .ctl-line{fill:none;stroke:var(--tl-copper);stroke-width:2.5px;stroke-dasharray:2 5;stroke-linecap:round}.tl-chart .std-line{fill:none;stroke:var(--tl-text);stroke-width:2px;stroke-dasharray:7 5}.dot path{stroke:var(--tl-panel);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;transition:transform .15s}.dot.is-bound path{stroke-width:2.5px}.dot.is-bound.v-samsung path{fill:var(--tl-panel);stroke:var(--tl-teal)}.dot.is-bound.v-kioxia path{fill:var(--tl-panel);stroke:var(--tl-copper)}.dot.is-bound.v-hynix path{fill:var(--tl-panel);stroke:var(--tl-ink)}.dot.is-bound.v-micron path{fill:var(--tl-panel);stroke:var(--tl-amber)}.dot.is-bound.v-intel path{fill:var(--tl-panel);stroke:var(--tl-blue)}.dot.is-bound.v-solidigm path{fill:var(--tl-panel);stroke:var(--tl-plum)}.dot.is-bound.v-ymtc path{fill:var(--tl-panel);stroke:var(--tl-slate)}.dot:hover path,.dot:focus-visible path{transform:scale(1.35)}.dot:focus-visible{outline:none}.dot:focus-visible path{stroke:var(--tl-text);stroke-width:2.5px}.v-samsung path{fill:var(--tl-teal)}.v-kioxia path{fill:var(--tl-copper)}.v-hynix path{fill:var(--tl-ink)}.v-micron path{fill:var(--tl-amber)}.v-intel path{fill:var(--tl-blue)}.v-solidigm path{fill:var(--tl-plum)}.v-ymtc path{fill:var(--tl-slate)}.tl-legend{color:var(--tl-muted);flex-wrap:wrap;gap:.4rem 1.25rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.tl-legend li{align-items:center;gap:.4rem;display:inline-flex}.tl-legend .lg-limit,.tl-legend .lg-cell{display:none}.tl:has(#m-bits_per_cell:checked) .tl-legend .lg-cell{display:inline-flex}.tl:has(#m-bits_per_cell:checked) .tl-legend .lg-vendor path{fill:var(--tl-panel);stroke:var(--tl-text);stroke-width:1.5px}.tl-jump{margin:.9rem 0 0}.tl-jump a{font-weight:600}.tl:has(#m-io_product_mts:checked) .tl-legend .lg-limit,.tl:has(#m-io_mts:checked) .tl-legend .lg-limit{display:inline-flex}.tl-legend .lg-limit line{stroke:var(--tl-text);stroke-width:2px;stroke-dasharray:5 3}.tl-legend .lg-limit line.ctl{stroke:var(--tl-copper);stroke-width:2.5px;stroke-dasharray:2 4;stroke-linecap:round}.tl-legend .v-samsung path{fill:var(--tl-teal)}.tl-legend .v-kioxia path{fill:var(--tl-copper)}.tl-legend .v-hynix path{fill:var(--tl-ink)}.tl-legend .v-micron path{fill:var(--tl-amber)}.tl-legend .v-intel path{fill:var(--tl-blue)}.tl-legend .v-solidigm path{fill:var(--tl-plum)}.tl-legend .v-ymtc path{fill:var(--tl-slate)}.tl-read,.tl-standards,.tl-sources{margin-top:3rem}.tl-read p{max-width:var(--lab-measure)}.tl-standards table,.tl-sources table{border-collapse:collapse;width:100%;min-width:52rem;font-size:.92rem}.tl-standards th,.tl-standards td,.tl-sources th,.tl-sources td{border-bottom:1px solid var(--tl-line);text-align:left;vertical-align:top;padding:.55rem .7rem}.tl-standards thead th,.tl-sources thead th{background:var(--tl-panel);color:var(--tl-muted);font:500 .78rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}.tl-standards tbody th,.tl-sources tbody th{font-weight:700}.tl-sources tr:target,.tl-sources tr:target th{background:#e3efe9}.tl-sources table{width:max-content;min-width:100%}.tl-standards thead th,.tl-sources thead th,.nw{white-space:nowrap}.tl-sources tbody th{min-width:11rem;max-width:19rem}.tl-sources tbody th,.tl-sources thead th:first-child{z-index:1;background:var(--tl-panel);box-shadow:1px 0 0 var(--tl-line);position:sticky;left:0}.tl-sources .tl-src{min-width:9rem;max-width:15rem;line-height:1.35}.tl-sources .tl-src .src{white-space:nowrap;margin:0 .6rem .15rem 0;display:inline-block}.np{color:var(--tl-muted)}.tl-key{color:var(--tl-muted);margin:.2rem 0 .6rem;padding:0;font-size:.92rem;list-style:none}.tl-key li{margin:.1rem 0}.mk{color:var(--tl-teal);font:600 max(.7em, 12px)/1 var(--mono);margin-left:.15em}@media (width<=40rem){.tl-sources tbody th{min-width:8rem;max-width:9.5rem;font-size:.88rem}}.tl-sources .th-sort{min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;display:inline-flex}.tl-sources .th-sort:hover{color:var(--tl-teal);text-decoration:underline}.tl-sources .th-sort:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.tl-sources .th-arrow{opacity:.45;font-size:max(.85em,12px)}.tl-sources .is-sorted .th-sort{color:var(--tl-teal)}.tl-sources .is-sorted .th-arrow{opacity:1}.tl-standards .src{margin-bottom:.3rem;display:block}.tl-note{color:var(--tl-muted);max-width:var(--lab-measure);margin-top:.8rem;font-size:.92rem}@media (prefers-reduced-motion:reduce){.dot path{transition:none}}.tl-ctl .th-sort{min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;display:inline-flex}.tl-ctl .th-sort:hover{color:var(--tl-teal);text-decoration:underline}.tl-ctl .th-sort:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.tl-ctl .th-arrow{opacity:.45;font-size:max(.85em,12px)}.tl-ctl .is-sorted .th-sort{color:var(--tl-teal)}.tl-ctl .is-sorted .th-arrow{opacity:1}.tl-ctl .tl-hint{margin:0 0 .75rem}.tl-ctl tr.grp-start>*{border-top:3px solid var(--tl-teal)}.tl-ctl .ctl-host{min-width:11rem;max-width:17rem}.tl-ctl .tl-src{min-width:9rem;max-width:15rem;line-height:1.35}.tl-ctl .tl-src .src{margin:0 0 .3rem;display:block}.tl-note-tag{border:1px solid var(--tl-copper);color:var(--tl-copper);font:600 .72rem/1.4 var(--mono);letter-spacing:.04em;white-space:nowrap;vertical-align:.1em;margin-left:.35rem;padding:.05rem .4rem;text-decoration:none;display:inline-block}a.tl-note-tag:hover,a.tl-note-tag:focus-visible{background:var(--tl-copper);color:#fff}a.tl-note-tag:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.tl-note-tag--key{margin-left:0}.ctl-notes-title{margin:1.5rem 0 .5rem;font-size:1.05rem}.ctl-notes{max-width:var(--lab-measure);margin:0;padding-left:2.2rem;font-size:.95rem;line-height:1.5}.ctl-notes li{margin-bottom:.55rem;padding:.15rem .3rem;scroll-margin-top:5rem}.ctl-notes li:target{background:var(--tl-panel);outline:2px solid var(--tl-copper)}.ctl-notes .src{white-space:nowrap;margin-left:.25rem;display:inline}.tl:has(#hb-sata:not(:checked)) :is(tr[data-bus=sata],.dot.b-sata),.tl:has(#hb-pcie:not(:checked)) :is(tr[data-bus=pcie],.dot.b-pcie),.tl:has(#hb-sas:not(:checked)) :is(tr[data-bus=sas],.dot.b-sas),.tl:has(#hb-usb:not(:checked)) :is(tr[data-bus=usb],.dot.b-usb),.tl:has(#hb-nvmeof:not(:checked)) :is(tr[data-bus=nvmeof],.dot.b-nvmeof),.tl:has(#hb-pcie:not(:checked)):has(#hb-sata:not(:checked)) tr[data-bus=pcie\ sata],.tl:has(#hb-sata:not(:checked)):has(#hb-usb:not(:checked)) tr[data-bus=sata\ usb]{display:none}.tl-chart--on{display:block}.tl-chart .ctl-line--solid{stroke-dasharray:none;stroke-width:2px}.tl-legend .lg-limit--on{display:inline-flex}.tl-legend .lg-limit line.ctl--solid{stroke-dasharray:none;stroke-width:2px}.b-sata path{fill:var(--tl-teal)}.b-none path{fill:var(--tl-panel);stroke:var(--tl-slate);stroke-width:2.5px}.b-pcie path{fill:var(--tl-copper)}.b-sas path{fill:var(--tl-ink)}.b-usb path{fill:var(--tl-amber)}.b-nvmeof path{fill:var(--tl-slate)}.tl-ctl tr:target,.tl-ctl tr:target th{background:#e3efe9}.tl-ctl tr{scroll-margin-top:5rem}
