@font-face{font-family:Amiri;src:url(/fonts/amiri-regular.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0660-0669,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:Noto Naskh Arabic;src:url(/fonts/noto-naskh-regular.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0660-0669}@font-face{font-family:Reem Kufi Fun;src:url(/fonts/reem-kufi-fun.woff2) format("woff2");font-weight:500 700;font-display:swap;unicode-range:U+0600-06FF,U+0660-0669,U+0000-007F}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0000-007F,U+0100-017F,U+2000-206F}:root{--ground: #efe8d7;--carbon: #0d0d0b;--rule-heavy: #1a1a17;--rule-hair: #5e5a50;--rule-hair-deco: #8c8778;--sulfur: #ffd60a;--red-print: #d7262a;--ar-display: "Reem Kufi Fun", "Mada", sans-serif;--ar-body: "Noto Naskh Arabic", "Amiri", serif;--mono: "JetBrains Mono", "Cascadia Code", "Consolas", monospace;--content-width: min(96vw, 1400px);--rule-w: 2px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--ground);color:var(--carbon);font-family:var(--ar-body);direction:rtl;min-height:100vh;overflow-x:hidden;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / 12 - .5px),var(--rule-hair-deco) calc(100% / 12 - .5px),var(--rule-hair-deco) calc(100% / 12));opacity:.08;z-index:1}main{position:relative;z-index:2;padding-block:clamp(3rem,14vh,7rem);padding-inline:clamp(1rem,3vw,2.5rem);max-width:min(var(--content-width),100%);margin-inline:auto;box-sizing:border-box}.top-rule{display:grid;grid-template-columns:1fr auto auto 1fr;align-items:center;gap:.75rem;padding-block-start:clamp(1rem,3vh,2rem);padding-block-end:clamp(3rem,8vh,5rem)}.top-rule .rule-left,.top-rule .rule-right{height:var(--rule-w);background:var(--carbon)}.top-rule .logotype{font-family:var(--ar-display);font-weight:500;font-size:clamp(1.1rem,2.5vw,1.4rem);padding-inline:.75rem;display:flex;align-items:baseline;gap:.75rem;white-space:nowrap}.top-rule .logotype .en{font-family:var(--mono);font-size:.68em;letter-spacing:.12em;color:var(--rule-heavy);text-transform:uppercase;direction:ltr;unicode-bidi:isolate}.top-rule .reg-mark{font-family:var(--mono);font-size:1rem;color:var(--carbon);padding-inline:.5rem}.top-rule .reg-dot{width:6px;height:6px;background:var(--red-print);border-radius:50%}.caption{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;line-height:1.7;text-transform:uppercase;color:var(--carbon);margin-block-start:.5rem;direction:ltr;unicode-bidi:isolate;text-align:start}.section{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,3vw,2rem);align-items:start;padding-block:clamp(2rem,5vh,4rem);border-block-start:var(--rule-w) solid var(--carbon)}.section .num{font-family:var(--ar-display);font-weight:700;font-size:clamp(3rem,9vw,6rem);line-height:1;color:var(--carbon);letter-spacing:-.02em}.section .body{min-width:0}.section h2{font-family:var(--ar-display);font-weight:500;font-size:clamp(1.2rem,2.5vw,1.5rem);margin-block-end:1rem;color:var(--carbon)}.section h2 .en{font-family:var(--mono);font-size:.75em;letter-spacing:.08em;text-transform:uppercase;color:var(--rule-heavy);margin-inline-start:.75rem;direction:ltr;unicode-bidi:isolate}html[lang=en] .section h2 .ar,html[lang=en] .logotype .ar,html[lang=ar] .section h2 .en-only,html[lang=ar] .logotype .en-only{display:none}html[lang=en] .section h2{direction:ltr;font-family:var(--mono);font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--carbon)}html[lang=en] .section h2 .en{margin-inline-start:0;font-size:1em;color:var(--carbon)}html[lang=en] .logotype{direction:ltr}.editor-pane{border:2px solid var(--carbon);background:var(--ground);direction:ltr;min-height:clamp(18rem,40vh,24rem);display:flex;flex-direction:column}.editor-pane .cm-editor{flex:1;font-family:var(--mono),var(--ar-body);font-size:14px;line-height:1.6;color:var(--carbon)}.editor-pane .cm-content{padding-block:.75rem;padding-inline:1rem}.output-pane{border:2px solid var(--carbon);background:var(--ground);padding:1rem 1.25rem;font-family:var(--mono),var(--ar-body);font-size:.95rem;line-height:1.8;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;unicode-bidi:plaintext;min-height:8rem;direction:rtl}.output-pane .err{color:var(--red-print);border-inline-start:3px solid var(--red-print);padding-inline-start:.75rem;margin-block-start:.5rem}.output-pane .placeholder{color:var(--rule-heavy);opacity:.72;font-style:italic}.run-btn{font-family:var(--ar-display);font-weight:700;font-size:.95rem;padding:.6rem 1.5rem;background:var(--sulfur);color:var(--carbon);border:2px solid var(--carbon);cursor:pointer;transition:transform .1s}.run-btn:hover{background:var(--carbon);color:var(--sulfur)}.run-btn:active{transform:translateY(1px)}.run-btn:focus-visible{outline:3px solid var(--red-print);outline-offset:3px}.btn-ghost{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;padding:.5rem 1rem;background:transparent;color:var(--carbon);border:1px solid var(--carbon);cursor:pointer;direction:ltr}.btn-ghost:hover{background:var(--carbon);color:var(--ground)}.btn-ghost:focus-visible{outline:3px solid var(--red-print);outline-offset:2px}.examples{display:flex;flex-wrap:wrap;gap:.5rem;padding-block:1rem}.ex-chip{font-family:var(--ar-display);font-size:.85rem;padding:.4rem .9rem;background:transparent;color:var(--carbon);border:1px solid var(--carbon);cursor:pointer}.ex-chip:hover{background:var(--sulfur)}.ex-chip:focus-visible{outline:3px solid var(--red-print);outline-offset:2px}.curriculum-note{border-inline-start:3px solid var(--sulfur);padding-inline:1rem;padding-block:.5rem;margin-block-end:.5rem;font-family:var(--ar-body);font-size:.9rem;line-height:1.5}.curriculum-note>div{padding-block:.15rem}.curriculum-note>div[lang=en]{font-family:var(--mono);font-size:.78rem;color:var(--rule-heavy);letter-spacing:.02em}.ex-chip-active{background:var(--sulfur)!important}.vkbd{border:2px solid var(--carbon);background:var(--ground);padding:.5rem;margin-block-start:.75rem;direction:rtl}.vkbd-row{display:grid;grid-template-columns:repeat(10,1fr);gap:.25rem;margin-block:.25rem}.vkbd-key{font-family:var(--ar-body);font-size:1.05rem;padding:.5rem 0;background:var(--ground);color:var(--carbon);border:1px solid var(--carbon);cursor:pointer}.vkbd-key:hover{background:var(--sulfur)}.vkbd-key:focus-visible{outline:2px solid var(--red-print);outline-offset:1px}.token-pane{border:2px solid var(--carbon);background:var(--ground);padding:.75rem 1rem;margin-block-start:1rem;font-family:var(--mono);font-size:.78rem;max-height:12rem;overflow-y:auto;direction:rtl}.token-header{display:flex;justify-content:space-between;align-items:baseline;padding-block-end:.5rem;border-block-end:1px solid var(--carbon);margin-block-end:.5rem}.token-count{font-size:.7rem;color:var(--rule-heavy)}.token-list{display:flex;flex-wrap:wrap;gap:.35rem}.token{display:inline-flex;align-items:baseline;gap:.25rem;padding:.15rem .4rem;background:transparent;border:1px solid var(--rule-hair)}.token-kind{font-weight:700;color:var(--red-print)}.token-val{color:var(--carbon)}.step-pane{border:2px solid var(--carbon);background:var(--ground);padding:.75rem 1rem;margin-block-start:1rem;font-family:var(--mono);font-size:.82rem}.step-header{display:flex;justify-content:space-between;align-items:baseline;padding-block-end:.5rem;border-block-end:1px solid var(--carbon);margin-block-end:.5rem}.step-state{font-size:.75rem;display:flex;gap:.5rem}.step-kind{color:var(--red-print);font-weight:700}.step-done{color:var(--rule-heavy);font-style:italic}.step-env{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.35rem 1rem;padding-block:.25rem}.step-binding{display:flex;align-items:baseline;gap:.25rem}.step-name{color:var(--carbon);font-weight:700;font-family:var(--ar-body)}.step-val{color:var(--red-print)}.step-out{padding-block-start:.5rem;border-block-start:1px dashed var(--rule-hair);margin-block-start:.5rem;color:var(--rule-heavy);font-size:.78rem}.ast-pane{border:2px solid var(--carbon);background:var(--ground);padding:1rem 1.25rem;margin-block-start:1rem;font-family:var(--mono);font-size:.8rem;line-height:1.5;max-height:20rem;overflow-y:auto;direction:rtl}.ast-header{display:flex;align-items:center;justify-content:space-between;padding-block-end:.5rem;border-block-end:1px solid var(--carbon);margin-block-end:.75rem}.ast-tree{unicode-bidi:plaintext}.ast-node{padding-block:.15rem}.ast-kind{color:var(--red-print);font-weight:700}.ast-key{color:var(--rule-heavy)}.ast-val{color:var(--carbon)}.ast-leaf{display:inline}.ast-child{padding-inline-start:1rem;border-inline-start:1px solid var(--rule-hair);margin-inline-start:.25rem}.ast-toggle{font-family:var(--ar-display);font-size:.8rem;padding-inline:.75rem;padding-block:.3rem}.actions{display:flex;gap:.75rem;padding:.75rem 1rem;border-block-start:1px solid var(--carbon);background:var(--ground);align-items:center;justify-content:flex-end}@keyframes stroke-in{0%{stroke-dashoffset:200;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.section .num{animation:fade-in .32s ease-out both}.section:nth-of-type(1) .num{animation-delay:.12s}.section:nth-of-type(2) .num{animation-delay:.18s}.section:nth-of-type(3) .num{animation-delay:.24s}.section:nth-of-type(4) .num{animation-delay:.3s}.editor-wrapper{container-type:inline-size}@container (max-width: 600px){.editor-pane .cm-content{font-size:12px}.actions{flex-direction:column;align-items:stretch}}footer{margin-block-start:clamp(3rem,8vh,5rem);padding-block-start:1.5rem;border-block-start:2px solid var(--carbon);font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;color:var(--rule-heavy);direction:ltr;unicode-bidi:isolate;text-transform:uppercase;line-height:1.8}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}:focus-visible{outline:3px solid var(--red-print);outline-offset:2px}.kw-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem 1.5rem;padding-block-start:.5rem}.kw-grid[data-astro-cid-j7pv25f6] code[data-astro-cid-j7pv25f6]{font-family:var(--mono);font-weight:700;color:var(--carbon);padding-inline-end:.5rem}
