@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wdth,wght@100..125,200..800&family=Josefin+Slab:ital,wght@0,300..700;1,0..700&display=swap");:root{--primary:#37b4f8;--accent:#c4b5e2;--accent-alt:#ffcc5c;--bg-dark:#050518;--glass:rgba(20,20,50,0.65);--glass-border:rgba(127,249,255,0.2);--neural-glow:0 0 24px rgba(126,249,255,0.6),0 0 48px rgba(243,249,157,0.4);--transition:.3s cubic-bezier(.4,2,.6,1);--text:#e0e6f0;--font-sans:"Space Grotesk","Plus Jakarta Sans",system-ui,-apple-system,sans-serif;--font-serif:"Megrim","Josefin Slab",serif;--font-display:"Space Grotesk","Megrim","Josefin Slab","Playfair Display",serif;font-size:clamp(14px,0.9rem+0.5vw,16px)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;margin:0;padding:0;background:var(--bg-dark);color:var(--text);font-family:var(--font-sans);font-size:clamp(14px,0.9rem+0.5vw,16px);webkit-font-smoothing:antialiasing;text-rendering:optimizeLegibility;line-height:1.65;min-height:100vh;overflow-x:hidden;scroll-behavior:smooth}body{font-family:var(--font-sans);display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}#bg-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;transition:opacity .8s cubic-bezier(.4,2,.6,1)}.fade-out{opacity:0 !important;pointer-events:none;transition:opacity .6s cubic-bezier(.4,2,.6,1)}#loading-container{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-dark);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;transition:opacity 1s ease-in-out}#brain-loading-canvas{max-width:90%;height:auto;margin-bottom:1rem;filter:drop-shadow(0 0 15px rgba(126,249,255,0.3))}.loading-text{font-size:1.5rem;color:var(--primary);font-weight:500;letter-spacing:2px;margin-top:1rem;position:relative;background:linear-gradient(90deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:pulse 2s infinite}.synapse-dot{position:absolute;border-radius:50%;background:var(--primary);filter:blur(1px);opacity:0;animation:synapse-pulse 3s infinite ease-out;pointer-events:none}@keyframes synapse-pulse{0%{transform:scale(0);opacity:.8}70%{opacity:.2}100%{transform:scale(2.5);opacity:0}}.progress-bar{width:280px;height:4px;background:rgba(255,255,255,0.1);border-radius:2px;margin-top:15px;overflow:hidden;position:relative}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--accent));position:absolute;top:0;left:0;box-shadow:0 0 10px var(--primary);transition:width .3s ease-in-out}@keyframes pulse{0%,100%{opacity:.7}50%{opacity:1}}.sidebar nav{display:flex;justify-content:center;align-items:center;gap:2em;padding:1.2em 1em;background:rgba(8,8,25,0.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1.5px solid var(--glass-border);box-shadow:0 2px 32px rgba(0,255,255,0.15);position:sticky;top:0;z-index:100;border-radius:0 0 24px 24px}.sidebar nav a{color:var(--primary);text-decoration:none;font-family:var(--font-serif);font-weight:600;font-size:1.1em;letter-spacing:.04em;padding:.4em 1em;border-radius:8px;transition:background var(--transition),color var(--transition),box-shadow var(--transition);box-shadow:0 0 0 transparent;position:relative;overflow:hidden}.sidebar nav a::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left .7s}.sidebar nav a:hover::before{left:100%}.sidebar nav a:hover,nav a:focus{background:linear-gradient(90deg,rgba(126,249,255,0.25),rgba(243,249,157,0.25));color:var(--accent);box-shadow:0 0 16px rgba(126,249,255,0.6),0 0 32px rgba(243,249,157,0.2);outline:0}main{max-width:1000px;width:90%;margin:3em auto 2em auto;flex:1;background:var(--glass);border:1.5px solid var(--glass-border);border-radius:24px;padding:2.5em 2em;box-shadow:var(--neural-glow);position:relative;z-index:2;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);animation:fadeInMain 1.2s cubic-bezier(.4,2,.6,1);transition:filter .3s ease,transform .3s ease,opacity 1s ease-in-out}@keyframes fadeInMain{from{opacity:0;transform:translateY(40px) scale(0.98)}to{opacity:1;transform:none}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:rgba(8,8,25,0.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:2px solid var(--glass-border);box-shadow:2px 0 32px rgba(0,255,255,0.13);z-index:1000;display:flex;flex-direction:column;align-items:stretch;transition:transform .45s cubic-bezier(.25,.8,.3,1);transform:translateX(-100%);overflow-y:auto;padding:4em 0 2em 0;will-change:transform}.sidebar.open{transform:translateX(0);transform-origin:left}.sidebar::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 30%,rgba(126,249,255,0.05),transparent 70%),radial-gradient(circle at 70% 70%,rgba(243,249,157,0.05),transparent 70%);pointer-events:none}.sidebar nav{display:flex;flex-direction:column;gap:1.2em;margin-top:2em;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;position:relative}.sidebar a{padding:.8em 1.5em;font-size:.9em;color:var(--primary);white-space:nowrap;border-radius:8px;margin:0 .5em;transition:background var(--transition),color var(--transition),transform .2s;text-align:left}.sidebar a:hover,.sidebar a:focus{background:linear-gradient(90deg,rgba(126,249,255,0.25),rgba(243,249,157,0.25));color:var(--accent);transform:translateX(5px)}#sidebar-toggle{background:0;border:0;color:var(--primary);font-size:1em;padding:.5em;cursor:pointer;position:fixed;left:1em;top:1em;z-index:1001;transition:all .3s ease;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:rgba(8,8,25,0.7);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 0 15px rgba(126,249,255,0.3);will-change:transform,color,box-shadow}#sidebar-toggle:hover,#sidebar-toggle.active{color:var(--accent);box-shadow:0 0 20px rgba(243,249,157,0.5);transform:rotate(90deg)}h1{font-size:clamp(2.5rem,1.9rem+2.5vw,3.5rem)}h2{font-size:clamp(2rem,1.6rem+1.8vw,2.8rem)}h3{font-size:clamp(1.6rem,1.4rem+1.2vw,2rem)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;letter-spacing:.02em;color:var(--accent)}h2::after{background:linear-gradient(90deg,var(--accent-alt),transparent)}p{font-family:var(--font-sans);margin-bottom:1.5em;line-height:1.6}a{color:var(--primary);text-decoration:none;transition:color .3s ease,text-shadow .3s ease}a:hover{color:var(--accent);text-shadow:0 0 8px rgba(126,249,255,0.5)}.hero{width:100%;min-height:400px;background:linear-gradient(120deg,rgba(5,5,24,0.8) 60%,rgba(126,249,255,0.13) 100%);display:flex;align-items:center;justify-content:center;border-radius:16px;margin-bottom:2em;box-shadow:0 8px 64px rgba(126,249,255,0.13);position:relative;z-index:2;overflow:hidden}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 30%,rgba(126,249,255,0.1),transparent 30%),radial-gradient(circle at 70% 60%,rgba(243,249,157,0.1),transparent 40%),radial-gradient(circle at 40% 80%,var(--accent-alt),0.08),transparent 35%);z-index:-1}.hero-content{display:grid;place-items:center;text-align:center;gap:24px;max-inline-size:60ch;padding:40px 32px;border-radius:1rem}@supports not(backdrop-filter:blur(1px)){.hero__content{background:0;border:0}}.hero-content::before{content:'';position:absolute;width:200%;height:200%;top:-50%;left:-50%;background:radial-gradient(circle at 30% 30%,rgba(126,249,255,0.08),transparent 30%),radial-gradient(circle at 70% 70%,rgba(243,249,157,0.08),transparent 30%);animation:rotate 20s linear infinite;pointer-events:none}@keyframes rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.hero-title{margin:0}.hero-title{color:var(--accent)}.hero-tagline{font-family:var(--font-sans);font-size:1.125rem;max-inline-size:45ch;margin:0 auto}.hero-btn{display:inline-block;margin-top:1em;padding:.8em 2em;font-size:1.2em;background:linear-gradient(90deg,var(--primary),var(--accent));color:#111;border-radius:12px;font-family:var(--font-serif);font-weight:bold;text-decoration:none;box-shadow:0 0 24px rgba(126,249,255,0.4);transition:background .3s,color .3s,box-shadow .3s,transform .2s;transform-origin:center;position:relative;overflow:hidden}.hero-btn::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,0.2) 0,transparent 60%);transform:rotate(0);transition:transform .5s}.hero-btn:hover::before{transform:rotate(180deg)}.hero-btn:hover{background:linear-gradient(90deg,var(--accent),var(--primary));color:#000;box-shadow:0 0 48px rgba(243,249,157,0.5);transform:scale(1.05)}.loader{opacity:0}.loader.visible{opacity:1}\ .contact-wrap{display:grid;gap:2.5rem;place-items:center;max-width:640px;margin-inline:auto;text-align:center}.contact-head h1{margin-bottom:.3rem}.contact-head p{margin-inline:auto;text-align:left;color:var(--text)}.contact-icons{list-style:none;padding:0;display:flex;justify-content:center;gap:2.2rem}.contact-icons a{font-size:1.8rem;color:var(--primary);transition:color .3s,transform .3s}.contact-icons a:hover{color:var(--accent);transform:translateY(-3px) scale(1.15)}.contact-form{display:grid;gap:1.4rem}.contact-form label{display:flex;flex-direction:column;text-align:left;color:var(--primary)}.contact-form label.full{grid-column:1/-1}.contact-form .send-btn{justify-self:center;padding:.7em 2.2em;font-size:1rem}.single-post{padding:.5em;max-width:800px;margin:0 auto}.post-header{margin-bottom:2em;position:relative}.post-title{color:var(--accent);font-size:clamp(2rem,1.6rem+2vw,3rem);margin-bottom:.5em;font-family:var(--font-serif);font-weight:700;position:relative}.post-title::after{content:'';position:absolute;bottom:-10px;left:0;width:80px;height:3px;background:linear-gradient(90deg,var(--primary),transparent)}.post-meta{font-size:.95em;margin-bottom:1.5em;color:var(--primary);display:flex;gap:1.5em;flex-wrap:wrap}.post-date{display:inline-flex;align-items:center}.post-project{display:inline-flex;align-items:center;gap:.4em}.post-project a{color:var(--accent);transition:color .3s,text-shadow .3s}.post-project a:hover{color:var(--primary);text-shadow:0 0 5px rgba(126,249,255,0.7)}.post-image{margin-bottom:2em;border-radius:16px;overflow:hidden;box-shadow:0 5px 25px rgba(126,249,255,0.15)}.post-feature-img{width:100%;max-height:500px;object-fit:cover;transition:transform .5s ease}.post-feature-img:hover{transform:scale(1.02)}.post-content{font-size:1.05rem;line-height:1.7;margin-bottom:2.5em}.post-content p{margin-bottom:1.2em}.post-content h2{margin:1.8em 0 .8em;color:var(--accent);font-size:1.6em}.post-content h3{margin:1.5em 0 .7em;color:var(--accent);font-size:1.3em}.post-content blockquote{border-left:3px solid var(--primary);padding-left:1em;margin-left:1em;color:rgba(255,255,255,0.9);font-style:italic}.post-content pre{background:rgba(10,10,30,0.7);padding:1em;border-radius:8px;overflow-x:auto;margin:1.5em 0;border-left:3px solid var(--primary)}.post-content code{font-family:monospace;background:rgba(10,10,30,0.5);padding:.2em .4em;border-radius:3px}.post-content a{color:var(--primary);text-decoration:underline;text-underline-offset:1px;transition:color .3s}.post-content a:hover{color:var(--accent)}.post-links{display:flex;gap:1em;margin:2em 0}.github-link{display:inline-flex;align-items:center;gap:.5em;padding:.7em 1.5em;background:rgba(126,249,255,0.15);border-radius:8px;color:var(--primary);font-weight:600;transition:background .3s,transform .2s,box-shadow .3s}.github-link:hover{background:rgba(243,249,157,0.2);transform:translateY(-3px);box-shadow:0 5px 15px rgba(126,249,255,0.3)}.post-navigation{margin-top:3em;padding-top:1.5em;border-top:1px solid rgba(126,249,255,0.2)}.back-link{display:inline-flex;align-items:center;gap:.5em;padding:.7em 1.2em;background:rgba(8,8,25,0.7);border-radius:8px;color:var(--primary);transition:background .3s,transform .2s,box-shadow .3s}.back-link:hover{background:rgba(20,20,50,0.8);color:var(--accent);transform:translateY(-2px);box-shadow:0 5px 15px rgba(126,249,255,0.2)}@media(max-width:768px){.single-post{padding:.5em}.post-title{font-size:1.8rem}.post-content{font-size:1rem}.post-feature-img{max-height:350px}}.posts article,.projects-list .project-card{background:rgba(20,20,50,0.75);margin-bottom:2.5em;padding:1.8em 1.5em;border-radius:18px;box-shadow:0 0 24px rgba(126,249,255,0.2),0 0 4px rgba(255,255,255,0.1);border:1.5px solid var(--glass-border);transition:transform var(--transition),box-shadow var(--transition),opacity .5s;position:relative;overflow:hidden;opacity:0;transform:translateY(20px)}.posts article.visible,.projects-list .project-card.visible{opacity:1;transform:translateY(0)}.posts article::before,.projects-list .project-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top left,rgba(126,249,255,0.1),transparent 70%),radial-gradient(circle at bottom right,rgba(243,249,157,0.1),transparent 70%),radial-gradient(circle at center,var(--accent-alt),0.05),transparent 60%);z-index:-1}.posts article:hover,.project-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 10px 40px rgba(126,249,255,0.3),0 5px 20px rgba(243,249,157,0.2)}.post-thumb{width:45px;height:45px;border-radius:5px}.post-thumb,.profile-pic,.photo-card img,.project-card img{max-width:100%;border-radius:12px;box-shadow:0 0 32px rgba(126,249,255,0.3),0 0 8px rgba(243,249,157,0.15);transition:transform .5s ease,box-shadow .5s ease;object-fit:cover}.post-thumb:hover,.photo-card img:hover,.project-card img:hover{transform:scale(1.03);box-shadow:0 0 48px rgba(126,249,255,0.4),0 0 16px rgba(243,249,157,0.25)}.photo-card img{width:100%;height:auto;min-height:300px;max-height:350px;object-fit:contain;margin-bottom:1em;border-radius:8px;box-shadow:0 0 32px rgba(126,249,255,0.3),0 0 8px rgba(243,249,157,0.15);transition:transform .5s ease,box-shadow .5s ease}.photo-card .photo-link{display:block;width:100%;overflow:hidden;border-radius:8px;margin-bottom:1em;text-align:center}.posts article h2{margin-top:0;position:relative;display:inline-block}.posts article h2::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--primary),transparent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.posts article:hover h2::after{transform:scaleX(1)}.post-card .date{color:var(--primary);font-size:.9em;margin-bottom:1em;opacity:.8}.post-card h2{margin-right:15px;margin-top:-15px}.github-link{margin-top:1.5em}.github-link a{display:inline-block;padding:.5em 1em;background:rgba(126,249,255,0.15);border-radius:8px;transition:background .3s,transform .2s,box-shadow .2s}.github-link a:hover{background:rgba(243,249,157,0.25);transform:translateY(-3px);box-shadow:0 5px 15px rgba(126,249,255,0.3)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2em;margin-top:1.5em}.projects-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5em;margin-top:1.5em}.about-me{display:flex;align-items:center;gap:2.5em;margin-bottom:1.5em}.profile-pic{width:160px;height:160px;object-fit:cover;border:4px solid var(--primary);box-shadow:0 0 32px rgba(126,249,255,0.4);border-radius:50%;transition:transform .5s ease,box-shadow .5s ease}.profile-pic:hover{transform:scale(1.05) rotate(5deg);box-shadow:0 0 48px rgba(126,249,255,0.6),0 0 24px rgba(243,249,157,0.4)}.newpost-wrap{display:grid;gap:2rem;max-width:720px;margin-inline:auto}.post-form{display:grid;gap:1.6rem}.post-form label{display:flex;flex-direction:column;color:var(--primary)}.post-form label.full{grid-column:1/-1}.flex-row{display:flex;gap:1rem;flex-wrap:wrap}.flex-grow{flex:1}.file-input{display:inline-flex;align-items:center;position:relative;gap:.5rem;cursor:pointer;background:rgba(20,20,50,.8);border:1.5px solid var(--glass-border);border-radius:10px;padding:.8em 1.2em;transition:background .3s}.file-input input[type="file"]{display:none}.file-input .file-name{display:block;font-size:.9em;margin-top:.4em;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-input .preview{display:block;margin-top:.6em;max-width:160px;max-height:120px;border-radius:8px;box-shadow:0 0 12px rgba(0,0,0,.25);object-fit:cover}.file-input:hover{background:rgba(79,211,248,.15)}.file-input input{display:none}.char-count{font-size:.8rem;text-align:right;opacity:.7;margin-top:.2rem}.post-form textarea{resize:vertical}.post-form small{font-weight:400;color:var(--accent);font-size:.8rem}.send-btn i{margin-right:.5rem}.new-post-form,.contact-form{display:flex;flex-direction:column;gap:1.5em;margin-top:1.5em}input,textarea,button{font-size:1em;border-radius:8px;border:1.5px solid var(--glass-border);padding:.8em 1em;margin-top:.2em;background:rgba(15,15,40,0.8);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition),transform .2s}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 12px rgba(126,249,255,0.6);outline:0;transform:translateY(-2px)}label{color:var(--primary);margin-bottom:.3em;display:block;font-weight:500}button{background:linear-gradient(90deg,var(--primary),var(--accent));color:#111;font-weight:bold;cursor:pointer;border:0;box-shadow:0 0 16px rgba(126,249,255,0.3);transition:background var(--transition),color var(--transition),box-shadow var(--transition),transform .2s;position:relative;overflow:hidden}button:hover,button:focus{background:linear-gradient(90deg,var(--accent),var(--primary));color:#000;box-shadow:0 0 32px rgba(243,249,157,0.5);transform:translateY(-3px)}button::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,0.3) 0,transparent 70%);opacity:0;transition:opacity .3s}button:hover::before{opacity:1;animation:ripple 1s linear}@keyframes ripple{from{transform:rotate(0)}to{transform:rotate(360deg)}}.animation-toggle{position:fixed;bottom:15px;right:15px;background:rgba(8,8,25,0.7);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1.5px solid var(--glass-border);color:var(--primary);width:24px;height:36px;border-radius:50%;font-size:1em;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001;transition:all .3s ease;box-shadow:0 0 15px rgba(126,249,255,0.2)}.animation-toggle:hover,.animation-toggle:focus{color:var(--accent);background:rgba(20,20,50,0.8);box-shadow:0 0 20px rgba(243,249,157,0.4);transform:scale(1.1);outline:0}.animation-toggle[aria-checked="false"]{color:var(--accent-alt);border-color:var(--accent-alt)}.animation-toggle[aria-checked="false"]:hover{background:rgba(20,20,50,0.9);box-shadow:0 0 20px rgba(255,204,92,0.5)}#bg-canvas{transition:opacity .8s ease}.performance-notice{position:fixed;bottom:70px;right:15px;background:rgba(8,8,25,0.9);border:1px solid var(--glass-border);padding:.5em 1em;border-radius:8px;font-size:.8em;max-width:240px;color:var(--text);z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,0.3);opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}.performance-notice.show{opacity:1;transform:translateY(0);pointer-events:all}.performance-notice button{background:var(--primary);color:#000;border:0;padding:.3em .6em;margin-top:.5em;border-radius:4px;cursor:pointer;font-size:.9em}#loading-container.reduced-animation{background:var(--bg-dark) !important}#loading-container.reduced-animation #brain-loading-canvas{filter:none !important}#skip-animation-btn{margin-top:1.5rem;background:rgba(8,8,25,0.8);color:var(--primary);border:1px solid var(--glass-border);padding:.5em 1em;border-radius:6px;cursor:pointer;font-size:.9em;transition:all .3s ease}#skip-animation-btn:hover{background:rgba(20,20,50,0.9);color:var(--accent);box-shadow:0 0 12px rgba(126,249,255,0.3)}.end-of-posts-msg{text-align:center;padding:1.5em;margin:2em 0;background:linear-gradient(90deg,rgba(126,249,255,0.08),rgba(243,249,157,0.08));border-radius:12px;border:1px solid var(--glass-border);color:var(--primary);font-family:var(--font-serif);font-size:1.1em;animation:fadeIn .8s ease-out;box-shadow:0 0 15px rgba(126,249,255,0.1)}.end-of-posts-msg i{margin-right:.5em;color:var(--accent)}.loader{margin:2em auto;position:relative;width:60px;height:60px;transition:opacity .5s ease-out,transform .5s ease-out}.loader::before,.loader::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:3px solid transparent;border-top-color:var(--primary);animation:spin 1.5s linear infinite}.loader::before{z-index:10}.loader::after{border:3px solid transparent;border-bottom-color:var(--accent);animation:spin 2s linear infinite reverse}.loader.pulsing{animation:pulse 1s infinite alternate}.loader.disappearing{opacity:0;transform:scale(0.8)}.no-posts-msg{text-align:center;background:rgba(126,249,255,0.1);border:1px solid rgba(126,249,255,0.2);padding:2em;color:var(--primary);border-radius:12px;margin:2em 0;animation:fadeIn .8s ease-out}@keyframes fadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.flashes{list-style:none;padding:0;margin-bottom:1.5em}.flashes li,.no-posts-msg,.error-msg{padding:.8em 1.2em;border-radius:8px;margin-bottom:1em;animation:fadeIn .5s ease-out}.flashes li.success{color:#00ff95;background:rgba(0,255,149,0.15);border:1px solid rgba(0,255,149,0.3);text-shadow:0 0 8px rgba(0,255,149,0.5)}.flashes li.error,.error-msg{color:#ff6e6e;background:rgba(255,110,110,0.15);border:1px solid rgba(255,110,110,0.3);text-shadow:0 0 8px rgba(255,110,110,0.5)}.no-posts-msg{text-align:center;background:rgba(126,249,255,0.1);border:1px solid rgba(126,249,255,0.2);padding:2em;color:var(--primary)}.photo-card{background:rgba(15,15,40,0.8);padding:1.2em;border-radius:14px;text-align:center;height:auto;border:1.5px solid var(--glass-border);box-shadow:0 0 2px rgba(126,249,255,0.2);transition:box-shadow var(--transition),transform var(--transition);display:flex;flex-direction:column;position:relative;overflow:hidden}.photo-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:auto%;background:radial-gradient(circle at 30% 30%,rgba(126,249,255,0.08),transparent 50%),radial-gradient(circle at 70% 70%,rgba(243,249,157,0.08),transparent 50%),radial-gradient(circle at 50% 50%,var(--accent-alt),0.05),transparent 50%);opacity:0;transition:opacity .5s ease;z-index:-1}.photo-card:hover::before{opacity:1}.photo-card:hover{box-shadow:0 10px 8px rgba(243,249,157,0.3),0 4px 16px rgba(126,249,255,0.3);transform:scale(1.03) translateY(-5px)}.photo-card .caption{margin-top:auto;color:var(--text);font-size:.9em}.photo-related{margin-top:1em;font-size:.9em;background:rgba(20,20,50,0.5);border-radius:8px;padding:.8em}.photo-related h4{margin-top:0;font-size:1em;margin-bottom:.5em}.photo-related ul{list-style:none;padding-left:0;margin:0}.photo-related li{margin-bottom:.3em}.project-card{padding:1.4em;border-radius:16px;background:rgba(15,15,40,0.8);text-align:center;border:1.5px solid var(--glass-border);box-shadow:0 0 16px rgba(126,249,255,0.2);transition:box-shadow var(--transition),transform var(--transition);height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.project-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top left,rgba(126,249,255,0.08),transparent 60%),radial-gradient(circle at bottom right,rgba(243,249,157,0.08),transparent 60%),radial-gradient(circle at center,var(--accent-alt),0.05),transparent 60%);z-index:-1;opacity:0;transition:opacity .5s ease}.project-card:hover::before{opacity:1}.project-card img{width:100%;height:180px;object-fit:cover;border-radius:10px;margin-bottom:1em;transition:transform .5s ease,box-shadow .5s ease}.project-card h3{margin-top:0;margin-bottom:.7em;position:relative;display:inline-block}.project-card h3::after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--primary),transparent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.project-card:hover h3::after{transform:scaleX(1)}.project-card p{margin-bottom:1.5em;flex-grow:1}.project-card .project-links{margin-top:auto;display:flex;justify-content:center;gap:1em}.project-card a{display:inline-block;padding:.6em 1.2em;background:linear-gradient(90deg,rgba(126,249,255,0.2),rgba(243,249,157,0.01));border-radius:8px;color:var(--primary);font-weight:600;transition:background var(--transition),color var(--transition),box-shadow var(--transition),transform .2s;position:relative;overflow:hidden}.project-card a::before{content:'';position:absolute;top:-100%;left:-100%;width:300%;height:300%;background:radial-gradient(circle,rgba(255,255,255,0.2) 0,transparent 70%);transition:transform .5s ease;transform:scale(0)}.project-card a:hover::before{transform:scale(1);animation:ripple-small 2s linear infinite}@keyframes ripple-small{from{transform:translate(-30%,-30%) scale(1)}to{transform:translate(-30%,-30%) scale(1.2);opacity:0}}.project-card a:hover{background:linear-gradient(90deg,rgba(243,249,157,0.3),rgba(126,249,255,0.3));color:var(--accent);box-shadow:0 0 16px rgba(243,249,157,0.4);transform:translateY(-3px)}.delete-btn{background:linear-gradient(90deg,#ff6e6e,#ff9e9e);padding:.5em 1em;margin-top:1em;display:block;margin-left:auto;margin-right:auto;color:#111;width:15%}.delete-btn:hover{background:linear-gradient(90deg,#ff5e5e,#ff8e8e);box-shadow:0 0 16px rgba(255,110,110,0.4)}.responsive-iframe-container{position:relative;overflow:hidden;padding-top:56.25%;margin-bottom:1.5em}.responsive-iframe-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.video-player-container{margin-bottom:1.5em}.video-player-container iframe{max-width:100%;border-radius:12px}.music-card .post-image img.post-thumb{width:100%;height:auto;max-height:200px;object-fit:cover}.review-card .post-image img.post-feature-img,.video-card .post-image img.post-feature-img{max-height:250px;object-fit:cover}.review-item-title h2{font-size:1.4em;color:var(--text);margin-bottom:.5em;font-weight:500}.review-full-content{margin-top:1.5em}.post-meta .music-item-type{font-style:italic;opacity:.9}.post-meta .music-item-type i{margin-right:.4em}.music-item-type-detail,.review-category-detail,.video-source-type-detail,.video-duration-detail{font-style:italic;opacity:.8}.music-item-type-detail i,.review-category-detail i,.video-source-type-detail i,.video-duration-detail i{margin-right:.3em}.music-links a{margin-right:10px}.spotify-embed-compact{display:flex;flex-direction:column;align-items:center;margin-bottom:1em;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,0.2);transition:box-shadow .3s ease}.spotify-embed-compact iframe{display:block;border-radius:12px}.spotify-embed-compact:hover{box-shadow:0 6px 25px rgba(29,185,84,0.3)}.spotify-embed-wrapper{position:relative;width:100%;padding-bottom:75%;height:0;overflow:hidden;margin-bottom:2em;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.2);transition:box-shadow .3s ease}.spotify-embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:12px}.spotify-embed-wrapper:hover{box-shadow:0 6px 25px rgba(29,185,84,0.3)}.spotify-player-controls{display:flex;justify-content:center;align-items:center;padding:1em 0;margin-top:.5em}.quick-play-btn{display:none;gap:.5em;background:linear-gradient(90deg,#1db954,#1ed760);color:white;border:0;border-radius:25%;width:40px;height:40px;padding:.8em 1.5em;font-size:.7em;font-weight:600;cursor:pointer;align-items:center;justify-content:center;transition:background-color .3s ease,transform .3s ease;box-shadow:0 4px 15px rgba(29,185,84,0.4);min-width:160px}.quick-play-btn:hover{background:linear-gradient(90deg,#1ed760,#1db954);transform:translateY(-2px);box-shadow:0 6px 20px rgba(29,185,84,0.6)}.quick-play-btn i{font-size:1em}.standalone-play-btn{display:none;align-items:center;gap:.5em;background:linear-gradient(90deg,#1db954,#1ed760);color:white;border:0;border-radius:8px;padding:1em 2em;font-weight:600;cursor:pointer;font-size:.9rem;box-shadow:0 4px 15px rgba(29,185,84,0.4);transition:all .3s ease;min-width:180px;justify-content:center}.standalone-play-btn:hover{background:linear-gradient(90deg,#1ed760,#1db954);box-shadow:0 6px 20px rgba(29,185,84,0.6);transform:translateY(-2px)}.standalone-play-btn i{font-size:1.1em}.general-spotify-play-btn{display:inline-flex;align-items:center;gap:.5em;padding:.6em 1.2em;background:#1db954;color:white;border:0;border-radius:20px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .3s ease}.general-spotify-play-btn:hover{background:#1ed760;transform:translateY(-2px);box-shadow:0 4px 12px rgba(29,185,84,0.3)}.spotify-connect-btn{display:none;position:fixed;bottom:20px;left:20px;background:#1db954;color:white;border:0;padding:.8em 1.5em;border-radius:25px;font-size:.7em;font-weight:600;cursor:pointer;align-items:center;gap:.5em;box-shadow:0 4px 12px rgba(29,185,84,0.3);transition:all .3s ease;z-index:1000}.spotify-connect-btn:hover{background:#1ed760;transform:translateY(-2px);box-shadow:0 6px 20px rgba(29,185,84,0.4)}.player-actions{display:flex;gap:.8em;align-items:center}.player-action-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text);width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:.9em;opacity:.7}.player-action-btn:hover{opacity:1;background:rgba(55,180,248,0.15);color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}#player-music-page-btn:hover{color:var(--accent);border-color:var(--accent);background:rgba(196,181,226,0.15)}#player-disconnect-btn:hover{color:#ff6e6e;border-color:#ff6e6e;background:rgba(255,110,110,0.15)}.mini-player{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(8,8,25,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:2px solid var(--glass-border);box-shadow:0 -4px 32px rgba(0,255,255,0.1);z-index:999;transition:transform .3s ease,opacity .3s ease}.mini-player.visible{display:flex}@keyframes slideUpPlayer{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.player-content{display:flex;align-items:center;justify-content:space-between;padding:1em 2em;gap:2em;max-width:1200px;margin:0 auto}.player-track-info{display:flex;align-items:center;gap:1em;flex:1;min-width:0}.player-album-art{width:50px;height:50px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.3);transition:transform .3s ease}.player-album-art:hover{transform:scale(1.05)}.player-text-info{flex:1;overflow:hidden}.player-track-name{color:var(--text);font-weight:600;font-size:.95em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.2em}.player-artist-name{color:var(--primary);font-size:.85em;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-controls{display:flex;align-items:center;gap:1em}.player-btn{background:transparent;border:2px solid var(--glass-border);color:var(--primary);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:1em}.player-btn:hover{background:rgba(55,180,248,0.2);color:var(--accent);transform:scale(1.1)}.player-btn:active{transform:scale(0.95)}#player-play-pause-btn.player-play-btn{background:linear-gradient(90deg,var(--primary),var(--accent));color:#111;font-size:1.1rem;width:45px;height:45px;border:0}#player-play-pause-btn.player-play-btn:hover{background:linear-gradient(90deg,var(--accent),var(--primary));color:#000;box-shadow:0 0 15px rgba(126,249,255,0.5)}.player-progress{display:flex;align-items:center;gap:.8em;flex:1;max-width:300px}.player-time{font-size:.85em;color:var(--text);opacity:.8;min-width:40px;text-align:center}.player-progress .progress-bar{flex:1;height:4px;background:rgba(255,255,255,0.1);border-radius:2px;overflow:hidden;cursor:pointer;position:relative}.player-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:2px;transition:width .1s linear;box-shadow:0 0 6px rgba(126,249,255,0.5)}.player-progress .progress-bar:hover .progress-fill{box-shadow:0 0 10px rgba(126,249,255,0.8)}body:has(.mini-player[style*="flex"]) footer,body:has(.mini-player.visible) footer{padding-bottom:calc(4em + 70px)}.spotify-status-message{position:fixed;top:20px;right:20px;background:rgba(8,8,25,0.95);border:1px solid var(--glass-border);padding:12px 16px;border-radius:8px;color:var(--text);font-size:.9rem;z-index:1001;opacity:0;transform:translateX(100%);transition:opacity .3s ease,transform .3s ease}.spotify-status-message.show{opacity:1;transform:translateX(0)}.spotify-status-message.success{border-color:#1db954;background:rgba(29,185,84,0.2);color:#1db954}.spotify-status-message.error{border-color:#ff6e6e;background:rgba(255,110,110,0.2);color:#ff6e6e}@media(max-width:768px){.spotify-connect-btn{bottom:70px;left:10px;padding:.6em 1.2em;font-size:.85em}.quick-play-btn{padding:.7em 1.2em;font-size:.85em;min-width:140px}.standalone-play-btn{padding:.8em 1.5em;font-size:.9em;min-width:160px}.spotify-player-controls{padding:.8em 0}.player-content{padding:.8em 1em;flex-wrap:wrap;gap:1em}.player-track-info{flex:1 1 100%;order:1}.player-controls{order:2}.player-progress{flex:1 1 100%;order:3;max-width:none}.player-album-art{width:40px;height:40px}.player-btn{width:35px;height:35px;font-size:.9em}#player-play-pause{width:45px;height:45px;font-size:1.1em}}@media(max-width:500px){.quick-play-btn{padding:.6em 1em;font-size:.8em;min-width:120px}.standalone-play-btn{padding:.7em 1.2em;font-size:.85em;min-width:140px}.spotify-player-controls{padding:.6em 0}.player-content{padding:.6em .8em}.player-track-name,.player-artist-name{font-size:.85em}.spotify-status-message{right:10px;left:10px;font-size:.9em}}footer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2em 0 4em;position:relative;width:100%}footer::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 20%,rgba(126,249,255,0.05),transparent 60%),radial-gradient(circle at 80% 80%,rgba(243,249,157,0.05),transparent 60%);pointer-events:none;z-index:-1}footer p{margin-bottom:1.2em;position:relative;width:100%;text-align:center}.social-links{display:flex;justify-content:center;gap:1.5em;margin-top:1em}.social-links a{font-size:1.5em;height:40px;width:40px;display:flex;align-items:center;justify-content:center;color:var(--primary);border-radius:50%;transition:color .3s,transform .2s,background .3s;background:rgba(8,8,25,0.4);position:relative}.social-links a::before{content:'';position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;background:radial-gradient(circle,rgba(126,249,255,0.2),transparent);border-radius:50%;opacity:0;transform:scale(0);transition:transform .3s,opacity .3s}.social-links a:hover::before{opacity:1;transform:scale(1)}.social-links a:hover{color:var(--accent);transform:translateY(-3px) scale(1.2);background:rgba(8,8,25,0.7)}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cosmic-particle{position:fixed;background:white;border-radius:50%;pointer-events:none;z-index:0;opacity:.8;filter:blur(1px);box-shadow:0 0 10px var(--primary),0 0 20px var(--accent)}.neural-synapse{position:absolute;width:100%;height:2px;background:linear-gradient(90deg,var(--primary),transparent);opacity:0;transform-origin:left;pointer-events:none;z-index:1;box-shadow:0 0 10px var(--primary);animation:synapseFlash 3s infinite}@keyframes synapseFlash{0%{transform:scaleX(0);opacity:0}50%{transform:scaleX(1);opacity:.5}100%{transform:scaleX(0);opacity:0}}.nebula{position:fixed;border-radius:50%;background:radial-gradient(circle,rgba(126,249,255,0.15),transparent 70%);filter:blur(40px);opacity:.2;pointer-events:none;z-index:-1;animation:nebulaPulse 15s infinite alternate ease-in-out}.nebula.accent{background:radial-gradient(circle,var(--accent-alt),transparent 70%);animation-delay:5s}.nebula.accent-alt{background:radial-gradient(circle,var(--accent-alt),transparent 70%);animation-delay:10s}@keyframes nebulaPulse{0%{transform:scale(1);opacity:.1}50%{transform:scale(1.2);opacity:.3}100%{transform:scale(1);opacity:.1}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:rgba(8,8,25,0.3)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--primary),var(--accent));border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(var(--accent),var(--primary))}select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvgxmlns='http://www.w3.org/2000/svg'width='16'height='16'fill='%2337B4F8'viewBox='001616'%3E%3Cpathd='M7.24711.142.4515.658C1.8855.0132.34543.2044h9.592a11001.7531.659l-4.7965.48a11001-1.5060z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center;background-size:16px 12px;padding-right:2.5em}select:focus{border-color:var(--primary);box-shadow:0 0 12px rgba(126,249,255,0.6);outline:0;transform:translateY(-2px)}@media(max-width:900px){main{padding:2em 1.5em;width:95%}.hero-content{padding:2em 1.2em;max-width:90%}.about-me{flex-direction:column;text-align:center;gap:1.5em}.photo-grid,.projects-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media(max-width:700px){nav{gap:1em;padding:1em .8em}nav a{font-size:.9em;padding:.3em .8em}.hero h1{font-size:2.2em}.hero p{font-size:1em}.hero-btn{font-size:1em}h1{font-size:2.2em}h2{font-size:1.8em}.sidebar{width:85%;max-width:300px}}@media(max-width:500px){nav{justify-content:space-around;flex-wrap:wrap;padding:.8em .5em}main{padding:1.5em 1em;margin:2em auto}.photo-grid,.projects-list{grid-template-columns:1fr;gap:1.5em}.hero-content{padding:1.5em 1em}.hero h1{font-size:1.8em}h1{font-size:1.8em}h2{font-size:1.5em}.project-card,.posts article{padding:1.2em 1em}}@media(max-width:500px){.animation-toggle{width:40px;height:40px;font-size:1em;bottom:10px;right:10px}.performance-notice{bottom:60px;right:10px;max-width:200px;font-size:.75em}}@media(max-width:600px){.hero{min-height:300px}.hero__title{font-size:2rem}}.container{width:min(72rem,90%);margin-inline:auto;padding-inline:1rem}@container style(--card){.card{grid-template-columns:1fr}}@container style(--card) and (min-width:480px){.card{grid-template-columns:1fr 1fr}}