:root{--font-body: "Literata", Georgia, "Times New Roman", serif;--font-heading: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--color-text: #303840;--color-text-secondary: #525d68;--color-text-tertiary: #747e8a;--color-bg: #e6e9ed;--color-surface: #edf0f3;--color-border: #c5cad2;--color-link: #3d6aa8;--color-link-hover: #2c4f82;--color-code-bg: #dce0e5;--width-content: 800px;--width-page: 70dvw;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem}@media(max-width:1150px){:root{--width-page: 100%}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:18px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.7}a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:2px;transition:color .15s ease}a:hover{color:var(--color-link-hover)}img{max-width:100%;height:auto;display:block}::selection{background-color:#7fd4e1}:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:var(--space-md);z-index:10000;padding:var(--space-sm) var(--space-md);background:var(--color-bg);color:var(--color-link);font-family:var(--font-heading);font-size:.875rem;text-decoration:none;border:2px solid var(--color-link);border-radius:4px}.skip-link:focus{top:var(--space-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}[data-theme=dark]{--color-text: #e8e8e6;--color-text-secondary: #c0c0be;--color-text-tertiary: #909090;--color-bg: #1a1a1a;--color-surface: #222220;--color-border: #333331;--color-link: #6ba3f5;--color-link-hover: #93bbf8;--color-code-bg: #2a2a28}[data-theme=dark] ::selection{background-color:#1d6b75}.theme-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);opacity:0;pointer-events:none;transition:opacity .2s ease}.theme-loader.active{opacity:1;pointer-events:all}.theme-loader-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-text-secondary);border-radius:50%;animation:theme-spin .6s linear infinite}@keyframes theme-spin{to{transform:rotate(360deg)}}::view-transition-old(root){animation:vt-out .15s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:vt-in .25s cubic-bezier(0,0,.2,1) both}@keyframes vt-out{to{opacity:0;translate:0 -6px}}@keyframes vt-in{0%{opacity:0;translate:0 10px}}::view-transition-old(*):not(::view-transition-old(root)),::view-transition-new(*):not(::view-transition-new(root)){animation-duration:.25s;animation-timing-function:cubic-bezier(.22,1,.36,1)}@keyframes page-fade-up{0%{opacity:0;translate:0 14px}}.post-card{--i: 0;animation:page-fade-up .3s cubic-bezier(.22,1,.36,1) calc(var(--i) * 40ms) both;will-change:opacity,transform}.post-card:nth-child(1){--i: 0}.post-card:nth-child(2){--i: 1}.post-card:nth-child(3){--i: 2}.post-card:nth-child(4){--i: 3}.post-card:nth-child(5){--i: 4}.post-card:nth-child(6){--i: 5}.post-card:nth-child(7){--i: 6}.post-card:nth-child(8){--i: 7}.post-card.anim-done{will-change:auto}.home-header{animation:page-fade-up .3s cubic-bezier(.22,1,.36,1) both;will-change:opacity,transform}.home-header.anim-done{will-change:auto}.astro-code,.astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important;text-decoration:var(--shiki-light-text-decoration)!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}
