@font-face{font-family:Geist Serif;src:url(/projects/qendrim-ui/assets/GeistSerif-Regular-mkvjf7at.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/projects/qendrim-ui/assets/Geist-Regular-BKyTJ3J3.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/projects/qendrim-ui/assets/Geist-Medium-rXW36YpV.woff2)format("woff2");font-weight:500;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--page:#fbf6ea;--surface:#fbfaf7;--ink:#111511;--body:#444944;--muted:#535753;--faint:#8d918e;--forest:#1d3a2a;--forest-hover:#2b4f3b;--forest-pressed:#142a1e;--line:#11151117;--line-strong:#1115112e;--wash:#1115110a;--wash-strong:#11151117;--serif:"Geist Serif", "Times New Roman", Times, serif;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--stage-width:1080px;--reading-width:680px;--gutter:24px;--radius-outer:12px;--radius-control:7px;--control-height:36px;--float-shadow:0 1px 2px #11151112, 0 6px 16px #1115110d}@media (width<=767px){:root{--gutter:16px}}@media (pointer:coarse){:root{--control-height:44px}}*,:before,:after{box-sizing:border-box}html{background:var(--page);-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--ink);font:400 15px/24px var(--sans);font-synthesis:none;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}::selection{background:#1d3a2a26}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{width:100%;max-width:calc(var(--stage-width) + var(--gutter) * 2);padding:0 var(--gutter);margin:0 auto}.topbar{justify-content:space-between;align-items:center;height:52px;display:flex}.topbar nav{align-items:center;gap:4px;margin-right:-8px;display:flex}@media (width<=419px){.topbar nav{gap:0;margin-right:-6px}.topbar nav .quiet{white-space:nowrap;padding:0 6px}}.title{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:16px;margin-bottom:16px;display:grid}.title h1{font:400 40px/44px var(--serif);letter-spacing:-.03em;margin:0}.quiet{border-radius:var(--radius-control);min-height:36px;color:var(--muted);align-items:center;gap:6px;padding:0 8px;font-size:14px;line-height:20px;text-decoration:none;transition:color .12s;display:inline-flex}.quiet:active{color:var(--ink)}.back{margin-left:-8px}.back svg{flex:none}.prose a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.prose a:active{text-decoration-color:currentColor}@media (hover:hover){.quiet:hover{color:var(--ink)}.prose a:hover{text-decoration-color:currentColor}}:focus{outline:none}:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.control{appearance:none;min-height:var(--control-height);border-radius:var(--radius-control);color:var(--ink);font:400 14px/18px var(--sans);letter-spacing:-.003em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin:0;padding:0 11px;text-decoration:none;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.control:active{background:var(--wash-strong)}@media (hover:hover){.control:hover{background:var(--wash)}.control:active{background:var(--wash-strong)}}.control[aria-pressed=true]{background:var(--forest);color:#fff;font-weight:500}.control[aria-pressed=true]:active{background:var(--forest-pressed)}@media (hover:hover){.control[aria-pressed=true]:hover{background:var(--forest-hover);color:#fff}.control[aria-pressed=true]:active{background:var(--forest-pressed);color:#fff}}.control.outline{border-color:var(--line-strong);background:var(--paper)}.control.outline:active{background:var(--wash-strong)}@media (hover:hover){.control.outline:hover{background:var(--surface);border-color:#11151147}.control.outline:active{background:var(--wash-strong)}}.control.primary{background:var(--forest);color:#fff;padding:0 14px;font-weight:500}@media (hover:hover){.control.primary:hover{background:var(--forest-hover);color:#fff}.control.primary:active{background:var(--forest-pressed);color:#fff}}.control[aria-disabled=true],.control[aria-disabled=true]:active{color:var(--faint);cursor:default;background:0 0}@media (hover:hover){.control[aria-disabled=true]:hover,.control[aria-disabled=true]:active{color:var(--faint);background:0 0}}.control.primary[aria-busy=true],.control.primary[aria-busy=true]:active{background:var(--forest-hover);color:#ffffffd9;cursor:progress}@media (hover:hover){.control.primary[aria-busy=true]:hover,.control.primary[aria-busy=true]:active{background:var(--forest-hover);color:#ffffffd9}}.stage{isolation:isolate;width:100%;height:var(--stage-height,620px);border:1px solid var(--line-strong);border-radius:var(--radius-outer);background:var(--surface);position:relative;overflow:hidden;container-type:inline-size}.float{background:var(--paper);border:1px solid var(--line-strong);box-shadow:var(--float-shadow);border-radius:10px}.divider{background:var(--line);flex:none;align-self:stretch;width:1px;margin:6px 3px}.reading{max-width:var(--reading-width);margin:72px 0 0;scroll-margin-top:32px}.reading h2{font:400 26px/32px var(--serif);letter-spacing:-.02em;margin:0 0 12px}.reading h3{font:500 14px/20px var(--sans);color:var(--ink);margin:44px 0 10px}.prose{font:400 17px/27px var(--serif);color:var(--body);letter-spacing:-.005em;margin:0 0 12px}.results{border-top:1px solid var(--line);margin:0}.results>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,200px) minmax(0,1fr);column-gap:20px;padding:12px 0;display:grid}.results dt{color:var(--muted);font-size:14px;line-height:22px}.results dd{color:var(--body);margin:0;font-size:14px;line-height:22px}.results b{color:var(--ink);font-weight:500;display:block}.limits{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.limits li{border-bottom:1px solid var(--line);color:var(--body);padding:10px 0;font-size:14px;line-height:22px}.page-end{max-width:var(--reading-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:56px 0 0;padding:0 0 40px;display:flex}.page-end nav{align-items:center;gap:4px;display:flex}.page-end .quiet:last-child{margin-right:-8px}@media (width<=559px){.results>div{grid-template-columns:minmax(0,1fr);row-gap:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html{scroll-behavior:smooth}:root{--stage-height:clamp(560px, calc(100svh - 176px), 680px);--plan-height:clamp(372px, calc(100svh - 236px), 460px);--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--ease:cubic-bezier(.2, 0, 0, 1);--on-forest:#fff;--on-ink:#fff;--ink-hover:#2a2d2a;--ink-pressed:#000;--raised:var(--paper)}:root,:is(.topbar,main>*)[data-q-recipe]{--q-color-page:var(--surface);--q-color-surface:var(--raised);--q-color-wash:var(--wash);--q-color-ink:var(--ink);--q-color-body:var(--body);--q-color-muted:var(--muted);--q-color-rule:var(--line);--q-color-rule-strong:var(--line-strong);--q-color-accent:var(--forest);--q-color-on-accent:var(--on-forest);--q-color-focus:var(--forest)}:root,[data-q-recipe]{--q-font-sans:var(--sans);--q-font-serif:var(--serif);--q-font-mono:var(--mono);--font-geist-serif-regular:"Geist Serif"}:root[data-q-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0c0f0d;--page:#0c0f0d;--surface:#101311;--raised:#171b18;--ink:#eeebe4;--body:#c4c5be;--muted:#a3a59f;--faint:#70736e;--forest:#cfe3d4;--forest-hover:#dfeee3;--forest-pressed:#b4cdba;--on-forest:#101311;--on-ink:#101311;--ink-hover:#fffdf7;--ink-pressed:#cfccc4;--line:#e8e4dc1f;--line-strong:#e8e4dc40;--wash:#e8e4dc0d;--wash-strong:#e8e4dc1c;--float-shadow:0 1px 2px #0000004d, 0 8px 24px #0006;--q-color-focus:#8fd0a8}:root[data-q-theme=dark] ::selection{background:#cfe3d433}.plate[data-q-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--q-color-page:#fbfaf7;--q-color-surface:#fff;--q-color-ink:#111511;--q-color-body:#444944;--q-color-muted:#535753;--q-color-rule:#11151117;--q-color-rule-strong:#1115112e;--q-color-accent:#1d3a2a;--q-color-on-accent:#fff}.plate[data-q-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--q-color-page:#101311;--q-color-surface:#171b18;--q-color-ink:#eeebe4;--q-color-body:#c4c5be;--q-color-muted:#a3a59f;--q-color-rule:#e8e4dc1f;--q-color-rule-strong:#e8e4dc40;--q-color-accent:#cfe3d4;--q-color-on-accent:#101311}html,body{transition:background-color .2s}.control{border-radius:var(--q-radius-button,var(--radius-control));font-family:var(--q-font-control,var(--sans));transition:background-color .12s, color .12s, border-color .12s, scale .12s var(--ease)}.control:active{scale:.97}.control[aria-pressed=true],.control.primary{color:var(--on-forest)}.control.primary:active{background:var(--forest-pressed)}@media (hover:hover){.control[aria-pressed=true]:hover,.control[aria-pressed=true]:active{color:var(--on-forest)}.control.outline:hover{border-color:color-mix(in srgb, var(--ink) 28%, transparent)}.control.primary:hover{background:var(--forest-hover);color:var(--on-forest)}.control.primary:active{background:var(--forest-pressed);color:var(--on-forest)}}[data-q-recipe=editorial]:not(.plate){--control-height:40px}@media (pointer:coarse){[data-q-recipe=editorial]:not(.plate){--control-height:44px}}button.quiet{appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;font-family:inherit}.title h1{animation:arrive .52s var(--ease) backwards;grid-column:1}.title .control{animation:arrive .52s var(--ease) .1s backwards;grid-area:1/2;align-self:center}main>.show{animation:arrive .56s var(--ease) .12s backwards}.topbar{animation:.4s linear backwards fade}@keyframes arrive{0%{opacity:0;translate:0 10px}}@keyframes fade{0%{opacity:0}}.swap{display:inline-grid}.swap>span{visibility:hidden;grid-area:1/1}.swap>span[data-on]{visibility:visible}.swap[data-state=copied]{color:var(--forest)}.chapter{margin-block-start:120px;scroll-margin-top:28px}.statement{max-width:880px;color:var(--ink);font:400 clamp(30px, 4.3vw, 46px) / 1.08 var(--serif);letter-spacing:-.03em;text-wrap:balance;margin:0 0 36px}.columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 56px;max-width:1012px;display:grid}.prose{max-width:var(--reading-width);text-wrap:pretty}.columns .prose{margin:0}.passage{max-width:calc(var(--reading-width) + 12px);margin-block:56px 20px}p.passage{margin-block:28px 0}.lead{color:var(--ink);font:400 26px/32px var(--serif);letter-spacing:-.02em;text-wrap:balance;margin:0 0 10px}.prose code,.limits code{font:.9em var(--mono)}.section-head{max-width:var(--reading-width);gap:6px;margin-block-end:24px;display:grid}.section-head h2{font:400 34px/40px var(--serif);letter-spacing:-.028em;text-wrap:balance;margin:0}.lead-in{margin:-4px 0 24px}.more{color:var(--muted);margin:14px 0 0;font-size:14px;line-height:22px}.more a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.more a:active{color:var(--ink);text-decoration-color:currentColor}@media (hover:hover){.more a:hover{color:var(--ink);text-decoration-color:currentColor}}.chapter .fig{max-width:var(--reading-width);margin-block:40px 0}.chapter .fig[data-wide]{max-width:none}.chapter .columns+div>.fig{margin-block-start:48px}.later-wait{border-radius:12px}[data-cold]{content-visibility:auto;contain-intrinsic-size:auto 240px}.fig-plate[data-cold],.steps[data-cold]{contain-intrinsic-size:auto 420px}.g-entry[data-cold]{contain-intrinsic-size:auto 1000px}.columns,.passage{margin-inline:-6px;padding-inline:6px}[data-reveal]{transition:opacity .6s linear, translate .7s var(--ease)}[data-reveal=wait]{opacity:0;translate:0 14px}.plates{--plate-width:calc((min(100vw - var(--gutter) * 2, var(--stage-width)) - 36px) / 4);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.plate-cell{height:132px;position:relative}.plate{box-sizing:border-box;border:1px solid var(--q-color-rule-strong);background:var(--q-color-page);color:var(--q-color-ink);--q-surface-response:360;--q-surface-damping:1;border-radius:12px;transition:box-shadow .14s;position:absolute;inset:0;overflow:clip}.plate[data-shape=page]{z-index:100;border-color:#0000;border-radius:0;position:fixed}.plate[data-phase=moving]{z-index:100}.plate[data-on]{box-shadow:0 0 0 1px var(--page), 0 0 0 3px var(--forest)}.plate[data-shape=page],.plate[data-phase=moving]{box-shadow:none}.plate-face{appearance:none;box-sizing:border-box;width:var(--plate-width,100%);height:130px;color:inherit;text-align:start;font:400 13px/18px var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 8px;margin:0;padding:14px 16px;transition:opacity .2s linear .22s,background-color .12s;display:grid}.plate-face:focus-visible{outline:2px solid var(--q-color-accent);outline-offset:-4px}.plate-face:active{background:color-mix(in srgb, var(--q-color-ink) 6%, transparent)}@media (hover:hover){.plate-face:hover{background:color-mix(in srgb, var(--q-color-ink) 3%, transparent)}.plate-face:active{background:color-mix(in srgb, var(--q-color-ink) 6%, transparent)}}.plate-name{color:var(--q-color-muted);grid-column:1/-1;align-self:start;align-items:center;gap:6px;display:flex}.plate-name b{color:var(--q-color-ink);font-weight:500}.plate-name:after{content:"";border:1px solid var(--q-color-rule-strong);border-radius:50%;width:8px;height:8px;margin-inline-start:auto}.plate-face[aria-pressed=true] .plate-name:after{border-color:var(--q-color-accent);background:var(--q-color-accent)}.plate-letters{font:400 46px/48px var(--q-font-content);letter-spacing:-.03em;grid-row:2/span 2;align-self:end}.plate-row{justify-content:flex-end;gap:6px;display:flex}.plate-button,.plate-ghost{height:calc(var(--q-control-height) - 4px);border:1px solid var(--q-color-rule-strong);border-radius:var(--q-radius-button,var(--q-radius-control));background:var(--q-color-surface);color:var(--q-color-ink);font:500 12.5px/1 var(--q-font-control);place-items:center;padding:0 12px;display:inline-grid}.plate-button{background:var(--q-color-accent);color:var(--q-color-on-accent);border-color:#0000}.plate-text{color:var(--q-color-muted);font:400 var(--q-text-sm) / 18px var(--q-font-content);justify-self:end}@media (pointer:coarse){.plate-button,.plate-ghost{height:32px}}.plate-title{pointer-events:none;opacity:0;place-content:center;justify-items:center;gap:4px;margin:0;transition:opacity .12s linear;display:grid;position:absolute;inset:0}.plate-title span:first-child{font:400 clamp(56px, 13vw, 176px) / .96 var(--q-font-content);letter-spacing:-.045em}.plate-title span:last-child{color:var(--q-color-muted);font:400 clamp(15px, 1.6vw, 20px) / 1.4 var(--q-font-content)}.plate[data-shape=page] .plate-title{opacity:1;transition:opacity .22s linear .1s}.plate[data-shape=page] .plate-face{opacity:0;transition:opacity .1s linear,background-color .12s}.skin-code{align-items:center;gap:8px;margin:14px 0 20px;display:flex}.skin-code pre{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);min-width:0;color:var(--ink);font:13px/20px var(--mono);flex:auto;margin:0;padding:7px 12px;overflow-x:auto}.skin-code .control{flex:none}.steps{counter-reset:step;border:1px solid var(--line-strong);border-radius:var(--radius-outer);background:var(--surface);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid;overflow:clip}.steps li{counter-increment:step;min-width:0}.steps li+li{border-block-start:1px solid var(--line)}.step-head{border-block-end:1px solid var(--line);background:var(--raised);align-items:center;gap:10px;min-height:44px;padding:4px 6px 4px 16px;display:flex}.step-head span{font:500 14px/20px var(--q-font-control,var(--sans))}.step-head>span:before{content:counter(step);border:1px solid var(--line-strong);width:20px;height:20px;color:var(--muted);font:400 14px/1 var(--sans);border-radius:50%;place-items:center;margin-inline-end:10px;display:inline-grid}.step-head .control{color:var(--muted);margin-inline-start:auto}.step-head .control>span{font-weight:400}.steps pre{color:var(--ink);font:13px/21px var(--mono);tab-size:2;margin:0;padding:14px 16px;overflow-x:auto}.steps pre:focus-visible{outline-offset:-2px}@media (width>=900px){.steps{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.steps li+li{border-block-start:0;border-inline-start:1px solid var(--line)}.steps li:first-child pre{white-space:pre-wrap;overflow-wrap:anywhere}}.limits{counter-reset:limit;border-block-start:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;max-width:1000px;margin:0;padding:0;list-style:none;display:grid}.limits li{counter-increment:limit;border-block-end:1px solid var(--line);color:var(--body);font:400 16px/25px var(--serif);letter-spacing:-.004em;text-wrap:pretty;grid-template-columns:28px minmax(0,1fr);padding:14px 0 15px;display:grid}.limits li:before{content:counter(limit);color:var(--muted);font:400 14px/25px var(--sans);font-variant-numeric:tabular-nums}.ending{border-block-start:1px solid var(--line-strong);margin-block-start:136px;padding-block-start:56px}.doors{border-block-start:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.doors a{border-block-end:1px solid var(--line);color:var(--body);transition:background-color .14s, padding .24s var(--ease), color .14s;grid-template-columns:minmax(120px,220px) minmax(0,1fr) auto;align-items:baseline;gap:4px 24px;padding:18px 4px 19px;font-size:15px;line-height:24px;text-decoration:none;display:grid}.doors b{color:var(--ink);font:400 26px/32px var(--serif);letter-spacing:-.02em}.doors svg{color:var(--muted);transition:translate .24s var(--ease), color .14s;align-self:center}.doors a:active{background:var(--wash-strong)}.doors a:focus-visible{outline-offset:-2px;border-radius:6px}@media (hover:hover){.doors a:hover{background:var(--wash);color:var(--ink);padding-inline:12px}.doors a:hover svg{color:var(--ink);translate:4px}.doors a:active{background:var(--wash-strong)}}.page-end{max-width:none;margin-block-start:40px}.keys{border:1px solid var(--line-strong);background:var(--raised);width:min(520px,100vw - 32px);color:var(--ink);border-radius:14px;margin:auto;padding:0;box-shadow:0 2px 6px #11151114,0 24px 64px -12px #11151147}.keys::backdrop{background:color-mix(in srgb, var(--ink) 28%, transparent)}:root[data-q-theme=dark] .keys::backdrop{background:#000000a6}.keys[open]{animation:keys-in .28s var(--ease)}@keyframes keys-in{0%{opacity:0;translate:0 8px;scale:.97}}.keys-body header{border-block-end:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 10px 10px 20px;display:flex}.keys h2{font:400 22px/28px var(--serif);letter-spacing:-.015em;margin:0}.keys dl{margin:0;padding:4px 20px 12px;display:grid}.keys dl>div{grid-template-columns:148px minmax(0,1fr);align-items:baseline;gap:16px;padding:11px 0;display:grid}.keys dl>div+div{border-block-start:1px solid var(--line)}.keys dt{flex-wrap:wrap;gap:4px;display:flex}.keys dd{color:var(--body);margin:0;font-size:14px;line-height:21px}.keys kbd{border:1px solid var(--line-strong);background:var(--surface);min-width:24px;height:24px;color:var(--ink);font:400 14px/1 var(--sans);white-space:nowrap;border-block-end-width:2px;border-radius:6px;place-items:center;padding:0 6px;display:inline-grid}@media (width<=899px){.chapter{margin-block-start:88px}.ending{margin-block-start:96px}.columns,.limits{grid-template-columns:minmax(0,1fr)}.plates{--plate-width:calc((100vw - var(--gutter) * 2 - 12px) / 2);grid-template-columns:repeat(2,minmax(0,1fr))}.statement{margin-block-end:28px}}@media (width<=559px){.section-head h2{font-size:28px;line-height:34px}.lead{font-size:23px;line-height:29px}.doors a{grid-template-columns:minmax(0,1fr) auto}.doors span{grid-area:2/1}.doors svg{grid-row:1/span 2}.keys dl>div{grid-template-columns:minmax(0,1fr);gap:6px}}@media (width<=419px){.plate-face{padding:12px}.plate-letters{font-size:36px;line-height:40px}.plate-ghost{display:none}}@media (width<=359px){.title h1{font-size:34px;line-height:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;translate:none}}
