:root{--font-heading: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--cursor-default: url(/stuff/cursor/Normal%20Select%20Space.ani) 16 16, auto;--cursor-pointer: url(/stuff/cursor/Normal%20Select%20Space.ani) 16 16, pointer;--bg-deep: #020210;--bg-surface: rgba(8, 8, 28, .82);--bg-glass: rgba(12, 12, 40, .65);--accent-blue: #4a90e2;--accent-cyan: #50e3c2;--accent-pink: #e94e77;--accent-orange: #f5a623;--accent-green: #b8e986;--accent-purple: #bd10e0;--accent-gold: #ffd700;--text-primary: #e8edf5;--text-secondary: #9aa8c7;--text-muted: #5a6a8a;--border-glow: rgba(100, 150, 255, .25);--border-glow-strong: rgba(100, 150, 255, .6);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-pill: 999px;--shadow-glow: 0 0 30px rgba(74, 144, 226, .15), 0 0 60px rgba(74, 144, 226, .05);--shadow-crystal: 0 0 20px rgba(100, 180, 255, .3);--transition-smooth: cubic-bezier(.4, 0, .2, 1);--transition-bounce: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-deep);overflow:hidden;font-family:var(--font-body);color:var(--text-primary);cursor:var(--cursor-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,button,[role=button],input,select,textarea,.social-link,.nav-tab,.project-home-card,.carousel-btn,.carousel-thumb,#back-btn,#sound-toggle,#intro-cta,#throttle-btn{cursor:var(--cursor-pointer)}#loading-screen{position:fixed;inset:0;background:radial-gradient(ellipse at center,#0a0a2a,#020210 70%);display:flex;justify-content:center;align-items:center;z-index:200;transition:opacity 1s var(--transition-smooth),visibility 1s}#loading-screen.fade-out{opacity:0;visibility:hidden}.loading-content{display:flex;flex-direction:column;align-items:center;gap:28px}.loading-ring{position:relative;width:120px;height:120px}.loading-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#4a90e21a;stroke-width:3}.ring-progress{fill:none;stroke:url(#ring-gradient);stroke:var(--accent-blue);stroke-width:3;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;transition:stroke-dashoffset .3s ease;filter:drop-shadow(0 0 6px rgba(74,144,226,.6))}.loading-percent{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-heading);font-size:1.4rem;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.loading-name{font-family:var(--font-heading);font-size:.9rem;font-weight:500;letter-spacing:.35em;color:var(--text-secondary);text-transform:uppercase}.loading-sub{font-family:var(--font-body);font-size:.78rem;color:var(--text-muted);animation:loadPulse 2s ease-in-out infinite}@keyframes loadPulse{0%,to{opacity:.4}50%{opacity:1}}#intro-overlay{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:150;pointer-events:none;opacity:0;transition:opacity .8s var(--transition-smooth)}#intro-overlay.visible{opacity:1;pointer-events:auto}#intro-overlay.fade-out{opacity:0;pointer-events:none;transition:opacity 1.2s var(--transition-smooth)}.intro-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.intro-greeting{font-family:var(--font-body);font-size:1.1rem;font-weight:300;color:var(--accent-cyan);letter-spacing:.15em;text-transform:uppercase;opacity:0;transform:translateY(20px);animation:introFadeUp .8s .3s var(--transition-smooth) forwards}.intro-name{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1.1;background:linear-gradient(135deg,#fff,#6ea8ff,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-height:1.2em}.intro-title{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;opacity:0;transform:translateY(20px);animation:introFadeUp .8s 1.8s var(--transition-smooth) forwards}.intro-role{font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--text-secondary)}.intro-sep{color:var(--text-muted)}.intro-cta{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:14px 32px;font-family:var(--font-heading);font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:var(--radius-pill);cursor:pointer;opacity:0;transform:translateY(20px) scale(.95);animation:introFadeUp .8s 2.4s var(--transition-smooth) forwards;transition:transform .3s var(--transition-bounce),box-shadow .3s ease;box-shadow:0 4px 20px #4a90e24d;position:relative;overflow:hidden}.intro-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);transform:translate(-100%);transition:transform .6s ease}.intro-cta:hover:before{transform:translate(100%)}.intro-cta:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 32px #4a90e280}.intro-cta svg{transition:transform .3s ease}.intro-cta:hover svg{transform:translate(4px)}.scroll-indicator{position:absolute;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:introFadeUp .8s 3s var(--transition-smooth) forwards}.scroll-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-blue);animation:scrollBounce 2s ease-in-out infinite}@keyframes introFadeUp{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scrollBounce{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(12px);opacity:1}}#social-bar{position:fixed;bottom:30px;right:30px;display:flex;flex-direction:column;gap:12px;z-index:50;opacity:0;transform:translate(20px);transition:opacity .6s ease,transform .6s ease}#social-bar.visible{opacity:1;transform:translate(0)}.social-link{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--bg-glass);border:1px solid var(--border-glow);color:var(--text-secondary);text-decoration:none;backdrop-filter:blur(12px);transition:all .3s var(--transition-smooth)}.social-link svg{width:18px;height:18px}.social-link:hover{color:#fff;border-color:var(--accent-blue);background:#4a90e233;transform:scale(1.15);box-shadow:0 0 16px #4a90e24d}#sound-toggle{position:fixed;top:24px;right:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-glass);border:1px solid var(--border-glow);color:var(--text-muted);cursor:pointer;z-index:50;backdrop-filter:blur(12px);transition:all .3s ease;opacity:0}#sound-toggle.visible{opacity:1}#sound-toggle svg{width:18px;height:18px}#sound-toggle:hover{color:var(--text-primary);border-color:var(--border-glow-strong);background:#4a90e226}#section-hint{position:fixed;bottom:30px;left:50%;transform:translate(-50%);font-family:var(--font-body);font-size:.85rem;color:var(--text-muted);letter-spacing:.08em;padding:8px 20px;border-radius:var(--radius-pill);background:var(--bg-glass);border:1px solid var(--border-glow);backdrop-filter:blur(12px);z-index:10;opacity:0;transition:opacity .6s ease;animation:hintPulse 3s ease-in-out infinite;pointer-events:none}#section-hint.visible{opacity:1}@keyframes hintPulse{0%,to{border-color:var(--border-glow)}50%{border-color:var(--border-glow-strong)}}.crystal-label{font-family:var(--font-heading);font-size:13px;font-weight:600;color:#fff;letter-spacing:.06em;text-shadow:0 0 12px rgba(100,180,255,.8);background:var(--bg-glass);padding:5px 14px;border-radius:var(--radius-pill);border:1px solid var(--border-glow);opacity:0;pointer-events:none;transition:opacity 1.5s ease .5s,transform .3s ease,background .3s ease;backdrop-filter:blur(6px);user-select:none;white-space:nowrap}.crystal-label.visible{opacity:1;pointer-events:auto}#back-btn{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(20px);display:none;align-items:center;gap:8px;padding:12px 28px;font-family:var(--font-heading);font-size:.9rem;font-weight:500;color:#fff;background:var(--bg-glass);border:1px solid var(--border-glow);border-radius:var(--radius-pill);cursor:pointer;z-index:30;backdrop-filter:blur(16px);transition:all .4s var(--transition-smooth);opacity:0}#back-btn.visible{display:flex;opacity:1;transform:translate(-50%) translateY(0)}#back-btn svg{transition:transform .3s ease}#back-btn:hover{background:#4a90e233;border-color:var(--accent-blue);box-shadow:0 0 20px #4a90e233}#back-btn:hover svg{transform:translate(-3px)}#content-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) translateY(30px);width:min(92vw,640px);max-height:82vh;overflow-y:auto;overflow-x:hidden;background:var(--bg-surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-glow);border-radius:var(--radius-lg);padding:2.5rem;color:var(--text-primary);opacity:0;pointer-events:none;transition:opacity .5s var(--transition-smooth),transform .5s var(--transition-smooth);z-index:20;box-shadow:var(--shadow-glow)}#content-overlay:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#4a90e266,#bd10e033,#4a90e21a);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .5s ease}#content-overlay.visible:before{opacity:1}#content-overlay.visible{opacity:1;transform:translate(-50%,-50%) translateY(0);pointer-events:auto}#content-overlay.projects-mode{width:min(96vw,1240px);max-height:90vh;padding:1.4rem 1.6rem 1.8rem;background:radial-gradient(140% 110% at 12% 0%,#4478e429,#080c1ee6 55%,#040814f2);border-color:#78aaff42}#content-overlay.projects-mode #content-inner h2{margin-bottom:.9rem;padding-bottom:.6rem}#content-overlay.skills-mode{width:min(96vw,1240px);max-height:90vh;padding:1.4rem 1.6rem 1.8rem;background:radial-gradient(140% 110% at 12% 0%,#4478e424,#080c1eeb 55%,#040814f7);border-color:#78aaff42}#content-overlay.skills-mode #content-inner h2{margin-bottom:.9rem;padding-bottom:.6rem}#content-inner h2{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1px solid rgba(100,150,255,.15);background:linear-gradient(135deg,#6ea8ff,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#content-inner .section-icon{font-size:1.4rem;margin-right:8px}#content-inner h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;margin-top:1.4rem;margin-bottom:.4rem;color:#9bb8ff}#content-inner p,#content-inner li{font-family:var(--font-body);font-size:.92rem;line-height:1.7;color:var(--text-secondary)}#content-inner ul{padding-left:1.2rem;margin:.5rem 0;list-style:none}#content-inner ul li{position:relative;padding-left:16px}#content-inner ul li:before{content:"▸";position:absolute;left:0;color:var(--accent-blue);font-size:.8rem}#content-inner a{color:var(--accent-blue);text-decoration:none;border-bottom:1px dashed rgba(110,168,255,.4);transition:all .2s ease}#content-inner a:hover{color:#c084fc;border-color:#c084fc}.skill-pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}.skill-constellation{display:grid;gap:14px;margin-bottom:18px}.skill-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.skill-section{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid rgba(110,168,255,.12);border-radius:14px;background:linear-gradient(180deg,#0c1022b8,#080a1880)}.skill-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.skill-section-head h3{margin:0!important;font-size:.86rem!important;letter-spacing:.12em;text-transform:uppercase;color:#b7c8f8}.skill-section-note{font-size:.72rem;color:var(--text-muted);text-align:right}.skill-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}.skill-logo-group{padding:14px;border:1px solid rgba(110,168,255,.12);border-radius:14px;background:linear-gradient(180deg,#0c1022b3,#080a1880);box-shadow:inset 0 1px #ffffff08}.skill-logo-group-title{font-family:var(--font-heading);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.skill-logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:10px}.skill-logo-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px 12px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);transition:transform .2s ease,border-color .2s ease,background .2s ease}.skill-logo-card--large{min-height:96px}.skill-logo-card:hover{transform:translateY(-2px);border-color:#6ea8ff3d;background:#4a90e214}.skill-logo-card img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(110,168,255,.16))}.skill-logo-card span{font-size:.72rem;color:var(--text-primary);text-align:center;line-height:1.2}.skill-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.skill-tag{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid rgba(110,168,255,.18);background:#4a90e214;color:#dbe8ff;font-size:.78rem;letter-spacing:.02em}@media (max-width: 600px){#content-overlay.skills-mode{width:98vw;max-height:92vh;padding:1rem .95rem 1.25rem}.skill-board{grid-template-columns:1fr}.skill-section-head{flex-direction:column;align-items:flex-start}.skill-section-note{text-align:left}.skill-section-grid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.skill-logo-grid{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.skill-logo-card img{width:30px;height:30px}.skill-logo-card span{font-size:.68rem}}.skill-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;font-family:var(--font-body);font-size:.78rem;font-weight:500;color:#fff;border-radius:var(--radius-pill);border:1px solid;opacity:0;transform:translateY(8px);animation:pillFadeIn .4s var(--transition-smooth) forwards}@keyframes pillFadeIn{to{opacity:1;transform:translateY(0)}}.pill-lang{background:#4a90e226;border-color:#4a90e24d;color:#6ea8ff}.pill-backend{background:#50e3c21f;border-color:#50e3c24d;color:#50e3c2}.pill-frontend{background:#e94e771f;border-color:#e94e774d;color:#e94e77}.pill-db{background:#f5a6231f;border-color:#f5a6234d;color:#f5a623}.pill-devops{background:#b8e9861f;border-color:#b8e9864d;color:#b8e986}.pill-ml{background:#bd10e01f;border-color:#bd10e04d;color:#d06ef5}.timeline-item{position:relative;padding-left:24px;padding-bottom:20px;border-left:2px solid rgba(100,150,255,.15);margin-left:8px}#content-inner p{line-height:1.7;color:#ffffffe6;margin-bottom:20px}#content-overlay.dyson-mode{left:10%;transform:translateY(-50%);background:transparent;backdrop-filter:none;box-shadow:none;border:none;width:350px}#content-overlay.dyson-mode:before{display:none}#content-overlay.dyson-mode #content-inner{max-width:100%;background:transparent;border:none;box-shadow:none;padding:0}#content-overlay.dyson-mode h2{font-size:1.6rem;color:#fa4;border-bottom:1px solid rgba(255,170,68,.3)}#content-overlay.dyson-mode p{font-size:.95rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.8)}@media (max-width: 768px){#content-overlay.dyson-mode{left:50%;top:auto;bottom:10%;transform:translate(-50%);width:90%;text-align:center}}.timeline-item:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--accent-blue);box-shadow:0 0 8px #4a90e280}.timeline-item:last-child{border-left-color:transparent}.timeline-date{font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.project-card{background:#ffffff08;border:1px solid rgba(100,150,255,.1);border-radius:var(--radius-md);padding:16px 18px;margin:12px 0;transition:all .3s ease}.project-card:hover{border-color:#6496ff4d;background:#ffffff0d}.project-card h3{margin-top:0!important}.project-tech{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tech-badge{padding:2px 10px;font-family:var(--font-body);font-size:.72rem;font-weight:500;border-radius:var(--radius-pill);background:#4a90e21a;color:var(--accent-blue);border:1px solid rgba(74,144,226,.2)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0}.stat-card{text-align:center;padding:16px;background:#ffffff08;border:1px solid rgba(100,150,255,.1);border-radius:var(--radius-md);transition:all .3s ease}.stat-card:hover{border-color:#6496ff4d;transform:translateY(-2px)}.stat-number{font-family:var(--font-heading);font-size:2rem;font-weight:700;background:linear-gradient(135deg,#6ea8ff,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);margin-top:4px}.content-animate{opacity:0;transform:translateY(12px);animation:contentSlideIn .5s var(--transition-smooth) forwards}@keyframes contentSlideIn{to{opacity:1;transform:translateY(0)}}#content-overlay::-webkit-scrollbar{width:5px}#content-overlay::-webkit-scrollbar-track{background:transparent}#content-overlay::-webkit-scrollbar-thumb{background:#6496ff4d;border-radius:3px}#content-overlay::-webkit-scrollbar-thumb:hover{background:#6496ff80}@media (max-width: 768px){.intro-name{font-size:clamp(2rem,8vw,3.5rem)}.intro-title{flex-direction:column;gap:4px}.intro-sep{display:none}.intro-cta{padding:12px 24px;font-size:.85rem}#social-bar{bottom:20px;right:16px;gap:10px}.social-link{width:36px;height:36px}.social-link svg{width:15px;height:15px}}@media (max-width: 600px){.crystal-label{font-size:11px;padding:3px 10px}#back-btn{bottom:20px;padding:10px 20px;font-size:.8rem}#content-overlay{width:96vw;padding:1.5rem;border-radius:var(--radius-md)}#content-inner h2{font-size:1.4rem}#content-inner h3{font-size:.95rem}#content-inner p,#content-inner li{font-size:.82rem}.projects-grid{grid-template-columns:1fr}}.projects-shell{display:flex;flex-direction:column;gap:14px}.projects-nav{display:flex;gap:10px;padding-bottom:8px;overflow-x:auto}.projects-nav::-webkit-scrollbar{height:4px}.projects-nav::-webkit-scrollbar-thumb{background:#6ea8ff73;border-radius:4px}.nav-tab{border:1px solid rgba(110,168,255,.18);background:#0a10228c;color:#e1ebffb8;font-family:var(--font-heading);font-size:.85rem;font-weight:600;letter-spacing:.02em;padding:8px 14px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:all .25s ease}.nav-tab:hover{border-color:#6ea8ff66;color:#fff;transform:translateY(-1px)}.nav-tab.active{background:linear-gradient(135deg,#6ea8ff4d,#c084fc33);border-color:#6ea8ff80;color:#fff;box-shadow:0 8px 20px #2a56a859}.projects-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.project-home-card{position:relative;border-radius:4px;overflow:hidden;border:1px solid rgba(160,190,255,.2);background:linear-gradient(175deg,#070e22eb,#040a18e0);cursor:pointer;transition:transform .35s var(--transition-smooth),border-color .35s ease,box-shadow .35s ease;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}.project-home-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,color-mix(in srgb,var(--project-accent, #6ea8ff) 26%,transparent 74%) 0%,transparent 42%),repeating-linear-gradient(90deg,rgba(156,191,255,.05) 0 1px,transparent 1px 20px);opacity:.75}.project-home-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--project-accent, #6ea8ff) 65%,white 35%);box-shadow:0 22px 35px #040a1999,0 0 30px color-mix(in srgb,var(--project-accent, #6ea8ff) 35%,transparent 65%)}.project-home-media-wrap{position:relative;height:180px;overflow:hidden}.project-home-img{width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform .5s ease}.project-home-card:hover .project-home-img{transform:scale(1.06)}.project-home-overlay{position:absolute;inset:0;background:linear-gradient(to top,#020814cc,#02081440,#0208140d),radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--project-accent, #6ea8ff) 55%,transparent 45%) 0%,transparent 60%)}.project-home-meta-top{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center}.project-home-info{padding:14px 14px 16px;position:relative;z-index:1}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-home-info h3{margin-top:0!important;margin-bottom:2px!important;font-size:1.08rem!important;color:#f3f7ff!important;letter-spacing:.01em}.project-subtitle{font-size:.78rem!important;color:#bccfffdb!important;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px!important}.project-open-hint{font-size:.72rem;color:#d2e0ffb3;border:1px solid rgba(190,212,255,.25);border-radius:7px;padding:3px 8px}.project-home-info p{font-size:.86rem!important;color:#e7eeffbd!important;line-height:1.55!important;margin-bottom:12px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-tech-mini{display:flex;flex-wrap:wrap;gap:6px}.project-chip,.project-year{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.project-chip{background:color-mix(in srgb,var(--project-accent, #6ea8ff) 32%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--project-accent, #6ea8ff) 42%,rgba(255,255,255,.2));color:#f3f7ff;padding:4px 9px}.project-year{color:#dce6ffd9;border:1px solid rgba(190,210,255,.2);background:#060c1a8c;padding:4px 8px}.project-detail{display:flex;flex-direction:column;gap:16px;padding-bottom:6px}.project-carousel{position:relative;width:100%;border-radius:4px;overflow:hidden;border:1px solid color-mix(in srgb,var(--project-accent, #6ea8ff) 35%,rgba(255,255,255,.16));background:#060c1acc;height:420px;box-shadow:0 20px 30px #0508148c;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}#carousel-img{width:100%;height:100%;object-fit:contain;background:radial-gradient(circle at center,#6d88da1f,#060c1af0 65%);transition:opacity .3s ease}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:8px;background:#0a0f1cad;color:#ecf2ffe0;border:1px solid rgba(190,210,255,.22);font-size:1.1rem;cursor:pointer;z-index:2;transition:all .25s ease}.carousel-btn:hover{background:color-mix(in srgb,var(--project-accent, #6ea8ff) 42%,rgba(10,15,28,.58));border-color:color-mix(in srgb,var(--project-accent, #6ea8ff) 52%,white 48%);color:#fff}.prev-btn{left:10px}.next-btn{right:10px}.carousel-indicators{position:absolute;left:50%;bottom:10px;transform:translate(-50%);display:flex;gap:8px}.carousel-indicators .dot{width:8px;height:8px;border-radius:50%;background:#e4ecff66;transition:all .2s ease}.carousel-indicators .dot.active{background:#fff;box-shadow:0 0 10px #fffc}.carousel-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.carousel-thumbs::-webkit-scrollbar{height:4px}.carousel-thumbs::-webkit-scrollbar-thumb{background:#aac4ff59;border-radius:999px}.carousel-thumb{flex:0 0 auto;width:52px;height:52px;border:1px solid rgba(170,196,255,.24);border-radius:4px;overflow:hidden;padding:0;background:#0c1224cc;cursor:pointer;transition:border-color .25s ease,transform .25s ease;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}.carousel-thumb img{width:100%;height:74px;object-fit:cover;display:block}.carousel-thumb img{height:100%}.carousel-thumb:hover{transform:translateY(-2px)}.carousel-thumb.active{border-color:color-mix(in srgb,var(--project-accent, #6ea8ff) 68%,white 32%);box-shadow:0 0 0 1px color-mix(in srgb,var(--project-accent, #6ea8ff) 50%,transparent 50%)}.project-detail-info{border-radius:4px;border:1px solid rgba(170,196,255,.16);background:#080e1eb8;padding:16px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}.project-detail-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.project-detail-meta{display:flex;gap:8px;flex-wrap:wrap}.project-detail-info h2{font-size:1.45rem!important;margin-bottom:4px!important;border:none!important;padding:0!important}.project-tech{margin:10px 0 12px}.project-description{font-size:.9rem!important;line-height:1.75!important;color:#e6edffc7!important;margin-bottom:12px!important}.project-impact-block{margin-bottom:14px}.project-impact-block h3{margin:0 0 8px!important;font-size:.92rem!important;letter-spacing:.05em;text-transform:uppercase}.project-impact-block ul{margin:0!important}.project-impact-block li{font-size:.88rem!important;color:#e9f0ffbf!important}.project-links{display:flex;flex-wrap:wrap;gap:10px}.project-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:8px;border:1px solid rgba(180,204,255,.28)!important;text-decoration:none!important;color:#f5f8ff!important;background:#12192ecc;font-size:.82rem;font-weight:600;letter-spacing:.02em;transition:all .25s ease}.project-link:hover{border-color:color-mix(in srgb,var(--project-accent, #6ea8ff) 60%,white 40%)!important;background:color-mix(in srgb,var(--project-accent, #6ea8ff) 25%,rgba(18,25,46,.8));transform:translateY(-1px)}@media (max-width: 768px){#content-overlay.projects-mode{width:98vw;max-height:92vh;padding:1rem .95rem 1.25rem}#content-overlay.projects-mode #content-inner h2{font-size:1.35rem}.project-carousel{height:300px}.project-home-media-wrap{height:160px}.project-detail-head{flex-direction:column}.project-detail-meta{width:100%}.carousel-thumb{width:44px;height:44px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-number{font-size:1.5rem}.loading-ring{width:90px;height:90px}.loading-percent{font-size:1.1rem}}#dive-flash{position:fixed;inset:0;background:#fff;z-index:500;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease}#dive-flash.active{visibility:visible;opacity:1}#driving-hud{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:var(--bg-glass);border:1px solid rgba(255,255,255,.1);padding:12px 24px;border-radius:var(--radius-pill);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:50;opacity:0;visibility:hidden;transition:opacity .5s var(--transition-smooth),transform .5s var(--transition-bounce);pointer-events:none;box-shadow:0 4px 20px #00000080}#driving-hud.visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.hud-content{color:var(--text-secondary);font-size:.9rem;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.hud-keys{background:#ffffff1a;padding:4px 8px;border-radius:4px;font-family:monospace;color:var(--text-primary);font-weight:600;letter-spacing:2px}.screen-title-label{background:#0a0f1ed9;border:1px solid var(--accent-blue);padding:12px 20px;border-radius:var(--radius-md);color:#fff;text-align:center;backdrop-filter:blur(8px);pointer-events:none;min-width:200px;box-shadow:0 0 20px #4a90e24d}.screen-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}.screen-subtitle{font-size:.8rem;color:var(--text-secondary);margin-bottom:8px}.screen-tech{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.screen-tech-badge{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-size:.7rem;color:var(--text-primary)}.screen-prompt{background:var(--bg-surface);border:1px solid var(--accent-pink);padding:10px 20px;border-radius:var(--radius-pill);font-weight:600;color:#fff;pointer-events:none;box-shadow:0 0 20px #e94e7780;animation:promptPulse 2s infinite}.prompt-key{background:var(--accent-pink);padding:2px 8px;border-radius:4px;color:#fff;margin-right:6px}@keyframes promptPulse{0%{transform:scale(1);box-shadow:0 0 10px #e94e774d}50%{transform:scale(1.05);box-shadow:0 0 25px #e94e7799}to{transform:scale(1);box-shadow:0 0 10px #e94e774d}}#mobile-controls{position:fixed;bottom:20px;left:0;right:0;display:none;justify-content:space-between;padding:0 30px;z-index:50;pointer-events:none}#mobile-controls.visible{display:flex}#joystick-zone{width:120px;height:120px;background:#ffffff1a;border-radius:50%;position:relative;border:2px solid rgba(255,255,255,.2);pointer-events:auto}#joystick-knob{width:50px;height:50px;background:#4a90e299;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.8)}#throttle-btn{width:100px;height:100px;background:#e94e7766;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:flex;justify-content:center;align-items:center;font-weight:700;color:#fff;pointer-events:auto;user-select:none}#throttle-btn:active{background:#e94e77cc}
