:root { --font-display: "SF Arabic", "Noto Sans Arabic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-body: "SF Arabic", "Noto Sans Arabic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-mono: ui-monospace, "SF Mono", Menlo, monospace; --container: 1180px; --gutter: 32px; } *,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%} body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.75 var(--font-body);text-rendering:optimizeLegibility} body.locked{overflow:hidden} a{color:inherit;text-decoration:none} button,input,textarea{font:inherit} button{cursor:pointer} h1,h2,h3{font-family:var(--font-display);text-wrap:balance} p{text-wrap:pretty} :focus-visible{outline:3px solid color-mix(in oklch,var(--accent) 55%,transparent);outline-offset:3px} .container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)} .topnav{position:sticky;top:0;z-index:20;background:color-mix(in oklch,var(--bg) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)} .nav-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px} .logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:23px;font-weight:700}.logo-mark{width:12px;height:12px;background:var(--fg);transform:rotate(45deg)} .nav-links{display:flex;align-items:center;gap:28px}.nav-links a{min-height:44px;display:inline-flex;align-items:center;color:var(--muted)}.nav-links a:hover{color:var(--fg)} .nav-tools{display:flex;align-items:center;gap:8px}.nav-login,.icon-btn{min-height:44px;border:1px solid var(--border);background:transparent;color:var(--fg);display:inline-grid;place-items:center}.nav-login{padding-inline:16px}.nav-login:hover,.icon-btn:hover{border-color:var(--fg);background:var(--fg-soft)}.icon-btn{width:46px} .demo-strip{background:var(--fg);color:var(--surface);font:11px/1.6 var(--font-mono);padding:8px 0;text-align:center} .demo-strip b{color:var(--surface);font-weight:700} .article-head{padding-block:clamp(58px,9vw,100px);border-bottom:1px solid var(--border)} .crumb{font:12px/1.5 var(--font-mono);color:var(--accent);margin:0 0 20px} .lock-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--fg);padding:6px 14px;font:12px/1.5 var(--font-mono);color:var(--fg);margin-bottom:22px} .lock-chip svg{width:14px;height:14px} .article-head h1{font-size:clamp(46px,7vw,88px);line-height:1.06;max-width:12ch;margin:0} .dek{font-size:clamp(19px,2vw,24px);line-height:1.7;color:var(--muted);max-width:58ch;margin:28px 0 0} .article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:34px;padding-top:20px;border-top:1px solid var(--border);font:12px/1.5 var(--font-mono);color:var(--muted)} .article-layout{display:grid;grid-template-columns:minmax(0,740px) 240px;gap:clamp(48px,8vw,100px);align-items:start;padding-block:80px} .article-body{font-size:19px;line-height:2} .article-body h2{font-size:clamp(32px,4vw,48px);line-height:1.2;margin:64px 0 20px} .article-body p{margin:0 0 26px} .lede{font-family:var(--font-display);font-size:28px;line-height:1.6} .note{border-block:1px solid var(--fg);padding:28px 0;margin:42px 0} .note strong{display:block;font-family:var(--font-display);font-size:22px;margin-bottom:8px} .free-tag{font:11px/1.5 var(--font-mono);color:var(--muted);margin-bottom:6px;display:block} .lock-cut{position:relative} .lock-cut::after{content:"";position:absolute;inset-inline:0;bottom:0;height:120px;background:linear-gradient(to bottom,transparent,var(--bg) 88%);pointer-events:none} .lock-cut .cut-p{margin-bottom:0} .paywall{margin-top:-30px;position:relative;border:1px solid var(--fg);background:var(--surface);padding:clamp(28px,4vw,44px);z-index:2} .paywall .crumb{margin-bottom:12px} .paywall h2{font-size:clamp(30px,3.6vw,44px);line-height:1.18;margin:0 0 14px;max-width:16ch} .paywall p{color:var(--muted);max-width:56ch;margin:0 0 24px} .locked-in{border-top:1px solid var(--fg);margin:0 0 26px} .locked-in li{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid var(--border);color:var(--muted);font-size:16px} .locked-in svg{width:14px;height:14px;flex:none} .locked-in .num{margin-inline-start:auto;font:12px/1.5 var(--font-mono)} .paywall-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap} .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border:1px solid transparent;font-weight:700} .btn-primary{background:var(--accent);color:var(--surface);border-color:var(--accent)} .btn-primary:hover{background:color-mix(in oklch,var(--accent) 86%,black)} .btn-secondary{border-color:var(--border);background:transparent;color:var(--fg)} .btn-secondary:hover{border-color:var(--fg);background:var(--fg-soft)} .text-link{font-weight:700;color:var(--fg);text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center} .text-link:hover{color:var(--accent)} .price-line{font:12px/1.6 var(--font-mono);color:var(--muted);margin-top:18px} .toc{position:sticky;top:100px;border-top:1px solid var(--fg);padding-top:18px} .toc strong{font-family:var(--font-display);font-size:20px} .toc a,.toc .toc-locked{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);color:var(--muted)} .toc a:hover{color:var(--fg)} .toc .toc-locked{color:color-mix(in oklch,var(--muted) 60%,transparent)} .toc .toc-locked svg{width:12px;height:12px;flex:none} .member-note{margin-top:28px;border:1px solid var(--fg);padding:22px} .member-note strong{font-family:var(--font-display);font-size:20px;display:block;margin-bottom:8px} .member-note p{color:var(--muted);font-size:14px;margin:0 0 16px} .pagefoot{padding-block:54px;border-top:1px solid var(--border);color:var(--muted)} .footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:44px} .footer-col strong{display:block;color:var(--fg);margin-bottom:12px} .footer-col a{display:block;min-height:36px} .footer-col a:hover{color:var(--fg);text-decoration:underline} .footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;margin-top:38px;border-top:1px solid var(--border);font-size:13px} .menu-panel{position:fixed;inset:0;z-index:60;visibility:hidden;pointer-events:none}.menu-panel.open{visibility:visible;pointer-events:auto}.menu-scrim{position:absolute;inset:0;border:0;background:color-mix(in oklch,var(--fg) 55%,transparent);opacity:0}.menu-panel.open .menu-scrim{opacity:1}.menu-drawer{position:absolute;inset-block:0;inset-inline-start:0;width:min(520px,92vw);padding:28px clamp(24px,5vw,54px);background:var(--bg);border-inline-end:1px solid var(--fg);transform:translateX(105%);transition:transform .25s ease;display:flex;flex-direction:column}.menu-panel.open .menu-drawer{transform:translateX(0)}.menu-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--border)}.menu-links{display:flex;flex-direction:column}.menu-links a{display:flex;justify-content:space-between;align-items:center;min-height:58px;border-bottom:1px solid var(--border);font-size:18px} @media(max-width:920px){:root{--gutter:22px}.nav-links{display:none}.article-layout{grid-template-columns:1fr}.toc{position:static;order:0;margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr}.article-body{font-size:18px}} @media(max-width:620px){:root{--gutter:18px}.nav-login{display:none}.article-head h1{font-size:46px}.article-layout{padding-block:56px}.footer-grid{grid-template-columns:1fr;gap:28px}.paywall-actions{flex-direction:column;align-items:stretch}.paywall-actions .btn{width:100%}} @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}