:root{--bg:#070b12;--bg-elevated:#0d141f;--text:#fff;--text-muted:#d4dbe6;--line:#e8edf529;--accent:#7dd3fc;--glow:#7dd3fcb3}html,body{min-height:100%;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#000;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}a{color:var(--accent)}.app{z-index:1;min-height:100vh;position:relative}.site-main{min-height:calc(100vh - 4.5rem);position:relative}.site-content{z-index:1;view-transition-name:page-content;position:relative}.particle-field{z-index:0;pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.particle-field.is-hidden{visibility:hidden}.particle-loader{z-index:12;pointer-events:none;transition:opacity .45s;position:fixed;bottom:0;left:0;right:0}.particle-loader.is-done{opacity:0}.particle-loader__label{color:#fff;letter-spacing:.04em;font-variant-numeric:tabular-nums;width:fit-content;margin:0 1.25rem .45rem auto;font-size:.75rem;font-weight:500;display:block}.particle-loader__track{width:100%;height:2px}.particle-loader__fill{background:#fff;width:0%;height:100%}.ship-lab{min-height:calc(100vh - 4.5rem);position:relative}.ship-lab__canvas{width:100%;height:calc(100vh - 4.5rem);display:block}.ship-lab__label{z-index:2;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600;position:absolute;top:1rem;left:1.5rem}.site-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);view-transition-name:site-header;background:#070b12eb;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.75rem;display:flex}.site-brand{align-items:center;text-decoration:none;display:inline-flex}.site-brand__mark{color:var(--bg);letter-spacing:.04em;background:#fff;justify-content:center;align-items:center;padding:.42rem .44rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex;position:relative}.site-brand__mark:after{content:"";pointer-events:none;border:1px solid #fff;position:absolute;inset:0;transform:translate(2px,2px)}.site-header__right{justify-content:flex-end;align-items:center;gap:1.5rem;margin-left:auto;display:flex}.site-nav ul{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.site-nav__btn{color:var(--text);letter-spacing:.01em;background:var(--bg-elevated);border:1px solid var(--accent);box-shadow:2px 2px 0 0 var(--accent);border-radius:0;padding:.38rem .8rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:transform .16s,box-shadow .16s,background-color .16s,color .16s;display:inline-block}.site-nav__btn:hover{box-shadow:3px 3px 0 0 var(--accent);transform:translate(-1px,-2px)}.site-nav__btn:active{box-shadow:1px 1px 0 0 var(--accent);transform:translate(1px,1px)}.site-nav__btn.is-active{color:var(--text);background:#3a4250}.site-nav__btn:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.language-switcher{box-shadow:2px 2px 0 0 var(--accent);display:inline-flex}.language-switcher button{background:var(--bg-elevated);color:var(--text);border:1px solid var(--accent);font:inherit;letter-spacing:.04em;cursor:pointer;border-right-width:0;border-radius:0;margin:0;padding:.38rem .62rem;font-size:.78rem;font-weight:600;line-height:1}.language-switcher button:last-child{border-right-width:1px}.language-switcher button.is-active{background:#3a4250}.language-switcher button:focus-visible{outline:1px solid var(--accent);outline-offset:2px;z-index:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{max-width:760px;margin:0 auto;padding:3rem 1.5rem 5rem}.page h1{letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(1.8rem,4vw,2.55rem);font-weight:650}.page h2{margin:0 0 .4rem;font-size:1.15rem;font-weight:600}.page-section{margin-top:2.25rem}.page-section:first-of-type{margin-top:.35rem}.page-section>h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 1rem;font-size:.82rem;font-weight:600}.card__title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem;display:flex}.card h3{margin:0 0 .4rem;font-size:1.15rem;font-weight:600}.card__title h3{margin:0}.card__badge{color:#041018;background:var(--accent);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 14px var(--glow);flex-shrink:0;padding:.22rem .55rem;font-size:.68rem;font-weight:700}.card h2 a,.card h3 a{color:inherit;align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.link-icon{flex-shrink:0;width:.85em;height:.85em}.card h2 a:hover,.card h3 a:hover{color:#f4fbff;text-shadow:0 0 6px #ffffffb3, 0 0 14px var(--glow)}.page p{color:var(--text);margin:0 0 1rem;line-height:1.65}.lede{font-size:1.08rem;font-weight:500;color:var(--accent)!important}.meta{color:var(--text-muted);font-size:.9rem;margin:0 0 .85rem!important}.card{background:var(--bg-elevated);border:1px solid var(--accent);box-shadow:3px 3px 0 0 var(--accent);border-radius:0;margin-bottom:1.5rem;padding:1.25rem 1.4rem}.card p:last-child,.card .tags:last-child,.card ul:last-child{margin-bottom:0}.card ul:not(.tags){color:var(--text);margin:0 0 .85rem;padding-left:1.15rem;line-height:1.65}.card ul:not(.tags) li+li{margin-top:.35rem}.tags{flex-wrap:wrap;gap:.7rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--line);color:var(--text);box-shadow:2px 2px 0 0 var(--bg), 2px 2px 0 1px var(--line);border-radius:0;padding:.34rem .82rem;font-size:.78rem}.card .tags li{box-shadow:2px 2px 0 0 var(--bg-elevated), 2px 2px 0 1px var(--line)}.skill-groups{gap:1rem;margin-top:1.75rem;display:grid}.skill-group h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.82rem}.links{flex-wrap:wrap;gap:.85rem 1.25rem;margin:1.25rem 0 0;display:flex}.links a{text-decoration:none}.links a:hover{text-shadow:0 0 6px #ffffffb3, 0 0 14px var(--glow)}.contact-email{margin:1.75rem 0 1.5rem}.contact-email a{color:var(--text);letter-spacing:-.03em;word-break:break-word;font-size:clamp(1.35rem,3.4vw,2rem);font-weight:650;line-height:1.25;text-decoration:none;display:block}.contact-email a:hover{color:#f4fbff;text-shadow:0 0 6px #ffffffb3, 0 0 14px var(--glow)}.contact-email span{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.4rem;font-size:.78rem;display:block}.contact-list{flex-wrap:wrap;gap:.85rem 1.35rem;margin:0;padding:0;list-style:none;display:flex}.contact-list a{color:var(--text);font-size:1.15rem;font-weight:600;text-decoration:none}.contact-list a:hover{color:#f4fbff;text-shadow:0 0 6px #ffffffb3, 0 0 14px var(--glow)}::view-transition-old(page-content){animation:.18s ease-out both page-out}::view-transition-new(page-content){animation:.24s ease-out both page-in}::view-transition-group(site-header){z-index:20}@keyframes page-out{to{opacity:0;transform:translateY(-10px)}}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){.site-nav__btn{transition:none}::view-transition-old(page-content){animation:none!important}::view-transition-new(page-content){animation:none!important}}@media (width<=760px){.site-header__inner{flex-direction:column;align-items:flex-start;padding:.85rem 1rem}.site-header__right{justify-content:space-between;width:100%;margin-left:0}.site-nav ul{justify-content:flex-start;gap:.5rem}}
