:root{--blue:#006CC5;--teal:#00CAB2;--brand:#00a498;--brand-ink:#008b7f;--grad:linear-gradient(115deg,#006CC5 0%,#0092c0 48%,#00CAB2 100%);--ink:#2b3138;--ink-2:#555b61;--ink-3:#8a9099;--hair:#e3e8ee;--hair-strong:#cdd6e0;--surface:#ffffff;--wash:#f4fbfa;--wash-2:#f6f9fc;--band-slate:#2c3e50;--band-plum:#342644;--band-teal:#31bfa3;--band-blue:#0863ac;--slate:var(--band-slate);--red:#cb3535;--sandy:#FDE3A7;--ok:#68c3a6;--s-haskell:#7C4DDB;--s-ruby:#CE3A3A;--s-js:#C79200;--s-ts:#2F74C0;--s-elm:#8A93A6;--cat-tech:#2b3138;--cat-company:#006CC5;--cat-covid:#cb3535;--cat-biz:#00a498;--font-ui:"Lato",system-ui,-apple-system,sans-serif;--font-head:"Ubuntu",var(--font-ui);--font-mono:"JetBrains Mono",ui-monospace,monospace;--radius:6px;--pill:26px;--mk-maxw:1160px}.mkt{background:var(--surface);color:var(--ink);font-family:var(--font-ui);line-height:1.62;-webkit-font-smoothing:antialiased}.mkt a{text-decoration:none}.mkt img{max-width:100%;display:block}.mkt h1,.mkt h2,.mkt h3,.mkt h4{font-family:var(--font-head);font-weight:700;line-height:1.2;color:var(--ink)}.mkt .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mkt .wrap{max-width:var(--mk-maxw);margin:0 auto;padding:0 28px}.mkt section.block{padding:64px 0}.mkt section.block.wash{background:var(--wash)}.mkt section.block.wash-2{background:var(--wash-2)}.mkt section.block.slate{background:var(--band-slate)}.mkt section.block.plum{background:var(--band-plum)}.mkt section.block.teal{background:var(--band-teal)}.mkt section.block.blue{background:var(--band-blue)}.mkt section.block.slate,.mkt section.block.plum,.mkt section.block.teal,.mkt section.block.blue{color:#fff}.mkt section.block.slate h2,.mkt section.block.plum h2,.mkt section.block.teal h2,.mkt section.block.blue h2{color:#fff}.mkt section.block.slate .sub,.mkt section.block.plum .sub,.mkt section.block.teal .sub,.mkt section.block.blue .sub{color:#fffc}.mkt section.block.slate .rule,.mkt section.block.plum .rule{background:var(--teal)}.mkt .htitle{text-align:center}.mkt section.block h2{font-size:clamp(26px,3.2vw,36px);font-weight:700}.mkt section.block .sub{text-align:center;color:var(--ink-2);font-size:17px;max-width:60ch;margin:12px auto 0}.mkt .rule{width:56px;height:3px;background:var(--brand);border-radius:2px;margin:16px auto 40px}.mkt .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:500;font-size:15px;padding:12px 26px;border-radius:var(--pill);transition:all .15s;cursor:pointer;border:2px solid transparent}.mkt .btn.p{background:var(--brand);color:#fff}.mkt .btn.p:hover{background:var(--brand-ink)}.mkt .btn.ghost-light{background:#fff;color:var(--brand)}.mkt .btn.ghost-light:hover{background:#eefbf9}.mkt .btn.outline{border-color:var(--brand);color:var(--brand)}.mkt .btn.outline:hover{background:var(--brand);color:#fff}.mkt .btn.on-dark{border-color:#fff5;color:#fff}.mkt .btn.on-dark:hover{border-color:#fff;background:#ffffff1a}.mkt .nav{position:absolute;top:0;left:0;right:0;z-index:40}.mkt .nav-in{display:flex;align-items:center;justify-content:space-between;height:88px}.mkt .brandwrap{display:flex;align-items:center;gap:12px}.mkt .brandwrap .word{font-family:var(--font-head);font-weight:700;font-size:26px;color:#fff;letter-spacing:-.01em}.mkt .brandwrap .eng{font-family:var(--font-mono);font-size:13px;color:#fffc;border-left:1px solid #ffffff44;padding-left:12px}.mkt .nav-links{display:flex;gap:26px;font-family:var(--font-head);font-size:14px;color:#fffd}.mkt .nav-links a:hover{color:#fff}.mkt .nav-cta{font-family:var(--font-head);font-weight:500;font-size:14px;background:#fff;color:var(--brand);padding:9px 20px;border-radius:var(--pill)}.mkt .nav-cta:hover{background:#eefbf9}.mkt .hero{background:var(--grad);color:#fff;padding:118px 0 52px;position:relative;overflow:hidden}.mkt .hero-split{display:grid;grid-template-columns:1.04fr 1fr;gap:52px;align-items:center}.mkt .hero h1{color:#fff;font-family:var(--font-head);font-weight:700;font-size:clamp(32px,4.4vw,54px);line-height:1.1;letter-spacing:-.02em;max-width:24ch}.mkt .hero h1 .soft{color:#eafffb;font-style:italic;font-weight:700}.mkt .hero h1 .hl-mission{font-weight:400;color:#eafffb}.mkt .hero h1 .hl-easy{font-weight:400;color:#d6f4ee}.mkt .hero h1 .hl-hard{font-weight:700;font-style:italic;color:#fff}.mkt .hero .sub{color:#f2fbffe6;font-size:18px;line-height:1.55;max-width:760px;margin-top:22px}.mkt .hero .sub .u{border-bottom:1px solid #ffffff55;padding-bottom:1px}.mkt .hero .acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.mkt .hero .acts a{font-family:var(--font-head);font-weight:500;font-size:15px;padding:13px 28px;border-radius:var(--pill);transition:all .15s}.mkt .hero .acts a.solid{background:#fff;color:var(--brand);box-shadow:0 6px 20px #001e322e}.mkt .hero .acts a.solid:hover{color:var(--brand-ink)}.mkt .hero .acts a.ghost{border:1.5px solid #ffffff66;color:#fff}.mkt .hero .acts a.ghost:hover{border-color:#fff}.mkt .langbar{margin-top:36px;max-width:760px}.mkt .langbar .howhard{font-family:var(--font-head);font-weight:700;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;color:#fff;margin-bottom:16px}.mkt .langbar .bar{display:flex;height:16px;border-radius:8px;overflow:hidden;background:#ffffff26;box-shadow:0 3px 12px #001e3238}.mkt .langbar .seg{height:100%;box-shadow:inset -2px 0 #14283c47}.mkt .langbar .seg:last-child{box-shadow:none}.mkt .langbar .legend{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:15px}.mkt .langbar .legend .item{display:flex;align-items:center;gap:7px;font-size:14px}.mkt .langbar .legend .dot{width:11px;height:11px;border-radius:3px}.mkt .langbar .legend .nm{color:#eafffbdd}.mkt .langbar .legend .k{font-family:var(--font-mono);color:#fff;font-weight:500;font-variant-numeric:tabular-nums}.mkt .langbar .extra{font-family:var(--font-mono);font-size:12.5px;color:#eafffbcc;margin-top:14px}.mkt .langbar .foot{font-family:var(--font-mono);font-size:12px;line-height:1.55;color:#eafffbaa;margin-top:12px}@media(max-width:1000px){.mkt .hero-split{grid-template-columns:1fr;gap:34px}.mkt .hero h1{max-width:26ch}}.mkt .card{background:#fff;border:1px solid var(--hair);border-radius:10px;padding:26px;box-shadow:0 2px 10px -6px #003c6e2e}.mkt .card.feat{border-top:3px solid var(--brand)}.mkt .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mkt .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mkt .card h3{font-size:19px;margin-bottom:9px}.mkt .card p{color:var(--ink-2);font-size:15px}.mkt .badge{font-family:var(--font-head);font-size:11px;font-weight:500;padding:3px 11px;border-radius:var(--pill)}.mkt .badge.ok{background:#68c3a622;color:#2e9c7d}.mkt .badge.pending{background:#f0a5000f;color:#b07d15}.mkt .hirenote{background:var(--slate);color:#fff;padding:84px 0}.mkt .hirenote .hn-grid{display:grid;grid-template-columns:360px 1fr;grid-template-areas:"head body" "sign body";-moz-column-gap:64px;column-gap:64px;align-items:start}.mkt .hirenote .hn-head{grid-area:head}.mkt .hirenote .hn-body{grid-area:body}.mkt .hirenote .hn-sign{grid-area:sign;margin-top:30px}.mkt .hirenote .k{font-family:var(--font-mono);font-size:12px;color:#2fe0cb;text-transform:uppercase;letter-spacing:.06em}.mkt .hirenote h2{font-family:var(--font-head);font-weight:700;font-size:clamp(26px,3vw,34px);line-height:1.16;color:#fff;margin-top:14px;letter-spacing:-.01em}.mkt .hirenote .hn-body p{font-size:17px;color:#ffffffc4;line-height:1.75;margin-bottom:18px;max-width:64ch}.mkt .hirenote .hn-body p:last-child{margin-bottom:0}.mkt .hirenote .hn-body p b{color:#fff}.mkt .hirenote .sign{font-family:var(--font-head);font-style:italic;font-weight:500;font-size:22px;color:#fff}.mkt .hirenote .role{font-family:var(--font-mono);font-size:12px;color:#ffffff8c;margin-top:5px}.mkt .hirenote .cta{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-head);font-weight:500;font-size:15px;background:#fff;color:var(--slate);border-radius:var(--pill,30px);padding:12px 26px;text-decoration:none;transition:filter .15s;margin-top:22px}.mkt .hirenote .cta:hover{filter:brightness(.94)}@media(max-width:820px){.mkt .hirenote .hn-grid{grid-template-columns:1fr;grid-template-areas:"head" "body" "sign";-moz-column-gap:0;column-gap:0}.mkt .hirenote .hn-body{margin-top:20px}.mkt .hirenote .hn-sign{margin-top:26px}}.mkt .slate{background:var(--slate);color:#fff;text-align:center}.mkt .slate-in{padding:70px 0}.mkt .slate h2{color:#fff;font-size:clamp(26px,3.4vw,40px)}.mkt .slate p{color:#fffc;font-size:17px;max-width:56ch;margin:16px auto 26px}.mkt .slate .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.mkt .mfoot{background:#20303f;color:#fff9;padding:26px 0;font-family:var(--font-ui);font-size:13px}.mkt .mfoot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.mkt .mfoot a{color:#fffc}.mkt .mfoot a:hover{color:#fff}.mkt .module{display:block;margin-top:8px;text-align:left}.mkt .graphcol{max-width:900px;margin:0 auto 26px;background:#fff;border:1px solid var(--hair);border-radius:10px;padding:18px 18px 14px;box-shadow:0 2px 12px -6px #003c6e2e}.mkt .graphcol .lg{display:flex;gap:18px;font-size:14px;color:var(--ink-2);margin-bottom:10px;flex-wrap:wrap}.mkt .graphcol .lg .sw{width:20px;height:4px;display:inline-block;margin-right:7px;vertical-align:middle;border-radius:2px}.mkt #chart{width:100%;display:block}.mkt #chart text{font-family:var(--font-mono)}.mkt .datanote{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);margin-top:6px}.mkt .journey{-moz-column-count:2;column-count:2;-moz-column-gap:34px;column-gap:34px}.mkt .evt{display:block;-moz-column-break-inside:avoid;break-inside:avoid;background:var(--wash);border:1px solid var(--hair);border-radius:10px;padding:13px 15px;margin-bottom:11px;transition:box-shadow .12s,border-color .12s}.mkt .evt:hover,.mkt .evt.active{box-shadow:0 6px 18px -8px #003c6e40;border-color:var(--dotc,var(--brand))}.mkt .evt .ehead{margin-bottom:5px;line-height:1.4}.mkt .evt .ehead .d{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin-right:7px;vertical-align:middle}.mkt .evt .ehead .yr{font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--ink-3);margin-right:8px}.mkt .evt .ehead .h{font-family:var(--font-head);font-weight:500;font-size:15.5px;color:var(--ink)}.mkt .evt p{color:var(--ink-2);font-size:14px;margin-top:3px;line-height:1.5}.mkt .evt .evtlink{display:inline-block;margin-top:8px;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--brand);text-decoration:none}.mkt .evt .evtlink:hover{text-decoration:underline}.mkt .evt p a{color:var(--brand);font-weight:500;text-decoration:none}.mkt .evt p a:hover{text-decoration:underline}.mkt .evt.biz{opacity:.6}.mkt .evt.biz .h:after{content:" · placeholder";color:var(--brand);font-family:var(--font-mono);font-size:9px;font-weight:400}.mkt .philo{margin:36px auto 0;max-width:70ch;text-align:center;background:var(--wash-2);border-radius:12px;padding:34px 40px}.mkt .philo p{font-family:var(--font-head);font-size:clamp(19px,2.4vw,25px);font-weight:500;line-height:1.34;color:var(--ink)}.mkt .philo p b{color:var(--brand)}.mkt .philo .by{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);margin-top:14px}.mkt .ai-arc{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:36px 0 8px;position:relative}.mkt .ai-arc:before{content:"";position:absolute;top:34px;left:9%;right:9%;height:2px;background:linear-gradient(90deg,var(--hair-strong,#cdd6e0),#00CAB2)}.mkt .ai-arc .s{position:relative;text-align:center;padding:0 18px}.mkt .ai-arc .bub{width:64px;height:64px;border-radius:50%;background:#fff;border:2px solid var(--hair-strong,#cdd6e0);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--ink-3);position:relative;z-index:1}.mkt .ai-arc .s.now .bub{border-color:transparent;background:var(--grad);color:#fff}.mkt .ai-arc h4{font-family:var(--font-head);font-weight:700;font-size:17px;color:var(--ink)}.mkt .ai-arc p{font-size:13.5px;color:var(--ink-2);margin-top:7px;line-height:1.5}.mkt .ai-fns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;text-align:left}.mkt .ai-fns .fn{border:1px solid var(--hair);border-radius:14px;padding:22px;background:#fff}.mkt .ai-fns .fn.meta{background:linear-gradient(135deg,#006cc50a,#00cab214)}.mkt .ai-fns .k{font-family:var(--font-mono);font-size:11px;color:var(--brand);text-transform:uppercase;letter-spacing:.05em}.mkt .ai-fns h4{font-family:var(--font-head);font-weight:700;font-size:16px;margin:9px 0 10px;color:var(--ink)}.mkt .ai-fns ul{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}.mkt .ai-fns li{font-size:13px;color:var(--ink-2);padding-left:14px;position:relative}.mkt .ai-fns li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:#00cab2}.mkt .ai-meta{margin-top:26px;background:#fff;border-left:3px solid var(--brand);border-radius:0 10px 10px 0;padding:18px 22px;font-size:14.5px;color:var(--ink-2);line-height:1.55;text-align:left}.mkt .ai-meta b{color:var(--ink);font-family:var(--font-head);font-weight:500}.mkt .libs{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:left}.mkt .lib{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.mkt .lib .ic{width:120px;height:auto;margin:0 0 10px}.mkt .lib .pkg{font-family:var(--font-mono);font-weight:700;font-size:16px;color:var(--ink)}.mkt .lib .st{font-family:var(--font-mono);font-size:11px;margin-top:5px}.mkt .lib .st.on{color:#2e9c7d}.mkt .lib .st.pre{color:#b07d15}.mkt .lib .d{font-size:14px;color:var(--ink-2);line-height:1.5;margin:10px 0 16px}.mkt .lib .go{font-family:var(--font-head);font-weight:500;font-size:13.5px;color:var(--brand);text-decoration:none;transition:color .15s}.mkt .lib .go:hover{text-decoration:underline}.mkt .lib .golinks{display:flex;flex-wrap:wrap;gap:20px;margin-top:auto}.mkt .lib .st.coming{color:var(--ink-3)}.mkt .lib.coming{opacity:.62}.mkt .orgline{text-align:center;margin-top:36px;font-family:var(--font-mono);font-size:13px;color:var(--ink-3)}.mkt .orgline a{color:var(--brand);border-bottom:1px solid var(--brand)}.mkt .pcard .soon-tag{display:inline-block;margin-top:14px;font-family:var(--font-mono);font-size:11px;color:#b07d15;border:1px dashed #d9b768;padding:4px 11px;border-radius:var(--pill)}.mkt .pcard a.m{font-family:var(--font-mono);font-size:13px;color:var(--brand);margin-top:16px;display:inline-block;border-bottom:1px solid var(--brand)}.mkt .tbold{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mkt .bt{position:relative;border-radius:16px;padding:26px;overflow:hidden;text-decoration:none;min-height:236px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .15s,box-shadow .15s}.mkt .bt:hover{transform:translateY(-3px);box-shadow:0 22px 50px -22px #00284680}.mkt .bt.feat{grid-column:span 2;min-height:300px}.mkt .bt.dark{background:#141d27;color:#fff}.mkt .bt.grad{background:linear-gradient(135deg,#006cc5,#00cab2);color:#fff}.mkt .bt.lite{background:#fff;border:1px solid var(--hair);color:var(--ink)}.mkt .bt .yr{position:absolute;top:-16px;right:10px;font-family:var(--font-head);font-weight:700;font-size:88px;line-height:1;letter-spacing:-.05em;pointer-events:none;color:#ffffff14}.mkt .bt.lite .yr{color:#00cab218}.mkt .bt.feat .yr{font-size:128px;top:-24px}.mkt .bt .cover{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}.mkt .bt .cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#061a2852,#061a28b8 58%,#061a28f0)}.mkt .bt .meta{position:relative;z-index:1;font-family:var(--font-mono);font-size:11px;opacity:.85;margin-bottom:9px}.mkt .bt .h{position:relative;z-index:1;font-family:var(--font-head);font-weight:800;font-size:26px;line-height:1.04;letter-spacing:-.03em}.mkt .bt.feat .h{font-size:46px;max-width:15ch}.mkt .bt .pl{position:absolute;z-index:1;top:24px;left:26px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.mkt .bt.dark .pl,.mkt .bt.lite .pl{background:linear-gradient(135deg,#006cc5,#00cab2)}.mkt .bt.grad .pl{background:#fff}.mkt .bt .pl:after{content:"";border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}.mkt .bt.grad .pl:after{border-left-color:#006cc5}@media(max-width:900px){.mkt .grid-3,.mkt .grid-2{grid-template-columns:1fr}.mkt .nav-links{display:none}.mkt .hero{padding:120px 0 64px}.mkt .ai-fns,.mkt .ai-arc{grid-template-columns:1fr}.mkt .graphcol{max-width:100%}.mkt .journey{display:flex;flex-flow:column wrap;align-content:flex-start;-moz-column-count:auto;column-count:auto;height:74vh;gap:14px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;margin:0 -28px 0 0;padding:0}.mkt .journey .evt{width:85vw;margin-bottom:0;scroll-snap-align:start}.mkt .ai-arc:before{display:none}.mkt .libs{grid-template-columns:repeat(2,1fr)}.mkt .tbold{grid-template-columns:1fr}.mkt .bt.feat{grid-column:auto}.mkt .bt.feat .h{font-size:34px}}
