.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}a.svelte-1izm4km{color:var(--color-l);box-sizing:border-box;padding:.5em;font-weight:700;text-decoration:none}a.svelte-1izm4km:hover{color:var(--color-h);text-decoration:underline}.nav-brand.svelte-1izm4km{text-transform:uppercase;background-color:var(--color-b);color:var(--color-l);padding:unset;letter-spacing:.04em;border:2px solid var(--color-border);border-radius:.3em;align-items:center;gap:.5em;margin-top:.5em;margin-bottom:.5em;margin-left:.6em;padding-right:.75em;font-size:1.35em;transition:border-color .15s;display:inline-flex;&:hover{border-color:var(--color-h);color:var(--color-h);text-decoration:none}& .dino:where(.svelte-1izm4km){border-radius:50%;flex-shrink:0;width:3.2em;height:3.2em;margin-top:-2px;margin-bottom:-2px;margin-left:-2px;position:relative;overflow:hidden}& .dino:where(.svelte-1izm4km) img:where(.svelte-1izm4km){background-color:var(--color-j);width:100%;height:100%;position:absolute}}.hide.svelte-1izm4km{visibility:hidden}header[data-astro-cid-nen7h5rs]{background-color:var(--color-a);color:var(--color-l);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;display:flex;overflow-x:hidden}.header-right[data-astro-cid-nen7h5rs]{align-items:center;gap:.5rem;display:flex}ul[data-astro-cid-nen7h5rs]{align-items:center;gap:.4rem;margin:0;list-style-type:none;display:flex}a[data-astro-cid-nen7h5rs]:not(.icon-link){color:var(--color-l);box-sizing:border-box;padding:.5em;font-weight:700;text-decoration:none}a[data-astro-cid-nen7h5rs]:not(.icon-link):hover{color:var(--color-h);text-decoration:underline}@media (width<=700px){header[data-astro-cid-nen7h5rs]{background-color:var(--color-b);flex-direction:column;gap:.5em;padding-bottom:0;padding-left:0;padding-right:0}ul[data-astro-cid-nen7h5rs]{padding-left:0}.header-right[data-astro-cid-nen7h5rs]{background-color:var(--color-a);justify-content:center;width:100%;padding:.75rem 1rem}nav[data-astro-cid-nen7h5rs]{justify-content:center;display:flex}}footer[data-astro-cid-jo6i4kqk]{background-color:var(--color-a);color:#fff;justify-content:space-between;gap:.5em;margin-top:1rem;padding:1rem;display:flex;overflow-x:hidden}.icon-link[data-astro-cid-jo6i4kqk]{--border-color:var(--color-h);display:inline-flex}a[data-astro-cid-jo6i4kqk]:not(.icon-link){color:#fff}.powered-by[data-astro-cid-jo6i4kqk],.hosted-by[data-astro-cid-jo6i4kqk]{align-items:center;gap:.3em;display:flex}.powered-by[data-astro-cid-jo6i4kqk]{margin-right:.2em}.info[data-astro-cid-jo6i4kqk],.source-info[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;row-gap:.5em;display:flex}.source-info[data-astro-cid-jo6i4kqk]{gap:1em}.versioning-info[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-end;gap:.25em;font-size:.8em;display:flex}.info[data-astro-cid-jo6i4kqk]{justify-content:center;margin:0}@media (width<=700px){footer[data-astro-cid-jo6i4kqk]{background-color:var(--color-a);text-align:center;flex-direction:column;gap:0;padding:1rem 0 0}.info[data-astro-cid-jo6i4kqk]{margin-bottom:.75em;padding-left:1em;padding-right:1em}.source-info[data-astro-cid-jo6i4kqk]{background-color:var(--color-b);padding:.75em 1em 1em}.versioning-info[data-astro-cid-jo6i4kqk]{align-items:flex-start}.source-info[data-astro-cid-jo6i4kqk]{justify-content:space-between}}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/rubik-arabic-wght-normal.CGnJ-sf6.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/rubik-cyrillic-ext-wght-normal.BjodpZir.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/rubik-cyrillic-wght-normal.DveCct9I.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/rubik-hebrew-wght-normal.BIkpbuMU.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/rubik-latin-ext-wght-normal.OacczzuJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/rubik-latin-wght-normal.CnQIisVs.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-cyrillic-400-normal.BEIGL1Tu.woff2)format("woff2"),url(/_astro/jetbrains-mono-cyrillic-400-normal.ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-greek-400-normal.C190GLew.woff2)format("woff2"),url(/_astro/jetbrains-mono-greek-400-normal.B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/_astro/jetbrains-mono-vietnamese-400-normal.CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-ext-400-normal.Bc8Ftmh3.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-ext-400-normal.fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-a:#0c1420;--color-b:#080c10;--color-c:#40b8f0;--color-e:#0e1828;--color-f:#080c10;--color-h:#60d0ff;--color-i:#101c2c;--color-j:#162438;--color-k:#0e1828;--color-l:#d0e8f8;--color-border:#162030;--color-muted:#6890c0;--color-surface:#0e1420;--grid-dot:#40b8f026;--hero-start:#0c1220}html{background-color:var(--color-f);scroll-behavior:smooth;flex-direction:column;min-height:100vh;margin:0 min(5vw,25px);font-family:Rubik Variable,sans-serif;transition:background-color .25s;display:flex}body{background:var(--color-surface);color:var(--color-l);flex-direction:column;flex-grow:1;width:100%;max-width:1080px;margin:min(5vw,25px) auto;transition:background-color .25s,color .25s;display:flex;box-shadow:0 0 60px #000000b3}main{column-gap:var(--pad,1rem);background-color:var(--color-f);background-image:radial-gradient(circle, var(--grid-dot) 1px, transparent 1px);background-size:28px 28px;grid-template-columns:[full-start]1rem[wrapper-start]minmax(0,70rem)[wrapper-end]1rem[full-end];grid-auto-rows:min-content;display:grid;overflow-x:hidden}main>*{background-color:var(--color-surface);grid-column:full;padding:0 2rem 1rem}main>.full-width{grid-column:full;padding:1rem 2rem}:where(h2,h3,h4,h5,h6) .icon-link{position:relative}:where(h2,h3,h4,h5,h6) .icon-link:before{content:"#";opacity:0;line-height:1;text-decoration:underline;position:absolute;top:0;left:-1ch}:where(h2,h3,h4,h5,h6):hover .icon-link:before{opacity:1}html{box-sizing:border-box}*,:before,:after{box-sizing:inherit}.sr-only{font-size:0;clip:rect(1px, 1px, 1px, 1px)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:0!important;height:0!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.big-icon{font-size:10rem}p{line-height:1.5}main a{color:var(--color-c);text-decoration-color:var(--color-c);font-weight:700}main a:hover{color:var(--color-h);text-decoration-color:var(--color-h)}section.hero{background:linear-gradient(160deg, var(--hero-start) 0%, var(--color-e) 100%);transition:background-color .3s,background .3s}.icon-link{background-color:var(--color-j);border:2px solid var(--color-border);color:var(--color-l);white-space:nowrap;border-radius:.4em;justify-content:center;align-self:flex-end;align-items:center;gap:.2em;height:min-content;margin-right:.2em;padding:4px 8px;font-size:1.05em;font-weight:700;text-decoration:none;display:flex}.icon-link iconify-icon:not([inline]){vertical-align:middle;height:100%}@media (width<=800px){.icon-link{font-size:.9em}}.iconify-icon{font-size:1.25em}.icon-link:hover{background-color:var(--color-j);border-color:var(--color-h);color:var(--color-h);box-shadow:none}.game-cell{white-space:pre;font-weight:700}.game-cell-0{visibility:hidden}.game-cell-2{color:#000;background-color:#eee4da}.game-cell-4{color:#000;background-color:#ede0c8}.game-cell-8{color:#000;background-color:#f2b179}.game-cell-16{color:#000;background-color:#f59563}.game-cell-32{color:#fff;background-color:#f67c5f}.game-cell-64{color:#fff;background-color:#f65e3b}.game-cell-128{color:#000;background-color:#edcf72}.game-cell-256{color:#000;background-color:#edcc61}.game-cell-512{color:#000;background-color:#edc850}.game-cell-1024{color:#000;background-color:#edc53f}.game-cell-2048{color:#000;background-color:#edc22e}.content-spacer{background-color:#0000;height:2rem}section.bg-color{background-color:var(--color-e)}h1{letter-spacing:-.02em;margin-top:1rem;margin-bottom:.5rem;font-size:3em;font-weight:700;line-height:1.05}h2{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:1.2rem;font-size:.75em;font-weight:600}main[data-astro-cid-z4jru4n3]{flex-grow:1}.skill-badge.svelte-ehq51k{min-width:0;color:var(--color-l);background-color:var(--color-i);border:1px solid var(--color-border);border-radius:6px;flex-direction:row;align-items:center;gap:.35rem;padding:.35rem .5rem;font-size:.9em;text-decoration:none;transition:border-color .12s,color .12s;display:flex}.skill-badge-img-wrapper.svelte-ehq51k{background-color:var(--color-j);border-radius:4px;flex-shrink:0}.skill-badge.svelte-ehq51k .skill-badge-icon{width:1.2rem;height:1.2rem;margin:.2rem;font-size:1.2rem;display:block}.skill-badge.svelte-ehq51k span:where(.svelte-ehq51k){white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}@media (width<=600px){.skill-badge.svelte-ehq51k{justify-content:center}.skill-badge.svelte-ehq51k span:where(.svelte-ehq51k){display:none}}.skill-badge.svelte-ehq51k:hover,.skill-badge.svelte-ehq51k:focus{border-color:var(--color-h);color:var(--color-h);text-decoration:none}.skills-list.svelte-tp54ba{grid-gap:.4rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-auto-flow:dense;display:grid}@media (width<=600px){.skills-list.svelte-tp54ba{grid-template-columns:repeat(4,1fr)}}.terminal.svelte-fs0n5g{border:1px solid var(--color-border);border-radius:.5em;flex-direction:column;flex-grow:1;height:0;margin-top:1rem;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000080}.terminal-header.svelte-fs0n5g{background-color:var(--color-j);border-bottom:1px solid var(--color-border);align-items:center;height:2.2em;min-height:2.2em;padding:0 .9em;display:flex}.terminal-header.svelte-fs0n5g:before{content:"";background:#ff5f57;border-radius:50%;flex-shrink:0;width:.65em;height:.65em;display:block;box-shadow:1.15em 0 #febc2e,2.3em 0 #28c840}.terminal-body.svelte-fs0n5g{color:#e8e0d0;background-color:#0d0b09;flex-grow:1;padding:1em;overflow-x:hidden}.session.svelte-fs0n5g{grid-template-columns:auto 1fr;gap:1em;margin-bottom:.6em;display:grid}.session.svelte-fs0n5g .prompt:where(.svelte-fs0n5g){color:var(--color-c);flex-shrink:1}.session.svelte-fs0n5g .command:where(.svelte-fs0n5g){word-break:break-all;color:#e8e0d0;border:0 solid #0000;outline:0 solid #0000;flex-grow:1}.session.svelte-fs0n5g .command:where(.svelte-fs0n5g):focus{border:0 solid #0000!important}.session.svelte-fs0n5g .output:where(.svelte-fs0n5g){white-space:pre-line;color:#b8b0a0;grid-column:1/span 2;line-height:1.4em}.timeline-selector.svelte-112n2zp{border:1px solid var(--color-border);background-color:var(--color-i);border-radius:.3em;gap:.3em;width:100%;margin-bottom:.5rem;padding:.25rem;display:flex}.timeline-selector.svelte-112n2zp button:where(.svelte-112n2zp){cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);background-color:#0000;border:none;border-radius:.2em;flex-grow:1;padding:.3rem .5rem;font-family:inherit;font-size:.8em;font-weight:600;transition:color .12s}.timeline-selector.svelte-112n2zp button:where(.svelte-112n2zp):hover{color:var(--color-l)}.timeline-selector.svelte-112n2zp button.selected:where(.svelte-112n2zp){background-color:var(--color-c);color:#0c0b09;font-weight:700}h3.svelte-112n2zp{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:1em}h3.svelte-112n2zp a:where(.svelte-112n2zp){color:inherit;text-decoration:none}h3.svelte-112n2zp a:where(.svelte-112n2zp):hover{color:var(--color-h);text-decoration:underline}p.svelte-112n2zp{color:var(--color-muted);margin:0;font-size:.9em}.timeline.svelte-112n2zp{border:1px solid var(--color-border);background-color:var(--color-k);width:100%;color:var(--color-l);border-radius:.3em;padding:0 1rem}.timeline-panels.svelte-112n2zp{display:grid}.timeline-panel.svelte-112n2zp{visibility:hidden;grid-area:1/1;position:relative}.timeline-panel.svelte-112n2zp:before{content:"";background-color:var(--color-c);opacity:.5;width:2px;position:absolute;top:0;bottom:0;left:1rem;transform:translate(-50%)}.timeline-panel.selected.svelte-112n2zp{visibility:visible}.timeline-item.svelte-112n2zp{flex-direction:row;align-items:center;gap:1rem;display:flex}.timeline-item-left.svelte-112n2zp{justify-content:center;align-items:center;display:flex}.timeline-item.svelte-112n2zp .img-wrapper:where(.svelte-112n2zp){background-color:var(--color-j);border:2px solid var(--color-c);z-index:1;border-radius:50%;width:2rem;height:2rem;padding:.3rem}.timeline-item.svelte-112n2zp .img-wrapper:where(.svelte-112n2zp) .timeline-item-icon{opacity:.7;width:100%;height:100%;color:var(--color-l);justify-content:center;align-items:center;font-size:1.4rem;display:flex;transform:translateY(-2px)}.timeline-item-right.svelte-112n2zp{padding:.6rem 0}.location.svelte-112n2zp{opacity:.6;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.2em;padding:0;font-family:inherit;font-size:.82em;transition:opacity .12s;display:flex}.location.svelte-112n2zp:hover{opacity:1;text-decoration:underline}.project-card.svelte-oviq8z{background-color:var(--color-i);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.85rem;height:100%;padding:1.25rem;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.project-card.svelte-oviq8z:before{content:"";background:linear-gradient(90deg, var(--color-c), transparent);opacity:0;height:2px;transition:opacity .18s;position:absolute;top:0;left:0;right:0}.project-card.svelte-oviq8z:hover,.project-card.svelte-oviq8z:focus-within{border-color:var(--color-h);transform:translateY(-2px);box-shadow:0 8px 24px -12px #40b8f059}.project-card.svelte-oviq8z:hover:before,.project-card.svelte-oviq8z:focus-within:before{opacity:1}.project-header.svelte-oviq8z{align-items:center;gap:.6rem;display:flex}.project-emoji.svelte-oviq8z{flex-shrink:0;font-size:1.75rem;line-height:1}.project-name.svelte-oviq8z{color:var(--color-l);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-family:JetBrains Mono,monospace;font-size:1.05rem;font-weight:600;overflow:hidden}.status-pill.svelte-oviq8z{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.status-wip.svelte-oviq8z{color:#e6a040;background-color:#d4860a26;border:1px solid #d4860a59}.status-stable.svelte-oviq8z{color:var(--color-c);background-color:#40b8f01f;border:1px solid #40b8f04d}.status-archived.svelte-oviq8z{background-color:var(--color-j);color:var(--color-muted);border:1px solid var(--color-border)}.project-description.svelte-oviq8z{color:var(--color-l);opacity:.85;margin:0;font-size:.92rem;line-height:1.5}.tech-list.svelte-oviq8z{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.tech-pill.svelte-oviq8z{background-color:var(--color-j);color:var(--color-muted);border:1px solid var(--color-border);border-radius:4px;padding:.2rem .55rem;font-size:.75rem;font-weight:500}.project-actions.svelte-oviq8z{gap:.5rem;margin-top:auto;padding-top:.25rem;display:flex}.action-btn.svelte-oviq8z{border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:flex}.code-btn.svelte-oviq8z{color:var(--color-l);border:1px solid var(--color-border);background-color:#0000}.code-btn.svelte-oviq8z:hover,.code-btn.svelte-oviq8z:focus{border-color:var(--color-h);color:var(--color-h);text-decoration:none}.live-btn.svelte-oviq8z{background-color:var(--color-c);color:#0c0b09;border:1px solid var(--color-c)}.live-btn.svelte-oviq8z:hover,.live-btn.svelte-oviq8z:focus{background-color:var(--color-h);border-color:var(--color-h);color:#0c0b09;text-decoration:none}.projects-grid.svelte-7d4gym{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=900px){.projects-grid.svelte-7d4gym{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.projects-grid.svelte-7d4gym{grid-template-columns:1fr}}.hero[data-astro-cid-lcdefpme] h1[data-astro-cid-lcdefpme]{letter-spacing:-.03em;margin-bottom:.6rem;font-size:3.8em;font-weight:700;line-height:1;display:inline-block;position:relative}.hero[data-astro-cid-lcdefpme] h1[data-astro-cid-lcdefpme]:after{content:"";background-color:var(--color-c);border-radius:2px;width:2.5rem;height:3px;margin-top:.4rem;display:block}.hero-split[data-astro-cid-lcdefpme]{grid-template-rows:1fr;grid-template-columns:1.1fr .9fr;column-gap:2em;display:grid}.terminal-wrapper[data-astro-cid-lcdefpme]{flex-direction:column;height:auto;display:flex}@media (width<=800px){.hero-split[data-astro-cid-lcdefpme]{grid-template-columns:1fr}.terminal-wrapper[data-astro-cid-lcdefpme],.map-wrapper[data-astro-cid-lcdefpme]{display:none}.contact-split[data-astro-cid-lcdefpme]{flex-direction:column}}.hero-info-tag-list[data-astro-cid-lcdefpme]{flex-wrap:wrap;gap:.4em;margin-bottom:.25rem;display:flex}.hero-info-tag[data-astro-cid-lcdefpme]{color:var(--color-c);vertical-align:middle;background-color:#d4860a1f;border:1px solid #d4860a4d;border-radius:.25em;align-items:center;gap:.3em;padding:.2em .55em;font-size:.88em;font-weight:500;display:flex;position:relative}.hero-info-tag[data-astro-cid-lcdefpme][data-tooltip]{cursor:help}.hero-info-tag[data-astro-cid-lcdefpme][data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:1;background-color:#000000e6;border-radius:.25em;padding:.35em .6em;font-size:.85em;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + .4em);left:50%;transform:translate(-50%)}.hero-info-tag[data-astro-cid-lcdefpme][data-tooltip]:hover:after,.hero-info-tag[data-astro-cid-lcdefpme][data-tooltip]:focus-visible:after{opacity:1}.journey-split[data-astro-cid-lcdefpme]{gap:2em;display:flex}.map-wrapper[data-astro-cid-lcdefpme]{flex-shrink:0;width:18rem;height:15rem}.journey-content[data-astro-cid-lcdefpme]{flex-grow:1}.contact-links[data-astro-cid-lcdefpme]{flex-wrap:wrap;gap:.4em;margin-bottom:1rem;display:flex}.contact-links[data-astro-cid-lcdefpme]>a[data-astro-cid-lcdefpme]{background-color:var(--color-c);color:#0c0b09;vertical-align:middle;border-radius:.25em;align-items:center;gap:.3em;padding:.3em .7em;font-size:.9em;font-weight:700;text-decoration:none;transition:background-color .12s;display:flex}.contact-links[data-astro-cid-lcdefpme]>a[data-astro-cid-lcdefpme]:hover{background-color:var(--color-h);color:#0c0b09;text-decoration:none}.contact-split[data-astro-cid-lcdefpme]{justify-content:space-between;gap:2em;display:flex}.contact-split[data-astro-cid-lcdefpme] .right[data-astro-cid-lcdefpme]{min-width:350px;margin-top:1rem}
