*{margin:0;padding:0;box-sizing:border-box}html{background:#000813}body{margin:0;min-height:100vh;font-family:Inconsolata,Consolas,monospace}#reactRoot{position:relative;width:100%}:root{--bg1: #011028;--bg2: #000000;--accent: #145cae;--muted: rgba(255,255,255,.85);--card-bg: rgba(255,255,255,.03);--text-color: rgba(147, 224, 255, .845);--border-subtle: rgba(255,255,255,.06);--border-accent: rgba(40, 137, 179, .2);--glow: rgba(40, 137, 179, .22)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollBounce{0%,to{opacity:.32;transform:translate(-50%) translateY(0)}50%{opacity:.62;transform:translate(-50%) translateY(6px)}}h1,h2{font-family:Inconsolata,Consolas,monospace}.label>div{font-family:Inconsolata,Consolas,monospace;position:absolute;color:#31cfe1;padding:10px;white-space:nowrap;overflow:hidden;border-radius:30px;font-size:small}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;background:#000813;transition:opacity .5s}.loading-spinner{width:34px;height:34px;border:2px solid rgba(20,92,174,.15);border-top-color:#2889b3cc;border-radius:50%;animation:spin .8s linear infinite}.loading-text{font-family:Inconsolata,Consolas,monospace;color:#93e0ff73;font-size:.75rem;letter-spacing:.28rem;text-transform:uppercase;animation:fadeUp .6s ease forwards}.mobileView-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;background:#000813;text-align:center;padding:2rem;transition:opacity .5s}.mobileView-screen h1{font-family:Inconsolata,Consolas,monospace;font-size:clamp(1.3rem,4vw,1.8rem);color:#d2f5ffe6;letter-spacing:.05rem}.mobileView-screen p{font-family:Inconsolata,Consolas,monospace;color:#93e0ff7a;font-size:clamp(.78rem,2.5vw,.95rem);line-height:1.95;max-width:300px}.mobileView-icon{color:#2889b380}.full-section{position:relative;display:flex;height:100vh;min-height:700px;padding:clamp(16px,3vw,60px);z-index:1}.full-section-right{position:relative;justify-content:flex-end;display:flex;height:100vh;padding:clamp(16px,3vw,60px);z-index:1}.full-screen{display:flex;margin:clamp(1rem,2vw,2.5rem)}.half-screen{display:flex;align-items:center;margin:clamp(1rem,2vw,2.5rem)}#section-one{display:flex;flex:1 1 50%;max-width:50%;justify-content:flex-start}#section-three{flex:1 1 35%;max-width:35%;align-self:stretch;height:100%;display:flex;flex-direction:column;justify-content:center}#self-introduction{background:var(--card-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:10px;padding:clamp(18px,2vw,40px);margin:clamp(12px,1.5vw,30px);box-shadow:0 8px 28px #00000080,inset 0 1px #ffffff08;border:1px solid var(--border-subtle);border-left:2px solid rgba(40,137,179,.28);color:var(--text-color);line-height:2;letter-spacing:.07rem;font-size:clamp(13px,1.1vw,21px);transition:border-color .35s ease,box-shadow .35s ease}#self-introduction:hover{border-left-color:#2889b399;box-shadow:0 10px 32px #0000008c,0 0 20px #2889b30d}#self-introduction h2{font-size:clamp(16px,1.5vw,28px);color:#d2f5fff2;margin-bottom:.75rem;letter-spacing:.03rem}a{color:var(--text-color);text-decoration:none;transition:color .2s ease}a:hover{color:#a8e3f9}.aboutMe-column{display:flex;flex-direction:column;justify-content:center;margin:clamp(12px,1.8vw,32px);height:100%}.left-column{flex:6}.right-column{flex:4}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:10px;padding:clamp(18px,2vw,38px);box-shadow:0 6px 22px #00000073,inset 0 1px #ffffff05;border:1px solid var(--border-subtle);color:var(--text-color);font-size:clamp(13px,1.1vw,20px);line-height:2;letter-spacing:.07rem;transition:border-color .3s ease,box-shadow .3s ease}.glass-card:hover{border-color:#2889b31c;box-shadow:0 8px 28px #00000080,inset 0 1px #ffffff08}.scrollable-content{max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;overscroll-behavior:contain;gap:1.5rem}.scrollable-content-hobby{max-height:35vh;overflow-y:auto;display:flex;flex-direction:column;overscroll-behavior:contain;gap:1.5rem}.scrollable-content::-webkit-scrollbar,.scrollable-content-hobby::-webkit-scrollbar,.scrollable-content-description::-webkit-scrollbar{width:3px}.scrollable-content::-webkit-scrollbar-track,.scrollable-content-hobby::-webkit-scrollbar-track,.scrollable-content-description::-webkit-scrollbar-track{background:transparent}.scrollable-content::-webkit-scrollbar-thumb,.scrollable-content-hobby::-webkit-scrollbar-thumb,.scrollable-content-description::-webkit-scrollbar-thumb{background:#2889b34d;border-radius:2px}.hobby-wrapper{display:flex;flex-direction:column;gap:1.5rem}.hobby-wrapper h1{font-size:clamp(1.1rem,1.6vw,2rem);color:#d2f5ffe6;letter-spacing:.05rem}.image-row{display:flex;justify-content:space-between;align-items:stretch;gap:12px}.image-wrapper{flex:1;border-radius:8px;overflow:hidden}.image-wrapper img{width:100%;height:auto;max-height:clamp(260px,38vh,560px);display:block;filter:brightness(.88) saturate(.82);transition:filter .35s ease,transform .35s ease}.image-wrapper img:hover{filter:brightness(1) saturate(1);transform:scale(1.03)}.resume-container{display:flex;align-items:center;gap:.8rem;margin-top:.25rem}.resume-button{display:inline-flex;align-items:center;gap:5px;color:#93e0ffe6;padding:5px 14px;font-weight:600;font-family:Inconsolata,Consolas,monospace;font-size:clamp(12px,.9vw,16px);border:1px solid rgba(40,137,179,.35);border-radius:4px;background:#145cae1a;letter-spacing:.1rem;transition:all .2s ease}.resume-button:hover{background:#145cae47;border-color:#2889b3bf;color:#a8e3f9;box-shadow:0 0 12px #2889b329;transform:translateY(-1px)}.project-column{margin:clamp(12px,1.8vw,32px);display:flex;flex-direction:column;gap:clamp(.8rem,1.2vw,1.5rem)}.tech-list{background:var(--card-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:10px;box-shadow:0 6px 22px #00000073,inset 0 1px #ffffff05;border:1px solid var(--border-subtle);justify-content:center;align-items:center;display:flex;gap:2px;flex-wrap:wrap;padding:clamp(8px,1.2vw,18px) clamp(12px,1.8vw,28px);margin-bottom:0}.tech-item{padding:clamp(4px,.6vw,10px) clamp(6px,.9vw,14px);color:var(--text-color);font-size:clamp(.75rem,1vw,1.1rem);font-weight:500;letter-spacing:.08rem}.separator{color:#2889b366;font-size:clamp(.55rem,.75vw,.85rem);flex-shrink:0}.scrollable-content-description{max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;overscroll-behavior:contain;gap:1.5rem}#project-description{background:var(--card-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:10px;padding:clamp(14px,1.8vw,32px);box-shadow:0 6px 22px #00000073,inset 0 1px #ffffff05;border:1px solid var(--border-subtle);color:var(--text-color);line-height:1.8;letter-spacing:.055rem;font-size:clamp(13px,1vw,18px);max-width:100%}#project-description h1{font-size:clamp(14px,1.3vw,22px);color:#d2f5ffe6;margin-bottom:.5rem;letter-spacing:.02rem}.description-list{list-style:none;padding:0;margin-top:10px}.description-list li{position:relative;padding-left:20px;margin-bottom:8px;line-height:1.75}.description-list li:before{content:"›";position:absolute;left:2px;top:0;font-size:18px;color:#2889b399;line-height:1.55;font-weight:700}.project-controls{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.5vw,22px);padding:clamp(8px,1.2vw,18px);background:var(--card-bg);border-radius:10px;border:1px solid var(--border-subtle);box-shadow:0 6px 22px #00000073,inset 0 1px #ffffff05;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.control-btn{background:#145cae26;border:1px solid rgba(40,137,179,.26);border-radius:6px;color:#2889b3d1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;width:clamp(42px,4.5vw,64px);height:clamp(42px,4.5vw,64px)}.control-btn:hover{background:#145cae57;border-color:#2889b3b3;color:#a8e3f9;transform:translateY(-2px);box-shadow:0 4px 14px #2889b333}.control-btn:active{transform:translateY(0);box-shadow:0 2px 6px #2889b326}.control-btn svg{width:clamp(18px,1.8vw,28px);height:clamp(18px,1.8vw,28px);transition:transform .25s ease}.play-pause-btn{background:#145cae38;border-width:2px;width:clamp(50px,5.5vw,76px);height:clamp(50px,5.5vw,76px)}.play-pause-btn svg{width:clamp(20px,2vw,30px);height:clamp(20px,2vw,30px)}.play-pause-btn:hover{background:#145cae6b;box-shadow:0 6px 18px #2889b34d;transform:scale(1.08)}.prev-btn:hover svg{transform:translate(-2px)}.next-btn:hover svg{transform:translate(2px)}.github-link{display:flex;align-items:center;justify-content:center;padding:clamp(8px,1vw,16px) clamp(14px,1.8vw,28px);background:var(--card-bg);border-radius:8px;border:1px solid var(--border-subtle);box-shadow:0 4px 16px #0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:border-color .2s ease,box-shadow .2s ease}.github-link:hover{border-color:#2889b329;box-shadow:0 4px 20px #00000073,0 0 10px #2889b312}.github-link a{display:flex;align-items:center;gap:8px;color:#93e0ffb8;font-size:clamp(12px,.9vw,16px);letter-spacing:.1rem;font-weight:500}.github-link a:hover{color:#c8f0ff}.scroll-indicator{position:absolute;bottom:clamp(1.5rem,3vh,2.5rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;color:#93e0ff47;font-family:Inconsolata,Consolas,monospace;font-size:.58rem;letter-spacing:.24rem;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;animation:scrollBounce 2.4s ease-in-out infinite}
