@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Latin.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;src:url(/fonts/Inter-Latin.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;src:url(/fonts/PlexArabic-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}@font-face{font-family:IBM Plex Sans Arabic;src:url(/fonts/PlexArabic-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}@font-face{font-family:IBM Plex Sans Arabic;src:url(/fonts/PlexArabic-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}:root{--void:#0b0f14;--cyan:#3df2e0;--ion:#4fc3f7;--silver:#dde3ea;--white:#ffffff;--bg:var(--void);--surface:var(--void);--ink:var(--white);--text-2:var(--silver);--node-halo-core:rgba(61,242,224,.06);--node-halo-fade:rgba(61,242,224,.022);--muted:rgba(221,227,234,.68);--faint:rgba(221,227,234,.55);--hair:rgba(221,227,234,.12);--edge:rgba(221,227,234,.22);--edge-strong:rgba(221,227,234,.5);--tint1:rgba(221,227,234,.04);--tint2:rgba(221,227,234,.07);--tint3:rgba(221,227,234,.11);--card:linear-gradient(var(--tint2),var(--tint2)),var(--void);--card-solid:#161b21;--strong:var(--white);--inv:var(--white);--on-inv:var(--void);--accent-ink:var(--cyan);--hero-accent:var(--cyan);--learn-ink:var(--ion);--focus:var(--cyan);--glass:rgba(11,15,20,.8);--scrim:rgba(11,15,20,.72);--shadow:rgba(0,0,0,.5);--spot:rgba(255,255,255,.07);--done:var(--cyan);--learn:var(--ion);--skip:var(--silver);--line:var(--ion);--accent:var(--cyan);--next:var(--cyan);--font-head:"Space Grotesk","IBM Plex Sans Arabic",system-ui,sans-serif;--font-node:"Space Grotesk","IBM Plex Sans Arabic",system-ui,sans-serif;--font-body:"Inter","IBM Plex Sans Arabic","Segoe UI",Tahoma,sans-serif;--font-code:ui-monospace,"Cascadia Code",Consolas,monospace;--ease-out:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,0,.35,1);--ease-spring:linear(0,.009,.035 2.1%,.141,.281 6.7%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1);--t-fast:.16s;--t-mid:.28s;--t-slow:.5s;--z-nav:10;--z-scrim:20;--z-drawer:30;--z-menu:40;--z-system:50;color-scheme:dark}:root[data-theme=light]{--bg:var(--silver);--surface:var(--silver);--ink:rgba(11,15,20,.9);--text-2:rgba(11,15,20,.8);--node-halo-core:rgba(61,242,224,.045);--node-halo-fade:rgba(61,242,224,.018);--muted:rgba(11,15,20,.7);--faint:rgba(11,15,20,.62);--hair:rgba(11,15,20,.11);--edge:rgba(11,15,20,.18);--edge-strong:rgba(11,15,20,.38);--tint1:rgba(11,15,20,.022);--tint2:rgba(11,15,20,.04);--tint3:rgba(11,15,20,.065);--card:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.2)),var(--silver);--card-solid:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)),var(--silver);--strong:var(--void);--inv:var(--void);--on-inv:var(--white);--accent-ink:var(--void);--learn-ink:var(--void);--focus:var(--void);--hero-accent:#1c5c59;--hero-line:var(--ink);--glass:rgba(221,227,234,.9);--scrim:rgba(11,15,20,.45);--shadow:rgba(11,15,20,.1);--spot:rgba(11,15,20,.03);--skip:rgba(11,15,20,.45);color-scheme:light}@supports (color:color-mix(in srgb,#3df2e0 34%,#0b0f14)){:root[data-theme=light]{--hero-accent:color-mix(in srgb,var(--cyan) 34%,var(--void))}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:var(--accent-ink)}button{font-family:inherit;cursor:pointer;color:inherit}a,button,summary,[role=button]{touch-action:manipulation}.skip{position:fixed;top:8px;inset-inline-start:8px;z-index:var(--z-system);padding:10px 16px;border-radius:999px;background:var(--inv);color:var(--on-inv);font-weight:700;text-decoration:none;transform:translateY(-200%);transition:transform var(--t-fast) var(--ease-out)}.skip:focus-visible{transform:none}main:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--cyan);color:var(--void)}.wrap{max-width:1180px;margin:0 auto;padding:16px 16px 96px}.topbar{display:flex;align-items:center;gap:16px;padding:14px 4px 22px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}.wm{display:inline-block;flex:none;line-height:0}.wm img{display:block;width:100%;height:auto}.wm .on-light,[data-theme=light] .wm .on-dark{display:none}[data-theme=light] .wm .on-light{display:block}.themebtn{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--edge);background:transparent;color:var(--ink);transition:border-color var(--t-fast),background var(--t-fast)}.themebtn:hover{border-color:var(--edge-strong);background:var(--tint2)}.themebtn svg{transition:transform var(--t-mid) var(--ease-out)}.themebtn:active svg{transform:rotate(-40deg) scale(.88)}.themebtn .to-dark,[data-theme=light] .themebtn .to-light{display:none}[data-theme=light] .themebtn .to-dark{display:block}.hero{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--hair);border-radius:20px;padding:36px 32px 34px}.hero:before{content:"";position:absolute;inset-block-start:-70px;inset-inline-end:-70px;width:340px;height:340px;background:url(/brand/node-cyan.webp) center/contain no-repeat;opacity:.08;pointer-events:none}.hero>*{position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);direction:ltr;margin-bottom:14px}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan)}.hero h1{font-family:var(--font-head);font-weight:700;font-size:clamp(32px,5.2vw,58px);margin:0;line-height:1.1;text-wrap:balance;letter-spacing:-.01em}.hero h1 bdi{color:var(--accent-ink)}.hero p{color:var(--muted);font-size:17px;margin:14px 0 0;max-width:62ch;line-height:1.8}.progress{background:var(--card);border:1px solid var(--hair);border-radius:16px;margin-top:14px;overflow:hidden}.segs{display:grid;grid-template-columns:repeat(4,1fr)}.ms{position:relative;background:transparent;border:0;border-inline-start:1px solid var(--hair);border-radius:0;min-height:76px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:14px 16px 16px;font-family:inherit;font-size:14px;color:var(--faint);text-align:start;transition:background .25s,color .25s}.ms:first-child{border-inline-start:0}.ms .lab2{display:flex;gap:7px;align-items:center;font-weight:700;color:var(--muted)}.ms .lab2 svg{color:var(--faint);transition:color .25s}.ms .p{font-family:var(--font-head);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;direction:ltr;color:var(--faint)}.ms .fill{position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease-out)}.ms:after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--tint2);z-index:0}.ms .fill{z-index:1}.ms.on{background:#3df2e012}.ms.on .lab2{color:var(--ink)}.ms.on .lab2 svg{color:var(--accent-ink)}.ms.on .p{color:var(--ink)}.ms.full{background:#3df2e021}.ms.full .lab2 svg,.ms.full .p{color:var(--accent-ink)}.ms:hover{background:#3df2e01a}.ms .avail{display:inline-flex;gap:4px;align-items:center;font-size:11.5px;font-weight:700;padding:1px 9px;border-radius:9px;background:var(--inv);color:var(--on-inv)}.ms .avail.ok{background:var(--cyan)}.stats{display:flex;gap:12px 28px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px;border-top:1px solid var(--hair);font-size:14px;font-variant-numeric:tabular-nums;color:var(--muted)}.overall{flex:1 1 260px;min-width:0}.ov-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px}.ov-head span:last-child{color:var(--ink);font-weight:600}.ov-bar{height:6px;border-radius:3px;background:var(--tint2);overflow:hidden}.ov-bar i{display:block;height:100%;background:var(--cyan);border-radius:3px;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease-out)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.chips li{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--hair);border-radius:999px;background:var(--tint2);white-space:nowrap}.chips b{color:var(--ink);font-weight:700}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.dot.skip{border:1px dashed var(--skip)}.dot.seen{background:var(--ink)}.map{position:relative;margin-top:30px;padding:10px 0 40px}.title-node{direction:ltr;text-align:center;font-family:var(--font-head);font-weight:700;font-size:30px;letter-spacing:-.01em;padding:18px 0 42px;position:relative;z-index:1}.row{display:grid;grid-template-columns:1fr 230px 1fr;gap:0 56px;align-items:center;margin-bottom:60px;position:relative;z-index:1}.side{display:flex;flex-direction:column;gap:14px}.side.start{align-items:flex-end}.side.end{align-items:flex-start}.node{font-family:var(--font-node);color:var(--ink);border:1px solid var(--edge);border-radius:12px;padding:13px 16px;font-size:15px;line-height:1.35;text-align:center;position:relative;transition:transform var(--t-fast) var(--ease-out),border-color var(--t-fast),background var(--t-fast);direction:ltr;background:var(--card-solid)}.node:hover{transform:translateY(-1px);border-color:var(--cyan)}.step{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--cyan);color:var(--void);font-family:var(--font-body);font-size:12.5px;font-weight:700;margin-inline-end:8px;vertical-align:middle;font-variant-numeric:tabular-nums}.node.sub .step{background:transparent;color:var(--text-2);border:1px solid var(--edge-strong);height:22px;font-size:12px}.node.main{background:linear-gradient(var(--tint3),var(--tint3)),var(--surface);border:1.5px solid var(--edge-strong);font-size:17px;font-weight:600;padding:18px 16px;width:100%}.node.main.alt{border-style:dashed}.node.sub{width:260px;font-weight:500}.node .days{display:block;font-family:var(--font-body);font-size:12.5px;color:var(--muted);font-weight:500;margin-top:6px;direction:rtl}.node .sicon{display:inline-flex;vertical-align:middle;margin-inline-end:6px;color:var(--accent-ink)}.badge{position:absolute;top:-10px;inset-inline-end:-10px;width:24px;height:24px;border-radius:50%;display:none;align-items:center;justify-content:center;color:var(--void);font-size:13px;font-family:var(--font-body);border:2px solid var(--bg)}.node[data-s=done]{background:linear-gradient(#3df2e024,#3df2e024),var(--surface);border-color:var(--cyan)}.node[data-s=done] .lbl,.node[data-s=skip] .lbl{text-decoration:line-through;text-decoration-color:var(--faint)}.node[data-s=done] .badge{display:flex;background:var(--cyan)}.node[data-s=learning]{background:linear-gradient(#4fc3f724,#4fc3f724),var(--surface);border-color:var(--ion);box-shadow:0 0 0 3px #4fc3f72e}.node[data-s=learning] .badge{display:flex;background:var(--ion)}.node[data-s=skip]{background:var(--surface);color:var(--faint);border-style:dashed;border-color:var(--edge)}.node[data-s=skip] .days{color:var(--faint)}.node[data-s=skip] .badge{display:flex;background:var(--silver)}.node.imp{border:2px solid var(--strong)}.impchip{position:absolute;bottom:-11px;inset-inline-start:10px;background:var(--inv);color:var(--on-inv);font-family:var(--font-body);font-size:11.5px;font-weight:700;padding:1px 9px;border-radius:9px;display:flex;gap:4px;align-items:center;direction:rtl}.node.next{outline:2px solid var(--cyan);outline-offset:4px;animation:pulse 1.8s ease-in-out infinite}.nexttag{position:absolute;top:-13px;inset-inline-start:10px;background:var(--cyan);color:var(--void);font-family:var(--font-body);font-size:12px;font-weight:700;padding:2px 10px;border-radius:10px;display:flex;gap:4px;align-items:center;direction:rtl;text-decoration:none}@keyframes pulse{50%{outline-color:#3df2e04d}}@media(prefers-reduced-motion:reduce){.node.next{animation:none}}.cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:linear-gradient(#3df2e014,#3df2e014),var(--surface);border:1px solid var(--cyan);border-radius:14px;padding:14px 18px;margin-top:14px}.cta .lab{font-size:14px;color:var(--accent-ink);font-weight:700;display:flex;gap:6px;align-items:center}.cta .what{font-family:var(--font-head);font-weight:600;font-size:18px;direction:ltr}.cta button{margin-inline-start:auto;background:var(--cyan);color:var(--void);border:0;border-radius:10px;padding:10px 18px;font-size:15px;font-weight:700;display:flex;gap:6px;align-items:center}.order{font-size:14px;color:var(--muted)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--t-mid) var(--ease-out);z-index:var(--z-scrim)}.scrim.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(580px,100%);background:var(--card-solid);border-inline-end:1px solid var(--edge);z-index:var(--z-drawer);transform:translate(105%);transition:transform .42s var(--ease-out);display:flex;flex-direction:column;box-shadow:0 0 60px var(--shadow)}[dir=rtl] .drawer{transform:translate(105%)}.drawer.open{transform:none}.dbar{display:flex;gap:6px;padding:14px 18px;border-bottom:1px solid var(--hair);flex-wrap:wrap;align-items:center}.sbtn svg,.close svg,.pl svg,.badge svg{flex:none}.sbtn{border:1px solid var(--edge);color:var(--ink);font-weight:500;background:transparent;border-radius:10px;padding:8px 13px;font-size:14.5px;display:flex;gap:6px;align-items:center}.sbtn:hover{border-color:var(--cyan)}.sbtn[aria-pressed=true][data-v=learning]{background:var(--ion);border-color:var(--ion);color:var(--void)}.sbtn[aria-pressed=true][data-v=done]{background:var(--cyan);border-color:var(--cyan);color:var(--void)}.sbtn[aria-pressed=true][data-v=skip]{background:var(--silver);border-color:var(--silver);color:var(--void)}.close{margin-inline-start:auto;border:0;background:none;font-size:26px;line-height:1;color:var(--muted);padding:4px 8px}.close:hover{color:var(--ink)}.dbody{overflow:auto;padding:24px 26px 44px}.dbody h2{font-family:var(--font-head);font-weight:700;font-size:32px;margin:0 0 4px;direction:ltr;text-align:right;text-wrap:balance;display:flex;gap:10px;align-items:center;justify-content:flex-end;letter-spacing:-.01em}.crumb{color:var(--muted);font-size:14px}.desc{font-size:16.5px;line-height:1.85;max-width:65ch;color:var(--text-2)}.box{border:1px solid var(--edge);border-radius:14px;padding:14px 16px;margin:16px 0;background:var(--tint2)}.box h3{margin:0 0 10px;font-size:15px;display:flex;justify-content:space-between;gap:8px;color:var(--ink);align-items:center}.box h3 span{display:flex;gap:6px;align-items:center}.box.opt{border-style:dashed;background:transparent}.box.opt summary{cursor:pointer;font-weight:700;font-size:15px}.vid{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--hair)}.vid:first-of-type{border-top:0}.vid input{width:18px;height:18px;accent-color:var(--cyan)}.vid .n{font-variant-numeric:tabular-nums;font-size:12px;color:var(--void);background:var(--cyan);border-radius:5px;padding:2px 6px;direction:ltr;font-weight:600}.box.opt .vid .n{background:var(--silver)}.vid a{direction:ltr;text-align:right;text-decoration:none;color:var(--ink);font-size:15px}.vid a:hover{color:var(--accent-ink);text-decoration:underline}.vid.seen a{color:var(--faint);text-decoration:line-through}.pl{display:inline-flex;gap:6px;align-items:center;font-size:14px;margin-top:6px}.empty{color:var(--muted);font-size:15px}.kbd{font-size:12px;color:var(--faint);margin-top:18px}.nut{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.nc{border:1px solid var(--edge);border-radius:12px;padding:13px;background:var(--tint1)}.nc h4{margin:0 0 6px;font-size:14.5px;display:flex;gap:6px;align-items:center}.nc p{margin:0;font-size:14.5px;line-height:1.8;color:var(--text-2)}.nc.imp{border-color:var(--strong);background:var(--tint2)}.nc.imp h4{color:var(--ink)}.nc.build{border-color:var(--cyan)}.nc.build h4{color:var(--accent-ink)}.brief{border:1px solid var(--edge);border-radius:12px;padding:13px 15px;background:var(--tint1);margin:14px 0}.brief h4{margin:0 0 8px;font-size:15px;display:flex;gap:6px;align-items:center}.brief p{margin:4px 0;font-size:15px;line-height:1.8;color:var(--text-2)}.brief .impline{color:var(--ink);font-weight:700;display:flex;gap:6px;align-items:flex-start}.facts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.facts span{display:inline-flex;gap:6px;align-items:center;background:var(--tint2);border:1px solid var(--hair);border-radius:20px;padding:5px 12px;font-size:14px;color:var(--text-2)}.keys{border:1px solid var(--edge);border-radius:14px;padding:13px 16px;margin:14px 0;background:var(--tint1)}.keys h4{margin:0 0 8px;display:flex;gap:6px;align-items:center;font-size:15px}.keys ul{margin:0;padding-inline-start:20px;display:grid;gap:6px;font-size:15.5px;line-height:1.7;color:var(--text-2)}.can{display:flex;gap:10px;align-items:flex-start;background:#3df2e014;border:1px solid var(--cyan);border-radius:14px;padding:13px 15px;margin:14px 0;font-size:15.5px;line-height:1.8;color:var(--ink)}.can svg{margin-top:4px;color:var(--accent-ink)}.qbtn{border:1px solid var(--edge);background:transparent;border-radius:10px;padding:6px 12px;font-size:14px;display:flex;gap:6px;align-items:center;font-family:inherit;color:var(--ink)}.qbtn:hover{border-color:var(--cyan)}.qbtn.has{background:var(--cyan);border-color:var(--cyan);color:var(--void);font-weight:700}.qbtn b{background:var(--void);color:var(--cyan);border-radius:10px;padding:0 7px;font-size:12.5px}.drawer.projmode .sbtn{display:none}.req{list-style:none;padding:0;margin:0;display:grid;gap:8px}.req li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;line-height:1.7;color:var(--text-2)}.req li svg{margin-top:4px;color:var(--accent-ink)}.lockmsg{display:flex;gap:8px;align-items:center;background:var(--tint1);border:1px dashed var(--edge-strong);border-radius:12px;padding:11px 14px;font-size:14.5px;margin:12px 0;color:var(--text-2)}textarea.code{width:100%;min-height:300px;direction:ltr;text-align:left;font-family:var(--font-code);font-size:13.5px;line-height:1.6;border:1px solid var(--edge);border-radius:12px;padding:12px;background:var(--surface);color:var(--text-2);resize:none;-moz-tab-size:4;tab-size:4}.prow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.pbtn{background:var(--cyan);color:var(--void);border:0;border-radius:10px;padding:10px 18px;font-size:15px;font-weight:700;display:flex;gap:6px;align-items:center}.pbtn:hover{background:var(--inv);color:var(--on-inv)}.pbtn[disabled]{opacity:.4;cursor:not-allowed}.pbtn.ghost{background:transparent;color:var(--ink);border:1px solid var(--edge-strong)}.pbtn.ghost:hover{border-color:var(--cyan);background:transparent}.pmsg{font-size:14px;color:var(--muted)}.pmsg.err{color:var(--ink);font-weight:700}.score{display:flex;gap:14px;align-items:center;border-radius:14px;padding:13px 18px;margin:14px 0}.score.ok{background:var(--cyan);color:var(--void)}.score.no{background:var(--inv);color:var(--on-inv)}.score b{font-family:var(--font-head);font-size:32px;font-variant-numeric:tabular-nums;direction:ltr}.score span{font-size:15px;font-weight:700}.codeview{direction:ltr;text-align:left;border:1px solid var(--edge);border-radius:12px;overflow:auto;max-height:420px;background:var(--surface);color:var(--text-2);font-family:var(--font-code);font-size:13px;line-height:1.6}.cl{display:grid;grid-template-columns:44px 1fr;white-space:pre}.cl .ln{color:var(--faint);text-align:right;padding-right:10px;-webkit-user-select:none;user-select:none}.cl.bad{background:var(--tint3);box-shadow:inset 3px 0 0 var(--strong)}.cl.bad .ln{color:var(--ink);font-weight:700}.cl.warn{background:#4fc3f724;box-shadow:inset 3px 0 0 var(--ion)}.cl .note{grid-column:2;white-space:normal;direction:rtl;text-align:right;color:var(--text-2);font-family:var(--font-body);font-size:12.5px;padding:2px 8px 6px}.issues{display:grid;gap:8px;margin:12px 0}.iss{border:1px solid var(--strong);border-radius:12px;padding:11px 13px;background:var(--tint2);cursor:pointer;text-align:start;font-family:inherit;width:100%}.iss.warn{border-color:var(--ion)}.iss h5{margin:0 0 4px;font-size:14.5px;display:flex;gap:6px;align-items:center;color:var(--ink)}.iss.warn h5{color:var(--learn-ink)}.iss p{margin:2px 0;font-size:14px;line-height:1.7;color:var(--text-2)}.iss .ln2{font-family:var(--font-code);direction:ltr;background:var(--cyan);color:var(--void);border-radius:5px;padding:0 6px;font-size:12px}.miss li{color:var(--ink);font-weight:500}.good li{color:var(--accent-ink)}bdi[dir=ltr]{unicode-bidi:isolate}@media(max-width:900px){.row{grid-template-columns:1fr minmax(112px,34%) 1fr;gap:0 clamp(14px,4.5vw,44px);margin-bottom:44px}.side.start,.side.end{align-items:stretch;gap:14px}.node{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:46px;padding:10px 8px;font-size:clamp(11.5px,3.1vw,14px);line-height:1.3;overflow-wrap:anywhere}.node.sub{width:100%}.node.main{font-size:clamp(12.5px,3.4vw,16px);padding:14px 8px}.node .step{min-width:18px;height:18px;padding:0 5px;font-size:11.5px;margin:0 4px 0 0}.node.sub .step{height:18px;font-size:11.5px}.node .sicon{display:none}.node .days{font-size:11.5px;margin-top:3px}.badge{width:20px;height:20px;top:-8px;inset-inline-end:-6px}.impchip{font-size:11.5px;padding:0 7px;inset-inline-start:6px}.nexttag{font-size:11.5px;padding:1px 8px;inset-inline-start:6px;top:-11px}.title-node{font-size:22px;padding:10px 0 30px}}@media(max-width:520px){.nut{grid-template-columns:1fr}}.node:active,.sbtn:active,.pbtn:active,.qbtn:active,.cta button:active,.themebtn:active{transform:scale(.97)}.sbtn,.pbtn,.qbtn,.cta button{transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease-out)}@media(min-width:1101px){.wrap.roadmap-page{max-width:1280px;padding:10px 20px calc(48px + env(safe-area-inset-bottom))}.wrap.roadmap-page>.topbar{padding-block:9px 14px}.wrap.roadmap-page>.hero{padding:28px 26px;border-radius:18px}.wrap.roadmap-page>.hero h1{font-size:clamp(32px,4.4vw,50px)}.wrap.roadmap-page>.hero p{font-size:16px;line-height:1.75}.wrap.roadmap-page>.progress{margin-top:10px}.wrap.roadmap-page .ms{min-height:64px;padding:9px 12px 10px}.wrap.roadmap-page .ms .p{font-size:18px}.wrap.roadmap-page .stats{gap:8px 20px;padding:12px}.wrap.roadmap-page .map{margin-top:22px;padding:7px 0 28px}.wrap.roadmap-page .title-node{font-size:27px;padding:15px 0 30px}.wrap.roadmap-page .row{gap:0 42px;margin-bottom:44px}.wrap.roadmap-page .side{gap:10px}.wrap.roadmap-page .node{min-height:46px;padding:11px 12px;font-size:14.5px}.wrap.roadmap-page .node.main{padding:14px 12px;font-size:16px}.wrap.roadmap-page .node.sub{width:244px}.wrap.roadmap-page .cta{gap:10px;padding:11px 14px;margin-top:10px;border-radius:12px}.wrap.roadmap-page .cta .what{font-size:17px}}.grab{display:none}svg.wires{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}svg.wires>*{animation:vt-show .6s var(--ease-out) both}.vlink{background:none;border:0;padding:0;font:inherit;font-size:15px;color:var(--ink);text-align:start;direction:ltr;cursor:pointer}.vlink:hover{color:var(--accent-ink);text-decoration:underline}.field-label{display:block;font-weight:700;margin:14px 0 6px}a.pbtn{text-decoration:none;display:inline-flex}.lockmsg.pending{border-color:var(--ion);color:var(--learn-ink);background:#4fc3f714}.lockmsg.failed{border-color:var(--strong);color:var(--ink);background:var(--tint2)}ol.req{list-style:none;padding:0;margin:0}.editor-wrap{direction:ltr}.editor{display:flex;height:380px;min-height:220px;resize:none;overflow:hidden;border:1px solid var(--edge);border-radius:12px;background:var(--surface)}.editor:focus-within{border-color:var(--cyan)}.editor.disabled{opacity:.6}.editor .gutter{margin:0;padding:12px 8px 12px 10px;min-width:46px;text-align:right;overflow:hidden;color:var(--faint);-webkit-user-select:none;user-select:none;font-family:var(--font-code);font-size:13.5px;line-height:1.6;border-right:1px solid var(--hair);background:var(--tint1)}.editor textarea.code{flex:1;min-width:0;height:100%;min-height:0;border:0;border-radius:0;margin:0;resize:none;white-space:pre;overflow:auto;outline-offset:-3px;background:transparent}.counter{font-size:12px;color:var(--faint);margin-top:4px;text-align:left}.auth{max-width:520px}.authbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px}.auth .back{display:inline-flex;gap:6px;align-items:center;min-height:44px;color:var(--text-2);font-weight:500;text-decoration:none}.auth .back:hover{color:var(--accent-ink)}.auth-card{background:var(--card);border:1px solid var(--hair);border-radius:20px;padding:28px;display:grid;gap:10px}.auth-card h1{margin:0;font-family:var(--font-head);font-size:28px}.auth-card .muted{margin:0 0 6px;color:var(--muted);font-size:15px;line-height:1.8}.auth-card label{font-weight:700;font-size:14.5px;margin-top:4px}.auth-card input{font:inherit;font-size:16px;padding:13px 12px;min-height:48px;border:1px solid var(--edge);border-radius:10px;background:var(--surface);color:var(--ink);width:100%}.auth-card input:focus{border-color:var(--cyan);outline:none}.auth-card .pbtn{justify-content:center;margin-top:8px;min-height:48px}.auth-card .pmsg.ok{color:var(--accent-ink);font-weight:700}.auth-card form{display:grid;gap:10px}.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:12px;border:1px solid var(--edge-strong);background:var(--white);color:var(--void);font:inherit;font-size:15.5px;font-weight:700;cursor:pointer;transition:background .2s}:root[data-theme=light] .gbtn{background:var(--card-solid)}.gbtn:hover:not(:disabled){background:var(--silver)}.gbtn:disabled{opacity:.6;cursor:default}.or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13px;margin:6px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--hair)}.pw{position:relative}.pw input{padding-inline-end:48px}.eye{position:absolute;inset-block:0;inset-inline-end:0;width:48px;border:0;background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer}.eye:hover{color:var(--ink)}.hint{margin:0;font-size:13px;color:var(--faint);line-height:1.7}.fatal{min-height:100dvh;display:grid;place-items:center;padding:24px}.fatal-card{background:var(--card);border:1px solid var(--edge);border-radius:20px;padding:34px 28px;max-width:440px;text-align:center;display:grid;gap:10px;justify-items:center}.fatal-card svg{color:var(--accent-ink)}.fatal-card h1{margin:0;font-family:var(--font-head);font-size:24px}.fatal-card p{margin:0;color:var(--muted);line-height:1.8}.node:focus-visible,.ms:focus-visible{outline-color:var(--cyan);box-shadow:0 0 0 5px var(--bg)}.drawer:focus{outline:none}@media(max-width:640px){html[dir=rtl] .drawer,.drawer{top:auto;bottom:0;inset-inline-start:0;inset-inline-end:0;width:100%;height:94dvh;max-height:94dvh;border-radius:20px 20px 0 0;transform:translateY(105%);border-inline-end:0;border-top:1px solid var(--edge)}html[dir=rtl] .drawer.open,.drawer.open{transform:none}.grab{display:block;width:44px;height:5px;border-radius:3px;background:var(--edge-strong);margin:8px auto 0}.dhead{touch-action:none;flex:none}.dbar{border-bottom:1px solid var(--hair)}.dbody{overscroll-behavior:contain;padding-bottom:calc(40px + env(safe-area-inset-bottom))}.dbar{padding:10px 14px}.dbody{padding:16px 16px 40px}.dbody h2{font-size:26px}.editor{height:300px}}@media(max-width:440px){.dbar{gap:5px;flex-wrap:nowrap}.sbtn{flex:1 1 0;min-width:0;justify-content:center;padding:8px 4px;font-size:13px;white-space:nowrap}.sbtn svg{display:none}.close{margin-inline-start:0;flex:none;padding:4px}}@media(max-width:640px){.wrap{padding:8px 16px 60px}.topbar{padding-bottom:16px}.hero{padding:24px 18px 26px;border-radius:16px}.ms{min-height:84px;padding:12px 8px 14px;align-items:center;text-align:center;gap:4px}.ms .lab2{flex-direction:column;gap:4px;font-size:12px}.ms .p{font-size:16px}.ms .avail{font-size:11.5px;padding:0 6px}}.drawer[inert]{visibility:hidden}.brand,.qbtn,.cta button,.sbtn,.pbtn{min-height:44px}.close{min-width:44px;min-height:44px;display:grid;place-items:center}.wrap{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.drawer{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:440px){.close{padding:0}}.vid a,.vlink{display:block;padding-block:10px}.topbar>.pill:first-of-type{margin-inline-start:auto}.topbar{gap:8px}@media(min-width:1101px){.authbar{margin:6px 0 12px}.auth-card{gap:7px;padding:22px;border-radius:18px}.auth-card h1{font-size:25px}.auth-card form{gap:7px}}.acct{position:relative}.avatar{width:44px;height:44px;border-radius:50%;border:1px solid var(--edge-strong);background:var(--tint2);color:var(--ink);font:inherit;font-family:var(--font-head);font-weight:700;font-size:16px;cursor:pointer;transition:border-color .2s,background .2s}.avatar:hover,.avatar[aria-expanded=true]{border-color:var(--cyan);background:#3df2e01a}.acct-menu{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:var(--z-menu);min-width:220px;max-width:min(300px,calc(100vw - 32px));padding:8px;border-radius:16px;border:1px solid var(--edge);background:var(--card-solid);box-shadow:0 18px 40px var(--shadow);display:grid;gap:4px}.acct-menu .email{padding:10px 12px;font-size:13.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-menu button{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:15px;cursor:pointer;text-align:start}.acct-menu button:hover{background:var(--tint2);color:var(--accent-ink)}::view-transition-old(root){animation:vt-out var(--t-fast) var(--ease-io) both}::view-transition-new(root){animation:vt-in var(--t-mid) var(--ease-out) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}html.theme-vt::view-transition-old(root),html.theme-vt::view-transition-new(root){animation:none;mix-blend-mode:normal}html.theme-vt::view-transition-old(root){animation:vt-out .4s var(--ease-io) both}html.theme-vt::view-transition-new(root){animation:vt-fade .4s var(--ease-io) both}@keyframes vt-fade{0%{opacity:0}}.pageload{position:fixed;inset-inline:0;top:0;height:2px;overflow:hidden;opacity:0;animation:vt-show .2s .3s forwards;z-index:var(--z-system)}.pageload i{display:block;height:100%;width:40%;background:var(--cyan);animation:pl-run 1.1s var(--ease-io) infinite}@keyframes vt-show{to{opacity:1}}@keyframes pl-run{0%{transform:translate(160%)}to{transform:translate(-260%)}}@media(prefers-reduced-motion:reduce){.pageload{opacity:1;animation:none}.pageload i{width:40%;transform:none;animation:none}::view-transition-new(root){animation:vt-in-fade var(--t-mid) var(--ease-out) both}}@keyframes vt-in-fade{0%{opacity:0}}h1,h2,h3,.dbody h2,.cta .what{text-wrap:balance}.hero p,.auth-card .muted,.desc,.dbody p,.hint{text-wrap:pretty}.cta .what,.cta .order{min-width:0;overflow-wrap:anywhere}.dbody{overflow-wrap:anywhere}.node .lbl{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:anywhere}.auth-card .authlink{color:var(--accent-ink);font-size:14px;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}.auth-card .authlink:hover{text-decoration:underline}.auth-card .authlink.end{justify-self:start}.auth-card .authalt{margin:6px 0 0;text-align:center;color:var(--muted);font-size:14.5px}.auth-card .authalt a{color:var(--accent-ink);font-weight:700}.auth-card .opt{color:var(--faint);font-weight:400;font-size:13px}.auth-card>.pbtn{justify-content:center;min-height:48px;margin-top:6px}
