@font-face{font-family:Typewriter;src:url(../../assets/fonts/typewriter.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.pixel-stream-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:url(../../assets/images/static.gif) center center/cover no-repeat;opacity:50%}.custom-cursor{position:fixed;left:0;top:0;width:32px;height:32px;pointer-events:none;z-index:1024;transform:translate(-50%,-50%) scale(1);transition:transform .18s cubic-bezier(.4,1.4,.6,1),filter .18s;filter:drop-shadow(0 0 2px rgb(0,159,32)) drop-shadow(0 0 4px rgba(0,159,32,.53));mix-blend-mode:lighten}.custom-cursor img{width:32px;height:32px;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.custom-cursor.plump{transform:translate(-50%,-50%) scale(1.35);filter:drop-shadow(0 0 6px rgb(0,159,32)) drop-shadow(0 0 12px rgba(0,159,32,.8))}@media (max-width: 600px){.custom-cursor,.custom-cursor img{width:24px;height:24px}}@font-face{font-family:Typewriter;src:url(../../assets/fonts/typewriter.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}body{height:100vh;margin:0;box-sizing:border-box}.root{display:flex;flex-direction:column;min-height:100vh;width:100vw;background:#101010;color:#e9ecda;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace}.root.landing,.root.terminal{display:flex;justify-content:center;align-items:center}.grid-cell,.page-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100px;background:#101010;padding:.9375rem;position:relative;flex:1 1 auto;width:100%;max-width:720px;margin:0 auto;box-sizing:border-box;overflow-x:hidden}.landing .grid-cell,.terminal .grid-cell,.landing .page-cell,.terminal .page-cell{display:flex;justify-content:center;align-items:center;min-height:60vh}.row1,.row3{flex:1 0 0}.row2{flex:0 0 auto;display:flex;justify-content:center;align-items:center;flex-direction:column;width:100%}.header-navi{width:100vw;display:flex;justify-content:center;align-items:center;position:relative;margin:1.5rem 0;z-index:10;pointer-events:none}.header-navi .navi-img{width:20vh;min-width:40px;max-width:120px;height:auto;display:block;border-radius:12px;transition:filter .2s}.header-navi .navi-img,.header-navi .navi-img-wrapper{filter:drop-shadow(0 0 1px rgba(0,159,32,.53)) drop-shadow(0 0 2px rgba(0,159,32,.27))}.footer{display:flex;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;right:0;text-align:center;font-size:.75rem;padding:.7rem .5rem;min-height:2.2rem;background:#656865;color:#e9ecda;border-top:2px solid #e9ecda;z-index:100}.footer .footer-email .at-symbol{font-family:IBM Plex Mono,Courier New,"monospace",Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:inherit;font-style:normal;font-weight:inherit;letter-spacing:0}.footer>span{display:flex;justify-content:center;align-items:center;gap:1.5em;width:100%}a{color:#ebebeb}a:hover,a:focus{color:#90c87a;text-decoration:underline}.content{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:60vh;text-align:center;font-size:1.25rem;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;letter-spacing:.04em;line-height:1.6;max-width:1197px;width:100%;margin:0 auto;box-sizing:border-box;padding:0 1rem}.title{text-align:center;font-weight:700;font-size:1.5rem;margin-bottom:1.2rem;letter-spacing:.08em;color:#ebebeb;text-shadow:0 0 12px #aec8a4,0 0 16px #222;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace}.item{margin-bottom:1.5rem;width:100%;max-width:420px}.grid{width:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:.6rem;box-sizing:border-box}.section-item{color:#aec8a4;border:1px solid #aec8a4;background:#aec8a412;box-shadow:0 0 8px #009f2087;border-radius:8px;margin-bottom:1.2rem;transition:background .18s,color .18s,border .18s}.section-item:hover,.section-item:focus{background:#aec8a42e;color:#ebebeb;border-color:#ebebeb;box-shadow:0 0 12px #009f2087}.section-item .item-header .cmd{color:#aec8a4;text-shadow:0 0 2px #aec8a4,0 0 4px rgba(0,159,32,.27)}.cursor-trail-char{position:fixed;pointer-events:none;color:#ebebeb;text-shadow:0 0 6px rgb(0,159,32),0 0 12px rgb(0,159,32);background:none;border:none;letter-spacing:.1em;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-weight:700;z-index:256;font-size:1.1rem}.mute-btn-fixed{position:fixed;top:1rem;right:1rem;background:none;border:none;color:#e9ecda;font-size:1.5rem;cursor:pointer;padding:.5rem;z-index:1000;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}.mute-btn-fixed:hover{opacity:.8}.mute-btn-fixed:active{transform:scale(.9)}.mute-btn-icon{width:18px;height:18px;vertical-align:middle;display:inline-block;filter:brightness(0) saturate(100%) invert(94%) sepia(6%) saturate(300%) hue-rotate(0deg) brightness(1) contrast(1)}.enter-btn{color:#ebebeb;background:none;border:none;padding:2px 10px;border-radius:6px;font-size:1rem;font-family:inherit;cursor:pointer;margin-top:10px;transition:background .2s,color .2s,border .2s;letter-spacing:.1em;outline:none;position:relative;z-index:2}.enter-btn:hover,.enter-btn:focus{text-shadow:0 0 12px #aec8a4,0 0 24px #aec8a4;transform:scale(1.12);transition:transform .18s cubic-bezier(.4,1.4,.6,1)}a:hover,a:focus,.link:hover,.link:focus{color:#90c87a;text-decoration:underline}.terminal-container{position:relative;width:100%;max-width:720px;height:320px;max-height:320px;border-radius:8px;border:2px solid #aec8a4;box-shadow:0 0 4px #e9ecda,0 0 6px #e9ecda,0 0 8px #e9ecda,0 0 12px #e9ecda;background:#101010;overflow:hidden;margin:0 auto;display:flex;flex-direction:column;min-width:340px;box-sizing:border-box}.terminal-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;pointer-events:none;box-shadow:0 0 4px #e9ecda,0 0 6px #e9ecda,0 0 8px #e9ecda,0 0 12px #e9ecda;z-index:1}.terminal-container .terminal-inner{position:relative;z-index:1;padding:.5rem .5rem .5rem .7rem;min-height:140px;display:flex;flex-direction:column;align-items:flex-start;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;letter-spacing:.08em;flex:1 1 auto;height:100%;overflow-y:auto;max-height:100%;width:100%;cursor:text;box-sizing:border-box;text-align:left}.pixel-stream-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:url(../../assets/images/static.gif) center center/cover no-repeat;opacity:50%}.terminal-row{display:flex;align-items:flex-start;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;letter-spacing:.08em;margin-bottom:.2rem;width:100%;cursor:text;box-sizing:border-box}.terminal-prompt{position:relative;display:inline-block;padding-right:1.2rem;color:#e9ecda;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;letter-spacing:.08em;text-shadow:0 0 1.5px #e9ecda,0 0 3px #e9ecda,0 0 1px #e9ecda}.terminal-prompt.flicker{padding-right:.5rem}.terminal-input{outline:none;min-width:3ch;max-width:80%;overflow-x:auto;white-space:pre;word-break:break-all;background:none;border:none;color:#ebebeb;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;letter-spacing:.08em;caret-color:#ebebeb;padding:0;margin:0;flex:1;display:inline-block;box-sizing:border-box}.terminal-input::selection{background:#aec8a4;color:#ebebeb}.terminal-cursor{color:#e9ecda;margin-left:2px;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;letter-spacing:.08em;text-shadow:0 0 3px #e9ecda,0 0 6px #e9ecda,0 0 1px #e9ecda}.terminal-cursor.input-cursor{color:#aec8a4;background:#101010;border-radius:2px;font-weight:700;padding:0 1px;margin-left:-2px;position:relative}.blink{animation:blink 1s steps(1) infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.flicker{animation:flicker 1.2s infinite alternate;color:#e9ecda!important}@keyframes flicker{0%{opacity:1}10%{opacity:.7}20%{opacity:1}30%{opacity:.8}40%{opacity:1}to{opacity:.95}}.terminal-options{margin-bottom:.6rem;display:flex;gap:1.2rem;justify-content:space-between;width:100%}.terminal-btn{background:#101010;color:#aec8a4;border:1.5px solid #aec8a4;border-radius:4px;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;letter-spacing:.08em;padding:.2em 1.2em;margin-right:.5em;cursor:pointer;box-shadow:0 0 2px #101010aa;transition:background .15s,color .15s,border .15s;-webkit-user-select:none;user-select:none;outline:none;position:relative}.terminal-btn.selected,.terminal-btn:hover,.terminal-btn:focus{background:#aec8a4;color:#101010;border-color:#ebebeb;box-shadow:0 0 4px #101010aa}.terminal-output{margin-top:.6rem;color:#aec8a4;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;letter-spacing:.08em;background:#101010cc;border-radius:4px;padding:1.2em 1.5em;min-width:220px;min-height:2.5em;box-shadow:0 0 8px #101010aa;word-break:break-word;text-align:left;border:1px solid rgba(174,200,164,.3);text-shadow:0 0 2px #aec8a4}.terminal-user,.terminal-output-line,.ls-list,.help-list,.error,.ls-item,.terminal-input-history{font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;letter-spacing:.08em;word-break:break-word;white-space:pre-wrap;text-align:left;text-shadow:0 0 1px #aec8a4}.terminal-user{margin-right:.4em;color:#e9ecda}.terminal-user::selection{background:#aec8a4;color:#ebebeb}.terminal-output-line,.ls-list,.help-list,.error{flex:1 1 0%;min-width:0;display:block;color:#90c87a}.terminal-input-history{color:#ebebeb;font-weight:400;text-shadow:0 0 1px #aec8a4,0 0 4px #222}.error{color:#fc7676!important;text-shadow:0 0 1px #fc7676!important}.ls-items{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;width:100%;margin:0;padding:0}.ls-item{color:#90c87a;white-space:nowrap;flex:0 0 auto;min-width:fit-content}.ls-item.clickable-item{cursor:pointer;transition:color .15s,text-shadow .15s,transform .15s}.ls-item.clickable-item:hover,.ls-item.clickable-item:focus{color:#ebebeb;text-shadow:0 0 4px #aec8a4,0 0 8px #aec8a4;transform:scale(1.05)}.ls-item.clickable-item:active{transform:scale(.98)}.bio-desc{font-size:1rem;margin-top:1.2em;line-height:1.5;color:#ebebeb}.bio-mobile-item{text-align:center}.bio-mobile-dot{font-size:.8em;opacity:.8}.bio-picture{width:20vh;align-items:center;margin-bottom:1.2em}.resume-root{width:100%;max-width:100%;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.resume-img{width:100%;max-width:1200px;height:auto;display:block;margin:0 auto;background:#101010;border-radius:8px;box-shadow:0 0 16px #101010a6}.resume-title{font-weight:700;font-size:1.5rem;letter-spacing:.08em;color:#ebebeb;text-shadow:0 0 6px #aec8a4,0 0 12px #222;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace}.cardgame-box{background:#101010;border-radius:12px;border:2px solid #aec8a4;box-shadow:0 0 6px #e9ecda,0 0 8px #e9ecda,0 0 12px #e9ecda,0 0 16px #e9ecda;margin-bottom:1.5rem;padding:.5rem .5rem 1rem;max-width:1200px;width:100%;transition:box-shadow .18s,border .18s;position:relative;line-height:1.6}.cardgame-box:hover,.cardgame-box:focus{box-shadow:0 0 8px #e9ecda,0 0 12px #e9ecda,0 0 16px #e9ecda,0 0 24px #e9ecda}.cardgame-divider{border:none;border-top:2px solid #e9ecda;margin:1.1em 0;opacity:.8}.cardgames-grid{display:flex;flex-direction:column;gap:.75em;align-items:center;width:100%}.game-header .game-name{color:#aec8a4}.game-header .game-name span{text-decoration:underline;text-decoration-skip-ink:auto;text-underline-offset:2px}.game-rules{padding:0 .5rem}.game-rules strong{text-decoration:underline;text-decoration-skip-ink:auto;text-underline-offset:2px}.game-rules strong.section-heading,.game-rules .rule-label,.game-rules .round-label{color:#aec8a4}.game-rules .objective-text{text-align:center;margin-top:.25rem}.game-rules ol.rules-list{text-align:left;padding-left:1.2em}.game-rules ol.rules-list ol{padding-left:1.2em}.game-rules ol.rules-list li:has(.rule-label)::marker,.game-rules ol.rules-list li:has(.round-label)::marker{color:#aec8a4}.terminal-glow-border{border-radius:8px;border:2px solid #aec8a4;box-shadow:0 0 4px #e9ecda,0 0 6px #e9ecda,0 0 8px #e9ecda,0 0 12px #e9ecda;background:#101010;margin-bottom:1rem;overflow:hidden}.media-video,.media-image{width:100%;max-width:720px;margin:0 auto 1rem}.media-video iframe,.media-image iframe{width:100%;height:315px;border:none;border-radius:12px;display:block}.media-video img,.media-image img{width:100%;height:auto;border-radius:6px;display:block}.media-video.terminal-glow-border{height:315px;display:flex;justify-content:center;align-items:center}.media-image.terminal-glow-border{height:auto;display:flex;justify-content:center;align-items:center}.media-caption{text-align:center;margin-top:.5rem;font-size:.75rem;color:#e9ecda;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace}@media (min-width: 601px){*,html,body,.root,.xp-content,.xp-content *,*:hover,*:active,*:focus{cursor:none!important}.bio-title-desktop{display:inline}.bio-title-mobile{display:none}}@media (max-width: 600px){button,a{cursor:pointer!important}input,[contenteditable],.terminal-input{cursor:text!important}.footer>span{flex-direction:column;gap:.5em}.terminal-container{min-width:0;max-width:98vw}.terminal-inner{font-size:.75rem;padding:.3rem;max-width:96vw}.bio-desc{font-size:.75rem;line-height:1.35;max-width:96vw;word-break:break-word}.lain-img{width:70%}.enter-btn{font-size:.75rem}a,.terminal-inner,.terminal-row,.terminal-prompt,.terminal-input,.terminal-cursor,.terminal-output,.terminal-user,.terminal-output-line,.ls-list,.help-list,.error,.ls-item,.terminal-input-history{font-size:.75rem!important}.terminal-btn{font-size:.75rem!important;padding:.15em .8em!important}.grid{max-width:100%;padding:0 .5rem}.section-item{margin-bottom:1rem}.grid-cell,.page-cell{padding:.5rem}.bio-title-desktop{display:none}.bio-title-mobile{display:flex;flex-direction:column;align-items:center;gap:.3em}}
