:root{--bg:#f7f5f0;--surface:#fff;--ink:#1a1a18;--ink-2:#3d3b36;--muted:#5a5852;--rule:#d9d5cc;--rule-soft:#e6e2d9;--grid:#ece8df;--placeholder:#e4e0d7;--meter-range:#a29d93;--hover-bg:#f0ede6;--accent:#c00;--accent-hover:#8f0000;--sans:"IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--container:1152px;--gutter:32px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;display:flex}p{margin:0}img{max-width:100%;display:block}a{color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:min(var(--container), calc(100% - 32px));margin:0 auto}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{border-bottom:1px solid var(--ink);background:var(--bg)}.site-header .container{justify-content:space-between;align-items:center;height:88px;display:flex}.brand{color:var(--ink);align-items:center;gap:20px;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.brand-mark{align-items:center;gap:14px;display:flex}.brand img{width:auto;height:72px}.brand-name{letter-spacing:-.01em;white-space:nowrap;font-size:18px;font-weight:600}.brand-name span{color:var(--ink-2);font-weight:400}.brand-divider{background:var(--rule);width:1px;height:32px}.site-nav{gap:40px;font-size:16px;display:flex}.site-nav a{color:var(--ink);padding:32px 0;text-decoration:none}.site-nav a[aria-current=page]{border-bottom:2px solid var(--accent);padding-bottom:30px;font-weight:600}.site-footer{border-top:1px solid var(--ink);margin-top:auto}.site-footer .container{justify-content:space-between;align-items:center;height:96px;font-size:15px;display:flex}.site-footer strong{font-weight:600}.site-footer a{font-family:var(--mono);font-size:14px}main.page{flex:1 0 auto;padding-bottom:120px}.meter{gap:3px;display:flex}.meter span{background:var(--rule-soft);width:11px;height:12px;display:block}.meter .on{background:var(--ink)}.meter .range{background:var(--meter-range)}.meter--md{gap:2px}.meter--md span{width:8px;height:10px}.meter--sm{gap:1px}.meter--sm span{width:5px;height:6px}.lift{transition:transform .12s ease-out,box-shadow .12s ease-out}.lift:hover,.lift:focus-visible{box-shadow:6px 6px 0 0 var(--accent);outline:none;transform:translate(-6px,-6px)}.section-head{border-top:1px solid var(--ink);align-items:baseline;gap:16px;padding-top:20px;display:flex}.section-num{font-family:var(--mono);color:var(--accent);font-size:15px}.section-head h2{letter-spacing:-.015em;margin:0;font-size:32px;font-weight:600}.demo-hero{grid-template-columns:minmax(0,1fr) 448px;align-items:start;gap:56px;padding-top:48px;display:grid}.demo-hero-main{flex-direction:column;gap:24px;min-width:0;padding-top:4px;display:flex}.breadcrumb{font-family:var(--mono);color:var(--muted);gap:8px;font-size:14px;display:flex}.breadcrumb a{color:var(--muted)}.breadcrumb [aria-current]{color:var(--ink)}.demo-title{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:64px;font-weight:600;line-height:1.02}.demo-subtitle{color:var(--ink-2);text-wrap:pretty;max-width:580px;font-size:23px;line-height:1.45}.demo-blurb{text-wrap:pretty;max-width:640px;font-size:17px;line-height:1.6}.demo-diagram{padding-top:16px;scroll-margin-top:24px}.alt-tip{z-index:50;background:var(--ink);color:#fff;text-wrap:pretty;pointer-events:none;max-width:360px;padding:8px 12px;font-size:14px;line-height:1.45;position:fixed;top:0;left:0}.alt-tip[hidden]{display:none}.stub-banner{background:var(--accent);color:#fff}.stub-banner .container{align-items:baseline;gap:16px;padding:14px 0;display:flex}.stub-banner-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #fff;padding:2px 7px;font-size:13px;font-weight:500}.stub-banner p{font-size:16px;font-weight:500;line-height:1.5}.demo-diagram img{width:100%;height:auto;display:block}.demo-side{flex-direction:column;gap:16px;display:flex}.scores{background:var(--surface);border:1px solid var(--ink);margin:0}.scores-row{border-top:1px solid var(--rule-soft);grid-template-columns:176px minmax(0,1fr) 88px;align-items:center;gap:16px;padding:11px 20px;display:grid}.scores-row:first-child{border-top:0}.scores-row dt{font-size:15px}.scores-row dd{margin:0}.scores-value{font-family:var(--mono);text-align:right;white-space:nowrap;font-size:15px}.rubric-link{font-family:var(--mono);color:var(--muted);margin-top:10px;font-size:13px;display:inline-block}.rubric-link:hover{color:var(--accent)}.demo-photos{flex-direction:column;gap:16px;display:flex}.photo{margin:0;position:relative}.photo img,.photo video{width:100%;height:auto;display:block}.video-toggle{z-index:1;color:#fff;cursor:pointer;background:#1a1a18bf;border:0;border-radius:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;bottom:8px;right:8px}.video-toggle:hover{background:var(--ink)}.video-toggle[data-state=playing] .icon-play,.video-toggle[data-state=paused] .icon-pause{display:none}.demo-body{grid-template-columns:208px minmax(0,1fr);align-items:start;gap:88px;padding-top:96px;display:grid}.toc{flex-direction:column;gap:4px;display:flex;position:sticky;top:32px}.toc-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:12px;font-size:13px}.toc a{border-left:2px solid var(--rule);color:var(--ink-2);gap:12px;padding:8px 0 8px 12px;font-size:16px;text-decoration:none;display:flex}.toc a span{font-family:var(--mono);color:var(--muted);font-size:14px}.toc a:hover{color:var(--ink)}.toc a.is-active{border-left-color:var(--accent);color:var(--ink);font-weight:500}.toc a.is-active span{color:var(--accent)}.doc{flex-direction:column;gap:96px;min-width:0;font-size:17px;line-height:1.6;display:flex}.doc-section{flex-direction:column;gap:28px;scroll-margin-top:24px;display:flex}.section-body{flex-direction:column;gap:20px;display:flex}.section-body:empty{display:none}.doc ul{margin:0;padding-left:20px}.doc li+li{margin-top:10px}.doc ul ul,.row-body ul{color:var(--ink-2)}.doc code{font-family:var(--mono);background:var(--grid);padding:1px 5px;font-size:.9em}.doc img{height:auto}.doc blockquote{border-left:2px solid var(--rule);color:var(--ink-2);margin:0;padding-left:20px}.doc ol.steps{counter-reset:step;flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.doc ol.steps>li{counter-increment:step;min-height:32px;margin:0;padding:2px 0 0 52px;position:relative}.doc ol.steps>li:before{content:counter(step);background:var(--ink);color:#fff;width:32px;height:32px;font-family:var(--mono);justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;top:0;left:0}.note{background:var(--surface);border:1px solid var(--ink)}.note-title{border-bottom:1px solid var(--ink);align-items:baseline;gap:12px;padding:12px 24px;font-size:16px;font-weight:600;display:flex}.note-title:before{content:"Note";font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:500}.note>:not(.note-title){color:var(--ink-2);margin:18px 24px;font-size:16px}.note>:not(.note-title):last-child{margin-bottom:20px}.note ul{padding-left:20px}.rows{flex-direction:column;display:flex}.row{border-bottom:1px solid var(--rule);grid-template-columns:208px minmax(0,1fr);gap:40px;padding:24px 0;display:grid}.row-head{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.row-head h3{margin:0;font-size:18px;font-weight:600;line-height:1.4}.chips{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.chip{font-family:var(--mono);background:var(--grid);padding:4px 8px;font-size:15px;line-height:1.5}.row-body{flex-direction:column;gap:14px;min-width:0;display:flex}a.cite{font-family:var(--mono);font-size:13px}.supplies{border-collapse:collapse;width:100%;font-size:16px;line-height:1.55}.supplies th{text-align:left;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);padding:0 24px 10px 0;font-size:13px;font-weight:500}.supplies th.col-item{width:208px;padding-right:16px}.supplies th.col-cost{width:128px;padding-right:16px}.supplies th.col-link{width:104px;padding-right:0}.supplies td{vertical-align:top;border-bottom:1px solid var(--rule);padding:18px 16px 18px 0}.supplies td:last-child{padding-right:0}.supplies td.supply-details{color:var(--ink-2);padding-right:24px}.supplies td.supply-cost{font-family:var(--mono);font-size:15px}.supply-item{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.supply-name{font-weight:600}.tag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid #0000;padding:2px 6px;font-size:12px;line-height:1.5}.tag--required{background:var(--accent);border-color:var(--accent);color:#fff}.tag--effectively-required,.tag--likely-required,.tag--maybe-required{border-color:var(--accent);color:var(--accent)}.tag--highly-recommended{border-color:var(--ink);color:var(--ink)}.tag--recommended{background:var(--placeholder);border-color:var(--placeholder);color:var(--ink)}.tag--optional{border-color:var(--rule);color:var(--muted)}.home-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:56px;padding:48px 0 56px;display:grid}.home-hero-title{letter-spacing:-.025em;margin:0;font-size:52px;font-weight:600;line-height:1.08}.home-hero-lead{display:block}.rotator{color:var(--accent);display:block;position:relative}.rotator-item{opacity:0;width:100%;transition:opacity .45s,transform .45s;display:block;position:absolute;top:0;left:0;transform:translateY(-.45em)}.rotator-item.is-current{opacity:1;position:relative;transform:none}.rotator-item.is-leaving{opacity:0;transform:translateY(.45em)}@media (prefers-reduced-motion:reduce){.rotator-item{transition:none}}.home-hero-text{color:var(--ink-2);font-size:19px;line-height:1.55}.explorer{grid-template-columns:620px minmax(0,1fr);align-items:stretch;column-gap:56px;display:grid}.plot-frame{grid-template-rows:540px 28px 48px;grid-template-columns:44px 36px 540px;display:grid}.y-strip,.y-ticks,.x-ticks{position:relative}.y-dd-anchor{z-index:20;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.x-strip{grid-column:3;justify-content:center;align-items:center;display:flex}.x-ticks{grid-column:3}.tick{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:13px;line-height:16px;position:absolute}.y-ticks .tick{right:6px;transform:translateY(50%)}.x-ticks .tick{top:8px;transform:translate(-50%)}.plot{background:var(--surface);border:1px solid var(--ink);width:540px;height:540px;position:relative;overflow:hidden}.gridline{background:var(--grid);position:absolute}.gridline--v{width:1px;top:0;bottom:0}.gridline--h{height:1px;left:0;right:0}.guide{background:var(--accent);pointer-events:none;position:absolute}.mark{appearance:none;background:var(--ink);cursor:default;opacity:.7;border:0;border-radius:0;padding:0;display:block;position:absolute;box-shadow:0 0 0 2px #fff}.plot.is-stacked .mark{cursor:pointer}.mark.is-active{background:var(--accent);z-index:5}.mark:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mark-tag{background:var(--accent);color:#fff;white-space:nowrap;pointer-events:none;z-index:6;padding:3px 8px;font-size:13px;font-weight:500;position:absolute}.mark-tag-count{font-family:var(--mono);border-left:1px solid #ffffff80;margin-left:8px;padding-left:8px;font-size:12px}.dd{z-index:20;position:relative}.dd-button{appearance:none;border:1px solid var(--ink);background:var(--surface);height:40px;color:var(--ink);font-family:var(--sans);white-space:nowrap;cursor:pointer;border-radius:0;align-items:center;gap:10px;padding:0 12px;font-size:15px;font-weight:500;display:flex}.dd-axis{font-family:var(--mono);color:var(--muted);font-size:13px}.dd-menu{background:var(--surface);border:1px solid var(--ink);min-width:220px;box-shadow:4px 4px 0 0 var(--ink);flex-direction:column;margin:0;padding:4px 0;list-style:none;display:flex;position:absolute;left:50%;transform:translate(-50%)}.dd-menu[hidden]{display:none}.dd--x .dd-menu{bottom:calc(100% + 6px)}.dd--y .dd-menu{top:calc(100% + 6px)}.dd-option{appearance:none;width:100%;height:40px;color:var(--ink);font-family:var(--sans);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:0 14px;font-size:15px;display:flex}.dd-option:before{content:"";width:8px;height:8px;display:block}.dd-option[aria-selected=true]{font-weight:600}.dd-option[aria-selected=true]:before{background:var(--accent)}.dd-option:hover,.dd-option:focus-visible{background:var(--hover-bg);outline:none}.preview{background:var(--surface);border:1px solid var(--ink);color:var(--ink);flex-direction:column;text-decoration:none;display:flex}.preview-col{align-self:start;min-width:0}.preview:hover{color:var(--ink)}.preview-media{background:var(--ink);height:220px;overflow:hidden}.preview-media img,.preview-media video{object-fit:cover;width:100%;height:100%;display:block}.preview-media.is-diagram{background:var(--surface);border-bottom:1px solid var(--rule-soft)}.preview-media.is-diagram img{object-fit:contain;padding:12px}.preview-text{flex-direction:column;gap:8px;padding:20px 20px 8px;display:flex}.preview-title{letter-spacing:-.015em;margin:0;font-size:28px;font-weight:600;line-height:1.1}.preview-sub{color:var(--ink-2);text-wrap:pretty;font-size:16px;line-height:1.5}.preview-attrs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;padding:8px 20px 20px;display:grid}.preview-attr{border-top:1px solid var(--rule-soft);flex-direction:column;gap:6px;padding:10px 0;display:flex}.preview-attr-label{color:var(--ink-2);font-size:14px}.preview-attr-val{justify-content:space-between;align-items:center;gap:8px;min-height:21px;display:flex}.preview-attr-val .mono{white-space:nowrap;font-size:14px}.all-demos{flex-direction:column;gap:24px;padding-top:112px;display:flex}.all-demos-head{border-top:1px solid var(--ink);justify-content:space-between;align-items:baseline;padding-top:20px;display:flex}.all-demos-head>div{align-items:baseline;gap:16px;display:flex}.all-demos-head h2{letter-spacing:-.015em;margin:0;font-size:32px;font-weight:600}.all-demos-head .mono{color:var(--muted);font-size:14px}.all-demos-head .hint{font-size:13px}.demo-grid{grid-template-columns:72px minmax(0, 1fr) repeat(var(--params,9), 72px) 96px;column-gap:12px;display:grid}.list-head{border-bottom:1px solid var(--ink);align-items:end;padding-bottom:10px}.list-head-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:6px;font-size:12px}.sort-btn{appearance:none;text-align:left;min-height:44px;font-family:var(--sans);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;justify-content:space-between;align-items:flex-end;gap:4px;padding:0 0 10px;font-size:13px;line-height:1.2;display:flex}.sort-btn .arrow{font-family:var(--mono);color:var(--meter-range);font-size:13px}.sort-btn[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.sort-btn[aria-pressed=true] .arrow{color:var(--accent)}.demo-list{margin:0;padding:0;list-style:none}.demo-row{border-bottom:1px solid var(--rule);color:var(--ink);align-items:center;padding:14px 0;text-decoration:none}.demo-row:hover{color:var(--ink);background:var(--hover-bg)}.demo-row:hover .demo-row-title{color:var(--accent)}.demo-thumb{background:var(--placeholder);width:72px;height:54px;overflow:hidden}.demo-thumb img{object-fit:cover;width:100%;height:100%}.demo-thumb.is-diagram{background:var(--surface)}.demo-thumb.is-diagram img{object-fit:contain}.demo-row-text{flex-direction:column;gap:3px;min-width:0;padding-right:8px;display:flex}.demo-row-title{font-size:17px;font-weight:600;line-height:1.3}.demo-row-sub{color:var(--muted);font-size:14px;line-height:1.45}.demo-cell{flex-direction:column;gap:5px;display:flex}.demo-cell .mono{white-space:nowrap;font-size:14px}.demo-date{font-family:var(--mono);color:var(--muted);font-size:14px}.rubric-hero{grid-template-columns:minmax(0,1fr) 448px;align-items:end;gap:56px;padding-top:48px;display:grid}.read-score{background:var(--surface);border:1px solid var(--ink)}.read-score-head{border-bottom:1px solid var(--ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:12px 20px;font-size:13px;font-weight:500}.read-score-body{flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex}.read-score-example{grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:16px;font-size:15px;display:grid}.read-score-example .mono{text-align:right}.read-score-body p{color:var(--ink-2);font-size:15px;line-height:1.55}.rubric-body{grid-template-columns:208px minmax(0,1fr);align-items:start;gap:88px;padding-top:96px;display:grid}.rubric-panels{flex-direction:column;gap:96px;min-width:0;scroll-margin-top:24px;display:flex}.js .rubric-panel:not(.is-active){display:none}.rubric-panel{flex-direction:column;gap:28px;display:flex}.rubric-desc{color:var(--ink-2);text-wrap:pretty;max-width:780px;font-size:19px;line-height:1.55}.ladder{border-bottom:1px solid var(--rule);margin:0;padding:0;list-style:none}.ladder-row{border-top:1px solid var(--rule);grid-template-columns:120px minmax(0,1fr);align-items:start;gap:32px;padding:20px 0;display:grid}.ladder-score{flex-direction:column;gap:10px;display:flex}.ladder-num{font-family:var(--mono);font-size:32px;font-weight:500;line-height:1}.ladder-row p{text-wrap:pretty;padding-top:2px;font-size:17px;line-height:1.6}.rubric-pager{justify-content:space-between;padding-top:8px;display:flex}.rubric-pager a{font-family:var(--mono);font-size:14px}.page-hero{flex-direction:column;gap:24px;padding-top:48px;display:flex}.page-hero .demo-subtitle{max-width:720px}.doc-intro{color:var(--ink-2);flex-direction:column;gap:16px;max-width:780px;font-size:19px;line-height:1.55;display:flex}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.55}.data-table th{text-align:left;vertical-align:bottom;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);padding:0 20px 10px 0;font-size:13px;font-weight:500}.data-table td{vertical-align:top;border-bottom:1px solid var(--rule);color:var(--ink-2);padding:16px 20px 16px 0}.data-table th:last-child,.data-table td:last-child{padding-right:0}.data-table td:first-child{color:var(--ink);min-width:140px;font-weight:600}.note--warning{border-color:var(--accent)}.note--warning .note-title{background:var(--accent);border-bottom-color:var(--accent);color:#fff}.note--warning .note-title:before{content:"Warning";color:#fff}.note--warning>:not(.note-title){color:var(--ink)}.doc sup:has(>a[data-footnote-ref]){font-size:inherit;vertical-align:baseline}a[data-footnote-ref]{font-family:var(--mono);margin-left:2px;font-size:13px}a[data-footnote-ref]:before{content:"["}a[data-footnote-ref]:after{content:"]"}.footnotes-list{counter-reset:note;border-bottom:1px solid var(--rule);margin:0;padding:0;list-style:none}.doc .footnotes-list>li{counter-increment:note;border-top:1px solid var(--rule);color:var(--ink-2);grid-template-columns:48px minmax(0,1fr);gap:16px;margin:0;padding:16px 0;scroll-margin-top:24px;font-size:15px;line-height:1.6;display:grid}.footnotes-list>li:before{content:"[" counter(note) "]";font-family:var(--mono);color:var(--accent);font-size:13px;line-height:1.85}.footnotes-list a[data-footnote-backref]{font-family:var(--mono);font-variant-emoji:text;margin-left:4px;text-decoration:none}.doc ol.steps ol{color:var(--ink-2);margin:10px 0 0;padding-left:22px;list-style:lower-alpha}.resource-list{border-top:1px solid var(--ink);margin:56px 0 0;padding:0;list-style:none}.resource-list a{border-bottom:1px solid var(--rule);color:var(--ink);grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:20px 0;text-decoration:none;display:grid}.resource-list a:hover{background:var(--hover-bg)}.resource-title{letter-spacing:-.01em;font-size:22px;font-weight:600}.resource-list a:hover .resource-title{color:var(--accent)}.resource-sub{color:var(--ink-2);grid-column:1;font-size:16px;line-height:1.5}.resource-arrow{font-family:var(--mono);color:var(--accent);grid-area:1/2/span 2;align-self:center;font-size:18px}.prose-page{gap:72px;max-width:856px;padding-top:56px}.simple-page{flex-direction:column;gap:28px;max-width:856px;padding-top:48px;display:flex}.simple-page h1{letter-spacing:-.025em;margin:0;font-size:56px;font-weight:600;line-height:1.02}.simple-page p{color:var(--ink-2);font-size:17px;line-height:1.6}.axis-bar,.tap-hint,.preview-open,.sort-bar,.demo-row-date,.toc-bar,.rubric-picker{display:none}.cost-line{display:block}.tap-hint{font-family:var(--mono);color:var(--muted);padding:8px 0 0 80px;font-size:12px}@media (hover:none){.tap-hint{display:block}}.dd--bar .dd-menu{min-width:100%;max-width:calc(100vw - 2 * var(--gutter));top:calc(100% + 6px);left:0;transform:none}.dd--bar[data-axis=y] .dd-menu{left:auto;right:0}.select{appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%231a1a18' stroke-width='1.5'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--ink);font-family:var(--sans);cursor:pointer;border-radius:0;font-weight:500}@media (width<=1199px){.container{width:calc(100% - 2 * var(--gutter))}.explorer{grid-template-columns:minmax(0,1fr);row-gap:24px}.plot-col{justify-self:center}.preview{grid-template-rows:auto 1fr;grid-template-columns:320px minmax(0,1fr);display:grid}.preview-media{grid-row:1/span 3;height:auto;min-height:240px}.preview-media.is-diagram{border-bottom:0;border-right:1px solid var(--rule-soft)}.preview-attrs{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;padding-bottom:18px}.preview-attr{padding:9px 0}.preview-attr-label{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.preview-attr-val .mono{font-size:13px}.preview .meter--md span{width:7px;height:9px}.all-demos{padding-top:88px}.demo-grid{grid-template-columns:minmax(0, 1fr) repeat(var(--params,9), 62px);column-gap:8px}.demo-thumb,.list-head>span:first-child,.list-head-label,.demo-date{display:none}.demo-row-date{font-family:var(--mono);color:var(--muted);font-size:12px;display:block}.list-head .sort-btn[data-sort=added]{order:-1;justify-content:flex-start;gap:8px}.sort-btn{font-size:12px}.demo-cell .mono{letter-spacing:-.03em;font-size:12px}.demo-hero{grid-template-columns:minmax(0,1fr);gap:32px}.demo-hero-main{width:100%;max-width:720px;margin-inline:auto}.demo-side{grid-template-columns:minmax(0,448px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.demo-body,.rubric-body{gap:56px}}@media (width<=959px){.demo-body,.rubric-body{padding-top:64px;display:block}.toc{display:none}.doc{gap:72px}.doc-section,.rubric-panels{scroll-margin-top:64px}.toc-bar{z-index:10;margin:0 calc(-1 * var(--gutter)) 32px;background:var(--surface);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:block;position:sticky;top:0}.toc-bar summary{height:48px;padding:0 var(--gutter);cursor:pointer;align-items:center;gap:12px;font-size:15px;list-style:none;display:flex}.toc-bar summary::-webkit-details-marker{display:none}.toc-bar-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.toc-bar-num{font-family:var(--mono);color:var(--accent);font-size:14px}.toc-bar-current{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.toc-bar[open] summary svg{transform:rotate(180deg)}.toc-bar nav{border-top:1px solid var(--rule);flex-direction:column;max-height:60vh;padding:4px 0 8px;display:flex;overflow-y:auto}.toc-bar nav a{min-height:44px;padding:6px var(--gutter);color:var(--ink-2);align-items:center;gap:12px;font-size:16px;text-decoration:none;display:flex}.toc-bar nav a span{font-family:var(--mono);color:var(--muted);font-size:14px}.toc-bar nav a.is-active{color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-weight:500}.toc-bar nav a.is-active span{color:var(--accent)}.rubric-hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}.js .rubric-picker{z-index:10;margin:0 calc(-1 * var(--gutter)) 32px;background:var(--surface);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:48px minmax(0,1fr) 48px;display:grid;position:sticky;top:0}.picker-step{appearance:none;height:52px;font-family:var(--mono);color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:0;font-size:16px}.picker-step:first-child{border-right:1px solid var(--rule)}.picker-step:last-child{border-left:1px solid var(--rule)}#param-select{border:0;width:100%;height:52px;padding:0 36px 0 14px;font-size:16px}.home-hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px}.home-hero-title{font-size:44px}.home-hero-text{max-width:680px}.preview-attrs{grid-template-columns:repeat(2,minmax(0,1fr))}.all-demos-head .hint,.list-head{display:none}.sort-bar{align-items:center;gap:8px;display:flex}.sort-bar label{color:var(--ink-2);font-size:14px}#sort-select{border:1px solid var(--ink);flex:auto;max-width:320px;height:44px;padding:0 36px 0 12px;font-size:14px}.sort-dir{border:1px solid var(--ink);background:var(--surface);width:44px;height:44px;font-family:var(--mono);color:var(--accent);cursor:pointer;border-radius:0;font-size:15px}.demo-list{border-top:1px solid var(--ink)}.demo-grid.demo-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:16px}.demo-cell,.demo-row-date{display:none}.demo-cell.is-sorted{grid-area:1/2;align-items:flex-end;padding-top:2px;display:flex}.demo-date.is-sorted{grid-area:1/2;padding-top:2px;font-size:13px;display:block}}@media (width<=719px){:root{--gutter:16px}main.page{padding-bottom:64px}.site-header .container{flex-direction:column;align-items:stretch;width:100%;height:auto}.brand{height:64px;padding:0 var(--gutter)}.brand-mark{gap:12px}.brand img{height:42px}.brand-name{white-space:normal;font-size:15px;line-height:1.25}.brand-name span{display:block}.brand-divider{display:none}.site-nav{border-top:1px solid var(--rule-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;font-size:15px;display:grid}.site-nav a{justify-content:center;align-items:center;height:44px;padding:0;display:flex}.site-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent);border-bottom:0;padding-bottom:0}.site-footer .container{flex-direction:column;align-items:flex-start;gap:10px;height:auto;padding:20px 0 28px;font-size:14px}.home-hero{gap:16px;padding:24px 0 32px}.home-hero-title{font-size:30px}.home-hero-text{font-size:16px;line-height:1.6}.plot-col{justify-self:stretch}.axis-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.dd--bar .dd-button{gap:8px;width:100%;height:44px;padding:0 10px;font-size:14px}.dd--bar .dd-label{text-overflow:ellipsis;text-align:left;flex:1;min-width:0;overflow:hidden}.plot-frame{grid-template-rows:auto 24px;grid-template-columns:28px minmax(0,1fr)}.y-strip,.x-strip{display:none}.x-ticks{grid-column:2}.plot{aspect-ratio:1;width:100%;height:auto}.tick{font-size:12px;line-height:14px}.x-ticks .tick{top:6px}.tap-hint{padding-left:28px}.preview{grid-template-rows:auto;grid-template-columns:116px minmax(0,1fr);column-gap:12px}.preview-attr-val>span:empty{display:none}.preview-media{grid-area:1/1;width:104px;height:78px;min-height:0;margin:12px 0 0 12px}.preview-media.is-diagram{border-right:0}.preview-media.is-diagram img{padding:4px}.preview-text{grid-column:2;gap:4px;padding:12px 12px 0 0}.preview-title{font-size:18px;line-height:1.2}.preview-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.preview-attrs{grid-column:1/-1;column-gap:16px;padding:12px 12px 0}.preview-attr:not(.is-plotted){display:none}.preview .meter--md span{width:6px}.preview-open{border-top:1px solid var(--ink);height:44px;font-family:var(--mono);color:var(--accent);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:12px;padding:0 12px;font-size:14px;display:flex}.all-demos{gap:16px;padding-top:56px}.prose-page{gap:48px;padding-top:32px}.all-demos-head{padding-top:16px}.all-demos-head h2{font-size:26px}.demo-row-title{font-size:16px}.demo-hero{gap:16px;padding-top:24px}.demo-hero-main{gap:16px}.breadcrumb{flex-wrap:wrap;font-size:13px}.demo-title{font-size:40px;line-height:1.05}.demo-subtitle{font-size:18px}.demo-blurb{font-size:16px}.stub-banner .container{gap:12px;padding:12px 0}.stub-banner-label{font-size:12px}.stub-banner p{font-size:15px}.demo-diagram{padding-top:8px}.demo-side{flex-direction:column;display:flex}.scores-row{grid-template-columns:minmax(0,1fr) auto 64px;gap:12px;padding:10px 14px}.scores-row dt{font-size:14px;line-height:1.3}.scores-value{font-size:14px}.scores-row dd:empty{display:none}.scores-row dd:empty+.scores-value{grid-column:2/span 2}.scores .meter,.read-score .meter{gap:2px}.scores .meter span,.read-score .meter span{width:8px;height:10px}.demo-body{padding-top:40px}.toc-bar{margin-bottom:28px}.doc{gap:56px;font-size:16px}.doc-section{gap:16px}.section-head{gap:12px;padding-top:16px}.section-num{font-size:14px}.section-head h2{font-size:26px}.section-body{gap:16px}.doc ol.steps{gap:14px}.doc ol.steps>li{min-height:28px;padding:1px 0 0 42px}.doc ol.steps>li:before{width:28px;height:28px;font-size:14px}.note-title{gap:10px;padding:10px 14px;font-size:15px}.note-title:before{font-size:12px}.note>:not(.note-title){margin:12px 14px;font-size:15px}.note>:not(.note-title):last-child{margin-bottom:14px}.row{grid-template-columns:minmax(0,1fr);gap:10px;padding:18px 0}.row-head{flex-flow:wrap;align-items:center;gap:8px 12px}.row-head h3{font-size:17px}.chips{flex-flow:wrap;gap:8px}.chip{padding:2px 7px;font-size:14px}.supplies thead{display:none}.supplies,.supplies tbody{display:block}.supplies tr{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:16px 0;display:flex}.supplies td{border:0;padding:0;display:block}.supplies td:first-child,.supplies td.supply-details{flex:1 0 100%}.supplies td.supply-details{padding-right:0;font-size:15px}.supply-item{flex-flow:wrap;align-items:center;gap:8px 10px}.supplies td.supply-cost{font-size:13px}.cost-line{display:inline}.cost-line+.cost-line:before{content:" · "}.supplies td.supply-link{font-family:var(--mono);margin-left:auto;font-size:13px}.page-hero{gap:16px;padding-top:24px}.doc-intro{font-size:16px;line-height:1.6}.footnotes-list>li{grid-template-columns:36px minmax(0,1fr);gap:10px}.resource-list{margin-top:32px}.resource-title{font-size:18px}.resource-sub{font-size:15px}.table-wrap{overflow:visible}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block}.data-table tr{border-top:1px solid var(--rule);padding:14px 0}.data-table td{border:0;margin-top:10px;padding:0;font-size:15px}.data-table td:first-child{margin-top:0;font-size:16px}.data-table td[data-label]:not(:first-child):before{content:attr(data-label);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:12px;display:block}.rubric-hero{gap:16px;padding-top:24px}.read-score-head{padding:10px 14px;font-size:12px}.read-score-body{gap:12px;padding:14px}.read-score-example{grid-template-columns:minmax(0,1fr) auto 40px;gap:12px;font-size:14px}.read-score-body p{font-size:14px}.rubric-body{padding-top:36px}.rubric-panel{gap:20px}.rubric-desc{font-size:16px;line-height:1.6}.ladder-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 0}.ladder-score{flex-direction:row;align-items:center;gap:14px}.ladder-num{min-width:32px;font-size:24px}.ladder-row p{padding-top:0;font-size:16px;line-height:1.55}.ladder-row p:empty{display:none}.rubric-pager{gap:16px}.rubric-pager a{font-size:13px}.rubric-pager a:last-child{text-align:right}.simple-page{gap:20px;padding-top:24px}.simple-page h1{font-size:40px}}
