/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
.project[data-astro-cid-fg5zcfza]{padding:calc(var(--spacing,.25rem) * 4)}@media (width>=768px){.project[data-astro-cid-fg5zcfza]:hover a{color:var(--color-black,#000)!important}@media (hover:hover){.project[data-astro-cid-fg5zcfza]:hover{background-color:var(--color-cyan-300,oklch(86.5% .127 207.078));color:var(--color-cyan-900,oklch(39.8% .07 227.392))}}}.blurb[data-astro-cid-fg5zcfza]{color:var(--color-cyan-500,oklch(71.5% .143 215.221))}.shot[data-astro-cid-ewoxpeoe]{display:inline-block;position:relative}.pop[data-astro-cid-ewoxpeoe]{z-index:1;opacity:0;visibility:hidden;transform-origin:bottom;pointer-events:none;background:#000c28d9;border:1px solid #00ffff8c;border-radius:4px;width:min(17rem,60vw);padding:3px;transition:opacity .14s,transform .14s,visibility 0s .14s;position:absolute;bottom:calc(100% + .6rem);left:50%;transform:translate(-50%)scale(.96);box-shadow:0 10px 30px #0000008c}.pop[data-astro-cid-ewoxpeoe] img[data-astro-cid-ewoxpeoe]{border-radius:2px;width:100%;height:auto;display:block}@media (hover:hover){.shot[data-astro-cid-ewoxpeoe]:hover .pop[data-astro-cid-ewoxpeoe],.shot[data-astro-cid-ewoxpeoe]:focus-within .pop[data-astro-cid-ewoxpeoe]{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)scale(1)}}.sheet[data-astro-cid-ewoxpeoe]{background:#000c28;border:1px solid #00ffff8c;border-radius:6px;max-width:min(92vw,40rem);padding:4px}.sheet[data-astro-cid-ewoxpeoe]::backdrop{background:#000212b3}.sheet[data-astro-cid-ewoxpeoe] img[data-astro-cid-ewoxpeoe]{border-radius:3px;width:100%;height:auto;display:block}.tandy.svelte-1y1o15w:before{content:"";z-index:-1;background:var(--crt-glow);opacity:var(--crt-glow-alpha);filter:blur(var(--crt-glow-size));pointer-events:none;border-radius:50%;position:absolute;inset:12%}.tandy.svelte-1y1o15w:after{content:"";border-radius:inherit;pointer-events:none;mix-blend-mode:multiply;opacity:.32;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");border:1px solid #fff7df55;position:absolute;inset:7px;box-shadow:0 1px 1px #786a4530}.glare.svelte-1y1o15w{z-index:3;border-radius:inherit;opacity:.65;pointer-events:none;background:radial-gradient(90% 70% at 22% 12%,#ffffff6b 0%,#ffffff1f 45%,#fff0 72%);width:46%;height:34%;position:absolute;top:0;left:0}.mark.svelte-1y1o15w{height:var(--tandy-mark-size);width:calc(var(--tandy-mark-size) * 1.54);opacity:var(--tandy-mark);transform:rotate(var(--tandy-mark-tilt));filter:drop-shadow(0 1px 1.5px rgba(40, 30, 10, var(--tandy-mark-lift)));overflow:visible}.gl.svelte-1y1o15w{font-family:var(--font-mono-display);font-size:100px}.face.svelte-1y1o15w{fill:url(#gl-bands)}.bevel.svelte-1y1o15w{fill:none;stroke:rgba(255, 255, 255, var(--tandy-mark-gloss));stroke-width:var(--tandy-mark-bevel-width);stroke-linejoin:round;transform:translate(calc(var(--tandy-mark-bevel) * -1 * cos(var(--tandy-mark-light))), calc(var(--tandy-mark-bevel) * -1 * sin(var(--tandy-mark-light))))}.feet.svelte-1y1o15w{pointer-events:none;z-index:-1;opacity:1;justify-content:space-between;padding:0 10%;display:flex;position:absolute;bottom:-29px;left:0;right:0}.feet.svelte-1y1o15w span:where(.svelte-1y1o15w){background:linear-gradient(#272a24,#46473a 45%,#272923);border-radius:2px 2px 5px 5px;width:14%;height:16px;box-shadow:inset 0 -2px 1px #1117,0 4px 4px #3b342940}@media (width>=601px) and (width<=1000px){.tandy.svelte-1y1o15w{margin-inline:0}}.tandy.svelte-1y1o15w{border:var(--tandy-outline) solid var(--tandy-outline-color);padding:var(--tandy-top) var(--tandy-bezel) 0;isolation:isolate;user-select:none;--crt-blue:#09234b;--crt-glow:#528cd1;--crt-scanline:.2;--crt-mask:.12;--crt-flicker:.025;--crt-jitter-play:paused;--crt-blur:none;background-color:#ddd4bd;background-image:linear-gradient(90deg,#b4a78b55,#0000 3% 96%,#8d806255),linear-gradient(165deg,#f5eedb 0%,#ded5bc 28%,#d1c5a9 85%,#c0b295 100%);border-width:1px;border-color:#968a73;border-radius:34px 34px 24px 24px;margin:1.5rem -18px 3.5rem;padding-top:66px;position:relative;box-shadow:inset 0 2px 1px #fffbed,inset 3px 0 3px #fff7dd99,inset -3px 0 4px #786d5050,inset 0 -5px 4px #8c7d5b60,0 1px #73674f,0 4px 0 -1px #ece3cb,0 6px 0 -1px #95886d,0 17px 0 -3px #b8aa8c,0 19px 0 -3px #776b53,8px 32px 28px -17px #50432c70,0 58px 65px -33px #50432c60}.machine-label.svelte-1y1o15w{color:#70654e;font:8px var(--mono);text-shadow:0 1px #fff6dd;letter-spacing:.2em;justify-content:space-between;display:flex;position:absolute;top:26px;left:36px;right:36px}.vents.svelte-1y1o15w{opacity:1;gap:4px;width:124px;height:18px;display:flex;position:absolute;top:23px;right:155px;transform:skew(-12deg)}.bezel.svelte-1y1o15w{background:linear-gradient(135deg,#93866c 0%,#b4a68a 22%,#d4c8ac 62%,#f6ecd2 100%);border:1px solid #b6a98d;border-radius:24px 24px 20px 20px;padding:12px;position:relative;box-shadow:0 -2px 2px #fff8e699,0 2px #fff1d299,inset 4px 6px 7px #544a3555,inset -3px -4px 5px #fff3d780}.crt.svelte-1y1o15w{border-radius:var(--tandy-screen-radius);background:var(--crt-blue);color:#fff;text-shadow:none;filter:none;user-select:text;animation:3.6s linear infinite svelte-1y1o15w-tube-shadow;position:relative;overflow:clip;box-shadow:0 0 10px #528cd155,inset 0 0 80px #00000040}.screen.svelte-1y1o15w{z-index:1;border-radius:inherit;position:relative}.crt.svelte-1y1o15w:before{content:" ";border-radius:inherit;background:linear-gradient(#12101000 50%, rgba(0, 0, 0, var(--crt-scanline)) 50%), linear-gradient(90deg, rgba(255, 0, 0, var(--crt-mask)), rgba(0, 255, 0, calc(var(--crt-mask) * .33)), rgba(0, 0, 255, var(--crt-mask)));background-size:100% var(--crt-scanline-pitch), var(--crt-mask-pitch) 100%;z-index:2;pointer-events:none;background-repeat:repeat;display:block;position:absolute;inset:0}.crt.svelte-1y1o15w:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;opacity:0;background:#12101013;animation:.18s infinite flicker;position:absolute;inset:0}.crt.svelte-1y1o15w::selection,.crt.svelte-1y1o15w ::selection{color:#000;-webkit-text-fill-color:#000;text-shadow:none;background:#0ff}.power.svelte-1y1o15w i:where(.svelte-1y1o15w){background:#bbf58a;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #baff76}.chin.svelte-1y1o15w{align-items:center;gap:24px;height:112px;padding:0 8px 5px;display:flex;position:relative}.controls.svelte-1y1o15w{background:linear-gradient(#bcb09466,#e9dfc066);border-radius:8px;gap:10px;margin-right:auto;padding:9px 12px 12px;display:flex;box-shadow:inset 0 1px 2px #74684d55,0 1px #fff5d3aa}.dial.svelte-1y1o15w{appearance:none;cursor:pointer;color:#514b3e;background:0 0;border:0;justify-items:center;gap:7px;min-width:44px;min-height:44px;padding:8px 4px 0;display:grid}.dial.svelte-1y1o15w>span:where(.svelte-1y1o15w){background:radial-gradient(circle at 40% 32%,#6d6b5d 0%,#4a4a3e 55%,#0000 59%),repeating-conic-gradient(#48483f 0deg 8deg,#303229 8deg 16deg);border-radius:50%;width:27px;height:27px;transition:transform .25s;display:block;position:relative;box-shadow:0 0 0 2px #847a60,0 0 0 4px #d8cdb0,0 0 0 5px #a0957a,1px 4px 4px #40372170,inset 0 2px 2px #ffffff40}.dial.svelte-1y1o15w>span:where(.svelte-1y1o15w):after{content:"";transform-origin:50% 10px;background:#eee2b7;width:2px;height:9px;position:absolute;top:3px;left:12px;transform:rotate(-35deg)}.dial.turned.svelte-1y1o15w>span:where(.svelte-1y1o15w){transform:rotate(90deg)}.dial.svelte-1y1o15w small:where(.svelte-1y1o15w){font:8px var(--mono);letter-spacing:.08em}button.svelte-1y1o15w:focus-visible{outline-offset:5px;border-radius:3px;outline:2px solid #215b57}.power.svelte-1y1o15w{color:#514b3e;font:8px var(--mono);justify-items:center;gap:11px;display:grid}.power.svelte-1y1o15w i:where(.svelte-1y1o15w){background:#a4d565;border:1px solid #66843b;width:7px;height:7px}.badge.svelte-1y1o15w{font-family:var(--mono);text-transform:uppercase;text-shadow:0 1px #fff9;letter-spacing:.03em;white-space:nowrap;color:#5c5545;background:linear-gradient(110deg,#e8dec6,#d0c4a7);border:1px solid #a4977b;border-radius:3px;padding:9px 14px;font-size:11px;box-shadow:inset 0 1px #fff7df,0 1px 1px #fff3d080}.badge.svelte-1y1o15w b:where(.svelte-1y1o15w){font-size:20px;font-weight:400}.still.svelte-1y1o15w .crt:where(.svelte-1y1o15w):before,.still.svelte-1y1o15w .glare:where(.svelte-1y1o15w){opacity:0}@media (width<=600px){.tandy.svelte-1y1o15w{border-radius:20px;margin-inline:0;padding:44px 12px 0}.machine-label.svelte-1y1o15w{font-size:8px;top:17px;left:23px;right:23px}.vents.svelte-1y1o15w{display:none}.bezel.svelte-1y1o15w{padding:6px}.chin.svelte-1y1o15w{gap:16px;height:88px}.controls.svelte-1y1o15w{gap:12px}.badge.svelte-1y1o15w{padding-left:12px;font-size:9px}.power.svelte-1y1o15w{display:none}.tandy.svelte-1y1o15w{border-radius:25px 25px 19px 19px;padding-top:48px}.machine-label.svelte-1y1o15w{top:19px}.chin.svelte-1y1o15w{gap:10px;height:100px;padding-inline:2px}.controls.svelte-1y1o15w{gap:2px;padding:5px 3px 8px}.badge.svelte-1y1o15w{margin-left:auto;padding:8px;font-size:8px}.badge.svelte-1y1o15w b:where(.svelte-1y1o15w){font-size:12px}.feet.svelte-1y1o15w{bottom:-26px}}.vents.svelte-1y1o15w span:where(.svelte-1y1o15w){background:linear-gradient(90deg,#655c47,#9d9072);border-radius:2px;flex:1;box-shadow:inset 1px 2px 2px #342f2660,1px 1px #fff5d9}.terminal-bar.svelte-1y1o15w,.terminal-footer.svelte-1y1o15w{z-index:1;letter-spacing:.12em;color:#9ac5e6;justify-content:space-between;gap:12px;padding:14px 22px;font-size:9px;display:flex;position:relative}.terminal-bar.svelte-1y1o15w{border-bottom:1px solid #95cfff35}.terminal-footer.svelte-1y1o15w{border-top:1px solid #95cfff35}.online.svelte-1y1o15w:before{content:"";background:#a0ffc2;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block;box-shadow:0 0 8px #a0ffc2}.amber.svelte-1y1o15w .crt:where(.svelte-1y1o15w){filter:sepia()saturate(1.65)}.tandy.svelte-1y1o15w .project{color:#c4d5eb;background:0 0;border-bottom:1px solid #b4d8ff20;padding:22px 24px 22px 48px;font-size:13px;line-height:1.75;transition:background .18s;position:relative}.tandy.svelte-1y1o15w .project:before{content:">";color:#6284b0;position:absolute;top:22px;left:23px}.tandy.svelte-1y1o15w .project a:focus-visible{outline-offset:4px;outline:2px solid}.tandy.svelte-1y1o15w .project h5{font-size:16px}.tandy.svelte-1y1o15w .blurb{color:#94b1d6;margin-left:auto;padding-top:4px;font-size:10px}@media (width<=34rem){.tandy.svelte-1y1o15w .project{padding:18px 14px 18px 30px;font-size:12px}.tandy.svelte-1y1o15w .project:before{top:18px;left:12px}.tandy.svelte-1y1o15w .project h5{font-size:14px}}.tandy.svelte-1y1o15w .project a{color:#0ff!important}.still.svelte-1y1o15w .crt:where(.svelte-1y1o15w){text-shadow:none;animation:none}.still.svelte-1y1o15w .crt:where(.svelte-1y1o15w):before,.still.svelte-1y1o15w .crt:where(.svelte-1y1o15w):after{display:none}.mark.svelte-1y1o15w,.mark.svelte-1y1o15w text:where(.svelte-1y1o15w),.machine-label.svelte-1y1o15w,.chin.svelte-1y1o15w{user-select:none}.glare.svelte-1y1o15w{height:min(34%,380px)}@media (width<=34rem){.terminal-bar.svelte-1y1o15w,.terminal-footer.svelte-1y1o15w{z-index:1;padding:12px;font-size:7px;position:relative}.online.svelte-1y1o15w{display:none}}@media (prefers-reduced-motion:reduce){.crt.svelte-1y1o15w,.crt.svelte-1y1o15w:after{text-shadow:none;animation:none}.dial.svelte-1y1o15w>span:where(.svelte-1y1o15w),.tandy.svelte-1y1o15w .project{transition:none}}.screen.svelte-1y1o15w h3:after{content:none;animation:none}@keyframes svelte-1y1o15w-tube-shadow{0%{text-shadow:.219496px 0 .35px #001eff59,-.219496px 0 .35px #ff005038,0 0 .35px}5%{text-shadow:.396449px 0 .35px #001eff59,-.396449px 0 .35px #ff005038,0 0 .35px}10%{text-shadow:.0147814px 0 .35px #001eff59,-.0147814px 0 .35px #ff005038,0 0 .35px}15%{text-shadow:.201093px 0 .35px #001eff59,-.201093px 0 .35px #ff005038,0 0 .35px}20%{text-shadow:.239702px 0 .35px #001eff59,-.239702px 0 .35px #ff005038,0 0 .35px}25%{text-shadow:.306282px 0 .35px #001eff59,-.306282px 0 .35px #ff005038,0 0 .35px}30%{text-shadow:.35078px 0 .35px #001eff59,-.35078px 0 .35px #ff005038,0 0 .35px}35%{text-shadow:.448457px 0 .35px #001eff59,-.448457px 0 .35px #ff005038,0 0 .35px}40%{text-shadow:.435453px 0 .35px #001eff59,-.435453px 0 .35px #ff005038,0 0 .35px}45%{text-shadow:.115528px 0 .35px #001eff59,-.115528px 0 .35px #ff005038,0 0 .35px}50%{text-shadow:.0404215px 0 .35px #001eff59,-.0404215px 0 .35px #ff005038,0 0 .35px}55%{text-shadow:.187923px 0 .35px #001eff59,-.187923px 0 .35px #ff005038,0 0 .35px}60%{text-shadow:.101097px 0 .35px #001eff59,-.101097px 0 .35px #ff005038,0 0 .35px}65%{text-shadow:.431939px 0 .35px #001eff59,-.431939px 0 .35px #ff005038,0 0 .35px}70%{text-shadow:.24437px 0 .35px #001eff59,-.24437px 0 .35px #ff005038,0 0 .35px}75%{text-shadow:.447425px 0 .35px #001eff59,-.447425px 0 .35px #ff005038,0 0 .35px}80%{text-shadow:.0416519px 0 .35px #001eff59,-.0416519px 0 .35px #ff005038,0 0 .35px}85%{text-shadow:.0488491px 0 .35px #001eff59,-.0488491px 0 .35px #ff005038,0 0 .35px}90%{text-shadow:.22167px 0 .35px #001eff59,-.22167px 0 .35px #ff005038,0 0 .35px}95%{text-shadow:.0920919px 0 .35px #001eff59,-.0920919px 0 .35px #ff005038,0 0 .35px}to{text-shadow:.310438px 0 .35px #001eff59,-.310438px 0 .35px #ff005038,0 0 .35px}}.tandy.svelte-1y1o15w .project:has(:focus-visible){color:#000;text-shadow:none;background:#0ff}.tandy.svelte-1y1o15w .project:has(:focus-visible) *,.tandy.svelte-1y1o15w .project:has(:focus-visible):before{-webkit-text-fill-color:#000;text-shadow:none;color:#000!important}.tandy.svelte-1y1o15w .project:has(:focus-visible) a:after{filter:none}@media (hover:hover) and (pointer:fine){.tandy.svelte-1y1o15w .project:hover{color:#000;text-shadow:none;background:#0ff}.tandy.svelte-1y1o15w .project:hover *,.tandy.svelte-1y1o15w .project:hover:before{-webkit-text-fill-color:#000;text-shadow:none;color:#000!important}.tandy.svelte-1y1o15w .project:hover a:after{filter:none}}@font-face{font-family:Brick Sans Display;src:url(/fonts/brick/nt-brick-sans-regular.woff2)format("woff2");ascent-override:93.6%;descent-override:25%;line-gap-override:0%;font-display:swap}.masthead[data-astro-cid-lcdefpme]{margin-bottom:2.75rem}.intro[data-astro-cid-lcdefpme]{font-size:var(--intro-size);line-height:var(--intro-lh);color:var(--ink-soft);text-wrap:pretty}h3[data-astro-cid-lcdefpme]{font-family:"Brick Sans Display", var(--font-mono-display);background:0 0;flex-direction:column;align-items:flex-start;margin-top:0;margin-bottom:0;line-height:normal;display:flex;overflow:visible}h3[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{background-image:var(--killer-robot-gradient);-webkit-text-fill-color:transparent;background-size:100% 300%;background-clip:text;display:block}h3[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]+span[data-astro-cid-lcdefpme]{margin-top:-.23em}h3[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]:nth-child(2){background-position:50%}h3[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]:nth-child(3){background-position:bottom}
