@font-face{font-family:Editorial New;src:url(/fonts/PPEditorialNew-Ultrabold-BF644b21500840c.otf)format("opentype");font-weight:800;font-style:normal}:root{--bg-color:#f1f5f9;--primary-rgb:0, 82, 204;--primary-color:rgb(var(--primary-rgb));--text-primary:var(--primary-color);--text-secondary:rgba(var(--primary-rgb), .7);--border-color:rgba(var(--primary-rgb), .55);--terminal-bg:rgba(var(--primary-rgb), .05);--font-sans:"Inter", sans-serif;--font-mono:"Courier Prime", monospace;--font-serif:"Editorial New", "Fraunces", serif;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem}*{box-sizing:border-box;margin:0;padding:0}.bg-image{opacity:.35;z-index:-1;background-image:url(/images/bg.png);background-position:50%;background-repeat:repeat;background-size:cover;width:100vw;height:100vh;position:fixed;top:0;left:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);text-transform:uppercase;-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}.texture-overlay{pointer-events:none;z-index:100;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.container{max-width:1600px;padding:var(--spacing-md);z-index:1;margin:0 auto;position:relative}h1,h2,h3,h4{letter-spacing:.05em;font-weight:900;line-height:1.1}h1{font-size:2.5rem}.logo-font{font-family:var(--font-serif);letter-spacing:normal;text-transform:uppercase;font-style:italic;font-weight:800;line-height:.95}.hero-title{margin-bottom:var(--spacing-sm);text-align:center;font-size:4rem}.hero-desc{text-transform:none;color:var(--text-secondary);text-align:center;max-width:600px;margin:0 auto var(--spacing-lg);font-size:1.125rem}.badge{border:1px solid var(--text-primary);letter-spacing:.05em;border-radius:50px;margin-bottom:2rem;padding:.5rem 1rem;font-size:.8rem;display:inline-block}.cta-button{font-family:var(--font-mono);text-transform:uppercase;border:1px solid var(--text-primary);padding:.75rem 1.5rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-block}.cta-button.primary{background-color:var(--text-primary);color:var(--bg-color)}.cta-button.primary:hover,.cta-button.secondary{color:var(--text-primary);background-color:#0000}.cta-button.secondary:hover{background-color:var(--text-primary);color:var(--bg-color)}a{color:inherit;text-decoration:none}.grid-header{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);grid-template-columns:auto 1fr 1fr 1fr 1.5fr;align-items:center;display:grid}.grid-header>div{padding:var(--spacing-sm) var(--spacing-md);align-items:center;height:100%;display:flex}.col-border-right{border-right:1px solid var(--border-color)}.nav-link{font-family:var(--font-mono);letter-spacing:.15em;font-size:.85rem;position:relative}.cursor{background-color:var(--text-primary);vertical-align:text-bottom;opacity:0;width:8px;height:1em;display:inline-block}.nav-link:hover .cursor{opacity:1}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.blink.cursor{animation:1s step-end infinite blink}.nav-link.active{color:var(--bg-color);background-color:var(--text-primary);padding:.25rem .5rem}.nav-link.active .cursor{display:none}.header-nav-split{justify-content:space-between}.github-icon{align-items:center;padding:.25rem;transition:all .2s;display:flex}.github-icon:hover{color:var(--bg-color);background-color:var(--text-primary)}.lang-switcher{align-items:center;gap:.25rem;margin-left:auto;margin-right:1.5rem;display:flex}.lang-btn{color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;padding:.15rem .35rem;font-size:.75rem;transition:all .2s}.lang-btn.active{background-color:var(--text-primary);color:var(--bg-color)}.lang-btn:hover:not(.active){background-color:rgba(var(--primary-rgb), .15)}.lang-separator{color:var(--border-color);user-select:none;font-size:.75rem}.hero-section{justify-content:center;padding:6rem 0;display:flex}.hero-content{flex-direction:column;align-items:center;width:100%;max-width:600px;display:flex}.hero-description{text-align:center;font-size:1.25rem;font-weight:500;line-height:1.6}.hero-ctas{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:2.5rem;display:flex}.install-block{gap:var(--spacing-sm);flex-direction:column;width:100%;display:flex}.tabs{border-bottom:1px solid var(--border-color);display:flex}.tab{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;text-transform:uppercase;background:0 0;border:none;padding:.5rem 1rem;font-size:.8rem}.tab.active{color:var(--text-primary);border-bottom:1px solid var(--text-primary);margin-bottom:-1px}.code-box{flex-direction:column;gap:.25rem;display:flex}.code-header{justify-content:space-between;align-items:center;display:flex}.label,.copy-btn{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-secondary);font-size:.75rem}.copy-btn{cursor:pointer;text-transform:uppercase;background:0 0;border:none}.copy-btn:hover{color:var(--text-primary)}.code-content{background-color:var(--terminal-bg);border:1px solid var(--border-color);padding:.75rem 1rem}.code-content code{font-family:var(--font-mono);text-transform:lowercase;font-size:.85rem}.grid-section{margin-top:var(--spacing-lg);border-top:1px solid var(--border-color);grid-template-columns:1fr 3fr;display:grid}.section-header,.section-title-full{padding:var(--spacing-md) 0}.section-header h3,.section-title-full h3{font-family:var(--font-mono);letter-spacing:.15em;font-size:.9rem}.section-header{padding-right:var(--spacing-md);flex-direction:column;justify-content:space-between;display:flex}.slider-controls{gap:.5rem;margin-top:1.5rem;display:flex}.slider-btn{border:1px solid var(--text-primary);color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:.5rem 1rem;font-size:1rem;font-weight:700;transition:all .2s}.slider-btn:hover{background-color:var(--text-primary);color:var(--bg-color)}.terminal-container{padding-left:var(--spacing-md);padding-top:var(--spacing-md)}.terminal-window{border:3px double var(--text-primary);background-color:var(--bg-color);height:100%}.terminal-header{border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.dots{gap:.4rem;display:flex}.dot{background-color:var(--text-primary);border-radius:50%;width:8px;height:8px}.dot:nth-child(2){opacity:.6}.dot:nth-child(3){opacity:.3}.terminal-title{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-secondary);font-size:.75rem}.terminal-body{font-family:var(--font-mono);text-transform:none;min-height:300px;padding:1.5rem;font-size:.85rem;line-height:1.7}.typewriter-text{white-space:pre-wrap}.typewriter-text:after{content:"";background-color:var(--text-primary);vertical-align:text-bottom;width:8px;height:1em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}.feature-section{display:block}.feature-grid{border-top:1px solid var(--border-color);border-left:1px solid var(--border-color);grid-template-columns:repeat(3,1fr);display:grid}.feature-card{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:var(--spacing-md)}.feature-card h4{font-family:var(--font-mono);letter-spacing:.15em;margin-bottom:var(--spacing-sm);font-size:.85rem}.feature-card p{text-transform:none;color:var(--text-secondary);font-size:.95rem}.projects-slider-container{scroll-snap-type:x mandatory;scroll-behavior:smooth;width:100%;min-width:0;padding-bottom:var(--spacing-sm);-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto}.projects-slider-container::-webkit-scrollbar{display:none}.projects-track{width:max-content;padding:var(--spacing-md);gap:2.5rem;padding-left:0;display:flex}.project-card{scroll-snap-align:start;border:1px solid var(--text-primary);cursor:pointer;background-color:#0000;flex-direction:column;gap:1rem;width:clamp(280px,85vw,380px);padding:1.5rem;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative}.project-card:hover{background-color:var(--terminal-bg)}.glitch-wrapper{aspect-ratio:16/9;border:1px solid var(--text-primary);background-color:#0000;width:100%;transition:box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.project-card:hover .glitch-wrapper{box-shadow:0 0 15px rgba(var(--primary-rgb), .4), inset 0 0 10px rgba(var(--primary-rgb), .2);border-color:rgba(var(--primary-rgb), 1)}.glitch-image{object-fit:cover;width:100%;height:100%;transition:all .3s}.project-card:hover .glitch-image{transform:scale(1.05)}.scanlines{pointer-events:none;z-index:2;opacity:.1;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff26 3px);width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.project-card:hover .scanlines{opacity:.7;animation:3s linear infinite scanline-scroll}@keyframes scanline-scroll{0%{background-position:0 0}to{background-position:0 30px}}.project-card h4{font-size:1.1rem;font-family:var(--font-mono);margin-bottom:.5rem}.project-card p{color:var(--text-primary);opacity:.8;font-size:.9rem}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.project-tag{font-family:var(--font-mono);border:1px dashed var(--border-color);color:var(--text-primary);background-color:rgba(var(--primary-rgb), .05);padding:.2rem .5rem;font-size:.7rem}.project-btn{border:1px solid var(--text-primary);font-family:var(--font-mono);color:var(--text-primary);text-align:center;background:0 0;margin-top:auto;padding:.75rem .8rem;font-size:.8rem;text-decoration:none;transition:all .2s;display:inline-block}.project-card:hover .project-btn{background-color:var(--text-primary);color:var(--bg-color);letter-spacing:.1em}.project-btn:hover{background:var(--text-primary);color:var(--bg-color)}.grid-footer{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin-top:var(--spacing-lg);grid-template-columns:auto auto 1fr auto auto;display:grid}.grid-footer>div{padding:var(--spacing-sm) var(--spacing-md)}.footer-text,.footer-link{font-family:var(--font-mono);letter-spacing:.15em;color:var(--text-secondary);font-size:.85rem}.v-text,.footer-link:hover{color:var(--text-primary)}@media (width<=1024px){.grid-header{grid-template-columns:1fr auto}.header-nav,.header-socials{display:none!important}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hero-title{text-align:center;word-wrap:break-word;font-size:clamp(2rem,8vw,3rem)!important}.hero-description{text-align:center;text-transform:none;margin-bottom:1.5rem;padding:0 1rem;font-size:1rem!important}.hero-ctas{flex-direction:column;gap:.75rem;width:100%;padding:0 1rem}.hero-ctas .cta-button{text-align:center;width:100%;padding:.75rem 1rem;display:block}.draggable-wrapper{display:none!important}.grid-section{grid-template-columns:1fr}.terminal-container{width:100%;min-width:0;padding-left:0;overflow:hidden}.terminal-window{min-width:0;overflow:hidden}.terminal-header{flex-wrap:wrap}.terminal-body{padding:1rem}#terminal-body-qa{height:auto;min-height:400px}.terminal-input-line{flex-direction:column;align-items:flex-start;gap:.25rem}.terminal-prompt{width:100%;font-size:.75rem}#terminal-input{width:100%}.terminal-suggestions{max-height:120px}.feature-grid{grid-template-columns:1fr}.grid-footer{text-align:center;grid-template-columns:1fr}.col-border-right{border-right:none;border-bottom:1px solid var(--border-color)}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(60px)}.reveal.show{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:all .8s;transform:translate(-80px)}.reveal-left.show{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transition:all .8s;transform:translate(80px)}.reveal-right.show{opacity:1;transform:translate(0)}.project-card{opacity:0;transform:translateY(80px)}.project-card.show{opacity:1;transform:translateY(0)}.bg-image{transition:transform .2s linear}.scramble{display:inline-block}.hero-title{text-shadow:0 0 20px rgba(var(--primary-rgb), .2), 0 0 40px rgba(var(--primary-rgb), .15)}}.reveal{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.show{opacity:1;transform:none}.project-card{will-change:transform;transition:box-shadow .3s cubic-bezier(.16,1,.3,1)}.scramble{display:inline-block}.hero-title{letter-spacing:-.05em;text-shadow:0 0 20px #0080ff33,0 0 40px #0080ff26;font-size:clamp(2rem,6vw,5rem)!important}.draggable-wrapper{cursor:grab;z-index:100;user-select:none;-webkit-user-drag:none;align-items:center;gap:1rem;display:flex;position:absolute}.draggable-wrapper.layout-left,.draggable-wrapper.layout-right{flex-direction:row}.draggable-wrapper:active{cursor:grabbing}.draggable-asset{mix-blend-mode:multiply;pointer-events:none;width:clamp(100px,15vw,220px);filter:drop-shadow(4px 4px 0px rgba(var(--primary-rgb), .2))}.drag-hint{font-family:var(--font-mono);color:var(--text-primary);opacity:0;letter-spacing:1px;pointer-events:none;flex-direction:column;font-size:.75rem;transition:opacity .3s,transform .3s;display:flex;transform:translate(10px)}.layout-left .drag-hint{align-items:flex-start;transform:translate(-10px)}.draggable-wrapper:hover .drag-hint{opacity:.8;transform:translate(0)}.layout-right .drag-hint{align-items:flex-end}.drag-hint .arrow{margin-bottom:2px}@media (width<=768px){.draggable-wrapper{gap:.25rem;flex-direction:column!important}.drag-hint .arrow{display:none}.layout-left .drag-hint,.layout-right .drag-hint{align-items:center;font-size:.6rem}}.modal{z-index:9999;-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;visibility:hidden;background-color:#0f172ae0;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .25s,visibility .25s;display:none;position:fixed;top:0;left:0;overflow:hidden auto}.modal.show{opacity:1!important;pointer-events:auto!important;visibility:visible!important;display:flex!important}.modal-content{background-color:var(--bg-color);border:2px solid var(--text-primary);box-shadow:0 0 30px rgba(var(--primary-rgb), .3);width:90%;max-width:1000px;max-height:85vh;padding:var(--spacing-md);animation:.4s cubic-bezier(.16,1,.3,1) modalSlide;position:relative;overflow-y:auto}@keyframes modalSlide{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:var(--text-primary);cursor:pointer;z-index:1010;font-size:2.5rem;font-weight:700;transition:color .2s,transform .2s;position:absolute;top:1rem;right:1.5rem}.modal-close:hover{color:#f36;transform:rotate(90deg)}.modal-grid{gap:var(--spacing-md);grid-template-columns:1.2fr 1fr;margin-top:1.5rem;display:grid}.modal-gallery{scrollbar-width:thin;scrollbar-color:var(--text-primary) transparent;flex-direction:column;gap:1.5rem;max-height:65vh;padding-right:10px;display:flex;overflow-y:auto}.modal-gallery::-webkit-scrollbar{width:6px}.modal-gallery::-webkit-scrollbar-thumb{background-color:var(--text-primary);border-radius:3px}.modal-gallery img{border:1px solid var(--border-color);object-fit:cover;border-radius:4px;width:100%;transition:transform .3s;box-shadow:0 4px 10px #00000026}.modal-gallery img:hover{transform:scale(1.02)}.modal-right{flex-direction:column;gap:1.5rem;max-height:65vh;padding-right:5px;display:flex;overflow-y:auto}.modal-description{text-transform:none;color:var(--text-primary);opacity:.9;font-size:.95rem;line-height:1.7}.modal-description p{margin-bottom:1rem}.modal-description ul{margin-bottom:1rem;margin-left:1.25rem;list-style-type:square}.modal-description li{margin-bottom:.5rem}.modal-actions{margin-top:auto;padding-top:1rem}@media (width<=768px){.modal-grid{grid-template-columns:1fr}.modal-content{width:95%;max-height:90vh}.modal-gallery{max-height:40vh}.modal-right{max-height:none}}.terminal-tabs{gap:.5rem;margin-right:auto;display:flex}.terminal-tab{border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;text-transform:uppercase;background:0 0;padding:.2rem .6rem;font-size:.7rem;transition:all .2s}.terminal-tab:hover{color:var(--text-primary);border-color:var(--text-primary)}.terminal-tab.active{background-color:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}#terminal-body-qa{height:380px;font-family:var(--font-mono);text-transform:none;flex-direction:column;padding:1.5rem;font-size:.85rem;display:flex}.terminal-history{flex-direction:column;flex-grow:1;gap:.5rem;margin-bottom:1rem;padding-right:.5rem;display:flex;overflow-y:auto}.terminal-history::-webkit-scrollbar{width:6px}.terminal-history::-webkit-scrollbar-thumb{background-color:var(--border-color)}.terminal-system-text{color:var(--text-secondary);font-style:italic}.terminal-user-entry{color:var(--text-primary);font-weight:700}.terminal-response{color:var(--text-primary);border-left:2px solid var(--border-color);margin-bottom:.5rem;padding-left:1rem}.terminal-suggestions{border-top:1px dashed var(--border-color);flex-wrap:wrap;gap:.4rem;max-height:90px;margin-bottom:1rem;padding-top:.5rem;display:flex;overflow-y:auto}.terminal-suggestions::-webkit-scrollbar{width:4px}.terminal-suggestions::-webkit-scrollbar-thumb{background-color:var(--border-color)}.suggestion-tag{font-family:var(--font-mono);border:1px solid var(--border-color);color:var(--text-secondary);background-color:rgba(var(--primary-rgb), .05);cursor:pointer;user-select:none;padding:.15rem .4rem;font-size:.7rem;transition:all .2s}.suggestion-tag:hover{color:var(--text-primary);border-color:var(--text-primary);background-color:rgba(var(--primary-rgb), .15)}.terminal-input-line{border-top:1px solid var(--border-color);align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.terminal-prompt{color:var(--text-secondary);user-select:none;font-weight:700}#terminal-input{color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex-grow:1;font-size:.85rem}.pdf-modal-content{flex-direction:column;width:85%;max-width:900px;height:85vh;display:flex}.pdf-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;padding-right:3rem;display:flex}.pdf-frame-container{border:1px solid var(--border-color);flex-grow:1;width:100%;position:relative}@media (width<=768px){.pdf-modal-content{width:95%;height:90vh}}.globe-section-wrapper{background:radial-gradient(circle at center, rgba(var(--primary-rgb), .04) 0%, transparent 70%);border-bottom:1px solid var(--border-color);justify-content:center;align-items:center;width:100%;min-height:560px;display:flex;position:relative;overflow:hidden}.globe-canvas-container{justify-content:center;align-items:center;width:100%;max-width:520px;height:520px;display:flex;position:relative}.cobe-canvas{aspect-ratio:1;cursor:grab;touch-action:none;user-select:none;opacity:1;width:500px;max-width:100%;height:500px;display:block}.cobe-canvas:active{cursor:grabbing}.showcase-polaroid{transform-origin:bottom;cursor:pointer;z-index:25;user-select:none;pointer-events:auto;background:#fff;border:1px solid #00000014;border-radius:2px;padding:6px 6px 22px;transition:opacity .25s,filter .25s,transform .2s,box-shadow .2s;position:absolute;box-shadow:0 12px 28px #00000038,0 2px 6px #0000001a}.showcase-polaroid img{object-fit:cover;pointer-events:none;border-radius:1px;width:76px;height:64px;display:block}.showcase-polaroid-caption{text-align:center;font-family:var(--font-mono), monospace;color:#0f172a;letter-spacing:.02em;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;padding:0 4px;font-size:.65rem;font-weight:700;position:absolute;bottom:4px;left:0;right:0;overflow:hidden}.showcase-polaroid:after{content:"";background-color:var(--text-primary);width:6px;height:6px;box-shadow:0 0 8px rgba(var(--primary-rgb), .6);border-radius:50%;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.showcase-polaroid:hover{z-index:70;box-shadow:0 20px 40px #0006,0 0 0 2px #ff6b35;transform:translate(-50%,-100%)rotate(0)scale(1.18)!important}.base-polaroid{border:1.5px solid var(--text-primary)}.map-overlay-text{background-color:var(--bg-color);border:1px solid var(--text-primary);font-family:var(--font-mono);color:var(--text-primary);z-index:10;box-shadow:4px 4px 0 rgba(var(--primary-rgb), .2);letter-spacing:.05em;align-items:center;gap:.75rem;padding:.6rem 1.2rem;font-size:.82rem;display:flex;position:absolute;bottom:24px;left:24px}.globe-drag-hint{color:var(--text-primary);opacity:.75;margin-left:.5rem;font-size:.72rem}.pulse-dot{background-color:var(--text-primary);width:8px;height:8px;box-shadow:0 0 0 0 rgba(var(--primary-rgb), .7);border-radius:50%;animation:1.5s infinite pulse;display:inline-block}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--primary-rgb), .7);transform:scale(.95)}70%{box-shadow:0 0 0 10px rgba(var(--primary-rgb), 0);transform:scale(1)}to{box-shadow:0 0 0 0 rgba(var(--primary-rgb), 0);transform:scale(.95)}}.heatmap-wrapper{flex-direction:column;gap:1rem;width:100%;margin-top:1rem;display:flex}.heatmap-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-end;padding-bottom:.5rem;display:flex}.heatmap-header-left{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.heatmap-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:1px;font-size:1.2rem;font-style:italic;font-weight:700}.heatmap-stats{font-size:.8rem;font-family:var(--font-mono);color:var(--text-secondary);gap:1rem;display:flex}.heatmap-stats .highlight{color:var(--text-primary);font-weight:700}.heatmap-scroll{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;width:100%;padding-bottom:.5rem;overflow-x:auto}.heatmap-scroll::-webkit-scrollbar{height:6px}.heatmap-scroll::-webkit-scrollbar-track{background:0 0}.heatmap-scroll::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:3px}.heatmap-grid{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;width:max-content;display:grid}.heatmap-square{cursor:pointer;background-color:#0d52de0d;border:1px solid #0d52de1a;border-radius:2px;width:12px;height:12px;transition:transform .2s,box-shadow .2s}.heatmap-square:hover{z-index:10;position:relative;transform:scale(1.4);box-shadow:0 0 8px #0d52de80}.heatmap-square[data-level="1"]{background-color:#0d52de4d;border-color:#0d52de66}.heatmap-square[data-level="2"]{background-color:#0d52de80;border-color:#0d52de99}.heatmap-square[data-level="3"]{background-color:#0d52decc;border-color:#0d52dee6}.heatmap-square[data-level="4"]{background-color:var(--primary-color);border-color:var(--text-primary)}.heatmap-legend{font-family:var(--font-mono);color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.75rem;display:flex}.legend-squares{gap:3px;display:flex}#heatmap-tooltip{background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-mono);pointer-events:none;opacity:0;z-index:1000;border:1px solid var(--border-color);white-space:nowrap;border-radius:4px;margin-top:-10px;padding:.5rem .8rem;font-size:.75rem;transition:opacity .2s;position:fixed;transform:translate(-50%,-100%);box-shadow:0 4px 6px #0000004d}#heatmap-tooltip.show{opacity:1}:root{--ease-expo-out:cubic-bezier(.16, 1, .3, 1);--ease-expo-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.45s;--duration-page:.7s}.cta-button,.project-btn,.nav-link,.slider-btn,.lang-btn,.terminal-tab{transition-timing-function:var(--ease-expo-out);transition-duration:var(--duration-base);will-change:transform}.project-card:hover{box-shadow:0 8px 32px rgba(var(--primary-rgb), .15), 0 2px 8px rgba(var(--primary-rgb), .08)}.feature-card{transition:background .25s var(--ease-expo-out), box-shadow .25s var(--ease-expo-out), transform .25s var(--ease-expo-out);will-change:transform}.feature-card:hover{background-color:rgba(var(--primary-rgb), .04);box-shadow:0 4px 16px rgba(var(--primary-rgb), .1);transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){body:has(#motion-cursor),body:has(#motion-cursor) a,body:has(#motion-cursor) button,body:has(#motion-cursor) input,body:has(#motion-cursor) .project-card{cursor:none}}.modal-content{will-change:transform, opacity}.badge{position:relative;overflow:hidden}.badge:after{content:"";background:linear-gradient(90deg, transparent, rgba(var(--primary-rgb), .12), transparent);width:100%;height:100%;animation:3s ease-in-out infinite badge-shimmer;position:absolute;top:0;left:-100%}@keyframes badge-shimmer{0%{left:-100%}50%{left:100%}to{left:100%}}.pulse-dot{background:var(--primary-color);width:8px;height:8px;box-shadow:0 0 0 0 rgba(var(--primary-rgb), .7);border-radius:50%;margin-right:.4rem;animation:2s ease-in-out infinite pulse-glow;display:inline-block}@keyframes pulse-glow{0%{box-shadow:0 0 0 0 rgba(var(--primary-rgb), .7)}70%{box-shadow:0 0 0 8px rgba(var(--primary-rgb), 0)}to{box-shadow:0 0 0 0 rgba(var(--primary-rgb), 0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.badge:after{animation:none}.pulse-dot{box-shadow:none;animation:none}#motion-cursor,#motion-cursor-ring{display:none!important}.reveal,.project-card,.feature-card,.badge,.hero-title,.hero-description,.hero-ctas,.draggable-wrapper,.grid-header,.grid-footer{opacity:1!important;transform:none!important}}.mobile-nav-pill{z-index:950;-webkit-backdrop-filter:blur(20px);border:1.5px solid var(--text-primary);scrollbar-width:none;background:#f8fafcd9;border-radius:9999px;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:6px 14px;animation:.5s cubic-bezier(.16,1,.3,1) pillEntrance;display:none;position:fixed;bottom:24px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 12px 32px #0052cc29,0 4px 12px #00000014}.mobile-nav-pill::-webkit-scrollbar{display:none}@keyframes pillEntrance{0%{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%)}}.mobile-pill-link{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-primary);white-space:nowrap;border-radius:9999px;align-items:center;gap:5px;padding:6px 10px;font-size:.72rem;font-weight:700;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.mobile-pill-link .pill-dot{opacity:.5;background:currentColor;border-radius:50%;width:4px;height:4px;transition:transform .2s}.mobile-pill-link.active,.mobile-pill-link:hover{background:var(--text-primary);color:var(--bg-color)}.mobile-pill-link.active .pill-dot{opacity:1;background:var(--accent-orange,#ff6b35);transform:scale(1.4)}.mobile-pill-divider{background:var(--border-color);flex-shrink:0;width:1px;height:18px}.mobile-pill-lang{font-family:var(--font-mono);flex-shrink:0;align-items:center;gap:2px;font-size:.72rem;font-weight:700;display:flex}.mobile-lang-btn{color:var(--text-primary);font-family:inherit;font-size:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;transition:all .2s}.mobile-lang-btn.active{background:var(--text-primary);color:var(--bg-color)}.mobile-lang-sep{opacity:.4;font-size:.7rem}@media (width<=1024px){.mobile-nav-pill{display:flex}}.skills-editorial-container{gap:var(--spacing-lg,3rem);padding:var(--spacing-md,2rem);flex-direction:column;display:flex}.skills-sub-header{margin-bottom:1.25rem}.block-kicker{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-primary);border-left:3px solid var(--text-primary);text-transform:uppercase;padding-left:.75rem;font-size:.85rem;font-weight:700;display:inline-block}.tech-stack-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.tech-category-card{border:1px solid var(--border-color);background:var(--card-bg,#fff9);flex-direction:column;gap:1rem;padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.tech-category-card:hover{border-color:var(--text-primary);transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.tech-cat-title{align-items:center;gap:.5rem;display:flex}.cat-dot{background:var(--text-primary);border-radius:50%;width:6px;height:6px}.tech-cat-title h4{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-primary);margin:0;font-size:.85rem;font-weight:700}.tech-chips-wrap{flex-wrap:wrap;gap:.5rem;display:flex}.tech-chip{font-family:var(--font-mono);border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-primary);border-radius:2px;padding:.35rem .65rem;font-size:.75rem;font-weight:600;transition:all .2s}.tech-chip:hover{border-color:var(--text-primary);background:var(--text-primary);color:var(--bg-color);transform:translateY(-1px)}.experience-timeline{flex-direction:column;padding-left:.5rem;display:flex;position:relative}.timeline-entry{gap:1.5rem;padding-bottom:2rem;display:flex;position:relative}.timeline-entry:last-child{padding-bottom:0}.timeline-rail{flex-direction:column;flex-shrink:0;align-items:center;width:20px;display:flex}.rail-marker{border:2px solid var(--text-primary);background:var(--bg-color);z-index:2;border-radius:50%;width:10px;height:10px;margin-top:5px;transition:background .2s,transform .2s}.timeline-entry:hover .rail-marker{background:var(--text-primary);transform:scale(1.3)}.rail-line{background:var(--border-color);flex:1;width:2px;margin-top:4px}.timeline-body{border:1px solid var(--border-color);background:var(--card-bg,#fff9);flex-direction:column;flex:1;gap:.4rem;padding:1.25rem 1.5rem;transition:border-color .2s,box-shadow .2s;display:flex}.timeline-entry:hover .timeline-body{border-color:var(--text-primary);box-shadow:0 6px 20px #0000000d}.timeline-badge-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.timeline-year{font-family:var(--font-mono);background:var(--text-primary);color:var(--bg-color);border-radius:2px;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.timeline-org{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-primary);opacity:.8;font-size:.75rem;font-weight:700}.timeline-job{font-family:var(--font-mono);color:var(--text-primary);margin:.2rem 0;font-size:1.05rem;font-weight:700}.timeline-text{color:var(--text-primary);opacity:.85;margin:0;font-size:.88rem;line-height:1.6}@media (width<=768px){.skills-editorial-container{padding:1rem 0}.timeline-entry{gap:1rem}.timeline-body{padding:1rem}}
