@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{--brand-primary: #c67676;--brand-secondary: #c89b6f;--brand-accent: #d8c777;--state-success: #97b690;--state-warning: #d8c777;--state-error: #c67676;--state-info: #8aa3c4;--surface-base: #efeff1;--surface-raised: #f7f7f8;--surface-overlay: rgba(239, 239, 241, .96);--surface-subtle: #e4e4e7;--text-primary: #18181b;--text-secondary: #52525b;--text-tertiary: #71717a;--text-inverse: #f7f7f8;--border-subtle: rgba(113, 113, 122, .15);--border-default: #d4d4d8;--border-strong: #a1a1aa;--interactive-default: var(--brand-primary);--interactive-hover-bg: var(--surface-subtle);--interactive-hover-text: var(--brand-accent);--interactive-focus: rgba(198, 118, 118, .35);--link-color: var(--brand-primary);--link-hover-bg: rgba(216, 199, 119, .25);--link-hover-text: var(--text-primary);--code-bg: var(--surface-raised);--code-text: var(--text-primary);--code-border: var(--border-default);--code-hover-bg: rgba(247, 247, 248, .1);--code-hover-text: #f7f7f8;--blockquote-bg: var(--surface-raised);--blockquote-text: var(--text-primary);--blockquote-border-info: var(--state-info);--blockquote-border-success: var(--state-success);--blockquote-border-warning: var(--state-warning);--blockquote-border-error: var(--state-error);--blockquote-border-note: #86b6b0;--blockquote-bg-info: rgba(138, 163, 196, .1);--blockquote-bg-success: rgba(151, 182, 144, .1);--blockquote-bg-warning: rgba(216, 199, 119, .1);--blockquote-bg-error: rgba(198, 118, 118, .1);--blockquote-bg-note: rgba(134, 182, 176, .1);--blockquote-label-info: rgb(77.7727272727, 110.7272727273, 154.2272727273);--blockquote-label-success: rgb(97.3913043478, 135.1304347826, 88.8695652174);--blockquote-label-warning: rgb(181.0742857143, 158.44, 51.9257142857);--blockquote-label-error: rgb(151.1237113402, 62.8762886598, 62.8762886598);--blockquote-label-note: rgb(80.5257731959, 133.4742268041, 126.8556701031);--table-bg: var(--surface-base);--table-border: rgba(212, 212, 216, .5);--table-header-bg: var(--surface-subtle);--table-header-text: var(--brand-primary);--table-row-odd-bg: rgba(212, 212, 216, .1);--table-row-even-bg: transparent;--table-row-hover-bg: var(--surface-subtle);--button-primary-bg: var(--surface-raised);--button-primary-text: var(--brand-primary);--button-primary-hover-bg: var(--interactive-hover-bg);--button-primary-hover-text: var(--interactive-hover-text);--tag-bg: var(--surface-subtle);--tag-hover-bg: var(--brand-primary);--tag-hover-text: var(--text-inverse);--nav-bg: var(--surface-raised);--nav-text: var(--text-primary);--post-card-bg: linear-gradient( 135deg, #efeff1, rgb(225.4, 225.4, 229.1) );--post-card-hover-bg: linear-gradient(135deg, rgb(101.8260869565, 141.2836956522, 92.9163043478), rgb(194.2391304348, 212.3505434783, 190.1494565217));--post-card-hover-text: #18181b}:root.dark{--surface-base: #111113;--surface-raised: #18181b;--surface-overlay: rgba(17, 17, 19, .96);--surface-subtle: #222229;--text-primary: #efeff1;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--text-inverse: #111113;--border-subtle: rgba(161, 161, 170, .15);--border-default: #35353c;--border-strong: #52525b;--interactive-default: var(--brand-primary);--interactive-hover-bg: var(--surface-subtle);--interactive-hover-text: rgb(220.4768041237, 172.0231958763, 172.0231958763);--interactive-focus: rgba(198, 118, 118, .4);--blockquote-bg-info: rgba(138, 163, 196, .15);--blockquote-bg-success: rgba(151, 182, 144, .15);--blockquote-bg-warning: rgba(216, 199, 119, .15);--blockquote-bg-error: rgba(198, 118, 118, .15);--blockquote-label-info: rgb(205.8068181818, 216.3181818182, 230.1931818182);--blockquote-label-success: rgb(208.652173913, 222.4673913043, 205.5326086957);--blockquote-label-warning: rgb(238.7314285714, 231.64, 198.2685714286);--blockquote-label-error: rgb(227.9690721649, 190.0309278351, 190.0309278351);--blockquote-label-note: rgb(197.618556701, 220.381443299, 217.5360824742);--table-bg: var(--surface-raised);--table-border: rgba(82, 82, 91, .3);--table-header-bg: var(--surface-subtle);--table-header-text: var(--brand-primary);--table-row-odd-bg: rgba(63, 63, 70, .05);--table-row-even-bg: transparent;--table-row-hover-bg: var(--surface-subtle);--post-card-bg: linear-gradient( 135deg, #111113, rgb(41.0833333333, 41.0833333333, 45.9166666667) )}@media (prefers-color-scheme: dark){:root:not(.light):not(.dark){--surface-base: #111113;--surface-raised: #18181b;--surface-overlay: rgba(17, 17, 19, .96);--surface-subtle: #222229;--text-primary: #efeff1;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--text-inverse: #111113;--border-subtle: rgba(161, 161, 170, .15);--border-default: #35353c;--border-strong: #52525b;--interactive-default: var(--brand-primary);--interactive-hover-bg: var(--surface-subtle);--interactive-hover-text: rgb(220.4768041237, 172.0231958763, 172.0231958763);--interactive-focus: rgba(198, 118, 118, .4);--blockquote-bg-info: rgba(138, 163, 196, .15);--blockquote-bg-success: rgba(151, 182, 144, .15);--blockquote-bg-warning: rgba(216, 199, 119, .15);--blockquote-bg-error: rgba(198, 118, 118, .15);--blockquote-label-info: rgb(205.8068181818, 216.3181818182, 230.1931818182);--blockquote-label-success: rgb(208.652173913, 222.4673913043, 205.5326086957);--blockquote-label-warning: rgb(238.7314285714, 231.64, 198.2685714286);--blockquote-label-error: rgb(227.9690721649, 190.0309278351, 190.0309278351);--blockquote-label-note: rgb(197.618556701, 220.381443299, 217.5360824742);--table-bg: var(--surface-raised);--table-border: rgba(82, 82, 91, .3);--table-header-bg: var(--surface-subtle);--table-header-text: var(--brand-primary);--table-row-odd-bg: rgba(63, 63, 70, .05);--table-row-even-bg: transparent;--table-row-hover-bg: var(--surface-subtle);--post-card-bg: linear-gradient( 135deg, #111113, rgb(41.0833333333, 41.0833333333, 45.9166666667) )}}*,*: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;background:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--surface-border-subtle);text-decoration:none;cursor:pointer;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff0a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.button-link:hover{transform:translateY(-1px);background:var(--interactive-hover-bg);border-color:var(--border-default);box-shadow:0 6px 12px #0003,0 0 0 1px #00000008,inset 0 1px #ffffff14}.button-link:active{transform:translateY(0)}.button-link:focus-visible{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;background:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--surface-border-subtle);text-decoration:none;cursor:pointer;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff0a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.theme-toggle:hover{transform:translateY(-1px);background:var(--interactive-hover-bg);border-color:var(--border-default);box-shadow:0 6px 12px #0003,0 0 0 1px #00000008,inset 0 1px #ffffff14}.theme-toggle:active{transform:translateY(0)}.theme-toggle:focus-visible{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;background:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--surface-border-subtle);text-decoration:none;cursor:pointer;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff0a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.back-link:hover{transform:translateY(-1px);background:var(--interactive-hover-bg);border-color:var(--border-default);box-shadow:0 6px 12px #0003,0 0 0 1px #00000008,inset 0 1px #ffffff14}.back-link:active{transform:translateY(0)}.back-link:focus-visible{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 var(--border-strong);border-radius:.25rem;background:var(--surface-raised);cursor:pointer;position:relative;transition:all .15s ease}.contains-task-list .task-list-item input[type=checkbox]:checked{background: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;color:var(--text-inverse)}.contains-task-list .task-list-item input[type=checkbox]:focus-visible{outline:2px solid var(--interactive-focus);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(198,118,118,.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;color:var(--text-secondary);text-transform:lowercase}@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;padding:.25rem 1rem;border-radius:1rem;background:var(--post-card-bg);border:1px solid var(--surface-border-subtle);background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:0 1px 2px #0000001f,inset 0 1px #ffffff0a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.post-card:hover{transform:translateY(-1px);background:var(--interactive-hover-bg);border-color:var(--border-default);box-shadow:0 2px 6px #00000026,0 0 0 1px #00000008,inset 0 1px #ffffff14}.post-card:active{transform:translateY(0)}.post-card{text-decoration:none}.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);background:var(--post-card-hover-bg);color:var(--post-card-hover-text);box-shadow:0 2px 6px #00000026}.post-tag-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0}.post-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.833rem;font-family:Geist Mono,monospace;background:var(--tag-bg);color:var(--text-secondary);transition:background-color .15s ease,color .15s ease}.post-tag:before{content:"#";margin-right:.125rem;color:var(--text-tertiary)}.post-tag:hover{background:var(--tag-hover-bg);color:var(--tag-hover-text)}.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;padding:.125rem .5rem;border-radius:9999px;font-size:.833rem;font-family:Geist Mono,monospace;background:var(--tag-bg);color:var(--text-secondary);transition:background-color .15s ease,color .15s ease;padding:.125rem 1rem}.resume-item{border-radius:.5rem;border-left:2px solid var(--border-default);background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d,inset 0 1px #ffffff0a;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}}
