@font-face{font-family:Typewriter;src:url(../../assets/fonts/typewriter.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0020-007F}.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;animation:none;-webkit-mask-image:none;mask-image:none;opacity:50%}.custom-cursor{position:fixed;left:0;top:0;width:32px;height:32px;pointer-events:none;z-index:9999;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}}.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:2147483647;box-shadow:none;font-size:1.1rem;-webkit-text-stroke:none}.cyberia-root{display:flex;flex-direction:column;min-height:100vh;width:100vw;background:#101010;color:#e9ecda;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace}.cyberia-root.landing{justify-content:center;align-items:center}.cyberia-root.landing,.cyberia-root.terminal{min-height:100vh;display:flex;justify-content:center;align-items:center}@font-face{font-family:Typewriter;src:url(../../assets/fonts/typewriter.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0020-007F}body{height:100vh;margin:0;box-sizing:border-box}.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,.landing .page-cell,.terminal .grid-cell,.terminal .page-cell{display:flex;justify-content:center;align-items:center;min-height:60vh;margin:0 auto}.grid-cell:not(.landing),.page-cell:not(.landing){align-items:center;justify-content:flex-start;margin:0 auto}.header-navi{width:100vw;display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative;margin-top:1.5rem;margin-bottom:1.5rem;z-index:10;pointer-events:none}.header-navi .navi-img{width:100%;height:auto;display:block;filter:drop-shadow(0 0 1px rgba(0,159,32,.53)) drop-shadow(0 0 2px rgba(0,159,32,.27));border-radius:12px;transition:filter .2s}.header-navi .navi-img-wrapper{display:inline-block;filter:drop-shadow(0 0 1px rgba(0,159,32,.53)) drop-shadow(0 0 2px rgba(0,159,32,.27));border-radius:12px;transition:filter .2s}.header-navi img{width:20vw;min-width:40px;max-width:120px;height:auto}.footer{display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:center;font-size:.75rem;padding:.7rem .5rem;min-height:2.2rem;background:#656865;color:#e9ecda;border-top:2px solid #e9ecda;margin-top:auto}.footer a,.footer .footer-email{color:#e9ecda;text-decoration:none;transition:color .15s}.footer a .at-symbol,.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 a:hover,.footer a:focus{color:#90c87a;text-decoration:underline}.footer>span{display:flex;justify-content:center;align-items:center;gap:1.5em;width:100%}.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)}.gothic-text{font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:2rem;letter-spacing:.05em;color:#ebebeb;text-shadow:0 0 4px #AEC8A4,0 0 8px #222;position:relative;display:inline-block}.enter-btn.gothic-text{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;box-shadow:none;letter-spacing:.1em;outline:none;position:relative;z-index:2;filter:none}.enter-btn.gothic-text:hover,.enter-btn.gothic-text:focus{background:none;color:#ebebeb;border:none;box-shadow:none;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,.project-link{font-size:.75rem;color:#e9ecda;text-decoration:underline;font-family:Typewriter,monospace;transition:color .15s}a:hover,a:focus,.project-link:hover,.project-link:focus{color:#90c87a;text-decoration:underline}@media (min-width: 601px){*,*:hover,*:active,*:focus{cursor:none!important}html,body,.cyberia-root,.xp-content,.xp-content *,html:active,body:active,.cyberia-root:active,.xp-content:active,.xp-content *:active,html:focus,body:focus,.cyberia-root:focus,.xp-content:focus,.xp-content *:focus{cursor:none!important}}@media (max-width: 600px){button,a,input,[contenteditable],.terminal-input{cursor:pointer!important}input,[contenteditable],.terminal-input{cursor:text!important}}.cyberia-root,.header,.footer,.grid-cell,.gothic-text,.enter-btn{font-family:Typewriter,monospace!important}.terminal-container{position:relative;width:100%;max-width:720px;height:320px;max-height:320px;background:#101010;border:2px solid #AEC8A4;box-shadow:0 0 4px #e9ecda,0 0 6px #e9ecda,0 0 8px #e9ecda,0 0 12px #e9ecda;border-radius:8px;overflow:hidden;margin:0 auto;display:flex;flex-direction:column;min-width:340px;box-sizing:border-box}.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,monospace;font-size:1rem;flex:1 1 auto;height:100%;overflow-y:auto;max-height:100%;width:100%;cursor:text;max-width:100%;box-sizing:border-box;text-align:left}.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}.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;animation:none;-webkit-mask-image:none;mask-image:none;opacity:50%}.terminal-row{display:flex;align-items:flex-start;font-size:1rem;font-family:Typewriter,monospace;margin-bottom:.2rem;width:100%;cursor:text;max-width:100%;box-sizing:border-box}.terminal-prompt{position:relative;display:inline-block;padding-right:1.2rem;color:#e9ecda;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,monospace;font-size:1rem;letter-spacing:.08em;caret-color:#ebebeb;padding:0;margin:0;flex:1;min-width:0;width:100%;display:inline-block;max-width:100%;box-sizing:border-box}.terminal-input::selection{background:#aec8a4;color:#ebebeb}.terminal-cursor{color:#e9ecda;margin-left:2px;font-size:1rem;font-family:Typewriter,monospace;letter-spacing:.08em;text-shadow:0 0 3px #e9ecda,0 0 6px #e9ecda,0 0 1px #e9ecda}.terminal-cursor.input-cursor{left:auto;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,monospace;font-size:1rem;padding:.2em 1.2em;margin-right:.5em;cursor:pointer;box-shadow:0 0 2px 0 0 4px #e9ecda,0 0 6px #e9ecda,0 0 8px #e9ecda,0 0 12px #e9ecda;transition:background .15s,color .15s,border .15s;letter-spacing:.08em;-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 0 0 4px #e9ecda,0 0 6px #e9ecda,0 0 8px #e9ecda,0 0 12px #e9ecda}.terminal-output{margin-top:.6rem;color:#aec8a4;font-family:Typewriter,monospace;font-size:1rem;background:#101010cc;border-radius:4px;padding:1.2em 1.5em;min-width:220px;min-height:2.5em;box-shadow:0 0 8px #101010aa;letter-spacing:.08em;word-break:break-word;text-align:left;border:1px solid rgba(174,200,164,.3);text-shadow:0 0 2px #AEC8A4}.terminal-user{margin-right:.4em;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace!important;color:#e9ecda;font-size:1rem;letter-spacing:.08em}.terminal-user::selection{background:#aec8a4;color:#ebebeb}.terminal-output-line,.ls-list,.help-list,.error{word-break:break-word;white-space:pre-wrap;flex:1 1 0%;min-width:0;display:block;color:#90c87a;text-align:left;letter-spacing:.08em;text-shadow:0 0 1px #AEC8A4}.error{color:#fc7676!important;text-shadow:0 0 1px #fc7676!important}.ls-items{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;justify-content:flex-start;width:100%;margin:0;padding:0}.ls-item{color:#90c87a;font-family:Typewriter,monospace;font-size:1rem;letter-spacing:.08em;white-space:nowrap;flex:0 0 auto;min-width:fit-content;text-shadow:0 0 1px #AEC8A4}.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)}.desktop-bg{min-height:60vh;width:100%;background:#101010;position:relative;display:flex;align-items:flex-start;justify-content:flex-start;padding:2.5rem 1.5rem 2.5rem 2.5rem;box-sizing:border-box;border-radius:12px;overflow:auto}.grid-cell.cell1{display:flex;flex-direction:column;height:100%;justify-content:center;align-items:center;gap:3rem}.row1{flex:1 0 0}.row2{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.row3{flex:1 0 0}@media (max-width: 600px){.footer>span{flex-direction:column;gap:.5em;align-items:center;justify-content:center}.terminal-container{min-width:0;max-width:98vw}.terminal-inner{font-size:.75rem;padding:.3rem;max-width:96vw;box-sizing:border-box}.bio-content,.project-description{font-size:.75rem;line-height:1.35;max-width:96vw;word-break:break-word}.project-description{text-align:center;margin-left:auto;margin-right:auto}.lain-img{width:70%}.enter-btn.gothic-text,a,.project-link{font-size:.75rem}.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}.archive-content{padding:0 .5rem;max-width:100vw;overflow-x:hidden}.archive-grid{max-width:100%;padding:0 .5rem;box-sizing:border-box}.archive-section-item{margin-bottom:1rem}.grid-cell,.page-cell{padding:.5rem}}.bio-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:auto;text-align:center;font-size:1.25rem;font-family:Typewriter,monospace;letter-spacing:.04em;line-height:1.6;max-width:420px;margin:0 auto;padding:1.5rem 0}.bio-title{margin-bottom:.5em}.bio-desc{font-size:1rem;margin-top:1.2em;line-height:1.5;color:#ebebeb;text-shadow:none}.bio-title-desktop{display:inline}.bio-title-mobile{display:none}@media (max-width: 600px){.bio-title-desktop{display:none}.bio-title-mobile{display:flex;flex-direction:column;align-items:center;gap:.3em}.bio-mobile-item{text-align:center}.bio-mobile-dot{font-size:.8em;opacity:.8}}.projects-root{display:flex;flex-direction:column;align-items:center;justify-content:center}.project-title{font-family:Typewriter,monospace;font-weight:700;font-size:1.25rem;color:#ebebeb;margin-bottom:1.2rem;letter-spacing:.08em;text-align:center;width:100%;max-width:480px;text-shadow:0 0 6px #e9ecda;display:inline-block;margin-left:auto;margin-right:auto}.project-description{font-family:Typewriter,monospace;color:#ebebeb;font-size:.75rem;margin-bottom:1.2rem;text-align:center;max-width:480px;width:100%;line-height:1.6;text-shadow:0 0 4px #e9ecda;display:inline-block;margin-left:auto;margin-right:auto}.project-links{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-top:1.2rem}.project-link{color:#e9ecda;text-decoration:underline;font-family:Typewriter,monospace;font-size:.75rem}.bio-tech{color:#e9ecda;font-family:Typewriter,monospace;font-size:.75rem;margin-top:.5rem;margin-bottom:.5rem}.resume-root{width:100%;max-width:100%;padding:0;margin:0;margin-bottom:1.5rem;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-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;font-size:1.25rem;font-family:Typewriter,monospace;letter-spacing:.04em;line-height:1.6;max-width:1200px;margin:2rem auto;margin-top:0}.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}.terminal-input-history{color:#ebebeb;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace;font-size:1rem;font-weight:400;letter-spacing:.08em;text-shadow:0 0 1px #AEC8A4,0 0 4px #222}.archive-content{display:flex;flex-direction:column;align-items:center;justify-content:center;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}.media-video,.media-image{width:100%;max-width:720px;margin:1rem}.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}.archive-cardgames-grid{display:flex;flex-direction:column;gap:.75em;align-items:center;width:100%}.game-rules{padding-left:.5rem;padding-right:.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}.game-header .game-name{color:#aec8a4}.game-header .game-name span{text-decoration:underline;text-decoration-skip-ink:auto;text-underline-offset:2px}.archive-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;font-size:1.25rem;font-family:Typewriter,monospace;letter-spacing:.04em;line-height:1.6;max-width:1197px;width:100%;margin:0 auto;box-sizing:border-box;padding:0 1rem}.archive-title{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}.archive-item{margin-bottom:1.5rem;width:100%;max-width:420px}.archive-grid{width:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:.6rem;box-sizing:border-box}.archive-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}.archive-section-item:hover,.archive-section-item:focus{background:#aec8a42e;color:#ebebeb;border-color:#ebebeb;box-shadow:0 0 12px #009f2087}.archive-section-item .archive-item-header .cmd{color:#aec8a4;text-shadow:0 0 2px #AEC8A4,0 0 4px rgba(0,159,32,.27)}.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;align-items:center;justify-content:center}.media-image.terminal-glow-border{height:auto;display:flex;align-items:center;justify-content:center}.media-caption{text-align:center;margin-top:.5rem;font-size:.75rem;color:#e9ecda;font-family:Typewriter,Courier New,Lucida Console,Monaco,monospace}.font-size-lg{font-size:1.25rem!important}.font-size-base{font-size:1rem!important}.font-size-xs{font-size:.75rem!important}
