.portfolio-backdrop{z-index:0;pointer-events:none;contain:paint;background:#10151f;position:fixed;inset:0;overflow:hidden}.backdrop-layer,.backdrop-fallback,.backdrop-art,.backdrop-tint,.backdrop-legibility{position:absolute;inset:0}.backdrop-layer{opacity:0;transition:opacity .55s cubic-bezier(.22,1,.36,1)}.backdrop-layer.is-active{opacity:1}.backdrop-art{object-fit:cover;width:100%;height:100%}.backdrop-art[hidden]{display:none}.backdrop-jade .backdrop-art{object-position:50% 50%}.backdrop-jade .backdrop-fallback{background:radial-gradient(at 86% 20%,#53664e,#0000 53%),linear-gradient(135deg,#12291f,#31553b 55%,#11241b)}.backdrop-jade .backdrop-tint{background:linear-gradient(90deg,#06120d47,#0000 65%)}.backdrop-legibility{background:linear-gradient(#090c12e0 0%,#090c1299 18%,#090c1229 42%,#090c1238 58%,#090c12bf 82%,#090c12f0 100%);transition:opacity .55s cubic-bezier(.22,1,.36,1)}@media (width<=700px){.backdrop-jade .backdrop-art{object-position:57% 50%}.backdrop-legibility{background:linear-gradient(#090c12e6,#090c1299 22%,#090c123d 45%,#090c12d9 85%,#090c12f5)}}@media (prefers-reduced-motion:reduce){.backdrop-layer,.backdrop-legibility{transition:none}}.backdrop-writemark .backdrop-art{object-position:48% 50%}.backdrop-writemark .backdrop-fallback{background:linear-gradient(128deg,#172341 20%,#42458d 65%,#24385e)}.backdrop-writemark .backdrop-tint{background:linear-gradient(90deg,#0a112b59,#0000 65%)}.backdrop-learning .backdrop-art{object-position:58% 48%}.backdrop-learning .backdrop-fallback{background:linear-gradient(125deg,#101e30 20%,#22386a 70%,#344b8b)}.backdrop-learning .backdrop-tint{background:linear-gradient(100deg,#09162761,#0000 65%)}.el-pipeline{color:#1d2741;background:#fcfcff;border-radius:10px;width:100%;margin:0;overflow:hidden;box-shadow:16px 30px 55px #030e255c}.el-pipeline-heading{border-bottom:1px solid #e1e5f1;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:9px 21px;display:flex}.el-pipeline-heading>strong{font-size:13px;font-weight:600}.el-pipeline-heading button{color:#3e527b;background:0 0;border:0;align-items:center;gap:7px;min-height:36px;padding:8px 0 8px 9px;font-size:10px;display:flex}.el-pipeline-heading button:hover{color:#0000cb}.el-pipeline-heading button:focus-visible{outline-offset:3px;outline:2px solid #0000cb}.el-flow-diagram{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:20px 22px;display:grid}.el-flow-step{min-width:0;position:relative}.el-flow-step--3{grid-area:2/2}.el-flow-step--4{grid-area:2/1}.el-flow-step--5{grid-area:3/1}.el-flow-step--6{grid-area:3/2}.el-flow-node{height:100%;animation:el-flow-pulse 1.1s ease-out var(--flow-delay,0s);background:#f7f9ff;border:1px solid #cdd5e6;border-radius:5px;flex-direction:column;align-items:flex-start;gap:5px;padding:11px 14px;display:flex}.el-flow-number{color:#607099;font-family:Geist Mono Variable,monospace;font-size:8px}.el-flow-node strong{font-size:13px;font-weight:550;line-height:1.3}.el-flow-node small{color:#596b8c;font-size:10px;line-height:1.45}.el-flow-output{color:#263c7f;font-size:11px;line-height:1.4}.el-flow-edge{z-index:1;color:#8295c4;animation:el-edge-pulse 1.1s ease-out var(--flow-delay,0s);background:currentColor;position:absolute}.el-flow-edge:after{content:"";border-top:1px solid;border-right:1px solid;width:5px;height:5px;position:absolute}.el-flow-edge--right{width:24px;height:1px;top:50%;right:-24px}.el-flow-edge--right:after{top:-2px;right:1px;transform:rotate(45deg)}.el-flow-edge--left{width:24px;height:1px;top:50%;left:-24px}.el-flow-edge--left:after{top:-2px;left:1px;transform:rotate(-135deg)}.el-flow-edge--down{width:1px;height:24px;bottom:-24px;left:50%}.el-flow-edge--down:after{bottom:1px;left:-2px;transform:rotate(135deg)}.el-flow-footer{color:#596b8c;border-top:1px solid #e1e5f1;justify-content:space-between;align-items:center;gap:16px;padding:12px 21px;font-size:9px;line-height:1.5;display:flex}.el-flow-footer>span:first-child{white-space:nowrap}.el-flow-footer>span:last-child{text-align:right}@keyframes el-flow-pulse{0%,to{box-shadow:none}35%{box-shadow:0 0 0 3px #8fa7f4,0 0 20px #2f4cdb1f}}@keyframes el-edge-pulse{0%,to{color:#8295c4}35%{color:#354fd4}}@media (width<=767px){.el-pipeline-heading{min-height:44px;padding:5px 13px}.el-pipeline-heading>strong{font-size:11px}.el-pipeline-heading button{min-height:36px;font-size:9px}.el-flow-diagram{gap:18px;padding:13px}.el-flow-node{gap:4px;padding:9px}.el-flow-number{font-size:7px}.el-flow-node strong{font-size:11px}.el-flow-node small{font-size:8px}.el-flow-output{font-size:9px}.el-flow-edge--right{width:18px;right:-18px}.el-flow-edge--left{width:18px;left:-18px}.el-flow-edge--down{height:18px;bottom:-18px}.el-flow-footer{gap:12px;padding:10px 13px;font-size:8px}}@media (prefers-reduced-motion:reduce){.el-flow-node,.el-flow-edge{animation:none}}.portfolio[data-project=elastik-learning] .showcase-stage{height:clamp(720px,100dvh - 80px,1000px)}.portfolio[data-project=elastik-learning] .case-heading+.showcase-stage{height:clamp(781px,100dvh - 19px,1061px)}.portfolio[data-project=elastik-learning] .real-project-details{background:linear-gradient(#0000,#0c182af0 180px,#0c182a)}.portfolio[data-project=elastik-learning] .build-kicker,.portfolio[data-project=elastik-learning] .feature-number,.portfolio[data-project=elastik-learning] .engineering-source{color:#b8c9fa}.portfolio[data-project=elastik-learning] .runtime-boundaries{border-color:#6789b957}.portfolio[data-project=elastik-learning] .runtime-boundaries li:before{background:#a7beff}.portfolio[data-project=elastik-learning] .runtime-boundaries span{color:#bac7db}.portfolio[data-project=elastik-learning] .engineering-details article{border-color:#7892b740}.el-showcase{color:#eef2ff;width:100%;height:100%;padding:18px max(48px,50% - 720px) 0}.el-board{grid-template-columns:.85fr 1.45fr;align-items:center;gap:6%;width:100%;height:100%;max-height:790px;margin-inline:auto;padding:20px 0 74px;display:grid;position:relative}.el-editorial{grid-template-rows:auto 1fr;min-width:0;height:100%;display:grid}.el-brand{letter-spacing:-.025em;align-items:center;gap:15px;font-size:22px;display:flex}.el-brand img{filter:brightness(0)invert();width:139px;height:auto}.el-editorial-copy{align-self:center;padding-bottom:32px}.el-editorial-copy h3{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(33px,3.8vw,57px);font-weight:450;line-height:1.1}.el-editorial-copy p{color:#c2cfe3;max-width:29ch;margin-top:25px;font-size:13px;line-height:1.85}.el-story{color:#b8cbef;align-items:center;gap:14px;margin-top:38px;font-size:11px;display:flex}.el-story svg{width:18px}.el-preview{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;container:el-view/size}.el-capture-composition{justify-content:flex-end;align-items:center;width:100%;height:100%;min-height:0;padding-bottom:26px;display:flex;position:relative}.el-capture{background:#172334;border-radius:11px;flex-direction:column;width:min(95%,96cqh);margin:0;display:flex;overflow:hidden;box-shadow:16px 30px 55px #030e255c}.el-capture img{width:100%;height:auto;display:block}.el-capture figcaption{color:#c4ccdb;background:#172334;order:-1;padding:11px 17px;font-size:10px}.el-capture-fallback{color:#cbd5ec;place-content:center;justify-items:center;gap:12px;min-height:290px;font-size:13px;display:grid}.el-subject-note{color:#181863;background:#e5e5ff;border-radius:9px;width:250px;padding:19px 22px 9px;position:absolute;bottom:1%;left:-45px;transform:rotate(-5deg);box-shadow:10px 20px 35px #060f2b40}.el-subject-note>span{font-size:10px}.el-subject-note strong{letter-spacing:-.025em;margin-top:12px;font-size:29px;font-weight:500;display:block}.el-subject-note svg{fill:#00f;width:100%;margin-top:7px;display:block}.el-note-axis{fill:none;stroke:#6d6d98}.el-note-hop{fill:none;stroke:#00f;stroke-width:1.8px}.el-preview-controls{border-top:1px solid #9bb3e247;gap:5px;padding-top:14px;display:flex;position:absolute;bottom:0;left:0;right:0}.el-preview-controls button{color:#cbd7f2;background:0 0;border:1px solid #0000;border-radius:3px;min-height:44px;padding:10px 19px;font-size:11px}.el-preview-controls button[aria-pressed=true]{color:#f2f4ff;background:#1428499c;border-color:#a1b7f1}.el-preview-controls button:hover{background:#1e345dd4}.el-showcase button:focus-visible{outline-offset:4px;outline:2px solid #b8caff}.el-mini{background:#e5e5ff;place-items:center;width:100%;height:100%;display:grid}.el-mini svg{fill:#00f;width:100%;max-height:100%}.el-mini-axis{fill:none;stroke:#73769f;stroke-width:1.6px}.el-mini-hop{fill:none;stroke:#00f;stroke-width:2.5px}.el-walkthrough{background:#0c182a;padding:15px max(48px,50% - 720px) 100px}.el-walkthrough-heading{justify-content:space-between;align-items:end;gap:40px;max-width:1060px;margin:0 auto;display:flex}.el-walkthrough h2{letter-spacing:-.03em;max-width:15ch;font-size:clamp(29px,3.4vw,45px);font-weight:450;line-height:1.13}.el-walkthrough h2 span{color:#8ba8ff}.el-walkthrough-heading p{color:#b7c4db;max-width:37ch;font-size:13px;line-height:1.8}.el-walkthrough .project-film{margin-top:32px}.el-walkthrough .project-film video{background:#111e2c}.el-walkthrough .project-film video:focus-visible{outline-color:#b8caff}.el-walkthrough .project-film-fallback{color:#c5d2e8;border-color:#607b9c}.el-film-caption{color:#a8b9d5;width:min(100%,1060px);margin:16px auto 0;font-size:11px;line-height:1.7}@media (width<=1100px){.el-showcase{padding-inline:28px}.el-board{grid-template-columns:.8fr 1.4fr;gap:4%}.el-brand{gap:10px;font-size:18px}.el-brand img{width:113px}.el-editorial-copy h3{font-size:37px}.el-subject-note{width:215px;left:-20px}.el-subject-note strong{font-size:25px}.el-walkthrough{padding-inline:28px}}@media (width<=767px){.portfolio[data-project=elastik-learning] .showcase-stage{height:clamp(650px,100dvh - 70px,810px)}.portfolio[data-project=elastik-learning] .case-heading+.showcase-stage{height:clamp(732px,100dvh + 12px,892px)}.el-showcase{padding:6px 18px 0}.el-board{grid-template-columns:1fr;gap:0;max-height:none;padding:54px 0 66px}.el-editorial{height:auto;position:absolute;top:0;left:0}.el-brand{gap:11px;font-size:17px}.el-brand img{width:103px}.el-editorial-copy{display:none}.el-preview{height:auto;display:block;container-type:normal}.el-capture-composition{height:auto;padding:0 0 100px}.el-capture{border-radius:8px;width:100%}.el-capture figcaption{padding:11px 13px;font-size:9px}.el-capture-fallback{min-height:270px}.el-subject-note{width:181px;padding:13px 16px 5px;bottom:0;left:11px;transform:rotate(-4deg)}.el-subject-note>span{font-size:8px}.el-subject-note strong{margin-top:7px;font-size:23px}.el-subject-note svg{margin-top:3px}.el-preview-controls{justify-content:center;padding-top:10px}.el-preview-controls button{padding-inline:16px;font-size:11px}.el-walkthrough{padding:10px 18px 65px}.el-walkthrough-heading{display:block}.el-walkthrough h2{max-width:18ch;font-size:33px}.el-walkthrough-heading p{margin-top:18px;font-size:12px}.el-film-caption{font-size:10px}}@media (width<=370px){.el-subject-note{width:162px}}.project-film{width:min(100%,1060px);margin:52px auto 0}.project-film video{aspect-ratio:16/9;background:#14251b;border-radius:4px;width:100%;display:block;box-shadow:12px 24px 42px #0410094d}.project-film video:focus-visible{outline-offset:5px;outline:2px solid #c0d9a9}.project-film-fallback{aspect-ratio:16/9;color:#c3d0bf;border:1px solid #b0c3b038;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:200px;font-size:13px;display:flex}.project-film-fallback .button-text{background:0 0;border:0;border-bottom:1px solid #8a919f}@media (width<=767px){.project-film{margin-top:34px}}.portfolio[data-project=writemark-pro] .showcase-stage{height:clamp(720px,100dvh - 80px,1000px)}.portfolio[data-project=writemark-pro] .case-heading+.showcase-stage{height:clamp(781px,100dvh - 19px,1061px)}.portfolio[data-project=writemark-pro] .real-project-details{background:linear-gradient(#0000,#0e142beb 180px,#0e142bf7)}.portfolio[data-project=writemark-pro] .build-kicker,.portfolio[data-project=writemark-pro] .feature-number,.portfolio[data-project=writemark-pro] .engineering-source{color:#b8bcf1}.portfolio[data-project=writemark-pro] .runtime-boundaries{border-color:#b7bef24d}.portfolio[data-project=writemark-pro] .runtime-boundaries li:before{background:#afb9ff}.portfolio[data-project=writemark-pro] .runtime-boundaries span{color:#b9bed4}.portfolio[data-project=writemark-pro] .engineering-details article{border-color:#b7bef238}.wm-showcase{color:#f3f0ff;width:100%;height:100%;padding:18px max(48px,50% - 720px) 0}.wm-board{grid-template-columns:.82fr 1.5fr;align-items:center;gap:7%;width:min(1440px,100%);height:100%;max-height:780px;margin-inline:auto;padding:24px 0 74px;display:grid;position:relative}.wm-editorial{grid-template-rows:auto 1fr;min-width:0;height:100%;padding-top:7px;display:grid}.wm-brand{letter-spacing:-1.1px;align-items:center;gap:11px;font-size:clamp(20px,2.2vw,31px);font-weight:550;display:flex}.wm-brand-icon{color:#fff;background:#3434ff;border-radius:9px;place-items:center;width:38px;height:38px;display:grid;transform:rotate(-5deg);box-shadow:0 6px 18px #04082d40}.wm-brand-icon svg{width:24px;height:24px}.wm-editorial-copy{align-self:center;padding-bottom:40px}.wm-eyebrow{letter-spacing:1.2px;color:#c2c5ec;font-family:Geist Mono Variable,monospace;font-size:9px}.wm-editorial-copy h3{letter-spacing:-2.4px;margin-top:19px;font-size:clamp(34px,4vw,58px);font-weight:450;line-height:1.08}.wm-editorial-copy p{color:#c6c9e0;max-width:29ch;margin-top:24px;font-size:12px;line-height:1.8}.wm-preview{align-items:center;width:100%;min-width:0;height:100%;min-height:0;animation:.55s cubic-bezier(.22,1,.36,1) wm-preview-enter;display:flex;container:wm-view/size}.wm-upload-composition{width:100%;padding:8px 0}.wm-upload-window,.wm-dashboard-window{color:#151927;background:#f9f9fb;border:1px solid #edebffa6;border-radius:10px;margin:0;overflow:hidden;box-shadow:16px 30px 58px #07082761,0 1px #fff6}.wm-upload-window{width:min(88%,80cqh);transform:rotate(-2deg)}.wm-window-heading{border-bottom:1px solid #e1e1eb;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-size:13px;font-weight:550;display:flex}.wm-window-index{color:#66677f;font-family:Geist Mono Variable,monospace;font-size:8px;font-weight:400}.wm-upload-window>img{border-radius:6px;width:calc(100% - 24px);height:auto;margin:12px;display:block}.wm-upload-window figcaption,.wm-dashboard-window figcaption{color:#55576d;border-top:1px solid #e1e1eb;justify-content:space-between;gap:8px;padding:10px 18px;font-size:10px;display:flex}.wm-upload-window figcaption>span,.wm-dashboard-window figcaption>span{color:#686b81}.wm-upload-flow{color:#d7d9fc;text-shadow:0 1px 2px #070b1b,0 0 6px #070b1b;align-items:center;gap:12px;margin:16px 0 16px 24px;font-family:Geist Mono Variable,monospace;font-size:10px;display:flex}.wm-upload-flow svg{opacity:.65;filter:drop-shadow(0 1px 2px #070b1b);width:20px}.wm-dashboard-window{width:min(88%,85cqh);margin-left:auto;transform:rotate(1deg)}.wm-dashboard-window>img{width:calc(100% - 24px);height:auto;margin:12px;display:block}.wm-capture-fallback{color:#55576d;background:#f0eff7;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:150px;font-size:12px;display:flex}.wm-dashboard-window .wm-capture-fallback{min-height:90px}.wm-preview-controls{border-top:1px solid #bbbef547;gap:4px;padding-top:15px;display:flex;position:absolute;bottom:4px;left:0;right:0}.wm-preview-controls button{color:#d1d4fa;background:0 0;border:1px solid #0000;border-radius:3px;min-height:44px;padding:10px 18px;font-size:11px}.wm-preview-controls button[aria-pressed=true]{color:#f4f0ff;background:#1318418c;border-color:#b0b4fa}.wm-preview-controls button:hover{background:#131841bf}.wm-showcase button:focus-visible{outline-offset:3px;outline:2px solid #cecaff}.wm-mini{background:#101426;width:100%;height:100%;overflow:hidden}.wm-mini>img{object-fit:cover;object-position:50% 45%;width:100%;height:100%;display:block}.wm-mini-fallback{color:#fff;background:#2424ce;place-items:center;width:100%;height:100%;display:grid}@keyframes wm-preview-enter{0%{opacity:0}to{opacity:1}}@media (width<=1100px){.wm-showcase{padding-inline:28px}.wm-board{grid-template-columns:.85fr 1.4fr;column-gap:4%}.wm-editorial-copy h3{font-size:42px}}@media (width<=767px){.portfolio[data-project=writemark-pro] .showcase-stage{height:clamp(680px,100dvh - 70px,810px)}.portfolio[data-project=writemark-pro] .project-strip{isolation:isolate;position:relative}.portfolio[data-project=writemark-pro] .project-strip:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000,#090e1fbd 45px calc(100% - 25px),#0000);position:absolute;inset:-18px -18px -54px}.portfolio[data-project=writemark-pro] .case-heading+.showcase-stage{height:clamp(762px,100dvh + 12px,892px)}.wm-showcase{padding:7px 18px 0}.wm-board{grid-template-columns:1fr;gap:0;max-height:none;padding:53px 0 66px}.wm-editorial{height:auto;padding:0;position:absolute;top:0;left:0}.wm-brand{letter-spacing:-.7px;gap:9px;font-size:21px}.wm-brand-icon{border-radius:7px;width:28px;height:28px}.wm-brand-icon svg{width:19px;height:19px}.wm-editorial-copy{display:none}.wm-preview{align-self:center;height:auto;display:block;container-type:normal}.wm-upload-composition{padding:7px 0}.wm-upload-window,.wm-dashboard-window{border-radius:7px;width:100%;transform:none}.wm-window-heading{padding:14px;font-size:11px}.wm-upload-window>img{width:calc(100% - 24px);margin:12px}.wm-upload-window figcaption,.wm-dashboard-window figcaption{padding:10px 12px;font-size:8px}.wm-dashboard-window>img{width:calc(100% - 24px);margin:14px 12px}.wm-upload-flow{justify-content:center;margin:19px 0;font-size:9px}.wm-preview-controls{justify-content:center;padding-top:9px;bottom:0}.wm-preview-controls button{padding-inline:15px;font-size:10px}}@media (width<=370px){.wm-brand{font-size:18px}}@media (prefers-reduced-motion:reduce){.wm-preview{animation:none}}.wm-workspace,.wm-pipeline{color:#1d2337;background:#fcfcfe;border:1px solid #e1e0f3;border-radius:10px;width:100%;margin:0;box-shadow:16px 30px 58px #07082761;container:wm-feature/inline-size}.wm-workspace-heading{border-bottom:1px solid #e7e7ef;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 22px;display:flex}.wm-workspace-heading>strong{font-size:13px;font-weight:600}.wm-workspace-heading>span{color:#636879;font-size:10px}.wm-workspace-footer{color:#646a7c;border-top:1px solid #e7e7ef;justify-content:space-between;gap:12px;padding:12px 22px;font-size:9px;display:flex}.wm-grounding-body{grid-template-columns:1.1fr 1fr;gap:48px;padding:24px 22px;display:grid;position:relative}.wm-answer-document,.wm-feedback-rail{z-index:1;min-width:0;position:relative}.wm-workspace-label{letter-spacing:.7px;color:#676e81;font:8px Geist Mono Variable,monospace}.wm-example-question{color:#636879;max-width:30ch;margin:7px 0 24px;font-size:10px;line-height:1.6}.wm-grounding-body h4{margin:0 0 13px;font-size:12px;font-weight:600}.wm-answer-text{font-size:12px;line-height:2.05}.wm-answer-text p{margin:0 0 19px}.wm-answer-text p:last-child{margin:0}.wm-evidence{font:inherit;text-align:left;color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#eeebff;border:0;border-radius:2px;margin-inline:1px;padding:2px 0;transition:background .2s,box-shadow .2s;display:inline;position:relative}.wm-evidence[data-tone=teal]{background:#e5f3f0}.wm-evidence[data-tone=shared]{background:#fff1bd}.wm-evidence.is-linked{background:#d6ceff;box-shadow:0 0 0 2px #e9e4ff}.wm-evidence.is-linked[data-tone=teal]{background:#bce9df;box-shadow:0 0 0 2px #d8f3ec}.wm-evidence.is-linked[data-tone=shared]{background:#ffe18a;box-shadow:0 0 0 2px #fff0bb}.wm-evidence[aria-pressed=true]{outline-offset:2px;outline:1px solid #5c4acb}.wm-evidence sup{color:#fff;background:#665513;border-radius:3px;margin-left:3px;padding:0 3px;font:7px Geist Mono Variable,monospace}.wm-grounding-connectors{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wm-grounding-connectors path{fill:none;stroke:#806bc8;stroke-width:1.4px;stroke-dasharray:2 3}.wm-grounding-connectors path[data-tone=teal]{stroke:#379180}.wm-feedback-cards{gap:10px;display:grid}.wm-feedback-card{text-align:left;color:#273046;background:#fff;border:1px solid #e1e3eb;border-radius:7px;width:100%;padding:12px;transition:background .2s,border-color .2s}.wm-feedback-card.is-selected{background:#f1eeff;border-color:#9988e4;box-shadow:0 0 0 1px #c3b8f3}.wm-feedback-card.is-selected[data-tone=teal]{background:#eff9f6;border-color:#69aa9c;box-shadow:0 0 0 1px #b5dacd}.wm-feedback-card-heading{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wm-feedback-card-heading strong{font-size:10px;font-weight:600}.wm-feedback-kind{color:#306e51;background:#ddf3e6;border-radius:3px;padding:3px 5px;font-size:8px}.wm-feedback-card[data-kind=Improvement] .wm-feedback-kind{color:#835519;background:#fff0d5}.wm-feedback-comment{margin-top:9px;font-size:10px;line-height:1.6;display:block}.wm-feedback-rewrite{border-top:1px solid #cce2d9;margin-top:10px;padding-top:9px;font-size:10px;line-height:1.7;display:none}.wm-feedback-card.is-selected .wm-feedback-rewrite{display:block}.wm-feedback-rewrite>span{color:#61716e;margin-bottom:3px;font-size:8px;display:block}.wm-feedback-rewrite del{color:#914c47;margin-right:8px}.wm-feedback-rewrite ins{color:#267150;background:#d9eee2;border-radius:2px;padding:1px 3px;text-decoration:none}.wm-feedback-quote-count{color:#6b7183;margin-top:8px;font-size:8px;display:block}.wm-mobile-criteria{display:none}.wm-shared-evidence{z-index:3;background:#fffbee;border:1px solid #e3d28b;border-radius:6px;padding:10px;position:absolute;left:0;right:0;box-shadow:0 3px 12px #2b23040d}.wm-shared-evidence>span{color:#75633c;margin-bottom:5px;font-size:9px;display:block}.wm-shared-evidence button{text-align:left;color:#3e3c33;background:0 0;border:0;border-top:1px solid #eee5c8;justify-content:space-between;align-items:center;gap:5px;width:100%;min-height:44px;padding:7px 5px;font-size:10px;display:flex}.wm-shared-evidence button[aria-pressed=true]{color:#5540a1;font-weight:600}.wm-shared-evidence button>span{font-size:8px;font-weight:400}.wm-grounding-hint{color:#636879;font-size:10px;line-height:1.6}.wm-workspace button:focus-visible,.wm-pipeline button:focus-visible{outline-offset:3px;outline:2px solid #3e36ba}.wm-pipeline{background:#f5f3ff}.wm-flow-replay{color:#5b538b;background:0 0;border:0;align-items:center;gap:6px;min-height:32px;padding:4px;font-size:10px;display:flex}.wm-flow-replay svg{width:13px}.wm-flow-inputs{gap:4px;padding:6px 18px 0;display:flex}.wm-flow-inputs button{color:#655e80;background:0 0;border:1px solid #0000;border-radius:4px;min-height:38px;padding:7px 12px;font-size:10px}.wm-flow-inputs button[aria-pressed=true]{color:#3b3395;background:#e5e0fb;border-color:#d2c9f5}.wm-flow-diagram{padding:14px 22px 22px}.wm-flow-start{grid-template-columns:1fr 28px 1.5fr;align-items:center;display:grid}.wm-flow-node{min-width:0;animation:wm-flow-pulse 1.1s ease-out var(--flow-delay,0s);background:#fdfcff;border:1px solid #d7d1ee;border-radius:5px;flex-direction:column;justify-content:center;gap:5px;padding:12px;display:flex;position:relative}.wm-flow-node strong{font-size:11px;font-weight:600;line-height:1.3}.wm-flow-node small{color:#68617f;font-size:8px;line-height:1.5}.wm-flow-node>span:not(.wm-flow-number){color:#605676;font-size:9px;line-height:1.4}.wm-flow-number{letter-spacing:.3px;color:#746798;font:8px Geist Mono Variable,monospace}.wm-flow-edge{color:#9b8cc9;animation:wm-edge-pulse 1.1s ease-out var(--flow-delay,0s);flex-shrink:0;display:block;position:relative}.wm-flow-edge:before{content:"";background:currentColor;position:absolute}.wm-flow-edge:after{content:"";border:4px solid #0000;width:0;height:0;position:absolute}.wm-flow-edge--down{width:100%;height:20px}.wm-flow-edge--down:before{width:1px;height:16px;top:0;left:50%}.wm-flow-edge--down:after{border-top-color:currentColor;top:13px;left:calc(50% - 3.5px)}.wm-flow-edge--right,.wm-flow-edge--left{width:28px;height:100%;min-height:10px}.wm-flow-edge--right:before,.wm-flow-edge--left:before{width:calc(100% - 5px);height:1px;top:50%;left:0}.wm-flow-edge--right:after{border-left-color:currentColor;top:calc(50% - 3.5px);right:-1px}.wm-flow-edge--left:after{border-right-color:currentColor;top:calc(50% - 3.5px);left:-1px}.wm-flow-normalize{background:#ede8fb;border:1px solid #d8d1ec;border-radius:6px;padding:12px}.wm-flow-section-label{justify-content:space-between;align-items:center;gap:10px;display:flex}.wm-flow-section-label>span{color:#665380;font:8px Geist Mono Variable,monospace}.wm-flow-section-label>strong{color:#574775;font-size:10px;font-weight:500}.wm-flow-parallel{grid-template-columns:1fr 1fr;gap:24px;display:grid}.wm-flow-fork,.wm-flow-join{grid-template-columns:1fr 1fr;gap:24px;height:15px;display:grid;position:relative}.wm-flow-fork:before,.wm-flow-join:before{content:"";background:#9682c3;height:1px;position:absolute;left:calc(25% - 6px);right:calc(25% - 6px)}.wm-flow-fork:before{top:5px}.wm-flow-join:before{bottom:5px}.wm-flow-fork span,.wm-flow-join span{position:relative}.wm-flow-fork span:before,.wm-flow-join span:before{content:"";background:#9682c3;width:1px;height:10px;position:absolute;left:50%}.wm-flow-fork span:before{bottom:0}.wm-flow-join span:before{top:0}.wm-flow-fork span:after,.wm-flow-join span:after{content:"";border:4px solid #0000;border-top-color:#9682c3;position:absolute;left:calc(50% - 3.5px)}.wm-flow-fork span:after{bottom:-4px}.wm-flow-join span:after{bottom:1px}.wm-flow-single{text-align:center;margin-top:10px;padding:12px}.wm-flow-normalized{color:#564575;text-align:center;padding:7px 5px 1px;font-size:10px}.wm-flow-route{color:#9b8cc9;height:28px;animation:wm-edge-pulse 1.1s ease-out var(--flow-delay,0s);position:relative}.wm-flow-route:before{content:"";background:currentColor;height:1px;position:absolute;top:9px;left:calc(12.5% - 8px);right:50%}.wm-flow-route i{background:currentColor;width:1px;position:absolute}.wm-flow-route i:first-child{height:10px;top:0;left:50%}.wm-flow-route i:nth-child(2){height:16px;top:9px;left:calc(12.5% - 8px)}.wm-flow-route:after{content:"";border:4px solid #0000;border-top-color:currentColor;position:absolute;bottom:-3px;left:calc(12.5% - 11.5px)}.wm-flow-context{color:#6d6185;border-left:1px dashed #a598c5;padding-left:9px;font-size:8px;line-height:1.5;position:absolute;top:4px;left:55%;right:0}.wm-flow-context>span{color:#8e7bac}.wm-flow-results{grid-template-columns:repeat(4,1fr);display:grid}.wm-flow-result{align-items:center;min-width:0;display:flex}.wm-flow-result>.wm-flow-node{flex:1;height:100%;min-height:110px}.wm-flow-result>.wm-flow-edge{width:16px}.wm-flow-ground{color:#fff;background:#3930de;border-color:#3930de}.wm-flow-ground small,.wm-flow-ground>span:not(.wm-flow-number),.wm-flow-ground .wm-flow-number{color:#ded9ff}@keyframes wm-flow-pulse{0%,to{box-shadow:none}35%{box-shadow:0 0 0 3px #a596fa,0 0 20px #4c31db1f}}@keyframes wm-edge-pulse{0%,to{color:#9b8cc9}35%{color:#4936d5}}@container wm-view (height<=560px) and (width>=601px){.wm-workspace-heading{min-height:46px;padding-block:9px}.wm-workspace-footer{padding-block:9px}.wm-grounding-body{gap:36px;padding-block:12px}.wm-example-question{margin-bottom:15px}.wm-feedback-cards{gap:6px}.wm-feedback-card{padding:10px}.wm-feedback-comment{margin-top:7px}.wm-flow-inputs button{min-height:32px}.wm-flow-diagram{padding:8px 22px 14px}.wm-flow-node{gap:4px;padding:8px}.wm-flow-normalize{padding:8px}.wm-flow-parallel .wm-flow-node>span{display:none}.wm-flow-result>.wm-flow-node{min-height:90px}.wm-flow-edge--down{height:14px}.wm-flow-edge--down:before{height:11px}.wm-flow-edge--down:after{top:8px}}@container wm-feature (width<=600px){.wm-workspace-heading{min-height:46px;padding:10px 14px}.wm-workspace-heading>strong{font-size:12px}.wm-workspace-heading>span{font-size:8px}.wm-workspace-footer{padding:10px 14px;font-size:8px}.wm-workspace-footer>span:last-child{display:none}.wm-grounding-body{grid-template-columns:1fr;gap:14px;padding:14px}.wm-grounding-connectors{display:none}.wm-example-question{max-width:none;margin:5px 0 12px;font-size:9px}.wm-grounding-body h4{margin-bottom:8px;font-size:11px}.wm-answer-text{font-size:11px;line-height:1.85}.wm-answer-text p{margin-bottom:9px}.wm-mobile-criteria{gap:4px;margin-bottom:8px;display:flex}.wm-mobile-criteria button{color:#625774;background:#f7f6fc;border:1px solid #dfdce9;border-radius:4px;flex:1;min-height:36px;padding:5px;font-size:9px}.wm-mobile-criteria button[aria-pressed=true]{color:#4e3687;background:#e8e2ff;border-color:#b4a4e5}.wm-feedback-card{padding:11px;display:none}.wm-feedback-card.is-selected{display:block}.wm-feedback-comment{font-size:10px;line-height:1.55}.wm-feedback-quote-count{display:none}.wm-feedback-card-heading strong{font-size:10px}.wm-feedback-rewrite{margin-top:8px;padding-top:7px;font-size:10px}.wm-shared-evidence{z-index:3;padding:9px;position:absolute;left:0;right:0;box-shadow:0 5px 18px #251a3633}.wm-shared-evidence>span{font-size:8px}.wm-shared-evidence button{min-height:36px;font-size:9px}.wm-flow-replay{min-height:30px;font-size:9px}.wm-flow-inputs{padding:5px 10px 0}.wm-flow-inputs button{flex:1;min-height:36px;padding-inline:6px;font-size:9px}.wm-flow-diagram{padding:8px 14px 12px}.wm-flow-node{gap:3px;padding:8px}.wm-flow-node strong{font-size:10px}.wm-flow-node small,.wm-flow-number{font-size:7px}.wm-flow-node>span:not(.wm-flow-number){font-size:8px}.wm-flow-start{grid-template-columns:1fr 20px 1.3fr}.wm-flow-edge--right{width:20px}.wm-flow-edge--down{height:14px}.wm-flow-edge--down:before{height:11px}.wm-flow-edge--down:after{top:8px}.wm-flow-normalize{padding:8px}.wm-flow-parallel .wm-flow-node>span{display:none}.wm-flow-fork,.wm-flow-join{height:12px}.wm-flow-section-label>span{font-size:7px}.wm-flow-section-label>strong{font-size:9px}.wm-flow-parallel,.wm-flow-fork,.wm-flow-join{gap:14px}.wm-flow-normalized{padding-top:6px;font-size:9px}.wm-flow-route{height:28px}.wm-flow-route:before,.wm-flow-route i:nth-child(2){left:calc(25% - 5px)}.wm-flow-route:after{left:calc(25% - 8.5px)}.wm-flow-context{font-size:7px;line-height:1.5;top:2px}.wm-flow-results{grid-template-rows:1fr 17px 1fr;grid-template-columns:1fr 20px 1fr;position:relative}.wm-flow-result{display:contents}.wm-flow-result>.wm-flow-node{min-height:67px}.wm-flow-result--1>.wm-flow-node{grid-area:1/1}.wm-flow-result--1>.wm-flow-edge{grid-area:1/2;width:20px}.wm-flow-result--2>.wm-flow-node{grid-area:1/3}.wm-flow-result--2>.wm-flow-edge{grid-area:2/3;width:100%;transform:none}.wm-flow-result--2>.wm-flow-edge:before{width:1px;height:14px;top:0;left:50%}.wm-flow-result--2>.wm-flow-edge:after{border-top-color:currentColor;border-left-color:#0000;top:11px;left:calc(50% - 3.5px);right:auto}.wm-flow-result--3>.wm-flow-node{grid-area:3/3}.wm-flow-result--3>.wm-flow-edge{grid-area:3/2;width:20px;transform:rotate(180deg)}.wm-flow-result--4>.wm-flow-node{grid-area:3/1}}@container wm-feature (width<=330px){.wm-pipeline .wm-workspace-heading,.wm-pipeline .wm-workspace-footer{padding-block:8px}.wm-flow-replay{min-height:26px}.wm-flow-diagram{padding-inline:12px}.wm-flow-normalize,.wm-flow-normalize .wm-flow-node{padding:7px}.wm-flow-results .wm-flow-node{gap:2px;padding:7px}}@media (prefers-reduced-motion:reduce){.wm-flow-node,.wm-flow-edge,.wm-flow-route{animation:none}.wm-evidence,.wm-feedback-card{transition:none}}.portfolio[data-project=jade-words] .showcase-stage{height:clamp(720px,100dvh - 80px,1000px)}.portfolio[data-project=jade-words] .project-tab:not(.is-selected) .tab-number{color:#9a9ca5}.portfolio[data-project=jade-words] .real-project-details{background:linear-gradient(#0000,#091610e8 180px,#091610f2)}.jade-showcase{--jade-paper:#fff9ef;--jade-ink:#f5f1e7;--jade-muted:#c3cdbf;--jade-line:#c3d3ba40;width:100%;height:100%;color:var(--jade-ink);justify-content:center;align-items:center;padding:18px max(48px,50% - 720px) 0;display:flex}.jade-board{grid-template-columns:1fr .85fr .65fr;align-items:center;column-gap:3%;width:min(1440px,100%);height:100%;max-height:780px;padding:24px 0 68px;display:grid;position:relative}.jade-editorial{grid-template-rows:auto 1fr;min-width:0;height:100%;padding-block:7px;display:grid}.jade-editorial-copy{align-self:center}.jade-brand{letter-spacing:-.6px;align-items:center;gap:11px;font-family:Georgia,Times New Roman,serif;font-size:clamp(19px,2vw,27px);display:flex}.jade-brand img{object-fit:contain;border-radius:9px;width:38px;height:38px}.jade-eyebrow{letter-spacing:1.25px;color:#c1d0ba;font-family:Geist Mono Variable,monospace;font-size:9px}.jade-editorial-copy h3{letter-spacing:-2.1px;text-shadow:0 3px 28px #05130b3d;margin-top:17px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4.4vw,61px);font-weight:400;line-height:1.03}.jade-editorial-copy p{color:var(--jade-muted);margin-top:22px;font-size:12px;line-height:1.7}.jade-primary-screen{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:100%;min-height:0;display:flex;position:relative}.jade-board--songs{grid-template-columns:1fr 1.6fr;column-gap:5%}.jade-primary-screen--film{min-width:0}.jade-songs-preview{width:100%;animation:.55s cubic-bezier(.22,1,.36,1) jade-preview-enter}.jade-songs-preview .project-film{width:100%;margin:0}.jade-songs-preview .project-film-fallback{min-height:160px}@keyframes jade-preview-enter{0%{opacity:0}to{opacity:1}}.jade-device{aspect-ratio:600/1304;background:var(--jade-paper);border:5px solid #17251c;border-radius:22px;max-width:100%;height:calc(100% - 20px);position:relative;box-shadow:0 0 0 1px #cad8bc73,12px 28px 40px #04100966}.jade-screen-layer{opacity:0;pointer-events:none;transition:opacity .55s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.jade-screen-layer.is-current{opacity:1}.jade-device img,.jade-secondary-screen img,.jade-mini-screen img{object-fit:contain;width:100%;height:100%;display:block}.jade-device img{border-radius:17px}.jade-screen-caption{color:#c1d0ba;flex:0 0 11px;align-items:center;gap:7px;font-family:Geist Mono Variable,monospace;font-size:9px;display:flex}.jade-screen-caption>span:not(.jade-dot){color:#b8c2ab}.jade-dot{background:#7ecca1;width:5px;height:5px;display:inline-block}.jade-dot--blue{background:#2277d6}.jade-dot--cinnabar{background:#e5483f}.jade-secondary-screens{justify-content:center;align-items:center;height:100%;min-height:0;display:flex;position:relative}.jade-secondary-screen{aspect-ratio:600/1304;background:#fff9ef;border:4px solid #1a2a1e;border-radius:18px;flex-shrink:0;height:72%;position:absolute;overflow:hidden;box-shadow:0 0 0 1px #cad8bc4d,10px 25px 40px #04100959}.jade-secondary-screen--grammar{top:4%;left:-17%;transform:rotate(-8deg)}.jade-secondary-screen--writing{height:68%;bottom:4%;right:-6%;transform:rotate(7deg)}.jade-screen-fallback{color:#756d63;text-align:center;background:#f4efe4;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;padding:12px;font-size:12px;display:flex}.jade-screen-fallback small{font-size:9px;line-height:1.5}.jade-viewer-controls{border-top:1px solid var(--jade-line);justify-content:space-between;align-items:center;gap:16px;padding-top:15px;display:flex;position:absolute;bottom:4px;left:0;right:0}.jade-screen-buttons{gap:4px;display:flex}.jade-screen-buttons button{color:#d3deca;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 14px;font-size:11px;display:inline-flex}.jade-screen-buttons button[aria-pressed=true]{color:var(--jade-ink);background:#0919107a;border-color:#98ad8b}.jade-screen-buttons button:hover{color:var(--jade-ink);background:#091910a6}.jade-showcase button:focus-visible,.jade-showcase video:focus-visible{outline-offset:3px;outline:2px solid #c0d9a9}.jade-mini{background:#fff9ef;justify-content:space-between;align-items:center;width:100%;height:100%;padding:5px 12% 5px 10%;display:flex;overflow:hidden}.jade-mini-wordmark{color:#25211d;flex-direction:column;gap:6px;font-family:Georgia,Times New Roman,serif;font-size:8px;display:flex}.jade-mini-wordmark span{color:#695d51;font-size:14px}.jade-mini-screen{aspect-ratio:600/1304;border:1px solid #25211d;height:100%}.jade-mini .jade-screen-fallback{padding:2px}.jade-mini .jade-screen-fallback>:not(svg){display:none}.jade-mini .jade-screen-fallback svg{width:10px}@media (width<=1100px){.jade-showcase{padding-inline:28px}}@media (width<=1023px){.jade-board{column-gap:2%}.jade-editorial-copy h3{font-size:42px}}@media (width<=767px){.jade-showcase{padding:7px 18px 0}.jade-board{grid-template-columns:1fr;max-height:none;padding:44px 0 65px}.jade-editorial{z-index:1;height:auto;position:absolute;top:0;left:0}.jade-editorial-copy{display:none}.jade-brand{letter-spacing:-.5px;gap:7px;font-size:18px}.jade-brand img{border-radius:6px;width:25px;height:25px}.jade-eyebrow{letter-spacing:.85px;font-size:8px}.jade-editorial-copy h3{letter-spacing:-1.2px;margin-top:13px;font-size:33px}.jade-editorial-copy p{margin-top:17px;font-size:10px}.jade-secondary-screens{display:none}.jade-device{border-width:3px;border-radius:14px}.jade-device img{border-radius:11px}.jade-screen-caption{gap:4px;font-size:8px}.jade-viewer-controls{flex-direction:column;gap:3px;padding-top:9px;bottom:0;left:0;right:0}.jade-screen-buttons{justify-content:center;width:100%}.jade-screen-buttons button{min-height:44px;padding:8px 10px;font-size:10px}.jade-mini{padding-inline:7%}.jade-mini-wordmark{font-size:7px}}@media (width<=370px){.jade-brand{font-size:15px}.jade-brand img{width:22px;height:22px}.jade-editorial-copy h3{font-size:29px}}@media (prefers-reduced-motion:reduce){.jade-screen-layer{transition:none}.jade-songs-preview{animation:none}}@media (width<=767px){.portfolio[data-project=jade-words] .showcase-stage{height:clamp(680px,100dvh - 70px,810px)}}.vocab-songs{background:linear-gradient(#091610f2,#091610b8);padding:0 max(48px,50% - 720px) 110px}.songs-editorial{border-top:1px solid #b0c3b038;grid-template-columns:1fr 1.5fr;align-items:start;gap:70px;padding-top:52px;display:grid}.songs-copy{position:sticky;top:36px}.songs-copy .stack-list{margin-block:28px}.songs-kicker{color:#b8cdb3;font-family:Geist Mono Variable,monospace;font-size:11px}.songs-copy h2{white-space:pre-line;letter-spacing:-1.3px;color:#f5f1e7;margin-top:26px;font-size:clamp(28px,3vw,40px);font-weight:450;line-height:1.12}.songs-copy p{color:#b0b3bd;max-width:60ch;font-size:13px;line-height:1.75}.songs-flow{margin:0;padding:0;list-style:none}.songs-flow li{border-bottom:1px solid #b0c3b038;grid-template-columns:24px 1fr;gap:18px;padding:30px 0;display:grid}.songs-flow li:first-child{padding-top:0}.songs-step-number{color:#adc4b1;padding-top:5px;font-family:Geist Mono Variable,monospace;font-size:10px}.songs-flow h3{letter-spacing:-.3px;font-size:18px;font-weight:450}.songs-flow p{color:#b0b3bd;max-width:60ch;margin-top:12px;font-size:13px;line-height:1.75}@media (width<=1100px){.vocab-songs{padding-inline:28px}}@media (width<=767px){.vocab-songs{padding:0 18px 70px}.songs-editorial{grid-template-columns:1fr;gap:30px;padding-top:36px}.songs-copy{position:static}.songs-copy h2{font-size:31px}.songs-copy p,.songs-flow p{font-size:12px}.songs-flow li{gap:12px;padding-block:25px}.songs-flow h3{font-size:17px}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#f2f2ef;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#18191b;--paper:#f2f2ef;--muted:#a2a3a7;--line:#38393d;--accent:#3156ff;--radius:4px;background:#18191b;font-family:Geist Variable,Arial,sans-serif}*{box-sizing:border-box}body{min-width:min(320px,100%);margin:0}[hidden]{display:none!important}.portfolio{isolation:isolate;min-height:100dvh;position:relative}.portfolio>.site-header,.portfolio>main,.portfolio>.site-footer{z-index:1;position:relative}button,a{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default}button,a{touch-action:manipulation}:focus-visible{outline-offset:5px;outline:2px solid #8c9fff}::selection{background:var(--accent);color:#fff}h1,h2,h3,h4,p{margin:0}.site-header,.site-footer,.project-strip,.case-header,.case-heading,.case-next,.about-page,.not-found{width:min(1440px,100% - 96px);margin-inline:auto}main{width:100%}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:80px;display:flex}.wordmark{letter-spacing:-.55px;align-items:center;gap:14px;font-size:17px;font-weight:520;display:flex}.wordmark-mark{color:#182044;background:#dfe7ff;border-radius:2px;place-items:center;width:20px;height:20px;font-size:12px;font-weight:600;display:grid}.site-header nav{align-items:center;gap:32px;font-size:13px;display:flex}.site-header nav a{color:#b6b7bb;padding:8px 0;position:relative}.site-header nav a[aria-current=page]{color:var(--paper)}.site-header nav a[aria-current=page]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-22px;left:0;right:0}.site-header nav button{font-size:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;display:flex}.site-header nav a:hover,.site-header nav button:hover{color:#fff}.skip-link{background:var(--accent);color:#fff;z-index:100;padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main:focus,h1:focus{outline:none}.details-heading h2 span,.about-page h1 span,.resume-dialog h2 span{color:#607aff}.showcase-stage{background:0 0;border:0;border-radius:0;flex-direction:column;height:clamp(570px,72dvh,810px);scroll-margin-top:0;transition:height .55s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.stage-visual{flex:1;min-height:0;position:relative;overflow:hidden}.stage-scene{position:absolute;inset:0}.stage-scene[aria-hidden=true]{pointer-events:none}.stage-info{z-index:3;background:0 0;justify-content:space-between;align-items:center;gap:32px;width:min(1440px,100% - 96px);min-height:171px;margin-inline:auto;padding:20px 0 29px;display:flex}.stage-info.is-summary{min-height:110px}.project-category{color:#b5b6ba;margin-bottom:8px;font-family:Geist Mono Variable,monospace;font-size:10px;display:block}.project-category>span{color:#72747d;margin:0 8px}.stage-copy h2{letter-spacing:-1.9px;margin-bottom:8px;font-size:48px;font-weight:430;line-height:1.1}.title-period{color:#758aff}.stage-copy p{color:#c8ccd4;max-width:66ch;font-size:13px;line-height:1.5}.project-tags{color:#9a9ca5;gap:13px;margin-top:14px;font-size:10px;display:flex}.project-tags span+span:before{content:"/";color:#61636d;margin-right:13px}.stage-actions{align-items:center;gap:26px;display:flex}.stage-product-link{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.product-access-note{color:#b5c2d8;font-size:10px;line-height:1.5}.button-primary,.button-text,.back-link{white-space:nowrap;justify-content:center;align-items:center;gap:14px;font-size:12px;display:inline-flex}.button-primary{color:#182035;background:#edf0f7;border:1px solid #edf0f7;border-radius:3px;padding:15px 24px;transition:background .18s,transform .18s}.button-primary:hover{background:#fff}.button-primary:active{transform:translateY(1px)}.button-text{color:#e5e5e7;border-bottom:1px solid #8a919f;padding:10px 0 7px}.button-text:hover{color:#fff;border-color:#fff}.project-strip{grid-template-columns:repeat(var(--project-count), minmax(0, 1fr));gap:23px;margin-top:19px;display:grid}.project-tab{color:var(--paper);text-align:left;background:0 0;border:0;border-top:1px solid #45464d;align-items:center;gap:16px;min-width:0;padding:16px 0 8px;transition:border-color .25s;display:flex;position:relative}.project-tab:before{content:"";background:#607aff;width:0;height:2px;transition:width .55s;position:absolute;top:-1px;left:0}.project-tab.is-selected:before{width:100%}.project-tab:hover{border-color:#9da2b1}.project-thumbnail{pointer-events:none;background:#e6e7e9;border-radius:2px;flex-shrink:0;width:93px;height:65px;transition:transform .3s;overflow:hidden}.project-tab:hover .project-thumbnail{transform:translateY(-2px)}.tab-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.tab-copy>span{letter-spacing:-.35px;overflow-wrap:anywhere;font-size:16px}.tab-copy small{color:#a3a5ad;font-size:10px}.tab-number{color:#858893;margin-left:auto;font-family:Geist Mono Variable,monospace;font-size:10px}.project-tab.is-selected .tab-number{color:#d3ddff}.details-section{background:linear-gradient(#0000,#0c1119f0 140px,#0c1119f7);width:100%;padding:114px max(48px,50% - 720px) 100px;position:relative}.details-heading{margin-bottom:49px}.details-heading h2{letter-spacing:-1.9px;font-size:clamp(33px,4vw,52px);font-weight:450}.details-heading p{color:var(--muted);margin-top:13px;font-size:13px}.real-project-details .details-heading p{max-width:72ch;line-height:1.75}.real-details-grid{grid-template-columns:1fr 1.5fr;align-items:start;gap:70px;display:grid}.real-details-grid>div{border-top:1px solid var(--line);padding-top:25px}.real-details-grid h3{margin-bottom:20px;font-size:18px;font-weight:450}.real-details-grid p{color:#b0b3bd;max-width:60ch;font-size:13px;line-height:1.75}.stack-list{color:#d5dfda;flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;font-family:Geist Mono Variable,monospace;font-size:12px;list-style:none;display:flex}.real-product-link{flex-wrap:wrap;align-items:center;gap:26px;margin-top:27px;display:flex}.real-product-link>span{color:#a9b4ad;font-size:11px}.real-build-note{position:sticky;top:36px}.build-kicker{color:#b3c6b8;font-family:Geist Mono Variable,monospace;font-size:10px}.real-build-note h3{letter-spacing:-1.3px;white-space:pre-line;margin-top:26px;font-size:clamp(28px,3vw,40px);line-height:1.12}.real-build-note .stack-list{margin-block:28px}.feature-number{color:#adc4b1;padding-top:3px;font-family:Geist Mono Variable,monospace;font-size:10px}.runtime-boundaries{border-left:1px solid #b0c3b04d;margin:0 0 26px;padding:0;list-style:none}.runtime-boundaries li{padding:0 0 25px 22px;position:relative}.runtime-boundaries li:last-child{padding-bottom:0}.runtime-boundaries li:before{content:"";background:#c0d9a9;width:5px;height:5px;position:absolute;top:7px;left:-3px}.runtime-boundaries strong{font-size:13px;font-weight:500;display:block}.runtime-boundaries span{color:#b5beb6;margin-top:6px;font-size:11px;line-height:1.6;display:block}.engineering-details article{border-bottom:1px solid #b0c3b038;grid-template-columns:24px 1fr;gap:18px;padding:30px 0;display:grid}.engineering-details article:first-child{padding-top:0}.engineering-details article h3{margin-bottom:12px}.engineering-source{color:#a8bda8;overflow-wrap:anywhere;margin-top:16px;font-family:Geist Mono Variable,monospace;font-size:9px;line-height:1.65;display:block}.placeholder-label{color:#b6c3ff;background:#2b324f;border:1px solid #4c5884;border-radius:3px;margin-top:15px;padding:6px 9px;font-size:10px;display:inline-block}.site-footer{border-top:1px solid var(--line);color:#a6a9b3;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 35px;font-size:11px;display:flex}.site-footer>span:first-child{color:#f2f2ef}.site-footer a{align-items:center;gap:9px;display:inline-flex}.case-header{justify-content:space-between;align-items:center;padding:28px 0 22px;display:flex}.case-header>span{color:#a5a8b2;font-size:11px}.back-link{color:#c3c6d1;justify-content:start;gap:8px}.back-link:hover{color:#a7b5ff}.case-heading{letter-spacing:-2px;align-items:baseline;gap:20px;margin-block:8px 24px;font-size:48px;font-weight:450;display:flex}.case-heading>span{color:#a0a5b4;letter-spacing:0;font-size:12px}.case-next{flex-wrap:wrap;align-items:center;gap:35px;padding:0 0 70px;display:flex}.case-next p{color:#a5a8b2;margin-right:auto;font-size:12px}.case-next a{align-items:center;gap:22px;font-size:22px;display:flex}.about-page{grid-template-columns:1fr 1fr;align-items:start;gap:20px 80px;min-height:78dvh;padding:65px 0 90px;display:grid}.about-kicker{color:#a6a9b3;grid-column:1/-1;font-size:12px}.about-page h1{letter-spacing:-5px;font-size:clamp(64px,8.4vw,122px);font-weight:450;line-height:1}.about-content{max-width:430px;padding-top:18px}.about-content .about-lead{color:#f2f2ef;letter-spacing:-.8px;margin-bottom:20px;font-size:28px;line-height:1.3}.about-content p{color:#a9adb9;font-size:14px;line-height:1.8}.about-content .button-text{width:max-content;margin-top:45px;display:flex}.not-found{min-height:75dvh;padding:90px 0}.not-found h1{letter-spacing:-2px;font-size:clamp(36px,5vw,70px);font-weight:450}.not-found p{color:#a9adb9;margin:20px 0 35px;font-size:14px}.resume-dialog{color:#f2f2ef;background:#202124;border:1px solid #575a66;border-radius:5px;width:min(480px,100% - 40px);padding:30px}.resume-dialog::backdrop{backdrop-filter:blur(5px);background:#0c0d11c7}.dialog-heading{color:#b0b4c1;justify-content:space-between;align-items:center;margin-bottom:32px;font-size:12px;display:flex}.icon-button{background:0 0;border:0;place-items:center;padding:5px;display:grid}.resume-dialog h2{letter-spacing:-1.8px;font-size:43px;font-weight:450;line-height:1.06}.resume-dialog>p{color:#b0b4c1;margin-top:23px;font-size:13px;line-height:1.7}.resume-dialog>.button-primary{margin-top:32px;display:flex}@media (width>=768px) and (width<=1280px){.project-tab{flex-wrap:wrap}.tab-copy{width:100%}.tab-number{display:none!important}}@media (width<=1100px){.site-header,.site-footer,.project-strip,.case-header,.case-heading,.case-next,.about-page,.not-found,.stage-info{width:calc(100% - 56px)}.details-section{padding-inline:28px}.stage-actions{gap:18px}.stage-info{padding-inline:0}.button-primary{padding-inline:16px}.project-strip{gap:16px}.project-tab{gap:12px}.project-thumbnail{width:72px;height:55px}.tab-number{display:none!important}}@media (width<=767px){.site-header,.site-footer,.project-strip,.case-header,.case-heading,.case-next,.about-page,.not-found,.stage-info{width:calc(100% - 36px)}.site-header{height:70px}.wordmark{letter-spacing:-.3px;gap:9px;font-size:13px}.wordmark-mark{width:17px;height:17px;font-size:10px}.site-header nav{gap:17px;font-size:11px}.site-header nav a[aria-current=page]:after{bottom:-20px}.showcase-stage{height:590px}.stage-info{min-height:207px;padding:18px 0;display:block}.stage-info.is-summary{min-height:125px}.stage-copy h2{font-size:35px}.stage-copy p{font-size:11px}.project-tags{gap:9px;margin-top:11px;font-size:9px}.project-tags span+span:before{margin-right:9px}.stage-actions{gap:21px;margin-top:17px}.button-primary{gap:10px;padding:12px 14px;font-size:11px}.button-text{gap:9px;padding:11px 0;font-size:11px}.project-strip{grid-template-columns:repeat(2,1fr);gap:19px 16px;margin-top:17px}.project-tab{padding-top:12px;display:block}.project-thumbnail{width:100%;height:66px}.tab-copy{gap:4px;margin-top:12px}.tab-copy>span{font-size:14px}.tab-copy small{font-size:9px}.details-section{padding:75px 18px 60px}.details-heading{margin-bottom:28px}.details-heading h2{letter-spacing:-1.4px;font-size:34px}.details-heading p{font-size:12px}.real-details-grid{grid-template-columns:1fr;gap:30px}.real-build-note{position:static}.real-build-note h3{font-size:31px}.engineering-details article{gap:12px;padding-block:25px}.site-footer{flex-wrap:wrap;gap:19px;padding:25px 0;font-size:10px}.site-footer>span:nth-child(2){margin-left:auto}.site-footer>a{width:100%}.case-header{padding-top:23px}.case-header>span{text-align:right;max-width:135px;font-size:8px;line-height:1.6}.case-heading{gap:16px;margin-top:6px;font-size:38px}.case-heading>span{font-size:10px}.case-next{flex-wrap:wrap;gap:24px;padding-bottom:45px}.case-next p{width:100%}.case-next a{font-size:20px}.about-page{grid-template-columns:1fr;gap:26px;padding:45px 0 70px}.about-page h1{letter-spacing:-4px;font-size:78px}.about-content{padding-top:5px}.about-content .about-lead{font-size:25px}.about-content p{font-size:13px}.resume-dialog{padding:24px}.resume-dialog h2{font-size:39px}}@media (width<=370px){.site-header nav{gap:11px}.wordmark-mark{display:none}.stage-info{padding-inline:0}.stage-actions{gap:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
