@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Sintony:wght@400;700&display=swap";:root{--surface-base: #e3e1dc;--surface-raised: #f0eeea;--surface-overlay: rgba(227, 225, 220, .95);--text-primary: #1c1a16;--text-secondary: #54524b;--text-tertiary: #6f6d65;--text-inverse: #f8f7f5;--brand-primary: #b57272;--brand-secondary: #bd8e6f;--brand-accent: #c7b279;--interactive-default: #b57272;--interactive-hover-bg: #cac8c1;--interactive-hover-text: rgb(93.1255813953, 48.8744186047, 48.8744186047);--interactive-focus: rgba(181, 114, 114, .3);--state-success: #95aa7d;--state-warning: #c7b279;--state-error: #b57272;--state-info: #7891a6;--border-subtle: rgba(157, 155, 146, .3);--border-default: #cac8c1;--border-strong: #9d9b92;--link-color: #b57272;--link-hover-bg: #c7b279;--link-hover-text: #1c1a16;--code-bg: #f0eeea;--code-text: #1c1a16;--code-border: #e3e1dc;--code-hover-bg: rgba(111, 109, 101, .1);--code-hover-text: #e3e1dc;--blockquote-bg: #f0eeea;--blockquote-text: #1c1a16;--blockquote-border-info: #7891a6;--blockquote-border-success: #95aa7d;--blockquote-border-warning: #c7b279;--blockquote-border-error: #b57272;--blockquote-border-note: #85aaa3;--blockquote-bg-info: rgba(120, 145, 166, .1);--blockquote-bg-success: rgba(149, 170, 125, .1);--blockquote-bg-warning: rgba(199, 178, 121, .1);--blockquote-bg-error: rgba(181, 114, 114, .1);--blockquote-bg-note: rgba(133, 170, 163, .1);--blockquote-label-info: rgb(52.84375, 67.6875, 80.15625);--blockquote-label-success: rgb(71.9906976744, 85.8604651163, 56.1395348837);--blockquote-label-warning: rgb(117.7789473684, 99.3210526316, 49.2210526316);--blockquote-label-error: rgb(93.1255813953, 48.8744186047, 48.8744186047);--blockquote-label-note: rgb(61.5942028986, 88.4057971014, 83.3333333333);--table-bg: #f0eeea;--table-border: rgba(202, 200, 193, .5);--table-header-bg: #e3e1dc;--table-header-text: #b57272;--table-row-odd-bg: rgba(202, 200, 193, .1);--table-row-even-bg: rgba(240, 238, 234, .05);--table-row-hover-bg: #e3e1dc;--button-primary-bg: #f0eeea;--button-primary-text: #b57272;--button-primary-hover-bg: #cac8c1;--button-primary-hover-text: rgb(93.1255813953, 48.8744186047, 48.8744186047);--post-card-bg: linear-gradient( 135deg, #f0eeea, rgb(229.375, 225.9583333333, 219.125) );--post-card-hover-bg: linear-gradient(135deg, rgb(71.9906976744, 85.8604651163, 56.1395348837), rgb(186.7162790698, 200.2441860465, 171.2558139535));--post-card-hover-text: #1c1a16;--tag-bg: #cac8c1;--tag-hover-bg: #b57272;--tag-hover-text: #f8f7f5;--nav-bg: #e3e1dc;--nav-text: #1c1a16}:root.dark{--surface-base: #15130f;--surface-raised: #1c1a16;--surface-overlay: rgba(21, 19, 15, .95);--text-primary: #f0eeea;--text-secondary: #9d9b92;--text-tertiary: #6f6d65;--text-inverse: #15130f;--border-subtle: rgba(84, 82, 75, .3);--border-default: #44423c;--border-strong: #54524b;--link-color: #b57272;--link-hover-bg: #c7b279;--link-hover-text: #1c1a16;--code-bg: #1c1a16;--code-text: #f0eeea;--code-border: #2d2b26;--code-hover-bg: rgba(111, 109, 101, .1);--code-hover-text: #e3e1dc;--blockquote-bg: #1c1a16;--blockquote-text: #f0eeea;--blockquote-border-info: rgb(166.1049107143, 182.5669642857, 196.3950892857);--blockquote-border-success: rgb(186.7162790698, 200.2441860465, 171.2558139535);--blockquote-border-warning: rgb(221.5473684211, 209.0026315789, 174.9526315789);--blockquote-border-error: rgb(207.3302325581, 164.1697674419, 164.1697674419);--blockquote-border-note: rgb(178.0869565217, 201.4130434783, 197);--blockquote-bg-info: rgba(120, 145, 166, .15);--blockquote-bg-success: rgba(149, 170, 125, .15);--blockquote-bg-warning: rgba(199, 178, 121, .15);--blockquote-bg-error: rgba(181, 114, 114, .15);--blockquote-bg-note: rgba(133, 170, 163, .15);--blockquote-label-info: rgb(166.1049107143, 182.5669642857, 196.3950892857);--blockquote-label-success: rgb(186.7162790698, 200.2441860465, 171.2558139535);--blockquote-label-warning: rgb(221.5473684211, 209.0026315789, 174.9526315789);--blockquote-label-error: rgb(207.3302325581, 164.1697674419, 164.1697674419);--blockquote-label-note: rgb(178.0869565217, 201.4130434783, 197);--table-bg: #1c1a16;--table-border: rgba(84, 82, 75, .3);--table-header-bg: #2d2b26;--table-header-text: rgb(207.3302325581, 164.1697674419, 164.1697674419);--table-row-odd-bg: rgba(68, 66, 60, .05);--table-row-even-bg: transparent;--table-row-hover-bg: #2d2b26;--button-primary-bg: #1c1a16;--button-primary-text: rgb(207.3302325581, 164.1697674419, 164.1697674419);--button-primary-hover-bg: #2d2b26;--button-primary-hover-text: rgb(224.8837209302, 197.6162790698, 197.6162790698);--post-card-bg: linear-gradient( 135deg, #15130f, rgb(50.75, 45.9166666667, 36.25) );--post-card-hover-bg: linear-gradient(135deg, rgb(71.9906976744, 85.8604651163, 56.1395348837), rgb(186.7162790698, 200.2441860465, 171.2558139535));--post-card-hover-text: #1c1a16;--tag-bg: #2d2b26;--tag-hover-bg: #b57272;--tag-hover-text: #f0eeea;--nav-bg: #15130f;--nav-text: #f0eeea}@media (prefers-color-scheme: dark){:root:not(.light):not(.dark){--surface-base: #15130f;--surface-raised: #1c1a16;--surface-overlay: rgba(21, 19, 15, .95);--text-primary: #f0eeea;--text-secondary: #9d9b92;--text-tertiary: #6f6d65;--text-inverse: #15130f;--border-subtle: rgba(84, 82, 75, .3);--border-default: #44423c;--border-strong: #54524b;--link-color: #b57272;--link-hover-bg: #c7b279;--link-hover-text: #1c1a16;--code-bg: #1c1a16;--code-text: #f0eeea;--code-border: #2d2b26;--code-hover-bg: rgba(111, 109, 101, .1);--code-hover-text: #e3e1dc;--blockquote-bg: #1c1a16;--blockquote-text: #f0eeea;--blockquote-border-info: rgb(166.1049107143, 182.5669642857, 196.3950892857);--blockquote-border-success: rgb(186.7162790698, 200.2441860465, 171.2558139535);--blockquote-border-warning: rgb(221.5473684211, 209.0026315789, 174.9526315789);--blockquote-border-error: rgb(207.3302325581, 164.1697674419, 164.1697674419);--blockquote-border-note: rgb(178.0869565217, 201.4130434783, 197);--blockquote-bg-info: rgba(120, 145, 166, .15);--blockquote-bg-success: rgba(149, 170, 125, .15);--blockquote-bg-warning: rgba(199, 178, 121, .15);--blockquote-bg-error: rgba(181, 114, 114, .15);--blockquote-bg-note: rgba(133, 170, 163, .15);--blockquote-label-info: rgb(166.1049107143, 182.5669642857, 196.3950892857);--blockquote-label-success: rgb(186.7162790698, 200.2441860465, 171.2558139535);--blockquote-label-warning: rgb(221.5473684211, 209.0026315789, 174.9526315789);--blockquote-label-error: rgb(207.3302325581, 164.1697674419, 164.1697674419);--blockquote-label-note: rgb(178.0869565217, 201.4130434783, 197);--table-bg: #1c1a16;--table-border: rgba(84, 82, 75, .3);--table-header-bg: #2d2b26;--table-header-text: rgb(207.3302325581, 164.1697674419, 164.1697674419);--table-row-odd-bg: rgba(68, 66, 60, .05);--table-row-even-bg: transparent;--table-row-hover-bg: #2d2b26;--button-primary-bg: #1c1a16;--button-primary-text: rgb(207.3302325581, 164.1697674419, 164.1697674419);--button-primary-hover-bg: #2d2b26;--button-primary-hover-text: rgb(224.8837209302, 197.6162790698, 197.6162790698);--post-card-bg: linear-gradient( 135deg, #15130f, rgb(50.75, 45.9166666667, 36.25) );--post-card-hover-bg: linear-gradient(135deg, rgb(71.9906976744, 85.8604651163, 56.1395348837), rgb(186.7162790698, 200.2441860465, 171.2558139535));--post-card-hover-text: #1c1a16;--tag-bg: #2d2b26;--tag-hover-bg: #b57272;--tag-hover-text: #f0eeea;--nav-bg: #15130f;--nav-text: #f0eeea}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{margin:0;font-family:Sintony,sans-serif;font-size:1rem;line-height:1.6;color:var(--text-primary);background-color:var(--surface-base)}:is(p,h1,h2,h3,h4,h5,h6,blockquote,figure,ul,ol,dl,dd){margin:0}hr{border:0;border-top:1px solid var(--border-default);margin:2rem 0}:is(img,svg,video,canvas,iframe){display:block;max-width:100%;height:auto}:is(input,button,textarea,select){font:inherit;color:inherit;background:transparent;border:none;margin:0;outline:none}button,[type=button],[type=submit]{cursor:pointer;appearance:none}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0;width:100%}:is(code,kbd,samp,pre){font-family:Geist Mono,monospace;font-size:.9em}a{color:inherit;text-decoration:none}:is(h1,h2,h3,h4,h5,h6){margin-top:2rem;margin-bottom:.5rem;font-weight:700;line-height:1.25;color:var(--brand-primary)}h1{font-size:1.5rem}h2{font-size:1.333rem}h3{font-size:1.25rem}h4{font-size:1.166rem}h5{font-size:1.083rem;letter-spacing:.05em;text-transform:uppercase}h6{font-size:1rem;color:var(--text-secondary)}p{font-size:.916rem;margin-bottom:1rem}small{font-size:.833rem}mark{padding:.1em .3em;border-radius:.25rem;background-color:var(--brand-accent);color:var(--text-inverse)}a{color:var(--link-color);text-decoration:underline;text-underline-offset:3px;border-radius:.25rem}a:hover,a:focus-visible{color:var(--link-hover-text);background-color:var(--link-hover-bg);text-decoration-color:transparent}a:hover :is(code,.inline-code),a:focus-visible :is(code,.inline-code){background-color:transparent!important;color:inherit!important;box-shadow:none;transition:inherit}a:focus-visible{outline:2px solid var(--interactive-focus);outline-offset:2px}a:has(.post-card){text-decoration:none;background-color:transparent}a:has(.post-card):hover{background-color:transparent}:is(ul,ol){padding-left:1.5rem;margin-bottom:1rem;font-size:.916rem}:is(ul,ol) li{margin-bottom:.25rem}:is(ul,ol) li::marker{color:var(--text-tertiary)}:is(ul,ol) :is(ul,ol){margin-top:.25rem;margin-bottom:.25rem}dl{margin-bottom:1rem}dl dt{margin-top:1rem;font-weight:700;color:var(--text-primary)}dl dd{margin-top:.25rem;margin-left:1rem;color:var(--text-secondary)}:is(code,kbd,samp){font-family:Geist Mono,monospace;font-size:.833rem}pre{margin-block:2rem;border-radius:.5rem}@media (max-width: 576px){:is(h1,h2,h3){margin-top:1rem}h1{font-size:1.333rem}h2{font-size:1.25rem}h3{font-size:1.166rem}}body{padding:2rem}main,.container{width:75%;margin-inline:auto}section{margin-bottom:2rem}section .section-content{margin-top:1rem;line-height:1.6}section .emoji{display:inline-block;margin-right:.25rem;font-size:1.083rem}.markdown-chunk{animation:fade-in .75s ease-in}@keyframes fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 576px){body{padding:1rem}main,.container{width:95%;max-width:100%}table{display:block;width:100%;overflow-x:auto;white-space:nowrap}}blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-radius:.5rem;border-left:.25rem solid var(--blockquote-border-info);background-color:var(--blockquote-bg);color:var(--blockquote-text);font-style:italic;font-size:.833rem;box-shadow:0 1px 2px #0000001f}blockquote p{margin:0}blockquote:before{margin-right:.25rem;font-style:normal;font-weight:700}.blockquote-tip{border-left-color:var(--blockquote-border-success);background-color:var(--blockquote-bg-success)}.blockquote-tip:before{content:"💡 TIP";color:var(--blockquote-label-success)}.blockquote-warning{border-left-color:var(--blockquote-border-warning);background-color:var(--blockquote-bg-warning)}.blockquote-warning:before{content:"⚠️ WARNING";color:var(--blockquote-label-warning)}.blockquote-danger{border-left-color:var(--blockquote-border-error);background-color:var(--blockquote-bg-error)}.blockquote-danger:before{content:"🛑 DANGER";color:var(--blockquote-label-error)}.blockquote-info{border-left-color:var(--blockquote-border-info);background-color:var(--blockquote-bg-info)}.blockquote-info:before{content:"ℹ️ INFO";color:var(--blockquote-label-info)}.blockquote-note{border-left-color:var(--blockquote-border-note);background-color:var(--blockquote-bg-note)}.blockquote-note:before{content:"📝 NOTE";color:var(--blockquote-label-note)}.breadcrumbs{background:linear-gradient(135deg,var(--surface-base),var(--surface-raised));position:sticky;top:10px;float:right;z-index:500;margin-left:auto;margin-bottom:1rem;padding:.25rem .5rem;font-family:Geist Mono,monospace;font-size:.916rem;border-radius:9999px;box-shadow:0 2px 6px #00000026;opacity:.95}.breadcrumbs a{text-decoration:none;transition:color .15s ease}.breadcrumbs span{font-weight:700;color:var(--text-primary)}@media (max-width: 576px){.breadcrumbs{font-size:.833rem;width:100%}}.button-link{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem 1rem;border-radius:9999px;font-family:Sintony,sans-serif;font-size:.916rem;font-weight:500;color:var(--button-primary-text);background:var(--button-primary-bg);text-decoration:none;cursor:pointer;box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff1a;transition:all .25s ease}.button-link:hover{background:var(--button-primary-hover-bg);color:var(--button-primary-hover-text);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 12px #0003,inset 0 1px #ffffff26}.button-link:focus-visible{background:var(--button-primary-hover-bg);color:var(--button-primary-hover-text);outline:2px solid var(--interactive-focus);outline-offset:2px}.button-link{font-weight:700}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem 1rem;border-radius:9999px;font-family:Sintony,sans-serif;font-size:.916rem;font-weight:500;color:var(--button-primary-text);background:var(--button-primary-bg);text-decoration:none;cursor:pointer;box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff1a;transition:all .25s ease}.theme-toggle:hover{background:var(--button-primary-hover-bg);color:var(--button-primary-hover-text);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 12px #0003,inset 0 1px #ffffff26}.theme-toggle:focus-visible{background:var(--button-primary-hover-bg);color:var(--button-primary-hover-text);outline:2px solid var(--interactive-focus);outline-offset:2px}.theme-toggle{padding:.5rem;color:var(--brand-primary)}.theme-toggle svg{margin:.125rem}.theme-toggle:hover{transform:none}.back-link{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem 1rem;border-radius:9999px;font-family:Sintony,sans-serif;font-size:.916rem;font-weight:500;color:var(--text-primary);background:var(--post-card-bg);text-decoration:none;cursor:pointer;box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff1a;transition:all .25s ease}.back-link:hover{background:var(--button-primary-hover-bg);color:var(--button-primary-hover-text);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 12px #0003,inset 0 1px #ffffff26}.back-link:focus-visible{background:var(--button-primary-hover-bg);color:var(--button-primary-hover-text);outline:2px solid var(--interactive-focus);outline-offset:2px}.back-link{font-size:.833rem;font-family:Geist Mono,monospace;font-weight:700;margin-bottom:.5rem}.back-link:before{content:"<"}.back-link:hover,.back-link:focus-visible{transform:translate(-2px)}.back-link:focus-visible{outline:2px solid var(--brand-primary)}code,pre{font-family:Geist Mono,monospace!important;font-size:.833rem;line-height:1.5;font-feature-settings:"calt" 1,"zero" 1}pre{font-feature-settings:"calt" 1,"liga" 0,"zero" 1}.inline-code{display:inline-block;background:var(--code-bg);color:var(--code-text);padding:.125rem .25rem;border-radius:.25rem;font-weight:500;white-space:nowrap;letter-spacing:.01em;box-shadow:none}a .inline-code{transition:background-color .15s ease,color .15s ease}a .inline-code:hover,a .inline-code:focus{background-color:var(--link-hover-bg);color:var(--link-hover-text)}.code-block-wrapper{position:relative}.code-block{font-size:.833rem!important;border-radius:.5rem;padding:1.5rem 1rem!important;overflow-x:auto;-webkit-overflow-scrolling:touch}.code-block pre,.code-block code,.code-block span{font-size:inherit!important;font-family:Geist Mono,monospace!important;line-height:1.5}.code-copy{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;position:absolute;top:.125rem;right:.125rem;padding:.25rem;border-radius:.25rem}.code-copy svg{margin:0}.code-copy{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.75rem;transition:background .15s ease,color .15s ease}.code-copy:hover:not(:disabled),.code-copy:focus-visible{background:var(--code-hover-bg);color:var(--code-hover-text)}.code-copy:focus-visible{outline:none;box-shadow:0 0 0 2px var(--interactive-focus)}.code-copy:disabled{cursor:not-allowed;opacity:.5}.code-copy .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}img{max-width:100%;height:auto;display:block;margin:1rem auto;border:1px solid var(--border-subtle);border-radius:.25rem;object-fit:cover;transition:transform .15s ease,box-shadow .15s ease}img:hover{transform:scale(1.1);box-shadow:0 1px 2px #0000001f}.img-center,.mermaid,svg{display:block;margin:1rem auto;max-width:100%;transition:transform .15s ease}.img-center:hover,.mermaid:hover,svg:hover{transform:scale(1.02)}.img-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%;margin-bottom:2rem}.img-item img{margin:0;width:100%}.img-item .caption{text-align:center;margin-top:.25rem;font-size:.833rem;color:var(--text-secondary)}mjx-container{padding:.5rem 0;display:flex;justify-content:center;position:relative}mjx-container:before{content:"Right-click for more";position:absolute;top:-.25rem;right:0;background:var(--surface-raised);font-family:Sintony,sans-serif;font-size:.75rem;padding:.125rem .25rem;border-radius:.25rem;opacity:0;pointer-events:none;transition:opacity .15s ease}mjx-container:hover:before{opacity:1}@media (max-width: 768px){.img-container{grid-template-columns:1fr}}li{margin-bottom:.5rem}ul,ol{padding-left:1.5rem;margin-bottom:1rem}.contains-task-list{list-style:none;margin:0;padding:0}.contains-task-list .task-list-item{display:flex;gap:.25rem;margin-bottom:.25rem}.contains-task-list .task-list-item input[type=checkbox]{appearance:none;width:1rem;height:1rem;border:2px solid #9d9b92;border-radius:.25rem;background-color:var(--surface-raised);cursor:pointer;position:relative;transition:all .15s ease}.contains-task-list .task-list-item input[type=checkbox]:checked{background-color:var(--state-success);border-color:var(--state-success)}.contains-task-list .task-list-item input[type=checkbox]:checked:after{content:"✓";font-size:.7rem;position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.contains-task-list .task-list-item input[type=checkbox]:focus-visible{outline:2px solid var(--state-success);outline-offset:2px}.contains-task-list .task-list-item input[type=checkbox]{flex-shrink:0}.loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;padding:2rem;text-align:center}.loading--fullscreen{position:fixed;inset:0;background:var(--surface-overlay);z-index:1000}.loading-spinner-wheel{width:2rem;height:2rem;border:.25rem solid rgba(181,114,114,.3);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{margin:0;color:var(--text-secondary);font-family:Geist Mono,monospace;font-size:.916rem}.site-navbar{display:flex;align-items:center;justify-content:space-between;padding-block:2rem;margin-bottom:2rem}.site-navbar h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.site-navbar h1 a{text-decoration:none;color:var(--text-primary);transition:color .15s ease}.site-navbar h1 a:hover{color:var(--brand-primary);background:none}.site-navbar nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.site-navbar nav a{font-family:Geist Mono,monospace;font-size:.833rem;text-decoration:none;color:var(--text-secondary);text-transform:lowercase}.site-navbar nav a.active{color:var(--brand-primary);font-weight:700}.site-navbar nav a:hover{color:var(--brand-primary);background:none}@media (max-width: 576px){.site-navbar{flex-direction:column;align-items:center;gap:1rem;padding-block:1rem;margin-bottom:1rem}.site-navbar h1{font-size:1.5rem}.site-navbar nav{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%}}.post-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:2rem}.post-card{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem 1rem;border-radius:9999px;font-family:Sintony,sans-serif;font-size:.916rem;font-weight:500;color:var(--text-primary);background:var(--post-card-bg);text-decoration:none;cursor:pointer;box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff1a;transition:all .25s ease}.post-card:hover{background:var(--post-card-hover-bg);color:var(--post-card-hover-text);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 12px #0003,inset 0 1px #ffffff26}.post-card:focus-visible{background:var(--post-card-hover-bg);color:var(--post-card-hover-text);outline:2px solid var(--interactive-focus);outline-offset:2px}.post-card{text-decoration:none;padding:.25rem 1rem;transition:transform .15s ease}.post-card .post-date{font-family:Geist Mono,monospace;font-size:.833rem;opacity:.8;margin-right:.25rem}.post-card .post-title{font-weight:500}.post-card .post-title:before{content:"•";margin:0 .25rem;color:var(--brand-primary)}.post-card:hover{transform:translateY(-2px)}.post-tag-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0}.post-tag{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem 1rem;border-radius:9999px;font-family:Sintony,sans-serif;font-size:.916rem;font-weight:500;color:var(--text-secondary);background:var(--tag-bg);text-decoration:none;cursor:pointer;box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff1a;transition:all .25s ease}.post-tag:hover{background:var(--tag-hover-bg);color:var(--tag-hover-text);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 12px #0003,inset 0 1px #ffffff26}.post-tag:focus-visible{background:var(--tag-hover-bg);color:var(--tag-hover-text);outline:2px solid var(--interactive-focus);outline-offset:2px}.post-tag{font-size:.833rem;font-family:Geist Mono,monospace;padding:.125rem .5rem;box-shadow:none;transition:background-color .15s ease,color .15s ease}.post-tag:before{content:"#";margin-right:.125rem;color:var(--text-secondary)}.resume{padding:2rem}.resume ul{margin:.5rem 0;padding-left:1rem}.resume ul li{margin-bottom:.25rem}.resume ul li:last-child{margin-bottom:0}.resume ul li::marker{color:var(--brand-primary)}.resume-header{text-align:center}.resume-header h1{margin-bottom:.5rem;font-size:1.333rem;font-weight:700;color:var(--text-primary)}.resume-header .subtitle{margin-bottom:.5rem;font-size:1rem;color:var(--text-secondary)}.contact-info{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;color:var(--text-tertiary)}.contact-info .separator{color:var(--text-secondary)}.resume-section-title{margin-bottom:1rem}.resume-section p{line-height:1.6}.skills-category-title{font-size:1.166rem}.skills-list{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;margin-top:.5rem}.skills-list .skill{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem 1rem;border-radius:9999px;font-family:Sintony,sans-serif;font-size:.916rem;font-weight:500;color:var(--text-primary);background:var(--tag-bg);text-decoration:none;cursor:pointer;box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff1a;transition:all .25s ease}.skills-list .skill:hover{background:var(--tag-hover-bg);color:var(--tag-hover-text);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 12px #0003,inset 0 1px #ffffff26}.skills-list .skill:focus-visible{background:var(--tag-hover-bg);color:var(--tag-hover-text);outline:2px solid var(--interactive-focus);outline-offset:2px}.skills-list .skill{padding:.125rem .5rem}.resume-item{background:var(--surface-raised);border-radius:.5rem;border-left:2px solid var(--border-default);transition:box-shadow .25s ease,transform .25s ease,border-left-color .15s ease;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;margin-bottom:1rem;padding:1rem;transition:border-left-color .15s ease}.resume-item ul{list-style-type:square}.resume-item:last-child{margin-bottom:0}.resume-item:hover{border-left-color:var(--brand-primary)}.resume-item-header{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title    date" "tech     location" "links    links";gap:.25rem 1rem;margin-bottom:.25rem}.resume-item-header .position{grid-area:title;margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.resume-item-header .date{grid-area:date;margin:0;text-align:right;font-size:.916rem;color:var(--text-secondary)}.resume-item-header .location{grid-area:location;margin:0;text-align:right;font-size:.833rem;color:var(--text-secondary)}.resume-item-header .subtitle{grid-area:tech;margin:0;font-size:.916rem;color:var(--text-tertiary)}.resume-item-header .tech-stack{grid-area:tech;margin:0;font-size:.833rem;color:var(--text-secondary)}.resume-item-header .tech-stack .tech-items:not(:last-child):after{content:"•";margin:0 .25rem}.resume-item-header .project-links{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;grid-area:links;margin:.25rem 0;font-size:.833rem}@media (max-width: 576px){.resume{padding:1rem}.resume-item{padding:.5rem}.resume-item-header{display:flex;flex-direction:column;gap:.25rem}.resume-item-header .position,.resume-item-header .date,.resume-item-header .location{width:100%;text-align:left}.resume-item-header .date,.resume-item-header .location{color:var(--text-tertiary)}}table:not(.highlight table){width:auto;margin:1rem auto;background:var(--table-bg);border-radius:.25rem;overflow:hidden;font-size:.916rem}table:not(.highlight table) thead{background:var(--table-header-bg);border-bottom:1px solid var(--table-border)}table:not(.highlight table) thead th{padding:.25rem .5rem;text-align:left;font-weight:500;font-size:.833rem;color:var(--table-header-text);text-transform:uppercase;letter-spacing:.04em}table:not(.highlight table) tbody tr{border-bottom:1px solid var(--table-border);transition:background .15s ease}table:not(.highlight table) tbody tr:last-child{border-bottom:none}table:not(.highlight table) tbody tr:hover{background:var(--table-row-hover-bg)}table:not(.highlight table) tbody td{padding:.5rem}@media (max-width: 576px){table:not(.highlight table){width:max-content;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table:not(.highlight table) thead th,table:not(.highlight table) tbody td{white-space:nowrap;padding:.25rem;min-width:90px}}
