:root{color-scheme:dark;--bg: #080610;--glass: rgba(24, 16, 44, .55);--glass-strong: rgba(31, 20, 57, .72);--line: rgba(187, 138, 255, .26);--text: #eee8ff;--muted: #c2b0e3}@keyframes rise-in{0%{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;color:var(--text);font-family:Segoe UI,Tahoma,sans-serif;background:radial-gradient(circle at 15% 15%,rgba(120,69,255,.22),transparent 36%),radial-gradient(circle at 88% 10%,rgba(200,88,255,.16),transparent 34%),radial-gradient(circle at 50% 100%,rgba(62,27,125,.24),transparent 34%),var(--bg)}a{color:#f1d6ff}.app-noise{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(-30deg,transparent 0,transparent 14px,rgba(220,170,255,.02) 15px,rgba(220,170,255,.02) 16px);z-index:-1}.portfolio-shell{max-width:1600px;margin:0 auto;padding:1.2rem;position:relative}.frosted-panel{background:linear-gradient(145deg,var(--glass),var(--glass-strong));border:1px solid var(--line);box-shadow:0 14px 40px #05030a59;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.top-nav{border-radius:14px;margin-bottom:1rem;animation:drop-in .36s ease both}.top-nav-inner{display:flex;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem}.top-nav-links{display:flex;gap:.5rem;justify-content:center;width:100%}.top-nav-link{padding:.56rem .74rem;font-size:.95rem;border-radius:8px;text-decoration:none;transition:transform .13s ease,filter .13s ease,background .18s ease}.top-nav-link-active{background:linear-gradient(135deg,#7b36d4f2,#ae58fff2)}.portfolio-main{display:grid;gap:1rem}.portfolio-hero{border-radius:16px;padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;animation:rise-in .46s ease 80ms both}.portfolio-hero-copy{display:grid;gap:.25rem}.portfolio-hero h1{margin:0;font-size:clamp(1.35rem,2vw,1.95rem)}.portfolio-hero p{margin:.35rem 0 0;color:var(--muted)}.portfolio-contact{min-width:250px;border:1px solid var(--line);border-radius:12px;padding:.65rem;background:#0f0a1c99;display:grid;gap:.22rem;animation:rise-in .42s ease .18s both}.portfolio-contact code{color:#f2daff;font-size:.82rem;word-break:break-all}.portfolio-card{border-radius:14px;padding:.95rem;animation:rise-in .44s cubic-bezier(.22,.8,.22,1) both}.portfolio-card h2{margin:0 0 .55rem;font-size:1.02rem}.portfolio-projects{margin-top:1rem}.portfolio-head{display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem;flex-wrap:wrap}.project-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;min-width:0}.project-card{border:1px solid rgba(190,141,255,.22);border-radius:12px;padding:.72rem;background:#0a071294;display:flex;flex-direction:column;gap:.64rem;min-width:0;animation:rise-in .4s ease both}.project-card:hover{border-color:#d4aaff85;box-shadow:0 0 0 1px #bc86ff47 inset}.project-card-head{display:flex;gap:.62rem;align-items:flex-start}.project-card-head h3{margin:0;max-width:560px;white-space:normal;overflow-wrap:anywhere}.project-card-head p{margin:0}.project-card-category-row{margin:0 0 .35rem}.project-category-badge{border-radius:999px;padding:.14rem .42rem;font-size:.73rem;border:1px solid rgba(194,148,255,.4);background:#743ac161;color:#e2cdff}.project-summary{margin:.45rem 0 0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.project-image{width:100%;border-radius:10px;border:1px solid rgba(193,146,255,.28);margin-top:.2rem}.project-image-large{margin-top:0;max-width:100%;display:block}.project-image-gallery{margin-top:.85rem;display:grid;gap:.7rem}.project-image-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-image-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;background:transparent;cursor:zoom-in;text-align:left}.project-image-trigger .project-image{width:100%;aspect-ratio:16 / 9;object-fit:cover}.project-gallery-pagination{margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap}.project-gallery-page-btn{border-radius:8px;border:1px solid rgba(195,150,255,.44);background:linear-gradient(135deg,#7b36d4f2,#ae58fff2);color:#fff;padding:.45rem .68rem;cursor:pointer}.project-gallery-page-btn:disabled{opacity:.45;cursor:not-allowed}.project-image-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;border:0;background:#06040ed1;display:grid;place-items:center;padding:0;margin:0;cursor:zoom-out}.project-image-modal-content{width:80vw;height:80vh;object-fit:contain;border-radius:12px;border:1px solid rgba(193,146,255,.38);box-shadow:0 20px 48px #05030a8c}.project-card-actions{margin-top:auto;display:flex;justify-content:center}.project-card-no-image{justify-content:center}.project-card-no-image .project-card-head{flex-direction:column;align-items:center;justify-content:center;gap:.4rem}.project-card-no-image .project-card-head>div:last-child{text-align:center}.project-card-no-image .project-card-head h3{text-align:center}.project-card-no-image .project-summary{margin:.4rem 0 0;text-align:center;display:block;-webkit-line-clamp:unset;overflow:visible}.project-card-no-image .project-card-actions{margin-top:.8rem}.action-link{border-radius:8px;border:1px solid rgba(195,150,255,.44);background:linear-gradient(135deg,#7b36d4f2,#ae58fff2);color:#fff;padding:.56rem .74rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:.13s ease}.action-link:hover{transform:translateY(-1px);filter:brightness(1.08)}.project-detail{width:100%;max-width:100%}.project-links{margin-top:.8rem;border-top:1px solid rgba(187,138,255,.2);padding-top:.6rem;display:grid;gap:.3rem}.project-links p{margin:0}.project-demo-credentials{margin-top:.8rem;border-top:1px solid rgba(187,138,255,.2);padding-top:.6rem;display:grid;gap:.35rem}.project-demo-credentials h3,.project-demo-credentials p{margin:0}.project-detail-actions{margin-top:.3rem;width:100%}.portfolio-not-found{text-align:center;justify-items:center}.portfolio-footer{margin-top:1.2rem;padding:.6rem .4rem;text-align:center;color:var(--muted);border-top:1px solid rgba(187,138,255,.2);animation:fade-in .44s ease .22s both}@media(max-width:1280px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.portfolio-shell{padding:.9rem}.top-nav-inner{flex-direction:column;align-items:center}.project-grid{grid-template-columns:1fr}.project-image-modal-content{width:92vw;height:78vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
