@media (prefers-reduced-motion:no-preference){blink{animation:1s step-end infinite blink}}@keyframes blink{50%{visibility:hidden}}.wordart{letter-spacing:1px;filter:drop-shadow(3px 3px #00000047);margin-top:1em;margin-bottom:1.3em;font-family:Impact,Arial Black,sans-serif;font-size:2.6em;font-weight:400}.wordart .skew{display:inline-block;transform:skewY(-5deg)}.wordart .word{white-space:nowrap}.wordart .letter{background:linear-gradient(#fff3aa 0%,#ffbd52 25%,#ff7189 48%,#cc408d 70%,#512261 100%);color:#0000;-webkit-text-stroke:1px #542244;-webkit-background-clip:text;background-clip:text;display:inline-block}@media (prefers-reduced-motion:no-preference){.wordart .letter{animation:1.8s ease-in-out infinite wave}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-.18em)}}body{background:teal}.retro-window{box-sizing:border-box;background:silver;border:2px outset #fff;max-width:784px;margin:12px auto;padding:3px;box-shadow:2px 2px #003d3d}.retro-window__titlebar{color:#fff;background:navy;justify-content:space-between;align-items:center;gap:8px;padding:3px 4px;font:700 13px Arial,sans-serif;display:flex}.retro-window__controls{flex-shrink:0;gap:2px;display:flex}.retro-window__controls span{box-sizing:border-box;color:#000;background:silver;border:2px outset #fff;justify-content:center;align-items:center;width:16px;height:14px;font:700 11px/1 Arial,sans-serif;display:inline-flex}.page{box-sizing:border-box;background:silver;max-width:760px;padding:0 8px}img,input,textarea{max-width:100%}img{height:auto}textarea{box-sizing:border-box;width:100%}.hp{position:absolute;left:-10000px}.roaming-cat{z-index:999;pointer-events:none;visibility:hidden;will-change:transform;width:84px;height:60px;position:fixed;top:0;left:0}.roaming-cat__art{transform-origin:50%;width:100%;height:100%}.roaming-cat svg{overflow:visible}.cat-body{transform-origin:43px 39px}.cat-head{transform-origin:57px 28px}.cat-tail{transform-origin:25px 34px;animation:2.4s ease-in-out infinite alternate cat-tail}.cat-leg,.cat-paw{transform-box:view-box}.cat-paw--back{transform-origin:31px 49px}.cat-paw--front{transform-origin:55px 49px}.cat-leg--back-far,.cat-leg--back-near{transform-origin:30px 38px}.cat-leg--front-far,.cat-leg--front-near{transform-origin:55px 38px}.roaming-cat[data-mode=walk] .cat-leg--back-near,.roaming-cat[data-mode=walk] .cat-leg--front-far{animation:.64s linear infinite cat-step}.roaming-cat[data-mode=walk] .cat-leg--front-near,.roaming-cat[data-mode=walk] .cat-leg--back-far{animation:.64s linear -.32s infinite cat-step}.roaming-cat[data-mode=walk] .cat-leg--back-near .cat-paw,.roaming-cat[data-mode=walk] .cat-leg--front-far .cat-paw{animation:.64s linear infinite cat-paw-step}.roaming-cat[data-mode=walk] .cat-leg--front-near .cat-paw,.roaming-cat[data-mode=walk] .cat-leg--back-far .cat-paw{animation:.64s linear -.32s infinite cat-paw-step}.roaming-cat[data-mode=crouch] .cat-body{transform:translateY(4px)scaleY(.9)}.roaming-cat[data-mode=land][data-direction=up] .cat-body{animation:.3s ease-out both cat-land-up}.roaming-cat[data-mode=land][data-direction=down] .cat-body{animation:.48s ease-out both cat-land-down}.roaming-cat[data-mode=crouch] .cat-head{transform:rotate(-8deg)}.roaming-cat[data-mode=jump][data-direction=up] .cat-body{transform:rotate(-28deg)scaleX(1.1)}.roaming-cat[data-mode=jump][data-direction=up] .cat-head{transform:rotate(-8deg)}.roaming-cat[data-mode=jump][data-direction=down] .cat-body{transform:rotate(25deg)scaleX(1.06)}.roaming-cat[data-mode=jump][data-direction=down] .cat-head{transform:rotate(12deg)}.roaming-cat[data-mode=jump] .cat-leg--back-near,.roaming-cat[data-mode=jump] .cat-leg--back-far{transform:rotate(35deg)}.roaming-cat[data-mode=jump] .cat-leg--front-near,.roaming-cat[data-mode=jump] .cat-leg--front-far{transform:rotate(-45deg)}.roaming-cat[data-mode=sleep] .cat-body{transform:translateY(4px)scaleY(.9)}.roaming-cat[data-mode=sleep] .cat-eyes{opacity:0}.roaming-cat__zzz{color:#555;font:700 12px Arial,sans-serif;animation:1.8s ease-out infinite cat-zzz;display:none;position:absolute;top:0;right:0}.roaming-cat[data-mode=sleep] .roaming-cat__zzz{display:block}@keyframes cat-land-up{0%{transform:translateY(4px)scaleY(.85)scaleX(1.05)}60%{transform:translateY(-2px)scaleY(1.04)}to{transform:none}}@keyframes cat-land-down{0%{transform:translateY(7px)scaleY(.72)scaleX(1.16)}40%{transform:translateY(-4px)scaleY(1.1)scaleX(.97)}70%{transform:translateY(2px)scaleY(.94)}to{transform:none}}@keyframes cat-step{0%,to{transform:rotate(-32deg)}50%{transform:rotate(32deg)}}@keyframes cat-paw-step{0%,to{transform:rotate(32deg)}50%{transform:rotate(-32deg)}}@keyframes cat-bob{0%{transform:translateY(0)}to{transform:translateY(-1px)}}@keyframes cat-tail{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes cat-zzz{0%{opacity:0;transform:translateY(3px)}30%{opacity:1}to{opacity:0;transform:translateY(-9px)}}@media (prefers-reduced-motion:reduce){.roaming-cat *{animation:none!important}}.skip-link{z-index:1000;color:navy;background:#ffc;border:2px solid navy;padding:8px 12px;position:absolute;top:-80px;left:8px}.skip-link:focus{top:8px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d400aa}.site-nav{background:#e5e5e5;border:2px outset #fff;margin:18px auto 6px;padding:7px 10px;font:700 13px/2 Arial,sans-serif}.site-nav a{padding:0 4px;display:inline-block}.site-nav a:hover{color:#fff;background:navy}.project-table tbody tr:nth-child(2n){background:#f1f1fa}.project-table tbody tr:hover{background:#ffffdc}.project-table tbody td{padding-top:10px;padding-bottom:10px}.project-table a{font-size:1.08em}h2[id]{scroll-margin-top:16px}@media (max-width:520px){.wordart{font-size:2em}.site-nav{line-height:2.3}.page{width:100%}.project-table tbody td{padding:8px 5px}}.snowfall{pointer-events:none;z-index:900;position:fixed;inset:0;overflow:hidden}.snowfall__flake{color:#fff;text-shadow:0 0 2px #5685a3,1px 1px 1px #5685a3;opacity:.8;will-change:transform;animation:linear infinite snowfall-drop;position:absolute;top:-20px}@keyframes snowfall-drop{0%{transform:translate(0,0)}to{transform:translate3d(var(--snow-drift),calc(100vh + 30px),0)rotate(180deg)}}@media (prefers-reduced-motion:reduce){.snowfall{display:none}}
