._reveal_k7nsv_1{--reveal-delay: 0ms;width:100%;opacity:0;filter:blur(8px);will-change:opacity,transform,filter,clip-path;transition-delay:var(--reveal-delay)}._rise_k7nsv_19{transform:translate3d(0,28px,0)}._heading_k7nsv_24{transform:translate3d(0,1.1em,0);filter:blur(4px)}._slowRise_k7nsv_31{transform:translate3d(0,28px,0);transition:opacity 1.4s cubic-bezier(.4,0,.2,1),transform 1.05s cubic-bezier(.22,1,.36,1),filter 1.2s cubic-bezier(.22,1,.36,1)}._visible_k7nsv_45{opacity:1;transform:translateZ(0);clip-path:inset(0 0 0 0);filter:blur(0)}@media (prefers-reduced-motion: reduce){._reveal_k7nsv_1,._rise_k7nsv_19,._heading_k7nsv_24{opacity:1;transform:none;filter:none;clip-path:none;transition:none}}._visible_k7nsv_45{will-change:auto}@media (max-width: 680px){._reveal_k7nsv_1{filter:none;will-change:opacity,transform}._rise_k7nsv_19,._slowRise_k7nsv_31{transform:translate3d(0,14px,0)}._slowRise_k7nsv_31{transition:opacity 1.1s cubic-bezier(.4,0,.2,1),transform .85s cubic-bezier(.22,1,.36,1)}._visible_k7nsv_45{opacity:1;transform:none;filter:none}}._about_1snuw_1{width:100%;padding:clamp(2.5rem,5vw,4rem) 1rem clamp(4rem,7vw,6rem);background:var(--body-background)}._inner_1snuw_12{display:flex;width:min(100%,var(--container));max-width:52rem;flex-direction:column;gap:1.25rem;margin-inline:auto}._inner_1snuw_12 p,._inner_1snuw_12 ._introduction_1snuw_23{margin:0;color:#141b33;font-family:var(--main-font);font-size:clamp(1rem,1.35vw,1.13rem);font-weight:450;line-height:1.8;letter-spacing:-.3px;text-wrap:pretty}._introduction_1snuw_23{letter-spacing:-1px;color:var(--text-premium-grey)!important;font-weight:650!important;font-family:var(--section-font)!important;font-size:clamp(1.2rem,2.3vw,1.7rem)!important}@media (width < 800px){._inner_1snuw_12{width:calc(100% - 2rem);margin-inline:1rem}}@media (min-width: 800px){._about_1snuw_1{padding-inline:1.25rem}._inner_1snuw_12{width:70vw;max-width:none;margin-inline:0}._inner_1snuw_12 p,._inner_1snuw_12 ._introduction_1snuw_23{text-wrap:wrap}}@media (max-width: 680px){._about_1snuw_1{padding:clamp(2.5rem,5vw,4rem) 1rem 3.5rem}._inner_1snuw_12{gap:1rem}._inner_1snuw_12 p,._inner_1snuw_12 ._introduction_1snuw_23{font-size:1rem;line-height:1.72}}._sectionIntro_k9pij_1{width:100%;padding:clamp(2.5rem,5vw,4rem) 1rem 0;background:transparent}._sectionIntro_k9pij_1 h3{width:min(100%,900px);margin:0 auto;color:var(--text-premium-grey);font-family:var(--section-font);font-size:clamp(1.2rem,2.3vw,1.7rem);font-weight:650;line-height:1.5;letter-spacing:-1px;text-align:center;text-wrap:balance}@media (min-width: 800px){.articlesSection ._sectionIntro_k9pij_1{width:70vw;margin-left:1.25rem;padding-inline:0}.articlesSection ._sectionIntro_k9pij_1 h3{width:100%;margin-inline:0;text-align:left;text-wrap:wrap}}._main_1uton_5{--hero-action-gradient: var(--button-background);position:relative;display:flex;width:100%;min-height:calc(100dvh - var(--nav-height));align-items:center;justify-content:center;overflow:hidden;padding:clamp(3rem,6vh,4.5rem) 1rem;background:radial-gradient(ellipse at 85% 20%,rgba(96,165,250,.14),transparent 55%),linear-gradient(135deg,#e7eef5,#e2eaf2 45%,#e1e9f0)}._mainContainer_1uton_62{position:relative;z-index:2;display:flex;width:min(100%,1120px);flex-direction:column;align-items:flex-start;gap:1.6rem;margin-inline:auto}._tagline1_1uton_75{max-width:1040px;margin:0;padding-right:1rem;padding-left:calc(1.25rem + 2px);color:#18324b;font-family:var(--section-font);font-size:clamp(3.2rem,7vw,6rem)!important;font-weight:800;line-height:.95;letter-spacing:-.05em;text-align:left;text-wrap:balance;animation:_slideInFromLeft_1uton_1 .9s ease .1s backwards}@keyframes _blink-caret_1uton_1{0%,to{border-color:transparent}50%{border-color:#54728680}}._mainDescription_1uton_105{max-width:760px;margin:.75rem 0 0 calc(1.25rem + 2px);padding-left:.625rem;color:#34465e;font-size:clamp(1.4rem,2.3vw,2rem)!important;font-weight:600;line-height:1.5;letter-spacing:-1px;text-align:left;border-left:15px solid rgba(84,114,134,.5);animation:_blink-caret_1uton_1 2s step-end infinite}._gradientText_1uton_126{background:linear-gradient(90deg,#c7d2fe,#fff,#bae6fd);-webkit-background-clip:text;background-clip:text;color:transparent}._heroActions_1uton_145{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.25rem;margin-left:calc(1.25rem + 2px);width:calc(100% - 1.25rem - 2px);visibility:visible;opacity:1;transform:translateY(0);transition:visibility .22s ease,opacity .22s ease,transform .22s ease}._heroActions_1uton_145 a,._heroActions_1uton_145 button{display:inline-flex;width:min(100%,260px);min-height:60px;align-items:center;justify-content:center;padding:1rem 1.5rem;color:var(--button-text);font-family:var(--section-font);font-size:clamp(1rem,1.3vw,1.15rem);font-weight:700;line-height:1.2;text-align:center;background:var(--hero-action-gradient);border:.25px solid var(--button-border);border-radius:10px;box-shadow:var(--action-glow-shadow);transition:transform .2s ease,box-shadow .2s ease}._floatingDeviButton_1uton_203{position:fixed;right:clamp(1rem,2vw,1.5rem);bottom:max(1rem,env(safe-area-inset-bottom),var(--footer-clearance, 0px));z-index:900;display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.8rem 1rem;color:var(--button-text);font-family:var(--section-font);font-size:.85rem;font-weight:700;background:var(--hero-action-gradient);border:.25px solid var(--button-border);border-radius:10px;box-shadow:var(--action-glow-shadow);visibility:hidden;opacity:0;transform:translateY(14px);pointer-events:none;transition:visibility .22s ease,opacity .22s ease,transform .22s ease,box-shadow .2s ease}._floatingDeviButtonVisible_1uton_251{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}._heroActions_1uton_145 a:focus-visible,._heroActions_1uton_145 button:focus-visible,._floatingDeviButton_1uton_203:focus-visible{outline:3px solid #0e647b;outline-offset:3px}@media (hover: hover) and (pointer: fine){._heroPrimaryAction_1uton_274:hover,._heroSecondaryAction_1uton_275:hover{transform:translateY(-2px);box-shadow:var(--action-glow-shadow);border-color:var(--button-border)}._floatingDeviButtonVisible_1uton_251:hover{transform:translateY(-2px);box-shadow:var(--action-glow-shadow)}}@media (max-width: 680px){._main_1uton_5{align-items:center;padding:clamp(1.5rem,5vh,3rem) 1rem}._heroActions_1uton_145{margin-top:1.5rem}._floatingDeviButton_1uton_203{right:1rem}}@media (width < 680px){._heroActions_1uton_145{width:100%;margin-left:0;justify-content:center}}@media (width < 600px){._heroActions_1uton_145 ._heroSecondaryAction_1uton_275{display:none}}@media (prefers-reduced-motion: reduce){._main_1uton_5:after,._tagline1_1uton_75{animation:none}._heroActions_1uton_145,._heroActions_1uton_145 a,._heroActions_1uton_145 button,._floatingDeviButton_1uton_203{transition:none}._heroActions_1uton_145 a:hover,._heroActions_1uton_145 button:hover,._floatingDeviButton_1uton_203:hover{transform:none}}@media (min-width: 681px) and (max-width: 1250px){._main_1uton_5{align-items:center;padding:clamp(3rem,6vh,4.5rem) 1rem}._mainContainer_1uton_62{gap:1.8rem}._tagline1_1uton_75{font-size:clamp(3.75rem,7.8vw,5.5rem)!important}._mainDescription_1uton_105{max-width:760px;font-size:clamp(1.5rem,2.6vw,2rem)!important;line-height:1.45}}@media (max-width: 900px){._main_1uton_5{min-height:calc(100svh - var(--nav-height));padding-block:clamp(3rem,6svh,4.5rem)}}@media (max-width: 680px){._main_1uton_5{padding-block:clamp(1.5rem,5svh,3rem)}}._tagline1_1uton_75{background:linear-gradient(90deg,#101d2b,#1d2636 48%,#19323e);-webkit-background-clip:text;background-clip:text;color:transparent}._gradientText_1uton_126{color:var(--button-text);background:none;-webkit-background-clip:border-box;background-clip:border-box}._byline_1564y_1{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-top:1.25rem;color:#4f5f7f;font-family:var(--main-font);font-size:.8rem;font-weight:400;line-height:1.5;letter-spacing:normal}._publishedDate_1564y_15{font-size:.7rem}._author_1564y_19{color:#141b33;font-family:var(--section-font);font-weight:800;letter-spacing:-.05em}._byline_1564y_1:not(._card_1564y_26){font-size:1.04rem;margin-top:.75rem}._byline_1564y_1:not(._card_1564y_26) ._publishedDate_1564y_15{font-size:.91rem}._card_1564y_26{position:relative;z-index:1;width:min(100%,320px);margin:.75rem auto 0}._draftBadge_1564y_42{padding:.35rem .65rem;color:var(--accent);background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;font-weight:700}._header_d0irj_1{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:1rem}._status_d0irj_9{display:inline-flex;min-height:2rem;align-items:center;padding:.45rem .7rem;color:#4f5f7f;font-family:var(--section-font);font-size:.68rem;font-weight:800;line-height:1;letter-spacing:.07em;text-transform:uppercase;background:#6366f108;border:1px solid rgba(99,102,241,.16);border-radius:10px}._heading_zmccb_1{width:100%;max-width:920px}._title_zmccb_6{margin:0;font-family:var(--section-font);font-size:var(--h1-font-size);font-weight:800;line-height:.98;letter-spacing:-.055em;text-wrap:balance;color:#141b33;background:none;-webkit-background-clip:initial;background-clip:border-box;-webkit-text-fill-color:#141b33}._introduction_zmccb_24{max-width:68ch;margin:1.25rem 0 0;color:#141b33;font-family:var(--section-font);font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:500;line-height:1.7;letter-spacing:-.5px;text-wrap:pretty}@media (max-width: 680px){._title_zmccb_6{line-height:.98;letter-spacing:-.045em}._introduction_zmccb_24{max-width:48ch;margin-top:.85rem;line-height:1.55}}._breadcrumbs_ga9rw_1{width:100%;margin-bottom:1.25rem}._list_ga9rw_6{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;padding:0;list-style:none}._item_ga9rw_18{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-soft);font-family:var(--section-font);font-size:16px;font-weight:650;line-height:1.4}._item_ga9rw_18:not(:last-child):after{color:#6366f18c;font-family:var(--main-font);font-size:1rem;font-weight:700;line-height:1;content:"›"}._link_ga9rw_43{color:var(--text-soft);transition:color .2s ease}._current_ga9rw_50{color:var(--primary);font-weight:800}._link_ga9rw_43:focus-visible{outline:3px solid rgba(99,102,241,.3);outline-offset:3px;border-radius:3px}@media (hover: hover){._link_ga9rw_43:hover{color:var(--accent-dark)}}@media (max-width: 680px){._breadcrumbs_ga9rw_1{margin-bottom:1rem}._list_ga9rw_6,._item_ga9rw_18{gap:.35rem}}@media (prefers-reduced-motion: reduce){._link_ga9rw_43{transition:none}}._page_1nwsr_1{display:flex;width:100%;min-height:calc(100dvh - var(--nav-height));flex:1;flex-direction:column;padding:clamp(2.75rem,5vw,5rem) 1rem 0}._page_1nwsr_1>.articleIndexLinkWrap{flex:1;padding-block:clamp(3rem,5vw,5rem)}._headingWrap_1nwsr_15{width:min(100%,1480px);margin-inline:auto}._headingWrap_1nwsr_15 p{letter-spacing:-1px;font-size:clamp(1.2rem,2.3vw,1.7rem)!important;font-weight:550;color:#141b33}._grid_1nwsr_27{display:grid;width:min(100%,var(--container));grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;align-items:stretch;gap:2rem;margin:clamp(2rem,4vw,3.25rem) auto 0}._actions_1nwsr_37{display:flex;width:100%;justify-content:center;margin-top:auto}@media (450px < width < 900px){._headingWrap_1nwsr_15>header{width:calc(100% - 2rem);margin-left:2rem}}@media (768px <= width <= 900px){._grid_1nwsr_27{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}._grid_1nwsr_27>.globalCard{min-width:0;padding:clamp(1rem,2.4vw,1.35rem)}._grid_1nwsr_27 h2.globalCardTitle{font-size:clamp(1.44rem,2.88vw,1.62rem)!important}}@media (width < 768px){._grid_1nwsr_27{width:min(100%,420px);grid-template-columns:minmax(0,1fr)}}._text_1si4w_1{margin:0;white-space:pre-line;max-width:70ch;font-size:1.125rem;line-height:1.65;color:#141b33;font-family:var(--main-font);font-weight:400;letter-spacing:-.3px;text-wrap:pretty}._heading_1xw4y_1{width:100%}._standfirst_1xw4y_5{width:100%;max-width:920px;margin-top:2rem}._articleTextbox_1xw4y_11,._textImageCard_1xw4y_12,._textBlock_1xw4y_13{width:100%;min-width:0;scroll-margin-top:calc(var(--nav-height) + 1.5rem)}._articleTextbox_1xw4y_11{padding:clamp(1.35rem,3vw,2rem);background:#ffffffd1;border:1px solid rgba(20,27,51,.13);border-radius:1.25rem;box-shadow:0 20px 50px #141b3314,inset 0 1px #ffffffe6}._textImageCard_1xw4y_12{display:grid;gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(2rem,5vw,4rem);background:radial-gradient(circle at 100% 0%,rgba(125,211,252,.08),transparent 24rem),linear-gradient(180deg,#fffffff0,#f8fafce0);border:1px solid rgba(148,163,184,.26);border-radius:var(--radius-xl);box-shadow:0 22px 55px #11182712}._articleImageCopy_1xw4y_42{display:flex;min-width:0;flex-direction:column;align-items:flex-start}._sectionTitle_1xw4y_49{margin:0 0 1.25rem;max-width:100%;font-family:var(--section-font);font-size:var(--h2-font-size);font-weight:800;line-height:1.04;letter-spacing:-.05em;text-wrap:balance;overflow-wrap:anywhere;background:linear-gradient(135deg,#111827,#263752 55%,#354461);-webkit-background-clip:text;background-clip:text;color:transparent}._sectionTitle_1xw4y_49 code{padding:.1em .25em;color:#263752;background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;font-family:var(--code-font),monospace;font-size:.85em;letter-spacing:normal}._textboxContent_1xw4y_76{max-width:65ch;font-family:var(--section-font);font-size:clamp(1.05rem,1.45vw,1.25rem);font-weight:450}._imageContent_1xw4y_83{max-width:62ch;font-family:var(--section-font);font-size:clamp(1rem,1.3vw,1.1rem);font-weight:450}._textBlock_1xw4y_13{padding-inline:clamp(1.35rem,3vw,2rem)}._tabletPreview_1xw4y_94{width:min(100%,480px);min-width:0;align-self:center;justify-self:center;margin:0}._tabletFrame_1xw4y_102{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:var(--surface-soft);border:7px solid #111827;border-radius:.9rem;box-shadow:0 28px 65px #1118273d}._tabletFrame_1xw4y_102 img,._mediaPlaceholder_1xw4y_114{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}._tabletFrame_1xw4y_102 img{display:block;object-fit:contain}._textImageCard_1xw4y_12#an-address-not-an-endorsement ._tabletFrame_1xw4y_102,._textImageCard_1xw4y_12#approving-the-wrong-session ._tabletFrame_1xw4y_102,._textImageCard_1xw4y_12#ai-image-example ._tabletFrame_1xw4y_102{aspect-ratio:auto}._textImageCard_1xw4y_12#an-address-not-an-endorsement ._tabletFrame_1xw4y_102 img,._textImageCard_1xw4y_12#approving-the-wrong-session ._tabletFrame_1xw4y_102 img,._textImageCard_1xw4y_12#ai-image-example ._tabletFrame_1xw4y_102 img{position:static;height:auto}._mediaPlaceholder_1xw4y_114{display:grid;place-items:center;padding:1rem;color:var(--text-soft);font-family:var(--main-font);font-size:.9rem;text-align:center}._tabletPreview_1xw4y_94 figcaption{margin-top:1rem;color:#4f5f7f;font-family:var(--section-font);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase}@media (min-width: 1200px){._textImageCard_1xw4y_12{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}._imageLeft_1xw4y_165{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}._imageLeft_1xw4y_165 ._tabletPreview_1xw4y_94{grid-column:1;grid-row:1}._imageLeft_1xw4y_165 ._articleImageCopy_1xw4y_42{grid-column:2;grid-row:1}}@media (max-width: 767px){._textboxContent_1xw4y_76{font-size:.98rem;line-height:1.65}._textImageCard_1xw4y_12{padding:1.35rem;border-radius:1.35rem}}@media (max-width: 680px){._standfirst_1xw4y_5{margin-top:1.5rem}}._content_bctn2_1{width:100%;min-width:0;max-width:100%;overflow-wrap:anywhere;line-height:1.75}._content_bctn2_1>*{margin:1.25rem 0 0}._content_bctn2_1>:first-child{margin-top:0}._content_bctn2_1>:last-child{margin-bottom:0}._content_bctn2_1 h3,._content_bctn2_1 h4,._content_bctn2_1 h5,._content_bctn2_1 h6{font-family:var(--section-font);font-weight:800;line-height:1.25;letter-spacing:-.03em}._content_bctn2_1 h3{margin-top:1.75rem}._content_bctn2_1 h3,._content_bctn2_1 strong,._content_bctn2_1 b{font-family:Inter,sans-serif;font-size:18px;font-weight:700}._content_bctn2_1 h4,._content_bctn2_1 h5,._content_bctn2_1 h6{font-size:1.1em}._content_bctn2_1 h3{font-size:var(--h3-font-size)}._content_bctn2_1 ul,._content_bctn2_1 ol{padding-left:1.5em}._content_bctn2_1 ol>li{padding-left:.3em}#designing-for-interruption ._content_bctn2_1 ol>li::marker,#approving-the-wrong-session ._content_bctn2_1 ol>li::marker{font-weight:700}._content_bctn2_1 li+li,._content_bctn2_1 li>ul,._content_bctn2_1 li>ol,._content_bctn2_1 li>p+p{margin-top:.5rem}._content_bctn2_1 a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}._content_bctn2_1 a:hover{color:var(--accent-dark)}._content_bctn2_1 a:focus-visible,._tableScroll_bctn2_85:focus-visible{outline:3px solid rgba(99,102,241,.35);outline-offset:3px;border-radius:3px}._content_bctn2_1 blockquote{padding-left:1rem;color:var(--text-soft);border-left:3px solid var(--accent-soft)}._content_bctn2_1 code{font-family:var(--code-font),monospace;font-size:.9em}._content_bctn2_1 :not(pre)>code{padding:.15em .35em;background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;overflow-wrap:anywhere}._content_bctn2_1 pre{min-width:0;max-width:100%;overflow-x:auto;padding:1.25rem;color:#d4d4d4;background:#1e1e1e;border-radius:10px;line-height:1.65;overscroll-behavior-inline:contain;-moz-tab-size:2;tab-size:2}._content_bctn2_1 pre code{display:block;width:max-content;min-width:100%;white-space:pre;overflow-wrap:normal}._content_bctn2_1 pre .articleCodeLanguage{display:block;margin-bottom:.75rem;color:#4ec9b0;font-family:var(--code-font),monospace;font-size:.9em;line-height:1.35}._content_bctn2_1 pre .articleCodeHeading{color:#fff}._content_bctn2_1 figure{margin-inline:0}._content_bctn2_1 figure pre{margin:0}._content_bctn2_1 figcaption{margin:0 0 1rem;color:#4f5f7f;font-family:var(--section-font);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase}#ai-introduction ._content_bctn2_1 pre code.language-text{width:auto;color:#a6da95;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}#ai-introduction ._content_bctn2_1 pre .articleCodeBlankLine{display:block;height:.945em;line-height:0}._content_bctn2_1 pre .hljs-keyword,._content_bctn2_1 pre .hljs-literal,._content_bctn2_1 pre .hljs-selector-tag{color:#569cd6}._content_bctn2_1 pre .hljs-string,._content_bctn2_1 pre .hljs-regexp{color:#ce9178}._content_bctn2_1 pre .hljs-comment,._content_bctn2_1 pre .hljs-quote{color:#6a9955}._content_bctn2_1 pre .hljs-number{color:#b5cea8}._content_bctn2_1 pre .hljs-title,._content_bctn2_1 pre .hljs-built_in{color:#dcdcaa}._content_bctn2_1 pre .hljs-attr,._content_bctn2_1 pre .hljs-property,._content_bctn2_1 pre .hljs-variable,._content_bctn2_1 pre .hljs-attribute{color:#9cdcfe}._content_bctn2_1 pre .hljs-type,._content_bctn2_1 pre .hljs-title.class_{color:#4ec9b0}._content_bctn2_1 pre .hljs-selector-class,._content_bctn2_1 pre .hljs-selector-id{color:#d7ba7d}._tableScroll_bctn2_85{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:10px;overscroll-behavior-inline:contain}._content_bctn2_1 table{width:100%;min-width:28rem;border-collapse:collapse;font-size:.9em}._content_bctn2_1 th,._content_bctn2_1 td{padding:.75rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}._content_bctn2_1 th{background:var(--surface-soft);font-weight:700}._content_bctn2_1 tbody tr:last-child td{border-bottom:0}._content_bctn2_1 img{max-width:100%;height:auto}._content_bctn2_1 hr{border:0;border-top:1px solid var(--border)}._page_fnmv7_1{display:flex;width:min(100% - 2rem,var(--container));flex:1;flex-direction:column;margin-inline:auto;padding-block:clamp(3rem,6vw,5rem);color:#141b33}._page_fnmv7_1 p,._page_fnmv7_1 table{font-family:var(--main-font)}._page_fnmv7_1 p{font-weight:400;font-size:1.125rem;line-height:1.65;letter-spacing:-.3px}._opening_fnmv7_23{display:flex;width:100%;flex-direction:column;align-items:flex-start;padding-inline:calc(clamp(1.35rem,3vw,2rem) + 1px)}._opening_fnmv7_23>nav{margin-bottom:2rem}._sections_fnmv7_35{display:flex;width:100%;min-width:0;flex-direction:column;gap:clamp(4.5rem,8vw,7rem);margin-top:1.75rem}._backLink_fnmv7_44{margin-top:1.5rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px}._returnActions_fnmv7_51{display:flex;width:100%;flex-wrap:wrap;justify-content:space-evenly;align-items:center;gap:1.5rem;margin-top:clamp(4.5rem,8vw,7rem)}._footnote_fnmv7_61{margin-top:2.5rem}._footnote_fnmv7_61 hr{margin:0;border:0;border-top:1px solid #d1d5db}._page_fnmv7_1:has(._footnote_fnmv7_61){padding-bottom:0}._footnoteBody_fnmv7_75{display:flex;justify-content:center;align-items:center;padding:clamp(3rem,6vw,5rem) clamp(1.35rem,3vw,2rem);text-align:center}._footnote_fnmv7_61 p{margin:0;font-size:clamp(.875rem,.4vw + .825rem,1rem)!important}._footnoteCopy_fnmv7_88{opacity:.8}._footnote_fnmv7_61 a{color:inherit;font-weight:500;text-decoration:none;transition:color .2s ease}._footnote_fnmv7_61 a:hover,._footnote_fnmv7_61 a:focus-visible{color:var(--muted)}@media (max-width: 520px){._returnActions_fnmv7_51{flex-direction:column}}@media (prefers-reduced-motion: reduce){._returnActions_fnmv7_51 a,._footnote_fnmv7_61 a{transition:none}}@font-face{font-family:Inconsolata;font-style:normal;font-weight:450;font-stretch:100%;font-display:swap;src:url(/fonts/inconsolata-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-weight:450;font-stretch:100%;font-display:swap;src:url(/fonts/inconsolata-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-weight:450;font-stretch:100%;font-display:swap;src:url(/fonts/inconsolata-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303,U+0309,U+0323,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-0130,U+0132-0151,U+0154-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/sora-latin-ext.woff2) format("woff2");unicode-range:U+0100-0130,U+0132-0151,U+0154-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--h1-font-size: clamp(2.5rem, 4.5vw + 1rem, 4.25rem);--h2-font-size: clamp(1.75rem, 2.5vw + 1rem, 2.75rem);--h3-font-size: clamp(1.35rem, 1.5vw + 1rem, 1.85rem);--main-font: "Inter", sans-serif;--text-premium-grey: #34383e;--heading-grey-gradient: linear-gradient(135deg, #202327 0%, var(--text-premium-grey) 55%, #555b63 100%);--code-font: "Inconsolata", monospace;--section-font: "Sora", sans-serif;--card-text-color: #141b33;--card-description-font: "Inter", system-ui, sans-serif;--body-background: linear-gradient(180deg, #fbfdfe 0%, #f7f8fa 58%, #f2f4f8 100%);--bg: #f6f7fb;--bg-deep: #e9ecf5;--surface: #ffffff;--surface-soft: #f0f3fa;--surface-glass: rgba(255, 255, 255, .82);--primary: #111827;--primary-2: #1f2937;--accent: #3730a3;--accent-dark: #3063a3;--accent-soft: #c7d2fe;--silver: #e5e7eb;--silver-bright: #ffffff;--silver-deep: #9ca3af;--warm: #818cf8;--text: #111827;--text-soft: #4b5563;--muted: #6b7280;--border: rgba(17, 24, 39, .12);--border-strong: rgba(17, 24, 39, .22);--border-theme: rgba(100, 100, 100, .2);--button-background: linear-gradient(145deg, #fafbfd 0%, #e2e6ec 48%, #cbd2dc 100%);--button-hover-background: linear-gradient(145deg, #ffffff 0%, #e9edf2 48%, #d4dbe4 100%);--button-text: #1f2937;--button-border: rgba(174, 184, 197, .4);--button-glow-color: rgba(0, 49, 53, .24);--action-glow-shadow: 0px 8px 25px rgba(0, 49, 53, .24), 0px 4px 15px rgba(0, 49, 53, .14);--shadow-soft: 0 14px 35px rgba(17, 24, 39, .08);--shadow-card: 0 24px 60px rgba(17, 24, 39, .14);--shadow-dark: 0 28px 80px rgba(3, 7, 18, .35);--radius-sm: .75rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--container: 1180px;--nav-height: 4rem;--heading-gradient: linear-gradient( 135deg, #0b1120 0%, #111827 35%, #1f2937 68%, #334155 100% )}*{box-sizing:border-box}.gradient-text{display:inline-block;position:relative;color:var(--silver-bright);background:linear-gradient(110deg,#aeb8be,#f7fbfc,#cfd7dc 36%,#fff 52%,#9aa7ae 72%,#eef3f5);background-size:230% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 26px rgba(255,255,255,.16);animation:silverTextSweep 5.5s ease-in-out infinite}#projects,#contact,#about{scroll-margin-top:calc(var(--nav-height) + 1rem)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{transform:translate(-2rem);opacity:0}to{transform:translate(0);opacity:1}}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer{to{left:250%}}@keyframes silverTextSweep{0%,to{background-position:0% center}50%{background-position:100% center}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{min-height:100vh;overflow-x:hidden;font-family:var(--main-font);color:var(--text);background:var(--body-background)}body::selection{background:var(--accent-soft);color:var(--primary)}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}button{cursor:pointer}img{max-width:100%;display:block}.banner{width:100%;margin:0;background:var(--surface);border:none;padding:clamp(.75rem,1.5vw,1.125rem) max(1.25rem,calc((100% - var(--container)) / 2));overflow:hidden}@media (width > 1200px){.banner{padding-inline:1.25rem}.banner h2{text-align:left}}.banner:before,.banner:after{display:none}h1{font-size:var(--h1-font-size)!important}p{font-size:clamp(1rem,.4vw + .95rem,1.125rem)!important}h2{font-size:var(--h2-font-size)!important}[data-homepage]{--h2-font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem)}h3{font-size:var(--h3-font-size)}h3:not(:where([data-homepage] h3)){font-size:var(--h3-font-size)!important}.heading{margin:0;margin-bottom:.3rem;padding:0;font-family:var(--section-font);font-size:var(--h2-font-size);font-weight:800;line-height:1.08;letter-spacing:-.04em;background:var(--heading-grey-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.header{width:100%;height:var(--nav-height);background-color:transparent}.logo{filter:url(/icons/logo-colour-filter.svg#dark-grey);width:5rem;height:2.5rem;object-fit:contain;border:none}.navbar{width:100%;min-height:var(--nav-height);display:flex;justify-content:space-between;align-items:center;gap:2rem;position:fixed;top:0;left:0;z-index:999;padding:.85rem clamp(1rem,4vw,2rem);background:#fbfdfedb;border-bottom:1px solid var(--border-theme);box-shadow:0 10px 35px #64646412;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.navMenu{list-style:none;display:flex;justify-content:flex-end;align-items:center;gap:clamp(1.5rem,4vw,3.25rem);position:static}.navLink,.navMenu a,.navMenu li{color:var(--text-soft);font-size:.92rem;font-weight:700;letter-spacing:.02em}.navLink,.navMenu a{position:relative;transition:color .22s ease}.navLink:after,.navMenu a:after{content:"";position:absolute;left:0;bottom:-.35rem;width:0;height:2px;background:var(--accent);transition:width .22s ease}.navLink:hover,.navMenu a:hover{color:var(--primary);text-decoration:none}.navLink:hover:after,.navMenu a:hover:after{width:100%}.hamburger{display:none;padding:.45rem;background:transparent;border:0}.bar{width:22px;height:2px;display:block;margin:5px;background-color:var(--primary);transition:.3s ease-in-out}@media screen and (max-width: 1000px){.hamburger{display:block;flex:0 0 auto;cursor:pointer}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navMenu{position:fixed;top:var(--nav-height);right:0;left:0;z-index:998;display:flex;width:100%;max-height:calc(100dvh - var(--nav-height));flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;padding:.75rem 0 1rem;background:#fbfdfefa;border-bottom:1px solid var(--border);box-shadow:var(--shadow-soft);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);visibility:hidden;opacity:0;transform:translate(-100%);pointer-events:none;transition:visibility .3s ease,opacity .3s ease,transform .3s ease}.navMenu.active{visibility:visible;opacity:1;transform:translate(0);pointer-events:auto}.navMenu li{width:100%;margin:0}.navMenu .navLink{display:flex;width:100%;min-height:3.5rem;align-items:center;padding:.9rem 1.5rem;letter-spacing:.02em}.navMenu .navLink:after{display:none}.navMenu .navLink:hover,.navMenu .navLink:focus-visible{color:var(--primary);background:#00313512}.deviMenuItem{padding:.75rem 1.5rem 0}.deviMenuItem .devi-nav-button{width:100%;min-height:48px}}.chat-modal{--chat-action-color: #141b33}.devi-nav-button{padding:.72rem 1.1rem;color:var(--button-text);font-size:.95rem;font-family:var(--section-font);font-weight:700;letter-spacing:-.015em;background:var(--button-background);border-radius:10px;border:1px solid var(--button-border);box-shadow:var(--action-glow-shadow);transition:transform .2s ease,box-shadow .2s ease}.devi-nav-button:hover{transform:translateY(-2px);box-shadow:var(--action-glow-shadow)}.chat-overlay,.nav-overlay{background:#050816ad;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;align-items:flex-end;padding:1.875rem;z-index:9999}.chat-modal{display:flex;width:min(720px,calc(100vw - 3.75rem));height:min(760px,calc(100dvh - 3.75rem));max-height:none;flex-direction:column;overflow:hidden;background:var(--body-background);border:1px solid rgba(255,255,255,.78);border-radius:5px;box-shadow:var(--shadow-dark);animation:chatFadeIn .22s ease}.chat-modal .message.user{align-self:flex-end;color:var(--button-text);background:var(--button-background);border-bottom-right-radius:.35rem}.chat-modal .chat-input-area button{padding:.8rem 1rem;border:1px solid var(--button-border);border-radius:.8rem;background:var(--button-background);color:var(--primary);font:inherit;font-weight:700;cursor:pointer;box-shadow:var(--action-glow-shadow);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.chat-modal .chat-input-area input{border-width:.25px;border-color:#111827b3}.chat-modal .chat-input-area input:focus{border-color:#111827b3;box-shadow:0 0 0 4px #1118271f}.chat-modal .chat-input-area button:hover{background:var(--button-hover-background);transform:translateY(-1px);box-shadow:var(--action-glow-shadow)}.chat-modal .chat-input-area button:focus-visible{outline:3px solid rgba(15,23,42,.22);outline-offset:3px}.chat-modal .chat-input-area button:disabled{cursor:not-allowed;transform:none;box-shadow:none;opacity:.55}.chat-topbar{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;color:var(--button-text);background:var(--button-background)}.chat-topbar h3{margin:0;padding:.25rem 0;color:var(--button-text);font-size:1rem;font-weight:800;letter-spacing:-.01em}.close-button{background:transparent;border:none;color:var(--button-text);font-size:1.35rem;cursor:pointer;opacity:.82;transition:opacity .2s ease,transform .2s ease}.close-button:hover{opacity:1;transform:scale(1.05)}.chat-messages{height:calc(85vh - 143px);max-height:507px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px;display:flex;flex-direction:column;gap:14px;background:transparent}.message{max-width:82%;padding:.5rem 1.5rem;border-radius:1rem;line-height:1.55;font-size:.94rem;word-wrap:break-word;overflow-wrap:break-word}.message.user{align-self:flex-end;background:linear-gradient(135deg,var(--primary-2),var(--accent-dark));color:#fff;border-bottom-right-radius:.35rem}.message.assistant{align-self:flex-start;background:#fff;color:var(--text);border:1px solid var(--border);border-bottom-left-radius:.35rem;box-shadow:0 8px 24px #4338ca12}.message.assistant{padding:1rem 1.25rem}.message.assistant>p{margin:0 0 .9rem}.message.assistant>p:has(+ul){margin:1.4rem 0 .6rem}.message.assistant>ul{margin:0 0 1.25rem;padding-left:1.35rem}.message.assistant li>ul{margin:.55rem 0 .25rem;padding-left:1.25rem}.message.assistant li+li{margin-top:.4rem}.message.assistant>:first-child{margin-top:0}.message.assistant>:last-child{margin-bottom:0}.chat-input-area{display:flex;gap:.65rem;padding:1rem;background:#fff}.chat-input-area input{flex:1;min-width:0;padding:.8rem .9rem;border-radius:.8rem;border:1px solid var(--border);outline:none;background:#fff;color:var(--text);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.chat-input-area input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #6366f11f}.chat-input-area input::placeholder{color:var(--muted)}.chat-input-area button{padding:.8rem 1rem;border-radius:.8rem;color:var(--button-text);font-weight:700;cursor:pointer;background:var(--button-background);border-radius:10px;border:1px solid var(--button-border);box-shadow:var(--action-glow-shadow);transition:transform .2s ease,box-shadow .2s ease}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:#4338ca47;border-radius:10px}.devi-status{display:flex;align-items:center;gap:.65rem}.status-dot{width:.65rem;height:.65rem;border-radius:50%;background:#22c55e;box-shadow:0 0 12px #22c55ee6}.cardsSection{width:100%;background:radial-gradient(circle at 18% 10%,rgba(99,102,241,.12),transparent 26rem),radial-gradient(circle at 82% 0%,rgba(125,211,252,.08),transparent 24rem),linear-gradient(180deg,#f6f7fb,#eef1f8)}.stackDeck{width:100%}.stackDeckCards{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,420px));justify-content:center;gap:2rem;padding:5rem 1rem 4rem}.stackDeckBtn{display:none}.globalCard{width:100%;max-width:420px;min-height:520px;display:flex;flex-direction:column;align-items:center;margin:1.5rem auto 0;padding:1.5rem;position:relative;overflow:hidden;background:linear-gradient(180deg,#fffffff5,#f8fafce6);border:1px solid rgba(148,163,184,.28);border-radius:1.4rem;box-shadow:var(--action-glow-shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.globalCard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 0%,var(--button-glow-color),transparent 34%),radial-gradient(circle at 100% 20%,var(--button-glow-color),transparent 28%);opacity:0;transition:opacity .25s ease;pointer-events:none}.globalCard:hover{transform:translateY(-7px);border-color:var(--button-glow-color);box-shadow:var(--action-glow-shadow)}.globalCard:hover:before{opacity:1}.articlesSection .globalCard:before{background:radial-gradient(circle at 30% 0%,var(--button-glow-color),transparent 34%),radial-gradient(circle at 100% 20%,var(--button-glow-color),transparent 28%)}.articlesSection .globalCard:hover{border-color:var(--button-glow-color);box-shadow:var(--action-glow-shadow)}.globalCardIcon{position:relative;z-index:1;width:4rem;height:4rem;display:grid;place-items:center;margin-bottom:1rem;font-size:1.8rem}.globalCardTitle{position:relative;z-index:1;margin:.35rem 0 .65rem;font-family:var(--section-font);font-size:1.35rem;font-weight:800;letter-spacing:-.045em;text-align:center;background:var(--heading-grey-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}h2.globalCardTitle{font-size:1.62rem!important}.globalCardSubtitle{position:relative;z-index:1;margin:0 0 1rem;color:#4f5f7f;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase}.globalCardDescription{position:relative;z-index:1;width:min(100%,320px);margin:0 auto;padding:0;color:var(--card-text-color);font-family:var(--section-font);font-size:.98rem;font-weight:450;line-height:1.7;letter-spacing:-.3px;text-align:left}.articleImagePlaceholder{position:relative;display:grid;width:min(100%,320px);aspect-ratio:3 / 2;flex:0 0 auto;align-self:center;place-items:center;overflow:hidden;margin:1.25rem auto 0;color:var(--card-text-color);font-family:var(--card-description-font);font-size:.9rem;text-align:center;border:.5px solid #000}.articleImagePlaceholder img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover}.articleImagePlaceholder span{padding:1rem;overflow-wrap:anywhere}.articlesSection .globalCardSubtitle{width:min(100%,320px);margin:.75rem auto 0;text-align:left}.articlesSection .globalCardDescription{margin-top:auto;padding-top:1.25rem;font-family:var(--card-description-font);font-size:.92rem;font-weight:400}.articlesSection .globalCardBtn{margin-top:1.875rem}.globalCardBtn,.btnLink{position:relative;z-index:1;width:min(100%,250px);display:inline-flex;align-items:center;justify-content:center;margin:auto 0 .35rem;padding:.82rem 1rem;gap:.45rem;color:var(--button-text);font-size:.95rem;font-family:var(--section-font);font-weight:600;letter-spacing:-.015em;background:var(--button-background);border:1px solid var(--button-border);border-radius:10px;box-shadow:var(--action-glow-shadow);transition:transform .2s ease,box-shadow .2s ease}.globalCardBtn:hover,.btnLink:hover{transform:translateY(-2px);box-shadow:var(--action-glow-shadow)}.projectGlobalCard{min-height:560px}.globalCardImageWrap{width:min(100%,250px);margin-inline:auto;position:relative;z-index:1;overflow:hidden;background:linear-gradient(135deg,#eef2ff,#f0f9ff);border:1px solid rgba(99,102,241,.12);box-shadow:inset 0 1px #ffffffe6,0 8px 20px #1118270f}.globalCardImage{width:100%;height:auto;display:block;transition:transform .35s ease}.globalCard:hover .globalCardImage{transform:scale(1.04)}.globalGithubIcon{position:relative;z-index:1;width:2.6rem;height:2.6rem;margin:.4rem 0 0;padding:.45rem;border:1px solid var(--border);border-radius:50%;background:#fff;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.globalGithubIcon:hover{transform:translateY(-2px);border-color:#6366f180;box-shadow:var(--shadow-soft)}@media (max-width: 900px){.stackDeckCards{position:relative;width:min(100%,420px);height:675px;display:block;margin:0 auto;padding:0}.stackDeckItem{position:absolute;left:1rem;right:1rem;top:2rem;bottom:auto;transition:transform .28s ease,opacity .28s ease}.stackDeckItem>*{width:100%;height:auto}.stackDeckItem1{z-index:3;transform:translateY(0) scale(1);opacity:1}.stackDeckItem2{transform:translateY(6px) scale(.985);opacity:.45;filter:brightness(.98) saturate(.9)}.stackDeckItem3{transform:translateY(12px) scale(.97);opacity:.22;filter:brightness(.98) saturate(.9)}.globalCard{min-height:auto;padding:1.35rem}.projectGlobalCard{min-height:auto}.projectCardText{flex:unset;display:block;min-height:auto;margin:1rem 0 1.05rem;padding:.4rem .65rem;font-size:.94rem;line-height:1.65}.globalCardImageWrap{width:min(100%,230px);height:130px}.globalCardBtn{margin:.15rem 0 .35rem}.stackDeckBtn{display:flex;align-items:center;justify-content:center;width:min(100%,220px);margin:.25rem auto 2rem;padding:.82rem 1rem;color:#fff;font-family:var(--main-font);font-weight:800;background:linear-gradient(135deg,#111827,#1e1b4b);border:1px solid rgba(255,255,255,.08);border-radius:999px;box-shadow:var(--action-glow-shadow)}}@media (max-width: 420px){.stackDeckCards{height:720px}.globalCardTitle{font-size:1.25rem}h2.globalCardTitle{font-size:1.5rem!important}.globalCardDescription,.projectCardText{font-size:.92rem}.globalCardImageWrap{width:min(100%,220px);height:125px}}@media (max-width: 360px){.stackDeckCards{height:760px}}.stackDeckBtn,.globalSwipeBtn{display:none}@media (max-width: 900px){.globalSwipeBtn{position:relative;z-index:2;align-self:flex-end;display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;width:max-content;margin:1rem 0 .25rem;padding:0;color:var(--button-text);font-family:var(--section-font);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:var(--button-background);border:1px solid var(--button-border);border-radius:10px;box-shadow:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}.globalSwipeBtn .swipeArrows{display:block;width:calc(1.82rem - 8px);height:calc(1.3rem + 1px);flex-shrink:0;margin:0;fill:none;stroke:currentColor;stroke-width:2px}.swipeDirectionBtn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:100%;padding:.45rem .75rem;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;background:transparent;border:0;border-radius:inherit}.swipeDirectionBtn:focus-visible{outline:2px solid currentColor;outline-offset:-2px}.swipeDivider{position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.globalSwipeBtn:hover{transform:translateY(-1px);background:var(--button-hover-background);border-color:var(--button-border)}.articlesSection .globalSwipeBtn{max-width:100%;color:var(--button-text)}.articlesSection .swipeDirectionBtn{padding-block:.2rem}}@media (max-width: 900px){.cardsSection,.stackDeck,.stackDeckCards{overflow:visible}.stackDeckCards{position:relative;width:min(100%,420px);min-height:830px;height:auto;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;margin:0 auto;padding:2rem 1rem 4.5rem;perspective:1200px}.stackDeckItem{position:relative;inset:auto;grid-area:1 / 1;min-width:0;transform-origin:center top;transition:transform .28s ease,opacity .28s ease,filter .28s ease}.stackDeckItem>*{width:100%;height:auto}.stackDeckItem1{z-index:3;transform:translateY(0) translate(0) rotate(0) scale(1);opacity:1;filter:none}.stackDeckItem2{z-index:2;transform:translateY(18px) translate(-5px) rotate(-2.2deg) scale(.985);opacity:.72}.stackDeckItem3{z-index:1;transform:translateY(34px) translate(6px) rotate(2.4deg) scale(.97);opacity:.5}.stackDeckItemHidden{visibility:hidden;pointer-events:none}.globalCard{min-height:680px;height:680px;padding:1.35rem}.projectGlobalCard{min-height:570px;height:570px}.projectCardText{flex:1;display:block;min-height:140px;max-height:200px;overflow:hidden;margin:1rem 0 1.05rem;padding:.4rem .65rem;font-size:.94rem;line-height:1.65}.globalCardImageWrap{width:min(100%,230px);height:130px}.globalCardBtn{margin:.15rem 0 .35rem;margin-top:auto}.globalSwipeBtn{margin-top:.85rem}.articlesSection .stackDeckCards{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;height:auto;min-height:830px;padding:2rem 1rem 4.5rem}.articlesSection .stackDeckItem{position:relative;inset:auto;grid-area:1 / 1;min-width:0}.articlesSection .globalCard{height:auto}}@keyframes stackDeckFlipOut{0%{transform:rotateY(0) scale(1);opacity:1}to{transform:rotateY(calc(85deg * var(--deck-flip-direction))) scale(.98);opacity:0}}@keyframes stackDeckFlipIn{0%{transform:rotateY(calc(-85deg * var(--deck-flip-direction))) scale(.98);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}@media (max-width: 900px) and (prefers-reduced-motion: no-preference){.stackDeckCards[data-flip-phase] .stackDeckItem{transition:none}.stackDeckCards[data-flip-phase] .stackDeckItem:not(.stackDeckItem1)>*>*{visibility:hidden}.stackDeckCards[data-flip-phase] .stackDeckItem1{transform-origin:center;backface-visibility:hidden;will-change:transform,opacity}.stackDeckCards[data-flip-phase=out] .stackDeckItem1{animation:stackDeckFlipOut .16s ease-in both}.stackDeckCards[data-flip-phase=in] .stackDeckItem1{animation:stackDeckFlipIn .22s cubic-bezier(.22,1,.36,1) both}}.formParentContainer{width:100%;padding:0 1rem 4rem;background:transparent}.formContent{width:100%;margin-top:clamp(2rem,4vw,3rem)}.form{width:min(100%,720px);display:flex;flex-direction:column;margin:0 auto;padding:clamp(2rem,5vw,3rem);background:#fffffff0;border:1px solid var(--border-theme);border-radius:var(--radius-xl);box-shadow:var(--action-glow-shadow)}.label{width:100%;font-family:var(--section-font);margin-bottom:.4rem;color:var(--primary);font-size:1.1rem;font-weight:800;letter-spacing:.02em}.input,.textarea{width:100%;font-family:var(--main-font);font-size:1rem;letter-spacing:0;color:var(--text);background:#fff;border:1px solid var(--border-theme);border-radius:10px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input{min-height:2rem;padding:.6rem 1rem;margin-bottom:.85rem}.textarea{min-height:9rem;overflow:auto;resize:vertical;margin:.5rem 0 2rem;padding:1rem}.input:focus,.textarea:focus{border-color:#646464;box-shadow:0 0 0 4px #6464641f}.submit{width:10rem;padding:.82rem 1rem;margin-bottom:1rem;color:var(--button-text);font-family:var(--main-font);font-weight:700;letter-spacing:.02em;background:var(--button-background);border-radius:10px;border:1px solid var(--button-border);box-shadow:var(--action-glow-shadow);transition:transform .2s ease,box-shadow .2s ease}.submit:hover{cursor:pointer;transform:translateY(-2px);border-radius:999px;background:var(--button-hover-background);box-shadow:var(--action-glow-shadow)}.popup{position:fixed;top:50%;left:50%;z-index:1000;transform:translate(-50%,-50%);max-width:min(90vw,420px);padding:1.35rem 1.5rem;text-align:center;background-color:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.popup p{margin:0;color:var(--text);font-size:1rem}@media (max-width: 600px){.form{width:100%}}.footer{position:relative;width:100%;min-height:4rem;display:flex;justify-content:center;align-items:center;margin-top:0;padding:1rem;background:#fbfdfedb;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.copyright{color:var(--text);font-family:var(--main-font);font-size:.75rem!important;font-weight:650;letter-spacing:-1px}.footerDeveloper{position:absolute;right:1rem;bottom:.5rem;max-width:calc(100% - 2rem);margin:0;color:var(--text);font-family:var(--main-font);font-size:10px!important;font-weight:400;line-height:1.3;text-align:right}.footerDeveloper a{color:#000;text-decoration:underline}@media (width < 600px){.footerDeveloper{bottom:6px;margin-right:.5rem}}@media (width < 550px){.footerDeveloper{font-size:8px!important}}.footerDeveloper a:hover{color:var(--primary);text-decoration:underline}.site-content{display:flex;min-height:calc(100dvh - var(--nav-height));flex-direction:column;transition:filter .35s ease,opacity .35s ease,transform .35s ease}.routeView{display:flex;flex:1;flex-direction:column}.nav-overlay{display:none}@media screen and (max-width: 1000px){.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;display:block}}@media (max-width: 500px){.navbar{padding:.85rem 1rem}.logo{width:4.4rem}.projectCard{min-height:520px}}.projectCardText{flex:1;display:flex;align-items:center;justify-content:center;min-height:130px;margin:.75rem 0;padding:0 .65rem;text-align:center;font-size:.94rem;line-height:1.55}.chat-container{display:flex;min-height:0;flex:1;flex-direction:column}.chat-messages{display:flex;min-height:0;flex:1;flex-direction:column;gap:14px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px;background:transparent}.chat-input-area{display:flex;flex:0 0 auto;gap:.65rem;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));background:#fff}@media (max-width: 680px){.chat-overlay{align-items:stretch;justify-content:stretch;padding:0}.chat-modal{width:100%;height:100dvh;max-height:none;border:0;border-radius:5px}.chat-topbar{min-height:calc(4.5rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1.25rem 0}.chat-messages{padding:1rem}.message{max-width:88%;padding:.65rem 1rem}}.chat-modal{min-height:0}.chat-container{display:flex;width:100%;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}.chat-messages{height:auto;max-height:none;min-height:0;flex:1 1 auto}.chat-input-area{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:.75rem;margin-top:auto;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));background:#fff;border-top:none}.chat-input-area input{width:100%;min-height:48px;flex:0 0 auto;padding:.8rem .9rem;border:1px solid var(--border);border-radius:.8rem}.chat-input-area button{display:inline-flex;width:min(100%,210px);min-height:46px;flex:0 0 auto;align-items:center;justify-content:center;align-self:center;padding:.8rem 1rem;color:#fff;font-family:var(--section-font);font-size:.9rem;font-weight:700;background:linear-gradient(135deg,#111827,#312a8f);border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:var(--action-glow-shadow);transition:transform .2s ease,box-shadow .2s ease}.chat-input-area button:focus-visible{outline:3px solid rgba(99,102,241,.35);outline-offset:3px}@media (hover: hover){.chat-input-area button:hover{transform:translateY(-2px);box-shadow:var(--action-glow-shadow)}}@media (max-width: 680px){.chat-topbar{min-height:calc(4.5rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1.25rem 0}.chat-messages{padding:1rem}.chat-input-area{padding:.9rem 1rem max(1rem,env(safe-area-inset-bottom))}.chat-input-area button{width:min(100%,190px)}}@media (prefers-reduced-motion: reduce){.chat-input-area button{transition:none}.chat-input-area button:hover{transform:none}}.articlesSection{width:100%;background:transparent}.articlesSection .cardsSection{background:transparent}.articleIndexLinkWrap{display:flex;justify-content:center;align-items:center;padding:1.5rem 1rem 3rem}.articlesSection>.cardsSection .stackDeckCards{min-height:0;padding-bottom:0}.articlesSection>.articleIndexLinkWrap{padding-block:5rem}.articlesSection>.articleIndexLinkWrap>.globalCardBtn{width:min(80%,200px);margin:0}.btnLink{width:min(100%,218px);margin:0;padding:.6rem 1rem;font-size:.85rem;font-weight:500;text-align:center}.articleIndexLink{display:inline-flex;min-height:44px;align-items:center;color:#4f5f7f;font-family:var(--section-font);font-size:1rem;font-weight:700;letter-spacing:-1px;text-align:center;text-transform:uppercase;transition:font-size .5s ease}.articleIndexLink:hover{text-decoration:none;font-size:1.03rem}.articlesSection .articleIndexLink{margin-block:2rem;font-size:1.44rem;letter-spacing:-1px}.articlesSection .articleIndexLink:hover{font-size:1.4832rem}.articleIndexLink:focus-visible{outline:2px solid #4f5f7f;outline-offset:4px}.projectsSection{width:100%;background:radial-gradient(circle at 18% 10%,rgba(99,102,241,.12),transparent 26rem),radial-gradient(circle at 82% 0%,rgba(125,211,252,.08),transparent 24rem),linear-gradient(180deg,#f6f7fb,#eef1f8)}@keyframes stackCardReveal{0%{opacity:0;transform:translate3d(0,38px,0) scale(.975);filter:blur(8px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@media (min-width: 901px){[data-reveal-visible=true] .articlesSection .stackDeckItem,[data-reveal-visible=true] .projectsSection .stackDeckItem{animation:stackCardReveal 1.05s cubic-bezier(.22,1,.36,1) both}[data-reveal-visible=true] .stackDeckItem:nth-child(1){animation-delay:.6s}[data-reveal-visible=true] .stackDeckItem:nth-child(2){animation-delay:.75s}[data-reveal-visible=true] .stackDeckItem:nth-child(3){animation-delay:.9s}[data-reveal-visible=true] .stackDeckItem:nth-child(4){animation-delay:1.05s}}@media (prefers-reduced-motion: reduce){.stackDeckItem{opacity:1;transform:none;filter:none;animation:none}}.banner .heading{font-family:Sora,system-ui,sans-serif}[data-homepage] .banner h2.heading,h2.globalCardTitle{background:var(--heading-grey-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
