:root{--void:#0d131a;--pit:#111923;--rule:#1f2d3d;--rule-hi:#2e3a48;--ink:#f0e6d3;--ink-dim:#8899ad;--phos:#ffbd39;--phos-mid:#c18c22;--phos-deep:#6b4c0f;--amber:#47ff94;--amber-deep:#1aa855;--bg:#0d131a;--bg-2:#111923;--panel:#16202b;--line:#22303f;--line-2:#2e3a48;--green:#ffbe3d;--green-2:#c79227;--green-ink:#080d13;--text:#d9e0e7;--muted:#8da0b5;--warn:#ff9b8a;--f-display:"Chakra Petch","IBM Plex Sans Arabic",ui-sans-serif,sans-serif;--f-body:"Atkinson Hyperlegible","IBM Plex Sans Arabic",ui-sans-serif,sans-serif;--f-mono:"JetBrains Mono","IBM Plex Sans Arabic",ui-monospace,monospace;--f-ar-body:"IBM Plex Sans Arabic",sans-serif;--f-ar-display:"Noto Kufi Arabic","IBM Plex Sans Arabic",sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:20px;--s5:32px;--s6:56px;--s7:clamp(72px,10vw,128px);--gut:clamp(16px,4vw,56px);--gutter:clamp(16px,4vw,48px);--ease:cubic-bezier(.16,1,.3,1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 var(--f-body);-webkit-font-smoothing:antialiased;background-image:linear-gradient(var(--line) 1px,transparent 1px), linear-gradient(90deg,var(--line) 1px,transparent 1px);background-position:-1px -1px;background-size:64px 64px;background-attachment:fixed;margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(ellipse at 50% 30%,transparent 0%,#06090c8c 55%,var(--bg) 95%);position:fixed;inset:0}html[lang=ar] body,[lang=ar]{font-family:var(--f-ar-body)}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}a{color:var(--phos);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sr:focus{top:8px;clip:auto;z-index:100;background:var(--phos);width:auto;height:auto;color:var(--void);padding:8px 12px;position:fixed;inset-inline-start:8px}.mono{font-family:var(--f-mono)}.wrap{z-index:1;max-width:1240px;padding-inline:var(--gutter);margin-inline:auto;position:relative}.brk{--c:var(--green-2);--l:14px;background:linear-gradient(var(--c),var(--c)) top left/var(--l) 1px, linear-gradient(var(--c),var(--c)) top left/1px var(--l), linear-gradient(var(--c),var(--c)) top right/var(--l) 1px, linear-gradient(var(--c),var(--c)) top right/1px var(--l), linear-gradient(var(--c),var(--c)) bottom left/var(--l) 1px, linear-gradient(var(--c),var(--c)) bottom left/1px var(--l), linear-gradient(var(--c),var(--c)) bottom right/var(--l) 1px, linear-gradient(var(--c),var(--c)) bottom right/1px var(--l);background-repeat:no-repeat}.label{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.72rem}html[lang=ar] .label{letter-spacing:0;font-family:var(--f-ar-body);font-size:.82rem}.label b{color:var(--green);font-weight:500}.top{z-index:40;padding:14px var(--gut);background:color-mix(in oklab, var(--void) 82%, transparent);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);align-items:center;gap:clamp(12px,2.5vw,32px);display:flex;position:sticky;top:0}.logo{color:var(--ink);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.logo:hover{color:var(--ink)}.logo svg{flex-shrink:0;width:30px;height:30px}.logo b{font:700 1.05rem/1 var(--f-display);letter-spacing:.02em}.logo b span{color:var(--phos)}.nav{gap:clamp(10px,1.8vw,26px);margin-block:0;margin-inline-start:auto;padding:0;list-style:none;display:flex}.nav a{font:500 .9rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);padding:6px 0;text-decoration:none;position:relative}html[lang=ar] .nav a{font-family:var(--f-ar-body);letter-spacing:0;font-size:.95rem}.nav a:before{content:"/";color:var(--phos-deep);margin-inline-end:4px}.nav a:hover,.nav a[aria-current]{color:var(--phos)}.lang{border:1px solid var(--rule-hi);flex-shrink:0;display:flex}.lang button,.lang a{all:unset;cursor:pointer;font:600 .85rem/1 var(--f-mono);color:var(--ink-dim);padding:6px 11px}.lang button[data-l=ar]{font-family:var(--f-ar-display);font-size:.95rem}.lang button[aria-pressed=true],.lang a[aria-current=true]{background:var(--phos);color:var(--void)}.lang button:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}.menu-btn{display:none}@media (width<=960px){header.top{flex-wrap:wrap}header.top>*{min-inline-size:0;max-inline-size:100%}.logo b{overflow-wrap:anywhere}.nav{top:100%;background:var(--void);border-bottom:1px solid var(--rule);padding:6px var(--gut) 14px;flex-direction:column;gap:0;display:none;position:absolute;inset-inline:0}.nav.open{display:flex}.nav a{border-bottom:1px dashed var(--rule);padding:12px 0;display:block}.menu-btn{all:unset;cursor:pointer;font:600 .8rem/1 var(--f-mono);color:var(--phos);border:1px solid var(--rule-hi);margin-inline-start:auto;padding:8px 10px}}.status{gap:var(--s4);border-bottom:1px dashed var(--line-2);font-family:var(--f-mono);color:var(--muted);letter-spacing:.08em;flex-wrap:wrap;padding-block:10px;font-size:.7rem;display:flex}.status .ok:before{content:"";background:var(--green);vertical-align:1px;width:6px;height:6px;margin-inline-end:8px;animation:1.6s steps(2,end) infinite blink;display:inline-block}.status .alert{color:var(--amber)}.hero{gap:var(--s6);padding-block:var(--s6) var(--s7);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;display:grid}.hero h1{font-family:var(--f-display);letter-spacing:-.01em;margin-block:var(--s4) var(--s3);font-size:clamp(2.4rem,6.2vw,5.2rem);font-weight:700;line-height:.98}html[lang=ar] .hero h1{font-family:var(--f-ar-display);letter-spacing:0;font-size:clamp(2rem,5.2vw,4.1rem);line-height:1.35}.hero h1 .ln2{color:var(--green);display:block}.hero .ar-line{font-family:var(--f-ar-display);color:var(--text);opacity:.92;margin-block-end:var(--s4);font-size:clamp(1.2rem,2.4vw,1.75rem);font-weight:600;line-height:1.6}.hero p.sub{max-width:48ch;color:var(--muted);font-size:1.08rem}.hero p.sub strong{color:var(--text);font-weight:700}.cta{gap:var(--s3);flex-wrap:wrap;margin-block-start:var(--s5);display:flex}.btn{font-family:var(--f-mono);border:1px solid var(--green);transition:background .25s var(--ease),color .25s var(--ease);align-items:center;gap:10px;padding:12px 18px;font-size:.85rem;text-decoration:none;display:inline-flex}html[lang=ar] .btn{font-family:var(--f-ar-body);font-size:.95rem}.btn.primary{background:var(--green);color:var(--green-ink);font-weight:600}.btn.primary:hover{color:var(--green);background:0 0}.btn.ghost{border-color:var(--line-2);color:var(--text)}.btn.ghost:hover{border-color:var(--green);color:var(--green)}.radar{aspect-ratio:1;justify-self:end;width:100%;max-width:470px;padding:18px;position:relative}.scope{direction:ltr;width:100%;height:100%;position:relative}.scope>svg{width:100%;height:100%;display:block}.readout{font-family:var(--f-mono);color:var(--muted);background:var(--bg);border:1px solid var(--line-2);z-index:2;direction:ltr;padding:4px 8px;font-size:.66rem;line-height:1.5;position:absolute}.readout b{color:var(--green);font-weight:500}.readout.amber{border-color:var(--amber);color:var(--amber)}.readout.r1{top:2%;inset-inline-start:-4%}.readout.r2{bottom:2%;inset-inline-end:-2%}.cups{position:absolute;inset:0}.cup{--lit:.5;z-index:1;transition:opacity .28s var(--ease);flex-direction:column;align-items:center;gap:1px;text-decoration:none;display:flex;position:absolute;transform:translate(-50%,-13px)}.cup.out{opacity:0}.cup-ico{width:26px;height:26px;opacity:calc(.42 + .58 * var(--lit));filter:drop-shadow(0 0 calc(var(--lit) * 7px) #ffbe3dd9);display:block;position:relative}.cup-ico svg{width:100%;height:100%;display:block;overflow:visible}.cup .steam{transform-box:fill-box;animation:2.6s ease-in-out infinite steam}.cup .ping{border:1.5px solid var(--green);opacity:0;pointer-events:none;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;position:absolute;top:13px;left:50%}.cup.pinging .ping{animation:ping 1.6s var(--ease)}.cup:hover .ping,.cup:focus-visible .ping{animation:ping 1.6s var(--ease) infinite}.cup-lbl{font:500 .68rem/1.25 var(--f-mono);color:var(--muted);white-space:nowrap;background:#06090cc7;padding:1px 4px}.cup.hot .cup-lbl,.cup:hover .cup-lbl,.cup:focus-visible .cup-lbl{color:var(--green)}.cup:hover .cup-ico,.cup:focus-visible .cup-ico{--lit:1}.cup:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.tip{z-index:3;width:max-content;max-width:min(250px,78vw);font:400 .8rem/1.45 var(--f-body);background:var(--bg);border:1px solid var(--green-2);color:var(--text);pointer-events:none;padding:6px 9px;position:absolute;box-shadow:0 10px 30px -10px #000}.tip[hidden]{display:none}.tip bdi{font-family:var(--f-mono);color:var(--green)}.tip[dir=rtl]{font-family:var(--f-ar-body)}.radar-cap{font:400 .72rem/1.4 var(--f-mono);color:var(--muted);text-align:center;margin-top:10px}html[lang=ar] .radar-cap{font-family:var(--f-ar-body);font-size:.82rem}.ticker{z-index:1;border-block:1px solid var(--line-2);background:var(--bg-2);font-family:var(--f-mono);direction:ltr;font-size:.78rem;position:relative;overflow:hidden}.ticker .tag{z-index:2;background:var(--green);color:var(--green-ink);letter-spacing:.12em;align-items:center;padding-inline:16px;font-weight:600;display:flex;position:absolute;inset-block:0;inset-inline-start:0}.ticker .track{white-space:nowrap;gap:48px;width:max-content;padding-block:12px;padding-inline-start:140px;animation:52s linear infinite scroll;display:flex}.ticker .track span{color:var(--muted)}.ticker .track i{color:var(--green);font-style:normal}.ticker .track .w{color:var(--amber)}section{z-index:1;position:relative}.sec{padding-block:var(--s7) 0}.kicker{font:600 .74rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--phos-mid);margin-block-end:12px}html[lang=ar] .kicker{font-family:var(--f-ar-body);letter-spacing:0;font-size:.85rem}.sec-head{align-items:end;gap:var(--s4);grid-template-columns:auto 1fr auto;margin-block-end:var(--s5);display:grid}.sec-head h2{font-family:var(--f-display);font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:600;line-height:1.05}html[lang=ar] .sec-head h2{font-family:var(--f-ar-display);line-height:1.45}.sec-head .rule{background:linear-gradient(90deg,var(--line-2),transparent);height:1px;margin-block-end:12px}html[dir=rtl] .sec-head .rule{background:linear-gradient(-90deg,var(--line-2),transparent)}.sec-head .lede{color:var(--muted);max-width:36ch;font-size:.98rem}.chip{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap;padding:3px 8px;font-size:.68rem}html[lang=ar] .chip:not(.code){font-family:var(--f-ar-body);letter-spacing:0;font-size:.78rem}.chip.code{color:var(--green);border-color:var(--green-2)}.chip.falaq{color:var(--amber);border-color:var(--amber-deep)}.paths{gap:var(--s4);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.path{gap:var(--s2);height:100%;padding:var(--s5) var(--s4) var(--s4);color:var(--text);transition:background .3s var(--ease);flex-direction:column;text-decoration:none;display:flex}.path:hover{color:var(--text);background:#ffbe3d0d}.path .k{font:500 .82rem/1 var(--f-mono);color:var(--green)}.path h3{font:600 clamp(1.4rem,2.4vw,1.8rem)/1.15 var(--f-display)}html[lang=ar] .path h3{font-family:var(--f-ar-display);line-height:1.5}.path p{color:var(--muted);font-size:.98rem}.path .go{font:500 .82rem/1 var(--f-mono);color:var(--green);margin-block-start:auto;padding-block-start:var(--s3)}html[lang=ar] .path .go{font-family:var(--f-ar-body);font-size:.92rem}.path:hover h3{color:var(--green)}.courses{gap:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.course{padding:var(--s5) var(--s4) var(--s4);gap:var(--s3);background:linear-gradient(#0c1219e6,#0c12198c);flex-direction:column;display:flex}.course .meta{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.course h3{font:600 clamp(1.35rem,2.2vw,1.7rem)/1.15 var(--f-display)}.course h3 a{color:var(--text);text-decoration:none}.course h3 a:hover{color:var(--green)}.course .arn{font:600 1.08rem/1.6 var(--f-ar-display);color:var(--green)}.ls{font:400 .86rem/1 var(--f-mono);text-align:start;border-top:1px solid var(--line-2);direction:ltr;padding:0;list-style:none}.ls .cmd{color:var(--muted);border-bottom:1px solid var(--line);padding:12px 0}.ls .cmd b{color:var(--green);font-weight:400}.ls li.row{border-bottom:1px dashed var(--line);color:var(--muted);grid-template-columns:6.4rem minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.ls .perm{color:#6f7f92}.ls .nm{color:var(--text)}.ls .st{color:var(--muted);border:1px solid var(--line-2);padding:3px 6px;font-size:.74rem}.ls .st[lang=ar],html[lang=ar] .ls .st{font-family:var(--f-ar-body);font-size:.8rem}.course .open{font:500 .85rem/1 var(--f-mono);color:var(--green);align-self:flex-start;margin-block-start:var(--s2);text-decoration:none}html[lang=ar] .course .open{font-family:var(--f-ar-body);font-size:.95rem}.course .open:hover{text-decoration:underline}.tool-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.tool-copy p{color:var(--muted);max-width:38ch;margin-block-start:var(--s3)}.tool-copy h2{font:600 clamp(1.6rem,3.4vw,2.6rem)/1.05 var(--f-display)}html[lang=ar] .tool-copy h2{font-family:var(--f-ar-display);line-height:1.45}.term{background:var(--pit);border:1px solid var(--rule-hi);text-align:start;direction:ltr;min-width:0;box-shadow:0 0 0 1px #ffbd390d,0 30px 80px -30px #ffbd392e}.term-bar{border-bottom:1px solid var(--rule);font:400 .78rem/1 var(--f-mono);color:var(--ink-dim);align-items:center;gap:8px;padding:10px 14px;display:flex}.term-bar i{background:var(--rule-hi);border-radius:50%;flex-shrink:0;width:9px;height:9px}.term-bar i:first-child{background:var(--amber-deep)}.term-bar span{margin-inline-start:auto}.term form{font:400 1rem/1.4 var(--f-mono);align-items:center;gap:10px;padding:18px 18px 8px;display:flex}.term label{color:var(--phos);white-space:nowrap}.term input,.term select{border:0;border-bottom:1px solid var(--phos-deep);min-width:0;color:var(--ink);font:inherit;caret-color:var(--phos);background:0 0;border-radius:0;flex:1;padding:6px 2px}.term select{background:var(--void);border:1px solid var(--rule-hi);color:var(--phos);cursor:pointer;flex:none;padding:6px 8px}.term input:focus,.term select:focus{border-bottom-color:var(--phos);outline:none}.term select:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.term button{all:unset;cursor:pointer;font:600 .82rem/1 var(--f-mono);color:var(--void);background:var(--phos);padding:9px 12px}.term button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.out{font:400 .95rem/1.85 var(--f-mono);grid-template-columns:auto minmax(0,1fr);column-gap:18px;margin:0;padding:8px 18px 22px;display:grid}.out dt{color:var(--ink-dim)}.out dd{color:var(--phos);overflow-wrap:anywhere;margin:0}.out dd small{color:var(--ink-dim);font-size:.78em}.out .err{color:var(--warn);grid-column:1/-1}.presets{flex-wrap:wrap;gap:8px;padding:0 18px 18px;display:flex}.presets button{all:unset;cursor:pointer;font:400 .78rem/1 var(--f-mono);color:var(--ink-dim);border:1px solid var(--rule);padding:6px 8px}.presets button:hover{color:var(--phos);border-color:var(--phos-deep)}.term .tabs{border-bottom:1px solid var(--rule);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--rule-hi) transparent;background:#04060999;flex-wrap:nowrap;padding:0 6px;display:flex;position:relative;overflow:auto hidden}.term .tabs::-webkit-scrollbar{height:4px}.term .tabs::-webkit-scrollbar-thumb{background:var(--rule-hi)}.term .tabs.more-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}.term .tabs.more-l{-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px);mask-image:linear-gradient(90deg,#0000,#000 36px)}.term .tabs.more-l.more-r{-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000)}.term .tab{all:unset;cursor:pointer;font:500 .82rem/1 var(--f-mono);color:var(--ink-dim);white-space:nowrap;background:0 0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 9px 10px}.term .tab[aria-selected=true]{color:var(--phos);border-bottom-color:var(--phos);background:#ffbd3912}.term .tab:not([aria-disabled=true]):hover{color:var(--ink)}.term .tab[aria-disabled=true]{cursor:not-allowed;color:#55626f}.term .tab[aria-disabled=true] sup{color:#6f7f92;margin-inline-start:2px;font-size:.62rem}.term .tab:focus-visible{outline:2px solid var(--amber);outline-offset:-3px}@media (width>=961px){.term .tabs{padding-inline:2px}.term .tab{padding-inline:5px;font-size:.78rem}}.panel-head{font:400 .75rem/1.4 var(--f-mono);color:var(--ink-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:14px 18px 0;display:flex}.used{border:1px solid var(--rule-hi);padding:3px 7px}.used a{color:var(--phos)}.note{color:var(--ink-dim)}.note b{color:var(--phos);font-weight:400}.term .mathbtn{color:var(--phos);border:1px solid var(--phos-deep);background:0 0;margin:0 18px 14px;font-weight:500}.term .mathbtn[aria-pressed=true]{background:var(--phos);color:var(--void)}.math{border:1px dashed var(--rule-hi);background:var(--void);font:400 .9rem/1.8 var(--f-mono);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 18px 20px;padding:12px 14px}.math[hidden]{display:none}.math .hl{color:var(--phos)}.math .dim{color:var(--ink-dim)}html[lang=ar] .term .tx{font-family:var(--f-ar-body)}.term form.wrapf{flex-wrap:wrap;row-gap:14px}.term form.top{align-items:flex-start}.term form.top label{padding-top:8px}.term .fld{flex:13rem;align-items:center;gap:10px;min-width:0;display:flex}.term .fld[hidden]{display:none}.term textarea{resize:vertical;border:1px solid var(--rule);border-bottom-color:var(--phos-deep);min-width:0;min-height:4.4em;color:var(--ink);font:inherit;caret-color:var(--phos);background:0 0;border-radius:0;flex:1;padding:7px 8px}.term textarea:focus{border-color:var(--rule-hi);border-bottom-color:var(--phos);outline:none}.term input[aria-invalid=true],.term textarea[aria-invalid=true]{border-bottom-color:var(--warn)}.term input[type=checkbox]{-webkit-appearance:none;appearance:none;cursor:pointer;background:var(--void);border:1px solid var(--phos-deep);border-radius:0;flex:none;place-content:center;width:22px;height:22px;margin:0;padding:0;display:inline-grid}.term input[type=checkbox]:after{content:"";border:solid var(--void);opacity:0;border-width:0 0 2px 2px;width:10px;height:5px;transform:translateY(-1px)rotate(-45deg)}.term input[type=checkbox]:checked{background:var(--phos);border-color:var(--phos)}.term input[type=checkbox]:checked:after{opacity:1}.term input[type=checkbox]:hover{border-color:var(--phos)}.term input[type=checkbox]:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.term input[type=range]{accent-color:var(--phos);cursor:pointer;border:0;flex:7rem;height:24px;padding:0}.term input[type=range]:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.term output{min-width:2ch;color:var(--ink);font:500 1rem/1 var(--f-mono)}.term .chk{cursor:pointer;color:var(--ink-dim);font:400 .82rem/1.2 var(--f-mono);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.term .chk:hover{color:var(--ink)}.ctl{font:400 .9rem/1.3 var(--f-mono);flex-wrap:wrap;align-items:center;gap:12px 18px;padding:16px 18px 0;display:flex}.ctl label{color:var(--phos);white-space:nowrap}.term .seg{border:1px solid var(--rule-hi);display:inline-flex}.term .seg button{color:var(--ink-dim);background:0 0;padding:9px 12px;font-weight:500}.term .seg button[aria-pressed=true]{background:var(--phos);color:var(--void)}.term .seg button:not([aria-pressed=true]):hover{color:var(--phos)}html[lang=ar] .term .seg button{font-family:var(--f-ar-body);font-size:.9rem}.term .cp{color:var(--ink-dim);border:1px solid var(--rule-hi);font:400 .72rem/1 var(--f-mono);vertical-align:2px;white-space:nowrap;background:0 0;margin-inline-start:10px;padding:5px 7px}.term .cp:hover{color:var(--phos);border-color:var(--phos-deep)}html[lang=ar] .term .cp{font-family:var(--f-ar-body);font-size:.78rem}.tchip{font:500 .66rem/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule-hi);color:var(--ink-dim);white-space:nowrap;vertical-align:1px;padding:3px 6px;display:inline-block}.tchip.bad{color:var(--warn);border-color:#ff9b8a8c}.tchip.good{color:var(--amber);border-color:var(--amber-deep)}html[lang=ar] .tchip{font-family:var(--f-ar-body);letter-spacing:0;text-transform:none;font-size:.76rem}.out dd .tchip{white-space:normal;max-width:100%;margin-inline-end:8px}.out .warn{color:var(--warn)}.out dd.txt{color:var(--ink)}.out dd code{font:inherit;color:var(--phos)}.pgrid{border-collapse:collapse;font:400 .9rem/1 var(--f-mono);margin:6px 18px 4px}.pgrid th,.pgrid td{text-align:center;padding:7px 12px}.pgrid thead th{color:var(--ink);font-weight:500}.pgrid thead small{color:var(--ink-dim);font-size:.72rem;font-weight:400}.pgrid tbody th{text-align:start;color:var(--phos);min-width:5.5rem;padding-inline-start:0;font-weight:400}.pgrid tr.sp th,.pgrid tr.sp td{border-top:1px dashed var(--rule);padding-top:12px}.pgrid tr.sp th{color:var(--ink-dim)}.pgrid .chk{flex-direction:column;gap:5px;font-size:.72rem}.priv{font:400 .78rem/1.5 var(--f-mono);color:var(--amber);margin:10px 18px 0}html[lang=ar] .priv{font-size:.85rem}.meter{background:var(--void);border:1px solid var(--rule);height:8px;margin:4px 18px 2px}.meter i{background:var(--warn);width:0;height:100%;transition:width .35s var(--ease),background-color .35s var(--ease);display:block}.meter[data-s="2"] i{background:var(--phos)}.meter[data-s="3"] i,.meter[data-s="4"] i{background:var(--amber)}.pcount{font:400 .78rem/1.4 var(--f-mono);color:var(--ink-dim);margin:0 18px 8px}.ports-wrap{border:1px solid var(--rule);overscroll-behavior:contain;max-height:340px;margin:0 18px 16px;overflow:auto}.ports-wrap:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.ptab{border-collapse:collapse;width:100%;font:400 .86rem/1.45 var(--f-mono)}.ptab th{z-index:1;background:var(--pit);text-align:start;color:var(--ink-dim);border-bottom:1px solid var(--rule-hi);padding:9px 10px;font-size:.74rem;font-weight:400;position:sticky;top:0}.ptab td{border-bottom:1px dashed var(--rule);vertical-align:top;color:var(--ink-dim);padding:9px 10px}.ptab tr:last-child td{border-bottom:0}.ptab td.pn{color:var(--phos);white-space:nowrap;font-weight:500}.ptab td.pn small{color:var(--ink-dim);font-size:.7rem;font-weight:400;display:block}.ptab td b{color:var(--ink);font-weight:500}.ptab .pnote{font-size:.8rem;line-height:1.5;display:block}html[lang=ar] .ptab .pnote{font-size:.86rem}.ptab td:last-child{width:1%}#hash-av,#ci-brute-out{white-space:normal}#hash-av>div,#ci-brute-out>div{white-space:pre-wrap;overflow-wrap:anywhere}.math .hl b{color:var(--amber);font-weight:400}.cases{gap:var(--s4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case{gap:var(--s3);color:var(--text);padding:var(--s5) var(--s4) var(--s4);border-inline-start:1px solid var(--line-2);transition:background .3s var(--ease);background:linear-gradient(90deg,#0c1219d9,#0000);flex-direction:column;text-decoration:none;display:flex}html[dir=rtl] .case{background:linear-gradient(-90deg,#0c1219d9,#0000)}.case:hover{color:var(--text);background:#ffbe3d0d}.case:hover h3{color:var(--green)}.case .meta{gap:var(--s2);flex-wrap:wrap;display:flex}.case h3{font:600 clamp(1.2rem,1.9vw,1.45rem)/1.25 var(--f-display);transition:color .25s}html[lang=ar] .case h3{font-family:var(--f-ar-display);line-height:1.6}.case .flow{color:var(--muted);gap:6px;font-size:.95rem;display:grid}.case .flow b{font:500 .72rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:3px;display:block}html[lang=ar] .case .flow b{font-family:var(--f-ar-body);letter-spacing:0;font-size:.82rem}.case .cs-foot{border-block-start:1px dashed var(--line-2);justify-content:space-between;gap:var(--s3);font:400 .74rem/1.4 var(--f-mono);color:var(--muted);margin-block-start:auto;padding-block-start:var(--s3);display:flex}.case.feat{border-inline-start-color:var(--amber)}.foot{z-index:1;padding:36px var(--gut) 48px;border-top:1px solid var(--rule);color:var(--ink-dim);background:var(--bg-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:18px 40px;margin-top:clamp(56px,8vw,110px);font-size:.95rem;display:flex;position:relative}.foot .sig{font:400 .82rem/1 var(--f-mono);color:var(--ink-dim);direction:ltr}.foot .subl{font:500 .85rem/1 var(--f-mono)}html[lang=ar] .foot .subl{font-family:var(--f-ar-body);font-size:.95rem}.sub-back{z-index:60;background:#0204069e;position:fixed;inset:0}.sub-back[hidden],.subterm[hidden]{display:none}.subterm{z-index:61;background:var(--pit);border:1px solid var(--rule-hi);text-align:start;width:min(580px,100vw - 32px);max-height:min(82vh,560px);animation:popin .35s var(--ease);direction:ltr;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffbd3914,0 40px 100px -20px #000000d9,0 0 60px -20px #ffbd3940}.subterm:focus{outline:none}.subterm .term-bar span{margin-inline-start:8px}.sub-x{all:unset;cursor:pointer;font:500 .78rem/1 var(--f-mono);color:var(--ink-dim);border:1px solid var(--rule-hi);margin-inline-start:auto;padding:6px 9px}.sub-x:hover{color:var(--phos);border-color:var(--phos-deep)}.sub-x:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.sub-body{font:400 .95rem/1.75 var(--f-mono);color:var(--ink);padding:16px 18px 20px;overflow:auto}.sub-log p{overflow-wrap:anywhere;margin:0}.sub-log .cmd{color:var(--phos)}.sub-log .q{color:var(--ink)}.sub-log .echo{color:var(--ink-dim)}.sub-log .ok{color:var(--amber)}.sub-log .err{color:var(--warn)}.sub-log a{color:var(--phos)}.sub-log [dir=rtl],.sub-ctl [dir=rtl]{font-family:var(--f-ar-body)}.cur{background:var(--phos);vertical-align:-2px;width:.6em;height:1.05em;margin-inline-start:2px;animation:1.05s step-end infinite blink;display:inline-block}.opts{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.opt{all:unset;cursor:pointer;border:1px solid var(--rule-hi);color:var(--ink);font:400 .9rem/1 var(--f-mono);padding:9px 12px}.opt b{color:var(--phos);font-weight:600}.opt:hover,.opt:focus-visible{border-color:var(--phos);color:var(--phos)}.opt:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.hint{color:var(--ink-dim);margin-top:8px;font-size:.78rem}.sub-form{align-items:center;gap:10px;margin-top:10px;display:flex}.sub-form label{color:var(--phos);white-space:nowrap}.sub-form input{border:0;border-bottom:1px solid var(--phos-deep);min-width:0;color:var(--ink);font:inherit;caret-color:var(--phos);background:0 0;border-radius:0;flex:1;padding:6px 2px}.sub-form input:focus{border-bottom-color:var(--phos);outline:none}.sub-form button,.sub-done{all:unset;cursor:pointer;font:600 .82rem/1 var(--f-mono);color:var(--void);background:var(--phos);padding:9px 12px}.sub-form button:focus-visible,.sub-done:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.sub-done{margin-top:14px;display:inline-block}@media (width<=640px){.sub-back{display:none!important}.subterm{inset-inline:0;border-inline:0;width:100%;max-height:74vh;animation:sheet .35s var(--ease);border-bottom:0;top:auto;bottom:0;transform:none}.sub-body{font-size:.9rem}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{0%{opacity:.9;transform:scale(.6)}70%,to{opacity:0;transform:scale(2.4)}}@keyframes steam{0%,to{opacity:.35;transform:translateY(1px)}50%{opacity:1;transform:translateY(-1px)}}@keyframes scroll{to{transform:translate(-50%)}}@keyframes blink{50%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes popin{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes sheet{0%{transform:translateY(100%)}to{transform:none}}.hero>*{animation:rise .9s var(--ease) both}.hero>:nth-child(2){animation-delay:.15s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}.ticker .track{white-space:normal;flex-wrap:wrap;row-gap:6px;width:auto}}@media (width<=960px){.hero{gap:var(--s5);grid-template-columns:1fr}.radar{justify-self:center;max-width:400px}.tool-grid,.cases{grid-template-columns:1fr}}@media (width<=860px){.courses,.paths{grid-template-columns:1fr}}@media (width<=640px){.status{gap:var(--s3)}.status .hide-sm{display:none}.sec-head{grid-template-columns:1fr}.sec-head .rule{display:none}.readout.r1{inset-inline-start:0}.readout.r2{inset-inline-end:0}.radar{padding:14px 6px}.cup-lbl{padding:0 3px;font-size:.6rem}.cup-ico{width:22px;height:22px}.cup{transform:translate(-50%,-11px)}.cup .ping{width:22px;height:22px;margin:-11px 0 0 -11px;top:11px}.ls li.row{grid-template-columns:minmax(0,1fr) auto}.ls .perm{display:none}.ticker .tag{padding-inline:10px;font-size:.7rem}.ticker .track{padding-inline-start:110px}.term form{gap:8px;padding:16px 14px 8px}.out{column-gap:12px;padding:8px 14px 20px;font-size:.88rem}.presets,.panel-head{padding-inline:14px}.term .mathbtn,.math{margin-inline:14px}.ctl{padding-inline:14px}.pgrid{margin-inline:6px}.pgrid th,.pgrid td{padding-inline:9px}.meter,.priv,.pcount,.ports-wrap{margin-inline:14px}.ptab th,.ptab td{padding-inline:7px}}.skip{position:absolute;inset-inline-start:-9999px}.skip:focus{z-index:100;inset-block-start:8px;inset-inline-start:16px}button.cup{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.course-page .slots{flex-wrap:wrap;grid-column:1/-1;gap:.5rem 1rem;margin-block:.25rem .75rem;padding-inline-start:2.5rem;font-size:.85em;list-style:none;display:flex}.course-page .slots [aria-disabled=true]{opacity:.55}.course-page .course-tools{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:1rem;display:flex}.teacher-strip{border:1px solid var(--line);background:var(--panel);margin-block-start:2rem;padding:1rem 1.25rem}:root{--phos:#ffc459;--green:#ffc459;--green-2:#ffae1c}.audience-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.path-actions{font:.75rem var(--f-mono);flex-wrap:wrap;gap:12px 24px;margin-block-start:24px;display:flex}.path-actions a{min-height:28px}.path h3 a{color:inherit;text-decoration:none}.career-paths{grid-template-columns:repeat(3,minmax(0,1fr))}.sandbox-links{flex-wrap:wrap;gap:20px;margin-block-start:28px;display:flex}.course .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cup{text-decoration:none}.top{gap:16px}.nav{gap:clamp(10px,1.4vw,22px)}.login{white-space:nowrap}.foot{row-gap:16px}.status{flex-wrap:wrap}@media (width<=900px){.audience-paths,.career-paths{grid-template-columns:1fr}.top{gap:12px}}
