@font-face{font-family:'Fira Code';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/FiraCode-Regular.woff2) format('woff2');}
@font-face{font-family:'Vazir';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/Vazirmatn-Regular.woff2) format('woff2');}
:root{--bg-dark:#0c0c0c;--text-light:#e0e0e0;--text-dark:#000000;--accent:#00ff41;--accent-glow:rgba(0,255,65,0.4);--line-color:rgba(0,255,65,0.05);--card-bg:rgba(18,18,18,0.85);--border-color:#2a2a2a;--terminal-header:#141414;--noise-opacity:0.15;--bg-gradient:none;--card-shadow:0 10px 30px rgba(0,0,0,0.2);--border-glow:none;--text-shadow:none;--accent-secondary:var(--accent);--card-hover-transform:translateY(-5px);--scanline-opacity:0.8;}
[data-theme="light"]{--bg-dark:#f4f4f5;--text-light:#18181b;--text-dark:#f4f4f5;--line-color:rgba(0,0,0,0.05);--card-bg:rgba(255,255,255,0.85);--border-color:#d4d4d8;--terminal-header:#e4e4e7;--noise-opacity:0.05;}
*{margin:0;padding:0;box-sizing:border-box;transition:background-color 0.4s ease,border-color 0.4s ease,box-shadow 0.4s ease,color 0.4s ease;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-dark);font-family:'Fira Code','Vazir';}
img,a{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;}
html{scroll-behavior:smooth;scroll-snap-type:y mandatory;}
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--bg-dark);border-left:1px solid var(--border-color);}
::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--accent);}
body{background-color:var(--bg-dark);color:var(--text-light);overflow-x:hidden;cursor:none;}
a,button,input,.social-link,.control-btn,.color-swatch,.cursor-btn{cursor:none!important;}
.custom-cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:100001;transform:translate(-50%,-50%);transition:width 0.2s,height 0.2s,background-color 0.2s,transform 0.2s,border-radius 0.2s;}
.custom-cursor-outline{position:fixed;top:0;left:0;width:34px;height:34px;border:1.5px solid var(--accent);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:width 0.2s,height 0.2s,background-color 0.2s,border-radius 0.2s,opacity 0.2s;}
body[data-cursor="block"] .custom-cursor-dot{width:4px;height:20px;border-radius:0;animation:blockBlink 1s infinite;}
body[data-cursor="block"] .custom-cursor-outline{display:none!important;}
body[data-cursor="native"],body[data-cursor="native"] *{cursor:auto!important;}
body[data-cursor="native"] a,body[data-cursor="native"] button,body[data-cursor="native"] .control-btn,body[data-cursor="native"] .social-link,body[data-cursor="native"] .color-swatch,body[data-cursor="native"] .cursor-btn{cursor:pointer!important;}
body[data-cursor="native"] .custom-cursor-dot,body[data-cursor="native"] .custom-cursor-outline{display:none!important;}
body.dragging-active,body.dragging-active *{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;}
.programming-pattern{position:fixed;top:0;left:0;width:100vw;height:100vh;background-size:40px 40px;background-image:linear-gradient(to right,var(--border-color) 1px,transparent 1px),linear-gradient(to bottom,var(--border-color) 1px,transparent 1px);opacity:0.5;z-index:0;pointer-events:none;}
.scan-lines{position:fixed;top:0;left:0;width:100vw;height:100vh;background:repeating-linear-gradient(to bottom,transparent,transparent 2px,var(--line-color) 3px,var(--line-color) 4px);z-index:0;pointer-events:none;opacity:var(--scanline-opacity);}
#noiseCanvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10;pointer-events:none;opacity:0;transition:opacity 0.2s ease;}
#noiseCanvas.active{opacity:var(--noise-opacity);}
#nav-container{position:fixed;z-index:20;bottom:30px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:var(--card-bg);padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;backdrop-filter:blur(6px);will-change:transform;}
#sequence-indicator{font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-light);white-space:nowrap;will-change:transform;}
.nav-arrow{background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--accent);padding:6px;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;will-change:transform;}
.nav-arrow:hover{background:var(--accent);border-color:var(--accent);color:var(--text-dark);box-shadow:0 0 12px var(--accent-glow);}
.nav-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;}
.top-controls{position:fixed;top:20px;right:20px;display:flex;flex-wrap:wrap;gap:10px;z-index:40;justify-content:flex-end;max-width:calc(100vw - 40px);}
.control-btn{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-light);padding:10px 15px;font-family:inherit;border-radius:4px;backdrop-filter:blur(4px);font-size:0.8rem;letter-spacing:1px;text-transform:uppercase;will-change:transform;}
.control-btn:hover{border-color:var(--accent);color:var(--text-dark);background:var(--accent);box-shadow:0 0 15px var(--accent-glow);}
.control-btn.active{background:var(--accent);color:var(--text-dark);box-shadow:0 0 15px var(--accent-glow);}
#settings-panel{position:fixed;top:70px;right:20px;background:var(--card-bg);border:1px solid var(--border-color);padding:25px;border-radius:6px;z-index:100;backdrop-filter:blur(10px);width:280px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:20px;transform:translateY(-20px);opacity:0;pointer-events:none;transition:transform 0.3s ease,opacity 0.3s ease,border-color 0.4s;}
#settings-panel.active{transform:translateY(0);opacity:1;pointer-events:auto;border-color:var(--accent);box-shadow:var(--card-shadow),var(--border-glow);}
.settings-section-title{font-size:0.85rem;color:var(--text-light);letter-spacing:2px;text-transform:uppercase;border-bottom:1px dashed var(--border-color);padding-bottom:5px;margin-bottom:10px;opacity:0.8;}
.color-swatches{display:flex;gap:10px;flex-wrap:wrap;}
.color-swatch{width:25px;height:25px;border-radius:50%;border:2px solid transparent;transition:transform 0.2s,box-shadow 0.2s;}
.color-swatch:hover{transform:scale(1.1);}
.color-swatch.active{border-color:var(--text-light);transform:scale(1.1);}
.cursor-options{display:flex;flex-direction:column;gap:8px;}
.cursor-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-light);padding:8px 12px;text-align:left;font-family:inherit;font-size:0.8rem;border-radius:4px;letter-spacing:1px;transition:all 0.2s;}
.cursor-btn:hover{border-color:var(--accent);color:var(--accent);}
.cursor-btn.active{background:var(--accent);color:var(--text-dark);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow);}
.scene{height:100vh;width:100vw;scroll-snap-align:start;position:relative;z-index:5;display:flex;align-items:center;justify-content:center;padding:20px 50px;will-change:transform;}
.scene-heading{font-size:2rem;letter-spacing:2px;margin-bottom:30px;text-transform:uppercase;min-height:40px;border-right:12px solid var(--accent);padding-right:8px;animation:blinkCursor 0.9s step-end infinite;display:inline-block;font-weight:600;text-shadow:var(--text-shadow);}
.about-container{display:flex;align-items:center;justify-content:space-between;max-width:1100px;width:100%;gap:40px;}
.about-text{flex:1;}
.scene-title{font-size:0.95rem;color:var(--accent);letter-spacing:2px;margin-bottom:15px;text-transform:uppercase;display:inline-block;border-bottom:1px dashed var(--border-color);padding-bottom:5px;}
.scene-title::before{content:'~/ ';color:var(--text-light);font-weight:bold;}
.about-title{font-size:2.2rem;letter-spacing:1px;text-shadow:var(--text-shadow);}
.about-desc{font-size:1rem;line-height:1.8;color:var(--text-light);opacity:0.9;margin-bottom:30px;background:var(--card-bg);padding:25px;border-radius:6px;border-left:3px solid var(--accent);backdrop-filter:blur(5px);}
.about-image-wrapper{flex:1;display:flex;justify-content:center;}
.terminal-window{background-color:var(--bg-dark);width:100%;max-width:450px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:var(--card-shadow);}
.terminal-header{background:var(--terminal-header);border-bottom:1px solid var(--border-color);padding:10px 15px;display:flex;gap:8px;align-items:center;}
.terminal-dot{width:12px;height:12px;border-radius:50%;}
.terminal-dot:nth-child(1){background:#ff5f56;}
.terminal-dot:nth-child(2){background:#ffbd2e;}
.terminal-dot:nth-child(3){background:#27c93f;}
.terminal-window img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--border-color);filter:grayscale(40%) sepia(10%) contrast(120%) brightness(0.8);transition:filter 0.4s;}
.terminal-window:hover img{filter:grayscale(0%) contrast(110%) brightness(1);}
.terminal-code{padding:15px 20px;font-size:0.85rem;color:var(--text-light);opacity:0.8;line-height:1.6;background:var(--bg-dark);}
.scroll-btn{background:transparent;color:var(--accent);border:1px solid var(--accent);padding:12px 25px;font-family:inherit;font-size:0.95rem;border-radius:4px;text-transform:uppercase;letter-spacing:2px;display:inline-flex;align-items:center;gap:10px;}
.scroll-btn:hover{background:var(--accent);color:var(--text-dark);box-shadow:0 0 20px var(--accent-glow);}
.scroll-btn span{animation:bounce 2s infinite;}
.portfolio-container{width:100%;display:flex;flex-direction:column;align-items:center;}
.monitor-screen{width:90%;max-width:900px;aspect-ratio:16 / 9;background-color:var(--bg-dark);position:relative;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 15px 35px rgba(0,0,0,0.3);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.slide{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity 0.6s ease,transform 0.6s ease;}
.slide.active{opacity:1;transform:scale(1);}
.monitor-screen::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:20%;background:linear-gradient(to bottom,transparent,rgba(var(--accent-secondary),0.2),transparent);animation:scanline 3.5s linear infinite;z-index:10;pointer-events:none;}
.controls{margin-top:30px;display:flex;gap:20px;flex-wrap:wrap;justify-content:center;}
.skills-container{width:100%;max-width:1100px;display:flex;flex-direction:column;align-items:center;}
.skills-category{width:100%;margin-bottom:40px;}
.category-title{font-size:1rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:20px;padding-left:15px;border-left:3px solid var(--accent);opacity:0.9;}
.skills-grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.skill-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:20px;position:relative;overflow:hidden;backdrop-filter:blur(5px);transition:all 0.4s cubic-bezier(0.25,1,0.5,1);display:flex;flex-direction:column;justify-content:center;box-shadow:var(--card-shadow);}
.skill-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--accent);opacity:0;transition:opacity 0.4s ease;box-shadow:0 0 15px var(--accent-glow);}
.skill-card:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:var(--card-shadow),var(--border-glow);}
.skill-card:hover::before{opacity:1;}
.skill-header{display:flex;align-items:center;gap:12px;font-size:0.95rem;color:var(--text-light);letter-spacing:1px;transition:color 0.3s;}
.skill-icon{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.skill-icon svg{width:28px;height:28px;fill:var(--accent);stroke:var(--accent);transition:all 0.3s ease;}
.skill-card:hover .skill-icon svg{filter:drop-shadow(0 0 8px var(--accent-glow));}
.skill-details{max-height:0;opacity:0;overflow:hidden;transition:max-height 0.5s cubic-bezier(0.25,1,0.5,1),opacity 0.4s ease,margin-top 0.4s ease;}
.skill-card:hover .skill-details{max-height:80px;opacity:1;margin-top:15px;}
.skill-desc{font-size:0.75rem;color:var(--text-light);opacity:0.6;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;}
.skill-bar{width:100%;height:6px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:10px;position:relative;overflow:hidden;}
.skill-fill{height:100%;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);position:absolute;left:0;top:0;transition:width 1.5s cubic-bezier(0.22,1,0.36,1);width:0;}
.contact-container{text-align:center;max-width:750px;width:100%;}
.dossier-card{border:1px solid var(--border-color);border-radius:8px;padding:60px 40px;background:var(--card-bg);position:relative;margin-top:30px;backdrop-filter:blur(5px);box-shadow:var(--card-shadow);}
.dossier-card:hover{box-shadow:var(--card-shadow),var(--border-glow);}
.contact-email{font-size:1.6rem;margin-bottom:40px;letter-spacing:2px;color:var(--text-light);text-decoration:none;display:inline-flex;align-items:center;gap:15px;border-bottom:2px solid transparent;padding-bottom:5px;transition:all 0.3s;}
.contact-email:hover{color:var(--accent);border-color:var(--accent);text-shadow:0 0 15px var(--accent-glow);}
.contact-email svg{width:24px;height:24px;stroke:var(--accent);}
.social-links{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;}
.social-link{color:var(--text-light);text-decoration:none;border:1px solid var(--border-color);background:var(--bg-dark);height:50px;width:50px;border-radius:25px;display:flex;align-items:center;justify-content:flex-start;transition:all 0.4s cubic-bezier(0.25,1,0.5,1);overflow:hidden;position:relative;}
.social-link svg{min-width:22px;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:all 0.4s cubic-bezier(0.25,1,0.5,1);position:absolute;left:50%;transform:translateX(-50%);}
.social-link::after{content:attr(title);font-size:0.85rem;letter-spacing:1px;color:var(--text-dark);opacity:0;white-space:nowrap;margin-left:45px;transform:translateX(10px);transition:all 0.4s cubic-bezier(0.25,1,0.5,1);}
.social-link:hover{background:var(--accent);border-color:var(--accent);color:var(--text-dark);width:140px;box-shadow:0 8px 20px var(--accent-glow);}
.social-link:hover svg{left:15px;transform:translateX(0);}
.social-link:hover::after{opacity:1;transform:translateX(0);}
.footer-scene{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}
.end-credits{display:flex;flex-direction:column;}
.end-credits p{color:var(--text-light);opacity:0.7;letter-spacing:3px;font-size:0.95rem;margin-bottom:8px;}
.copyright{font-size:0.8rem!important;opacity:0.5!important;}
.code-highlight{background:var(--border-color);padding:2px 6px;border-radius:4px;color:var(--accent);}
.audio-toggle-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-light);padding:8px 12px;font-family:inherit;font-size:0.8rem;border-radius:4px;letter-spacing:1px;transition:all 0.2s;width:100%;text-align:center;cursor:none;}
.audio-toggle-btn:hover{border-color:var(--accent);color:var(--accent);}
.audio-toggle-btn.active{background:var(--accent);color:var(--text-dark);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow);}
.volume-slider-container{display:flex;align-items:center;gap:10px;margin-top:10px;}
.volume-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:10px;outline:none;cursor:none;}
.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent);border:1px solid var(--accent-glow);border-radius:50%;box-shadow:0 0 6px var(--accent-glow);transition:0.2s;}
.volume-slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border:1px solid var(--accent-glow);border-radius:50%;box-shadow:0 0 6px var(--accent-glow);}
#settings-btn.attention{animation:pulse-attention 1.8s ease-in-out infinite;}
#system-loader{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-dark);z-index:99999;display:flex;align-items:center;justify-content:center;transition:opacity 0.6s ease,visibility 0.6s ease;opacity:1;visibility:visible;}
#system-loader.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.loader-terminal{width:90%;max-width:480px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.5),0 0 20px var(--line-color);backdrop-filter:blur(8px);}
.loader-terminal .terminal-header{background:var(--terminal-header);padding:10px 15px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--border-color);}
.loader-content{padding:20px;font-size:0.85rem;color:var(--text-light);opacity:0.9;}
.loader-line{margin-bottom:12px;letter-spacing:0.5px;}
.prompt{color:var(--accent);margin-right:8px;}
.loader-progress-container{display:flex;align-items:center;gap:12px;margin:20px 0;}
.loader-progress-bar{width:0%;height:4px;background:var(--accent);border-radius:2px;box-shadow:0 0 8px var(--accent-glow);transition:width 0.3s linear;}
.loader-percent{color:var(--accent);font-size:0.8rem;min-width:40px;}
.loader-start-btn{margin-top:15px;width:100%;padding:12px;background:transparent;border:1px solid var(--border-color);color:var(--text-light);font-family:inherit;font-size:0.85rem;letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;cursor:none;opacity:0.5;transition:all 0.3s ease;pointer-events:none;}
.loader-start-btn:disabled{opacity:0.4;color:#555;border-color:#333;}
.loader-start-btn.active{opacity:1;pointer-events:auto;border-color:var(--accent);color:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse-attention 1.8s ease-in-out infinite;}
.loader-start-btn.active:hover{background:var(--accent);color:var(--text-dark);box-shadow:0 0 15px var(--accent-glow);}
.light-wave{position:fixed;top:0;left:0;width:200%;height:100vh;z-index:1;pointer-events:none;animation:waveMove 10s linear infinite;}
.light-wave::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 40%,var(--accent) 50%,transparent 60%);opacity:0.04;}
.lang-btn,.track-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-light);padding:8px 12px;font-family:inherit;font-size:0.8rem;border-radius:4px;letter-spacing:1px;transition:all 0.2s;width:100%;text-align:left;margin-top:8px;display:block;}
.lang-btn:hover,.track-btn:hover{border-color:var(--accent);color:var(--accent);}
.lang-btn.active,.track-btn.active{background:var(--accent);color:var(--text-dark);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow);}
.track-btn.loading{opacity:0.7;pointer-events:none;animation:pulse-attention 1.2s ease-in-out infinite;color:var(--accent);border-color:var(--accent);}
.click-ripple{position:fixed;border:1px solid var(--accent);border-radius:50%;pointer-events:none;z-index:99998;animation:clickRippleOut 0.45s ease-out forwards;box-shadow:0 0 8px var(--accent-glow);}
.slide-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.4s cubic-bezier(0.25,1,0.5,1),visibility 0.4s;border:1px solid transparent;border-radius:8px;z-index:15;}
.monitor-screen:hover .slide-overlay{opacity:1;visibility:visible;border-color:var(--accent);box-shadow:inset 0 0 30px var(--accent-glow),0 0 20px rgba(0,0,0,0.5);}
.overlay-content{text-align:center;padding:30px;max-width:85%;transform:translateY(10px);transition:transform 0.4s ease;}
.monitor-screen:hover .overlay-content{transform:translateY(0);}
.overlay-desc{font-size:1rem;color:var(--text-light);line-height:1.7;margin-bottom:25px;letter-spacing:0.5px;opacity:0.9;text-shadow:0 0 10px rgba(0,0,0,0.5);}
.overlay-link{display:inline-block;padding:12px 24px;border:1px solid var(--accent);color:var(--accent);font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border-radius:4px;background:rgba(0,0,0,0.3);transition:all 0.3s ease;backdrop-filter:blur(4px);}
.overlay-link:hover{background:var(--accent);color:var(--text-dark);box-shadow:0 0 20px var(--accent-glow);border-color:var(--accent);}
#theme-panel{position:fixed;top:70px;right:20px;background:var(--card-bg);border:1px solid var(--border-color);padding:25px;border-radius:6px;z-index:100;backdrop-filter:blur(10px);width:280px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:15px;transform:translateY(-20px);opacity:0;pointer-events:none;transition:transform 0.3s ease,opacity 0.3s ease,border-color 0.4s;}
#theme-panel.active{transform:translateY(0);opacity:1;pointer-events:auto;border-color:var(--accent);box-shadow:var(--card-shadow),var(--border-glow);}
.theme-mode-buttons{display:flex;gap:8px;}
.theme-mode-btn{flex:1;background:transparent;border:1px solid var(--border-color);color:var(--text-light);padding:8px 0;font-family:inherit;font-size:0.8rem;letter-spacing:1px;border-radius:4px;transition:all 0.2s;}
.theme-mode-btn:hover{border-color:var(--accent);color:var(--accent);}
.theme-mode-btn.active{background:var(--accent);color:var(--text-dark);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow);}
.preset-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-light);padding:10px 12px;text-align:left;font-family:inherit;font-size:0.85rem;border-radius:4px;letter-spacing:1px;transition:all 0.2s;margin-bottom:5px;}
.preset-btn:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 8px var(--accent-glow);}
.preset-btn.active{background:var(--accent);color:var(--text-dark);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);}
body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-gradient);pointer-events:none;z-index:0;}
#scene-contact{display:flex;flex-direction:column;gap:4rem;}
.mouse-glow {position: fixed;left: 0;top: 0;width: 500px;height: 500px;pointer-events: none;z-index: 1;border-radius: 50%;background: radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);opacity: 0.1;transform: translate(-50%, -50%);transition: left 0.08s ease-out, top 0.08s ease-out;will-change: left, top;}
#custom-context-menu{position:fixed;z-index:100001;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:8px 0;min-width:200px;backdrop-filter:blur(12px);box-shadow:var(--card-shadow),0 0 25px rgba(0,0,0,0.6);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity 0.15s ease,transform 0.15s ease;font-family:'Fira Code','Vazir',monospace;font-size:0.85rem;letter-spacing:1px;}
#custom-context-menu.active{opacity:1;transform:translateY(0);pointer-events:auto;border-color:var(--accent);box-shadow:var(--card-shadow),var(--border-glow),0 0 30px rgba(0,0,0,0.8);}
.context-menu-item{display:block;width:100%;text-align:left;padding:10px 20px;background:transparent;border:none;color:var(--text-light);cursor:none;transition: 0.2s;font-family:inherit;font-size:0.8rem;letter-spacing:1.5px;text-transform:uppercase;position:relative;}
.context-menu-item:hover{background:var(--accent);color:var(--text-dark);padding-left:28px;box-shadow:inset 0 0 12px rgba(0,0,0,0.3);}.context-menu-item::before{content:'>';position:absolute;left:10px;opacity:0;transform:translateX(-10px);transition:all 0.2s ease;color:var(--text-dark);}
.context-menu-item:hover::before{opacity:1;transform:translateX(0);}.context-menu-divider{height:1px;background:var(--border-color);margin:5px 10px;opacity:0.6;}
.element-deleting{animation:deleteFadeOut 0.5s cubic-bezier(0.4,0,0.2,1) forwards;pointer-events:none!important;user-select:none!important;}
body.rtl .farsi{text-align: right;direction: rtl;}
body.rtl .reverse{flex-direction: row-reverse;}
body.rtl .scene-heading,body.rtl .auto-typewriter {border-right: none !important;border-left: 12px solid var(--accent);padding-right: 0;padding-left: 8px;text-align: right;direction: rtl;}
body.rtl .category-title {padding: 0;border: 0;padding-right: 15px;border-right: 3px solid var(--accent);}
body.rtl .about-desc {border: 0;border-right: 3px solid var(--accent);text-align: right;}
body.rtl .social-link::after{margin: 0;margin-right:25px;}
@keyframes waveMove{0%{transform:translateX(-50%);}100%{transform:translateX(0%);}}
@keyframes pulse-attention{0%,100%{box-shadow:0 0 5px var(--accent-glow);border-color:var(--border-color);transform:scale(1);}50%{box-shadow:0 0 12px var(--accent-glow),0 0 20px rgba(0,255,65,0.15);border-color:var(--accent);transform:scale(1.02);}}
@keyframes clickRippleOut{0%{width:0;height:0;opacity:0.7;transform:translate(-50%,-50%) scale(0);}100%{width:80px;height:80px;opacity:0;transform:translate(-50%,-50%) scale(1);}}
@keyframes blockBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes blinkCursor{from,to{border-color:transparent}50%{border-color:var(--accent)}}
@keyframes deleteFadeOut{0%{opacity:1;transform:scale(1);filter:blur(0) brightness(1);}30%{transform:scale(1.02);filter:blur(0.5px) brightness(1.2);}100%{opacity:0;transform:scale(0.85) translateY(-10px);filter:blur(6px) brightness(0.4);}}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(5px)}60%{transform:translateY(3px)}}
@media (pointer: coarse){.custom-cursor-dot,.custom-cursor-outline{display:none!important;}body,a,button,input,.social-link,.control-btn{cursor:auto!important;}}
@media(max-width:1024px){.scene{padding:30px 35px}.about-container{gap:25px}.about-text{flex:1.1}.about-title{font-size:1.9rem}.about-desc{font-size:0.92rem;padding:18px 20px}.terminal-window{max-width:360px}.scene-heading{font-size:1.5rem;margin-bottom:25px}.scene-title{font-size:0.9rem;margin-bottom:12px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:15px}.skill-card{padding:18px}.skill-header{font-size:0.9rem;gap:10px}.skill-icon{width:26px;height:26px}.skill-icon svg{width:26px;height:26px}.skill-desc{font-size:0.7rem}.skill-bar{height:5px}.monitor-screen{width:92%;aspect-ratio:16/9}.overlay-desc{font-size:0.95rem}.overlay-link{font-size:0.8rem;padding:10px 20px}.controls{margin-top:25px;gap:18px}.control-btn{padding:9px 16px;font-size:0.8rem}.dossier-card{padding:45px 30px}.contact-email{font-size:1.35rem;gap:12px}.social-link{width:46px;height:46px}.social-link svg{width:20px;height:20px;min-width:20px}.scroll-btn{padding:11px 22px;font-size:0.9rem}.top-controls{gap:8px;right:15px;top:15px}#nav-container{padding:7px 10px;bottom:25px}#sequence-indicator{font-size:0.8rem}.nav-arrow svg{width:17px;height:17px}#settings-panel,#theme-panel{width:250px;padding:22px;top:65px;right:15px}.settings-section-title{font-size:0.8rem}.lang-btn,.track-btn,.preset-btn,.cursor-btn{font-size:0.78rem;padding:7px 10px}.color-swatch{width:23px;height:23px}.volume-slider{height:5px}.volume-slider::-webkit-slider-thumb{width:14px;height:14px}}
@media(max-width:768px){.hide{display: none !important;}.scene{padding:25px 20px}.about-container{flex-direction:column;gap:25px;text-align:center}.about-image-wrapper{order:-1;max-width: 40%;}.about-text{align-items:center;display:flex;flex-direction:column}.about-title{font-size:1.7rem}.about-desc{font-size:0.9rem;padding:16px;text-align:left;line-height:1.7}.terminal-window{max-width:100%;margin-bottom:15px}.terminal-code{font-size:0.78rem;padding:12px 15px}.scene-heading{font-size:1.25rem;margin-bottom:20px}.scene-title{font-size:0.85rem}.skills-grid{grid-template-columns:repeat(2,1fr);gap:15px}.skill-card{padding:15px}.skill-header{font-size:0.85rem}.skill-icon{width:24px;height:24px}.skill-icon svg{width:24px;height:24px}.skill-desc{font-size:.7rem}.skill-bar{height:4px}.controls{margin-top:22px;gap:12px;flex-wrap:wrap}.control-btn{padding:8px 14px;font-size:0.75rem}.monitor-screen{width:100%;aspect-ratio:16/10}.overlay-content{padding:20px}.overlay-desc{font-size:0.85rem;line-height:1.5;margin-bottom:20px}.overlay-link{font-size:0.78rem;padding:9px 18px}.dossier-card{padding:35px 18px}.contact-email{font-size:1.15rem;flex-wrap:wrap;justify-content:center}.contact-email svg{width:19px;height:19px}.social-links{gap:10px}.social-link{width:42px;height:42px}.social-link svg{width:19px;height:19px;min-width:19px}.social-link:hover{width:42px}.social-link::after{display:none}.scroll-btn{padding:10px 20px;font-size:0.85rem}.end-credits p{font-size:0.8rem}.copyright{font-size:0.7rem!important}.top-controls{gap:6px;right:10px;top:10px}.control-btn{padding:7px 10px;font-size:.7rem}#nav-container{padding:6px 8px;gap:6px;bottom:18px;border-radius:5px}#sequence-indicator{font-size:0.7rem}.nav-arrow{padding:5px}.nav-arrow svg{width:15px;height:15px}#settings-panel,#theme-panel{width:230px;padding:18px;right:8px;top:55px;gap:12px}.settings-section-title{font-size:0.75rem}.lang-btn,.track-btn,.preset-btn,.cursor-btn{font-size:0.75rem;padding:6px 8px}.color-swatch{width:20px;height:20px}.volume-slider{height:4px}.volume-slider::-webkit-slider-thumb{width:12px;height:12px}.audio-toggle-btn{font-size:0.75rem;padding:7px 10px}.skills-category{margin-bottom: 24px;}}
@media(max-width:425px){button{font-size: .6rem !important;}.scene{padding:20px 15px;height:100vh;justify-content:center}.about-container{flex-direction:column;gap:18px}.about-image-wrapper{order:-1;max-width: 80%;}.terminal-window{max-width:100%;margin-bottom:12px}.terminal-code{font-size:.7rem;padding:8px 12px}.about-title{font-size:1.5rem;letter-spacing:0.5px}.about-desc{font-size:0.7rem;padding:14px;line-height:1.6;text-align:left}.scene-heading{font-size:1rem;margin-bottom:15px;border-right-width:6px}.scene-title{font-size:0.78rem;margin-bottom:8px}.skills-grid{gap:12px}.skill-card{padding:14px}.skill-header{font-size:0.6rem;gap:8px}.skill-icon{width:22px;height:22px}.skill-icon svg{width:22px;height:22px}.skill-desc{font-size:0.65rem;margin-bottom:8px}.skill-bar{height:4px}.controls{margin-top:18px;gap:8px;align-items:center}.control-btn{padding:7px 12px;font-size:0.75rem;width:100%;max-width:220px;text-align:center}.monitor-screen{width:100%;aspect-ratio:4/3}.overlay-content{padding:15px}.overlay-desc{font-size:0.75rem;line-height:1.4;margin-bottom:15px}.overlay-link{font-size:0.7rem;padding:7px 14px}.dossier-card{padding:25px 12px;margin-top:15px}.contact-email{font-size:0.95rem;flex-direction:column;gap:4px;align-items:center}.contact-email svg{width:16px;height:16px}.social-links{gap:8px;flex-wrap:wrap;justify-content:center}.social-link{width:38px;height:38px}.social-link svg{width:17px;height:17px;min-width:17px}.social-link:hover{width:38px}.scroll-btn{padding:8px 16px;font-size:0.78rem;letter-spacing:1px}.end-credits p{font-size:0.7rem;letter-spacing:1px}.copyright{font-size:0.6rem!important}.top-controls{flex-wrap: nowrap;gap:8px;right:8px;top:8px}.control-btn{width: auto;padding: 8px;font-size:0.6rem}#sequence-indicator{font-size:0.65rem;letter-spacing:0.3px}.nav-arrow{padding:3px}.nav-arrow svg{width:12px;height:12px}#settings-panel,#theme-panel{width:210px;padding:14px;right:4px;top:48px;gap:10px}.settings-section-title{font-size:0.7rem}.lang-btn,.track-btn,.preset-btn,.cursor-btn{font-size:.7rem;padding:6px 8px}.color-swatch{width:18px;height:18px}.volume-slider{height:4px}.volume-slider::-webkit-slider-thumb{width:11px;height:11px}.audio-toggle-btn{font-size:0.7rem;padding:6px 8px}.category-title{font-size: .7rem;}.skills-category{margin-bottom: 16px;}#scene-contact{gap: 2rem;}.loader-line{margin-bottom: 8px;font-size: .8rem;}}