body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-container{align-items:center;background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;justify-content:center;min-height:0;overflow-y:hidden}body.home-scroll-lock,html.home-scroll-lock{overflow:hidden!important}.image-section{display:flex;justify-content:center;margin-bottom:40px;max-width:600px;width:100%}.image-section img{border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);height:auto;max-width:100%;width:100%}.text-section{margin:0 auto;max-width:600px;text-align:center;width:100%}.text-section h1{font-family:Courier New,Courier,monospace;font-size:clamp(1.2rem,4vw,2.2rem);margin-bottom:20px}.text-section p{color:var(--text-secondary);font-size:clamp(1.1rem,3vw,1.5rem);line-height:1.6}@media (max-width:768px){.image-section,.text-section{max-width:90vw}}@media (max-width:480px){.image-section{margin-bottom:20px;max-width:90vw}.image-section img{border-radius:6px;max-width:220px}.text-section{max-width:90vw}.text-section h1{font-size:1.1rem;margin-bottom:10px}.text-section p{font-size:.95rem;margin-bottom:10px}}.container{align-items:center;background-color:var(--bg-primary);box-shadow:0 0 10px rgba(0,0,0,.1);-webkit-box-shadow:0 0 10px rgba(0,0,0,.1);display:flex;justify-content:center;min-height:100vh;padding:20px}:root{--about-bg:#4f4848}.light-mode{--about-bg:#e6e4e4}.about-container{align-items:center;appearance:none;-webkit-appearance:none;background-color:#4f4848;background-color:var(--about-bg);border-radius:30px;box-shadow:0 4px 6px rgba(0,0,0,.1);-webkit-box-shadow:0 4px 6px rgba(0,0,0,.1);color:var(--text-primary);display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:800px;padding:20px;text-align:center;width:90%}.about-container h1{word-wrap:break-word;color:var(--text-primary);font-family:Courier New,Courier,monospace;font-size:2.5em;font-weight:400;margin-bottom:20px}.about-container img{border-radius:50%;-webkit-border-radius:50%;height:150px;margin-bottom:20px;object-fit:cover;width:150px}.about-container p{word-wrap:break-word;color:var(--text-secondary);font-size:1.2em;line-height:1.5;margin-bottom:20px}.social-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.social-links a{-webkit-tap-highlight-color:transparent;color:#61dafb;font-size:1.5em;padding:5px;text-decoration:none}.social-links img{height:40px;object-fit:cover;vertical-align:middle;width:40px}.social-links a:hover{color:#fff}@media screen and (max-width:768px){.about-container{padding:15px;width:95%}.about-container h1{font-size:2em}.about-container p{font-size:1em}}@media screen and (max-width:480px){.about-container{padding:10px}.about-container h1{font-size:1.8em}.about-container img{height:120px;width:120px}.social-links img{height:35px;width:35px}}@supports (-webkit-touch-callout:none){.container{min-height:-webkit-fill-available}}@supports (padding:max(0px)){.container{padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}.projects-container{background-color:var(--bg-primary);color:var(--text-primary);height:auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:100px 20px 40px}.projects-header{margin-bottom:50px;padding:0 20px;text-align:center}.projects-header h1{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#fff,#888);-webkit-background-clip:text;font-family:Courier New,Courier,monospace;font-size:clamp(2rem,5vw,3.5rem);margin-bottom:15px}.projects-subtitle{color:#888;font-size:clamp(1rem,2vw,1.2rem);margin-bottom:30px}.projects-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1400px;padding:0 20px}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:15px;color:inherit;display:flex;flex-direction:column;height:100%;overflow:hidden;text-decoration:none;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.project-card:hover{box-shadow:0 10px 20px rgba(0,0,0,.2);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.project-image{height:200px;overflow:hidden;position:relative;width:100%}.project-image img{height:100%;object-fit:cover;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:100%}.project-card:hover .project-image img{-webkit-transform:scale(1.05);transform:scale(1.05)}.project-content{flex-grow:1;padding:20px}.project-content h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:10px}.project-description{color:var(--text-secondary);flex-grow:1;font-size:.95rem;line-height:1.5;margin-bottom:15px}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tech-tag{background:hsla(0,0%,100%,.12);background:var(--tag-bg,var(--card-bg));color:var(--text-secondary)!important;transition:background-color .3s,color .3s}.tech-tag:hover{background:var(--hover-color);color:#fff!important}:root{--tag-bg:hsla(0,0%,100%,.12);--tag-hover-text:#fff}.light-mode{--tag-bg:rgba(0,0,0,.1);--tag-hover-text:#fff}@media (max-width:1200px){.projects-grid{gap:25px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.projects-container{padding:80px 10px 30px}.projects-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:0 15px}.project-image{height:180px}}@media (max-width:480px){.projects-container{padding:40px 10px 20px}.projects-grid{gap:20px;grid-template-columns:1fr;padding:0 10px}.project-image{height:100px}.project-content{padding:15px}.project-content h2{font-size:1.3rem}.project-description{font-size:.9rem}}@supports (-webkit-touch-callout:none){.projects-container{min-height:-webkit-fill-available}}@media (orientation:landscape) and (max-height:500px){.projects-container{padding:70px 20px 30px}.project-image{height:140px}}.projects-title{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#fff,#888);-webkit-background-clip:text;font-family:Courier New,Courier,monospace;font-size:3rem;margin-bottom:48px;margin-top:0;text-align:center}.articles-container{background-color:var(--bg-primary);color:var(--text-primary);height:auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:80px 20px 40px}.articles-header{margin-bottom:50px;padding:0 20px;text-align:center}.articles-header h1{-webkit-text-fill-color:transparent;-webkit-appearance:none;appearance:none;background:linear-gradient(45deg,#fff,#888);background-clip:text;-webkit-background-clip:text;font-family:Courier New,Courier,monospace;font-size:clamp(2rem,5vw,3.5rem);margin-bottom:15px}.articles-subtitle{color:#888;font-size:clamp(1rem,2vw,1.2rem);margin-bottom:30px}.articles-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(220px,340px));justify-content:center;margin:0 auto;padding:0 20px}.article-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:15px;color:inherit;display:flex;flex-direction:column;height:340px;min-height:0;min-width:0;overflow:hidden;text-decoration:none;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.article-card:hover{box-shadow:0 10px 20px rgba(0,0,0,.2);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.article-image{height:200px;overflow:hidden;position:relative;width:100%}.article-image img{height:100%;object-fit:cover;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:100%}.article-card:hover .article-image img{-webkit-transform:scale(1.05);transform:scale(1.05)}.article-content{align-items:stretch;display:flex;flex:1 1 auto;flex-direction:column;height:100%;justify-content:flex-start;padding:20px}.article-content h2{color:var(--text-primary);flex-shrink:0;font-size:1.2rem;margin-bottom:10px}.article-description{align-items:center;color:var(--text-secondary);display:flex;flex-grow:1;font-size:.98rem;line-height:1.5;margin-bottom:18px}.article-tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tech-tag{background:hsla(0,0%,100%,.1);border-radius:20px;color:#fff;font-size:.8rem;padding:4px 12px;transition:background-color .3s ease}.tech-tag:hover{background:hsla(0,0%,100%,.2)}.read-button{align-self:flex-end;background:#fff;border:none;border-radius:8px;color:#000;cursor:pointer;font-family:Courier New,Courier,monospace;font-size:1rem;font-weight:700;margin-top:auto;padding:10px 22px;transition:background .2s,color .2s}.read-button:hover{background:#71b5c8;color:#fff}.article-modal{background:rgba(0,0,0,.85);bottom:0;justify-content:center;left:0;padding:40px 10px;position:fixed;right:0;top:0;z-index:2000}.article-modal,.modal-content{align-items:center;display:flex}.modal-content{background:#181818;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.4);flex-direction:column;max-height:90vh;max-width:900px;padding:32px 24px 24px;position:relative;width:100%}.modal-content h2{color:#fff;font-size:1.4rem;margin-bottom:18px;text-align:center}.modal-content iframe{background:#fff;border:none;border-radius:8px;height:70vh;margin-bottom:0;width:100%}.close-modal{background:none;border:none;color:#fff;cursor:pointer;font-size:2rem;position:absolute;right:24px;top:18px;transition:color .2s;z-index:10}.close-modal:hover{color:#f66}@media (max-width:1200px){.articles-grid{gap:25px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.articles-container{padding:60px 15px 30px}.articles-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:0 10px}.article-image{height:180px}.article-card{height:260px}.article-content{padding:12px}}@media (max-width:480px){.articles-container{padding:50px 10px 20px}.articles-grid{gap:20px;grid-template-columns:1fr;padding:0 10px}.article-image{height:160px}.article-content{padding:15px}.article-content h2{font-size:1.3rem}.article-description{font-size:.9rem}}@supports (-webkit-touch-callout:none){.articles-container{min-height:-webkit-fill-available}}@media (orientation:landscape) and (max-height:500px){.articles-container{padding:70px 20px 30px}.article-image{height:140px}}.articles-title{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#fff,#888);background-clip:text;-webkit-background-clip:text;font-family:Courier New,Courier,monospace;font-size:3rem;margin-bottom:48px;margin-top:0;padding-top:40px;text-align:center}.game-page{background-color:#ececea;font:14px Century Gothic,Futura,sans-serif;margin:20px}.game-container{height:100vh;width:100vw}.game,.game-container{align-items:center;display:flex;justify-content:center}.game{flex-direction:column;max-height:90%;max-width:90%}.game-page ol,ul{padding-left:30px}.game-page .board-row:after{clear:both;content:"";display:table}.game-page .status{margin-bottom:10px}.game-page .square{background:transparent;border:1px solid transparent;float:left;font-size:24px;font-weight:700;height:48px;line-height:34px;margin-right:-1px;margin-top:-1px;padding:0;text-align:center;width:48px}.game-page .square:focus{outline:none}.game-page .kbd-navigation .square:focus{background:#ddd}.game-page .game-info{margin-left:20px}.fallen-soldier-block,.game-status,.icons-attribution{margin-top:20px;min-height:50px}.dark-square{background-color:#bbbe64}.light-square{background-color:#eaf0ce}h3{margin-bottom:0}.resume-container{background-color:var(--bg-primary);color:var(--text-primary);justify-content:flex-start;max-width:1200px;min-height:100vh;min-height:-webkit-fill-available;padding:160px 20px 20px;text-align:center}.resume-container,.resume-content{align-items:center;display:flex;flex-direction:column;margin:0 auto}.resume-content{gap:30px;max-width:800px;padding:20px 0;width:100%}.resume-image{border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);height:auto;margin:0 auto;max-width:700px;object-fit:contain;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:100%}.resume-image:hover{-webkit-transform:scale(1.01);transform:scale(1.01)}.download-button-container{box-sizing:border-box;display:flex;justify-content:center;margin:20px 0;padding:0 15px;width:100%}.download-button{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:Courier New,Courier,monospace;font-size:16px;gap:10px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.download-button:hover{background-color:var(--hover-color);box-shadow:0 4px 12px rgba(0,0,0,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.download-icon{font-size:20px}.download-text{font-weight:500}@media (max-width:768px){.resume-container{padding:120px 15px 15px}.resume-content,.resume-image{max-width:100%}.resume-image{padding:0 10px}}@media (max-width:480px){.resume-container{padding:90px 10px 10px}.resume-image{padding:0 5px}}@supports (-webkit-touch-callout:none){.resume-container{min-height:-webkit-fill-available}}@media (orientation:landscape) and (max-height:500px){.resume-container{padding:70px 20px 20px}}.ide-container{-webkit-overflow-scrolling:touch;background-color:#282c34;border-radius:5px;box-shadow:0 2px 10px rgba(0,0,0,.3);box-sizing:border-box;left:50%;margin:0;max-width:800px;padding:20px;position:absolute;top:50%;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);width:calc(100% - 40px);z-index:1}.ide-header{-webkit-font-smoothing:antialiased;background-color:#21252b;border-radius:3px;font-size:clamp(.875em,1em,1.2em);padding:10px 15px}.ide-code-editor,.ide-header{font-family:Courier New,Courier,monospace}.ide-code-editor{display:flex;flex-direction:column;gap:10px;width:100%}.ide-line{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.ide-code{color:#c5a5c5}.ide-code,.ide-comment{margin-right:5px;word-break:break-word}.ide-comment{color:#6a9955}.ide-input,.ide-textarea{-webkit-appearance:none;appearance:none;background-color:initial;border:none;border-bottom:1px solid #484d58;border-radius:0;color:#9cdcfe;font-family:Courier New,Courier,monospace;font-size:16px;outline:none;padding:8px;width:100%}.ide-input::-webkit-input-placeholder,.ide-textarea::-webkit-input-placeholder{color:#d4d4d4;opacity:.7}.ide-input::placeholder,.ide-textarea::placeholder{color:#d4d4d4;opacity:.7}.ide-input:focus,.ide-textarea:focus{border-color:#528bff;outline:none}.ide-textarea{max-height:200px;min-height:60px;resize:vertical}.ide-container .ide-submit{-webkit-tap-highlight-color:transparent;background-color:#801fb5;border:none;border-radius:3px;color:#d70606;cursor:pointer;font-family:Courier New,Courier,monospace;margin-top:20px;min-width:120px;padding:12px 20px;transition:all .3s ease;-webkit-transition:all .3s ease;width:auto}.ide-container .ide-submit:hover{background-color:#9b06eb;color:#fff}.ide-container .ide-submit:active{transform:scale(.98);-webkit-transform:scale(.98)}.ide-container .ide-submit:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5);outline:none}.keyword-style{color:#c586c0}.string-style{color:#ce9178}.submission-message{color:#6a9955;margin-top:10px;word-break:break-word}@media (max-width:768px){.ide-container{margin:15px auto;padding:15px;width:calc(100% - 30px)}.ide-header{font-size:.9em}.ide-input,.ide-textarea{font-size:16px}}@media (max-width:480px){.ide-container{padding:10px;transform:translate(-50%,-45%);-webkit-transform:translate(-50%,-45%);width:calc(100% - 20px)}.ide-code-editor{gap:8px}.ide-container .ide-submit{padding:15px;width:100%}}@supports (-webkit-touch-callout:none){.ide-input,.ide-textarea{font-size:16px!important}.ide-container{-webkit-overflow-scrolling:touch}}@media (orientation:landscape) and (max-height:500px){.ide-container{left:0;margin:20px auto;position:relative;top:0;transform:none;-webkit-transform:none}}.ide-code,.ide-comment,.ide-container,.ide-header,.ide-input,.ide-textarea,.submission-message{color:#fff!important}*{box-sizing:border-box;margin:0;padding:0}.special-container{background-color:#ffb6c1;font-family:Arial,sans-serif}.special-container.modal-open{overflow:hidden}.special-container .carousel{align-items:center;border-radius:15px;display:flex;float:left;height:100vh;justify-content:center;overflow:hidden;position:relative;width:55%}.special-container .carousel img{-webkit-clip-path:circle(35%);clip-path:circle(35%);height:900px;object-fit:cover;width:900px}.special-container .envelope-wrapper{align-items:center;display:flex;float:right;height:100vh;justify-content:center;width:45%}.special-container:after{clear:both;content:"";display:table}.wrapper{background-color:#ca415a;cursor:pointer;display:flex;height:300px;justify-content:center;overflow:visible;position:relative;width:450px;z-index:0}.lid{border-bottom:150px solid transparent;border-left:225px solid transparent;border-right:225px solid transparent;height:100%;left:0;position:absolute;top:0;-webkit-transform-origin:top;transform-origin:top;transition:-webkit-transform .25s linear;transition:transform .25s linear;transition:transform .25s linear,-webkit-transform .25s linear;width:100%}.lid.one{border-top:150px solid #ca415a;-webkit-transform:rotateX(0deg);transform:rotateX(0deg);transition-delay:.75s;z-index:3}.lid.two{border-top:150px solid #d84761;-webkit-transform:rotateX(90deg);transform:rotateX(90deg);transition-delay:.5s;z-index:1}.envelope{border-color:transparent #e2627a #e2627a #d46075;border-style:solid;border-width:150px 225px;height:100%;left:0;width:100%;z-index:2}.envelope,.letter{position:absolute;top:0}.letter{align-items:center;background-color:#d98c98;border-radius:20px;cursor:pointer;display:flex;height:80%;justify-content:center;transition:z-index 0s,-webkit-transform .5s;transition:transform .5s,z-index 0s;transition:transform .5s,z-index 0s,-webkit-transform .5s;transition-delay:0s,.5s;width:90%;z-index:1}.letter p{color:#3b4049;font-size:45px;text-align:center}.wrapper:hover .letter{-webkit-transform:translateY(-225px);transform:translateY(-225px)}.wrapper:hover .lid.one{-webkit-transform:rotateX(90deg);transform:rotateX(90deg);transition-delay:0s}.wrapper:hover .lid.two{-webkit-transform:rotateX(180deg);transform:rotateX(180deg);transition-delay:.25s}.wrapper:hover .letter{-webkit-transform:translateY(-215px);transform:translateY(-215px);transition:z-index 0s,-webkit-transform .5s;transition:transform .5s,z-index 0s;transition:transform .5s,z-index 0s,-webkit-transform .5s;transition-delay:.5s,1s;z-index:4}.wrapper .letter{transition:z-index 0s,-webkit-transform .5s;transition:transform .5s,z-index 0s;transition:transform .5s,z-index 0s,-webkit-transform .5s;transition-delay:0s,0s}.modal-overlay{align-items:center;background-color:ffb6c1(0,0,0,.9);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal{background-color:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.15);max-height:80%;max-width:80%;overflow-y:auto;padding:50px 70px;position:relative;width:600px}.modal:after,.modal:before{display:none}.modal-content{color:#2c1810;font-family:Times New Roman,serif;font-size:18px;line-height:1.8;padding:20px;text-align:left}.letter-header{color:#333;font-size:22px;margin-bottom:40px}.letter-body{color:#444}.letter-body p{line-height:1.8;margin-bottom:30px;text-indent:30px}.letter-footer{color:#333;margin-top:50px;text-align:right}.letter-footer p{font-size:20px;margin:8px 0}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal::-webkit-scrollbar-thumb{background:#d8acb2;border-radius:4px}.modal::-webkit-scrollbar-thumb:hover{background:#ca8f96}.close-button{background:none;border:none;color:#fff;cursor:pointer;font-size:24px;position:absolute;right:10px;top:-20px;z-index:1001}.close-button:focus{outline:none}.close-button:hover{color:#f4d03f}.special-container.modal-open .carousel,.special-container.modal-open .envelope-wrapper{display:none}.password-screen{align-items:center;background-color:#3b4049;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.password-form{background-color:#1e1e1e;border-radius:10px}.password-form label{color:#fff}.password-form input{border:none;border-radius:5px;padding:10px}.password-form button{background:linear-gradient(45deg,#ff6b6b,#f94d6a);border-radius:5px;padding:10px 20px;transition:background .3s ease}.password-form button:hover{background:linear-gradient(45deg,#f94d6a,#ff6b6b)}.message-page{align-items:center;background-color:#ffb6c1;color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;padding:20px;position:relative;text-align:center;width:100%}.message-page .poem{font-family:Georgia,serif;font-size:26px;line-height:1.6;margin-bottom:40px}.message-page .poem p{margin:10px 0;opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px);transition:opacity .5s ease-out,-webkit-transform .5s ease-out;transition:opacity .5s ease-out,transform .5s ease-out;transition:opacity .5s ease-out,transform .5s ease-out,-webkit-transform .5s ease-out}.message-page .poem p.visible{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.message-page strong{font-size:36px}.gift-button{-webkit-animation:fadeInButton 1s forwards;animation:fadeInButton 1s forwards;-webkit-animation-delay:1s;animation-delay:1s;background:linear-gradient(45deg,#d8acb2,#e79ea9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:20px;margin-top:20px;opacity:0;padding:15px 30px;transition:background .3s ease}.gift-button:hover{background:linear-gradient(45deg,#ffb6c1,#ffb6c1)}@-webkit-keyframes fadeInButton{to{opacity:1}}@keyframes fadeInButton{to{opacity:1}}.password-form{background-color:hsla(0,0%,100%,.95);border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,.2);max-width:400px;padding:40px;position:relative;text-align:center;width:90%}.password-form label{color:#ca415a;display:block;font-size:24px;font-weight:700;margin-bottom:20px}.password-form input{border:2px solid #ca415a;border-radius:8px;font-size:18px;margin-bottom:20px;outline:none;padding:12px;width:100%}.password-form input:focus{border-color:#d98c98;box-shadow:0 0 5px rgba(217,140,152,.5)}.password-form button{background-color:#ca415a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;padding:12px 24px;transition:background-color .3s ease}.password-form button:hover{background-color:#d98c98}.global-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-logo{cursor:pointer;height:48px;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:48px}.header-logo:hover{-webkit-transform:scale(1.1);transform:scale(1.1)}.project-page{align-items:center;background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;padding:140px 20px 40px;position:relative}.project-header{margin-bottom:40px;max-width:1200px;text-align:center;width:100%}.project-header h1{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#fff,#888);-webkit-background-clip:text;font-family:Courier New,Courier,monospace;font-size:clamp(2rem,5vw,3.5rem);margin-bottom:15px}.project-subtitle{color:#888;font-size:clamp(1rem,2vw,1.2rem);margin-bottom:30px}.project-content{display:flex;flex-direction:column;gap:40px;max-width:1200px;width:100%}.project-showcase{align-items:flex-start;display:flex;gap:40px}.project-carousel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:15px;flex:1.2 1;padding:20px;position:relative}.carousel-container{border-radius:10px;height:600px;overflow:hidden;position:relative;width:100%}.carousel-container img{height:100%;object-fit:contain;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:100%}.carousel-arrow{align-items:center;background:rgba(0,0,0,.7);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:background-color .3s ease;width:40px;z-index:2}.carousel-arrow:hover{background:rgba(0,0,0,.9)}.carousel-arrow.left{left:10px}.carousel-arrow.right{right:10px}.project-info{display:flex;flex:0.8 1;flex-direction:column;gap:30px}.project-description{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:15px;max-height:600px;overflow-y:auto;padding:25px}.project-description p{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:1rem;text-align:justify}.project-description p:last-child{margin-bottom:0}.project-details{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:15px;padding:20px}.detail-section h2{color:var(--text-primary);font-size:1.3rem;margin-bottom:15px}.detail-section ul{list-style:none;margin:0;padding:0}.detail-section li{color:var(--text-secondary);margin-bottom:10px}.detail-section a{color:#71b5c8;text-decoration:none;transition:color .3s ease}.detail-section a:hover{color:#f66}@media (max-width:1024px){.global-header{height:70px;padding:0 25px}.header-logo{height:42px;width:42px}.project-page{padding:130px 20px 40px}.project-showcase{flex-direction:column}.project-carousel{width:100%}.carousel-container{height:400px}.project-description{max-height:none}}@media (max-width:768px){.global-header{height:60px;padding:0 20px}.header-logo{height:34px;width:34px}.project-page{padding:120px 15px 30px}.project-content{gap:30px}.carousel-container{height:300px}.project-description p{font-size:1rem}}@media (max-width:480px){.project-page{padding:50px 10px 20px}.carousel-container{height:250px}.detail-section{padding:15px}}@supports (-webkit-touch-callout:none){.project-page{min-height:-webkit-fill-available}}@media (orientation:landscape) and (max-height:500px){.project-page{padding:70px 20px 30px}.carousel-container{height:200px}}.back-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:none;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Courier New,Courier,monospace;font-size:1rem;gap:8px;left:20px;padding:10px 20px;position:absolute;top:80px;transition:all .3s ease;z-index:100}.back-button:hover{background:hsla(0,0%,100%,.2);-webkit-transform:translateX(-5px);transform:translateX(-5px)}.back-button:active{-webkit-transform:translateX(0);transform:translateX(0)}:root{--bg-primary:#000;--bg-secondary:rgba(0,0,0,.95);--text-primary:#fff;--text-secondary:#aaa;--border-color:hsla(0,0%,100%,.1);--card-bg:hsla(0,0%,100%,.05);--hover-color:#ddd;--menu-bg:#222}.light-mode{--bg-primary:#f5f5f5;--bg-secondary:hsla(0,0%,96%,.95);--text-primary:#333;--text-secondary:#555;--border-color:rgba(0,0,0,.1);--card-bg:rgba(0,0,0,.05);--hover-color:#444;--menu-bg:#fff}.App{padding-bottom:60px;text-align:center}.App,.App-header{background-color:#000;background-color:var(--bg-primary);color:#fff;color:var(--text-primary);min-height:100vh}.App-header{align-items:center;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center}body{font-family:Courier New,Courier,monospace;margin:0}.animated-text{animation:typing 3s steps(23),blink-caret .75s step-end infinite;-webkit-animation:typing 3s steps(23),blink-caret .75s step-end infinite;border-right:2px solid rgba(0,0,0,.75);font-family:Courier New;overflow:hidden;white-space:nowrap}@keyframes typing{0%{width:0}to{width:14ch}}@-webkit-keyframes typing{0%{width:0}to{width:14ch}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:hsla(0,0%,100%,.75)}}@-webkit-keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:hsla(0,0%,100%,.75)}}.hidden-header{display:none}.HamburgerMenu{-webkit-tap-highlight-color:transparent;align-items:center;background-color:hsla(0,0%,100%,.05);background-color:var(--card-bg);border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;height:36px;justify-content:center;padding:8px;text-align:center;width:36px;z-index:1001}.HamburgerMenu div{background-color:#fff;background-color:var(--text-primary);height:2px;margin:3px 0;transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out;width:24px}.HamburgerMenu.animate div:first-child{transform:rotate(45deg) translate(5px,5px);-webkit-transform:rotate(45deg) translate(5px,5px)}.HamburgerMenu.animate div:nth-child(2){opacity:0}.HamburgerMenu.animate div:nth-child(3){transform:rotate(-45deg) translate(7px,-6px);-webkit-transform:rotate(-45deg) translate(7px,-6px)}.Navigation{background-color:#222;background-color:var(--menu-bg,#222);border:1px solid hsla(0,0%,100%,.1);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);display:none;min-width:200px;padding:10px 0;position:fixed;right:10px;text-align:left;top:70px;z-index:1000}.Navigation.active{display:block}.Navigation ul{list-style:none;margin:0;padding:0}.Navigation li{border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color);padding:12px 20px}.Navigation li:last-child{border-bottom:none}.Navigation li a{color:#fff;color:var(--text-primary);display:block;font-size:16px;padding:4px 0;text-decoration:none;transition:color .3s ease;-webkit-transition:color .3s ease}.Navigation li a:hover{color:#ddd;color:var(--hover-color)}.Navigation a{-webkit-tap-highlight-color:transparent;background-color:initial;border-radius:5px;color:#fff;color:var(--text-primary);font-family:Courier New,Courier,monospace;font-size:calc(8px + 1vmin);padding:.5rem 1rem;text-decoration:underline;transition:color .3s ease;-webkit-transition:color .3s ease}.Navigation a:hover{cursor:pointer;font-weight:700}@media (max-width:768px){.Navigation{max-width:300px;right:10px;top:60px;width:calc(100% - 20px)}.Navigation li{padding:15px 20px}}@media (max-width:480px){.Navigation{top:60px;width:calc(100% - 20px)}.Navigation li{padding:12px 20px}}.header-logo img{height:48px;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:48px}.header-logo:hover img{-webkit-transform:scale(1.1);transform:scale(1.1)}@media (max-width:1024px){.header-logo img{height:42px;width:42px}}@media (max-width:768px){.header-logo img{height:34px;width:34px}}.global-header{align-items:center;background:rgba(0,0,0,.95);background:var(--bg-secondary);border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color);display:flex;height:80px;justify-content:space-between;left:0;padding:0 30px;position:fixed;right:0;top:0;z-index:1000}.articles-container,.projects-container{padding-bottom:60px;padding-top:120px}@media (max-width:768px){.articles-container,.projects-container{padding-bottom:60px;padding-top:100px}}@media (max-width:480px){.articles-container,.projects-container{padding-bottom:60px;padding-top:100px}}.locked-footer{align-items:center;background:rgba(0,0,0,.95);background:var(--bg-secondary);border-top:1px solid hsla(0,0%,100%,.1);border-top:1px solid var(--border-color);bottom:0;color:#fff;color:var(--text-primary);display:flex;font-family:Courier New,Courier,monospace;font-size:1rem;height:44px;justify-content:center;left:0;position:fixed;right:0;text-align:center;z-index:1000}.header-controls{gap:15px}.header-controls,.theme-toggle{align-items:center;display:flex}.theme-toggle{-webkit-tap-highlight-color:transparent;background:none;border:none;border-radius:50%;cursor:pointer;font-size:24px;justify-content:center;padding:8px;transition:background-color .3s ease}.theme-toggle:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--card-bg)}
/*# sourceMappingURL=main.1cdf9f07.css.map*/