:root{--ground:#E6EEEE;--shell:#F4F8F8;--card:#FFFFFF;--sunk:#EAF0F0;--line:#DCE6E6;--hair:#C6D6D6;--ink:#0A2129;--ink-2:#43626A;--ink-3:#7E989E;--brand:#0A4E5C;--brand-2:#0E7C8A;--signal:#DA5A16;--t1:#D5E7E9;--t2:#DBEADC;--t3:#F6EAC4;--t4:#FADFC7;--t5:#F0D8CE;--t6:#DFE1F3;--s1:#1E6E7A;--s2:#4F9E6E;--s3:#C3BE5C;--s4:#D98F3D;--s5:#9E5433;--shadow:0 2px 3px rgba(10,33,41,.04), 0 12px 28px rgba(10,33,41,.07);--shadow-lg:0 4px 8px rgba(10,33,41,.05), 0 28px 64px rgba(10,33,41,.12);--font-ar:"IBM Plex Sans Arabic","Segoe UI",system-ui,sans-serif;--font-en:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--r-xl:30px;--r-lg:24px;--r-md:18px;--r-data:12px;--r-pill:999px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#02161B;--shell:#06222A;--card:#0B2F39;--sunk:#082832;--line:#12414D;--hair:#1A5866;--ink:#E8F2F2;--ink-2:#A9C4C9;--ink-3:#77949B;--brand:#4FC3D2;--brand-2:#2EA5B5;--signal:#FF8446;--t1:#123B44;--t2:#14372C;--t3:#3B3620;--t4:#3F2F1E;--t5:#392A22;--t6:#222544;--shadow:0 2px 3px rgba(0,0,0,.2), 0 12px 28px rgba(0,0,0,.3);--shadow-lg:0 4px 8px rgba(0,0,0,.25), 0 28px 64px rgba(0,0,0,.45)}}:root[data-theme=dark]{--ground:#02161B;--shell:#06222A;--card:#0B2F39;--sunk:#082832;--line:#12414D;--hair:#1A5866;--ink:#E8F2F2;--ink-2:#A9C4C9;--ink-3:#77949B;--brand:#4FC3D2;--brand-2:#2EA5B5;--signal:#FF8446;--t1:#123B44;--t2:#14372C;--t3:#3B3620;--t4:#3F2F1E;--t5:#392A22;--t6:#222544;--shadow:0 2px 3px rgba(0,0,0,.2), 0 12px 28px rgba(0,0,0,.3);--shadow-lg:0 4px 8px rgba(0,0,0,.25), 0 28px 64px rgba(0,0,0,.45)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:var(--font-ar);color:var(--ink);background:var(--ground);line-height:1.7}h1,h2,h3,h4{margin:0;line-height:1.24;font-weight:600;text-wrap:balance}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2.5px solid var(--signal);outline-offset:3px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.shell{container-name:app;container-type:inline-size;background:var(--shell);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden;min-height:640px;--card-min:236px;--pil-min:200px;--padx:30px;--pady:34px;--r-card:20px;--thumb:16/9;--h1max:3.1rem;--h2max:1.72rem;--navh:72px;--cardpad:13px 15px 14px;--gap:15px;--wide-min:260px;--cardgap:6px;--h3:.97rem;--gobtn:32px;--goicon:13px;--footpad:9px;--tilepad:17px;--tilegap:9px;--tileic:36px;--pilmin:126px;--wide2:230px}.shell[data-d=compact]{--card-min:194px;--pil-min:172px;--padx:24px;--pady:26px;--r-card:16px;--thumb:16/8;--h1max:2.5rem;--h2max:1.42rem;--navh:62px;--cardpad:10px 12px 11px;--gap:12px;--wide-min:230px;--cardgap:4px;--h3:.89rem;--gobtn:28px;--goicon:11px;--footpad:7px;--tilepad:14px;--tilegap:7px;--tileic:31px;--pilmin:108px;--wide2:205px}.wrap{padding-inline:var(--padx)}.sp{padding-block:var(--pady)}.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--shell) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-in{display:flex;align-items:center;gap:8px;min-height:var(--navh);padding-inline:var(--padx)}.logo{display:flex;align-items:center;gap:9px;flex:none}.logo svg{width:34px;height:34px;color:var(--ink)}.logo .peak{fill:var(--signal)}.logo b{font-family:var(--font-en);font-weight:700;font-size:1.16rem;letter-spacing:-.025em;direction:ltr}.menu{display:flex;gap:2px;margin-inline-start:14px;position:relative}.mi{border:0;background:transparent;color:var(--ink-2);padding:9px 14px;border-radius:var(--r-pill);font-size:.93rem;display:flex;align-items:center;gap:6px}.mi:hover{background:var(--sunk);color:var(--ink)}.mi[aria-current=page]{background:var(--ink);color:var(--shell);font-weight:500}.mi .car{width:9px;height:9px;opacity:.6}.drop{position:absolute;top:calc(100% + 10px);inset-inline-start:0;min-width:260px;background:var(--card);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:9px;z-index:50}.drop a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:14px}.drop a:hover{background:var(--sunk)}.drop .dt{width:36px;height:36px;border-radius:12px;flex:none;display:grid;place-items:center}.drop .dt svg{width:17px;height:17px;color:var(--ink)}.drop b{display:block;font-size:.93rem;font-weight:600}.drop span{font-size:.77rem;color:var(--ink-3);font-family:var(--font-mono)}.nav-r{margin-inline-start:auto;display:flex;align-items:center;gap:9px}.icb{width:42px;height:42px;border-radius:var(--r-pill);border:0;background:var(--card);color:var(--ink-2);display:grid;place-items:center;box-shadow:var(--shadow);flex:none}.icb svg{width:18px;height:18px}.lang{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-3);background:var(--card);border-radius:var(--r-pill);padding:9px 14px;box-shadow:var(--shadow);display:flex;gap:7px}.lang i{font-style:normal}.lang i.on{color:var(--ink);font-weight:600}.cta{border:0;background:var(--signal);color:#fff;border-radius:var(--r-pill);padding:12px 21px;font-size:.92rem;font-weight:600;white-space:nowrap}.cta:hover{filter:brightness(1.07)}.burger{display:none}.sec-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}.sec-h h2{font-size:clamp(1.18rem,2.4cqw,var(--h2max));letter-spacing:-.018em;font-weight:700}.sec-h .cnt{color:var(--ink-3);font-size:1.1rem;font-weight:500}.sec-h .all{margin-inline-start:auto;font-size:.86rem;color:var(--brand-2);font-weight:500}.go{width:40px;height:40px;border-radius:var(--r-pill);border:0;background:var(--card);display:grid;place-items:center;color:var(--ink);flex:none;box-shadow:0 2px 6px #0a21291a;transition:transform .15s}.go:hover{transform:scale(1.09)}.go svg{width:15px;height:15px}.prod .go,.course .go{width:var(--gobtn);height:var(--gobtn);box-shadow:none;background:var(--sunk)}.prod .go svg,.course .go svg{width:var(--goicon);height:var(--goicon)}.go.sm{width:33px;height:33px}.go.sm svg{width:12px;height:12px}.tag{display:inline-flex;align-items:center;gap:5px;border-radius:var(--r-pill);padding:5px 12px;font-size:.75rem;background:var(--sunk);color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.02em;line-height:1.5;white-space:nowrap}.tag svg{width:12px;height:12px;flex:none}.tag.free{background:var(--s2);color:#fff;font-family:var(--font-ar);font-weight:500}.tag.paid{background:var(--signal);color:#fff;font-family:var(--font-ar);font-weight:500}.tag.new{background:var(--ink);color:var(--shell);font-family:var(--font-ar);font-weight:500}.rate{display:inline-flex;align-items:center;gap:5px;background:var(--card);border-radius:var(--r-pill);padding:5px 11px;font-size:.78rem;font-weight:600;font-family:var(--font-mono);box-shadow:0 2px 5px #0a212914}.rate svg{width:12px;height:12px;min-width:12px;flex:none;color:#e8a93c}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{border:0;background:var(--card);color:var(--ink-2);border-radius:var(--r-pill);padding:9px 17px;font-size:.87rem;box-shadow:var(--shadow);white-space:nowrap}.pill[aria-pressed=true]{background:var(--ink);color:var(--shell)}.hero{padding-block:26px 18px}.hero h1{font-size:clamp(1.55rem,3.3cqw,2.4rem);letter-spacing:-.032em;font-weight:700;max-width:36ch;text-wrap:balance}.hero .sub{margin-top:8px;font-size:clamp(.93rem,1.35cqw,1.01rem);color:var(--ink-2);max-width:86ch}.hero-row{margin-top:16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.hstrip{margin-top:14px;display:flex;align-items:center;gap:13px;flex-wrap:wrap;background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);padding:8px 12px}.hstrip .th{width:84px;height:47px;border-radius:9px;overflow:hidden;flex:none;position:relative}.hstrip .th>svg{width:100%;height:100%;display:block}.hstrip .th .lg{position:absolute;inset-inline-end:4px;bottom:4px;display:flex;border-radius:2px;overflow:hidden}.hstrip .th .lg i{display:block;width:9px;height:5px}.hstrip .info{flex:1;min-width:172px;display:flex;flex-direction:column;gap:1px}.hstrip .info .r1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hstrip .info b{font-size:.88rem;font-weight:600;line-height:1.4}.hstrip .info span{font-family:var(--font-mono);font-size:.65rem;color:var(--ink-3)}.hstrip .nums{display:flex}.hstrip .nums div{padding:1px 15px;border-inline-start:1px solid var(--line);text-align:center}.hstrip .nums div:first-child{border-inline-start:0}.hstrip .nums b{display:block;font-family:var(--font-mono);font-size:1.04rem;font-weight:600;color:var(--brand-2);line-height:1.25}.hstrip .nums span{font-size:.69rem;color:var(--ink-3)}.hstrip .go{width:var(--gobtn);height:var(--gobtn);box-shadow:none;background:var(--sunk)}.hstrip .go svg{width:var(--goicon);height:var(--goicon)}.bigsearch{margin-top:0;flex:1 1 300px;max-width:560px;display:flex;align-items:center;gap:13px;background:var(--card);border-radius:var(--r-pill);padding:16px 24px;box-shadow:var(--shadow)}.bigsearch svg{width:21px;height:21px;color:var(--ink-3);flex:none}.bigsearch input{border:0;background:transparent;outline:0;font:inherit;font-size:1rem;color:var(--ink);width:100%}.bigsearch input::placeholder{color:var(--ink-3)}.bigsearch .k{font-family:var(--font-mono);font-size:.64rem;color:var(--ink-3);border:1px solid var(--line);border-radius:7px;padding:3px 8px;flex:none}.sugg{margin-top:0;display:flex;gap:7px;flex-wrap:wrap;align-items:center}.sugg span{font-size:.79rem;color:var(--ink-3)}.sugg a{font-size:.8rem;background:var(--sunk);border-radius:var(--r-pill);padding:5px 13px;color:var(--ink-2)}.pillars{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(var(--pil-min),1fr))}.pil{border-radius:var(--r-card);padding:var(--tilepad);display:flex;flex-direction:column;gap:var(--tilegap);border:0;text-align:start;color:var(--ink);position:relative;transition:transform .16s;min-height:var(--pilmin)}.pil:hover{transform:translateY(-4px)}.pil .ico{width:var(--tileic);height:var(--tileic);border-radius:var(--r-pill);background:#fff9;display:grid;place-items:center}.pil .ico svg{width:18px;height:18px;color:var(--ink)}.pil .n{font-size:1.02rem;font-weight:600;line-height:1.35}.pil .d{font-size:.82rem;color:var(--ink-2);line-height:1.55;margin-top:-3px}.pil .b{margin-top:auto;padding-top:var(--footpad);display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.pil .c{font-family:var(--font-mono);font-size:.74rem;color:var(--ink-2)}.grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(var(--card-min),1fr))}.grid.stretch{grid-template-columns:repeat(auto-fit,minmax(var(--wide2),1fr))}.prod{border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .16s}.prod:hover{transform:translateY(-4px)}.prod .thumb{position:relative;aspect-ratio:var(--thumb)}.prod .thumb>svg{display:block;width:100%;height:100%}.prod .badges{position:absolute;top:10px;inset-inline-end:10px;display:flex;gap:5px;align-items:center}.prod .body{padding:var(--cardpad);display:flex;flex-direction:column;gap:var(--cardgap);flex:1}.prod h3{font-size:var(--h3);line-height:1.38;font-weight:600}.prod .en{font-family:var(--font-en);font-size:.72rem;color:var(--ink-3);direction:ltr;margin-top:-2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prod .fmt{display:flex;gap:5px;flex-wrap:wrap}.prod .fmt span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.04em;background:var(--sunk);color:var(--ink-3);padding:2px 7px;border-radius:var(--r-pill)}.prod .foot{margin-top:auto;padding-top:var(--footpad);display:flex;align-items:center;justify-content:space-between;gap:10px}.price{font-family:var(--font-mono);font-size:1rem;font-weight:600;direction:ltr}.price small{font-size:.68rem;color:var(--ink-3);font-weight:400}.price.f{color:var(--s2)}.tool{border-radius:var(--r-card);padding:var(--tilepad);display:flex;flex-direction:column;gap:var(--tilegap);position:relative;color:var(--ink)}.tool .ic{width:var(--tileic);height:var(--tileic);border-radius:11px;background:#ffffff9e;display:grid;place-items:center;font-family:var(--font-mono);font-size:.64rem;font-weight:600}.tool h3{font-size:var(--h3);line-height:1.38}.tool p{font-size:.83rem;color:var(--ink-2);line-height:1.55;margin-top:-2px}.tool .b{margin-top:auto;padding-top:var(--footpad);display:flex;justify-content:space-between;align-items:center;gap:10px}.tool .go{width:var(--gobtn);height:var(--gobtn);box-shadow:none;background:#ffffff8c}.tool .go svg{width:var(--goicon);height:var(--goicon)}.course{border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.course .cv{aspect-ratio:16/6.5;position:relative;display:grid;place-items:center}.course .cv .lv{position:absolute;top:12px;inset-inline-start:12px}.course .cv .dur{position:absolute;bottom:12px;inset-inline-end:12px;background:#0a2129b8;color:#eaf4f4;border-radius:var(--r-pill);padding:5px 12px;font-family:var(--font-mono);font-size:.68rem}.course .cb{padding:var(--cardpad);display:flex;flex-direction:column;gap:7px;flex:1}.course h3{font-size:1rem;line-height:1.38}.course .meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-3)}.course .foot{margin-top:auto;padding-top:var(--footpad);display:flex;align-items:center;justify-content:space-between;gap:10px}.bar{height:8px;border-radius:var(--r-pill);background:var(--sunk);overflow:hidden}.bar i{display:block;height:100%;border-radius:var(--r-pill);background:var(--ink)}.books{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(var(--pil-min),1fr))}.book{border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow);padding:var(--tilepad);display:flex;gap:13px;align-items:flex-start}.book .cov{width:64px;height:88px;border-radius:8px;flex:none;position:relative;display:grid;place-items:center;overflow:hidden;box-shadow:inset -7px 0 12px #00000024}.book .cov span{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.1em;color:var(--ink);opacity:.75;transform:rotate(-90deg);white-space:nowrap}.book .bd{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.book h3{font-size:.95rem;line-height:1.42}.book .au{font-size:.78rem;color:var(--ink-3)}.book .rw{font-size:.82rem;color:var(--ink-2);line-height:1.6}.plist{display:flex;flex-direction:column;gap:2px}.prow{display:flex;gap:18px;padding:17px;border-radius:var(--r-md);align-items:flex-start}.prow:hover{background:var(--card)}.prow .dt{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-3);flex:none;width:6.4em;padding-top:.4em;direction:ltr;text-align:start}.prow .pb{flex:1;min-width:0}.prow h3{font-size:1.02rem;line-height:1.45}.prow p{font-size:.88rem;color:var(--ink-2);margin-top:5px;line-height:1.65}.prow .tg{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.rt{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-3)}.band{border-radius:var(--r-lg);padding:30px;display:grid;gap:22px;grid-template-columns:1fr auto;align-items:center}.band h2{font-size:clamp(1.25rem,2.6cqw,1.8rem);letter-spacing:-.02em}.band p{margin-top:11px;color:var(--ink-2);max-width:56ch;font-size:.97rem;line-height:1.75}.band .acts{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:var(--r-pill);padding:14px 24px;font-size:.95rem;font-weight:600;white-space:nowrap}.btn svg{width:17px;height:17px}.btn-p{background:var(--signal);color:#fff}.btn-d{background:var(--ink);color:var(--shell)}.btn-w{background:var(--card);color:var(--ink)}.btn-g{background:transparent;border-color:var(--hair);color:var(--ink)}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.crumb{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-3)}.crumb i{font-style:normal;color:var(--hair)}.pd{display:grid;gap:20px;grid-template-columns:1fr 340px;align-items:start;margin-top:20px}.pd-main{min-width:0;display:flex;flex-direction:column;gap:16px}.viewer{border-radius:var(--r-lg);overflow:hidden;background:var(--card);box-shadow:var(--shadow);position:relative}.viewer .canvas{position:relative;aspect-ratio:16/9.4}.viewer .canvas>svg{display:block;width:100%;height:100%}.vbadge{position:absolute;top:14px;inset-inline-end:14px;background:#0a2129b8;color:#eaf4f4;border-radius:var(--r-pill);padding:7px 14px;font-family:var(--font-mono);font-size:.67rem;letter-spacing:.08em;display:flex;align-items:center;gap:7px}.vbadge b{width:6px;height:6px;border-radius:50%;background:var(--signal)}.block{border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow);padding:21px}.block h3{font-size:1.06rem;margin-bottom:12px}.block p{color:var(--ink-2);font-size:.96rem;line-height:1.8}.meta{border:1px solid var(--hair);border-radius:var(--r-data);overflow:hidden;background:var(--sunk)}.meta-h{padding:9px 14px;border-bottom:1px solid var(--hair);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:flex;justify-content:space-between;gap:8px}.meta-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.meta-g div{padding:11px 14px;border-inline-start:1px solid var(--hair);border-top:1px solid var(--hair)}.meta-g .k{font-family:var(--font-mono);font-size:.59rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:3px}.meta-g .v{font-family:var(--font-mono);font-size:.83rem;direction:ltr;text-align:start;display:block}.meta-g .v.ar{font-family:var(--font-ar);font-size:.89rem;direction:rtl}.buy{position:sticky;top:92px;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow);padding:21px;display:flex;flex-direction:column;gap:14px}.buy .pr{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.buy .pr b{font-family:var(--font-mono);font-size:2rem;font-weight:600;line-height:1;direction:ltr}.buy .pr s{color:var(--ink-3);font-family:var(--font-mono);font-size:.97rem}.fld label{font-family:var(--font-mono);font-size:.61rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:6px}.sel{width:100%;border:1px solid var(--hair);border-radius:var(--r-data);background:var(--sunk);color:var(--ink);padding:12px 14px;font:inherit;font-size:.93rem;outline:0}.btn.wide{width:100%;padding:15px 20px}.btn-wa{background:var(--t2);color:var(--ink)}.secure{display:flex;gap:9px;align-items:flex-start;font-size:.79rem;color:var(--ink-3);line-height:1.6}.secure svg{width:15px;height:15px;flex:none;margin-top:.2em;color:var(--s2)}.pay{display:flex;gap:7px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.pay span{font-family:var(--font-mono);font-size:.63rem;color:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:4px 8px}.ovl{position:fixed;inset:0;background:#06222a94;z-index:80;display:grid;place-items:center;padding:18px}.ovl[hidden]{display:none!important}.modal{width:min(452px,100%);max-height:86%;overflow:auto;background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-lg)}.m-hd{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:2}.m-hd h3{font-size:1.04rem;flex:1}.m-x{width:32px;height:32px;border-radius:var(--r-pill);border:0;background:var(--sunk);color:var(--ink);font-size:1.1rem;line-height:1;flex:none}.m-bd{padding:17px 18px 19px;display:flex;flex-direction:column;gap:14px}.m-ref{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:var(--ink-3)}.m-ref b{color:var(--ink)}.m-sum{border:1px solid var(--hair);border-radius:var(--r-data);background:var(--sunk);overflow:hidden}.m-sum .row{display:flex;justify-content:space-between;gap:12px;padding:9px 13px;border-bottom:1px solid var(--hair);font-size:.87rem}.m-sum .row:last-child{border-bottom:0;background:var(--card)}.m-sum .row .k{color:var(--ink-3)}.m-sum .row b{font-family:var(--font-mono);direction:ltr}.m-lab{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;display:block}.pays{display:flex;gap:7px;flex-wrap:wrap}.payb{border:1px solid var(--hair);background:transparent;color:var(--ink-2);border-radius:var(--r-pill);padding:9px 15px;font-size:.85rem}.payb[aria-pressed=true]{background:var(--ink);color:var(--card);border-color:var(--ink)}.m-note{border-radius:var(--r-data);background:var(--t1);padding:11px 13px;font-size:.85rem;line-height:1.62;color:var(--ink)}.m-note b{display:block;margin-bottom:3px}.m-steps{display:flex;flex-direction:column;gap:7px}.m-steps li{display:flex;gap:9px;font-size:.83rem;color:var(--ink-2);line-height:1.55}.m-steps li b{font-family:var(--font-mono);color:var(--brand-2);flex:none}.m-fine{font-size:.77rem;color:var(--ink-3);line-height:1.6}.ft{background:var(--card);border-top:1px solid var(--line);padding:38px var(--padx) 28px}.ft-g{display:grid;gap:26px;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}.ft h4{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:12px}.ft li{margin-bottom:8px}.ft li a{font-size:.88rem;color:var(--ink-2)}.ft li a:hover{color:var(--brand-2)}.ft-b{margin-top:30px;padding-top:17px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-3)}@container app (max-width:1080px){.pd{grid-template-columns:1fr}.buy{position:static}.ft-g{grid-template-columns:1fr 1fr 1fr}.band{grid-template-columns:1fr}}@container app (max-width:860px){.menu{display:none}.burger{display:grid;width:42px;height:42px;border-radius:var(--r-pill);border:0;background:var(--card);box-shadow:var(--shadow);place-items:center;color:var(--ink)}.burger svg{width:18px;height:18px}.nav-r .lang{display:none}}@container app (max-width:640px){.wrap,.nav-in,.ft{padding-inline:18px}.sp{padding-block:26px}.hero{padding-block:28px 20px}.nav-r .cta{padding:10px 15px;font-size:.85rem}.ft-g{grid-template-columns:1fr 1fr}.prow{flex-direction:column;gap:6px;padding:14px 12px}.prow .dt{width:auto}.book{flex-direction:row}}.art-hd{padding-block:6px 0}.art-body{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:40px;align-items:start;padding-block:26px}.prose{max-width:68ch;min-width:0;font-size:var(--rd-size,1.06rem);line-height:var(--rd-line,1.95)}.prose>*+*{margin-top:1.15em}.prose p{color:var(--ink);line-height:inherit}.prose .intro{font-size:1.1em;color:var(--ink-2);line-height:1.85}.prose h2{font-size:1.32em;margin-top:2em;letter-spacing:-.01em;scroll-margin-top:90px}.prose h3{font-size:1.1em;margin-top:1.6em}.prose ul,.prose ol{padding-inline-start:1.3em;display:flex;flex-direction:column;gap:.5em}.prose li{color:var(--ink-2)}.prose li::marker{color:var(--ink-3)}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--brand-2);text-decoration:underline;text-underline-offset:3px}.prose blockquote{margin:0;border-inline-start:3px solid var(--signal);background:var(--card);border-radius:var(--r-data);padding:14px 18px;color:var(--ink-2)}.prose blockquote p{color:inherit}.prose img{max-width:100%;height:auto;border-radius:var(--r-data)}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--sunk);padding:2px 6px;border-radius:5px;direction:ltr;unicode-bidi:embed}.codewrap{position:relative;margin-block:1.4em;max-width:100%}.codetools{position:absolute;top:9px;inset-inline-end:9px;z-index:3;display:flex;gap:6px}.codebtn{border:1px solid #1B5460;background:#0c3039;color:#9fc2c8;border-radius:var(--r-pill);padding:5px 12px;font-family:var(--font-ar);font-size:.72rem;display:inline-flex;align-items:center;gap:6px;line-height:1;white-space:nowrap}.codebtn:hover{background:#12414d;color:#eaf4f4}.codebtn svg{width:13px;height:13px;flex:none}.codebtn.done{background:#2e7d5b;border-color:#2e7d5b;color:#fff}.codewrap pre{padding-top:42px!important}.codewrap[data-long=true] pre{max-height:26em;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#1B5460 transparent}.codewrap[data-long=true] pre::-webkit-scrollbar{width:9px}.codewrap[data-long=true] pre::-webkit-scrollbar-thumb{background:#1b5460;border-radius:9px}.codewrap[data-long=true][data-expanded=true] pre{max-height:none}.codewrap[data-long=true]:after{content:"";position:absolute;inset-inline:1px;bottom:1px;height:54px;pointer-events:none;border-radius:0 0 var(--r-data) var(--r-data);background:linear-gradient(to top,#06222a 12%,#06222a00)}.codewrap[data-expanded=true]:after{display:none}.codelines{position:absolute;bottom:10px;inset-inline-start:12px;z-index:3;font-family:var(--font-mono);font-size:.66rem;color:#5f8a92;pointer-events:none}@container app (max-width:640px){.codewrap[data-long=true] pre{max-height:20em}}.prose pre{margin:0;background:#06222a;color:#cfe3e6;border-radius:var(--r-data);padding:15px 16px;overflow-x:auto;direction:ltr;text-align:start;font-family:var(--font-mono);font-size:.84rem;line-height:1.8;border:1px solid #0E3B46;max-width:100%}.prose pre code{background:none;padding:0;font-size:inherit;color:inherit}.prose table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;background:var(--card);border-radius:var(--r-data);font-size:.92em;white-space:nowrap}.prose th,.prose td{text-align:start;padding:10px 14px;border-bottom:1px solid var(--line)}.prose th{background:var(--sunk);color:var(--ink-3);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500}.prose tr:last-child td{border-bottom:0}.prose hr{border:0;border-top:1px solid var(--line);margin-block:2em}.toc{position:sticky;top:90px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);padding:17px;min-width:0}.toc h4{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:11px}.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;counter-reset:t}.toc li{counter-increment:t;font-size:.84rem;line-height:1.5;color:var(--ink-2);display:flex;gap:8px}.toc li:before{content:counter(t,decimal-leading-zero);font-family:var(--font-mono);font-size:.66rem;color:var(--ink-3);padding-top:.15em;flex:none}.toc a{text-decoration:none}.toc li:hover{color:var(--brand-2)}.fig{margin-block:2em;margin-inline:0;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);overflow:hidden;max-width:100%}@container app (max-width:700px){.fig{margin-inline:calc(-1 * var(--padx));max-width:calc(100% + var(--padx) * 2);border-radius:0;border-inline:0}}@container app (min-width:900px){.fig{margin-inline:-52px;max-width:calc(100% + 104px)}}.fig svg{display:block;width:100%;height:auto;direction:ltr}.fig figcaption{padding:11px 15px;border-top:1px solid var(--line);font-size:.83rem;color:var(--ink-2);line-height:1.6;background:var(--sunk)}.fig figcaption b{color:var(--ink)}.rdbar{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;margin-top:18px;padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);width:fit-content;max-width:100%;overflow-x:auto}.rdbar::-webkit-scrollbar{display:none}.rdbar .lbl{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);flex:none}.rdbtn{border:0;background:var(--sunk);color:var(--ink);border-radius:var(--r-pill);width:32px;height:32px;display:grid;place-items:center;font-size:1rem;flex:none;line-height:1}.rdbtn:hover:not(:disabled){background:var(--line)}.rdbtn:disabled{opacity:.35;cursor:default}.rdbtn.wide{width:auto;min-width:56px;padding:0 12px;font-size:.78rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.rdbtn[aria-pressed=true]{background:var(--ink);color:var(--card)}.rdsep{width:1px;height:20px;background:var(--line);flex:none}@container app (max-width:520px){.rdbar .lbl{display:none}.rdbar{gap:6px;padding:7px 9px}}.themeb{width:42px;height:42px;border-radius:var(--r-pill);border:0;background:var(--card);color:var(--ink-2);display:grid;place-items:center;box-shadow:var(--shadow);flex:none}.themeb svg{width:18px;height:18px}.themeb:hover{color:var(--ink)}@container app (max-width:900px){.art-body{grid-template-columns:minmax(0,1fr);gap:20px}.toc{position:static;order:-1}.toc ol{display:grid;grid-template-columns:1fr 1fr;gap:9px}}@container app (max-width:640px){.toc ol{grid-template-columns:1fr}.prose{font-size:var(--rd-size,1.02rem)}.prose table{font-size:.86em}}
