#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}body,html{margin:0;font:700 14px/1.4 Open Sans,arial,sans-serif;background:#000;min-height:100vh;overflow-x:hidden}.stars,.stars2,.stars3{position:fixed;top:0;left:0;right:0;width:100vw;height:100vh;pointer-events:none;z-index:0}.stars{background:transparent;box-shadow:10vw 8vh #fff,70vw 15vh #fff,25vw 62vh #fff,75vw 39vh #fff,82vw 78vh #fff,52vw 24vh #fff,85vw 53vh #fff,12vw 36vh #fff,95vw 70vh #fff,20vw 49vh #fff,55vw 14vh #fff,32vw 87vh #fff,80vw 27vh #fff,42vw 54vh #fff,88vw 12vh #fff,13vw 60vh #fff,90vw 86vh #fff,38vw 23vh #fff,84vw 69vh #fff,50vw 41vh #fff,92vw 25vh #fff,18vw 74vh #fff,78vw 57vh #fff,46vw 12vh #fff,86vw 48vh #fff,33vw 36vh #fff,81vw 72vh #fff,25vw 50vh #fff,96vw 24vh #fff,7vw 65vh #fff,76vw 89vh #fff,91vw 31vh #fff,40vw 47vh #fff,84vw 65vh #fff,23vw 78vh #fff,79vw 13vh #fff,93vw 62vh #fff,15vw 39vh #fff,82vw 56vh #fff,43vw 77vh #fff,89vw 22vh #fff,30vw 63vh #fff,80vw 50vh #fff,48vw 79vh #fff,94vw 37vh #fff,19vw 24vh #fff,77vw 74vh #fff,39vw 51vh #fff,85vw 88vh #fff,97vw 29vh #fff,44vw 45vh #fff,81vw 76vh #fff,10vw 32vh #fff,57vw 58vh #fff,87vw 41vh #fff,24vw 69vh #fff,78vw 16vh #fff,49vw 82vh #fff,86vw 34vh #fff,35vw 71vh #fff,3vw 18vh #fff,8vw 42vh #fff,14vw 55vh #fff,6vw 73vh #fff,11vw 28vh #fff,16vw 66vh #fff,5vw 48vh #fff,9vw 81vh #fff,13vw 35vh #fff,18vw 59vh #fff,7vw 91vh #fff,15vw 44vh #fff,4vw 67vh #fff,12vw 52vh #fff,17vw 25vh #fff,8vw 84vh #fff,6vw 38vh #fff,14vw 71vh #fff,10vw 56vh #fff,16vw 19vh #fff,22vw 3vh #fff,45vw 5vh #fff,68vw 2vh #fff,83vw 7vh #fff,35vw 4vh #fff,58vw 8vh #fff,91vw 6vh #fff,15vw 9vh #fff,72vw 3vh #fff,28vw 7vh #fff,51vw 2vh #fff,94vw 4vh #fff,26vw 93vh #fff,49vw 95vh #fff,71vw 98vh #fff,85vw 92vh #fff,38vw 96vh #fff,62vw 94vh #fff,89vw 99vh #fff,17vw 97vh #fff,74vw 91vh #fff,31vw 98vh #fff,54vw 93vh #fff,96vw 95vh #fff;width:1px;height:1px;animation:starsTwinkle 3s ease-in-out infinite alternate}.stars2{background:transparent;box-shadow:52vw 20vh #fff,82vw 36vh #fff,35vw 68vh #fff,88vw 52vh #fff,17vw 14vh #fff,67vw 74vh #fff,85vw 87vh #fff,44vw 49vh #fff,79vw 22vh #fff,14vw 76vh #fff,91vw 38vh #fff,40vw 35vh #fff,77vw 63vh #fff,83vw 89vh #fff,27vw 47vh #fff,74vw 65vh #fff,87vw 23vh #fff,37vw 81vh #fff,81vw 78vh #fff,43vw 34vh #fff,90vw 64vh #fff,23vw 72vh #fff,78vw 36vh #fff,84vw 60vh #fff,33vw 87vh #fff,77vw 49vh #fff,86vw 35vh #fff,30vw 43vh #fff,80vw 85vh #fff,94vw 59vh #fff,42vw 72vh #fff,76vw 27vh #fff,88vw 43vh #fff,21vw 74vh #fff,84vw 68vh #fff,93vw 51vh #fff,27vw 29vh #fff,70vw 61vh #fff,89vw 82vh #fff,37vw 46vh #fff,2vw 33vh #fff,9vw 57vh #fff,15vw 21vh #fff,5vw 78vh #fff,11vw 45vh #fff,18vw 63vh #fff,7vw 29vh #fff,13vw 88vh #fff,4vw 52vh #fff,16vw 37vh #fff,10vw 69vh #fff,6vw 44vh #fff,33vw 2vh #fff,56vw 6vh #fff,79vw 4vh #fff,92vw 8vh #fff,42vw 5vh #fff,65vw 3vh #fff,88vw 7vh #fff,21vw 9vh #fff,29vw 92vh #fff,52vw 96vh #fff,75vw 94vh #fff,87vw 98vh #fff,36vw 97vh #fff,59vw 93vh #fff,82vw 95vh #fff,13vw 99vh #fff;width:2px;height:2px;animation:starsTwinkle 4s ease-in-out infinite alternate}.stars3{background:transparent;box-shadow:61vw 42vh #fff,97vw 28vh #fff,22vw 76vh #fff,73vw 34vh #fff,95vw 65vh #fff,30vw 39vh #fff,69vw 77vh #fff,89vw 45vh #fff,34vw 63vh #fff,87vw 79vh #fff,17vw 33vh #fff,83vw 60vh #fff,93vw 74vh #fff,44vw 46vh #fff,88vw 72vh #fff,37vw 88vh #fff,96vw 47vh #fff,31vw 75vh #fff,84vw 32vh #fff,92vw 61vh #fff,41vw 34vh #fff,87vw 87vh #fff,97vw 50vh #fff,24vw 58vh #fff,65vw 26vh #fff,79vw 69vh #fff,48vw 53vh #fff,86vw 81vh #fff,3vw 26vh #fff,8vw 64vh #fff,12vw 41vh #fff,6vw 85vh #fff,14vw 53vh #fff,9vw 31vh #fff,16vw 72vh #fff,5vw 49vh #fff,11vw 17vh #fff,7vw 58vh #fff,15vw 38vh #fff,4vw 77vh #fff,27vw 4vh #fff,50vw 7vh #fff,73vw 3vh #fff,86vw 9vh #fff,39vw 6vh #fff,62vw 2vh #fff,85vw 5vh #fff,19vw 8vh #fff,32vw 94vh #fff,55vw 97vh #fff,78vw 92vh #fff,91vw 96vh #fff,41vw 99vh #fff,64vw 95vh #fff,87vw 93vh #fff,24vw 98vh #fff;width:1px;height:1px;animation:starsTwinkle 5s ease-in-out infinite alternate}@keyframes starsTwinkle{0%{opacity:.2}to{opacity:1}}.shooting-star-dynamic{position:fixed;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 15px 4px hsla(var(--hue),90%,70%,1),0 0 25px 6px hsla(var(--hue),90%,60%,.6);pointer-events:none;z-index:0;animation:shootingStarDynamic var(--duration) ease-out forwards}.shooting-star-dynamic:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:inherit;border-radius:50%;box-shadow:inherit;filter:blur(2px)}@keyframes shootingStarDynamic{0%{transform:translate(100px,-100px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(-400px,400px);opacity:0}}#root{min-height:100vh;display:flex;flex-direction:column;position:relative;padding-bottom:80px;z-index:1}section{color:#f3f3f3;max-width:1200px;margin:0 auto;padding:20px;text-align:left}section h2{font-size:2.5rem;margin-bottom:40px;text-align:left;color:#f3f3f3}section p,section li{font-size:1.1rem;line-height:1.8;color:#d0d0d0}ul{margin:50px auto 0;padding:0;list-style:none;display:table;width:600px;text-align:center}li{display:table-cell;position:relative;padding:15px 0}ul li a{color:#f3f3f3;text-transform:uppercase;text-decoration:none;letter-spacing:.15em;display:inline-block;padding:15px 20px;position:relative;cursor:pointer}ul li a:after{background:none repeat scroll 0 0 transparent;bottom:0;content:"";display:block;height:2px;left:50%;position:absolute;background:#f3f3f3;transition:width .3s ease 0s,left .3s ease 0s;width:0}ul li a:hover:after{width:100%;left:0}@media screen and (max-height:300px){ul{margin-top:40px}}footer{position:absolute;left:0;bottom:0;width:100%;color:#d0d0d0;font-size:1rem;text-align:center}footer a{color:#008cff;text-decoration:none;transition:color .3s ease}footer a:hover{color:#0031ff}.hero{text-align:left;padding:50px 0 0;display:flex;align-items:flex-start;justify-content:flex-start}.hero h1{font-size:2.5rem;margin:0}.auto-type{font-weight:700;color:#0031ff;text-shadow:0 0 10px #0031ff}.about-content{margin-top:20px;font-size:1.2rem;line-height:1.6}.about-content p{font-size:1.4rem}.github-contributions{margin-top:7rem;padding:10px 0}.github-contributions h3{font-size:2rem;color:#f3f3f3;margin-bottom:30px;text-align:left}.github-contributions img{width:100%;max-width:800px}.skills-section{margin-top:60px;padding:40px 0}.skills-section h3{font-size:2rem;color:#f3f3f3;text-align:left;margin-bottom:15px}.skills-intro{font-size:1.1rem;color:#a0a0a0;margin-bottom:30px;font-style:italic}.skills-category{padding:20px 0;margin-bottom:5px;border-bottom:1px solid rgba(243,243,243,.1)}.skills-category:last-child{border-bottom:none}.skills-category h4{font-size:1.3rem;color:#d0d0d0;margin-bottom:15px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.skills-icons{display:flex;align-items:center;gap:10px}.skills-icons img{transition:transform .3s ease}.skills-icons img:hover{transform:scale(1.2)}#projects{margin-top:30px}.projects-grid{margin-top:40px;display:flex;flex-direction:column;gap:40px}.project-card{background:#ffffff0d;padding:30px;border-radius:10px;border:1px solid rgba(243,243,243,.1);display:grid;grid-template-columns:1fr 400px;gap:30px;align-items:start}.project-content{display:flex;flex-direction:column}.project-card h3{color:#f3f3f3;font-size:1.8rem;margin:0 0 10px}.project-date{color:#a0a0a0;font-size:.95rem;font-style:italic;margin-bottom:20px}.project-card p{margin:10px 0}.project-card .carousel{margin:0;max-width:400px}#education{margin-top:30px}.education-grid{margin-top:40px;display:flex;flex-direction:column;gap:40px}.education-item{background:#ffffff0d;padding:30px;border-radius:10px;border:1px solid rgba(243,243,243,.1);display:grid;grid-template-columns:1fr 400px;gap:30px;align-items:start}.education-content{display:flex;flex-direction:column}.education-item h3{color:#f3f3f3;font-size:1.8rem;margin:0 0 10px}.education-date{color:#a0a0a0;font-size:.95rem;font-style:italic;margin-bottom:20px}.education-item p{margin:10px 0}.education-image{width:100%;max-width:400px;height:auto;border-radius:8px;border:1px solid rgba(243,243,243,.1);cursor:pointer;transition:opacity .3s ease}.education-image:hover{opacity:.8}#hobbies{margin-top:30px}.hobbies-grid{margin-top:40px;display:flex;flex-direction:column;gap:40px}.hobby-item{background:#ffffff0d;padding:30px;border-radius:10px;border:1px solid rgba(243,243,243,.1);display:grid;grid-template-columns:1fr 400px;gap:30px;align-items:start}.hobby-content{display:flex;flex-direction:column}.hobby-item h3{color:#f3f3f3;font-size:1.8rem;margin:0 0 10px}.hobby-item p{margin:10px 0}.hobby-image{width:100%;max-width:400px;height:auto;border-radius:8px;border:1px solid rgba(243,243,243,.1);cursor:pointer;transition:opacity .3s ease}.hobby-image:hover{opacity:.8}.hobby-item .carousel{margin:0;max-width:400px}#contact{margin-top:30px}.contact-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:70px}.contact-card{background:#ffffff0d;padding:30px 20px;border-radius:8px;border:1px solid rgba(243,243,243,.1);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .3s ease,border-color .3s ease}.contact-card:hover{transform:translateY(-5px);border-color:#f3f3f34d}.contact-card.copied{background:#00b7ff33;border-color:#00c3ff80;animation:fadeToNormal 2s ease-out forwards}@keyframes fadeToNormal{0%{background:#00b7ff33;border-color:#00c3ff80}to{background:#ffffff0d;border-color:#f3f3f31a}}.contact-icon{font-size:3rem;color:#f3f3f3}.contact-card h3{color:#f3f3f3;font-size:1.2rem;margin:0}.contact-card p{color:#d0d0d0;font-size:1rem;margin:0;word-break:break-word}.contact-card a{color:#008cff;text-decoration:none;transition:color .3s ease}.contact-card a:hover{color:#0031ff}.carousel{position:relative;width:100%;max-width:800px;margin:0 auto 30px;border-radius:8px;overflow:hidden}.carousel-image{width:100%;height:auto;display:block;border-radius:8px;border:1px solid rgba(243,243,243,.1);cursor:pointer;transition:opacity .3s ease}.carousel-image:hover{opacity:.8}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#f3f3f3;border:1px solid rgba(243,243,243,.2);font-size:1.5rem;width:45px;height:45px;min-width:45px;min-height:45px;max-width:45px;max-height:45px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:2;border-radius:4px;flex-shrink:0}.carousel-btn:hover{background:#0031ff4d;border-color:#0031ff}.carousel-btn.prev{left:2%}.carousel-btn.next{right:2%}.carousel-dots{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.dot{width:10px;height:10px;border-radius:50%;background:#ffffff4d;border:1px solid rgba(243,243,243,.5);cursor:pointer;transition:all .3s ease}.dot:hover{background:#ffffff80}.dot.active{background:#0031ff;border-color:#0031ff;box-shadow:0 0 10px #0031ff}.fullscreen-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:default;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.fullscreen-overlay img{max-width:80%;max-height:90%;object-fit:contain;border-radius:8px;cursor:default}.fullscreen-overlay .carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;border:1px solid rgba(243,243,243,.3);width:50px;height:50px;min-width:50px;min-height:50px;font-size:1.8rem;cursor:pointer;-webkit-tap-highlight-color:rgba(0,49,255,.3);outline:none;transition:all .3s ease;z-index:10000}.fullscreen-overlay .carousel-btn:active{background:#0031ff99;border-color:#0031ff}.fullscreen-overlay .carousel-btn.prev{left:3%}.fullscreen-overlay .carousel-btn.next{right:3%}.fullscreen-overlay .carousel-btn:hover{background:#0031ffcc;border-color:#0031ff}.fullscreen-overlay .carousel-dots{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:10000}.close-btn{position:absolute;top:30px;right:40px;color:#f3f3f3;font-size:3rem;cursor:pointer;background:none;border:none;transition:opacity .3s ease;z-index:10000}.close-btn:hover{opacity:.7}.fancy-button{--theme-color: #0031ff;--s: 10px;--animation-timing: .3s;--pad: 2px;font:700 14px/1.4 Open Sans,arial,sans-serif;font-weight:400;position:relative;cursor:pointer;appearance:none;color:#f3f3f3;border:1px solid rgb(255 255 255 / 20%);padding:10px 20px;font-size:16px;display:inline-flex;align-items:center;background:linear-gradient(to right,#1b1b1b4d,#000);transition:background var(--animation-timing) ease,border var(--animation-timing) ease}.fancy-button span{font-weight:700;font-size:18px;transition:color var(--animation-timing) ease;margin-left:8px}.fancy-button:before{content:"";position:absolute;box-sizing:border-box;inset:calc(-1 * var(--pad));padding:var(--pad);border:2px solid rgba(225,225,225,.5);background:transparent content-box;-webkit-mask:conic-gradient(#000 0 0) content-box,conic-gradient(at var(--s) var(--s),#0000 75%,#000 0) 0 0 / calc(100% - var(--s)) calc(100% - var(--s));mask:conic-gradient(#000 0 0) content-box,conic-gradient(at var(--s) var(--s),#0000 75%,#000 0) 0 0 / calc(100% - var(--s)) calc(100% - var(--s));backface-visibility:hidden;pointer-events:none;transition:inset var(--animation-timing) ease,padding var(--animation-timing) ease,border-color var(--animation-timing) ease;will-change:inset,padding}.fancy-button:hover{border:1px solid var(--theme-color);background:linear-gradient(to right,#0d2bd60d,#0d2bd633)}.fancy-button:hover span{color:var(--theme-color)}.fancy-button:hover:before{--pad: 8px;border-color:var(--theme-color)}.fancy-button,.fancy-button:link,.fancy-button:visited,.project-link{text-decoration:none}@media screen and (max-width:1024px){footer{position:relative;margin-top:1rem}#root{padding:1.5rem}.hero h1{font-size:2rem}.skills-icons{gap:15px}.skills-icons img{width:40px;height:40px}.contact-grid{grid-template-columns:repeat(3,1fr);gap:15px}.project-card,.project-item,.education-item,.hobby-item{grid-template-columns:1fr;gap:20px}.carousel,.education-image{width:100%;max-width:500px}.project-card .carousel{margin:0 auto;max-width:100%}}@media screen and (max-width:768px){#root{padding:1rem}ul{width:100%;margin:30px auto 0}li{padding:10px 0}ul li a{padding:10px 8px;font-size:.75rem;letter-spacing:.1em}.hero{padding:30px 0 0}.hero h1{font-size:1.5rem}.about-content p{font-size:1rem}section h2{font-size:1.8rem}section h3{font-size:1.3rem}.skills-category h4{font-size:1.1rem}.skills-icons{gap:10px}.skills-icons img{width:35px;height:35px}.contact-grid{grid-template-columns:1fr;gap:15px}.contact-card{padding:25px 15px}.contact-icon{font-size:2.5rem}.project-item,.education-item,.hobby-item{grid-template-columns:1fr;gap:15px}.project-content h3,.education-content h3,.hobby-content h3{font-size:1.3rem}.carousel,.education-image{width:100%}.carousel-btn{width:38px;height:38px;min-width:38px;min-height:38px;max-width:38px;max-height:38px;font-size:1.2rem}.carousel-dots{gap:6px}.carousel-dot{width:8px;height:8px}.fullscreen-overlay .carousel{width:90vw;height:60vh}.fullscreen-overlay .carousel-btn{width:45px;height:45px;min-width:45px;min-height:45px;font-size:1.5rem}.fullscreen-overlay .carousel-btn.prev{left:10px}.fullscreen-overlay .carousel-btn.next{right:10px}.fullscreen-overlay .close-btn{top:10px;right:10px;font-size:2rem;padding:8px 15px}.github-contributions img{width:100%;height:auto}.fancy-button{padding:8px 16px;font-size:14px}}@media screen and (max-width:480px){#root{padding:.8rem}ul{margin:18px auto 0}ul li a{padding:8px 4px;font-size:.62rem;letter-spacing:.06em}.hero{padding:25px 0 0}.hero h1{font-size:1.15rem;line-height:1.4}section h2{font-size:1.4rem;margin-bottom:20px}section h3{font-size:1.15rem}.about-content p{font-size:.92rem;line-height:1.6}.skills-category h4{font-size:1rem;margin-bottom:12px}.skills-icons{gap:10px}.skills-icons img{width:32px;height:32px}.github-contributions{margin-top:40px}.github-contributions h3{font-size:1.25rem}.contact-card{padding:22px 12px}.contact-icon{font-size:2.2rem}.contact-card h3{font-size:1.05rem}.contact-card p{font-size:.92rem}.project-card,.education-item,.hobby-item{padding:22px 18px;gap:18px}.project-content h3,.education-content h3,.hobby-content h3{font-size:1.25rem}.project-date{font-size:.87rem;margin-bottom:15px}.project-card p,.education-content p,.hobby-content p{font-size:.92rem;line-height:1.5}.carousel,.education-image{width:100%}.carousel-btn{width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;font-size:1.1rem}.carousel-dots{gap:7px;bottom:12px}.dot{width:9px;height:9px}.fullscreen-overlay .carousel{width:94vw;height:55vh}.fullscreen-overlay .carousel-btn{width:42px;height:42px;min-width:42px;min-height:42px;max-width:42px;max-height:42px;font-size:1.3rem}.fullscreen-overlay .close-btn{top:12px;right:12px;font-size:1.9rem;padding:8px 14px}.fancy-button{padding:8px 15px;font-size:13.5px;margin-top:35px}}
