html{scroll-behavior:smooth}section[id]{scroll-margin-top:5rem}body{background:#030303}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#030303}::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:9999px}.hero-bg{background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(156,163,175,.2) 0%,transparent 70%)}.inline-app-frame{display:block;width:100%;min-height:480px;border:0;background:transparent}.tag{display:inline-block;font-size:.7rem;font-weight:600;background:#d1d5db1a;color:#d1d5db;border:1px solid rgba(209,213,219,.2);padding:2px 10px;border-radius:9999px}.card{background:#111827;border:1px solid #1f2937;border-radius:1rem;transition:border-color .3s}.card:hover{border-color:#d1d5db73}.nav-scrolled{background:#030303e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #1f2937}.timeline-item:nth-child(2n) .timeline-content{margin-left:auto}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .6s ease forwards}.fade-up-delay-1{animation:fadeUp .6s .1s ease both}.fade-up-delay-2{animation:fadeUp .6s .2s ease both}.fade-up-delay-3{animation:fadeUp .6s .3s ease both}.social-link{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#111827;border:1px solid #1f2937;border-radius:12px;color:#d1d5db;text-decoration:none;transition:all .3s}.social-link:hover{border-color:#9ca3af;color:#fff;transform:translate(4px)}.social-icon{width:40px;height:40px;background:#d1d5db1a;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.curriculum-viewer{overflow:hidden;padding:1rem}.curriculum-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.curriculum-upload{display:inline-flex;align-items:center;padding:.65rem 1rem;border:1px solid #6b7280;border-radius:.65rem;color:#f9fafb;background:#374151;font-size:.875rem;font-weight:600;cursor:pointer}.curriculum-upload:hover,.curriculum-upload:focus-within{background:#4b5563}a.curriculum-upload{text-decoration:none}.curriculum-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.curriculum-filename{color:#9ca3af;font-size:.875rem}.curriculum-document{display:block;width:100%;height:min(80vh,900px);border:0;background:#fff}.curriculum-document p,.curriculum-placeholder{padding:1.5rem;color:#d1d5db;line-height:1.6}.curriculum-document a{color:#cbd5e1;text-decoration:underline}@media (min-width: 1024px) and (max-width: 1279px){#navbar>div:first-child{padding-left:1rem;padding-right:1rem}#navbar ul{font-size:.8rem}}.swarm-cursor{position:relative;width:100%;height:100%;overflow:hidden}.swarm-cursor-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;pointer-events:none}.swarm-cursor-content{position:relative;width:100%;height:100%}.skills-globe{position:relative;width:100%;height:clamp(340px,62vw,560px);overflow:hidden;touch-action:none;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.skills-globe:active{cursor:grabbing}.skills-globe-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.skills-globe-layer{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;list-style:none}.skills-globe-item{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:48px;height:48px;color:var(--skill);background:#fff;border:1px solid rgba(0,51,79,.1);border-radius:50%;box-shadow:0 2px 4px #00334f14,0 8px 18px -6px #00334f4d;text-decoration:none;will-change:transform,opacity;transition:box-shadow .2s ease,border-color .2s ease}.skills-globe-item svg{width:26px;height:26px;transition:transform .2s ease}.skills-globe-item:hover,.skills-globe-item:focus-visible{border-color:var(--skill);box-shadow:0 0 0 3px color-mix(in srgb,var(--skill) 25%,transparent),0 10px 24px -6px #00334f59;outline:none}.skills-globe-item:hover svg,.skills-globe-item:focus-visible svg{transform:scale(1.15)}.skills-globe-label{position:absolute;top:calc(100% + 6px);left:50%;padding:.25rem .6rem;color:#fff;background:var(--globe-color, #005380);border-radius:6px;font-size:.72rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,-4px);transition:opacity .15s ease,transform .15s ease}.skills-globe-item:hover .skills-globe-label,.skills-globe-item:focus-visible .skills-globe-label{opacity:1;transform:translate(-50%)}@media (max-width: 480px){.skills-globe-item{width:40px;height:40px}.skills-globe-item svg{width:21px;height:21px}}@media (prefers-reduced-motion: reduce){.skills-globe-item,.skills-globe-item svg,.skills-globe-label{transition:none}}.skills-section{--sk-brand: #d1d5db;--sk-brand-deep: #9ca3af;--sk-muted: #9ca3af;--sk-border: #374151;--sk-surface: #1f2937;display:flex;flex-direction:column;gap:1.25rem}.skills-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.skills-chips{display:flex;flex-wrap:wrap;gap:.5rem}.skills-chips button,.skills-view button{display:inline-flex;align-items:center;gap:.4rem;height:36px;padding:0 .9rem;color:var(--sk-muted);background:#111827;border:1px solid var(--sk-border);border-radius:999px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.skills-chips button span{padding:0 .4rem;color:var(--sk-brand);background:var(--sk-surface);border-radius:999px;font-size:.72rem;font-weight:600}.skills-chips button:hover,.skills-view button:hover{color:var(--sk-brand);border-color:var(--sk-brand)}.skills-chips button.active{color:#111827;background:#d1d5db;border-color:var(--sk-brand)}.skills-chips button.active span{color:#111827;background:#f9fafb}.skills-view{display:inline-flex;gap:4px;padding:4px;background:var(--sk-surface);border-radius:10px}.skills-view button{height:32px;background:transparent;border:none;border-radius:8px}.skills-view button.active{color:#fff;background:#4b5563}.skills-hint{margin-top:-.5rem;color:var(--sk-muted);font-size:.8rem;text-align:center}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem;list-style:none}.skills-grid a{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:1.1rem .75rem;color:#f3f4f6;background:#111827;border:1px solid var(--sk-border);border-radius:12px;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.skills-globe-item{background:#111827;border-color:#d1d5db33}.skills-grid a:hover{border-color:var(--skill);box-shadow:0 10px 24px -12px #00334f59;transform:translateY(-2px)}.skills-grid svg{width:34px;height:34px;color:var(--skill)}.skills-grid span{font-size:.9rem;font-weight:600}.skills-grid small{color:var(--sk-muted);font-size:.72rem}@media (prefers-reduced-motion: reduce){.skills-grid a,.skills-chips button,.skills-view button{transition:none}}
