@font-face{font-family:digitalix;font-weight:regular;src:local("digitalix"),url(/static/media/digitalix.b9ad5cd77a82ecb566ab.ttf) format("truetype")}@font-face{font-family:Minecraft;font-weight:regular;src:local("Minecraft"),url(/static/media/Minecraft.81f6c7f882fcc2dee106.ttf) format("truetype")}@font-face{font-family:nokiafc22;font-weight:regular;src:local("nokiafc22"),url(/static/media/nokiafc22.04dc8b649b961470b957.ttf) format("truetype")}@media screen and (max-width:1200px){#root,.App,body,html{height:170vh!important}}html.mode-simple,html.mode-simple #root,html.mode-simple .App,html.mode-simple body{height:auto!important;min-height:100vh}html.mode-simple .App{display:block}.mode-toggle{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(4,20,30,.96);border:1px solid hsla(0,0%,100%,.14);border-radius:999px;display:flex;gap:2px;padding:3px;position:fixed;right:14px;top:14px;z-index:900}.mode-toggle button{align-items:center;background:transparent;border:none;border-radius:999px;color:#b6bdbb;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;padding:6px 13px;transition:background .15s ease,color .15s ease}.mode-toggle button:hover{color:#fff}.mode-toggle button.active{background:#35b3ff;color:#04121b}@media screen and (max-width:1200px){.mode-toggle{right:8px;top:8px}.mode-toggle .mode-label{display:none}.mode-toggle button{font-size:1rem;gap:0;padding:6px 10px}}.App{align-items:stretch;display:flex;margin:0;padding:0}@media screen and (max-width:1200px){.App{flex-direction:column-reverse}}.App #home{align-items:stretch;background-color:#fff;color:#008ce9;font-family:digitalix;height:100vh;justify-content:stretch;margin:0;overflow-y:hidden;padding:0 20px;width:calc(100% - 40px)}.App #home,.App #home #main_home{display:flex;flex-direction:column}.App #home #main_home{align-items:center;flex-grow:1;font-size:1.5em;justify-content:start;text-align:center}.App #home #main_home h1{font-size:clamp(1.4rem,4.5vw,3rem);line-height:1.5em;max-width:100%;overflow-wrap:break-word}@media screen and (max-width:1200px){.App #home #main_home h1{font-size:clamp(1.1rem,6vw,2rem)}}.App #home #main_home h5{max-width:100%;overflow-wrap:break-word}@media screen and (max-width:1200px){.App #home #main_home h5{font-size:.5em;line-height:1.5em;margin-bottom:5px}}.App #home #main_home #center{display:flex;flex-grow:3;overflow-y:hidden}@media screen and (max-width:1570px){.App #home #main_home #center{flex-direction:column-reverse}}.App #home #main_home #center #photo_me{display:flex;flex-grow:3;-webkit-transform:translateY(50px);transform:translateY(50px)}@media screen and (max-width:1570px){.App #home #main_home #center #photo_me{flex-grow:0;height:auto;margin:auto;-webkit-transform:translateY(10px);transform:translateY(10px);width:80%}}.App #home #main_home #center #root-me{color:#000;font-family:digitalix;font-size:.9em;font-style:normal}.App #home #main_home #center #root-me span{color:#000;font-style:italic}.App #home #main_home #center #footer{align-items:center;display:flex;flex-direction:column;flex-grow:1;font-size:.75em;justify-content:center}.App #home #main_home #center #footer #github{align-items:center;display:flex;flex-direction:row;justify-content:center}.App #home #main_home #center #footer #github #logo_git{height:40px;margin-right:10px;width:40px}.App #home #main_home #center #footer #github a{color:#000;color:initial;text-decoration:none}.App .Console{--cursor-color:#fff;align-items:stretch;background-color:#000;border-radius:10px;box-shadow:0 0 25px rgba(0,0,0,.5);cursor:text;display:flex;flex-direction:column;font-size:13px;height:calc(100vh - 4em - 20px);justify-content:stretch;margin:2em 4em;overflow-y:scroll;padding:10px;width:100%}@media screen and (max-width:1200px){.App .Console{flex-grow:1;height:auto;margin:1em;min-height:45%;min-width:70%;padding-top:44px;width:auto}}.App .Console pre{margin:0}@media screen and (max-width:1200px){.App .Console pre{font-size:.7em}}.App .Console .hiddenInput{background:transparent;border:none;font-size:16px;height:1px;opacity:0;padding:0;width:1px}.App .Console .preCommand{display:flex;flex-direction:row;margin:0}@media screen and (max-width:1200px){.App .Console .preCommand{font-size:.7em}}.App .Console .preCommand .nameCommand{color:#008ce9;margin:0}.App .Console code{display:flex;margin-bottom:.2em;margin-left:1em;text-align:left}.App .Console #cursor{background-color:#fff;height:15px;margin-left:4px;margin-top:2px;width:10px}.App .Console .blockCursor{background-color:var(--cursor-color);color:#000;margin:0}.App .Console .blockCursor.solid{-webkit-animation:none;animation:none}@media(prefers-reduced-motion:no-preference){#cursor{-webkit-animation:cursor_animation .5s cubic-bezier(1,0,0,1) infinite alternate;animation:cursor_animation .5s cubic-bezier(1,0,0,1) infinite alternate}.blockCursor{-webkit-animation:block_cursor 1s step-end infinite;animation:block_cursor 1s step-end infinite}}@-webkit-keyframes block_cursor{0%,49%{background-color:var(--cursor-color);color:#000}50%,to{background-color:transparent;color:inherit}}@keyframes block_cursor{0%,49%{background-color:var(--cursor-color);color:#000}50%,to{background-color:transparent;color:inherit}}@-webkit-keyframes cursor_animation{0%{opacity:0}to{opacity:1}}@keyframes cursor_animation{0%{opacity:0}to{opacity:1}}@-webkit-keyframes blur_animation{0%{-webkit-filter:blur(10px);filter:blur(10px)}to{-webkit-filter:blur(0);filter:blur(0)}}@keyframes blur_animation{0%{-webkit-filter:blur(10px);filter:blur(10px)}to{-webkit-filter:blur(0);filter:blur(0)}}.ctf-hud{-webkit-animation:ctf-pop .35s ease-out both;animation:ctf-pop .35s ease-out both;background:rgba(4,20,12,.94);border:1px solid #1f6b3f;border-radius:8px;bottom:16px;box-shadow:0 0 22px rgba(0,0,0,.55),0 0 12px rgba(38,187,1,.18);color:#c8f7d8;font-family:source-code-pro,Menlo,Monaco,Consolas,monospace;font-size:12px;left:16px;padding:10px 12px;position:fixed;width:232px;z-index:500}@-webkit-keyframes ctf-pop{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes ctf-pop{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.ctf-hud-head{align-items:center;color:#26bb01;display:flex;font-weight:700;justify-content:space-between;margin-bottom:8px}.ctf-hud-count{color:#8fe0a5}.ctf-hud-steps{list-style:none;margin:0 0 8px;padding:0}.ctf-hud-steps li{align-items:center;display:flex;gap:6px;opacity:.7;padding:1px 0}.ctf-hud-steps li.done{color:#7dffb0;opacity:1;text-shadow:0 0 5px rgba(77,255,136,.4)}.ctf-hud-steps .ctf-box{width:1em}.ctf-hud-bar{background:hsla(0,0%,100%,.08);border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.ctf-hud-bar span{background:linear-gradient(90deg,#1f8b3f,#26bb01);display:block;height:100%;transition:width .4s ease;width:0}.ctf-hud-hype{color:#ffd166;font-style:italic;min-height:1.2em}@media(max-width:700px){.ctf-hud{bottom:10px;font-size:11px;left:10px;width:190px}}.Console.theme-amber,.Console.theme-green{background-color:#000;background-image:linear-gradient(hsla(0,0%,100%,.05),hsla(0,0%,100%,0) 45%),repeating-linear-gradient(180deg,transparent 0,transparent 2px,rgba(0,0,0,.3) 0,rgba(0,0,0,.3) 3px);background-repeat:no-repeat,repeat;background-size:100% 45%,100% 3px;box-shadow:inset 0 0 70px rgba(0,0,0,.7),0 0 25px rgba(0,0,0,.5)}.Console.theme-green{--cursor-color:#4dff88;color:#4dff88;text-shadow:0 0 4px rgba(77,255,136,.55)}.Console.theme-green .nameCommand{color:#7dffb0}.Console.theme-green mark{color:#b6ffce}.Console.theme-green #cursor{background-color:#4dff88;box-shadow:0 0 6px #4dff88}.Console.theme-amber{--cursor-color:#ffb43a;color:#ffb43a;text-shadow:0 0 4px rgba(255,180,58,.5)}.Console.theme-amber .nameCommand{color:#ffcf7a}.Console.theme-amber mark{color:#ffe0a8}.Console.theme-amber #cursor{background-color:#ffb43a;box-shadow:0 0 6px #ffb43a}@media(prefers-reduced-motion:no-preference){.Console.theme-amber,.Console.theme-green{-webkit-animation:crt-sweep 7s linear infinite;animation:crt-sweep 7s linear infinite}}@-webkit-keyframes crt-sweep{0%{background-position:0 -45%,0 0}to{background-position:0 145%,0 0}}@keyframes crt-sweep{0%{background-position:0 -45%,0 0}to{background-position:0 145%,0 0}}.rdp-backdrop{align-items:center;background:rgba(0,0,0,.75);display:flex;font-family:nokiafc22,Tahoma,monospace;inset:0;justify-content:center;padding:12px;position:fixed;z-index:1000}.rdp-window{background:silver;border-color:#dfdfdf gray gray #dfdfdf;border-style:solid;border-width:2px;box-shadow:0 0 45px rgba(0,0,0,.8);display:flex;flex-direction:column;width:min(94vw,620px)}.rdp-window.maximized{height:94vh;width:96vw}.rdp-window.maximized .mini-os{flex-grow:1;height:auto}.win-controls{display:flex;flex:none;gap:3px}.os-titlebar,.rdp-titlebar{align-items:center;background:linear-gradient(90deg,#00007b,#1084d0);color:#fff;cursor:move;display:flex;font-size:12px;gap:8px;justify-content:space-between;padding:3px 4px 3px 8px;touch-action:none;-webkit-user-select:none;user-select:none}.os-titlebar{font-size:11px;padding:2px 3px 2px 6px}.rdp-btn{background:silver;border-color:#fff #404040 #404040 #fff;border-style:solid;border-width:1px;color:#000;cursor:pointer;flex:none;font-weight:700;height:18px;line-height:1;width:20px}.mini-os{display:flex;flex-direction:column;height:440px}.mini-desktop{background:teal;overflow:hidden;position:relative}.mini-desktop,.os-boot{align-items:center;display:flex;flex-grow:1;justify-content:center}.os-boot{background:#000;color:#3f8;flex-direction:column;font-family:nokiafc22,monospace;gap:8px;padding:16px;width:100%}.os-boot p{font-size:13px;margin:0}.os-boot .boot-logo{color:#fff;font-size:22px;letter-spacing:2px;margin-bottom:10px}.boot-bar{border:1px solid #3f8;height:14px;margin-top:6px;padding:2px;width:60%}.boot-bar span{-webkit-animation:boot-fill 1.6s linear forwards;animation:boot-fill 1.6s linear forwards;background:#3f8;display:block;height:100%;width:0}@-webkit-keyframes boot-fill{0%{width:0}to{width:100%}}@keyframes boot-fill{0%{width:0}to{width:100%}}@media(prefers-reduced-motion:reduce){.boot-bar span{-webkit-animation:none;animation:none;width:100%}}.desktop-icons{gap:10px;left:8px;position:absolute;top:8px;z-index:1}.desktop-icon,.desktop-icons{display:flex;flex-direction:column}.desktop-icon{align-items:center;background:transparent;border:1px dotted transparent;color:#fff;cursor:pointer;font-size:11px;gap:2px;padding:4px 2px;text-align:center;width:66px}.desktop-icon .icon-glyph{font-size:26px;line-height:1}.desktop-icon:focus,.desktop-icon:hover{border-color:#fff;outline:none}.app-window{box-shadow:2px 2px 6px rgba(0,0,0,.4);min-width:160px;position:absolute}.app-window .os-titlebar{background:#7d7d7d}.app-window.active .os-titlebar{background:linear-gradient(90deg,#00007b,#1084d0)}.os-title{align-items:center;display:flex;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-menu{background:silver;border-color:#dfdfdf #404040 #404040 #dfdfdf;border-style:solid;border-width:2px;bottom:28px;display:flex;flex-direction:column;left:2px;padding:3px;position:absolute;width:190px;z-index:100}.start-menu .start-banner{background:linear-gradient(180deg,#1084d0,#00007b);color:#fff;font-weight:700;margin-bottom:3px;padding:6px 8px}.start-menu button{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;gap:8px;padding:5px 8px;text-align:left}.start-menu button:hover{background:#00007b;color:#fff}.start-menu .start-sep{border-bottom:1px solid #fff;border-top:1px solid gray;height:2px;margin:3px 2px}.task-buttons{display:flex;flex-grow:1;gap:4px;overflow:hidden}.task-buttons .task-item{align-items:center;cursor:pointer;display:flex;gap:5px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-buttons .task-item.task-active{background:#d4d0c8;border-color:gray #fff #fff gray;border-style:solid;border-width:1px}.notepad{background:#fff;border:none;color:#000;display:block;font-family:nokiafc22,monospace;font-size:12px;height:200px;padding:4px 6px;resize:none;width:300px}.explorer{background:#fff;width:280px}.explorer .explorer-path{background:silver;border-bottom:1px solid gray;font-size:11px;padding:2px 6px}.explorer .explorer-files{align-content:flex-start;display:flex;flex-wrap:wrap;gap:6px;min-height:140px;padding:8px}.explorer .explorer-file{align-items:center;background:transparent;border:1px dotted transparent;color:#000;cursor:pointer;display:flex;flex-direction:column;font-size:11px;gap:2px;padding:4px;width:74px}.explorer .explorer-file .icon-glyph{font-size:22px}.explorer .explorer-file:focus,.explorer .explorer-file:hover{border-color:#00007b;outline:none}.minicmd{background:#000;color:#c8c8c8;cursor:text;font-family:nokiafc22,monospace;font-size:12px;height:210px;overflow-y:auto;padding:4px 6px;width:100%}.minicmd .minicmd-line{white-space:pre-wrap;word-break:break-word}.minicmd .minicmd-input{background:transparent;border:none;color:#c8c8c8;font-family:inherit;font-size:inherit;outline:none;width:60%}.about{color:#000;font-size:12px;padding:10px 12px;width:260px}.about p{margin:3px 0}.about .about-logo{font-size:18px;font-weight:700;margin-bottom:8px}.about hr{border:none;border-top:1px solid gray;margin:8px 0}.os-window{background:silver;border-color:#dfdfdf gray gray #dfdfdf;border-style:solid;border-width:2px;padding:2px}.os-window-body{padding:4px}.mini-taskbar{align-items:center;border-top:2px solid #dfdfdf;display:flex;font-size:12px;gap:6px;padding:3px 4px}.mini-taskbar,.start-btn{background:silver;color:#000}.start-btn{border-color:#fff #404040 #404040 #fff;cursor:pointer;font-weight:700;padding:1px 8px}.start-btn,.task-item{border-style:solid;border-width:1px}.task-item{border-color:gray #fff #fff gray;flex-grow:1;padding:1px 6px}.task-item.task-empty{color:#6b6b6b}.clock{border-color:gray #fff #fff gray;border-style:solid;border-width:1px;padding:1px 6px}.snake{align-items:center;color:#000;display:flex;flex-direction:column;position:relative}.snake-hud{display:flex;font-size:11px;justify-content:space-between;padding:0 2px 4px;width:100%}.snake canvas{background:#0b0b0b;border-color:gray #fff #fff gray;border-style:solid;border-width:2px;display:block;image-rendering:pixelated}.snake-dpad{align-items:center;display:flex;flex-direction:column;gap:2px;margin-top:6px}.snake-dpad button{background:silver;border-color:#fff #404040 #404040 #fff;border-style:solid;border-width:1px;cursor:pointer;height:22px;margin:0 1px;width:26px}.snake-over{align-items:center;background:rgba(0,0,0,.82);color:#4dff88;display:flex;flex-direction:column;gap:6px;inset:0;justify-content:center;position:absolute}.snake-over p{margin:0}.snake-over button{background:silver;border-color:#fff #404040 #404040 #fff;border-style:solid;border-width:1px;color:#000;cursor:pointer;padding:3px 8px}.profile{color:#cdd7db;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.55;margin:0 auto;max-width:1080px;padding:84px 24px 56px}.profile .muted{color:#8493a0;font-weight:400}.profile a{color:#35b3ff;text-decoration:none}.profile-hero{align-items:center;display:flex;gap:32px;margin-bottom:36px}@media(max-width:760px){.profile-hero{flex-direction:column;gap:18px;text-align:center}}.profile-photo{background:rgba(0,140,233,.06);border:1px solid hsla(0,0%,100%,.09);border-radius:18px;flex:none;height:190px;object-fit:cover;object-position:top center;width:190px}.profile-intro h1{color:#eaf2f7;font-family:digitalix,sans-serif;font-size:clamp(2rem,5vw,3.1rem);letter-spacing:1px;margin:4px 0 10px}.profile-eyebrow{color:#38d16a;font-size:.72rem;font-weight:700;letter-spacing:3px;margin:0;text-transform:uppercase}.profile-tagline{color:#cdd7db;margin:0 0 18px;max-width:56ch}.profile-links{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:760px){.profile-links{justify-content:center}}.btn{align-items:center;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.09);border-radius:10px;color:#cdd7db;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:9px 15px;transition:background .12s ease,border-color .12s ease,-webkit-transform .12s ease;transition:transform .12s ease,background .12s ease,border-color .12s ease;transition:transform .12s ease,background .12s ease,border-color .12s ease,-webkit-transform .12s ease}.btn img{-webkit-filter:invert(1);filter:invert(1);height:18px;opacity:.9;width:18px}.btn:hover{background:hsla(0,0%,100%,.09);border-color:hsla(0,0%,100%,.2);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn.btn-primary{background:#35b3ff;border-color:transparent;color:#04121b}.btn.btn-primary img{-webkit-filter:none;filter:none}.btn.btn-primary:hover{background:#54bfff}.btn.btn-ghost{background:transparent;color:#35b3ff}.profile-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:46px}@media(max-width:760px){.profile-stats{grid-template-columns:repeat(2,1fr)}}.stat{background:hsla(0,0%,100%,.035);border:1px solid hsla(0,0%,100%,.09);border-radius:14px;padding:16px}.stat .stat-num{color:#35b3ff;display:block;font-family:digitalix,sans-serif;font-size:1.7rem;font-weight:800}.stat .stat-label{color:#8493a0;font-size:.82rem}.profile-section{margin-bottom:44px}.profile-section h2{align-items:baseline;color:#eaf2f7;display:flex;font-size:1.35rem;gap:10px;margin:0 0 18px}.profile-section h2:before{background:#38d16a;border-radius:2px;content:"";height:3px;-webkit-transform:translateY(-4px);transform:translateY(-4px);width:20px}.skills-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.skill-card{background:hsla(0,0%,100%,.035);border:1px solid hsla(0,0%,100%,.09);border-radius:14px;padding:16px}.skill-card h3{color:#35b3ff;font-size:.98rem;margin:0 0 12px}.chips{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.chips li{background:rgba(0,140,233,.1);border:1px solid rgba(53,179,255,.22);border-radius:999px;color:#cdd7db;font-size:.8rem;padding:4px 10px}.timeline{padding-left:22px;position:relative}.timeline:before{background:hsla(0,0%,100%,.09);bottom:6px;content:"";left:5px;position:absolute;top:6px;width:2px}.timeline-item{padding:0 0 22px 8px;position:relative}.timeline-item:before{background:#38d16a;border-radius:50%;box-shadow:0 0 0 4px rgba(56,209,106,.15);content:"";height:10px;left:-22px;position:absolute;top:6px;width:10px}.timeline-item p{color:#8493a0;margin:6px 0 0}.timeline-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.timeline-head .timeline-role{color:#eaf2f7;font-weight:700}.timeline-head .timeline-when{color:#35b3ff;font-size:.8rem}.cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.finding-card{background:hsla(0,0%,100%,.035);border:1px solid hsla(0,0%,100%,.09);border-left:3px solid #38d16a;border-radius:14px;display:flex;gap:10px;padding:16px}.finding-card .finding-mark{color:#38d16a;font-size:1.1rem}.profile-two-col{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1.4fr 1fr}@media(max-width:760px){.profile-two-col{grid-template-columns:1fr}}.bullets{margin:0;padding-left:18px}.bullets li{margin-bottom:8px}.langs{display:flex;flex-direction:column;gap:14px}.lang-head{display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:5px}.lang-head span:first-child{color:#eaf2f7;font-weight:600}.lang-bar{background:hsla(0,0%,100%,.07);border-radius:4px;height:8px;overflow:hidden}.lang-bar span{background:linear-gradient(90deg,#35b3ff,#38d16a);border-radius:4px;display:block;height:100%}.profile-footer{border-top:1px solid hsla(0,0%,100%,.09);margin-top:40px;padding-top:26px;text-align:center}.profile-footer p{margin:0 0 6px}.profile-footer .btn-ghost{margin-top:10px}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#021b29;color:#b6bdbb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}body #root{align-items:stretch;display:flex;flex-direction:column}body #root code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body #root mark{background-color:transparent;color:#26bb01;padding-right:1em}#root,body,html{height:100vh}