*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0a0a0a}#app{position:relative;width:100%;height:100%}#loader{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:999;transition:opacity .6s ease}#loader.fade-out{opacity:0;pointer-events:none}.loader-inner{display:flex;flex-direction:column;align-items:center;gap:20px}.loader-text{font-family:"Jersey 10",sans-serif;font-size:1.6rem;letter-spacing:.5em;color:#8cff8cd9}.loader-dots{display:flex;gap:10px}.loader-dots span{width:6px;height:6px;background:#78ff78b3;border-radius:50%;box-shadow:0 0 8px #50ff5080}#start{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000;z-index:100;opacity:1;transition:opacity 1s ease;pointer-events:auto}#start.fade-out{opacity:0;pointer-events:none}#start-btn{background:none;border:1px solid rgba(140,255,140,.4);color:#b4ffb4d9;font-family:"Jersey 10",sans-serif;font-size:3rem;letter-spacing:.4em;padding:16px 56px;cursor:pointer;transition:border-color .3s,color .3s,box-shadow .3s}#start-btn:hover{border-color:#8cff8ce6;color:#dcffdc;box-shadow:0 0 28px #64ff6433}#back-btn{position:fixed;bottom:36px;left:50%;transform:translate(-50%);background:none;border:1px solid rgba(140,255,140,.25);color:#b4ffb499;font-family:"Jersey 10",sans-serif;font-size:1.3rem;letter-spacing:.3em;padding:10px 32px;cursor:pointer;z-index:20;opacity:1;transition:opacity .3s,border-color .3s,color .3s;pointer-events:auto}#back-btn:hover{border-color:#8cff8cb3;color:#dcffdcf2}#back-btn.hidden{opacity:0;pointer-events:none}#bottom-tag{position:fixed;bottom:48px;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;z-index:10;opacity:1;transition:opacity .6s ease}#bottom-tag.hidden{opacity:0}.bottom-tag-name{font-family:"Jersey 10",sans-serif;font-size:2.8rem;font-weight:400;color:#e3d6e4eb;text-shadow:2px 2px 0 rgb(59,54,54);letter-spacing:.04em;margin-bottom:10px}.bottom-tag-roles{display:flex;flex-direction:column;gap:4px}.bottom-tag-roles span{font-family:Courier New,monospace;font-size:1rem;letter-spacing:.18em;color:#46bd5a;text-transform:uppercase}.panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,80vw);max-height:72vh;overflow-y:auto;background:#040c04f0;border:1px solid rgba(120,220,120,.12);padding:36px 40px 40px;font-family:Courier New,monospace;color:#ffffffd1;z-index:50;transition:opacity .28s ease,transform .28s ease;scrollbar-width:none}.panel::-webkit-scrollbar{display:none}.panel--hidden{opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 10px))}#panel-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#ffffff47;font-family:"Jersey 10",sans-serif;font-size:.7rem;letter-spacing:.14em;cursor:pointer;padding:4px 8px;transition:color .2s}#panel-close:hover{color:#ffffffb3}.panel-tag{font-family:"Jersey 10",sans-serif;font-size:.72rem;letter-spacing:.22em;color:#ffffff47;margin-bottom:18px}.panel-title{font-family:"Jersey 10",sans-serif;font-size:2.4rem;font-weight:300;color:#ffffffe6;margin-bottom:18px;line-height:1.1}.panel-body{font-size:.82rem;line-height:1.7;color:#ffffff7a;margin-bottom:28px}.panel-skills{display:flex;flex-direction:column;gap:18px}.skill-category{font-size:.66rem;letter-spacing:.18em;color:#ffffff3d;margin-bottom:5px}.skill-items{font-size:.86rem;color:#ffffffad}.panel-links{display:flex;flex-direction:column;gap:14px;margin-top:8px}.contact-link{font-size:1rem;color:#fff9;text-decoration:none;transition:color .2s;letter-spacing:.04em}.contact-link:hover{color:#a0ffa0e6}.panel-projects{display:flex;flex-direction:column;gap:22px}.project-name{font-size:1rem;color:#ffffffd9;margin-bottom:4px}.project-desc{font-size:.78rem;color:#ffffff6b;margin-bottom:8px;line-height:1.6}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tag{font-size:.65rem;letter-spacing:.12em;color:#a0ffa080;border:1px solid rgba(160,255,160,.2);padding:2px 8px}.project-link{font-size:.82rem;color:#ffffff80;text-decoration:none;transition:color .2s}.project-link:hover{color:#a0ffa0e6}.screen-preview{width:1300px;height:800px;display:flex;align-items:center;justify-content:center;font-family:"Jersey 10",sans-serif;letter-spacing:.28rem;font-size:350px;color:#b4ffb4e6;text-shadow:0 0 30px rgba(100,255,100,.5);pointer-events:none}.screen-overlay{width:1300px;height:800px;padding:80px 100px;background:transparent;font-family:Courier New,monospace;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;pointer-events:none}.screen-overlay a{pointer-events:none}.screen-overlay.active a{pointer-events:auto;cursor:pointer}.screen-tag{font-size:36px;letter-spacing:.28em;color:#64dc6473;margin-bottom:24px;text-shadow:0 0 12px rgba(80,255,80,.3)}.screen-title{font-family:"Jersey 10",sans-serif;font-size:110px;font-weight:400;color:#b4ffb4f2;margin-bottom:36px;line-height:1.05;text-shadow:0 0 20px rgba(100,255,100,.5)}.screen-body{font-size:46px;line-height:1.65;color:#78dc78a6;margin-bottom:48px;text-shadow:0 0 8px rgba(80,200,80,.3)}.screen-skills{display:flex;flex-direction:column;gap:28px}.screen-skills .skill-category{font-size:30px;letter-spacing:.2em;color:#64c86466;margin-bottom:6px}.screen-skills .skill-items{font-size:42px;color:#8cff8ccc;text-shadow:0 0 10px rgba(80,220,80,.35)}.screen-links{display:flex;flex-direction:column;gap:28px;margin-top:16px}.screen-links .contact-link{font-size:58px;color:#78ff78b3;text-decoration:none;letter-spacing:.06em;transition:color .2s,text-shadow .2s;text-shadow:0 0 12px rgba(80,220,80,.3)}.screen-links .contact-link:hover{color:#c8ffc8;text-shadow:0 0 24px rgba(100,255,100,.8)}.screen-projects{display:flex;flex-direction:column;gap:36px}.screen-projects .project-name{font-size:52px;color:#a0ffa0e6;text-shadow:0 0 12px rgba(80,220,80,.4)}.screen-projects .project-desc{font-size:36px;color:#64c8648c;line-height:1.5}.screen-projects .project-tags{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.screen-projects .tag{font-size:28px;letter-spacing:.12em;color:#64dc648c;border:1px solid rgba(100,200,100,.25);padding:4px 16px}.screen-projects .project-link{font-size:38px;color:#78ff7899;text-decoration:none;transition:color .2s,text-shadow .2s;text-shadow:0 0 10px rgba(80,200,80,.25)}.screen-projects .project-link:hover{color:#c8ffc8;text-shadow:0 0 20px rgba(100,255,100,.7)}.carousel-wrapper{display:flex;flex-direction:column;width:100%}.carousel-slide{display:none}.carousel-slide--active{display:block}.carousel-nav{display:flex;align-items:center;gap:48px;margin-top:48px}.carousel-prev,.carousel-next{background:none;border:1px solid rgba(140,255,140,.3);color:#b4ffb4bf;font-family:"Jersey 10",sans-serif;font-size:64px;line-height:1;padding:10px 40px;cursor:pointer;pointer-events:none;transition:border-color .2s,color .2s,box-shadow .2s}.screen-overlay.active .carousel-prev,.screen-overlay.active .carousel-next{pointer-events:auto}.carousel-prev:hover,.carousel-next:hover{border-color:#8cff8ccc;color:#dcffdc;box-shadow:0 0 20px #50ff5033}.carousel-counter{font-family:Courier New,monospace;font-size:40px;color:#64c86473;letter-spacing:.12em}
