@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff")}:root{--phosphor:#4dff88;--phosphor-hi:#b6ffcf;--phosphor-dim:#1f9a4c;--phosphor-faint:#4dff8824;--amber:#ffb347;--glow:0 0 1px #b6ffcfcc, 0 0 6px #4dff8880, 0 0 16px #4dff8833;--case:#eceef0;--case-hi:#fafbfc;--case-lo:#cfd3d8;--case-shadow:#9aa0a6;--font:"VT323", ui-monospace, "Courier New", monospace;--pad:clamp(10px, 2.2vw, 22px)}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--phosphor);-webkit-font-smoothing:antialiased;background:radial-gradient(70% 55% at 50% 42%,#ffc47829,#0000 70%),linear-gradient(#2a1f18 0%,#1a1410 62%,#120d0a 62.2%,#1c1511 100%);overflow:hidden}.desk{flex-direction:column;justify-content:center;align-items:center;height:100dvh;padding:clamp(8px,2vh,28px) clamp(6px,2vw,28px);display:flex}.computer{--w:min(calc(100vw - 56px), calc((100dvh - 64px) * 1.72), 1800px);width:var(--w);height:min(calc(100dvh - 64px), calc(var(--w) / 1.6));background:repeating-linear-gradient(90deg, #00000003 0 2px, #ffffff04 2px 4px), linear-gradient(170deg, var(--case-hi) 0%, var(--case) 38%, var(--case-lo) 100%);box-shadow:inset 0 2px 0 #ffffffb3, inset 0 -6px 0 #0000001f, inset 4px 0 0 #ffffff40, inset -4px 0 0 #00000014, 0 1px 0 var(--case-shadow), 0 30px 60px -10px #000000bf, 0 60px 90px -30px #ffaa5a14;border-radius:clamp(14px,2.4vw,30px) clamp(14px,2.4vw,30px) clamp(10px,1.4vw,16px) clamp(10px,1.4vw,16px);flex-direction:column;padding:clamp(8px,1.6vw,18px) clamp(10px,2.4vw,30px) 0;display:flex;position:relative}.case-top{color:#6b5a3c;letter-spacing:.18em;align-items:center;gap:clamp(10px,2vw,22px);height:clamp(22px,3.6vw,38px);padding:0 clamp(4px,.8vw,10px);font-size:clamp(12px,1.6vw,18px);display:flex}.brand b{color:#9c3a1e;font-weight:400}.vents{opacity:.7;background:repeating-linear-gradient(90deg,#3c424a59 0 3px,#0000 3px 9px);border-radius:3px;flex:1;height:40%}.lights{gap:clamp(6px,1vw,12px);display:flex}.light{--c:#4dff88;background:radial-gradient(at 35% 30%,#ffffff59,#0000 45%),#3a3d42;border-radius:50%;width:clamp(11px,1.5vw,17px);height:clamp(8px,1.05vw,12px);transition:background .3s,box-shadow .3s;box-shadow:inset 0 1px 2px #000000b3,0 1px #fff9}.light--pwr{--c:#ff5a3c}.light--dsk{--c:#ffb347}.light--sys{--c:#4dff88}.computer[data-state=on] .light--pwr,.computer[data-state=on] .light--sys{background:radial-gradient(ellipse at 35% 30%, #fffc, transparent 45%), var(--c);box-shadow:inset 0 -1px 2px #0000004d, 0 0 6px var(--c), 0 0 16px var(--c)}.computer[data-state=booting] .light{animation:.9s step-end infinite led}.computer[data-state=booting] .light--dsk{animation-delay:.3s}.computer[data-state=booting] .light--sys{animation-delay:.6s}.computer[data-state=booting] .light--pwr{animation:none}.computer[data-state=booting] .light--pwr,.computer.disk .light--dsk{background:radial-gradient(ellipse at 35% 30%, #fffc, transparent 45%), var(--c);box-shadow:inset 0 -1px 2px #0000004d, 0 0 6px var(--c), 0 0 16px var(--c)}.computer.disk .light--dsk{animation:.5s steps(2,end) forwards disk}@keyframes led{0%,40%{background:radial-gradient(ellipse at 35% 30%, #fffc, transparent 45%), var(--c);box-shadow:0 0 6px var(--c), 0 0 16px var(--c)}41%,to{background:radial-gradient(at 35% 30%,#ffffff59,#0000 45%),#3a3d42;box-shadow:inset 0 1px 2px #000000b3}}@keyframes disk{to{background:radial-gradient(at 35% 30%,#ffffff59,#0000 45%),#3a3d42;box-shadow:inset 0 1px 2px #000000b3}}.bezel{background:linear-gradient(160deg,#d8dce0,#c4c9cf 55%,#b3b9c0);border-radius:clamp(18px,3vw,40px);flex:1;min-height:0;padding:clamp(10px,1.8vw,24px);box-shadow:inset 0 3px 6px #00000059,inset 0 -2px #ffffff73,0 1px #fff9}.screen{background:radial-gradient(at 50% 45%,#0d1a10 0%,#060b07 70%,#020402 100%);border-radius:7%/9%;height:100%;position:relative;overflow:hidden;box-shadow:0 0 0 clamp(3px,.5vw,6px) #1a1611,0 0 0 clamp(4px,.65vw,8px) #7d838a,inset 0 0 40px #000000e6}.glass{pointer-events:none;border-radius:inherit;background:radial-gradient(60% 40% at 28% 12%,#ffffff17,#0000 70%),radial-gradient(#0000 58%,#0000008c 100%);position:absolute;inset:0;box-shadow:inset 0 0 70px 14px #000000bf,inset 0 0 12px #000c}.case-bottom{align-items:center;gap:clamp(10px,2vw,24px);height:clamp(34px,6vw,64px);padding:0 clamp(4px,1vw,12px);display:flex}.badge{aspect-ratio:1;width:clamp(24px,3.4vw,38px);color:var(--amber);letter-spacing:-.05em;background:linear-gradient(135deg,#3a3d42,#1c1e21);border-radius:6px;place-items:center;font-size:clamp(13px,1.8vw,20px);display:grid;box-shadow:inset 0 1px #fff3,0 1px #fff9}.badge i{color:#ff6b3d;font-style:normal}.floppy{background:linear-gradient(#25282c,#44484e);border-radius:3px;flex:1;max-width:34%;height:clamp(10px,1.3vw,15px);position:relative;box-shadow:inset 0 2px 3px #000c,0 1px #ffffffb3}.floppy span{background:#6c7178;border-radius:2px;width:12%;height:3px;margin-top:-1.5px;position:absolute;top:50%;right:8%}.knobs{gap:clamp(6px,1vw,12px);margin-left:auto;display:flex}.knobs i{aspect-ratio:1;background:conic-gradient(from 30deg,#e2e5e8,#9aa0a6,#e2e5e8,#9aa0a6,#e2e5e8);border-radius:50%;width:clamp(14px,2vw,22px);box-shadow:0 2px 3px #0006,inset 0 0 0 2px #00000026}.power{aspect-ratio:1;cursor:pointer;width:clamp(28px,4vw,44px);font:inherit;color:#7a2a14;background:linear-gradient(#f7f8f9,#d3d7dc);border:0;border-radius:8px;font-size:clamp(14px,2vw,22px);transition:transform 80ms,box-shadow 80ms;box-shadow:0 3px #9aa0a6,0 4px 6px #0006,inset 0 1px #fff}.power:active{transform:translateY(2px);box-shadow:0 1px #9aa0a6,0 2px 3px #0006,inset 0 1px #fff}.stand{background:linear-gradient(#b9bec4,#8a9097);border-radius:0 0 10px 10px;width:min(320px,30vw);height:clamp(8px,1.6vh,18px);box-shadow:0 12px 22px #0009}.crt{text-shadow:var(--glow);opacity:0;filter:brightness(0);font-size:clamp(17px,1.75vw,23px);line-height:1.25;position:absolute;inset:0}.crt.on{opacity:1;filter:none;animation:.9s cubic-bezier(.2,.8,.3,1) both poweron,6s 1s infinite flicker}.crt.on.instant{animation:6s infinite flicker}.crt:before,.crt:after{content:"";pointer-events:none;z-index:3;position:absolute;inset:0}.crt:before{background:repeating-linear-gradient(#00000052 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#ff003c06 0 1px,#00ff5a05 1px 2px,#0050ff06 2px 3px)}.crt:after{background:linear-gradient(#0000 0%,#4dff880f 50%,#0000 100%);height:22%;animation:7s linear infinite roll}@keyframes poweron{0%{filter:brightness(3);opacity:1;background-color:#f2fff6;transform:scale(.2,.004)}30%{filter:brightness(3);background-color:#f2fff6;transform:scaleY(.004)}55%{filter:brightness(2);background-color:#78ffaa59;transform:scaleY(1.02)}to{filter:none;background-color:#0000;transform:none}}@keyframes flicker{0%,to{opacity:1}3%{opacity:.93}6%{opacity:1}48%{opacity:.97}50%{opacity:1}77%{opacity:.95}78%{opacity:1}}@keyframes roll{0%{transform:translateY(-100%)}to{transform:translateY(560%)}}.view,.shell{padding:calc(var(--pad) * 1.5) calc(var(--pad) * 1.8);position:absolute;inset:0}[hidden]{display:none!important}::selection{background:var(--phosphor);color:#041008;text-shadow:none}.view--boot{cursor:pointer;flex-direction:column;display:flex}.boot-log{font:inherit;white-space:pre-wrap;flex-direction:column;flex:1;justify-content:flex-end;min-height:0;margin:0;display:flex;overflow:hidden}.boot-log:after,.cursor{content:"";vertical-align:-.12em;background:var(--phosphor);width:.55em;height:1em;box-shadow:var(--glow);animation:1s step-end infinite blink;display:inline-block}.boot-progress{flex-wrap:wrap;align-items:center;gap:.8em;margin-top:.4em;display:flex}.bar{border:2px solid var(--phosphor);min-width:8em;height:.8em;box-shadow:var(--glow);flex:1;padding:2px}.bar-fill{background:repeating-linear-gradient(90deg, var(--phosphor) 0 .5em, transparent .5em .62em);width:0;height:100%;box-shadow:0 0 10px var(--phosphor);display:block}.boot-skip{color:var(--phosphor-dim);text-align:right;margin:.8em 0 0;font-size:.75em;animation:1.6s step-end infinite blink}@keyframes blink{50%{opacity:0}}.view--welcome{text-align:center;place-items:center;display:grid}.welcome{flex-direction:column;align-items:center;gap:.2em;display:flex}.welcome-loading,.welcome-hello,.welcome-intro{display:none}.view--welcome[data-stage=loading] .welcome-loading{align-items:center;gap:.8em;width:min(80vw,24em);display:flex}.view--welcome[data-stage=hello] .welcome-hello,.view--welcome[data-stage=intro] .welcome-intro{display:block}.welcome-intro .welcome-sub{margin:0 0 .3em}.welcome-intro .welcome-title{margin-bottom:.5em}.prompt-line{color:var(--phosphor-dim);margin:0 0 1em}.welcome-title{color:var(--phosphor-hi);text-shadow:0 0 3px #fff, 0 0 12px var(--phosphor), 0 0 34px var(--phosphor), 0 0 70px #4dff8866;min-height:1em;margin:0;font-size:clamp(34px,6.4vw,84px);font-weight:400;line-height:1}.welcome-sub{letter-spacing:.3em;text-transform:uppercase;min-height:1.2em;margin:.4em 0 1.6em;font-size:clamp(22px,3.2vw,40px)}.btn{font:inherit;color:var(--phosphor);border:2px solid var(--phosphor);cursor:pointer;text-shadow:var(--glow);background:0 0;padding:.2em 1.2em;transition:background .12s,color .12s;box-shadow:0 0 10px #4dff8859,inset 0 0 10px #4dff8833}.btn:hover,.btn:focus-visible{background:var(--phosphor);color:#041008;text-shadow:none;box-shadow:0 0 18px var(--phosphor), 0 0 40px #4dff8866;outline:none}.btn--click{letter-spacing:.12em;font-size:clamp(24px,3vw,38px)}.view--welcome .btn--click,.view--welcome .hint{opacity:0;pointer-events:none;transition:opacity .4s,transform .4s;transform:translateY(6px)}.view--welcome.typed .btn--click,.view--welcome.typed .hint{opacity:1;pointer-events:auto;transform:none}.view--welcome.typed .btn--click{animation:1.8s ease-in-out .4s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 22px #4dff88b3,inset 0 0 14px #4dff8859}}.hint{color:var(--phosphor-dim);margin:.8em 0 0;font-size:.8em}.shell{flex-direction:column;gap:.5em;display:flex}.statusbar{background:var(--phosphor);color:#041008;text-shadow:none;white-space:nowrap;justify-content:space-between;gap:1em;padding:0 .6em;display:flex;box-shadow:0 0 14px #4dff888c}.statusbar-path{text-overflow:ellipsis;overflow:hidden}.menu{border-bottom:2px dashed var(--phosphor-dim);flex-wrap:wrap;gap:.2em .6em;padding-bottom:.4em;display:flex}.menu a{color:var(--phosphor);align-items:center;gap:.35em;padding:0 .45em;text-decoration:none;display:inline-flex}.menu a:hover,.menu a:focus-visible,.menu a[aria-current=page]{background:var(--phosphor);color:#041008;text-shadow:none;outline:none;box-shadow:0 0 12px #4dff8899}.menu a[aria-current=page]:before{content:"▶";font-size:.7em}kbd{font:inherit;color:inherit;border:1px solid;padding:0 .25em;font-size:.85em;line-height:1}.pane{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--phosphor-dim) transparent;outline:none;flex:1;min-height:0;padding-bottom:1.2em;padding-right:.6em;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 1.6em),#0000);mask-image:linear-gradient(#000 calc(100% - 1.6em),#0000)}.pane::-webkit-scrollbar{width:10px}.pane::-webkit-scrollbar-thumb{background:var(--phosphor-dim)}.pane:focus-visible{box-shadow:inset 0 0 0 1px var(--phosphor-dim)}.pane.enter>*{animation:.35s steps(6,end) both line-in;animation-delay:calc(var(--i,0) * 70ms)}@keyframes line-in{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}.footbar{color:var(--phosphor-dim);border-top:2px dashed var(--phosphor-dim);grid-template-columns:1fr auto 1fr;align-items:center;gap:1em;padding-top:.3em;font-size:.72em;display:grid}.footbar>:last-child{justify-self:end}.btn--next{padding:0 .8em;font-size:1.3em}.pane p{margin:0 0 .6em}.cmd{color:var(--phosphor-dim);margin:.2em 0 0!important}.title{color:var(--phosphor-hi);text-transform:uppercase;letter-spacing:.04em;text-shadow:0 0 3px #fff, 0 0 12px var(--phosphor), 0 0 30px var(--phosphor);margin:0;font-size:2.3em;font-weight:400;line-height:1.05}.role{color:var(--amber);text-shadow:0 0 2px #ffe2b5,0 0 10px #ffb34799;font-size:1.15em}.muted{color:var(--phosphor-dim)}.sub{color:var(--amber);text-shadow:0 0 2px #ffe2b5,0 0 10px #ffb34799;align-items:center;gap:.6em;margin:1.2em 0 .6em;font-size:1em;font-weight:400;display:flex}.sub:after{content:"";opacity:.5;border-top:2px dashed;flex:1}.about-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:1.2em;display:grid}.box-title{color:var(--amber);text-shadow:0 0 8px #ffb34799;background:#07110a;padding:0 .3em;position:absolute;top:-.7em;left:.6em;margin:0!important}.photo{border:2px solid var(--phosphor);width:min(100%,280px);box-shadow:var(--glow), inset 0 0 18px #4dff8814;justify-self:center;margin:.7em 0 0}.photo-bar{background:var(--phosphor);color:#041008;text-shadow:none;justify-content:space-between;padding:0 .4em;display:flex;margin:0!important}.photo-screen{background:var(--phosphor);margin:6px;position:relative;overflow:hidden}.photo-screen img{width:100%;height:auto;image-rendering:pixelated;filter:grayscale()contrast(1.1);mix-blend-mode:multiply;display:block}.photo-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#00000059 0 1px,#0000 1px 3px);position:absolute;inset:0;box-shadow:inset 0 0 24px #000000b3}.skills{grid-template-columns:repeat(auto-fill,minmax(min(15em,100%),1fr));gap:.9em 1.4em;display:grid}.skill-name{color:var(--phosphor-hi);margin:0 0 .3em!important}.skill-name:before{content:"» ";color:var(--amber)}.tags{flex-wrap:wrap;gap:.3em;margin:0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--phosphor-dim);background:var(--phosphor-faint);padding:0 .4em;line-height:1.2}.skill-icon{vertical-align:-.1em;fill:currentColor;shape-rendering:crispedges;width:.9em;height:.9em;image-rendering:pixelated;margin-right:.35em}.tags--small{margin-bottom:.5em;font-size:.85em}.projects{grid-template-columns:repeat(auto-fill,minmax(min(17em,100%),1fr));gap:1.5em 1em;margin:0;padding:0;list-style:none;display:grid}.apps{grid-template-columns:repeat(auto-fit,minmax(min(22em,100%),1fr));gap:.8em;margin:1em 0;display:grid}.app-card{border:2px solid var(--phosphor-dim);width:100%;min-width:0;color:var(--phosphor);text-align:left;font:inherit;cursor:pointer;background:#4dff880d;align-items:center;gap:.8em;padding:.7em;display:flex}.app-card:hover,.app-card:focus-visible{border-color:var(--phosphor);background:var(--phosphor-faint);outline:none;box-shadow:0 0 14px #4dff8840}.app-icon{border:1px solid var(--amber);height:2.5em;color:var(--amber);flex:0 0 2.5em;place-items:center;font-size:1.25em;display:grid}.app-card-copy{min-width:0;display:grid}.app-card-copy strong{color:var(--phosphor-hi);font-size:1.15em;font-weight:400}.app-card-copy small{color:var(--phosphor-dim)}.app-run{color:var(--amber);white-space:nowrap;margin-left:auto}.pane[aria-label^=app-]{padding:0;display:flex;overflow:hidden;-webkit-mask-image:none;mask-image:none}.app-view{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-bar{border-bottom:1px dashed var(--phosphor-dim);color:var(--amber);flex:none;justify-content:space-between;align-items:center;gap:.6em;padding:.2em .4em .45em;display:flex}.app-back{padding:0 .4em}.app-embed iframe{border:1px solid var(--phosphor-dim);background:#fff;flex:1;width:100%;min-height:0}.solfeggio-content{scrollbar-color:var(--phosphor-dim) transparent;flex:1;min-height:0;padding:.4em .5em;overflow-y:auto}.solfeggio-intro,.solfeggio-keys{color:var(--phosphor-dim);font-size:.8em}.solfeggio-controls{border:1px solid var(--phosphor-dim);flex-wrap:wrap;align-items:center;gap:.4em 1em;margin:.6em 0;padding:.4em;display:flex}.solfeggio-controls label{align-items:center;gap:.35em;display:inline-flex}.solfeggio-controls input{width:clamp(5em,14vw,10em);accent-color:var(--phosphor)}.solfeggio-controls select{max-width:7em;color:var(--phosphor);border:1px solid var(--phosphor-dim);font:inherit;background:#07110a}#tone-readout{color:var(--amber);margin-left:auto}.tone-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45em;display:grid}.tone-card{border:1px solid var(--phosphor-dim);min-width:0;color:var(--phosphor);text-align:left;font:inherit;cursor:pointer;background:#4dff880a;grid-template-columns:auto 1fr;align-content:start;gap:.12em .45em;padding:.35em .5em;display:grid}.tone-card kbd{grid-row:span 2;align-self:start}.tone-card strong{color:var(--phosphor-hi);font-weight:400}.tone-card span,.tone-card small{color:var(--phosphor-dim);grid-column:1/-1;line-height:1.05}.tone-card small{color:var(--amber)}.tone-card:hover,.tone-card:focus-visible,.tone-card.playing{border-color:var(--phosphor);background:var(--phosphor-faint);outline:none;box-shadow:inset 0 0 14px #4dff881f,0 0 8px #4dff8833}.solfeggio-keys{margin:.5em 0 0}.project{border:2px solid var(--phosphor-dim);padding:.5em .8em .3em;transition:border-color .15s,box-shadow .15s;position:relative;box-shadow:inset 0 0 18px #4dff8814}.project-topbar{background:var(--phosphor);height:4px;margin:-.5em -.8em .65em;display:block;box-shadow:0 0 6px #4dff8873}.project:hover,.project:focus-within{border-color:var(--phosphor);box-shadow:inset 0 0 22px #4dff882e,0 0 14px #4dff884d}.project-head{align-items:baseline;gap:.5em;display:flex;margin-bottom:.3em!important}.project-no{background:var(--phosphor);color:#041008;text-shadow:none;padding:0 .25em}.project-name{color:var(--phosphor-hi);text-transform:uppercase;font-size:1.35em}.project-file{color:var(--phosphor-dim);margin-left:auto;font-size:.8em}.project-open{font:inherit;color:inherit;text-shadow:inherit;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;margin-bottom:.6em;padding:0;display:block}.project-open .project-head{display:flex}.project-open:hover .project-name,.project-open:focus-visible .project-name{background:var(--phosphor);color:#041008;text-shadow:none}.project-open:focus-visible{outline:none}.project-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5em 1em;margin-top:.5em;display:flex}.project-actions .btn--details{padding:.15em .7em;font-size:.8em}.project-actions .project-links{margin:0}.project-summary{display:block}.project-detail{z-index:2;padding:calc(var(--pad) * 1.5) calc(var(--pad) * 1.8);scrollbar-width:thin;scrollbar-color:var(--phosphor-dim) transparent;background:#07110a;outline:none;position:absolute;inset:0;overflow-y:auto}.project-detail p{max-width:48em;margin:0 0 .6em}.detail-head{align-items:center;gap:.6em;margin:.3em 0 .8em;display:flex}.project-art{border:2px solid var(--phosphor-dim);background:#030905;max-width:36em;margin:.4em 0 1.2em;padding:.45em;box-shadow:inset 0 0 16px #4dff881f,0 0 10px #4dff8829}.project-art-screen{aspect-ratio:3/2;border:1px solid var(--phosphor-dim);background-color:#07130b;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #000c}.project-art-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#00000029 3px 4px);position:absolute;inset:0}.project-art-image{object-fit:cover;object-position:top center;filter:grayscale(.76)sepia(.22)hue-rotate(65deg)saturate(.8)contrast(1.08)brightness(.9);width:100%;height:100%;display:block}.project-art-file,.project-art-prompt{z-index:1;color:var(--phosphor-hi);letter-spacing:.06em;background:#030905c7;padding:.2em .45em;font-size:.65em;position:absolute}.project-art-file{top:.5em;left:.5em}.project-art-prompt{color:var(--amber);bottom:.5em;right:.5em}.project-art figcaption{color:var(--phosphor-dim);letter-spacing:.12em;text-align:center;padding-top:.45em;font-size:.65em}.project-detail .tags{margin-bottom:.8em}.project-hl{color:var(--amber);text-shadow:0 0 8px #ffb34780;font-size:.9em}.project-links{flex-wrap:wrap;gap:1em;display:flex}.link{color:var(--phosphor-hi);word-break:break-word;border-bottom:1px dashed;text-decoration:none}.link:hover,.link:focus-visible{background:var(--phosphor);color:#041008;text-shadow:none;border-bottom-color:#0000;outline:none}.entries{border-left:2px dashed var(--phosphor-dim);margin:0 0 0 .5em;padding:0 0 0 1em;list-style:none}.entry{margin-bottom:1em;position:relative}.entry:before{content:"■";color:var(--amber);text-shadow:0 0 8px var(--amber);position:absolute;top:0;left:-1.42em}.entry-head{flex-wrap:wrap;justify-content:space-between;gap:0 1em;display:flex;margin:0!important}.entry-title{color:var(--phosphor-hi);font-size:1.2em}.entry-date{color:var(--amber)}.entry-where{color:var(--phosphor-dim);margin-bottom:.2em!important}.bullets{margin:0;padding-left:1.2em;list-style:"- "}.contacts{margin:0 0 1.4em;padding:0;list-style:none}.contacts li{flex-wrap:wrap;gap:1em;margin-bottom:.2em;display:flex}.cv-download{border:1px solid var(--phosphor-dim);color:var(--phosphor-hi);padding:3px 9px;text-decoration:none;display:inline-block;box-shadow:inset 1px 1px #b6ffcf38,2px 2px #00000059}.cv-download:hover,.cv-download:focus-visible{color:var(--phosphor);background:var(--phosphor-faint);outline:1px solid var(--phosphor);outline-offset:2px}.contact-label{min-width:6em;color:var(--amber)}.contact-label:after{content:" :"}.form{border:2px solid var(--phosphor-dim);grid-template-columns:1fr 1fr;gap:.6em 1em;max-width:44em;padding:1em .9em .8em;display:grid;position:relative}.form label{color:var(--phosphor-dim);flex-direction:column;gap:.1em;display:flex}.form-body,.form-status,.form .btn{grid-column:1/-1}.form .btn{justify-self:start}.form input,.form textarea{font:inherit;color:var(--phosphor);text-shadow:var(--glow);border:0;border-bottom:2px solid var(--phosphor-dim);caret-color:var(--phosphor);resize:vertical;background:#4dff880d;width:100%;padding:.1em .3em}.form input::placeholder,.form textarea::placeholder{color:var(--phosphor-dim);opacity:.6}.form input:focus,.form textarea:focus{border-bottom-color:var(--phosphor);background:#4dff881a;outline:none}.form-status{min-height:1.2em;color:var(--amber);margin:0!important}.pane[aria-label=game]{padding-bottom:0;-webkit-mask-image:none;mask-image:none}.app-back{margin-bottom:.4em}.game{flex-direction:column;gap:.3em;min-height:100%;display:flex}.game p{margin:0}.game-title{color:var(--phosphor-hi);margin:0;font-size:1.3em;line-height:1}.game-keys{color:var(--phosphor-dim);font-size:.82em}.game-stage{border:1px solid var(--phosphor-dim);text-align:center;background:#102b20;flex:1 0 160px;place-items:center;min-height:160px;max-height:260px;display:grid;overflow:hidden}.game-stage canvas{width:100%;height:100%;display:block}.garden-fallback{color:var(--phosphor-dim);align-content:center;gap:.3em;padding:.4em;font-size:.85em}.garden-text{color:var(--phosphor-hi);flex-wrap:wrap;justify-content:center;align-items:end;gap:.35em;line-height:1;display:flex}.garden-glyph{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;padding:0 .1em;line-height:1}.garden-glyph[aria-current=true]{color:#f4ff9a;text-decoration:underline}.garden-form{flex-wrap:wrap;align-items:end;gap:.4em;display:flex}.garden-form label{color:var(--phosphor-dim);flex-direction:column;flex:130px;gap:.08em;font-size:.78em;display:flex}.garden-form input,.garden-form select{box-sizing:border-box;width:100%;color:var(--phosphor-hi);border:1px solid var(--phosphor-dim);font:inherit;background:#10251b;min-height:30px;font-size:1.25em}.garden-form input:focus-visible,.garden-form select:focus-visible{border-color:var(--phosphor-hi);box-shadow:0 0 0 1px var(--phosphor-hi), 0 0 10px #4dff8880;outline:none}.garden-form .btn{min-height:30px}.garden-bottom{grid-template-columns:minmax(110px,.8fr) minmax(0,1.4fr);gap:.5em;min-height:102px;display:grid}.garden-list{border:1px solid var(--phosphor-dim);max-height:115px;padding:.15em;overflow:auto}.garden-item{text-align:left;width:100%;min-height:1.4em;color:var(--phosphor);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;display:block;overflow:hidden}.garden-item[aria-pressed=true]{color:var(--phosphor-hi);background:#285137}.garden-item:focus-visible,.garden-glyph:focus-visible{outline:1px solid var(--phosphor-hi);outline-offset:-1px;box-shadow:0 0 10px #4dff8880}.garden-detail{min-width:0;font-size:.87em}.garden-detail strong{text-overflow:ellipsis;white-space:nowrap;color:var(--phosphor-hi);display:block;overflow:hidden}.garden-detail p{margin:.1em 0 .3em}.garden-actions{flex-wrap:wrap;gap:.3em;display:flex}.garden-actions .btn{padding:.12em .3em}.garden-actions .btn:disabled{opacity:.5;cursor:default}.garden-status{min-height:1.2em;color:var(--amber);font-size:.82em}@media (width<=480px),(height<=520px){.game-stage{flex-basis:130px;min-height:130px;max-height:180px}.garden-bottom{grid-template-columns:1fr}.garden-list{max-height:62px}}@media (width<=480px){.garden-form label:first-child{flex-basis:100%}.garden-form .btn{flex:none}}@media (width>=721px),(height<=520px) and (orientation:landscape){.game{grid-template:"cmd cmd""title title""keys keys""stage form""stage bottom""stage status"1fr/minmax(0,1.25fr) minmax(0,1fr);column-gap:.6em;display:grid}.game>.cmd{grid-area:cmd}.game-title{grid-area:title}.game-keys{grid-area:keys}.game-stage{grid-area:stage;min-height:150px;max-height:none}.garden-form{grid-area:form}.garden-bottom{grid-area:bottom;grid-template-columns:1fr}.garden-list{min-height:3.6em}.garden-status{grid-area:status}}@media (height<=520px) and (orientation:landscape){.game{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-areas:"stage cmd""stage title""stage keys""stage form""stage bottom""stage status";height:auto}.game>.cmd,.game-keys{display:none}.game-stage{align-self:start;height:max(120px,100dvh - 215px);min-height:120px;position:sticky;top:0}}@media (width<=480px){.menu a:last-child{grid-column:span 2}}@media (pointer:coarse){.garden-item{min-height:36px}.garden-glyph{min-width:36px;min-height:36px}.garden-actions .btn,.garden-form .btn,.garden-form input,.garden-form select{min-height:40px}}@media (width<=720px),(height<=520px) and (orientation:landscape){.computer{--w:100%;width:100%;height:100%}.stand{display:none}.desk{padding:6px}.brand{letter-spacing:.1em;font-size:11px}.crt{font-size:18px}.view,.shell{padding:14px 14px 12px}.title{font-size:1.9em}.welcome-sub{letter-spacing:.14em}.about-grid,.form{grid-template-columns:1fr}.footbar{grid-template-columns:1fr;justify-items:center}.footbar>span{display:none}.screen{border-radius:18px/22px}.menu{gap:.3em}.contacts li{flex-direction:column;gap:0;margin-bottom:.5em}.menu a{padding:.1em .4em}.tone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-bar>span{display:none}}@media (width<=480px){.menu{grid-template-columns:1fr 1fr;display:grid}}@media (orientation:portrait) and (width>=721px){.computer{height:min(calc(100dvh - 60px), calc(var(--w) * 1.2))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.crt.on{opacity:1;filter:none}}
