@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap";/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#f4f8d3;--accent:#f7cfd8;--text:#58a7a7;--surface:#f0f0f0;--border:#000}body.dark{--bg:#1a1a2e;--accent:#16213e;--text:#a8d8ea;--surface:#252545;--border:#4a4a6a;color:var(--text)}html{background-color:var(--bg);min-height:100vh;transition:background-color .4s,color .4s;overflow-x:hidden}body,#root{background-color:var(--bg);width:100%;min-height:100vh;transition:background-color .4s}.wholePage{background-color:var(--bg);flex-direction:column;justify-content:space-between;width:100%;min-height:100vh;margin:0;transition:background-color .4s;display:flex}.navbar{will-change:transform,opacity;justify-content:space-between;align-items:flex-start;display:flex}.navbar button{background-color:var(--accent);color:#58a7a7;border:var(--accent);border-radius:20px;margin:20px 15px;padding:15px 30px;font-family:"Jersey 10";font-size:22px;transition-property:all;transition-duration:.5s;box-shadow:.05cm .05cm .05cm .05cm}.navbar button:hover{background-color:var(--bg);color:#58a7a7;border:var(--accent)}.navbar img{max-width:125px;max-height:125px}.navbar .moon-img{max-width:65px;max-height:65px;margin-top:20px;margin-left:25px}.myName{color:var(--text);will-change:transform,opacity;flex-direction:column;align-items:center;font-family:"Jersey 10";font-weight:200;display:flex}.myName p{letter-spacing:.1rem;margin:10px;padding:0;font-size:30px}.myName h1{letter-spacing:.5rem;will-change:transform,opacity;margin:-10px;padding:0;font-size:clamp(55px,16vw,190px);line-height:80%}.CnJ{will-change:transform,opacity;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:30px;margin-left:40px;display:flex}.cat{position:relative}.cat-img{cursor:pointer;max-width:340px;height:auto}.atext{filter:invert(62%)sepia(19%)saturate(876%)hue-rotate(135deg)brightness(90%)contrast(89%)}.journal{flex-direction:row;margin-top:0;display:flex}.popup{width:100px;height:100px}button,cat{cursor:pointer}cat{max-width:100%;display:inline-block;position:relative;overflow:hidden}.hearts{z-index:5;pointer-events:none;width:80px;height:160px;position:absolute;top:5%;left:50%;transform:translate(-50%)}.clouds{z-index:5;pointer-events:none;opacity:.7;filter:blur(5px);width:50%;height:50%;position:absolute;top:70%;left:60%;display:none!important}.footer{justify-content:center;align-items:center;width:100%;height:60%;display:flex;position:relative}.grass{width:100%;display:block}.footer p{letter-spacing:10px;z-index:1;color:#fff;font-family:"Jersey 10";font-size:30px;position:absolute;top:85%}.journal:hover{cursor:pointer}.experiences{background:radial-gradient(farthest-side,var(--accent),var(--bg));width:100%;height:100vh}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#8b4513;border-radius:10px}@media (max-width:768px){html{background-color:var(--bg);min-height:100vh;overflow-x:hidden}body,#root{background-color:var(--bg);width:100%;min-height:100vh;overflow-x:hidden}.navbar img{display:none}.navbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;width:100%;margin-left:0;padding:0 16px;display:flex}.navbar button{margin-top:14px;margin-right:0;padding:12px 20px;font-size:17px}.myName h1{font-size:19vw}.myName p{font-size:22px}.CnJ{flex-direction:row;justify-content:space-between;align-items:center;margin-left:10px;margin-right:10px}.journal{justify-content:flex-start;margin-top:0}.journal>div:first-child img{max-width:70px;height:auto}.popup{display:none}.cat-img{max-width:220px}.hearts{width:55px;height:110px}.footer{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.footer p{letter-spacing:6px;z-index:1;color:#fff;font-family:"Jersey 10";font-size:20px;position:absolute;top:70%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.system-box{font-family:"Jersey 10",monospace;background:var(--surface, #f0f0f0);border:3px solid var(--border, #000);width:100%;max-width:800px;min-height:70vh;margin:2rem auto;box-shadow:6px 6px #999;padding:10px 0;border-radius:20px;opacity:1;position:relative;z-index:10;transition:background-color .4s ease,border-color .4s ease}.system-header{background:#88c0d0;border:2px solid #000;padding:.3rem;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem;gap:.3rem;box-shadow:inset -2px -2px #fff,inset 2px 2px #444;width:100%;font-size:30px;letter-spacing:10px;position:relative}.flower{font-size:20px}.profile-row{display:flex;gap:1rem;margin:2rem}.profile-img{width:200px;height:200px;border:3px solid black;border-radius:9999px;object-fit:cover}.profile-info p{font-size:30px;margin:.3rem 0;color:#333;line-height:1.5}.gray{color:#777}.description-box{background:#ffd6e8;border:2px solid #000;padding:1rem;margin:1rem;font-size:9px;line-height:1.6;color:#111;box-shadow:inset -3px -3px #fff,inset 3px 3px #444;font-size:20px;text-align:center}.system-box{opacity:1;transform:none}.effects{color:rgb(from color r g b);font-weight:800;letter-spacing:2px;color:#f7cfd8}.window-controls{display:flex;gap:4px}.window-btn{height:20px;width:20px;background:#ffbdbd;border:2px solid #000;font-size:14px;font-family:monospace;line-height:1;padding-top:2px;padding-left:9px;padding-bottom:2px;cursor:pointer;box-shadow:inset -2px -2px #fff,inset 2px 2px #777;display:flex;align-items:end;justify-content:center;color:#000}.window-btn:hover{background:#f9f9f9}.system-header{cursor:move}.title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;white-space:nowrap}body.dark .profile-info p{color:var(--text, #a8d8ea)}body.dark .gray{color:#7ab8d4}body.dark .description-box{background:#2a2a50;color:#d0e8ff}body.dark .exp-duration{color:var(--text, #a8d8ea)}body.dark .exp-description{color:#c8dff0}body.dark .skills-title{color:var(--text, #a8d8ea)}@media (max-width: 768px){.system-box{border:3px solid var(--border, #000);width:calc(100% - 2rem);max-width:800px;min-height:auto;margin:1.5rem 1rem;box-shadow:6px 6px #999;padding:10px 0;border-radius:20px;position:relative;z-index:10;will-change:transform,opacity;transition:background-color .4s ease,border-color .4s ease}.system-header{font-size:22px;letter-spacing:3px}.profile-row{display:flex;flex-direction:column;align-items:center;margin:1rem;gap:.75rem}.profile-img{width:130px;height:130px;border-radius:9999px;object-fit:cover}.profile-info p{font-size:20px}.description-box{font-size:17px;padding:.75rem;margin:.5rem;line-height:1.7}}.box{position:fixed;top:50%;left:50%;min-width:340px;background:linear-gradient(var(--accent, #F7CFD8),var(--bg, #F4F8D3));border:3px #000;border-style:dashed;padding:1.5rem;z-index:1000;cursor:move;border-radius:10px}.header{display:flex;justify-content:flex-start;align-items:center;background:transparent;font-family:"Jersey 10";font-size:20px;margin-bottom:.5rem}.header p{font-size:30px;letter-spacing:5px;text-align:center;width:100%;position:absolute;left:0;right:0;margin:0 auto;pointer-events:none}.close-btn{background:none;border:none;font-size:18px;cursor:pointer;z-index:1;padding:6px 10px;margin-left:4px;border-radius:6px}.close-btn:hover{background:#00000014}.emailLink{display:flex;justify-content:center;align-items:center;margin-top:50px}.email-btn{display:inline-block;text-decoration:none;transition-duration:.5s;transition-property:all;background-color:var(--accent, #F7CFD8);color:#58a7a7;font-family:"Jersey 10";box-shadow:.2cm .2cm .4cm .4cm;font-size:22px;padding:15px 30px;border-radius:20px;border:2px solid var(--accent, #F7CFD8)}.email-btn:hover{background-color:var(--bg, #F4F8D3);color:var(--accent, #F7CFD8);border-color:var(--accent, #F7CFD8)}.socials{display:flex;flex-direction:row;justify-content:space-evenly;background-color:transparent}.socials img{height:3rem;width:3rem;margin:3rem}.socials img:hover{cursor:pointer}@media (max-width: 768px){.box{position:fixed;top:50%;left:50%;background:linear-gradient(var(--accent, #F7CFD8),var(--bg, #F4F8D3));border:3px #000;border-style:dashed;padding:1rem;z-index:1000;cursor:move;border-radius:10px;width:calc(100% - 2.5rem);max-width:420px;min-width:unset;box-sizing:border-box}.header p{font-size:20px;letter-spacing:2px}.emailLink{margin-top:30px}.email-btn{font-size:18px;padding:12px 24px}.socials{justify-content:space-around;margin-right:0}.socials img{height:2.2rem;width:2.2rem;margin:1.2rem}}body.dark .email-btn{color:#a8d8ea;background-color:#2a3f6f;border-color:#4a6fa5}body.dark .email-btn:hover{color:#fff;background-color:#1a2a50}body.dark .close-btn{color:var(--text)}body.dark .close-btn:hover{background:#a8d8ea1a}body.dark .header p{color:var(--text)}.journal-box{position:fixed;top:10%;left:30%;width:100%;max-width:600px;max-height:80vh;background:#fff;border:2px solid black;overflow-y:auto;padding:1rem;z-index:999;background-image:url(notebook.avif);font-family:Gloria Hallelujah,cursive}.header{display:flex;flex-direction:row-reverse;font-size:30px;margin-left:100px;margin-top:50px;color:#000}.header button{font-size:30px;color:#000}.entry{border-bottom:1px dashed #aaa;padding:.5rem 0;color:#000}.timestamp{font-size:.8rem;color:gray}.entries{margin-left:100px}.scrollable-entries{flex:1;overflow-y:auto;padding:10px;scrollbar-width:thin}.scrollable-entries::-webkit-scrollbar{width:8px}.scrollable-entries::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.scrollable-entries::-webkit-scrollbar-thumb{background:#0000004d;border-radius:4px}.scrollable-entries::-webkit-scrollbar-thumb:hover{background:#00000080}.submit-btn{border-radius:10px;background-color:#f7cfd8;padding:15px;margin-left:14rem;color:#000}.submit-btn:hover{background-color:#f4f8d3}.form-group{margin-left:6rem;color:#000}.form-group textarea{width:90%}@media (max-width: 768px){.journal-box{width:92%!important;left:4%!important;padding:.5rem!important;font-size:.85rem!important;border:2px dashed #000!important;top:5%!important;max-height:88vh}.header{display:flex;justify-content:space-between;flex-direction:row-reverse;font-size:20px;margin-left:10px;margin-top:20px}.header button{font-size:20px}.entries{margin-left:8px}.form-group{margin-left:.5rem}.form-group input,.form-group textarea{width:95%;box-sizing:border-box}.submit-btn{margin-left:auto;margin-right:auto;display:block}}.ipod-container{display:flex;justify-content:center;align-items:center;padding:2rem;width:100%;height:100vh}.ipod-body{width:80%;height:80vh;background:linear-gradient(145deg,#58a7a7,#6ed1d1);border-radius:25px;box-shadow:0 20px 40px #0000001a,inset 0 1px 2px #fffc,inset 0 -1px 2px #0000001a;padding:20px;position:relative}.ipod-body.horizontal{width:80%;height:80vh;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 30px;border:5px dashed black}.ipod-screen{width:100%;height:60vh;background:linear-gradient(145deg,#a8c8ec,#7fb3d3);border-radius:8px;border:2px solid #333;margin:0 auto 20px;position:relative;overflow-y:scroll}.horizontal .ipod-screen{width:70%;height:80%;flex-shrink:0;background:linear-gradient(145deg,#ffe9ee,#fff);border-radius:8px;border:5px solid #333;margin:0 auto 20px;position:relative;overflow-y:scroll}.screen-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:linear-gradient(to bottom,#4a5568,#2d3748);color:#fff;font-size:10px;font-weight:700}.ipod-logo{font-family:"Jersey 10";font-size:30px;letter-spacing:10px}.battery-icon{width:20px;height:8px;border:1px solid #fff;border-radius:1px;position:relative}.battery-icon:after{content:"";position:absolute;right:-3px;top:2px;width:2px;height:4px;background:#fff;border-radius:0 1px 1px 0}.screen-content{padding:8px;height:calc(100% - 20px);color:#000;font-size:40px;font-family:"Jersey 10"}.menu-list{display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;justify-content:space-between;padding:3px 4px;border-radius:2px;transition:all .2s ease}.menu-item.selected{background:linear-gradient(to right,#4a90e2,#357abd);color:#fff}.arrow{font-weight:700}.experience-view{height:100%;display:flex;flex-direction:column}.experience-header{border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:4px;margin-bottom:6px}.experience-content{flex:1}.exp-title{font-weight:700;font-size:40px;letter-spacing:5px;margin-bottom:3px;line-height:1.2}.exp-company{font-size:30px;color:#58a7a7;margin-bottom:2px}.exp-duration{font-size:20px;color:#000}.exp-description{font-size:25px;color:#333;margin-top:6px;line-height:1.4}.exp-skills{margin-top:8px}.skills-title{font-size:30px;font-weight:700;color:#000;margin-bottom:3px}.skills-list{font-size:30px;color:#58a7a7;line-height:1.3}.click-wheel{width:20%;height:25vh;width:clamp(150px,60vw,300px);height:clamp(150px,30vh,300px);border-radius:50%;background:linear-gradient(145deg,#fee9e9,#d0d0d0);box-shadow:inset 0 2px 4px #0000001a,inset 0 -2px 4px #fffc,0 4px 8px #0000001a;margin:0 auto;position:relative;cursor:pointer;border:5px solid black}.wheel-btn{position:absolute;background:transparent;border:none;cursor:pointer;font-size:18px;color:#2d3748;font-weight:700;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.wheel-btn:hover{color:#58a7a7;transform:scale(1.1)}.wheel-btn:active{transform:scale(.95)}.wheel-menu{top:5px;left:43%;transform:translate(-10%);width:30px;height:20px}.wheel-forward{right:15px;top:50%;transform:translateY(-10%);width:20px;height:30px}.wheel-play{bottom:5px;left:43%;transform:translate(-10%);width:30px;height:20px}.wheel-back{left:15px;top:50%;transform:translateY(-10%);width:20px;height:30px}.center-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:35px;height:35px;border-radius:50%;background:linear-gradient(145deg,#f5f5f5,#e0e0e0);box-shadow:inset 0 2px 4px #fffc,inset 0 -2px 4px #0000001a,0 2px 4px #0000001a;cursor:pointer;transition:all .2s ease}.center-button:hover{transform:translate(-50%,-50%) scale(1.05)}.center-button:active{transform:translate(-50%,-50%) scale(.95);box-shadow:inset 0 -2px 4px #fffc,inset 0 2px 4px #0003}@media (max-width: 768px){.ipod-container{display:flex;justify-content:center;align-items:center;height:auto;min-height:100vh;width:100vw;padding:1rem 0;margin:0}.ipod-body.horizontal{width:94vw;height:auto;min-height:90vh;flex-direction:column;justify-content:space-between;align-items:center;gap:16px;padding:.75rem;box-sizing:border-box;border:4px dashed black}.horizontal .ipod-screen{width:100%;height:auto;min-height:52vh;max-height:58vh}.ipod-logo{font-size:16px;letter-spacing:3px}.screen-content{font-size:17px}.exp-title{font-size:22px;letter-spacing:1px}.exp-company{font-size:17px}.exp-duration,.exp-description{font-size:15px}.skills-title{font-size:17px}.skills-list{font-size:15px}.click-wheel{width:55vw;height:55vw;max-width:240px;max-height:240px;margin:.5rem auto;border-radius:50%;border:4px solid black}}.projects-section{padding:4rem 2rem;position:relative;overflow:hidden}.projects-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.projects-header{text-align:center;margin-bottom:3rem;position:relative;z-index:2}.projects-title{font-family:"Press Start 2P",monospace;font-size:3rem;margin-bottom:2rem;color:#8b4513;text-shadow:2px 2px 0px #CD853F}.pixel-text{position:relative}.pixel-text:before{content:"";position:absolute;top:-5px;left:-10px;right:-10px;bottom:-5px;z-index:-1;border-radius:8px}.bar{width:120px;height:12px;background:#fff;border:3px solid #8B4513;border-radius:0;overflow:hidden;box-shadow:inset 2px 2px #0003}.fill{height:100%;background:linear-gradient(90deg,#90ee90,#32cd32);transition:width .3s ease;box-shadow:inset -2px -2px #0003}.level{color:#8b4513;font-weight:400;padding:.5rem 1rem;border:3px solid #8B4513;border-radius:0;background:#ffb6c1;box-shadow:3px 3px #0003}.projects-container{overflow-x:auto;overflow-y:hidden;padding:2rem 0;position:relative;z-index:2}.projects-container::-webkit-scrollbar{height:12px}.projects-container::-webkit-scrollbar-track{background:#8b4513;border-radius:0}.projects-container::-webkit-scrollbar-thumb{background:#ffb6c1;border-radius:0;border:2px solid #8B4513}.projects-track{display:flex;gap:2rem;padding:0 2rem;width:max-content}.project-card{width:300px;min-height:580px;background:#fffacd;border:4px solid #8B4513;border-radius:0;padding:1.5rem;transition:all .3s ease;position:relative;font-family:"Press Start 2P",monospace;cursor:pointer;box-shadow:6px 6px #8b45134d}.project-card:before{content:"";position:absolute;top:8px;left:8px;right:-8px;bottom:-8px;background:#ffb6c14d;border:4px solid #FFB6C1;border-radius:0;opacity:0;transition:opacity .3s ease;z-index:-1}.project-card:hover{transform:scale(1.05);box-shadow:8px 8px #8b451366}.project-card:hover:before{opacity:1}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.project-icon{font-size:2rem;animation:pixelBounce 2s ease-in-out infinite}.status-indicator{font-size:.6rem;font-weight:400;text-transform:uppercase;padding:.3rem .5rem;background:#90ee90;border:2px solid #8B4513;border-radius:0;color:#8b4513}.card-content h3{font-size:.9rem;font-weight:400;color:#8b4513;margin-bottom:.8rem;line-height:1.4}.project-subtitle{color:peru;font-size:.7rem;margin-bottom:1rem;text-transform:uppercase;line-height:1.3}.project-type{background:#ffb6c1;color:#8b4513;padding:.4rem .8rem;border:2px solid #8B4513;border-radius:0;font-size:.6rem;font-weight:400;display:inline-block;margin-bottom:1rem;box-shadow:2px 2px #0003}.expanded-content{opacity:1}.project-description{color:#654321;line-height:1.5;margin-bottom:1.5rem;font-size:.6rem;background:#fffacd80;padding:.8rem;border:2px dashed #CD853F;border-radius:0}.tech-stack h4{color:#8b4513;font-size:.7rem;margin-bottom:.8rem;text-transform:uppercase}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:plum;color:#8b4513;padding:.3rem .6rem;border:2px solid #8B4513;border-radius:0;font-size:.5rem;box-shadow:2px 2px #0003}.action-buttons{display:flex;gap:1rem;flex-direction:column}.btn-primary,.btn-secondary{padding:.8rem 1rem;border:3px solid #8B4513;border-radius:0;font-family:"Press Start 2P",monospace;font-weight:400;font-size:.6rem;text-transform:uppercase;cursor:pointer;transition:all .2s ease;box-shadow:3px 3px #0003}.btn-primary{background:#90ee90;color:#8b4513}.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #0000004d}.btn-secondary{background:#ffb6c1;color:#8b4513}.btn-secondary:hover{background:pink;transform:translate(-2px,-2px);box-shadow:5px 5px #0000004d}.card-footer{margin-top:auto;text-align:right}.xp-gained{color:#8b4513;font-weight:400;font-size:.6rem;background:khaki;padding:.3rem .5rem;border:2px solid #8B4513;border-radius:0;display:inline-block;box-shadow:2px 2px #0003}.scroll-indicator{text-align:center;margin-top:2rem;color:#8b4513;font-family:"Press Start 2P",monospace;position:relative;z-index:2}.scroll-indicator span{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:1rem;display:block;animation:pixelPulse 2s ease-in-out infinite}@keyframes pixelBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pixelPulse{0%,to{opacity:.7}50%{opacity:1}}.project-card:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(90deg,transparent 98%,rgba(139,69,19,.05) 100%),linear-gradient(0deg,transparent 98%,rgba(139,69,19,.05) 100%);background-size:10px 10px;pointer-events:none;opacity:.3}@media (max-width: 768px){.projects-section{padding:1.5rem .5rem}.projects-title{font-size:.9rem;margin-bottom:1.5rem}.projects-container{padding:1rem 0}.projects-track{gap:1rem;padding:0 .75rem}.project-card{width:240px;min-height:500px;padding:1rem}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary{font-size:.5rem;padding:.6rem .8rem}}body.dark .projects-title{color:#58a7a7;text-shadow:2px 2px 0px #0d5f6b}body.dark .project-card{background:#0d2137;border-color:#58a7a7;box-shadow:6px 6px #58a7a74d}body.dark .project-card:hover{box-shadow:8px 8px #58a7a780}body.dark .project-card:before{background:#58a7a71a;border-color:#58a7a7}body.dark .card-content h3{color:#a8d8ea}body.dark .project-subtitle{color:#58a7a7}body.dark .project-type{background:#0d3d4f;color:#a8d8ea;border-color:#58a7a7}body.dark .project-description{color:#c8e8f4;background:#0d3d4f80;border-color:#58a7a7}body.dark .tech-stack h4{color:#a8d8ea}body.dark .tech-tag{background:#0d3d4f;color:#a8d8ea;border-color:#58a7a7}body.dark .btn-primary{background:#1a6a7a;color:#a8d8ea;border-color:#58a7a7}body.dark .btn-primary:hover{background:#22899e}body.dark .btn-secondary{background:#0d3d4f;color:#a8d8ea;border-color:#58a7a7}body.dark .btn-secondary:hover{background:#1a5566}body.dark .status-indicator{background:#0d3d4f;color:#58a7a7;border-color:#58a7a7}body.dark .xp-gained,body.dark .level{background:#0d3d4f;color:#a8d8ea;border-color:#58a7a7}body.dark .bar{background:#0d2137;border-color:#58a7a7}body.dark .scroll-indicator{color:#58a7a7}body.dark .projects-container::-webkit-scrollbar-track{background:#0d2137}body.dark .projects-container::-webkit-scrollbar-thumb{background:#58a7a7;border-color:#0d2137}:root{--color-paper: oklch(14% .012 220);--color-paper-2: oklch(17% .014 220);--color-paper-3: oklch(20% .014 220);--color-rule: oklch(27% .014 220);--color-neutral: oklch(58% .012 220);--color-muted: oklch(46% .012 220);--color-ink: oklch(94% .008 210);--color-ink-2: oklch(80% .01 210);--color-accent: oklch(78% .14 175);--color-accent-ink: oklch(12% .02 175);--color-focus: oklch(80% .15 175);--font-display: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1.0625rem;--text-lg: 1.3125rem;--text-xl: 1.75rem;--text-2xl: 2.1875rem;--text-display: clamp(2rem, 3vw + 1.1rem, 2.75rem);--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .2s;--dur-long: .3s;--radius-chip: 6px;--radius-pill: 999px;--rule-hair: 1px;--z-sticky: 200}*{box-sizing:border-box}html,body{overflow-x:clip}.pro-page{background:var(--color-paper);color:var(--color-ink-2);min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);font-weight:350;line-height:1.65}.pro-page ::-webkit-scrollbar{width:6px}.pro-page ::-webkit-scrollbar-track{background:var(--color-paper)}.pro-page ::-webkit-scrollbar-thumb{background:var(--color-paper-3);border-radius:3px}.nav-pill{position:fixed;inset:var(--space-md) auto auto 50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-lg);max-width:min(90vw,640px);padding:.55rem .6rem .55rem 1.1rem;background:color-mix(in oklch,var(--color-paper) 76%,transparent);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);box-shadow:0 8px 24px -12px #00000059;z-index:var(--z-sticky)}.wordmark{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;color:var(--color-ink);letter-spacing:.02em;white-space:nowrap;cursor:default}.nav-pill__links{display:flex;gap:var(--space-lg);list-style:none;margin:0;padding:0}.nav-pill__links a{color:var(--color-neutral);text-decoration:none;font-size:var(--text-sm);white-space:nowrap;transition:color var(--dur-short) var(--ease-out)}.nav-pill__links a:hover,.nav-pill__links a:focus-visible{color:var(--color-ink)}.nav-pill__cta{background:transparent;color:var(--color-neutral);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-chip);padding:.4rem .75rem;font-family:var(--font-body);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.nav-pill__cta:hover{color:var(--color-ink);border-color:var(--color-neutral)}.nav-pill__cta:active{transform:translateY(1px)}.nav-pill__cta:focus-visible,.nav-pill__links a:focus-visible,.pro-links a:focus-visible,.entry__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.pro-main{max-width:1100px;margin:0 auto;padding:clamp(6rem,10vw,8rem) clamp(1.25rem,4vw,2.5rem) var(--space-4xl)}.pro-about{margin-bottom:var(--space-3xl);scroll-margin-top:5.5rem}.pro-about-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-lg);margin-bottom:var(--space-2xl)}.pro-photo{width:140px;height:140px;border-radius:50%;object-fit:cover;flex-shrink:0;filter:grayscale(.85) contrast(1.05) brightness(.96);border:2px solid var(--color-rule);transition:border-color var(--dur-long) var(--ease-out),filter var(--dur-long) var(--ease-out)}.pro-photo:hover{border-color:var(--color-accent);filter:grayscale(.4) contrast(1.05) brightness(1)}.pro-bio{flex:1;min-width:0}.pro-fullname{font-family:var(--font-display);font-size:clamp(2.25rem,3vw + 1.25rem,3.25rem);font-weight:500;font-style:normal;color:var(--color-ink);margin:0 0 var(--space-sm);letter-spacing:-.01em;overflow-wrap:anywhere}.pro-title-line{font-size:var(--text-md);color:var(--color-ink-2);margin:0 0 .3rem}.pro-institution{font-size:var(--text-md);color:var(--color-neutral);margin:0 0 .3rem}.pro-credentials{font-size:var(--text-sm);color:var(--color-muted);margin:0;font-variant-numeric:tabular-nums}.pro-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs) var(--space-lg);margin-top:var(--space-md)}.pro-links a{font-size:var(--text-sm);color:var(--color-neutral);text-decoration:underline;text-decoration-color:var(--color-rule);text-underline-offset:3px;white-space:nowrap;transition:color var(--dur-short) var(--ease-out),text-decoration-color var(--dur-short) var(--ease-out)}.pro-links a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.pro-tagline{max-width:82ch;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-md)}.pro-tagline p{font-size:var(--text-md);color:var(--color-ink-2);line-height:1.7;margin:0}.pro-section{margin-bottom:var(--space-3xl);scroll-margin-top:5.5rem}.pro-section-heading{font-family:var(--font-display);font-size:clamp(1.75rem,1.5vw + 1.25rem,2.375rem);font-weight:500;font-style:normal;letter-spacing:-.01em;color:var(--color-ink);margin:0 0 var(--space-xl);padding-bottom:var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule)}.entry-list{margin:0}.entry{padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule)}.entry:first-child{padding-top:0;border-top:none}.entry+.entry{margin-top:var(--space-lg)}.entry__term{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-2xs) var(--space-md);margin:0 0 var(--space-2xs)}.entry__role{font-weight:600;font-size:var(--text-md);color:var(--color-ink)}.entry__date{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.entry__org{font-size:var(--text-sm);font-style:italic;color:var(--color-neutral);margin:0 0 var(--space-sm)}.entry__desc{max-width:82ch;font-size:var(--text-base);color:var(--color-ink-2);line-height:1.7;margin:0 0 var(--space-sm)}.entry__stack{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.01em;margin:0}.entry__link{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-neutral);text-decoration:underline;text-decoration-color:var(--color-rule);text-underline-offset:3px;white-space:nowrap;transition:color var(--dur-short) var(--ease-out)}.entry__link:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.pro-contact-text{max-width:82ch;font-size:var(--text-md);color:var(--color-ink-2);margin:0 0 var(--space-lg)}.pro-contact-email a{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-accent);text-decoration:none;transition:opacity var(--dur-short) var(--ease-out)}.pro-contact-email a:hover{opacity:.8}.pro-contact-links{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-top:var(--space-lg)}.pro-contact-links a{font-size:var(--text-sm);color:var(--color-neutral);text-decoration:underline;text-decoration-color:var(--color-rule);text-underline-offset:3px;white-space:nowrap;transition:color var(--dur-short) var(--ease-out)}.pro-contact-links a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.pro-footer{margin-top:var(--space-3xl);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule)}.pro-footer-text{font-size:var(--text-xs);color:var(--color-muted);margin:0}@media (prefers-reduced-motion: reduce){.pro-photo,.nav-pill__cta,.pro-links a,.entry__link,.pro-contact-links a,.pro-contact-email a,.nav-pill__links a{transition-duration:1ms}}@media (max-width: 40rem){.nav-pill{max-width:92vw;padding:.5rem .5rem .5rem .9rem;gap:var(--space-sm)}.nav-pill__links{display:none}.pro-main{padding-top:5.5rem}.pro-about-inner{gap:var(--space-md)}.pro-photo{width:100px;height:100px}.pro-fullname{font-size:clamp(1.75rem,6vw,2.25rem)}.pro-section-heading{font-size:clamp(1.5rem,6vw,1.875rem)}.entry__term{flex-direction:column;align-items:flex-start;gap:var(--space-3xs)}}
