.BlogKeyboard-module__ov2Eka__keyboardWrap{margin-bottom:0}.BlogKeyboard-module__ov2Eka__keyboard{width:100%;height:auto;max-height:200px;display:block}
.BlogTypedTitle-module__gzHEia__header{text-align:center;padding-block:var(--space-4)}.BlogTypedTitle-module__gzHEia__label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent2);margin-bottom:.6rem;font-size:.72rem}.BlogTypedTitle-module__gzHEia__title{min-height:1.3em;font-family:var(--display);letter-spacing:.07em;text-transform:uppercase;-webkit-text-stroke:.9px currentColor;font-size:clamp(2rem,5vw,2.8rem);font-weight:400;line-height:1.3}.BlogTypedTitle-module__gzHEia__cursor{vertical-align:middle;background:var(--accent2);width:3px;height:1em;margin-left:2px;animation:1s step-end 5 BlogTypedTitle-module__gzHEia__blink;display:inline-block}@keyframes BlogTypedTitle-module__gzHEia__blink{0%,to{opacity:1}50%{opacity:0}}
.RetroWindow-module__vMJ8Ma__win{border:2px solid var(--text);background:var(--card);box-shadow:5px 5px 0 0 var(--accent2);border-radius:2px;overflow:hidden}.RetroWindow-module__vMJ8Ma__bar{background:var(--win-bar-bg);border-bottom:1px solid var(--mustard);align-items:center;gap:6px;padding:.45rem .8rem;display:flex}.RetroWindow-module__vMJ8Ma__dot{background:var(--win-dot);border-radius:50%;width:8px;height:8px}.RetroWindow-module__vMJ8Ma__filename{font-family:var(--mono);letter-spacing:.04em;color:var(--bg);flex:1;font-size:.68rem;font-weight:700}.RetroWindow-module__vMJ8Ma__body{padding:var(--space-3)}.RetroWindow-module__vMJ8Ma__hoverShadow{box-shadow:none;transition:transform .15s,box-shadow .15s}.RetroWindow-module__vMJ8Ma__hoverShadow:hover,.RetroWindow-module__vMJ8Ma__hoverShadow:focus-within{box-shadow:5px 5px 0 0 var(--accent2);transform:translate(-3px,-3px)}
.ContactForm-module__j1WgZG__group{margin-bottom:var(--space-3)}.ContactForm-module__j1WgZG__label{font-family:var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);margin-bottom:.4rem;font-size:.75rem;font-weight:700;display:block}.ContactForm-module__j1WgZG__input{background:var(--bg2);border:1.5px solid var(--border);width:100%;color:var(--text);font-family:var(--body);border-radius:2px;padding:.7rem .85rem;font-size:.92rem;transition:border-color .2s}.ContactForm-module__j1WgZG__input:focus{border-color:var(--accent)}textarea.ContactForm-module__j1WgZG__input{resize:vertical;min-height:130px}.ContactForm-module__j1WgZG__honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.ContactForm-module__j1WgZG__submit{width:100%}.ContactForm-module__j1WgZG__note{margin-top:var(--space-2);color:var(--muted);font-size:.8rem;line-height:1.6}.ContactForm-module__j1WgZG__noteLink{color:var(--accent2);text-underline-offset:2px;text-decoration:underline}
.FloppyDisk-module__riq3jG__disk{aspect-ratio:148.31/159.13;width:100%;display:inline-block;position:relative}.FloppyDisk-module__riq3jG__art,.FloppyDisk-module__riq3jG__label{width:100%;height:100%;display:block;position:absolute;inset:0}.FloppyDisk-module__riq3jG__art{filter:drop-shadow(0 3px 6px #221f1a2e);transition:filter .15s,transform .2s}
.SocialLinks-module__HHpLUq__links{flex-wrap:wrap;gap:.6rem;display:flex}.SocialLinks-module__HHpLUq__link{font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--text);border:1px solid var(--border);border-radius:2px;padding:.5rem .9rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s}.SocialLinks-module__HHpLUq__link:hover{border-color:var(--accent2);color:var(--accent2)}
.ProjectRow-module__pL4I9W__row{gap:var(--space-4);grid-template-columns:170px 1fr;align-items:center;display:grid}.ProjectRow-module__pL4I9W__disk{flex-direction:column;align-items:center;gap:.75rem;text-decoration:none;display:flex}.ProjectRow-module__pL4I9W__diskArt{width:100%;transition:transform .2s,filter .15s;display:block}.ProjectRow-module__pL4I9W__disk:focus-visible{outline:3px solid var(--focus);outline-offset:6px;border-radius:4px}.ProjectRow-module__pL4I9W__disk:hover .ProjectRow-module__pL4I9W__diskArt,.ProjectRow-module__pL4I9W__disk:focus-visible .ProjectRow-module__pL4I9W__diskArt{filter:drop-shadow(5px 5px 0 var(--accent2));transform:rotate(-6deg)scale(1.04)}.ProjectRow-module__pL4I9W__cta{font-family:var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);white-space:nowrap;font-size:.72rem;font-weight:700}.ProjectRow-module__pL4I9W__title{font-family:var(--head);letter-spacing:.01em;margin-bottom:.5rem;font-size:1.35rem;font-weight:700;line-height:1.25}.ProjectRow-module__pL4I9W__desc{color:var(--muted);max-width:62ch;font-size:.94rem;line-height:1.7}.ProjectRow-module__pL4I9W__stack{font-family:var(--mono);letter-spacing:.03em;color:var(--accent-text);margin-top:var(--space-2);font-size:.72rem}.ProjectRow-module__pL4I9W__links{margin-top:var(--space-2);flex-wrap:wrap;gap:1.5rem;display:flex}.ProjectRow-module__pL4I9W__link{font-family:var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);font-size:.78rem;font-weight:700;text-decoration:none}.ProjectRow-module__pL4I9W__link:hover{text-underline-offset:3px;text-decoration:underline}@media (max-width:600px){.ProjectRow-module__pL4I9W__row{justify-items:center;gap:var(--space-3);grid-template-columns:1fr}.ProjectRow-module__pL4I9W__disk{width:140px}.ProjectRow-module__pL4I9W__window{width:100%}}
.SkillTags-module__6DvwLW__skills{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex}.SkillTags-module__6DvwLW__tag,.SkillTags-module__6DvwLW__learning{font-family:var(--head);letter-spacing:.02em;border:1px solid var(--border);color:var(--text);border-radius:2px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.SkillTags-module__6DvwLW__learning{border-style:dashed}.SkillTags-module__6DvwLW__learning em{color:var(--muted);font-style:normal}
.about-module__omGEuW__grid{gap:var(--space-5);grid-template-columns:260px 1fr;align-items:start;display:grid}.about-module__omGEuW__side{gap:var(--space-3);flex-direction:column;display:flex}.about-module__omGEuW__avatar{aspect-ratio:1;width:112px;margin-bottom:var(--space-3);border:1px dashed var(--border);background:var(--bg2);font-family:var(--mono);color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.6rem;display:flex}.about-module__omGEuW__facts{font-family:var(--mono);color:var(--muted);font-size:.72rem;line-height:1.8}.about-module__omGEuW__facts>div{gap:.4rem;display:flex}.about-module__omGEuW__facts dt,.about-module__omGEuW__factStatus dd{color:var(--accent-text)}.about-module__omGEuW__bio{max-width:65ch;color:var(--muted);font-size:1rem;line-height:1.85}.about-module__omGEuW__bio strong{color:var(--text);font-weight:600}.about-module__omGEuW__bio p+p{margin-top:var(--space-2)}.about-module__omGEuW__divider{background:var(--border);height:1px;margin:var(--space-4) 0}.about-module__omGEuW__sectionLabel{margin-bottom:var(--space-2);border-bottom:1px solid var(--border);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);padding-bottom:.5rem;font-size:.7rem}@media (max-width:860px){.about-module__omGEuW__grid{gap:var(--space-4);grid-template-columns:1fr}}
.projects-module__GpnBQW__list{gap:var(--space-5);flex-direction:column;display:flex}
.resume-module__7jjsUG__grid{gap:var(--space-5);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;display:grid}.resume-module__7jjsUG__section+.resume-module__7jjsUG__section{margin-top:var(--space-4)}.resume-module__7jjsUG__sectionTitle{margin-bottom:var(--space-2);border-bottom:1px solid var(--border);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);padding-bottom:.5rem;font-size:.7rem;font-weight:400}.resume-module__7jjsUG__item+.resume-module__7jjsUG__item{margin-top:var(--space-3)}.resume-module__7jjsUG__itemHead{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.resume-module__7jjsUG__itemTitle{font-family:var(--head);letter-spacing:.01em;font-size:1.15rem;font-weight:700}.resume-module__7jjsUG__itemDate{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:.68rem}.resume-module__7jjsUG__itemSub{color:var(--accent-text);margin:.2rem 0 .5rem;font-size:.88rem}.resume-module__7jjsUG__itemDesc{color:var(--muted);font-size:.9rem;line-height:1.65}.resume-module__7jjsUG__bullets{flex-direction:column;gap:.45rem;list-style:none;display:flex}.resume-module__7jjsUG__bullets li{color:var(--muted);padding-left:1.1rem;font-size:.9rem;line-height:1.6;position:relative}.resume-module__7jjsUG__bullets li:before{content:"";background:var(--mustard);width:5px;height:5px;position:absolute;top:.6em;left:0;transform:rotate(45deg)}.resume-module__7jjsUG__actions{margin-top:var(--space-4)}.resume-module__7jjsUG__contactCol{gap:var(--space-3);top:calc(var(--nav-h) + 1.5rem);flex-direction:column;display:flex;position:sticky}@media (max-width:960px){.resume-module__7jjsUG__grid{gap:var(--space-4);grid-template-columns:1fr}.resume-module__7jjsUG__contactCol{position:static}}@media (max-width:600px){.resume-module__7jjsUG__itemHead{flex-direction:column;gap:.2rem}}
.BlogCard-module__h7P_Na__body{gap:var(--space-3);grid-template-columns:80px 1fr;display:grid}.BlogCard-module__h7P_Na__date{font-family:var(--mono);color:var(--muted);white-space:nowrap;padding-top:4px;font-size:.68rem}.BlogCard-module__h7P_Na__cat{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);margin-bottom:.4rem;font-size:.66rem}.BlogCard-module__h7P_Na__title{font-family:var(--head);letter-spacing:.01em;margin-bottom:.5rem;font-size:1.3rem;font-weight:700;line-height:1.3}.BlogCard-module__h7P_Na__excerpt{color:var(--muted);font-size:.92rem;line-height:1.7}@media (max-width:600px){.BlogCard-module__h7P_Na__body{grid-template-columns:1fr;gap:.4rem}}
.blog-module__PmqbEa__list{gap:var(--space-3);flex-direction:column;display:flex}
