@font-face{font-family:Reem Kufi;font-style:normal;font-display:swap;font-weight:600;src:url(/lab/assets/reem-kufi-arabic-600-normal-DfPr_Olo.woff2)format("woff2"),url(/lab/assets/reem-kufi-arabic-600-normal-BlglqIsH.woff)format("woff")}:root{--lak:#a3161b;--lak-deep:#6b0f16;--lak-soft:#f4deda;--paper:#faf5ef;--stage:#ece5dd;--ink:#241818;--mute:#7a6763;--line:#e2d6cc;--radius-s:10px;--radius-m:14px;--radius-l:18px;--gutter:16px;--font-body:"Vazirmatn", system-ui, sans-serif;--font-head:"Reem Kufi", "Vazirmatn", system-ui, sans-serif}@font-face{font-family:Vazirmatn;font-weight:400;font-display:swap;src:url(/lab/assets/Vazirmatn-Regular-CtGL0YI-.woff2)format("woff2")}@font-face{font-family:Vazirmatn;font-weight:500;font-display:swap;src:url(/lab/assets/Vazirmatn-Medium-D86t5Axy.woff2)format("woff2")}@font-face{font-family:Vazirmatn;font-weight:700;font-display:swap;src:url(/lab/assets/Vazirmatn-Bold-_OhAJEdh.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;font-size:16px;line-height:1.75}body{margin:0}h1,h2,h3{font-family:var(--font-head);color:var(--lak-deep);margin:0;font-weight:600;line-height:1.35}h1{font-size:1.6rem}h2{font-size:1.35rem}h3{font-size:1rem;font-family:var(--font-body);color:var(--ink);font-weight:700}p{max-inline-size:68ch;margin:0}a{color:var(--lak)}:focus-visible{outline:3px solid var(--lak);outline-offset:3px}.wrap{max-inline-size:1120px;padding-inline:var(--gutter);margin-inline:auto}.top{padding-block:28px 0}.brand{font-family:var(--font-head);color:var(--lak);font-size:2.4rem;font-weight:700;line-height:1}.top h1{margin-block-start:14px}.lede{color:var(--mute);margin-block:10px 22px}.edge-stitch{border-block:2px solid var(--lak);block-size:14px;position:relative}.edge-stitch:before{content:"";background:var(--lak);position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10'%3E%3Cpath d='M3 2l6 6M9 2L3 8' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") 50%/12px 10px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10'%3E%3Cpath d='M3 2l6 6M9 2L3 8' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") 50%/12px 10px repeat-x}.toc{z-index:2;background:var(--paper);border-block-end:1px solid var(--line);position:sticky;inset-block-start:0}.toc ul{scrollbar-width:none;gap:6px;margin:0;padding:8px 0;list-style:none;display:flex;overflow-x:auto}.toc a{min-block-size:44px;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;padding-inline:14px;text-decoration:none;display:inline-flex}.toc a:hover{background:var(--stage)}section{border-block-end:1px solid var(--line);padding-block:36px;scroll-margin-block-start:64px}section>.intro{color:var(--mute);margin-block:8px 20px}.controls{flex-wrap:wrap;gap:18px 28px;margin-block-end:22px;display:flex}.control-label{color:var(--mute);margin-block-end:6px;font-size:.875rem;display:block}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);min-block-size:44px;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:8px;padding-inline:14px;display:inline-flex}.chip[aria-pressed=true]{background:var(--lak-soft);outline:2px dashed var(--lak);outline-offset:3px;border-color:#0000}.swatch{border:1px solid var(--line);border-radius:50%;block-size:18px;inline-size:18px}.spools{gap:4px;display:inline-flex}.spool{background:radial-gradient(circle, var(--paper) 0 24%, var(--c) 26%);block-size:16px;inline-size:16px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 25%, transparent);border-radius:50%}.motif-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.motif{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--paper);overflow:hidden}.motif .preview{place-items:center;min-block-size:132px;padding:12px;display:grid}.preview svg{block-size:auto;max-inline-size:100%;display:block}.motif .body{padding:10px 12px 12px}.tags{color:var(--mute);flex-wrap:wrap;gap:4px 6px;margin-block-start:4px;font-size:.8125rem;display:flex}.tag{background:var(--stage);border-radius:999px;padding-inline:8px}.code{white-space:nowrap;direction:ltr;unicode-bidi:isolate}.status-line{margin-block-end:16px}.note{color:var(--mute);margin-block-start:12px;font-size:.875rem}.stacks{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.stack figure{margin:0}.stack figcaption{margin-block-end:8px}.stack-body{grid-template-columns:76px 1fr;gap:10px;display:grid}.stack-labels{color:var(--mute);font-size:.75rem;position:relative}.stack-labels span{white-space:nowrap;position:absolute;inset-inline-start:0;transform:translateY(-50%)}.stack-art svg{border-radius:var(--radius-s);block-size:auto;inline-size:100%;display:block}.tapas{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;display:grid}.tapa{border:1px solid var(--line);border-radius:var(--radius-l);padding:16px}.zones{margin:12px 0 0;padding:0;list-style:none}.zones li{border-block-start:1px solid var(--line);justify-content:space-between;gap:12px;padding-block:6px;font-size:.9375rem;display:flex}.zones .state{color:var(--mute);text-align:end}.zones .absent{color:var(--mute);text-decoration:line-through}.status{border-radius:999px;align-items:center;gap:6px;padding:2px 12px;font-weight:500;display:inline-flex}.status.ok{background:var(--stage);color:var(--ink)}.status.bad{background:var(--lak-soft);color:var(--lak-deep)}.issues{margin:12px 0 0;padding:0;list-style:none}.issues li{border-inline-start:3px solid var(--line);background:var(--paper);margin-block-end:6px;padding:8px 12px}.issues li.error{border-inline-start-color:var(--lak)}.issues .where{color:var(--mute);font-size:.75rem;display:block}.config-layout{gap:22px;display:grid}@media (width>=900px){.config-layout{grid-template-columns:1fr 1fr}}table{border-collapse:collapse;inline-size:100%;font-size:.875rem}th,td{text-align:start;border-block-end:1px solid var(--line);vertical-align:top;padding:6px 8px}th{color:var(--mute);font-weight:500}details{margin-block-start:12px}summary{cursor:pointer;align-items:center;min-block-size:44px;display:flex}pre{text-align:left;border-radius:var(--radius-s);background:var(--stage);direction:ltr;padding:12px;font-size:.75rem;line-height:1.5;overflow-x:auto}.cases{margin:0;padding:0;list-style:none}.cases>li{border-block-end:1px solid var(--line)}.cases summary{justify-content:space-between;gap:10px}.cases .mark{flex:none;font-weight:700}.cases .mark.ok{color:var(--ink)}.cases .mark.bad{color:var(--lak)}.codes{flex-wrap:wrap;gap:6px;font-size:.75rem;display:flex}.codes .tag{direction:ltr}.case-body{gap:8px;padding-block-end:14px;display:grid}.contracts{columns:2 260px;gap:24px;padding:0;list-style:none}.contracts li{break-inside:avoid;padding-block:6px}footer{color:var(--mute);padding-block:28px 48px;font-size:.875rem}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
