:root{--primary-color:#007bff;--primary-dark:#0056b3;--primary-light:#b8daff;--secondary-color:#6c757d;--secondary-dark:#545b62;--secondary-light:#ced4da;--accent-color:#fd7e14;--accent-dark:#c96500;--accent-light:#fee3cd;--text-color-light:#f5f5f7;--text-color-dark:#333;--background-light:#fff;--background-dark:#121212;--card-bg-light:#f8f8fa;--card-bg-dark:#222228;--card-border-light:#0000000d;--card-border-dark:#5078c833;--card-shadow-light:0 2px 8px #0000001a;--card-shadow-dark:0 2px 10px #0006;--text-primary-light:#1a1a1a;--text-primary-dark:#f5f5faf2;--text-secondary-light:#444;--text-secondary-dark:#bec8ffd9;--text-muted-light:#6c757d;--text-muted-dark:#a0a0a0;--separator-light:#00000014;--separator-dark:#5078c84d;--timeline-color-light:#444;--timeline-color-dark:#8caae6b3;--button-bg-light:#eaeaef;--button-bg-dark:#333340;--button-hover-light:#dedee8;--button-hover-dark:#44444f;--foreground-light:#f8f9fa;--foreground-dark:#1e1e1e;--link-color-light:#6cb8ff;--link-color-dark:#0068c9;--blockquote-bg-light:#ffffff0d;--blockquote-bg-dark:#0078d40d;--code-bg-light:#ffffff1a;--code-bg-dark:#0000000a;--code-color-light:#ff9ad5;--code-color-dark:#d63384;--header-about-me-dark:#9ac0b0;--text-about-me-dark:#cca98d;--header-about-me-light:#4d685d;--text-about-me-light:#7c5535;--font-family-heading:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-size-5xl:3.75rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:2.5rem;--space-10:3rem;--space-12:4rem;--space-16:6rem;--radius-sm:.125rem;--radius-md:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal:1040;--z-index-popover:1050;--z-index-tooltip:1060}*,:before,:after{box-sizing:border-box}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{vertical-align:baseline;border:0;margin:0;padding:0;font-size:100%}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1.5}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}html{scroll-behavior:smooth}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--header-color);margin-bottom:var(--space-4);font-weight:600;line-height:var(--line-height-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin-bottom:var(--space-4)}a{color:var(--primary-color);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-dark);text-decoration:underline}strong,b{font-weight:600}em,i{font-style:italic}small{font-size:var(--font-size-sm)}code,pre{font-family:monospace}code{background-color:var(--code-bg-dark);color:var(--code-color-dark);border-radius:var(--radius-md);padding:.2em .4em;font-size:.9em}pre{background-color:var(--code-bg-dark);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);overflow-x:auto}pre code{background-color:#0000;border-radius:0;padding:0}blockquote{border-left:4px solid var(--primary-color);padding-left:var(--space-4);color:var(--text-secondary-light);background-color:var(--blockquote-bg-dark);padding:var(--space-4);border-radius:var(--radius-md);margin-left:0;margin-right:0;font-style:italic}@media (max-width:768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}}@media (max-width:480px){html,body{font-size:14px}}:root{--background-color:var(--background-light);--foreground-color:var(--foreground-light);--text-color:var(--text-color-dark);--text-muted:var(--text-muted-light);--header-color:var(--text-color-dark);--shadow-color:#0000001a;--border-color:#e0e0e0;--card-bg:var(--card-bg-light);--card-border:var(--card-border-light);--card-shadow:var(--card-shadow-light);--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--separator:var(--separator-light);--timeline-color:var(--timeline-color-light);--button-bg:var(--button-bg-light);--button-hover:var(--button-hover-light);--link-color:var(--link-color-dark);--blockquote-bg:var(--blockquote-bg-dark);--code-bg:var(--code-bg-dark);--code-color:var(--code-color-dark);--header-about-me:var(--header-about-me-light);--text-about-me:var(--text-about-me-light);--opposite-color:var(--text-color-light)}.darkMode{--background-color:var(--background-dark);--foreground-color:var(--foreground-dark);--text-color:var(--text-color-light);--text-muted:var(--text-muted-dark);--header-color:var(--text-color-light);--shadow-color:#ffffff0d;--border-color:#2d2d2d;--card-bg:var(--card-bg-dark);--card-border:var(--card-border-dark);--card-shadow:var(--card-shadow-dark);--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--separator:var(--separator-dark);--timeline-color:var(--timeline-color-dark);--button-bg:var(--button-bg-dark);--button-hover:var(--button-hover-dark);--link-color:var(--link-color-light);--blockquote-bg:var(--blockquote-bg-light);--code-bg:var(--code-bg-light);--code-color:var(--code-color-light);--header-about-me:var(--header-about-me-dark);--text-about-me:var(--text-about-me-dark);--opposite-color:var(--text-color-dark);background-color:var(--background-dark);color:var(--text-color-light);min-height:100vh}.lightMode{--background-color:var(--background-light);--foreground-color:var(--foreground-light);--text-color:var(--text-color-dark);--text-muted:var(--text-muted-light);--header-color:var(--text-color-dark);--shadow-color:#0000001a;--border-color:#e0e0e0;--card-bg:var(--card-bg-light);--card-border:var(--card-border-light);--card-shadow:var(--card-shadow-light);--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--separator:var(--separator-light);--timeline-color:var(--timeline-color-light);--button-bg:var(--button-bg-light);--button-hover:var(--button-hover-light);--link-color:var(--link-color-dark);--blockquote-bg:var(--blockquote-bg-dark);--code-bg:var(--code-bg-dark);--code-color:var(--code-color-dark);--header-about-me:var(--header-about-me-light);--text-about-me:var(--text-about-me-light);--opposite-color:var(--text-color-light);background-color:var(--background-light);color:var(--text-color-dark);min-height:100vh}@media (prefers-color-scheme:dark){:root:not(.lightMode){--background-color:var(--background-dark);--foreground-color:var(--foreground-dark);--text-color:var(--text-color-light);--text-muted:var(--text-muted-dark);--header-color:var(--text-color-light);--shadow-color:#ffffff0d;--border-color:#2d2d2d;--card-bg:var(--card-bg-dark);--card-border:var(--card-border-dark);--card-shadow:var(--card-shadow-dark);--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--separator:var(--separator-dark);--timeline-color:var(--timeline-color-dark);--button-bg:var(--button-bg-dark);--button-hover:var(--button-hover-dark);--link-color:var(--link-color-light);--blockquote-bg:var(--blockquote-bg-light);--code-bg:var(--code-bg-light);--code-color:var(--code-color-light);--header-about-me:var(--header-about-me-dark);--text-about-me:var(--text-about-me-dark);--opposite-color:var(--text-color-dark)}}body{transition:background-color var(--transition-normal),color var(--transition-normal)}@media (forced-colors:active){:root{forced-color-adjust:auto}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn var(--transition-normal)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp var(--transition-normal)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fade-in-down{animation:fadeInDown var(--transition-normal)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scale-in{animation:scaleIn var(--transition-normal)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.pulse{animation:2s infinite pulse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes visitedCountryPulse{0%{filter:brightness()saturate(1.1)}to{filter:brightness(1.2)saturate(1.3)}}.page-transition-wrapper{animation:.3s ease-out forwards pageEnter}.page-transition-wrapper.page-transitioning{animation:.15s ease-in forwards pageExit}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pageExit{0%{opacity:1;transform:translateY(0)}to{opacity:.5;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.page-transition-wrapper,.page-transition-wrapper.page-transitioning{animation:none}}@view-transition{navigation:auto}::view-transition-old(root){animation:.25s ease-out forwards viewTransitionFadeOut}::view-transition-new(root){animation:.35s ease-out forwards viewTransitionFadeIn}@keyframes viewTransitionFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@keyframes viewTransitionFadeIn{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}::view-transition-group(hero-image){animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(hero-image){mix-blend-mode:normal}::view-transition-new(hero-image){mix-blend-mode:normal}::view-transition-group(navigation){animation:none}::view-transition-group(page-content){animation-duration:.35s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(page-content){animation:.25s ease-out forwards viewTransitionSlideOut}::view-transition-new(page-content){animation:.35s ease-out forwards viewTransitionSlideIn}@keyframes viewTransitionSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes viewTransitionSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(page-content){animation:none}::view-transition-new(page-content){animation:none}::view-transition-old(hero-image){animation:none}::view-transition-new(hero-image){animation:none}}.darkMode .invertOnDark{filter:invert()}.darkMode .adjustOnDark{filter:brightness(1.75)}.theme-aware-text{color:var(--text-color);white-space:normal;word-wrap:break-word;margin-bottom:1.5em;line-height:1.85}.theme-aware-blockquote{border-left:4px solid var(--primary-color);padding:var(--space-4);margin:var(--space-4)0;background-color:var(--blockquote-bg);border-radius:var(--radius-md);color:var(--text-secondary)}.theme-aware-code{background-color:var(--code-bg);color:var(--code-color);border-radius:var(--radius-md);padding:.2em .4em;font-size:.9em}.blogPostContent p,.blogPostContent li{color:var(--text-color);white-space:normal;word-wrap:break-word}.blogPostContent h1,.blogPostContent h2,.blogPostContent h3,.blogPostContent h4,.blogPostContent h5,.blogPostContent h6{color:var(--header-color)}.tiptap,.ProseMirror,.tiptap:focus,.ProseMirror:focus{outline:none}.tiptap h1,.ProseMirror h1{margin-top:1.5rem;margin-bottom:1rem;line-height:1.3;font-size:2rem!important;font-weight:700!important}.tiptap h2,.ProseMirror h2{margin-top:1.25rem;margin-bottom:.75rem;line-height:1.3;font-size:1.5rem!important;font-weight:600!important}.tiptap h3,.ProseMirror h3{margin-top:1rem;margin-bottom:.5rem;line-height:1.4;font-size:1.25rem!important;font-weight:600!important}.tiptap h4,.ProseMirror h4{margin-top:.875rem;margin-bottom:.375rem;line-height:1.4;font-size:1.1rem!important;font-weight:600!important}.tiptap p,.ProseMirror p{margin-top:0;margin-bottom:.75rem}.tiptap ul,.ProseMirror ul{margin-bottom:.75rem;padding-left:1.5rem;list-style-type:disc!important}.tiptap ol,.ProseMirror ol{margin-bottom:.75rem;padding-left:1.5rem;list-style-type:decimal!important}.tiptap li,.ProseMirror li{margin-bottom:.25rem;display:list-item!important}.tiptap ul ul,.ProseMirror ul ul{list-style-type:circle!important}.tiptap ul ul ul,.ProseMirror ul ul ul{list-style-type:square!important}.tiptap ol ol,.ProseMirror ol ol{list-style-type:lower-alpha!important}.tiptap li p,.ProseMirror li p{margin-bottom:0}.tiptap blockquote,.ProseMirror blockquote{border-left:3px solid var(--primary-color,#007bff);opacity:.9;margin-left:0;margin-right:0;padding-left:1rem;font-style:italic}.tiptap pre,.ProseMirror pre{background-color:var(--code-bg,#0000000a);border-radius:.375rem;margin-bottom:.75rem;padding:1rem;overflow-x:auto}.tiptap code,.ProseMirror code{background-color:var(--code-bg,#0000000a);border-radius:.25rem;padding:.125rem .375rem;font-family:monospace;font-size:.9em}.tiptap pre code,.ProseMirror pre code{background-color:#0000;padding:0}.tiptap hr,.ProseMirror hr{border:none;border-top:1px solid var(--border-color,#e0e0e0);margin:1.5rem 0}.tiptap img,.ProseMirror img{border-radius:.375rem;max-width:100%;height:auto;margin-bottom:.75rem}.tiptap mark,.ProseMirror mark{background-color:#fef08a;border-radius:.125rem;padding:0 .125rem}.tiptap a,.ProseMirror a{color:var(--link-color,#007bff);text-decoration:underline}.tiptap p.is-editor-empty:first-child:before{color:#adb5bd;content:attr(data-placeholder);float:left;pointer-events:none;height:0;font-style:italic}.skip-link{z-index:var(--z-index-tooltip);padding:var(--space-3)var(--space-5);background-color:var(--primary-color);color:#fff;border-radius:var(--radius-lg);transition:top var(--transition-fast);box-shadow:var(--shadow-lg);font-weight:600;text-decoration:none;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-link:focus{top:var(--space-4);outline:3px solid var(--primary-light);outline-offset:2px}:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-md)}[role=button]:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.sr-only,.sr-announce{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.darkMode :focus-visible{outline-color:var(--primary-light)}.darkMode .skip-link:focus{outline-color:#fff}
