@import"https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700;800&display=swap";.hamburger-menu{display:flex;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger-menu:hover{transform:scale(1.1)}.hamburger-line{width:2rem;height:.25rem;background:var(--text-primary);border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:1px}.hamburger-menu.open .hamburger-line:first-child{transform:rotate(45deg)}.hamburger-menu.open .hamburger-line:nth-child(2){opacity:0;transform:translate(-20px)}.hamburger-menu.open .hamburger-line:third-child{transform:rotate(-45deg)}[data-theme=dark] .hamburger-line{background:var(--text-primary)}@media (max-width: 768px){.hamburger-menu{width:1.75rem;height:1.75rem}.hamburger-line{width:1.75rem;height:.2rem}}@media (max-width: 480px){.hamburger-menu{width:1.5rem;height:1.5rem}.hamburger-line{width:1.5rem;height:.18rem}}.drawer-nav{width:100%}.drawer-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.drawer-link{display:block;width:100%;padding:1rem 1.5rem;text-decoration:none;color:var(--text-primary);font-weight:500;font-size:1.125rem;border:none;background:none;cursor:pointer;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;margin:.25rem 0;position:relative}.drawer-link.active{background:var(--gradient-primary);color:var(--rican-white);font-weight:600;transform:translate(8px)}.drawer-link.active:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:4px;height:70%;background:var(--rican-white);border-radius:2px;box-shadow:0 0 8px #ffffff4d}.drawer-link:hover{background:var(--bg-hover);color:var(--text-accent);transform:translate(8px)}.drawer-link:active{transform:translate(8px) scale(.98)}.settings-section{margin-top:2rem;border-top:1px solid var(--border-color);padding-top:1rem}.settings-title{font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem 1.5rem}.settings-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;transition:background-color .2s ease}.setting-item:hover{background:var(--bg-secondary);border-radius:8px}.setting-label{font-size:var(--text-base);font-weight:500;color:var(--text-primary)}.setting-switch{padding:.25rem .75rem;border:2px solid var(--border-color);border-radius:20px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease;min-width:3rem;background:transparent;outline:none}.setting-switch.on{background:var(--mint-700);color:var(--rican-black);border-color:var(--mint-700)}.setting-switch.off{background:transparent;color:var(--text-muted);border-color:var(--border-color)}.setting-switch:hover{transform:scale(1.05)}.setting-switch:active{transform:scale(.95)}.setting-switch:focus{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width: 768px){.drawer-link{font-size:var(--text-base);padding:.875rem 1.25rem}.settings-title{margin-left:1.25rem}.setting-item{padding:.75rem 1.25rem}.setting-label{font-size:var(--text-sm)}.setting-switch{padding:.2rem .6rem;min-width:2.75rem}}@media (max-width: 480px){.drawer-link{font-size:var(--text-sm);padding:.75rem 1rem}.settings-section{margin-top:1.5rem;padding-top:.75rem}.settings-title{margin-left:1rem;margin-bottom:.5rem}.setting-item{padding:.625rem 1rem}.setting-label{font-size:var(--text-sm)}.setting-switch{padding:.2rem .5rem;min-width:2.5rem;font-size:.625rem}}@media (max-width: 390px){.drawer-link{padding:.625rem .875rem}.settings-title{margin-left:.875rem}.setting-item{padding:.5rem .875rem}}@media (max-width: 375px){.drawer-link{font-size:.875rem;padding:.5rem .75rem}.settings-title{margin-left:.75rem;font-size:.625rem}.setting-item{padding:.5rem .75rem}.setting-label{font-size:.8rem}.setting-switch{padding:.15rem .4rem;min-width:2.25rem;font-size:.6rem}}.drawer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.drawer-overlay.open{opacity:1;visibility:visible}.drawer{position:fixed;top:0;width:320px;height:100%;background:var(--bg-primary);border-right:1px solid var(--border-color);z-index:1001;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a}.drawer--left{left:0;transform:translate(-100%)}.drawer--right{right:0;transform:translate(100%)}.drawer.open{transform:translate(0)}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.drawer-title{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin:0}.drawer-close{background:none;border:none;font-size:1.5rem;color:var(--text-primary);cursor:pointer;padding:.25rem;line-height:1;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:4px}.drawer-close:hover{background:var(--bg-hover);transform:scale(1.1)}.drawer-content{flex:1;overflow-y:auto;padding:1rem}[data-theme=dark] .drawer{background:var(--bg-primary);border-right-color:var(--border-color);box-shadow:2px 0 10px #0000004d}[data-theme=dark] .drawer-header{background:var(--bg-secondary);border-bottom-color:var(--border-color)}@media (max-width: 768px){.drawer{width:280px}.drawer-header{padding:1rem .75rem}.drawer-content{padding:.75rem}}@media (max-width: 480px){.drawer{width:260px}.drawer-header{padding:.875rem .625rem}.drawer-title{font-size:var(--text-lg)}.drawer-content{padding:.625rem}}@media (max-width: 390px){.drawer{width:240px}.drawer-header{padding:.75rem .5rem}.drawer-content{padding:.5rem}}@media (max-width: 375px){.drawer{width:220px}.drawer-header{padding:.625rem .375rem}.drawer-title{font-size:var(--text-base)}.drawer-content{padding:.375rem}}.glitch-text{display:inline;position:relative}.glitch-text{min-width:fit-content;white-space:nowrap}.navbar{position:fixed;top:0;width:100%;background:#f7f7f7f2;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);z-index:1000;padding:1rem 0;transition:all .3s cubic-bezier(.4,0,.2,1);border-bottom:1px solid var(--border-color)}[data-theme=dark] .navbar{background:#0c0f1df2}.nav-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.nav-right{display:flex;align-items:center;gap:1rem}.nav-brand{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-tight);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border:none;cursor:pointer;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-brand:hover{transform:translateY(-1px)}.nav-menu{display:flex;list-style:none;align-items:center;gap:2rem}.nav-link{background:none;border:none;font-family:var(--font-secondary);text-decoration:none;color:var(--text-primary);font-size:var(--text-base);font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;padding:.5rem 0;cursor:pointer}.nav-link:hover{color:var(--text-accent);transform:translateY(-1px)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width .3s cubic-bezier(.4,0,.2,1)}.nav-link:hover:after{width:100%}@media (max-width: 768px){.nav-container{padding:0 1rem}.nav-menu{gap:.75rem;flex-wrap:nowrap}.nav-link{font-size:var(--text-sm);padding:.5rem .75rem;white-space:nowrap}}@media (max-width: 480px){.nav-container{padding:0 .75rem}.nav-brand{font-size:var(--text-lg);letter-spacing:-.025em}.nav-menu{gap:.5rem}.nav-link{font-size:.875rem;padding:.375rem .5rem;white-space:nowrap}}@media (max-width: 430px){.nav-container{padding:0 .5rem}.nav-brand{font-size:var(--text-base);letter-spacing:-.025em}.nav-menu{gap:.375rem}.nav-link{font-size:.8rem;padding:.3rem .4rem;white-space:nowrap}}@media (max-width: 390px){.nav-container{padding:0 .375rem}.nav-brand{font-size:.9rem;letter-spacing:-.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.nav-menu{gap:.25rem;flex-shrink:0}.nav-link{font-size:.75rem;padding:.25rem .3rem;min-width:auto}}@media (max-width: 375px){.navbar{padding:.5rem 0}.nav-container{padding:0 .375rem;min-height:42px}.nav-brand{font-size:.85rem;letter-spacing:-.05em;max-width:130px}.nav-menu{gap:.2rem}.nav-link{font-size:.7rem;padding:.25rem}}.navbar-brand{font-size:1.25rem;font-weight:700;color:#007bff;text-decoration:none;background:none;border:none;cursor:pointer;transition:color .3s ease;padding:0}.technology-icon-wrapper{display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.technology-icon{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);width:48px;height:48px}.technology-icon svg{width:24px!important;height:24px!important;font-size:24px!important}.technology-icon:hover{transform:translateY(-2px) scale(1.1)}.technology-icon[data-tech-id="1"]{color:#61dafb}.technology-icon[data-tech-id="25"]{color:#f7df1e}.technology-icon[data-tech-id="2"]{color:#393}.technology-icon[data-tech-id="11"]{color:#ffd43b}.technology-icon[data-tech-id="18"]{color:#00add8}.technology-icon[data-tech-id="3"]{color:#47a248}.technology-icon[data-tech-id="27"]{color:#336791}.technology-icon[data-tech-id="4"]{color:#2496ed}.technology-icon[data-tech-id="6"]{color:#326ce5}.technology-icon[data-tech-id="8"]{color:#f90}.technology-icon[data-tech-id="9"]{color:#4285f4}.technology-icon[data-tech-id="21"]{color:#000}.technology-icon[data-tech-id="29"]{color:#009639}.technology-icon[data-tech-id="35"]{color:#f05032}.technology-icon[data-tech-id="36"]{color:#181717}.technology-icon[data-tech-id="12"]{color:#65c2cb}.technology-icon[data-tech-id="14"]{color:#f7931a}.technology-icon[data-tech-id="31"]{color:#627eea}.technology-icon[data-tech-id="10"]{color:#e6522c}.technology-icon[data-tech-id="28"]{color:#005571}.technology-icon[data-tech-id="5"]{color:#d33833}.technology-icon[data-tech-id="7"]{color:#623ce4}.technology-icon[data-tech-id="19"]{color:#3178c6}.technology-icon[data-tech-id="26"],.technology-icon[data-tech-id="34"]{color:#fcc624}.technology-icon.frontend:not([data-tech-id]){color:#61dafb}.technology-icon.backend:not([data-tech-id]){color:#393}.technology-icon.database:not([data-tech-id]){color:#47a248}.technology-icon.devops:not([data-tech-id]){color:#2496ed}.technology-icon.infrastructure:not([data-tech-id]){color:#623ce4}.technology-icon.cloud:not([data-tech-id]){color:#f90}.technology-icon.blockchain:not([data-tech-id]){color:#f16822}.technology-icon.methodology:not([data-tech-id]){color:#0052cc}.technology-icon.management:not([data-tech-id]){color:#28a745}.technology-icon.fintech:not([data-tech-id]){color:#1f4e79}.technology-icon.architecture:not([data-tech-id]){color:#8e44ad}.technology-icon-wrapper.beginner .technology-icon{opacity:.7}.technology-icon-wrapper.intermediate .technology-icon{opacity:.85}.technology-icon-wrapper.advanced .technology-icon,.technology-icon-wrapper.expert .technology-icon{opacity:1}.technology-icon.size-xs{width:32px;height:32px;padding:.25rem}.technology-icon.size-xs svg{width:16px!important;height:16px!important;font-size:16px!important}.technology-icon.size-sm{width:40px;height:40px;padding:.375rem}.technology-icon.size-sm svg{width:20px!important;height:20px!important;font-size:20px!important}.technology-icon.size-md{width:48px;height:48px;padding:.5rem}.technology-icon.size-md svg{width:24px!important;height:24px!important;font-size:24px!important}.technology-icon.size-lg{width:56px;height:56px;padding:.625rem}.technology-icon.size-lg svg{width:32px!important;height:32px!important;font-size:32px!important}.technology-icon.size-xl{width:64px;height:64px;padding:.75rem}.technology-icon.size-xl svg{width:40px!important;height:40px!important;font-size:40px!important}.technology-icon.size-2xl{width:80px;height:80px;padding:1rem}.technology-icon.size-2xl svg{width:48px!important;height:48px!important;font-size:48px!important}.technology-icon-wrapper.animated{will-change:transform}.technology-icon-wrapper:not(.animated) .technology-icon{transition:none}@media (max-width: 768px){.technology-icon-wrapper.animated .technology-icon{transition-duration:.2s}}.technology-icon.fallback{background:transparent;color:var(--text-primary);font-weight:700;font-size:.8rem}.discipline-label{font-size:.7rem;color:var(--text-secondary);text-align:center;font-weight:500}@media (max-width: 768px){.technology-icon{width:40px;height:40px;padding:.375rem}.technology-icon svg{width:20px!important;height:20px!important;font-size:20px!important}.discipline-label{font-size:.65rem}}.hero{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;z-index:1;padding:calc(69px + 2rem) 2rem 2rem;color:var(--rican-white);background:linear-gradient(135deg,var(--rican-black) 0%,rgba(0,20,40,.95) 25%,rgba(20,30,60,.9) 50%,rgba(30,40,80,.85) 75%,var(--rican-black) 100%)}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,rgba(151,240,229,.1) 0%,rgba(197,132,246,.05) 40%,transparent 70%);pointer-events:none;z-index:0}.hero-background-layer{position:absolute;top:0;left:0;width:100%;height:120%;z-index:1;will-change:transform;transform-style:preserve-3d}.hero-wave-background{position:absolute;bottom:0;left:0;width:100%;height:300px;z-index:1;pointer-events:none;transform:translateY(10px)}@media (max-width: 768px){.hero-wave-background{height:200px}}@media (max-width: 480px){.hero-wave-background{height:150px}}.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;display:flex;justify-content:center;align-items:center;text-align:center}.hero-tech-swimlane{position:absolute;top:20%;left:0;right:0;width:100%;height:60px;overflow:hidden;z-index:2;background:transparent;--fade-zone-width: 400px}.tech-swimlane-track{display:flex;align-items:center;height:100%;animation:swimlaneScrollSeamless 40s linear infinite;will-change:transform;gap:1rem;padding:0 2rem}.tech-swimlane-icon{flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:1}.tech-swimlane-icon:hover{transform:scale(1.2) translateY(-4px);z-index:10;position:relative}.tech-swimlane-icon.fading-in{opacity:0;animation:fadeIn 1s ease-out forwards}.tech-swimlane-icon.fading-out{opacity:1;animation:fadeOut 1s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translate(20px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-20px) scale(.8)}}.tech-swimlane-icon[data-tier=primary]{opacity:1;filter:drop-shadow(0 4px 8px rgba(97,218,251,.4))}.tech-swimlane-icon[data-tier=secondary]{opacity:1;filter:drop-shadow(0 2px 4px rgba(255,255,255,.2))}.tech-swimlane-icon[data-tier=accent]{opacity:.95;filter:drop-shadow(0 2px 4px rgba(241,104,34,.3))}.tech-swimlane-icon[data-tier=ambient]{opacity:.9}.tech-swimlane-icon[data-tier=discovery]{opacity:.85}@keyframes swimlaneScrollSeamless{0%{transform:translate(0)}to{transform:translate(-33.333%)}}.hero-tech-swimlane:hover .tech-swimlane-track{animation-play-state:paused}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.tech-swimlane-icon:hover{animation:gentleFloat .6s ease-in-out}@keyframes floatSubtle{0%,to{transform:translateY(0) rotate(0) scale(1)}33%{transform:translateY(-5px) rotate(.5deg) scale(1.02)}66%{transform:translateY(-8px) rotate(-.5deg) scale(1.01)}}@keyframes floatAmbient{0%,to{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-3px) rotate(.3deg) scale(1.01)}50%{transform:translateY(-6px) rotate(-.2deg) scale(1)}75%{transform:translateY(-4px) rotate(.4deg) scale(1.01)}}@keyframes floatDiscovery{0%,to{transform:translateY(0) rotate(0) scale(.95)}20%{transform:translateY(-2px) rotate(.2deg) scale(.98)}40%{transform:translateY(-4px) rotate(-.1deg) scale(1)}60%{transform:translateY(-3px) rotate(.3deg) scale(.97)}80%{transform:translateY(-1px) rotate(-.2deg) scale(.99)}}@media (max-width: 768px){.hero-tech-swimlane{height:50px;top:15%}.hero-content{margin-top:4rem}.tech-swimlane-track{gap:.75rem;padding:0 1rem;animation-duration:45s}.tech-swimlane-icon:hover{transform:scale(1.15) translateY(-2px)}.tech-swimlane-icon[data-tier=discovery]{display:none}}@media (max-width: 480px){.hero-tech-swimlane{height:45px;top:12%}.hero-content{margin-top:3rem}.tech-swimlane-track{gap:.5rem;animation-duration:50s}.tech-swimlane-icon[data-tier=ambient],.tech-swimlane-icon[data-tier=discovery]{display:none}}@media (prefers-reduced-motion: reduce){.tech-swimlane-track{animation-duration:120s}.tech-swimlane-icon:hover{transform:scale(1.05);animation:none}}.hero-content{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;text-align:center;max-width:1200px;margin:0 auto;padding:0 2rem;margin-top:6rem}.hero-title,h1.hero-title,.hero .hero-title{font-size:clamp(var(--text-5xl),8vw,var(--text-8xl))!important;font-weight:700!important;line-height:var(--leading-tight)!important;letter-spacing:var(--tracking-tighter)!important;margin-bottom:1.5rem!important;color:var(--text-hero)!important;text-shadow:3px 3px 6px var(--shadow-medium)!important;text-transform:uppercase!important;font-family:var(--font-primary)!important;-webkit-text-size-adjust:auto!important;text-size-adjust:auto!important}.highlight{background:linear-gradient(45deg,var(--banana),var(--pears))!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;text-shadow:none!important;position:relative!important}.hero-subtitle,h2.hero-subtitle,.hero .hero-subtitle{font-size:clamp(var(--text-xl),3vw,var(--text-3xl))!important;font-weight:500!important;line-height:var(--leading-relaxed)!important;color:var(--text-hero-secondary)!important;margin-bottom:1rem!important;text-shadow:2px 2px 4px var(--shadow-soft)!important;text-transform:none!important;font-family:var(--font-secondary)!important;-webkit-text-size-adjust:auto!important;text-size-adjust:auto!important}.hero-description{font-size:clamp(var(--text-lg),2.5vw,var(--text-xl));color:var(--text-hero);margin-bottom:2rem;font-weight:400;text-shadow:1px 1px 3px var(--shadow-soft);line-height:var(--leading-body);max-width:60ch}@media (max-width: 768px){.hero{min-height:calc(100vh - 70px);padding:calc(69px + .5rem) 1rem 1rem}.hero-content{text-align:center;padding:0;margin:0}.hero-text{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;margin:0;padding:0}.hero-title,h1.hero-title,.hero .hero-title{margin-bottom:.75rem!important;font-size:clamp(var(--text-4xl),7vw,var(--text-6xl))!important}.hero-subtitle,h2.hero-subtitle,.hero .hero-subtitle{margin-bottom:.75rem!important;font-size:clamp(var(--text-lg),2.5vw,var(--text-2xl))!important}}@media (max-width: 480px){.hero{min-height:calc(100vh - 65px);padding:calc(69px + .25rem) .5rem .5rem;display:flex;align-items:center;justify-content:center}}@media (max-width: 430px){.hero{min-height:calc(100vh - 65px);padding:calc(69px + .25rem) .5rem .5rem;display:flex;align-items:center;justify-content:center}}@media (max-width: 390px){.hero{min-height:calc(100vh - 60px);padding:calc(69px + .125rem) .25rem .25rem;display:flex;align-items:center;justify-content:center}.hero-content{text-align:center;width:100%;max-width:100%;padding:0;margin:0}.hero-text{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;margin:0;padding:0}.hero-title,h1.hero-title,.hero .hero-title{font-size:clamp(var(--text-3xl),8vw,var(--text-5xl))!important;margin-bottom:.5rem!important;text-align:center!important;line-height:1.1!important}.hero-subtitle,h2.hero-subtitle,.hero .hero-subtitle{font-size:clamp(var(--text-lg),4vw,var(--text-xl))!important;margin-bottom:.5rem!important;text-align:center!important}.btn{width:100%;max-width:280px;padding:.875rem 1.25rem;font-size:var(--text-sm)}}@media (max-width: 375px){.hero{min-height:calc(100vh - 55px);padding:calc(53px + .125rem) .25rem .25rem;display:flex;align-items:center;justify-content:center}.hero-content{text-align:center;width:100%;max-width:100%;padding:0;margin:0}.hero-text{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;margin:0;padding:0}.hero-title,h1.hero-title,.hero .hero-title{font-size:clamp(var(--text-2xl),7vw,var(--text-4xl))!important;margin-bottom:.375rem!important;line-height:1.05!important;text-align:center!important}.hero-subtitle,h2.hero-subtitle,.hero .hero-subtitle{font-size:clamp(var(--text-base),3.5vw,var(--text-lg))!important;margin-bottom:.375rem!important;text-align:center!important}.btn{width:100%;max-width:260px;padding:.75rem 1rem;font-size:var(--text-xs)}}.tech-swimlane-icon{display:inline-flex;align-items:center;justify-content:center;margin:0 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;opacity:1}#about{height:100vh;position:relative;z-index:2;background:var(--background-primary);display:flex;flex-direction:column;justify-content:center}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:center;max-height:calc(100vh - 200px);overflow-y:auto}.about-text p{font-size:clamp(var(--text-lg),2.5vw,var(--text-xl));color:var(--text-primary);margin-bottom:2rem;font-weight:400;line-height:var(--leading-body);max-width:65ch}.about-text p:last-child{margin-bottom:0}.skills-swimlane{width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;height:80px;overflow:hidden;background:transparent;margin-top:2rem;max-width:none;box-sizing:border-box}.skills-track{display:flex;align-items:center;height:100%;animation:skillsScrollSeamless 30s linear infinite;will-change:transform;gap:2rem;padding:0 2rem;width:100%;min-width:100vw}.skill-tag{background:var(--gradient-secondary);color:var(--rican-black);padding:.75rem 1.25rem;border-radius:25px;font-size:var(--text-sm);font-weight:600;text-shadow:none;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;flex-shrink:0;white-space:nowrap}.skill-tag:hover{transform:translateY(-4px) scale(1.1);box-shadow:0 8px 20px var(--shadow-medium);border-color:var(--text-accent);z-index:10;position:relative}@keyframes skillsScrollSeamless{0%{transform:translate(0)}to{transform:translate(-33.333%)}}.skills-swimlane:hover .skills-track{animation-play-state:paused}.profile-image{width:280px;height:280px;border-radius:24px;margin:0 auto;overflow:hidden;border:4px solid var(--mint-700)}.profile-image img{width:100%;height:100%;object-fit:cover}.profile-image-button{width:100%;height:100%;overflow:hidden;display:block}.image-placeholder{width:100%;height:100%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:4rem}@media (max-width: 768px){#about{height:100vh;padding:1rem}.about-content{grid-template-columns:1fr;gap:2rem;text-align:center;max-height:calc(100vh - 120px);overflow-y:auto}.profile-image{width:200px;height:200px}.skills-swimlane{height:70px}.skills-track{gap:1.5rem;animation-duration:35s}.skill-tag{padding:.6rem 1rem;font-size:.8rem}}@media (max-width: 480px){.about-content{gap:1.5rem;margin-top:var(--space-4)}.skills-swimlane{height:60px;margin-top:1.5rem}.skills-track{gap:1rem;animation-duration:40s}.skill-tag{padding:.5rem .8rem;font-size:.75rem}}@media (max-width: 375px){.about-content{gap:1rem;margin-top:var(--space-3)}.skills-swimlane{height:55px}}@media (prefers-reduced-motion: reduce){.skills-track{animation-duration:100s}.skill-tag:hover{transform:scale(1.05)}}.matrix-rain{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:transparent;border-radius:inherit}.matrix-rain-container{position:relative;width:100%;height:100%;max-height:100%;background-color:#000;overflow:hidden;border-radius:8px;flex:1;min-height:0}.color-palette-container{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0;overflow:hidden;flex:1;padding:.25rem;box-sizing:border-box;position:relative}.palette-showcase{text-align:center;padding:1.5rem;background:var(--gradient-primary);border-radius:16px;color:var(--rican-white);box-shadow:0 15px 30px var(--shadow-medium);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;flex-shrink:0;min-height:fit-content}.palette-showcase:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:translate(-100%);transition:transform 1.2s cubic-bezier(.4,0,.2,1)}.palette-showcase:hover:before{transform:translate(100%)}.palette-showcase:hover{transform:translateY(-2px);box-shadow:0 25px 50px var(--shadow-strong)}.palette-showcase h3{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:700;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:var(--tracking-tight)}.palette-showcase p{opacity:.95;font-size:var(--text-base);line-height:var(--leading-body);font-weight:400;margin-bottom:1rem}.color-info-display{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;padding:1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);animation:slideInUp .5s cubic-bezier(.4,0,.2,1);max-height:80px;overflow:hidden}.color-preview{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #0000004d;border:2px solid rgba(255,255,255,.3);transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.color-preview:hover{transform:scale(1.1) rotate(5deg)}.color-emoji{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.color-details{text-align:left;flex:1;max-width:none;display:flex;align-items:center;gap:1rem}.color-details h4{font-size:var(--text-lg);font-weight:600;margin:0;color:var(--rican-white);min-width:80px}.css-values{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.css-value{display:flex;align-items:center;gap:.5rem}.css-label{font-size:var(--text-sm);font-weight:500;opacity:.8;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.css-value code{background:#0000004d;color:var(--rican-white);padding:.5rem .75rem;border-radius:8px;font-family:Monaco,Menlo,monospace;font-size:var(--text-sm);border:1px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.css-value code:hover{background:#00000080;border-color:#fff6;transform:translate(4px)}.css-value code.copied{background:var(--lime);color:var(--rican-black);border-color:var(--lime);animation:pulse .6s cubic-bezier(.4,0,.2,1)}.copy-notification{margin-left:1rem;padding:.25rem .75rem;background:var(--lime);color:var(--rican-black);border-radius:16px;font-size:var(--text-xs);font-weight:600;text-align:center;animation:bounceIn .5s cubic-bezier(.68,-.55,.265,1.55);white-space:nowrap}.color-navigation{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem 0;flex:1}.nav-button{background:var(--bg-secondary);border:2px solid var(--mint-700);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--text-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.nav-button:hover{background:var(--mint-700);color:var(--rican-white);transform:scale(1.1);box-shadow:0 4px 15px var(--shadow-medium)}.nav-button:active{transform:scale(.95)}.color-flow{display:flex;gap:1.25rem;align-items:center;justify-content:center;position:relative;flex:1;max-width:500px;overflow:visible;padding:.5rem;box-sizing:border-box}.three-card-display{overflow:visible;padding:1rem 0}.flow-card{animation:cardReveal .6s cubic-bezier(.4,0,.2,1) forwards;opacity:0;transform:translateY(20px);transition:opacity .4s cubic-bezier(.25,.46,.45,.94),transform .4s cubic-bezier(.25,.46,.45,.94),filter .3s cubic-bezier(.25,.46,.45,.94);will-change:opacity,transform,filter}.flow-card:nth-child(1){animation-delay:.1s}.flow-card:nth-child(2){animation-delay:.2s}.flow-card:nth-child(3){animation-delay:.3s}.flow-card:nth-child(4){animation-delay:.4s}.flow-card:nth-child(5){animation-delay:.5s}.flow-card:nth-child(6){animation-delay:.6s}.flow-card.center-card{transform:scale(1.05) translateZ(0);box-shadow:0 10px 25px var(--shadow-strong);z-index:3;opacity:1;filter:brightness(1.05) saturate(1.1)}.flow-card.center-card .flow-emoji{animation:pulseGlow 2s ease-in-out infinite;transform:scale(1.1)}.flow-card.side-card{transform:scale(.95) translateZ(0);opacity:.8;filter:brightness(.9) saturate(.9);z-index:1}.flow-card.side-card:hover{opacity:.95;transform:scale(.98) translateZ(0)}@keyframes pulseGlow{0%,to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}50%{filter:drop-shadow(0 2px 8px rgba(0,0,0,.4)) drop-shadow(0 0 12px currentColor)}}.color-indicators{display:flex;justify-content:center;gap:.375rem;margin-top:.5rem;padding:.5rem;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px var(--shadow-soft)}.indicator{width:12px;height:12px;border-radius:50%;border:2px solid var(--text-muted);background:transparent;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.indicator:before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--text-muted);background:transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}.indicator:hover:before{border-color:var(--mint-700);transform:scale(1.3)}.indicator.active:before{background:var(--mint-700);border-color:var(--mint-700);box-shadow:0 0 8px var(--mint-700);transform:scale(1.2)}.indicator:focus{outline:2px solid var(--text-accent);outline-offset:2px}.flow-card{background:var(--bg-secondary);padding:1.5rem 1.25rem;border-radius:16px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);border:2px solid transparent;cursor:pointer;min-height:120px;min-width:140px;max-width:140px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.flow-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .6s cubic-bezier(.4,0,.2,1)}.flow-card:hover:before{transform:translate(100%)}.flow-card:hover{transform:translateY(-4px) scale(1.02);border-color:var(--mint-700);box-shadow:0 8px 20px var(--shadow-medium),0 0 0 1px #fff3;filter:brightness(1.05) saturate(1.1);z-index:10}.flow-card:hover .flow-name{text-shadow:0 0 4px currentColor}.flow-card:focus{outline:2px solid var(--text-accent);outline-offset:2px;border-color:var(--text-accent);z-index:10}.flow-card:focus:not(:focus-visible){outline:none}.flow-card:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px;border-color:var(--text-accent);z-index:10}.flow-card:active{transform:translateY(-2px) scale(1.01);transition:transform .1s ease-out}.flow-emoji{font-size:2.5rem;margin-bottom:.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:all .3s cubic-bezier(.4,0,.2,1)}.flow-card:hover .flow-emoji{transform:scale(1.15) rotate(8deg)}.flow-name{color:var(--text-primary);font-weight:700;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);transition:all .3s cubic-bezier(.4,0,.2,1)}.flow-value{color:var(--text-muted);font-weight:500;font-size:var(--text-xs);font-family:Monaco,Menlo,monospace;background:#0000001a;padding:.25rem .75rem;border-radius:12px;border:1px solid rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.flow-card:hover .flow-value{background:#fff3;border-color:#ffffff4d;color:var(--text-primary)}.mobile-flow{display:flex;justify-content:center;align-items:center;position:relative;padding:1.5rem 1rem;touch-action:pan-y;-webkit-user-select:none;user-select:none;overflow:visible;min-height:200px;box-sizing:border-box;transition:transform .2s cubic-bezier(.4,0,.2,1);flex:1}.mobile-flow.swiping{transition:none}.mobile-flow.swipe-left{transform:translate(-10px)}.mobile-flow.swipe-right{transform:translate(10px)}.mobile-card-container{display:flex;flex-direction:column;align-items:center;gap:.75rem}.mobile-card{transform:scale(1.05);box-shadow:0 15px 30px var(--shadow-strong);z-index:3;opacity:1;filter:brightness(1.05) saturate(1.1);min-width:200px;max-width:280px;width:100%;min-height:160px}.mobile-counter{font-size:var(--text-sm);font-weight:600;color:var(--text-muted);background:var(--bg-secondary);padding:.375rem .75rem;border-radius:16px;border:1px solid var(--border-color);font-family:var(--font-secondary);letter-spacing:var(--tracking-wide);text-align:center;min-width:50px}.mobile-nav-button{display:flex!important;position:absolute;z-index:5;background:var(--bg-secondary);border:2px solid var(--mint-700);box-shadow:0 4px 12px var(--shadow-medium)}.nav-prev.mobile-nav-button{left:.5rem}.nav-next.mobile-nav-button{right:.5rem}@media (max-width: 768px){.color-palette{padding:.75rem .75rem 1.5rem}.color-palette-container{gap:.5rem}.nav-button{width:40px;height:40px;font-size:1.25rem}.color-navigation{gap:.5rem;flex-direction:row;padding:.25rem 0;position:relative}.nav-button:not(.mobile-nav-button){display:none}.palette-showcase{padding:1rem;min-height:fit-content}.palette-showcase h3{font-size:var(--text-lg);margin-bottom:.5rem}.palette-showcase p{font-size:var(--text-sm);margin-bottom:.5rem}.color-info-display{padding:.75rem;margin-top:.5rem;max-height:70px;gap:.75rem}.color-preview{width:40px;height:40px}.color-details h4{font-size:var(--text-base);min-width:60px}.color-flow{gap:1rem;padding:.75rem 0}.flow-card{min-width:120px;max-width:120px;min-height:100px;padding:1.25rem 1rem}.mobile-flow{padding:1.5rem .5rem}.mobile-card{min-width:180px;max-width:220px;min-height:140px}.flow-emoji{font-size:1.75rem}}@media (max-width: 480px){.color-palette{padding:.5rem .5rem 2rem;height:100%;overflow:hidden}.color-palette-container{gap:.25rem;height:100%}.nav-button:not(.mobile-nav-button){display:none}.color-navigation{gap:.25rem;padding:0;position:relative}.mobile-flow{padding:.75rem 0}.mobile-nav-button{width:36px;height:36px;font-size:1rem}.nav-prev.mobile-nav-button{left:.25rem}.nav-next.mobile-nav-button{right:.25rem}.mobile-counter{font-size:var(--text-xs);padding:.25rem .5rem}.mobile-card{min-width:160px;max-width:200px;min-height:120px;padding:1rem .75rem}.indicator{width:10px;height:10px}.palette-showcase{padding:.75rem;min-height:fit-content;border-radius:12px}.palette-showcase h3{font-size:var(--text-base);margin-bottom:.25rem}.palette-showcase p{font-size:var(--text-xs);margin-bottom:.5rem}.color-info-display{padding:.5rem;margin-top:.25rem;min-height:fit-content;gap:.5rem;border-radius:8px;flex-wrap:wrap}.color-preview{width:35px;height:35px}.color-emoji{font-size:1rem}.color-details{flex-direction:column;align-items:flex-start;gap:.5rem}.color-details h4{font-size:var(--text-sm);min-width:auto;text-align:center;width:100%}.css-values{justify-content:center;width:100%}.css-value{flex-direction:column;text-align:center;gap:.25rem}.css-label{font-size:.6rem}.css-value code{font-size:.65rem;padding:.25rem .5rem}.copy-notification{font-size:.6rem;padding:.2rem .5rem}.color-flow{gap:.75rem;padding:.5rem 0}.flow-card{min-width:100px;max-width:100px;min-height:90px;padding:1rem .75rem;border-radius:12px}.flow-emoji{font-size:1.5rem;margin-bottom:.25rem}.flow-name{font-size:.7rem;font-weight:600}.flow-value{font-size:.55rem;padding:.2rem .4rem}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(20px)}50%{opacity:1;transform:scale(1.1) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-card:active{transform:scale(1.02)!important;transition:transform .1s ease-out}.mobile-swipe-indicators{position:absolute;top:50%;transform:translateY(-50%);width:100%;pointer-events:none;display:flex;justify-content:space-between;padding:0 1rem;z-index:5}.swipe-indicator{width:24px;height:24px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fffc;opacity:0;transition:opacity .3s ease}.swipe-indicator.active{opacity:1;animation:pulseGlow 1s ease-in-out infinite}.swipe-indicator.left:before{content:"‹"}.swipe-indicator.right:before{content:"›"}@keyframes swipeHint{0%,80%,to{opacity:.5;transform:translate(-50%) scale(1)}40%{opacity:.8;transform:translate(-50%) scale(1.05)}}.mobile-flow:after{content:"← Swipe to explore →";position:absolute;bottom:-1.5rem;left:50%;transform:translate(-50%);font-size:.7rem;color:var(--text-muted);opacity:.6;font-style:italic;animation:swipeHint 6s ease-in-out infinite;text-align:center;white-space:nowrap}@media (max-width: 480px){.mobile-flow:after{bottom:-1.5rem;font-size:.7rem}}@media (prefers-reduced-motion: reduce){.flow-card,.palette-showcase,.color-info-display,.copy-notification,.css-value code{transition:none;animation:none}.flow-card:before,.palette-showcase:before{display:none}.flow-card{opacity:1;transform:none}.flow-card:hover,.flow-card:hover .flow-emoji{transform:none}.flow-card:hover .flow-name{text-shadow:none}.mobile-flow:after{animation:none}}.color-palette{width:100%;height:100%;margin:0;padding:.75rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.footer{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#fffffff2,#f8fafcfa);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(148,163,184,.2);box-shadow:0 -4px 20px #0000000f;z-index:1000;padding:.75rem 0;transition:all .4s cubic-bezier(.4,0,.2,1)}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.4) 20%,rgba(168,85,247,.4) 50%,rgba(236,72,153,.4) 80%,transparent 100%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.3}50%{opacity:.7}}.footer .container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.footer-content{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.75rem}.footer-left{display:flex;align-items:center;gap:.75rem;flex:1;white-space:nowrap;min-width:0}.footer-sparkle{font-size:1.1rem;animation:sparkle 2s ease-in-out infinite;flex-shrink:0}@keyframes sparkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.footer-copyright{font-size:.875rem;font-weight:400;color:var(--text-secondary, #64748b);letter-spacing:-.01em;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.footer-links{display:flex;gap:1rem;align-items:center;flex-shrink:0}.footer-link{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#fffc,#f8fafce6);border:1px solid rgba(148,163,184,.2);border-radius:10px;color:var(--text-primary, #1e293b);text-decoration:none;font-weight:600;font-size:.8rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:-.01em;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;white-space:nowrap;overflow:hidden;box-shadow:0 1px 4px #0000000a}.footer-icon{font-size:1.25rem;transition:all .3s ease;flex-shrink:0}.footer-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(99,102,241,.1),transparent);transition:left .6s cubic-bezier(.4,0,.2,1)}.footer-link:hover:before{left:100%}.footer-link:hover{transform:translateY(-2px) scale(1.02)}.footer-link.linkedin:hover{background:linear-gradient(135deg,#0a66c21a,#0a66c20d);border-color:#0a66c24d;color:#0a66c2;box-shadow:0 8px 25px #0a66c226}.footer-link.linkedin:hover .footer-icon{color:#0a66c2;transform:scale(1.1)}.footer-link.github:hover{background:linear-gradient(135deg,#24292e1a,#24292e0d);border-color:#24292e4d;color:#24292e;box-shadow:0 8px 25px #24292e26}.footer-link.github:hover .footer-icon{color:#24292e;transform:scale(1.1)}.footer-link:focus{outline:none;box-shadow:0 0 0 3px #6366f133}.footer-link:active{transform:translateY(0) scale(.98)}@media (max-width: 768px){.footer{padding:.625rem 0}.footer .container{padding:0 1rem}.footer-content{flex-direction:column;gap:.625rem;text-align:center}.footer-left{justify-content:center}.footer-copyright{font-size:.8rem}.footer-links{gap:.75rem;justify-content:center}.footer-link{padding:.625rem 1rem;font-size:.8rem;gap:.5rem;border-radius:10px}.footer-icon{font-size:1.125rem}}@media (max-width: 480px){.footer{padding:.5rem 0}.footer .container{padding:0 .75rem}.footer-content{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;text-align:left}.footer-left{flex:1;min-width:0;justify-content:flex-start}.footer-copyright{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-links{gap:.5rem;flex-shrink:0}.footer-link{padding:.5rem;font-size:0;gap:0;border-radius:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.footer-link span{display:none}.footer-icon{font-size:1.125rem}}[data-theme=dark] .footer{background:linear-gradient(135deg,#0f172af2,#1e293bfa);border-top-color:#94a3b81a;box-shadow:0 -8px 32px #0000004d}[data-theme=dark] .footer:before{background:linear-gradient(90deg,transparent 0%,rgba(139,92,246,.6) 20%,rgba(236,72,153,.6) 50%,rgba(34,197,94,.6) 80%,transparent 100%)}[data-theme=dark] .footer-link{background:linear-gradient(135deg,#1e293bcc,#334155e6);color:var(--text-primary, #e2e8f0);border-color:#94a3b833;box-shadow:0 2px 8px #0003}[data-theme=dark] .footer-link:before{background:linear-gradient(90deg,transparent,rgba(139,92,246,.15),transparent)}[data-theme=dark] .footer-link.linkedin:hover{background:linear-gradient(135deg,#0a66c233,#0a66c21a);border-color:#0a66c266;color:#60a5fa;box-shadow:0 8px 25px #0a66c240}[data-theme=dark] .footer-link.linkedin:hover .footer-icon{color:#60a5fa}[data-theme=dark] .footer-link.github:hover{background:linear-gradient(135deg,#f8fafc26,#f8fafc1a);border-color:#f8fafc4d;color:#f8fafc;box-shadow:0 8px 25px #f8fafc26}[data-theme=dark] .footer-link.github:hover .footer-icon{color:#f8fafc}[data-theme=dark] .footer p{color:var(--text-secondary, #94a3b8)}.footer-link,.footer-link:before,.footer-link span[aria-hidden]{will-change:transform,opacity,background-color}@media (prefers-reduced-motion: reduce){.footer,.footer-link,.footer-link:before,.footer-link span[aria-hidden],.footer:before{animation:none;transition-duration:.1s}.footer-copyright:before{animation:none}}.footer-link:focus-visible{outline:2px solid var(--text-accent, #6366f1);outline-offset:2px}@media (prefers-contrast: high){.footer{border-top:2px solid}.footer-link{border-width:2px}}.floating-button-base{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:50%;width:56px;height:56px;font-size:var(--text-xl);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a;z-index:9998;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.floating-button-floating{position:fixed;right:20px;transform:translateY(-50%);z-index:9998;background:#ffffff26;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0003;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin:0;padding:0;box-sizing:border-box}.floating-button-center{top:50%;z-index:9999}.floating-button-above{top:calc(50% - 72px);z-index:9998}.floating-button-below{top:calc(50% + 72px);z-index:9998}.floating-button-above[style*="z-index: 9999"]{top:calc(50% - 144px)}.floating-button-above[style*="z-index: 9996"]{top:calc(50% - 72px)}.floating-button-base.active,.floating-button-floating.active{z-index:10001!important;background:#f44336e6;border-color:#f44336}.floating-button-base:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--text-accent);opacity:.1;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.floating-button-base:hover:before{width:100%;height:100%}.floating-button-floating:hover{transform:translateY(-50%) rotate(180deg) scale(1.1);border-color:var(--text-accent);box-shadow:0 12px 40px #0000004d;background:#fff3;transition:all .3s cubic-bezier(.4,0,.2,1)}.floating-button-floating:hover:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:var(--text-accent);opacity:.1;transform:translate(-50%,-50%);transition:all .3s ease}.floating-button-base:focus,.floating-button-floating:focus{outline:3px solid var(--focus-ring);outline-offset:3px;animation:floating-pulse .4s ease-in-out}.floating-button-base:focus:not(:focus-visible),.floating-button-floating:focus:not(:focus-visible){outline:none}.floating-button-base:focus-visible,.floating-button-floating:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.floating-button-floating:active{transform:translateY(-50%) rotate(180deg) scale(.95);transition:all .1s cubic-bezier(.4,0,.2,1)}.floating-button-floating.pending{opacity:.8;transform:translateY(-50%) scale(.95);transition:all .2s ease;cursor:wait}.floating-button-floating:disabled{cursor:not-allowed;opacity:.6}.floating-button-floating:disabled:hover{transform:translateY(-50%);border-color:#fff3;box-shadow:0 8px 32px #0003;background:#ffffff26}@keyframes floating-error{0%,to{transform:translateY(-50%)}25%{transform:translateY(-50%) translate(-5px)}75%{transform:translateY(-50%) translate(5px)}}.floating-button-floating.error{animation:floating-error .3s ease-in-out;background:#ff6b6bcc;border-color:#ff6b6b}@keyframes floating-pulse{0%,to{box-shadow:0 8px 32px #0003;transform:translateY(-50%) scale(1)}50%{box-shadow:0 12px 48px var(--text-accent);transform:translateY(-50%) scale(1.05)}}[data-theme=dark] .floating-button-floating{background:#0000004d;border-color:#ffffff4d}[data-theme=dark] .floating-button-floating:hover{background:#0006;border-color:var(--text-accent)}[data-theme=dark] .floating-button-base.active,[data-theme=dark] .floating-button-floating.active{background:#f44336e6;border-color:#f44336}@media (max-width: 1024px){.floating-button-floating{right:max(12px,calc(100vw - 100% + 12px));z-index:10001}.floating-button-floating.active{position:fixed;top:16px;right:16px;transform:none;z-index:10001!important;background:#f44336e6;border-color:#f44336;box-shadow:0 8px 32px var(--shadow-strong)}.floating-button-floating.active:hover{background:#f44336;transform:scale(1.1)}}@media (max-width: 768px){.floating-button-floating{width:48px;height:48px;font-size:var(--text-lg);right:max(16px,calc(100vw - 100% + 16px))}.floating-button-floating.active{position:fixed;top:12px;right:12px;width:44px;height:44px;font-size:var(--text-base);transform:none}}@media (max-width: 480px){.floating-button-floating{width:44px;height:44px;right:max(12px,calc(100vw - 100% + 12px));font-size:var(--text-base)}.floating-button-floating.active{position:fixed;top:10px;right:10px;width:40px;height:40px;font-size:var(--text-sm);transform:none}}@media (max-width: 375px){.floating-button-floating{width:40px;height:40px;right:max(10px,calc(100vw - 100% + 10px));font-size:var(--text-sm)}.floating-button-floating.active{position:fixed;top:8px;right:8px;width:36px;height:36px;font-size:var(--text-sm);transform:none}}@container (max-width: 768px){.floating-button-floating{font-size:var(--text-lg)}}@container (max-width: 480px){.floating-button-floating{font-size:var(--text-base)}}@media (prefers-reduced-motion: reduce){.floating-button-floating{transition:none}.floating-button-floating:hover{transform:translateY(-50%) scale(1.05)}@keyframes floating-pulse{0%,to{opacity:1}50%{opacity:.8}}}@media (prefers-contrast: high){.floating-button-floating{border:3px solid var(--text-primary);background:var(--bg-primary)}}@media print{.floating-button-floating{display:none}}.floating-button-floating{transition:all .3s cubic-bezier(.4,0,.2,1),width .2s ease,height .2s ease,right .2s ease,top .2s ease}.floating-button-base.pending,.floating-button-floating.pending{opacity:.7;transform:translateY(-50%) scale(.95);transition:opacity .2s ease,transform .2s ease}.floating-button-base:disabled,.floating-button-floating:disabled{cursor:not-allowed}.global-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px}.global-loading-spinner{width:40px;height:40px;border:3px solid var(--bg-secondary);border-top:3px solid var(--text-accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.global-loading p{color:var(--text-secondary);font-size:.9rem}.performance-dashboard{position:fixed;top:80px;right:20px;width:450px;max-height:80vh;background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;font-size:.875rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--primary-color);color:var(--primary-text-color);border-bottom:1px solid var(--border-color)}.dashboard-header h3{margin:0;font-size:1rem;font-weight:600}.dashboard-score{display:flex;flex-direction:column;align-items:flex-end;font-size:.75rem}.score-label{opacity:.8;margin-bottom:.25rem}.score-value{font-weight:700;font-size:1.1rem}.dashboard-tabs{display:flex;background:var(--background-color);border-bottom:1px solid var(--border-color)}.tab-button{flex:1;padding:.75rem .5rem;background:transparent;border:none;color:var(--text-color);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;border-bottom:2px solid transparent}.tab-button:hover{background:var(--hover-color)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--card-background)}.dashboard-content{padding:1rem;max-height:60vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.dashboard-content::-webkit-scrollbar{width:6px}.dashboard-content::-webkit-scrollbar-track{background:transparent}.dashboard-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.metrics-grid{display:grid;gap:1rem;grid-template-columns:1fr}.metric-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.metric-card h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--text-color)}.metric-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.metric-row:last-child{margin-bottom:0}.metric-name{font-size:.8rem;color:var(--text-secondary)}.metric-value{font-weight:600;font-size:.8rem}.summary-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stat-value{font-weight:700;font-size:1.1rem;color:var(--text-color);margin-bottom:.25rem}.stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.budget-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;margin-bottom:.75rem}.budget-indicator.passed{background:var(--success-light);color:var(--success-color)}.budget-indicator.failed{background:var(--error-light);color:var(--error-color)}.budget-violation{font-size:.75rem;margin-bottom:.5rem;padding:.5rem;background:var(--warning-light);border-radius:4px;border-left:3px solid var(--warning-color)}.violation-type{font-weight:600;text-transform:capitalize;display:block;margin-bottom:.25rem}.violation-message{color:var(--text-secondary)}.detailed-metric{margin-bottom:1rem;padding:.75rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:6px}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.metric-title{font-weight:600;font-size:.8rem}.metric-current{font-weight:700;font-size:.9rem}.metric-bar{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.metric-fill{height:100%;transition:width .3s ease;border-radius:3px}.performance-history{margin-top:1.5rem}.history-chart{display:flex;align-items:flex-end;gap:.25rem;height:60px;padding:.5rem 0}.history-point{display:flex;flex-direction:column;align-items:center;flex:1}.history-bar{width:100%;max-width:20px;background:var(--primary-color);border-radius:2px 2px 0 0;transition:height .3s ease;min-height:2px}.history-label{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.bundle-overview{margin-bottom:1.5rem}.bundle-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.bundle-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:6px}.chunks-list h4{margin-bottom:.75rem;font-size:.9rem;font-weight:600}.chunk-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:6px}.chunk-info{display:flex;flex-direction:column;gap:.25rem}.chunk-name{font-weight:600;font-size:.8rem;color:var(--text-color)}.chunk-type{font-size:.7rem;padding:.125rem .375rem;border-radius:12px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.chunk-type.main{background:var(--primary-light);color:var(--primary-color)}.chunk-type.vendor{background:var(--secondary-light);color:var(--secondary-color)}.chunk-type.async{background:var(--success-light);color:var(--success-color)}.chunk-type.other{background:var(--border-color);color:var(--text-secondary)}.chunk-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.75rem}.chunk-cache.cached{color:var(--success-color)}.chunk-cache.not-cached{color:var(--warning-color)}.alerts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.alert-filters{display:flex;gap:.5rem}.filter-button{padding:.375rem .75rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;font-size:.75rem;transition:all .2s ease}.filter-button:hover{background:var(--hover-color)}.filter-button.active{background:var(--primary-color);color:var(--primary-text-color);border-color:var(--primary-color)}.clear-alerts{padding:.375rem .75rem;background:var(--error-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;transition:background .2s ease}.clear-alerts:hover{background:var(--error-dark)}.alerts-list{max-height:300px;overflow-y:auto}.no-alerts{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.alert-item{margin-bottom:.75rem;padding:.75rem;border-radius:6px;border-left:4px solid}.alert-item.error{background:var(--error-light);border-left-color:var(--error-color)}.alert-item.warning{background:var(--warning-light);border-left-color:var(--warning-color)}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.alert-type{font-weight:700;font-size:.7rem;letter-spacing:.5px}.alert-time{font-size:.7rem;color:var(--text-secondary)}.alert-message{font-size:.8rem;margin-bottom:.5rem;line-height:1.4}.alert-data{background:var(--background-color);padding:.5rem;border-radius:4px;font-size:.7rem}.alert-data pre{margin:0;white-space:pre-wrap;word-break:break-all}:root{--success-color: #4caf50;--success-light: rgba(76, 175, 80, .1);--warning-color: #ff9800;--warning-light: rgba(255, 152, 0, .1);--warning-light-color: #ffa726;--error-color: #f44336;--error-light: rgba(244, 67, 54, .1);--error-dark: #d32f2f;--primary-light: rgba(151, 240, 229, .2);--secondary-light: rgba(246, 206, 158, .2)}.performance-dashboard.dark{--card-background: rgba(26, 29, 46, .95);--background-color: #0c0f1d;--text-color: #fafafa;--text-secondary: #b0b0b0;--border-color: #37c5b3;--hover-color: rgba(55, 197, 179, .1);--primary-color: #37c5b3;--primary-text-color: #fafafa}.performance-dashboard.light{--card-background: rgba(255, 255, 255, .95);--background-color: #f7f7f7;--text-color: #0a0d1a;--text-secondary: #666666;--border-color: #e0e0e0;--hover-color: rgba(151, 240, 229, .1);--primary-color: #97f0e5;--primary-text-color: #0c0f1d}@media (max-width: 1024px){.performance-dashboard{position:fixed;top:0;right:0;left:0;bottom:0;width:100vw;height:100vh;max-height:100vh;border-radius:0;z-index:10000;overflow:hidden}.dashboard-content{max-height:calc(100vh - 120px);padding:.75rem}.summary-stats,.bundle-stats{grid-template-columns:1fr}.dashboard-header{padding:.75rem}.dashboard-tabs{padding:0}.tab-button{padding:.75rem .5rem;font-size:.85rem}}@media (max-width: 768px){.performance-dashboard{position:fixed;top:0;right:0;left:0;bottom:0;width:100vw;height:100vh;max-height:100vh;border-radius:0;z-index:10000}.dashboard-content{max-height:calc(100vh - 110px);padding:.5rem}.dashboard-header{padding:.5rem}.dashboard-header h3{font-size:.9rem}.tab-button{padding:.5rem .25rem;font-size:.75rem}.metric-card{padding:.75rem}.chunk-item,.alert-item{padding:.5rem}}.skills-radar-section{height:100vh;position:relative;z-index:2;background:var(--bg-primary);display:flex;flex-direction:column;justify-content:center}.skills-radar-container{display:flex;justify-content:center;align-items:center;width:100%;max-width:900px;height:500px;padding:20px;margin:var(--space-6) auto 0 auto}.skills-radar-chart{width:100%;height:100%;max-width:800px}@media (max-width: 768px){.skills-radar-section{height:100vh;padding:1rem}.skills-radar-container{height:350px;padding:10px;margin-top:var(--space-4)}}@media (max-width: 480px){.skills-radar-container{height:320px;padding:5px;margin-top:var(--space-3)}}@media (prefers-reduced-motion: reduce){.skills-radar-container{animation:none}}.seo-dashboard{position:fixed;top:20px;right:20px;width:400px;max-height:80vh;background:var(--card-background, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:1rem;box-shadow:0 10px 25px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;overflow-y:auto;font-size:.85rem}.seo-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.seo-dashboard-header h3{margin:0;font-size:1rem;color:var(--text-primary, #1a202c)}.seo-status{padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.seo-status.monitoring{background:#d1fae5;color:#065f46}.seo-status.stopped{background:#fee2e2;color:#991b1b}.seo-metrics-grid{display:flex;flex-direction:column;gap:1rem}.seo-metric-card{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:.75rem}.seo-metric-card h4{margin:0 0 .5rem;font-size:.9rem;color:var(--text-primary, #1a202c);font-weight:600}.metric-items{display:flex;flex-direction:column;gap:.375rem}.metric-item{display:flex;justify-content:space-between;align-items:center}.metric-label{color:var(--text-secondary, #64748b);font-size:.8rem}.metric-value{font-weight:600;font-size:.8rem;color:var(--text-primary, #1a202c)}.metric-status{font-size:.9rem}.metric-status.good{color:#10b981}.metric-status.needs-work{color:#ef4444}.audit-score{font-size:1.5rem;font-weight:700;text-align:center;margin:.5rem 0}.audit-issues{margin-top:.5rem}.audit-issues strong{display:block;margin-bottom:.25rem;color:var(--text-primary, #1a202c)}.audit-issues ul{margin:0;padding-left:1rem;list-style-type:disc}.audit-issues li{font-size:.75rem;color:var(--text-secondary, #64748b);margin-bottom:.125rem}[data-theme=dark] .seo-dashboard{background:var(--card-background, #1a202c);border-color:var(--border-color, #2d3748)}[data-theme=dark] .seo-metric-card{background:var(--bg-secondary, #2d3748);border-color:var(--border-color, #4a5568)}@media (max-width: 768px){.seo-dashboard{width:calc(100vw - 40px);max-width:350px;right:20px;top:80px}}.seo-dashboard::-webkit-scrollbar{width:6px}.seo-dashboard::-webkit-scrollbar-track{background:transparent}.seo-dashboard::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.seo-dashboard::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #64748b)}.bundle-analyzer{position:fixed;top:80px;right:20px;width:450px;max-height:80vh;background:var(--card-background, rgba(255, 255, 255, .95));border:1px solid var(--border-color, #e0e0e0);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg, 0 8px 32px rgba(0, 0, 0, .1));overflow:hidden;z-index:1000;font-size:.875rem;font-family:Inter,sans-serif;color:var(--text-color, #333);transition:all .3s ease}.bundle-analyzer-header{padding:1rem;background:var(--header-background, rgba(255, 255, 255, .02));border-bottom:1px solid var(--border-color, #e0e0e0);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.bundle-analyzer-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #333);flex-shrink:0}.header-controls{display:flex;align-items:center;gap:.75rem}.bundle-score{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.bundle-score .score-label{font-size:.75rem;color:var(--text-secondary, #666);margin:0}.bundle-score .score-value{font-size:.875rem;font-weight:600;margin:0}.bundle-analyzer-tabs{display:flex;background:var(--tab-background, rgba(255, 255, 255, .02));border-bottom:1px solid var(--border-color, #e0e0e0);overflow-x:auto}.tab-button{flex:1;background:none;border:none;padding:.75rem 1rem;color:var(--text-secondary, #666);cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;white-space:nowrap;font-size:.875rem;font-weight:500}.tab-button:hover{background:var(--hover-background, rgba(0, 0, 0, .05));color:var(--text-primary, #333)}.tab-button.active{color:var(--primary-color, #007acc);border-bottom-color:var(--primary-color, #007acc);background:var(--active-background, rgba(0, 122, 204, .05))}.bundle-analyzer-content{padding:1rem;overflow-y:auto;max-height:calc(80vh - 140px)}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:10px}.score-item{display:flex;flex-direction:column;align-items:center;padding:10px;background:var(--bg-alt);border-radius:6px;border:1px solid var(--bg-secondary)}.score-label{font-size:11px;color:var(--text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.score-value{font-size:24px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.overview-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.stat-item{display:flex;justify-content:space-between;padding:8px;background:var(--bg-alt);border-radius:4px}.stat-label{color:var(--text-secondary);font-size:12px}.stat-value{color:var(--text-primary);font-weight:700;font-size:12px}.recommendations{margin-bottom:0;padding:15px;background:var(--bg-secondary);border-radius:0;border:1px solid var(--text-accent);border-left:4px solid #ff9800;border-bottom:none}.recommendation-item{padding:8px 0;color:var(--text-primary);font-size:12px;border-bottom:1px solid var(--bg-alt)}.recommendation-item:last-child{border-bottom:none}.cached-indicator{font-size:10px;color:var(--text-accent);background:var(--bg-alt);padding:2px 6px;border-radius:4px;margin-left:5px}.chunk-compressed{color:var(--text-secondary);font-size:11px}.chunk-compression{color:var(--text-accent);font-size:11px;font-weight:700}.dependencies-analysis{margin-bottom:0;padding:15px;background:var(--bg-secondary);border-radius:0;border:1px solid var(--text-accent);border-bottom:none}.dependency-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--bg-alt)}.dependency-item:last-child{border-bottom:none}.dependency-name{color:var(--text-primary);font-size:12px;font-weight:500}.dependency-size{color:var(--text-secondary);font-size:11px}.bundle-analyzer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--primary-color);color:var(--primary-text-color);border-bottom:1px solid var(--border-color)}.bundle-analyzer-header h3{margin:0;font-size:1rem;font-weight:600}.header-controls{display:flex;align-items:center;gap:1rem}.bundle-score{display:flex;flex-direction:column;align-items:flex-end;font-size:.875rem}.bundle-score .score-label{color:var(--primary-text-color);opacity:.8;font-size:.75rem;margin-bottom:2px}.bundle-score .score-value{font-weight:600;font-size:.875rem}.close-button{background:#fff3;border:none;color:var(--primary-text-color);width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#ffffff4d;transform:scale(1.1)}.refresh-button{background:#fff3;border:none;color:var(--primary-text-color);width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.refresh-button:hover{background:#ffffff4d;transform:scale(1.1)}.bundle-analyzer-tabs{display:flex;background:var(--card-background);border-bottom:1px solid var(--border-color);overflow-x:auto}.tab-button{padding:.75rem 1rem;background:transparent;border:none;color:var(--text-color);cursor:pointer;font-size:.875rem;font-weight:500;border-bottom:2px solid transparent;transition:all .2s ease;white-space:nowrap}.tab-button:hover{background:#ffffff1a}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:#ffffff0d}.overview-tab,.chunks-tab,.dependencies-tab,.recommendations-tab{padding:0}.metrics-grid{display:grid;gap:1rem;padding:1rem}.metric-card{background:var(--bg-secondary, rgba(255, 255, 255, .5));border:1px solid var(--border-color);border-radius:8px;padding:1rem}.metric-card h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-color)}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.stat{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:.25rem}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.budget-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;margin-bottom:.5rem}.budget-indicator.passed{background:#4caf501a;color:#4caf50}.budget-indicator.failed{background:#f443361a;color:#f44336}.budget-violation{font-size:.75rem;color:var(--text-secondary);padding:.25rem 0;border-top:1px solid var(--border-color)}.chunk-item.detailed{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-alt, rgba(255, 255, 255, .3));border:1px solid var(--border-color);border-radius:6px;margin-bottom:.5rem}.chunk-info{display:flex;align-items:center;gap:.5rem;flex:1}.chunk-type{background:var(--primary-color);color:var(--primary-text-color);padding:.125rem .375rem;border-radius:3px;font-size:.6rem;text-transform:uppercase;font-weight:500}.chunk-metrics{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:var(--text-secondary)}.chunk-item.compact{display:flex;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--border-color);font-size:.75rem}.chunk-item.compact:last-child{border-bottom:none}.dependencies-list,.recommendations-list{padding:1rem}.dependency-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-alt, rgba(255, 255, 255, .3));border:1px solid var(--border-color);border-radius:6px;margin-bottom:.5rem}.dependency-metrics{display:flex;align-items:center;gap:.75rem;font-size:.75rem}.dependency-percentage{color:var(--text-secondary);font-weight:500}.recommendation-item{display:flex;gap:.75rem;padding:1rem;background:var(--bg-alt, rgba(255, 255, 255, .3));border:1px solid var(--border-color);border-radius:6px;margin-bottom:.75rem}.recommendation-icon{font-size:1.25rem;flex-shrink:0}.recommendation-content{flex:1}.recommendation-text{color:var(--text-color);line-height:1.5}.success-message{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#4caf501a;color:#4caf50;border-radius:6px;font-weight:500}.no-dependencies,.no-recommendations{padding:1rem;text-align:center;color:var(--text-secondary)}.bundle-analyzer-content{padding:0;max-height:60vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.bundle-analyzer-content::-webkit-scrollbar{width:6px}.bundle-analyzer-content::-webkit-scrollbar-track{background:transparent}.bundle-analyzer-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.bundle-analyzer h3{margin-top:0;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--analyzer-header-color)}.budget-warnings{background:var(--analyzer-warning-bg);border:1px solid var(--analyzer-warning-border);border-radius:0;padding:15px;margin-bottom:0;border-bottom:none}.budget-warnings h4{margin:0 0 6px;font-size:12px;color:var(--analyzer-warning-text)}.warning-item{font-size:11px;color:var(--analyzer-warning-text);margin:2px 0}.chunks-analysis{margin-bottom:0;padding:15px;background:var(--bg-secondary);border-radius:0;border:1px solid var(--text-accent);border-bottom:none}.chunks-analysis h4{color:#ff6b6b;margin-bottom:6px;font-size:12px}.chunks-list{margin-bottom:0;padding:15px;background:var(--bg-secondary);border-radius:0;border:1px solid var(--text-accent);border-top:none}.chunks-list h4{color:var(--analyzer-size-color);margin-bottom:6px;font-size:12px}.chunks-container{max-height:200px;overflow-y:auto}.chunk-item{display:flex;justify-content:space-between;margin:2px 0;padding:3px 0;border-bottom:1px solid var(--analyzer-chunk-border);font-size:11px}.chunk-item.priority{background:var(--analyzer-priority-bg);padding:4px 6px;border-radius:4px;border-bottom:1px solid var(--analyzer-priority-border)}.chunk-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.chunk-size{margin:0 8px;color:var(--analyzer-size-color);font-weight:700;min-width:60px;text-align:right}.chunk-load-time{color:var(--analyzer-time-color);min-width:50px;text-align:right}@media (max-width: 768px){.bundle-analyzer{top:10px;right:10px;left:10px;width:calc(100vw - 20px);max-width:none;padding:12px;font-size:11px;max-height:calc(100vh - 20px)}.score-grid{grid-template-columns:repeat(3,1fr);gap:6px}.score-item{padding:6px 2px}.score-label{font-size:9px}.score-value{font-size:16px}.chunk-name{max-width:60px;font-size:10px}.overview-stats{grid-template-columns:1fr;gap:6px}.stat-item{padding:6px}.performance-dashboard,.bundle-overview,.recommendations,.chunks-analysis,.dependencies-analysis,.chunks-list,.budget-warnings{padding:10px;margin-bottom:0}}@media (max-width: 480px){.bundle-analyzer{top:5px;right:5px;left:5px;width:calc(100vw - 10px);padding:8px;font-size:10px}.score-grid{grid-template-columns:repeat(3,1fr);gap:4px}.score-value{font-size:14px}}.bundle-analyzer::-webkit-scrollbar,.chunks-container::-webkit-scrollbar{width:4px}.bundle-analyzer::-webkit-scrollbar-track,.chunks-container::-webkit-scrollbar-track{background:var(--analyzer-overview-bg)}.bundle-analyzer::-webkit-scrollbar-thumb,.chunks-container::-webkit-scrollbar-thumb{background:var(--analyzer-border);border-radius:2px}.bundle-analyzer.dark{--card-background: rgba(26, 29, 46, .95);--text-color: #fafafa;--border-color: #37c5b3}.bundle-analyzer.light{--card-background: rgba(255, 255, 255, .95);--text-color: #0a0d1a;--border-color: #e0e0e0}.bundle-analyzer.dark{--card-background: rgba(26, 29, 46, .95);--text-color: #fafafa;--border-color: #37c5b3;--primary-color: #37c5b3;--primary-text-color: #fafafa}.bundle-analyzer.light{--card-background: rgba(255, 255, 255, .95);--text-color: #0a0d1a;--border-color: #e0e0e0;--primary-color: #97f0e5;--primary-text-color: #0c0f1d}@media (max-width: 1024px){.bundle-analyzer{position:fixed;top:0;right:0;left:0;bottom:0;width:100vw;height:100vh;max-height:100vh;border-radius:0;z-index:10000;overflow:hidden}.bundle-analyzer-content{max-height:calc(100vh - 120px);padding:0}.score-grid,.overview-stats{grid-template-columns:1fr}.bundle-analyzer-header{padding:.75rem}}@media (max-width: 768px){.bundle-analyzer{position:fixed;top:0;right:0;left:0;bottom:0;width:100vw;height:100vh;max-height:100vh;border-radius:0;z-index:10000}.bundle-analyzer-header{padding:.75rem}.bundle-analyzer-header h3{font-size:1rem}.header-controls{gap:.5rem}.bundle-score .score-label{font-size:.7rem}.bundle-score .score-value{font-size:.8rem}.bundle-analyzer-content{max-height:calc(100vh - 140px);padding:.75rem}.score-grid{grid-template-columns:1fr;gap:.5rem}.score-item{padding:.75rem .5rem}.tab-button{padding:.5rem .75rem;font-size:.8rem}}@media (max-width: 480px){.bundle-analyzer-header{padding:.5rem}.bundle-analyzer-header h3{font-size:.9rem}.header-controls{gap:.375rem}.bundle-score .score-label{font-size:.65rem}.bundle-score .score-value{font-size:.75rem}.close-button{width:24px;height:24px;font-size:1rem}.bundle-analyzer-content{padding:.5rem}.tab-button{padding:.5rem;font-size:.75rem}.score-grid{gap:.375rem}.score-item{padding:.5rem .375rem}}.tools-landing{height:calc(100vh - 80px);height:calc(100dvh - 80px);max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);width:100vw;max-width:100vw;display:flex;flex-direction:column;padding:0;margin:0;overflow:hidden;box-sizing:border-box;position:fixed;top:80px;left:0;right:0;bottom:0}.tools-landing .container{height:100%;width:100%;max-width:100%;margin:0;padding:clamp(.5rem,2vw,1rem);display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.tools-header{flex-shrink:0;margin-bottom:clamp(.5rem,2vh,1rem)}.tools-title{font-size:clamp(1.25rem,3.5vw,2rem);margin:0 0 clamp(.25rem,1vh,.5rem) 0;text-align:center;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.tools-description{text-align:center;margin:0 0 clamp(.5rem,1.5vh,1rem) 0;color:var(--text-secondary);font-size:clamp(.8rem,1.8vw,.95rem);line-height:1.3}.tools-category-filter{display:flex;justify-content:center;gap:clamp(.375rem,1vw,.75rem);margin-bottom:clamp(.5rem,2vh,1rem);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 0 .25rem;flex-shrink:0}.tools-category-filter::-webkit-scrollbar{display:none}.category-filter-btn{display:flex;align-items:center;gap:.375rem;padding:clamp(.375rem,1vh,.5rem) clamp(.5rem,1.5vw,.875rem);border:1.5px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-secondary);font-weight:500;font-size:clamp(.7rem,1.6vw,.8rem);cursor:pointer;transition:all .2s ease;min-width:max-content;white-space:nowrap;scroll-snap-align:start;flex-shrink:0}.category-filter-btn:hover{border-color:var(--text-accent);color:var(--text-primary);transform:translateY(-1px)}.category-filter-btn.active{background:var(--gradient-primary);border-color:transparent;color:var(--rican-white);transform:translateY(-1px)}.category-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;background:#fff3;border-radius:8px;font-size:.65rem;font-weight:600}.category-filter-btn.active .category-count{background:#ffffff4d}.tools-recent-section{margin-bottom:clamp(.125rem,.5vh,.25rem);padding:clamp(.5rem,1vh,.75rem) clamp(.75rem,1.5vw,1rem);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:20px;border:1px solid rgba(151,240,229,.2);flex-shrink:0;min-height:clamp(3.25rem,6vh,4rem);max-height:clamp(4rem,8vh,5rem);overflow:visible;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px var(--shadow-soft);display:flex;flex-direction:column}.tools-recent-title{font-size:clamp(.75rem,1.6vw,.875rem);font-weight:600;color:var(--text-primary);margin:0 0 clamp(.25rem,.8vh,.375rem) 0;font-family:var(--font-secondary);display:flex;align-items:center;gap:.375rem;flex-shrink:0;line-height:1.2}.tools-recent-title:before{content:"⚡";font-size:clamp(.8rem,1.8vw,1rem);filter:drop-shadow(0 1px 2px var(--shadow-soft))}.tools-recent-list{display:flex;gap:clamp(.25rem,.8vw,.375rem);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:0 0 .125rem;flex:1;align-items:center;min-height:0}.tools-recent-list::-webkit-scrollbar{display:none}.tools-recent-item{display:flex;align-items:center;gap:.3rem;padding:clamp(.375rem,.8vh,.5rem) clamp(.5rem,1.2vw,.75rem);background:rgba(var(--bg-primary-rgb),.8);border:1px solid rgba(151,240,229,.15);border-radius:12px;text-decoration:none;color:var(--text-primary);transition:all .2s cubic-bezier(.4,0,.2,1);font-size:clamp(.7rem,1.5vw,.8rem);font-weight:500;white-space:nowrap;flex-shrink:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;overflow:hidden;min-height:clamp(1.75rem,3vh,2.25rem);line-height:1.2}.tools-recent-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(151,240,229,.1),transparent);transition:left .3s ease}.tools-recent-item:hover:before{left:100%}.tools-recent-item:hover{transform:translateY(-1px) scale(1.02);border-color:var(--text-accent);background:rgba(var(--bg-primary-rgb),.95);box-shadow:0 4px 12px var(--shadow-medium)}.tools-recent-icon{font-size:clamp(.75rem,1.6vw,.875rem);filter:drop-shadow(0 1px 2px var(--shadow-soft))}.tools-swimlane-container{flex:1;width:100%;position:relative;overflow:hidden;margin:0;padding:0;min-height:0;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.tools-swimlane-track{display:flex;gap:clamp(1rem,2vw,1.5rem);height:100%;will-change:transform;align-items:flex-start;padding:clamp(1rem,2vh,1.5rem) clamp(1rem,2vw,2rem);transition:none;white-space:nowrap;min-width:fit-content;-webkit-user-select:none;user-select:none;touch-action:pan-x;background:transparent}.tools-swimlane-card{min-width:clamp(200px,25vw,280px);max-width:clamp(200px,25vw,280px);height:clamp(240px,28vh,300px);display:flex;flex-direction:column;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);overflow:visible;position:relative;box-shadow:0 4px 12px var(--shadow-soft);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;flex-shrink:0;text-decoration:none;color:inherit}.tools-swimlane-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px var(--shadow-strong);border-color:var(--text-accent);z-index:10}.tools-swimlane-card .tool-preview-header{height:clamp(70px,12vh,90px);position:relative;overflow:hidden;background:var(--bg-secondary);flex-shrink:0}.tools-swimlane-card .tool-preview-image{width:100%;height:100%;position:relative}.tools-swimlane-card .tool-preview-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.tools-swimlane-card:hover .tool-preview-image img{transform:scale(1.05)}.tool-preview-fallback{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary)}.tool-preview-icon{font-size:clamp(1.5rem,3vw,2rem);filter:drop-shadow(0 2px 4px var(--shadow-medium))}.tool-category-badge{position:absolute;top:clamp(.375rem,1vh,.5rem);right:clamp(.375rem,1vw,.5rem);padding:clamp(.1875rem,.5vh,.25rem) clamp(.375rem,1vw,.5rem);border-radius:12px;font-size:clamp(.6rem,1.4vw,.7rem);font-weight:600;text-transform:uppercase;letter-spacing:.3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 1px 4px #0000001a}.tool-category-badge[data-category=interactive]{background:#97f0e5e6;color:var(--mint-900)}.tool-category-badge[data-category=visualization]{background:#c584f6e6;color:var(--grape-900)}.tool-category-badge[data-category=utilities]{background:#8cf28ae6;color:var(--almond)}.tools-swimlane-card .tool-preview-content{padding:clamp(.875rem,1.8vh,1.25rem);flex:1;display:flex;flex-direction:column;gap:clamp(.5rem,1vh,.75rem);min-height:0;overflow:visible;justify-content:space-between}.tools-swimlane-card .tool-preview-name{font-size:clamp(.9rem,2vw,1.1rem);font-weight:600;margin:0;line-height:1.2;color:var(--text-primary)}.tools-swimlane-card .tool-preview-description{display:none}.tools-swimlane-card .tool-preview-features{display:flex;gap:clamp(.25rem,.6vw,.375rem);flex-wrap:wrap;margin-top:auto;align-items:flex-start}.tools-swimlane-card .tool-feature-tag{padding:clamp(.25rem,.5vh,.375rem) clamp(.375rem,1vw,.5rem);font-size:clamp(.65rem,1.4vw,.75rem);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);white-space:nowrap;font-weight:500}.tools-preview-grid{display:none!important}.tools-empty-state{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-muted)}.tools-empty-state p{font-size:clamp(.9rem,2vw,1.1rem);margin:0}@media (max-width: 768px){.tools-landing{height:calc(100vh - 70px);height:calc(100dvh - 70px);max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);top:70px}.tools-swimlane-card{min-width:clamp(180px,30vw,220px);max-width:clamp(180px,30vw,220px);height:clamp(220px,26vh,260px)}}@media (max-width: 480px){.tools-landing{height:calc(100vh - 60px);height:calc(100dvh - 60px);max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);top:60px}.tools-swimlane-card{min-width:clamp(160px,35vw,200px);max-width:clamp(160px,35vw,200px);height:clamp(200px,24vh,240px)}.tools-recent-section{margin-bottom:clamp(.125rem,.4vh,.25rem);padding:clamp(.5rem,1vh,.625rem) clamp(.625rem,1.3vw,.875rem);min-height:clamp(3rem,5.5vh,3.75rem);max-height:clamp(3.75rem,7vh,4.5rem)}.tools-recent-title{font-size:clamp(.7rem,1.4vw,.8rem);margin:0 0 clamp(.1875rem,.6vh,.25rem) 0}.tools-recent-item{padding:clamp(.25rem,.6vh,.375rem) clamp(.375rem,1vw,.5rem);font-size:clamp(.65rem,1.4vw,.75rem);gap:.25rem;min-height:clamp(1.5rem,2.8vh,2rem)}.tools-recent-icon{font-size:clamp(.75rem,1.5vw,.875rem)}}@media (prefers-contrast: high){.tools-swimlane-card{border-width:3px}.tool-category-badge{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-primary);border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.tools-swimlane-card,.category-filter-btn,.tools-recent-item,.tool-preview-image img{transition:none}.tools-swimlane-card:hover,.tools-swimlane-card:hover .tool-preview-image img{transform:none}}.mermaid-container{width:100%;height:100%;margin:0;padding:1rem;display:grid;grid-template-rows:1fr auto;gap:1rem;overflow:hidden;box-sizing:border-box}.mermaid-editor-diagram-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-height:0;overflow:hidden;width:100%}.mermaid-editor{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;box-sizing:border-box}.mermaid-editor textarea{width:100%;height:100%;min-height:0;border-radius:12px;border:1px solid var(--border-color);padding:1rem;font-family:var(--font-primary);font-size:var(--text-base);background-color:var(--bg-secondary);color:var(--text-primary);resize:none;box-sizing:border-box;overflow-y:auto;flex:1}.mermaid-buttons{display:flex;gap:.75rem;justify-content:center;padding:.75rem 0;align-items:center;box-sizing:border-box;grid-row:2}.mermaid-buttons .btn-primary,.mermaid-buttons .btn-secondary{padding:.75rem 1.5rem;font-size:.875rem;white-space:nowrap;flex-shrink:1;min-width:0;max-width:100%;text-overflow:ellipsis;overflow:hidden}.mermaid-diagram{display:flex;flex-direction:column;height:100%;min-height:0;padding:1rem;border-radius:12px;border:1px solid var(--border-color);background-color:var(--bg-secondary);overflow:hidden;box-sizing:border-box;position:relative}.mermaid-diagram{flex:1;min-height:0;overflow:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;box-sizing:border-box}.mermaid-diagram>*{max-width:100%;max-height:100%}.mermaid-diagram svg{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:8px;background:var(--bg-primary);object-fit:contain}.mermaid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:300px}.mermaid-loading-container{display:flex;flex-direction:column;align-items:center;gap:20px}.mermaid-loading-spinner{width:40px;height:40px;border:4px solid var(--bg-secondary);border-top:4px solid var(--text-accent);border-radius:50%;animation:spin 1s linear infinite}.mermaid-loading-skeleton{display:flex;flex-direction:column;align-items:center;gap:15px;opacity:.6;animation:pulse 2s ease-in-out infinite}.skeleton-header{width:200px;height:24px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-alt) 50%,var(--bg-secondary) 75%);background-size:200% 100%;border-radius:4px;animation:shimmer 2s infinite}.skeleton-diagram{display:flex;flex-direction:column;align-items:center;gap:10px}.skeleton-node{width:80px;height:40px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-alt) 50%,var(--bg-secondary) 75%);background-size:200% 100%;border-radius:8px;animation:shimmer 2s infinite}.skeleton-line{width:2px;height:20px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-alt) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 2s infinite}.loading-progress{position:relative;width:100%;max-width:300px;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin:20px auto}.progress-bar{height:100%;background:linear-gradient(90deg,var(--text-accent),var(--mint-800));border-radius:4px;transition:width .3s ease;position:relative}.progress-bar:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shine 1.5s infinite}.progress-text{font-size:12px;color:var(--text-secondary);text-align:center;display:block;margin-top:8px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.mermaid-loading p{color:var(--text-secondary);font-size:16px;margin:0}@keyframes mermaid-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=light] .mermaid-buttons .btn-primary{background:var(--gradient-primary);color:var(--rican-black);border:none;box-shadow:0 4px 15px var(--shadow-soft)}[data-theme=light] .mermaid-buttons .btn-primary:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 6px 20px var(--shadow-medium)}[data-theme=light] .mermaid-buttons .btn-secondary{background-color:transparent;color:var(--text-primary);border:2px solid var(--mint-800)}[data-theme=light] .mermaid-buttons .btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--text-primary)}[data-theme=dark] .mermaid-buttons .btn-primary{background:var(--gradient-primary);color:var(--rican-white);border:none;box-shadow:0 4px 15px var(--shadow-soft)}[data-theme=dark] .mermaid-buttons .btn-primary:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 6px 20px var(--shadow-medium)}[data-theme=dark] .mermaid-buttons .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary);border:2px solid var(--border-color)}[data-theme=dark] .mermaid-buttons .btn-secondary:hover{background-color:var(--bg-primary);border-color:var(--text-accent);color:var(--text-accent)}@media (max-width: 1024px){.mermaid-container{padding:.75rem;gap:.75rem}.mermaid-editor-diagram-wrapper{gap:.75rem}.mermaid-buttons{gap:.5rem;padding:.75rem 0}.mermaid-buttons .btn-primary,.mermaid-buttons .btn-secondary{padding:.5rem 1rem;font-size:.8rem;flex:1;max-width:calc(50% - .375rem)}}@media (max-width: 480px){.mermaid-container{padding:.5rem;gap:.5rem;grid-template-rows:1fr auto;height:100%}.mermaid-editor-diagram-wrapper{display:flex;flex-direction:column;gap:.5rem;height:100%;min-height:0;overflow:hidden}.mermaid-diagram{order:1;flex:1;min-height:200px;height:auto;overflow:auto;display:flex;justify-content:center;align-items:center}.mermaid-editor{order:2;flex:1;min-height:150px;height:auto;display:flex;flex-direction:column}.mermaid-editor textarea{font-size:14px;flex:1;min-height:0;height:100%}.mermaid-buttons{gap:.5rem;padding:.5rem 0}.mermaid-buttons .btn-primary,.mermaid-buttons .btn-secondary{padding:.5rem .75rem;font-size:.75rem;flex:1;max-width:calc(50% - .25rem);min-width:0}}.matrix-editor-container{width:100%;height:100%;min-height:100%;max-height:100%;position:relative;overflow:hidden;background:#000;box-sizing:border-box;margin:0;padding:0}.matrix-editor-canvas{display:block;width:100%;height:100%;min-height:100%;max-height:100%;cursor:pointer;box-sizing:border-box;margin:0;padding:0}.matrix-editor-mask-canvas{display:none}.matrix-edit-form{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);color:var(--text-primary);padding:16px;border-radius:8px;box-shadow:0 12px 24px var(--shadow-strong);display:block;z-index:1000;max-height:70vh;overflow-y:auto;width:50%;min-width:320px;max-width:500px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}.matrix-edit-form h3{margin:0 0 12px;color:var(--text-primary);font-size:1.25rem;font-weight:600;text-align:center;background:var(--gradient-text);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.matrix-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.matrix-form-section{display:flex;flex-direction:column;gap:8px}.color-inputs-row{display:flex;gap:6px;flex-wrap:wrap}.color-inputs-row label{flex:1;min-width:60px}.text-inputs-row{display:flex;gap:6px;flex-wrap:wrap}.text-inputs-row label{flex:1;min-width:80px}.animation-inputs-row{display:flex;gap:6px;flex-wrap:wrap}.animation-inputs-row label{flex:1;min-width:80px}.matrix-form-section h4{color:var(--text-accent);font-size:.9rem;font-weight:600;margin:0 0 4px;border-bottom:1px solid var(--border-color);padding-bottom:2px}.matrix-edit-form label{display:flex;flex-direction:column;gap:3px;color:var(--text-secondary);font-weight:500;font-size:.75rem}.matrix-edit-form input{padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:12px;background:var(--bg-secondary);color:var(--text-primary);transition:all .2s ease;box-sizing:border-box}.matrix-edit-form input:focus{outline:none;border-color:var(--text-accent);box-shadow:0 0 0 2px rgba(var(--bg-primary-rgb),.1);background:var(--bg-primary)}.matrix-edit-form input[type=color]{height:32px;padding:2px;cursor:pointer;border-radius:4px}.matrix-edit-form input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.matrix-edit-form input[type=number]::-webkit-outer-spin-button,.matrix-edit-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-buttons{display:flex;gap:8px;justify-content:center;margin-top:16px;border-top:1px solid var(--border-color);padding-top:12px}.form-buttons button{padding:8px 16px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:80px;font-family:var(--font-secondary)}.form-buttons button[type=submit]{background:var(--text-accent);color:var(--bg-primary)}.form-buttons button[type=submit]:hover{background:var(--mint-800);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-medium)}.form-buttons button[type=button]{background:var(--bg-tertiary);color:var(--text-secondary);border:2px solid var(--border-color)}.form-buttons button[type=button]:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-soft)}.form-buttons button:active{transform:translateY(0)}@media (max-width: 768px){.matrix-editor-container{width:100vw;height:100vh;min-height:100vh;max-height:100vh;background:#000;position:fixed;top:0;left:0;right:0;bottom:0}.matrix-editor-canvas{width:100vw;height:100vh;min-height:100vh;max-height:100vh;position:absolute;top:0;left:0}.matrix-edit-form{width:90%;max-width:90%;padding:14px;max-height:70vh}.matrix-form-grid{grid-template-columns:1fr;gap:10px}.matrix-edit-form h3{font-size:1.1rem;margin-bottom:10px}.form-buttons{flex-direction:row;gap:6px}.form-buttons button{flex:1;padding:8px 12px}}@media (max-width: 428px) and (min-height: 920px),(max-width: 480px){.matrix-editor-container{width:100vw;height:100vh;min-height:100vh;max-height:100vh;background:#000;position:fixed;top:0;left:0;right:0;bottom:0;margin:0;padding:0}.matrix-editor-canvas{width:100vw;height:100vh;min-height:100vh;max-height:100vh;position:absolute;top:0;left:0;margin:0;padding:0}.matrix-edit-form{width:95%;padding:12px;min-width:280px;max-height:80vh}.matrix-edit-form input{padding:6px 8px;font-size:11px}.matrix-form-section h4{font-size:.85rem}.matrix-edit-form label{font-size:.7rem}.form-buttons button{font-size:11px;padding:7px 10px}.color-inputs-row{gap:4px}.color-inputs-row label{min-width:50px}.text-inputs-row{gap:4px}.text-inputs-row label{min-width:70px}.animation-inputs-row{gap:4px}.animation-inputs-row label{min-width:70px}}[data-theme=dark] .matrix-edit-form{box-shadow:0 20px 40px #0009}[data-theme=light] .matrix-edit-form{box-shadow:0 20px 40px #00000026}.ipfs-explorer{width:100%;height:100%;min-height:100%;max-height:100%;position:relative;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box;margin:0;padding:0;display:flex;flex-direction:column}.ipfs-header{text-align:center;padding:1rem;flex-shrink:0;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.ipfs-header h1{font-size:clamp(1.25rem,3vw,1.75rem);margin:0 0 .25rem;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.ipfs-header p{color:var(--text-secondary);font-size:clamp(.8rem,2vw,.95rem);margin:0}.segment-content{padding:2rem;text-align:center;background:var(--bg-primary);border-radius:8px;margin:1rem;box-shadow:0 2px 8px #0000001a}.segment-content h2{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.segment-content p{color:var(--text-secondary);font-size:1rem}.helia-segment-content,.ipfs-segment-content{background:var(--bg-primary)}.connection-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.connection-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px 12px 0 0;min-height:48px}.modal-header h3{margin:0;font-size:1rem;color:var(--text-primary);font-weight:600}.modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);padding:.25rem;border-radius:4px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:rgba(var(--text-primary-rgb),.1);color:var(--text-primary)}.modal-content{padding:1rem;position:relative}.modal-content{--watermark-display: block}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(https://raw.githubusercontent.com/ipfs/helia/main/assets/helia.png);background-size:300px 300px;background-repeat:no-repeat;background-position:center;opacity:.05;pointer-events:none;z-index:0;display:var(--watermark-display, block)}.modal-content>*{position:relative;z-index:1}.connection-status{margin-bottom:1.5rem;padding:0;background:var(--bg-primary);border-radius:0;border:none}.status-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.status-row:last-child{margin-bottom:0}.status-row.error{color:#ef4444}.status-label{font-weight:600;color:var(--text-secondary)}.status-value{display:flex;align-items:center;gap:.5rem;font-family:Courier New,monospace;font-size:.9rem}.status-value.connected{color:#22c55e}.status-value.disconnected{color:#ef4444}.status-indicator{width:8px;height:8px;border-radius:50%;display:inline-block}.status-value.connected .status-indicator{background:#22c55e}.status-value.disconnected .status-indicator{background:#ef4444}.node-info-section,.protocols-section,.addresses-section,.network-info{margin-bottom:1.5rem}.node-info-section h4,.protocols-section h4,.addresses-section h4,.network-info h4{margin:0 0 1rem;font-size:1rem;color:var(--text-primary);font-weight:600;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem}.info-row:last-child{margin-bottom:0}.info-label{font-weight:500;color:var(--text-secondary);flex-shrink:0}.info-value{font-family:Courier New,monospace;font-size:.85rem;color:var(--text-primary);text-align:right;word-break:break-all;display:flex;align-items:center;gap:.5rem}.info-value.peer-id{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-value.peer-id.clickable{transition:all .2s ease;border-radius:4px;padding:.25rem .5rem;margin:-.25rem -.5rem}.info-value.peer-id.clickable:hover{background:rgba(var(--accent-primary-rgb),.1);color:var(--accent-primary)}.refresh-btn{background:none;border:none;cursor:pointer;font-size:.8rem;padding:.25rem;border-radius:4px;transition:all .2s ease}.refresh-btn:hover{background:rgba(var(--text-primary-rgb),.1);transform:rotate(180deg)}.protocol-tag{background:var(--accent-primary);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-family:Courier New,monospace}.protocol-tag.more{background:var(--bg-tertiary);color:var(--text-secondary)}.address-item{background:var(--bg-secondary);padding:.5rem;border-radius:6px;font-family:Courier New,monospace;font-size:.8rem;color:var(--text-primary);border:1px solid var(--border-color);word-break:break-all}.address-item.more{background:var(--bg-tertiary);color:var(--text-secondary);font-style:italic;text-align:center}.network-info p{margin:.5rem 0;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.network-info p:first-child{margin-top:0}.network-info p:last-child{margin-bottom:0}.modal-header-buttons{display:flex;align-items:center;gap:.5rem}.config-edit-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px;font-size:1rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.config-edit-btn:hover{background:rgba(var(--text-primary-rgb),.1);transform:scale(1.1)}.config-modal{max-width:600px;width:90vw}.config-content{max-height:70vh;overflow-y:auto}.config-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.config-section:last-child{border-bottom:none;margin-bottom:0}.config-section h4{margin:0 0 1rem;font-size:1rem;color:var(--text-primary);font-weight:600}.config-row{margin-bottom:1rem}.config-row:last-child{margin-bottom:0}.config-row label{display:block;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem}.config-row label input[type=checkbox]{margin-right:.5rem}.config-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-family:Courier New,monospace;font-size:.85rem;transition:all .2s ease}.config-input:focus{outline:2px solid var(--accent-primary);outline-offset:2px;border-color:var(--accent-primary)}.config-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-family:Courier New,monospace;font-size:.85rem;resize:vertical;min-height:120px;transition:all .2s ease}.config-textarea:focus{outline:2px solid var(--accent-primary);outline-offset:2px;border-color:var(--accent-primary)}.config-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.config-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.save-btn{background:var(--accent-primary);color:#fff}.save-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.cancel-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.cancel-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 768px){.config-modal{width:95vw;margin:1rem}.config-actions{flex-direction:column}.config-btn{width:100%;justify-content:center}}.directory-entry.archive-file .no-segment-selected{display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-secondary);font-style:italic;min-height:200px}.directory-entry.archive-file .no-segment-selected p{margin:0;font-size:1rem}@media (max-width: 768px){.ipfs-explorer{width:100vw;height:100vh;min-height:100vh;max-height:100vh;position:fixed;top:0;left:0;right:0;bottom:0}.ipfs-header{padding:.75rem}.ipfs-header h1{font-size:1.25rem}.ipfs-header p{font-size:.8rem}.ipfs-select{padding:.75rem;font-size:.9rem;min-height:48px;flex:1;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary)}.ipfs-select option{font-size:.85rem;padding:.4rem}.ipfs-content{padding:.75rem}.ipfs-cid{font-size:.65rem;padding:.3rem .5rem;white-space:normal;word-break:break-all}.directory-header{padding:.75rem}.directory-title-row{flex-wrap:nowrap;align-items:center;gap:.75rem}.directory-header h3{font-size:1rem;flex:1;min-width:0}.items-count{font-size:.75rem;padding:.2rem .5rem;flex-shrink:0}.directory-entry{padding:.5rem .75rem}.entry-icon{font-size:1.1rem}.entry-name{gap:.4rem}.entry-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;font-size:.75rem}.entry-actions{margin-left:.5rem}.entry-link{width:28px;height:28px;font-size:.8rem}.ipfs-iframe{height:300px}.ipfs-mock-notice{font-size:.75rem;padding:.4rem}.ipfs-link{font-size:.85rem;padding:.6rem 1rem;min-width:120px}}@media (max-width: 480px){.ipfs-header{padding:.75rem}.ipfs-header h1{font-size:1.2rem}.ipfs-header p{font-size:.8rem}.ipfs-controls{padding:.75rem;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);position:relative;z-index:1000}.ipfs-navigation{display:flex;gap:.5rem;align-items:center;width:100%;flex-wrap:nowrap;min-height:44px}.nav-buttons-row{display:flex;gap:.4rem;align-items:center;flex-shrink:0;min-width:fit-content}.ipfs-select{padding:.75rem;font-size:.85rem;min-height:44px;flex:1;border:2px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary)}.ipfs-select option{font-size:.8rem;padding:.35rem}.ipfs-content{padding:.75rem}.ipfs-cid{font-size:.65rem;padding:.35rem}.directory-title-row{flex-wrap:nowrap;align-items:center;gap:.75rem}.directory-header h3{font-size:.95rem}.items-count{font-size:.7rem;padding:.15rem .4rem}.entry-icon{font-size:1rem}.entry-name{gap:.35rem}.entry-info{display:grid;grid-template-columns:1fr;gap:.25rem;font-size:.7rem}.content-badge{font-size:.7rem;padding:.2rem .6rem}.ipfs-iframe{height:250px}.ipfs-mock-notice{font-size:.7rem;padding:.35rem}.ipfs-link{font-size:.8rem;padding:.5rem .85rem;min-width:100px}}@media (max-width: 375px){.ipfs-controls{padding:.75rem .5rem;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);position:relative;z-index:1000}.ipfs-navigation{display:flex;gap:.4rem;align-items:center;width:100%;flex-wrap:nowrap;min-height:40px}.nav-buttons-row{display:flex;gap:.3rem;align-items:center;flex-shrink:0;min-width:fit-content}.ipfs-select{padding:.45rem .6rem;font-size:.75rem;min-height:34px;flex:1;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary)}}.ipfs-content{flex:1;padding:1rem;overflow-y:auto;background:var(--bg-primary);border:none;border-radius:0;margin:0}[data-theme=light] .protocols-section h4,[data-theme=light] .addresses-section h4,[data-theme=light] .network-info h4,[data-theme=light] .node-info-section h4{color:#1f2937}[data-theme=light] .protocol-tag{background:#1f2937;color:#fff}[data-theme=light] .protocol-tag.more{background:#e5e7eb;color:#374151}[data-theme=light] .address-item{background:#f9fafb;color:#1f2937;border-color:#e5e7eb}[data-theme=light] .address-item.more{background:#e5e7eb;color:#6b7280}[data-theme=light] .network-info p{color:#374151}[data-theme=light] .nav-button{background:#1f2937!important;color:#fff!important;border-color:#1f2937!important;box-shadow:0 2px 4px #0000001a}[data-theme=light] .nav-button:hover:not(:disabled){background:#111827!important;border-color:#111827!important;color:#fff!important;box-shadow:0 4px 6px #00000026}[data-theme=light] .nav-button:disabled{background:#e5e7eb!important;color:#6b7280!important;border-color:#d1d5db!important;box-shadow:0 1px 2px #0000000d}.ipfs-search-input{font-size:.8rem;padding:.5rem;min-height:40px}.ipfs-search-button{font-size:.8rem;padding:.5rem 1rem;min-height:40px}.ipfs-content-body{display:flex;flex-direction:column;gap:1rem}.ipfs-content-viewer{display:flex;flex-direction:column;gap:.75rem}.content-type-indicator{display:flex;justify-content:flex-start}.content-badge{background:var(--accent-primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.ipfs-iframe{width:100%;height:400px;border:1px solid var(--border-color);border-radius:8px;background:#fff;transition:height .3s ease}.ipfs-text-content{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.text-content-display{margin:0;padding:1rem;font-family:Courier New,Monaco,monospace;font-size:.85rem;line-height:1.4;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;background:transparent;border:none}.empty-file-message{font-style:italic;color:var(--text-secondary);text-align:center;padding:2rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color);margin:0}@media (max-width: 768px){.content-badge{font-size:.7rem;padding:.2rem .6rem}.ipfs-iframe{height:300px}}@media (max-width: 480px){.ipfs-iframe{height:250px}}.ipfs-content-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.ipfs-cid{font-size:.65rem;padding:.3rem .5rem;white-space:normal;word-break:break-all}.connection-text{font-size:.75rem}@media (max-width: 768px){.ipfs-cid{font-size:.65rem;padding:.3rem .5rem;white-space:normal;word-break:break-all}}@media (max-width: 480px){.ipfs-cid{font-size:.65rem;padding:.35rem}}@media (max-width: 375px){.ipfs-cid{font-size:.65rem;padding:.35rem}}[data-theme=dark] .ipfs-cid{background:var(--bg-tertiary)}.ipfs-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:1rem;margin:1rem;color:#ef4444;text-align:center;flex-shrink:0}.ipfs-error h3{margin:0 0 .5rem;font-size:1rem}.ipfs-error p{margin:0;font-size:.85rem}.ipfs-error-display{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:1rem;color:#ef4444;font-size:.9rem;line-height:1.5}.ipfs-error-display .error-main{margin:.5rem 0;font-weight:500}.ipfs-error-display .error-type{font-weight:700;color:#dc2626}.ipfs-error-display .error-code{margin:.5rem 0;font-family:Courier New,monospace;font-size:.8rem;color:#b91c1c;background:#ef44440d;padding:.25rem .5rem;border-radius:4px;display:inline-block}.ipfs-error-display .error-suggestion{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(239,68,68,.2);font-size:.85rem;color:#f97316;font-style:italic}.ipfs-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:var(--text-secondary)}.ipfs-spinner{border:3px solid rgba(var(--text-primary-rgb),.1);border-top:3px solid var(--accent-primary);border-radius:50%;width:32px;height:32px;animation:ipfs-spin 1s linear infinite;margin-bottom:1rem}@keyframes ipfs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ipfs-mock-notice{background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.3);border-radius:6px;padding:.5rem;font-size:.8rem;color:var(--accent-primary);text-align:center;margin:0;font-style:italic}.ipfs-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--accent-primary);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;font-size:.9rem;transition:all .2s ease;align-self:center;min-width:140px}.ipfs-link:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.3)}.ipfs-select{flex:1;padding:.75rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s ease;box-sizing:border-box;min-height:44px;position:relative;z-index:101;appearance:auto;-webkit-appearance:menulist;-moz-appearance:menulist}.ipfs-select option{background:var(--bg-primary);color:var(--text-primary);padding:.5rem;font-size:.9rem;border:none;outline:none;display:block}.ipfs-select:hover{border-color:var(--accent-primary)}.ipfs-select:focus{outline:2px solid var(--accent-primary);outline-offset:2px;border-color:var(--accent-primary)}@media (max-width: 768px){.ipfs-select{padding:.75rem;font-size:.9rem;min-height:48px;flex:1;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary)}.ipfs-select option{font-size:.85rem;padding:.4rem}.ipfs-mock-notice{font-size:.75rem;padding:.4rem}.ipfs-link{font-size:.85rem;padding:.6rem 1rem;min-width:120px}}@media (max-width: 480px){.ipfs-select{padding:.75rem;font-size:.85rem;min-height:44px;flex:1;border:2px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary)}.ipfs-select option{font-size:.8rem;padding:.35rem}.ipfs-mock-notice{font-size:.7rem;padding:.35rem}.ipfs-link{font-size:.8rem;padding:.5rem .85rem;min-width:100px}}@media (max-width: 375px){.ipfs-select{padding:.65rem;font-size:.8rem;min-height:40px;flex:1;border:2px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}}[data-theme=dark] .ipfs-select{background:var(--bg-tertiary)}[data-theme=dark] .ipfs-select option{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .ipfs-content{background:var(--bg-secondary)}.ipfs-directory-listing{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.directory-header{padding:1rem;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.directory-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:nowrap}.directory-header h3{margin:0;font-size:1.1rem;color:var(--text-primary);flex:1;font-weight:600}.items-count{font-size:.85rem;color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1);padding:.25rem .75rem;border-radius:12px;border:1px solid rgba(var(--accent-primary-rgb),.3);font-weight:600;white-space:nowrap;flex-shrink:0}.directory-entries{max-height:400px;overflow-y:auto}.directory-entry{display:flex;align-items:flex-start;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);transition:all .2s ease;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit;font-size:inherit;color:inherit}.directory-entry:hover,.directory-entry:focus{background:rgba(var(--accent-primary-rgb),.05);border-left-color:var(--accent-primary);transform:translate(2px);outline:none}.directory-entry:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.directory-entry:last-child{border-bottom:none}.entry-details{flex:1;min-width:0}.entry-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:.9rem;transition:color .2s ease;word-break:break-word;display:flex;align-items:center;gap:.5rem}.entry-icon{font-size:1.2rem;flex-shrink:0;transition:transform .2s ease}.directory-entry:hover .entry-name{color:var(--accent-primary)}.entry-info{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-secondary);flex-wrap:wrap}.directory-entry.web-file{border-left:3px solid #10b981}.directory-entry.document-file{border-left:3px solid #3b82f6}.directory-entry.image-file{border-left:3px solid #f59e0b}.directory-entry.audio-file{border-left:3px solid #8b5cf6}.directory-entry.video-file{border-left:3px solid #ef4444}.directory-entry.code-file{border-left:3px solid #06b6d4}.directory-entry.archive-file{border-left:3px solid #6b7280}.directory-entry.config-file{border-left:3px solid #f97316}.directory-entry.data-file{border-left:3px solid #84cc16}.directory-entry.folder{border-left:3px solid var(--accent-primary)}.directory-entry.unknown-file{border-left:3px solid #9ca3af}.entry-actions{display:flex;gap:.5rem;margin-left:auto;flex-shrink:0;margin-top:.25rem}.entry-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:2px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);text-decoration:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.entry-link:hover{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff;transform:scale(1.05)}.navigate-btn{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.navigate-btn:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);color:#fff;transform:scale(1.1)}.external-btn{background:#6b7280;color:#fff;border-color:#4b5563}.external-btn:hover{background:#4b5563;border-color:#374151;color:#fff}.entry-type{text-transform:capitalize;background:var(--accent-primary);color:#fff;padding:.1rem .4rem;border-radius:12px;font-size:.7rem;font-weight:500}.entry-size{font-family:Courier New,monospace}.entry-actions{flex-shrink:0;margin-left:1rem}.entry-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--accent-primary);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;transition:all .2s ease}.entry-link:hover{background:var(--accent-hover);transform:scale(1.05)}@media (max-width: 768px){.directory-header{padding:.75rem}.directory-title-row{flex-wrap:nowrap;align-items:center;gap:.75rem}.directory-header h3{font-size:1rem;flex:1;min-width:0}.items-count{font-size:.75rem;padding:.2rem .5rem;flex-shrink:0}.directory-entry{padding:.5rem .75rem}.entry-icon{font-size:1.1rem}.entry-name{gap:.4rem}.entry-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;font-size:.75rem}.entry-actions{margin-left:.5rem}.entry-link{width:28px;height:28px;font-size:.8rem}}@media (max-width: 480px){.directory-title-row{flex-wrap:nowrap;align-items:center;gap:.75rem}.directory-header h3{font-size:.95rem}.items-count{font-size:.7rem;padding:.15rem .4rem}.entry-icon{font-size:1rem}.entry-name{gap:.35rem}.entry-info{display:grid;grid-template-columns:1fr;gap:.25rem;font-size:.7rem}}[data-theme=light] .entry-link{border-color:#d1d5db;background:#f9fafb;color:#1f2937;font-weight:600}[data-theme=light] .entry-link:hover{border-color:#1f2937;background:#1f2937;color:#fff;box-shadow:0 2px 4px #0000001a}[data-theme=light] .navigate-btn{background:#1f2937!important;color:#fff!important;border-color:#1f2937!important;box-shadow:0 1px 3px #0000001a}[data-theme=light] .navigate-btn:hover{background:#111827!important;border-color:#111827!important;color:#fff!important;box-shadow:0 2px 4px #00000026}[data-theme=light] .external-btn{background:#6b7280!important;color:#fff!important;border-color:#4b5563!important}[data-theme=light] .external-btn:hover{background:#4b5563!important;border-color:#374151!important;color:#fff!important}.publish-button{background:var(--accent-primary)!important;color:#fff!important;border-color:var(--accent-primary)!important;font-size:1.2rem!important;margin-left:.5rem}.publish-button:hover:not(:disabled){background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;color:#fff!important}.ipns-content-row{margin-top:.5rem;padding:0 1rem}.ipns-publish-container{display:flex;gap:.5rem;align-items:stretch}.ipns-textarea-inline{width:100%;min-height:50px;padding:.5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.85rem;resize:vertical;box-sizing:border-box;transition:all .2s ease}.ipns-textarea-inline:focus{outline:2px solid var(--accent-primary);outline-offset:1px;border-color:var(--accent-primary)}.ipns-status{margin-top:.5rem;padding:0 1rem}.ipns-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.5rem;border-radius:4px;font-size:.8rem}.ipns-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e;padding:.5rem;border-radius:4px;font-size:.8rem}.success-header{font-weight:600;margin-bottom:.5rem}.published-info{display:flex;flex-direction:column;gap:.25rem;font-family:Courier New,monospace;font-size:.75rem}.published-info strong{color:var(--text-primary)}.resolve-btn{margin-top:.5rem;padding:.25rem .5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:3px;font-size:.75rem;cursor:pointer;align-self:flex-start;transition:all .2s ease}.resolve-btn:hover{background:var(--accent-hover)}.ipns-note{margin-top:.5rem;padding:.25rem;background:rgba(var(--accent-primary-rgb),.1);border-radius:3px;font-size:.7rem;color:var(--text-secondary)}.paper-airplane-button{background:var(--accent-primary)!important;color:#fff!important;border-color:var(--accent-primary)!important;font-size:1.2rem!important;width:40px;height:40px;align-self:flex-end}.paper-airplane-button:hover:not(:disabled){background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;color:#fff!important;transform:scale(1.05)}.paper-airplane-button:disabled{opacity:.6!important;background:var(--bg-tertiary)!important;color:var(--text-secondary)!important;border-color:var(--border-color)!important;transform:none}@media (max-width: 375px){.ipns-content-row{padding:0 .75rem;margin-top:.5rem}.ipns-publish-container{gap:.4rem;align-items:flex-start}.ipns-textarea-inline{min-height:45px;font-size:.8rem;padding:.4rem;flex:1;box-sizing:border-box}.paper-airplane-button{width:44px;height:44px;font-size:1.1rem!important;flex-shrink:0}.ipns-status{padding:0 .75rem}.published-info{font-size:.7rem}.paper-airplane-button{width:40px;height:40px;font-size:1.1rem!important;align-self:flex-end}}.ipfs-controls{padding:1rem;background:var(--bg-secondary);flex-shrink:0;position:relative;z-index:100}.ipfs-navigation{display:flex;gap:.5rem;align-items:center;width:100%}.nav-buttons-row{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.nav-button{padding:0;font-size:.9rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;font-weight:500;box-shadow:0 1px 2px #00000014;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);user-select:none;-webkit-user-select:none;min-width:32px;min-height:32px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.nav-button:hover:not(:disabled),.nav-button:focus:not(:disabled),.nav-button:active:not(:disabled){border-color:var(--accent-primary);background:linear-gradient(135deg,var(--accent-primary),var(--mint-800));color:#fff;transform:translateY(-1px) scale(1.02);box-shadow:0 3px 8px #00000026}.nav-button:disabled{opacity:.5;background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color);box-shadow:0 1px 2px #00000014;cursor:not-allowed;transform:none}.publish-button{background:linear-gradient(135deg,var(--grape-700),var(--grape-800))!important;border-color:var(--grape-700)!important;color:#fff!important;margin-left:.5rem;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}.publish-button:hover:not(:disabled){background:linear-gradient(135deg,var(--grape-600),var(--grape-700))!important;border-color:var(--grape-600)!important;color:#fff!important}.publish-button:disabled{opacity:.6!important;background:var(--bg-tertiary)!important;color:var(--text-secondary)!important;border-color:var(--border-color)!important}.ipfs-search-form{display:flex;flex:1;gap:.375rem;align-items:center}.ipfs-search-container{display:flex;gap:.375rem;align-items:center;flex:1}.ipfs-search-input{flex:1;padding:.5rem .75rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem;font-weight:400;box-sizing:border-box;min-height:32px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #00000014}.ipfs-search-input:focus{outline:2px solid var(--accent-primary);outline-offset:2px;border-color:var(--accent-primary);box-shadow:0 2px 8px rgba(var(--accent-primary-rgb, 151, 240, 229),.15)}.ipfs-search-button{padding:0;font-size:.9rem;width:32px;height:32px;display:flex!important;align-items:center;justify-content:center;border:1px solid var(--accent-primary)!important;background:linear-gradient(135deg,var(--accent-primary),var(--mint-800))!important;color:#fff!important;border-radius:6px;font-weight:500;box-shadow:0 1px 3px #0000001f;min-width:32px;min-height:32px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;user-select:none;-webkit-user-select:none;visibility:visible!important;opacity:1!important;white-space:nowrap;transition:all .2s cubic-bezier(.4,0,.2,1)}.ipfs-search-button:hover,.ipfs-search-button:focus,.ipfs-search-button:active{border-color:var(--accent-secondary)!important;background:linear-gradient(135deg,var(--accent-secondary),var(--mint-700))!important;color:#fff!important;transform:translateY(-1px) scale(1.02);box-shadow:0 4px 12px #0000002e}@media (max-width: 768px){.ipfs-controls{padding:1rem;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);position:relative;z-index:1000}.ipfs-navigation{display:flex;gap:.75rem;align-items:center;width:100%;flex-wrap:nowrap;min-height:48px}.nav-buttons-row{display:flex;gap:.5rem;align-items:center;flex-shrink:0;min-width:fit-content}.nav-button{padding:0;font-size:1rem;width:36px;height:36px;display:flex!important;align-items:center;justify-content:center;border:1px solid var(--border-color)!important;background:var(--bg-primary)!important;color:var(--text-primary)!important;border-radius:6px;font-weight:500;box-shadow:0 1px 3px #0000001a;min-width:36px;min-height:36px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;cursor:pointer;user-select:none;-webkit-user-select:none;visibility:visible!important;opacity:1!important}.nav-button:hover:not(:disabled),.nav-button:focus:not(:disabled),.nav-button:active:not(:disabled){border-color:var(--accent-secondary)!important;background:var(--accent-secondary)!important;color:#fff!important;transform:scale(1.1);box-shadow:0 4px 15px #00000040}.nav-button:disabled{opacity:.4!important;background:var(--bg-tertiary)!important;color:var(--text-secondary)!important;border-color:var(--border-color)!important;box-shadow:0 1px 3px #0000001a;cursor:not-allowed}.ipfs-search-input{padding:.5rem .75rem;font-size:.85rem;min-height:36px;border-radius:6px}.ipfs-search-button{width:36px;height:36px;font-size:.9rem;min-width:36px;min-height:36px}}@media (max-width: 480px){.ipfs-search-form,.ipfs-search-container{gap:.25rem}.ipfs-search-input{padding:.5rem .675rem;font-size:.8rem;min-height:36px;border-radius:6px}.ipfs-search-button{width:36px;height:36px;font-size:.9rem;min-width:36px;min-height:36px;border-radius:6px}}@media (max-width: 375px){.ipfs-search-input{padding:.45rem .6rem;font-size:.75rem;min-height:34px;border-radius:6px}.ipfs-search-button{width:34px;height:34px;font-size:.85rem;min-width:34px;min-height:34px;border-radius:6px}}.segmented-controls-container{display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);width:100%}.segmented-controls{display:flex;align-items:center;background:var(--bg-tertiary);border-radius:8px;padding:4px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:400px;justify-content:space-between}.segment-button{padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;color:var(--text-primary);background:transparent;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;flex:1;min-width:80px;text-transform:uppercase;letter-spacing:.5px}.segment-button:hover{color:var(--rican-white);background:var(--mint-800);border-color:var(--mint-700);transform:translateY(-1px)}.segment-button.active{color:var(--rican-white);background:var(--mint-900);border-color:var(--mint-800);box-shadow:0 2px 6px #0003}[data-theme=light] .segment-button{color:#0c0f1d}[data-theme=light] .segment-button:hover,[data-theme=light] .segment-button.active{background:#089280;color:#fff;border-color:#37c5b3}[data-theme=dark] .segment-button{color:#fafafa}[data-theme=dark] .segment-button:hover,[data-theme=dark] .segment-button.active{background:#37c5b3;color:#0c0f1d;border-color:#97f0e5}@media (max-width: 768px){.segmented-controls-container{padding:.75rem}.segmented-controls{max-width:100%}.segment-button{padding:.5rem 1rem;font-size:.85rem}}@media (max-width: 480px){.segmented-controls-container{padding:.5rem}.segment-button{padding:.5rem .75rem;font-size:.8rem;min-width:60px}.connection-indicator{width:36px;height:36px;margin:0 .25rem}}.helia-node-info{padding:1.5rem;background:var(--bg-primary);border-radius:8px;margin:1rem;box-shadow:0 2px 8px #0000001a;max-height:calc(100vh - 300px);overflow-y:auto;position:relative}.helia-node-info:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:url(https://raw.githubusercontent.com/ipfs/helia/main/assets/helia.png);background-size:min(40vw,400px) min(40vw,400px);background-repeat:no-repeat;background-position:center;opacity:.03;pointer-events:none;z-index:0}.helia-node-info>*{position:relative;z-index:1}.helia-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.helia-header h2{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.refresh-button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);padding:.5rem;border-radius:4px;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.refresh-button:hover{background:rgba(var(--text-primary-rgb),.1);color:var(--text-primary);transform:rotate(180deg)}.helia-not-connected{padding:2rem;text-align:center;background:var(--bg-secondary);border-radius:8px;margin:1rem}.helia-not-connected h3{color:var(--text-primary);margin-bottom:1rem}.helia-not-connected p{color:var(--text-secondary);margin-bottom:1rem}.connection-status{margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.status-indicator{display:flex;align-items:center;gap:.75rem;flex-direction:row}.status-dot{width:12px;height:12px;border-radius:50%;display:block;position:relative;flex-shrink:0}.status-indicator.connected .status-dot{background:#22c55e;box-shadow:0 0 8px #22c55e66}.status-indicator.connected .status-dot:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:50%;border:2px solid #22c55e;opacity:.3;animation:connection-pulse 2s infinite}.status-indicator.disconnected .status-dot{background:#ef4444;box-shadow:0 0 8px #ef444466}.status-text{font-weight:600;color:var(--text-primary);white-space:nowrap;flex-shrink:0}.connection-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.connection-error h3,.connection-error h4{color:#ef4444;margin-bottom:.5rem}.connection-error p{color:var(--text-primary);margin:0}.info-section{margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.info-section h3{color:var(--text-primary);margin:0 0 .75rem;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.5rem;text-shadow:0 1px 2px var(--shadow-soft)}.info-grid{display:grid;gap:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem}.info-item .info-label{font-weight:600;color:var(--text-secondary);font-size:.9rem;white-space:nowrap}.info-item span{display:inline;word-break:break-word}.info-item span{color:var(--text-primary);font-family:Courier New,monospace;font-size:.9rem;word-break:break-all;text-align:right;flex:1}.peer-id{font-family:Courier New,monospace;font-size:.8rem;color:var(--text-primary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;word-break:break-all}.peers-list{display:flex;flex-direction:column;gap:1rem}.peer-item{padding:1rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.peer-details{display:flex;gap:1rem;margin:.5rem 0;flex-wrap:wrap}.peer-status{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.peer-status.open{background:#22c55e33;color:#22c55e}.peer-direction,.peer-streams{padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.8rem;color:var(--text-secondary)}.peer-address{font-family:Courier New,monospace;font-size:.8rem;color:var(--text-secondary);word-break:break-all}.no-peers,.no-addresses,.no-protocols{text-align:center;color:var(--text-secondary);font-style:italic;padding:1rem}.more-peers{text-align:center;color:var(--text-secondary);font-style:italic;padding:.5rem}.transport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.transport-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.transport-item .info-label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.transport-item span.enabled{color:#22c55e;font-weight:600}.transport-item span.disabled{color:#ef4444;font-weight:600}.addresses-list{display:flex;flex-direction:column;gap:.5rem}.address-item{background:var(--bg-primary);color:var(--text-primary);padding:.5rem;border-radius:8px;font-family:Courier New,monospace;font-size:.8rem;border:2px solid var(--mint-700);word-break:break-all;transition:all .2s ease;font-weight:500}.address-item.more{background:var(--mint-600);color:var(--rican-black);cursor:pointer;border-color:var(--mint-800)}.address-item.more:hover{background:var(--mint-500);transform:translateY(-1px)}.protocols-list{display:flex;flex-wrap:wrap;gap:.5rem}.protocol-badge{background:var(--mint-900);color:var(--rican-white);padding:.25rem .5rem;border-radius:12px;font-size:.75rem;border:1px solid var(--mint-800);font-weight:600;white-space:nowrap;transition:all .2s ease}.protocol-badge.more{background:var(--grape-800);color:var(--rican-white);cursor:pointer;transition:all .2s ease}.protocol-badge.more:hover{background:var(--grape-700);transform:translateY(-1px)}@keyframes connection-pulse{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.2);opacity:.1}to{transform:scale(1);opacity:.3}}@media (max-width: 768px){.helia-node-info{padding:1rem;margin:.5rem}.helia-header h2{font-size:1.25rem}.info-grid{gap:.75rem}.info-item{flex-direction:column;align-items:flex-start}.info-item .info-label{margin-bottom:.5rem;min-width:auto}.info-item span{text-align:left}.transport-grid{grid-template-columns:1fr}.peer-details{flex-direction:column;gap:.5rem}}.ipfs-config-container{padding:1.5rem;background:var(--bg-primary);border-radius:8px;margin:1rem;box-shadow:0 2px 8px #0000001a;max-height:calc(100vh - 300px);overflow-y:auto;position:relative}.ipfs-config-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:url(https://raw.githubusercontent.com/ipfs/ipfs-webui/refs/heads/main/public/ipfs-logo-512-ice.png);background-size:min(40vw,400px) min(40vw,400px);background-repeat:no-repeat;background-position:center;opacity:.03;pointer-events:none;z-index:0}.ipfs-config-container>*{position:relative;z-index:1}.ipfs-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.header-actions{display:flex;gap:.75rem;align-items:center}.ipfs-config-header h2{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.ipfs-config-header p{margin:0;color:var(--text-secondary);font-size:.85rem;line-height:1.3}.config-section{padding:1rem;border:2px solid var(--mint-700);border-radius:8px;background:var(--bg-secondary);transition:all .2s ease}.config-section:hover{border-color:var(--mint-800);background:var(--bg-secondary);box-shadow:0 2px 8px #00000014}.config-section:last-of-type{margin-bottom:0}.config-section h4{color:var(--text-primary);margin:0 0 1rem;font-size:1rem;font-weight:700;text-shadow:0 1px 2px var(--shadow-soft)}.config-grid{display:grid;gap:1rem}.config-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem;transition:all .2s ease}.config-item:hover{border-color:var(--mint-700);box-shadow:0 1px 4px #0000000d}.config-item .config-label{font-weight:600;color:var(--text-secondary);font-size:.9rem;white-space:nowrap}.config-item input[type=checkbox]{margin-right:.5rem}.config-input,.config-textarea{width:100%;padding:.75rem;border:2px solid var(--mint-700);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease;font-family:Courier New,monospace;font-weight:500}.config-input:focus,.config-textarea:focus{outline:none;border-color:var(--mint-900);box-shadow:0 0 0 3px #97f0e54d;background:var(--mint-500);color:var(--rican-black)}.config-actions{display:flex;gap:.75rem;justify-content:flex-start;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.config-btn{padding:.5rem 1rem;border:2px solid var(--mint-800);border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;min-width:100px;background:var(--bg-primary);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.config-btn:hover{background:var(--mint-600);border-color:var(--mint-700);color:var(--rican-black);transform:translateY(-1px)}.save-btn{background:var(--mint-900);color:var(--rican-white);border-color:var(--mint-900)}.save-btn:hover{background:var(--mint-800);border-color:var(--mint-800);color:var(--rican-white)}.cancel-btn{background:var(--grape-800);color:var(--rican-white);border-color:var(--grape-800)}.cancel-btn:hover{background:var(--grape-700);border-color:var(--grape-700);color:var(--rican-white)}@media (max-width: 768px){.ipfs-config-container{padding:1rem;margin:.5rem}.ipfs-config-header h2{font-size:1.25rem}.config-grid{gap:.75rem}.config-item{flex-direction:column;align-items:flex-start}.config-item .config-label{margin-bottom:.5rem;min-width:auto}.config-input{text-align:left;min-width:auto;width:100%}.config-actions{flex-direction:column;gap:.5rem}.config-btn{width:100%;justify-content:center}}.water-drop-animation{width:100%;height:100%;background-color:#3498db;overflow:hidden;position:relative;min-height:400px}.water-drop-animation>div{margin:175px auto}.drop{position:relative;width:20px;height:20px;top:-30px;margin:0 auto;-moz-animation-name:drip;-webkit-animation-name:drip;animation-name:drip;-moz-animation-timing-function:cubic-bezier(1,0,.91,.19);-webkit-animation-timing-function:cubic-bezier(1,0,.91,.19);animation-timing-function:cubic-bezier(1,0,.91,.19);-moz-animation-duration:2s;-webkit-animation-duration:2s;animation-duration:2s;-moz-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.drop img{width:100%;height:100%;display:block}.wave{position:relative;opacity:0;top:0;width:2px;height:1px;border:#fff 7px solid;-moz-border-radius:300px / 150px;-webkit-border-radius:300px / 150px;border-radius:300px/150px;-moz-animation-name:ripple;-webkit-animation-name:ripple;animation-name:ripple;-moz-animation-delay:2s;-webkit-animation-delay:2s;animation-delay:2s;-moz-animation-duration:2s;-webkit-animation-duration:2s;animation-duration:2s;-moz-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.wave:after{content:"";position:absolute;opacity:0;top:-5px;left:-5px;width:2px;height:1px;border:#fff 5px solid;-moz-border-radius:300px / 150px;-webkit-border-radius:300px / 150px;border-radius:300px/150px;-moz-animation-name:ripple-2;-webkit-animation-name:ripple-2;animation-name:ripple-2;-moz-animation-duration:2s;-webkit-animation-duration:2s;animation-duration:2s;-moz-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@keyframes ripple{0%{opacity:1}to{width:600px;height:300px;border-width:1px;top:-100px;opacity:0}}@keyframes ripple-2{0%{opacity:1}50%{opacity:0}to{width:200px;height:100px;border-width:1px;top:100px;left:200px}}@keyframes drip{to{top:190px}}@media (max-width: 768px){.water-drop-animation>div{margin:120px auto}}@media (max-width: 480px){.water-drop-animation>div{margin:80px auto}.water-drop-animation{min-height:300px}}.upload-section{margin:2rem 0;background:var(--bg-secondary);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color)}.upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;min-height:36px;gap:1rem}.upload-header h2{margin:0;font-size:1.25rem;color:var(--text-primary);flex:1;min-width:0;line-height:1.2;white-space:nowrap}.header-controls{display:flex;gap:.5rem;align-items:center;flex-shrink:0;min-width:fit-content}.icon-button{width:36px;height:36px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;min-width:36px;min-height:36px;box-shadow:0 1px 3px #0000001a}.icon-button:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #3794f84d}.gyroscope-icon.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color),0 4px 12px #3794f866}.clear-icon:hover{background:#dc3545;border-color:#dc3545}.clear-icon:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-primary);border-color:var(--border-color);color:var(--text-secondary)}.clear-icon:disabled:hover{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-secondary);transform:none;box-shadow:0 1px 3px #0000001a}.upload-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.upload-group{display:flex;flex-direction:column;gap:.5rem}.upload-group label{font-weight:500;color:var(--text-primary);font-size:.9rem}.file-input,.shader-select{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:border-color .2s ease}.file-input:hover,.shader-select:hover{border-color:var(--primary-color)}.file-input:focus,.shader-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3794f81a}.shader-select option{background:var(--bg-primary);color:var(--text-primary);padding:.5rem}.gyroscope-button{background:#ffc10733;border:1px solid rgba(255,193,7,.4);color:#ffc107;padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .3s ease}.gyroscope-button:hover{background:#ffc1074d;border-color:#ffc10799}.gyroscope-button.active{background:#ffc10766;border-color:#ffc107cc;color:#fff}.debug-button{background:#8a2be233;border:1px solid rgba(138,43,226,.4);color:#8a2be2;padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .3s ease}.debug-button:hover{background:#8a2be24d;border-color:#8a2be299}.debug-button.active{background:#8a2be266;border-color:#8a2be2cc;color:#fff}@media (max-width: 768px){.upload-section{padding:1rem;margin:1rem 0}.upload-header{min-height:40px;gap:.75rem}.upload-header h2{font-size:1.1rem}.header-controls{gap:.4rem}.icon-button{width:32px;height:32px;font-size:.9rem;min-width:32px;min-height:32px}.upload-controls{grid-template-columns:1fr;gap:.75rem}.file-input,.shader-select{padding:.6rem .75rem;font-size:.85rem;min-height:44px}}@media (max-width: 480px){.upload-section{padding:.75rem;margin:.75rem 0}.upload-header{min-height:36px;gap:.5rem}.upload-header h2{font-size:1rem}.header-controls{gap:.3rem}.icon-button{width:28px;height:28px;font-size:.8rem;min-width:28px;min-height:28px}.upload-controls{gap:.5rem}.upload-group label{font-size:.8rem}.file-input,.shader-select{padding:.5rem .6rem;font-size:.8rem;min-height:40px}}.debug-info{margin:1rem 0;padding:1rem;background:#0000001a;border-radius:8px;font-size:.8rem}.debug-info h4{margin:0 0 .5rem;color:var(--primary-color)}.debug-info div{margin:.25rem 0;color:var(--text-primary)}.physics-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-top:1rem;font-family:Courier New,monospace;font-size:.85rem}.physics-info h3{margin:0 0 .75rem;color:var(--primary-color);font-size:1rem;font-weight:600}.physics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin-bottom:.75rem}.physics-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.physics-label{color:var(--text-secondary);font-weight:500}.physics-value{color:var(--text-primary);font-weight:600;font-family:Courier New,monospace}.material-description{color:var(--text-secondary);font-style:italic;font-size:.8rem;line-height:1.4;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}@media (max-width: 768px){.physics-info{margin:1rem 0;padding:.75rem}.physics-grid{grid-template-columns:1fr;gap:.5rem}.physics-item{padding:.35rem .5rem;font-size:.8rem}.material-description{font-size:.75rem;padding:.4rem}}.blend-mode-toggle-button{background:#000c;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:16px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:10px 0}.blend-mode-toggle-button:hover{background:#4caf5033;border-color:#4caf50}.blend-mode-toggle-button.active{background:#4caf504d;border-color:#4caf50;color:#4caf50}.blend-mode-performance-dashboard{width:100%;background:#000000e6;color:#fff;padding:15px;border-radius:8px;font-family:Courier New,monospace;font-size:12px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:10px 0;max-height:70vh;overflow-y:auto}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:10px}.performance-header h3{margin:0;font-size:14px;color:#4caf50}.performance-controls{display:flex;gap:8px}.real-time-toggle,.clear-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 8px;border-radius:4px;font-size:10px;cursor:pointer;transition:all .2s ease}.real-time-toggle.active{background:#4caf50;border-color:#4caf50}.real-time-toggle:hover,.clear-button:hover{background:#fff3}.performance-status{margin-bottom:15px;padding:10px;border-radius:6px;border-left:4px solid #4caf50}.performance-status.scaled{border-left-color:#ff9800;background:#ff98001a}.status-indicator{display:flex;align-items:center;gap:10px;margin-bottom:8px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.green{background:#4caf50}.status-dot.yellow{background:#ff9800}.status-dot.red{background:#f44336}.frame-rate{font-weight:700;font-size:14px}.scaling-indicator{font-size:10px;color:#ff9800;background:#ff980033;padding:2px 6px;border-radius:10px}.performance-recommendations{font-size:10px}.recommendation{margin:4px 0;padding:4px 8px;border-radius:4px}.recommendation.warning{background:#ff980033;color:#ff9800}.recommendation.info{background:#2196f333;color:#2196f3}.gpu-capabilities{margin-bottom:15px;padding:10px;background:#ffffff0d;border-radius:6px}.gpu-capabilities h4{margin:0 0 8px;font-size:12px;color:#2196f3}.gpu-info{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.gpu-info span{font-size:10px}.gpu-rating.high-end{color:#4caf50}.gpu-rating.standard{color:#ff9800}.supported-modes{margin-top:8px}.supported-modes strong{font-size:10px;display:block;margin-bottom:4px}.mode-list{display:flex;flex-wrap:wrap;gap:4px}.mode-tag{background:#4caf5033;color:#4caf50;padding:2px 6px;border-radius:8px;font-size:9px}.material-stats{margin-bottom:15px}.material-stats h4{margin:0 0 8px;font-size:12px;color:#9c27b0}.material-stat{margin-bottom:8px;padding:8px;background:#ffffff0d;border-radius:4px;transition:all .2s ease}.material-stat.real-time{border-left:3px solid #4caf50;background:#4caf501a}.material-name{font-weight:700;margin-bottom:4px;font-size:11px;display:flex;align-items:center;gap:6px}.real-time-indicator{color:#4caf50;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.material-metrics{display:flex;flex-wrap:wrap;gap:8px;font-size:10px}.material-metrics span{background:#ffffff1a;padding:2px 6px;border-radius:4px}.summary-stats{margin-bottom:15px;padding:10px;background:#ffffff0d;border-radius:6px}.summary-stats h4{margin:0 0 8px;font-size:12px;color:#ffc107}.summary-metrics{display:flex;flex-wrap:wrap;gap:8px;font-size:10px}.summary-metrics span{background:#ffc10733;color:#ffc107;padding:4px 8px;border-radius:4px}.cache-stats{border-top:1px solid rgba(255,255,255,.2);padding-top:10px}.cache-stats h4{margin:0 0 8px;font-size:12px;color:#ff5722}.cache-metrics{display:flex;flex-wrap:wrap;gap:8px;font-size:10px}.cache-metrics span{background:#ff572233;color:#ff5722;padding:4px 8px;border-radius:4px}@media (max-width: 768px){.blend-mode-performance-dashboard{max-height:50vh;font-size:11px}.performance-header{flex-direction:column;align-items:flex-start;gap:8px}.performance-controls{width:100%;justify-content:flex-end}.blend-mode-toggle-button{width:100%;justify-content:center}}.holographic-masks{height:100%;width:100%;display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-primary);color:var(--text-primary)}.holographic-content{max-width:1200px;margin:0 auto;padding:1rem;width:100%;box-sizing:border-box}.holographic-header{text-align:center;margin-bottom:2rem}.holographic-header h1{font-size:clamp(1.5rem,4vw,2.5rem);margin:0 0 .5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.holographic-header p{color:var(--text-secondary);font-size:1rem;margin:0}.preview-section{margin:2rem 0}.shader-container{position:relative;overflow:hidden;backface-visibility:hidden;max-width:700px;margin:0 auto;border-radius:12px;background:var(--bg-secondary);min-height:400px;display:flex;align-items:center;justify-content:center}.shader-container.shader{background:#000;position:relative}.base-image{max-width:100%;height:auto;display:block;border-radius:8px}.base-image.framed{border-radius:8px;box-shadow:0 4px 8px #0000001a}.shader-layer{pointer-events:none;will-change:background-position}.shader-layer.gyroscope-active{transition:background-position .05s ease-out}.shader-layer.mouse-active{transition:background-position .1s ease-out}.mask-overlay{border-radius:8px;will-change:transform}.shader-layer{position:absolute;top:0;left:0;width:100%;height:100%;background-position:50% 50%;background-size:180% 180%;background-blend-mode:multiply,screen,overlay;transition:background-position .05s cubic-bezier(.25,.46,.45,.94),background-image .15s ease-out;z-index:1;overflow:hidden}.mask-overlay{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;pointer-events:none!important;z-index:100!important;mix-blend-mode:overlay!important;opacity:.8!important;display:block!important;will-change:transform!important}.specular{background-attachment:local}.specular.mouse-active{transition:background-position .05s cubic-bezier(.25,.46,.45,.94)}.shader-layer.momentum-active{transition:background-position .1s cubic-bezier(.23,1,.32,1)}.shader-container:hover .shader-layer{will-change:background-position,background-image}.specular.gyroscope-active{transition:background-position .08s ease-out}.framed{border:2px solid var(--border-color);border-radius:8px}.placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:300px;color:var(--text-secondary, #888);font-size:1.1rem;text-align:center}.shader-layer:not([style*=background-image]).gradient-sparrow{background-image:linear-gradient(0deg,#a3292b,#b8532e,#cc8733,#d1af47,#d6d25c,#dbd870,#e0dd85,#9bdb70,#5cd691,#47cad1,#3359cc,#672eb8,#a3299d)}.shader-layer:not([style*=background-image]).gradient-lumon{background-image:linear-gradient(0deg,#000,#000 59.8%,#22438c,#baeafc 60.2%,#000)}.shader-layer:not([style*=background-image]).gradient-turtle{background-image:linear-gradient(0deg,#000 40%,#86cce4 50%,#bfabe2)}.shader-layer:not([style*=background-image]).gradient-dragonfly{background-image:linear-gradient(25deg,#545454 30%,#c8dfcf 45%,#b9bbb4 65%,#545454 70%)}.shader-layer:not([style*=background-image]).gradient-beetle{background-image:linear-gradient(0deg,#000 10%,#e8eeb9,#000 80%)}.shader-layer:not([style*=background-image]).gradient-nanina{background-image:linear-gradient(0deg,#000,#fff5c2 30%,#fff5c2 70%,#000 90%)}.shader-layer:not([style*=background-image]).gradient-mandala{background-image:linear-gradient(30deg,#5c330a,#f5cca3,#5c330a,#f5cca3 30%,#5c330a 35%,#f5cca3,#5c330a 65%,#f5cca3 70%,#5c330a,#f5cca3,#5c330a)}.shader-layer:not([style*=background-image]).gradient-deer{background-image:linear-gradient(-25deg,#000 30%,#cedfc8 45%,#41324e 65%,#000 70%)}.shader-container:hover .shader-layer.mouse-active{background-size:250% 250%}.shader-layer.gyroscope-active{background-size:220% 220%;transition:background-position .03s cubic-bezier(.23,1,.32,1),background-image .1s ease-out,background-size .08s cubic-bezier(.23,1,.32,1)}.shader-layer.dynamic-scaling-active{background-size:var(--dynamic-scale-x, 150%) var(--dynamic-scale-y, 150%);transition:background-position .05s cubic-bezier(.25,.46,.45,.94),background-size .15s cubic-bezier(.23,1,.32,1),transform .12s cubic-bezier(.25,.46,.45,.94);will-change:background-size,background-position,transform;contain:layout style paint;transform-origin:center center}.shader-layer.dynamic-scaling-active.gyroscope-active{background-size:var(--dynamic-scale-x, 220%) var(--dynamic-scale-y, 220%);transition:background-position .05s cubic-bezier(.25,.46,.45,.94),background-size .08s cubic-bezier(.23,1,.32,1),transform .08s cubic-bezier(.23,1,.32,1);contain:layout style paint}.shader-layer.dynamic-scaling-active.high-performance{transition:background-position .03s cubic-bezier(.25,.46,.45,.94),background-size .06s cubic-bezier(.23,1,.32,1),transform .06s cubic-bezier(.23,1,.32,1);content-visibility:auto}@media (max-width: 768px){.shader-layer.dynamic-scaling-active{transition:background-position .08s cubic-bezier(.25,.46,.45,.94),background-size .15s cubic-bezier(.23,1,.32,1)}.shader-layer.dynamic-scaling-active.gyroscope-active{transition:background-position .06s cubic-bezier(.25,.46,.45,.94),background-size .12s cubic-bezier(.23,1,.32,1)}}.shader-layer.gyroscope-active{will-change:background-position,transform,mix-blend-mode,background-size;backface-visibility:hidden;perspective:1000px;transform-style:preserve-3d}.shader-layer.gyroscope-active.high-performance{transform:translateZ(0);contain:layout style paint}.shader-layer.dynamic-scaling-active{will-change:background-size,background-position,transform;contain:layout style paint;transform-origin:center center}.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 1"],.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 0.9"]{background-size:285% 280%!important;transform:translateZ(0) scale(1.012)!important;transition-duration:.18s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.spectral-layer{contain:layout style paint;will-change:background-size,background-position,opacity,mix-blend-mode;backface-visibility:hidden;transform:translateZ(0)}.spectral-layer.wavelength-420,.spectral-layer.wavelength-450{transition-duration:.08s!important;content-visibility:auto}.spectral-layer.wavelength-650,.spectral-layer.wavelength-680{transition-duration:.05s!important}@media (max-width: 480px){.spectral-layer:nth-child(n+4){display:none}}.spectral-layer.low-performance{transition-duration:.15s!important;transition-timing-function:ease-out!important;will-change:auto}.spectral-layer.high-performance{transition-duration:.03s!important;content-visibility:auto;contain:strict}.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 0.5"],.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 0.6"],.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 0.7"]{transition-duration:.12s!important;transition-timing-function:cubic-bezier(.25,.46,.45,.94)!important}.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 0.1"],.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 0.2"],.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 0.3"]{transition-duration:.08s!important;transition-timing-function:cubic-bezier(.23,1,.32,1)!important}.shader-layer.dynamic-scaling-active[style*="--tilt-intensity: 0"]{background-size:150% 150%!important;transform:translateZ(0) scale(1)!important;transition-duration:.25s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.shader-layer.dynamic-scaling-active[style*=--tilt-intensity]{animation-timing-function:cubic-bezier(.25,.46,.45,.94);backface-visibility:hidden;perspective:1000px}.shader-layer.dynamic-scaling-active[style*="300%"]{will-change:transform;contain:strict;content-visibility:auto}@media (prefers-reduced-motion: reduce){.shader-layer.dynamic-scaling-active{transition-duration:.3s!important;background-size:200% 200%!important}}.shader-layer.dynamic-scaling-active.gyroscope-active.high-performance{transform:translateZ(0) scale(calc(1 + var(--tilt-intensity, 0) * .02));contain:layout style paint;content-visibility:auto}.composite-blend-container{position:relative;isolation:isolate}.composite-layer-primary,.composite-layer-secondary,.composite-layer-tertiary,.composite-layer-quaternary,.composite-layer-quinary{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;will-change:mix-blend-mode,opacity,transform;transform:translateZ(0);backface-visibility:hidden}.composite-layer-primary{z-index:5}.composite-layer-secondary{z-index:4}.composite-layer-tertiary{z-index:3}.composite-layer-quaternary{z-index:2}.composite-layer-quinary{z-index:1}.material-transitioning{animation:materialTransition .4s cubic-bezier(.25,.46,.45,.94)}@keyframes materialTransition{0%{opacity:.7;transform:translateZ(0) scale(.98)}50%{opacity:.9;transform:translateZ(0) scale(1.01)}to{opacity:1;transform:translateZ(0) scale(1)}}.shader-layer.high-performance{contain:layout style paint;content-visibility:auto}.shader-layer.high-performance .composite-layer-primary,.shader-layer.high-performance .composite-layer-secondary,.shader-layer.high-performance .composite-layer-tertiary,.shader-layer.high-performance .composite-layer-quaternary,.shader-layer.high-performance .composite-layer-quinary{contain:layout style paint;will-change:mix-blend-mode,opacity,transform}.shader-layer.gpu-accelerated{transform:translateZ(0);will-change:transform,opacity,mix-blend-mode,background-position;contain:layout style paint}.shader-layer.gpu-accelerated .composite-layer-primary,.shader-layer.gpu-accelerated .composite-layer-secondary,.shader-layer.gpu-accelerated .composite-layer-tertiary,.shader-layer.gpu-accelerated .composite-layer-quaternary,.shader-layer.gpu-accelerated .composite-layer-quinary{will-change:mix-blend-mode,opacity,transform,background-position;contain:layout style paint;content-visibility:auto}.shader-layer.low-performance-device,.shader-layer.low-performance-device .composite-layer-primary,.shader-layer.low-performance-device .composite-layer-secondary,.shader-layer.low-performance-device .composite-layer-tertiary,.shader-layer.low-performance-device .composite-layer-quaternary,.shader-layer.low-performance-device .composite-layer-quinary{will-change:opacity;contain:layout style}.composite-layer-primary.complexity-5,.composite-layer-secondary.complexity-5,.composite-layer-tertiary.complexity-5,.composite-layer-quaternary.complexity-5,.composite-layer-quinary.complexity-5{animation-duration:.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94)}.composite-layer-primary.complexity-3,.composite-layer-secondary.complexity-3,.composite-layer-tertiary.complexity-3{animation-duration:.35s;animation-timing-function:cubic-bezier(.25,.46,.45,.94)}@supports not (mix-blend-mode: color-dodge){.shader-layer{mix-blend-mode:screen}.composite-layer-primary,.composite-layer-secondary,.composite-layer-tertiary,.composite-layer-quaternary,.composite-layer-quinary{mix-blend-mode:overlay}}.shader-layer.motion-responsive{transition-duration:.08s;transition-timing-function:cubic-bezier(.23,1,.32,1)}.shader-layer.motion-stable{transition-duration:.35s;transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.shader-container.quaternion-enhanced{transform-origin:center center;transition:none}.shader-container.quaternion-enhanced .shader-layer{animation-fill-mode:both;animation-timing-function:cubic-bezier(.25,.46,.45,.94)}.shader-layer.motion-responsive{transition-duration:.1s}.shader-layer.motion-stable{transition-duration:.3s}@media (max-width: 768px){.holographic-content{padding:.75rem;max-width:none}.holographic-header h1{font-size:clamp(1.25rem,5vw,2rem)}.holographic-header p{font-size:.9rem}.shader-container{min-height:280px;max-width:none;margin:0}.placeholder{padding:2rem 1rem}.placeholder p{font-size:1.1rem}}@media (max-width: 480px){.holographic-content{padding:.5rem}.holographic-header{margin-bottom:1.5rem}.holographic-header h1{font-size:clamp(1.1rem,6vw,1.8rem);margin-bottom:.25rem}.holographic-header p{font-size:.8rem}.shader-container{min-height:250px;border-radius:8px}.placeholder{padding:1.5rem .75rem}.placeholder p{font-size:.9rem}}@media (max-width: 375px){.holographic-content{padding:.4rem}.holographic-header{margin-bottom:1rem}.holographic-header h1{font-size:clamp(1rem,7vw,1.6rem)}.holographic-header p{font-size:.75rem}.shader-container{min-height:220px;border-radius:6px}.placeholder{padding:1.25rem .5rem}.placeholder p{font-size:.8rem}}:root{--rican-mint: #97f0e5;--rican-black: #0c0f1d;--rican-grape: #c584f6;--rican-white: #f7f7f7;--mint-900: #089280;--mint-800: #37c5b3;--mint-700: #97f0e5;--mint-600: #cbfaf4;--mint-500: #eafcfa;--grape-900: #420892;--grape-800: #a56ff1;--grape-700: #c584f6;--grape-600: #d8adfa;--grape-500: #e9ccff;--lime: #8cf28a;--pears: #f6ce9e;--guava: #f946ac;--mandarin: #f97946;--blueberry: #613dff;--banana: #f9d546;--almond: #4a3b2b;--font-primary: "PP NeueBit", "Inter Tight", monospace;--font-secondary: "Neue Montreal", "Inter Tight", sans-serif;--font-fallback: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--text-9xl: 8rem;--leading-tight: 1.1;--leading-normal: 1.2;--leading-relaxed: 1.3;--leading-body: 1.5;--leading-loose: 1.6;--tracking-tighter: -.03em;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .025em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-40: 10rem;--space-48: 12rem;--space-56: 14rem;--space-64: 16rem;--rhythm-sm: 1.5rem;--rhythm-md: 2rem;--rhythm-lg: 3rem;--rhythm-xl: 4rem}[data-theme=light]{--bg-primary: #ffffff;--bg-primary-rgb: 255, 255, 255;--bg-secondary: #f0fdf9;--bg-tertiary: #e6f7ff;--bg-alt: var(--grape-500);--text-primary: #0a0d1a;--text-secondary: #1f1f1f;--text-muted: #4a4a4a;--text-metric: #0a0d1a;--text-hero: var(--rican-white);--text-hero-secondary: var(--rican-white);--text-accent: var(--mint-900);--text-success: #0f5d32;--text-warning: #8b4513;--text-error: #b91c1c;--border-color: var(--mint-600);--focus-ring: #2563eb;--shadow: rgba(10, 13, 26, .1);--shadow-soft: rgba(10, 13, 26, .05);--shadow-medium: rgba(10, 13, 26, .15);--shadow-strong: rgba(10, 13, 26, .25);--gradient-primary: linear-gradient(135deg, var(--mint-700), var(--grape-700));--gradient-secondary: linear-gradient(135deg, var(--lime), var(--banana));--gradient-text: linear-gradient(135deg, var(--mint-900), var(--grape-800));--gradient-hero-bg: linear-gradient(135deg, #089280, #420892)}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-primary-rgb: 10, 10, 10;--bg-secondary: #1a1d2e;--bg-tertiary: #2a2d42;--bg-alt: #252842;--text-primary: #fafafa;--text-secondary: #e5e5e5;--text-muted: #b0b0b0;--text-metric: #fafafa;--text-hero: var(--rican-white);--text-hero-secondary: var(--rican-white);--text-accent: #97f0e5;--text-success: #4ade80;--text-warning: #fde047;--text-error: #f87171;--border-color: var(--mint-800);--focus-ring: #60a5fa;--shadow: rgba(0, 0, 0, .3);--shadow-soft: rgba(0, 0, 0, .1);--shadow-medium: rgba(0, 0, 0, .4);--shadow-strong: rgba(0, 0, 0, .6);--gradient-primary: linear-gradient(135deg, var(--mint-800), var(--grape-800));--gradient-secondary: linear-gradient(135deg, var(--guava), var(--mandarin));--gradient-text: linear-gradient(135deg, var(--mint-700), var(--grape-600));--gradient-hero-bg: linear-gradient(135deg, #37c5b3, #a56ff1)}*{margin:0;padding:0;box-sizing:border-box}.skip-link{position:absolute;top:-40px;left:6px;background:var(--bg-primary);color:var(--text-primary);padding:8px;text-decoration:none;border-radius:4px;border:2px solid var(--focus-ring);z-index:1000;transition:top .3s ease}.skip-link:focus{top:6px}a{color:var(--text-accent);text-decoration:none;transition:color .3s ease}a:hover{color:var(--text-primary);text-decoration:underline}button:focus,input:focus,textarea:focus,select:focus,a:focus{outline:2px solid var(--focus-ring);outline-offset:2px}button:focus:not(:focus-visible){outline:none}button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}body{font-family:var(--font-secondary);font-weight:400;line-height:var(--leading-body);color:var(--text-primary);background-color:var(--bg-primary);transition:all .3s cubic-bezier(.4,0,.2,1);font-size:var(--text-base);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:120px;overflow-x:hidden}.headline-primary{font-family:var(--font-primary);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-tighter);line-height:var(--leading-tight);color:var(--text-primary);text-shadow:2px 2px 4px var(--shadow-soft)}.headline-secondary,.project-title,.subsection-title{font-family:var(--font-secondary);font-weight:600;text-transform:none;letter-spacing:var(--tracking-normal);line-height:var(--leading-relaxed);color:var(--text-primary)}.subheader,.accent-text{font-family:var(--font-secondary);font-weight:500;letter-spacing:var(--tracking-normal);line-height:var(--leading-relaxed)}p,.body-text,.description{font-family:var(--font-secondary);font-weight:400;line-height:var(--leading-body);max-width:70ch;color:var(--text-primary);-webkit-hyphens:auto;hyphens:auto;word-break:break-word}.content-block p{line-height:var(--leading-loose);margin-bottom:1.5rem;max-width:65ch}.content-block p:last-child{margin-bottom:0}html{scroll-behavior:smooth;scroll-padding-top:100px;font-size:16px;overflow-x:hidden}@media (max-width: 768px){html{scroll-padding-top:80px}}@media (max-width: 480px){html{scroll-padding-top:70px}}@media (max-width: 375px){html{scroll-padding-top:60px}}@media (max-width: 768px){html{font-size:15px}}@media (max-width: 768px){.section{padding:var(--rhythm-lg) 0;scroll-margin-top:80px;min-height:auto}}@media (max-width: 480px){.section{padding:var(--rhythm-md) 0;scroll-margin-top:70px;min-height:auto}}@media (max-width: 375px){.section{padding:var(--rhythm-sm) 0;scroll-margin-top:60px;min-height:auto}}.section-alt{background-color:var(--bg-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-8);width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center}.section-title:hover{transform:translateY(-2px);filter:drop-shadow(0 8px 16px var(--shadow-strong))}@media (max-width: 768px){.section-title{scroll-margin-top:80px;margin:var(--space-4) 0 var(--rhythm-sm) 0;padding-top:var(--space-3);font-size:clamp(var(--text-2xl),5.5vw,var(--text-4xl))}}@media (max-width: 480px){.section-title{scroll-margin-top:70px;margin:var(--space-3) 0 var(--space-6) 0;padding-top:var(--space-2);font-size:clamp(var(--text-xl),4.5vw,var(--text-3xl));letter-spacing:var(--tracking-tight)}}@media (max-width: 375px){.section-title{scroll-margin-top:60px;margin:var(--space-2) 0 var(--space-4) 0;padding-top:var(--space-1);font-size:clamp(var(--text-lg),4vw,var(--text-2xl))}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;border-radius:12px;text-decoration:none;font-family:var(--font-secondary);font-weight:600;font-size:var(--text-base);letter-spacing:var(--tracking-wide);transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;cursor:pointer;position:relative;overflow:hidden;min-height:48px;min-width:48px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--rican-white);color:var(--rican-black);box-shadow:0 4px 15px var(--shadow-medium);transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{background:var(--mint-500);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px var(--shadow-strong)}.btn-primary:active{transform:translateY(-1px) scale(.98);box-shadow:0 2px 8px var(--shadow-medium);transition:all .1s cubic-bezier(.4,0,.2,1)}.btn-secondary{background:transparent;color:var(--rican-white);border:2px solid var(--rican-white);box-shadow:0 4px 15px var(--shadow-soft);transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{background:var(--rican-white);color:var(--rican-black);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px var(--shadow-medium)}.btn-secondary:active{transform:translateY(-1px) scale(.98);background:#ffffffe6;box-shadow:0 2px 8px var(--shadow-soft);transition:all .1s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.container{padding:0 1rem;width:calc(100% - 2rem)}.section{padding:4rem 0}.section-title{font-size:clamp(var(--text-3xl),6vw,var(--text-5xl));margin-bottom:3rem}.btn{padding:.75rem 1.5rem;font-size:var(--text-sm);min-width:140px}}@media (max-width: 480px){.container{padding:0 .75rem;width:calc(100% - 1.5rem)}.section{padding:2.5rem 0}.section-title{font-size:var(--text-2xl);margin-bottom:1.5rem}}@media (max-width: 375px){.container{padding:0 .5rem;width:calc(100% - 1rem)}.section{padding:2rem 0}.section-title{font-size:var(--text-xl);margin-bottom:1.25rem}}@media (max-width: 320px){.container{padding:0 .25rem;width:calc(100% - .5rem)}.section{padding:1.5rem 0}.section-title{font-size:var(--text-lg);margin-bottom:.75rem}}@media (max-width: 280px){.container{padding:0 .125rem;width:calc(100% - .25rem)}.section{padding:1rem 0}.section-title{font-size:var(--text-base);margin-bottom:.75rem}}@media (hover: none) and (pointer: coarse){.btn{min-height:48px;min-width:48px}}@supports not (-webkit-background-clip: text){.section-title{background:none;-webkit-text-fill-color:initial;color:var(--text-primary);text-shadow:0 4px 8px var(--shadow-medium)}}.section-title,h2.section-title,.section-title h2{font-size:clamp(var(--text-3xl),6vw,var(--text-5xl))!important;font-family:var(--font-primary)!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:var(--tracking-tighter)!important;line-height:var(--leading-tight)!important;color:var(--text-primary)!important;margin:var(--rhythm-sm) 0 var(--rhythm-md) 0!important;text-align:center!important;background:var(--gradient-text)!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;position:relative!important;padding-top:var(--space-4)!important;scroll-margin-top:100px!important;filter:drop-shadow(0 4px 8px var(--shadow-medium))!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;transform-origin:center!important;backface-visibility:hidden!important;will-change:auto!important;contain:layout!important;min-height:auto!important;max-height:none!important;width:auto!important;flex-shrink:0!important}@media (prefers-contrast: high){.section-title{background:none;-webkit-text-fill-color:initial;color:var(--text-primary);text-shadow:0 2px 4px var(--shadow-strong);border:2px solid var(--text-primary);padding:var(--space-4) var(--space-6);border-radius:8px}}.section-title,h1,h2,h3,h4,h5,h6{font-size:inherit!important}.section-title{font-size:clamp(var(--text-3xl),6vw,var(--text-5xl))!important}*{-webkit-text-size-adjust:none!important;text-size-adjust:none!important}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.section-title:hover{transform:none;filter:drop-shadow(0 4px 8px var(--shadow-medium))}}@media (prefers-contrast: high){:root{--shadow: rgba(0, 0, 0, .8);--shadow-soft: rgba(0, 0, 0, .4);--shadow-medium: rgba(0, 0, 0, .9);--shadow-strong: rgba(0, 0, 0, 1)}.btn{border:3px solid currentColor}}@media print{.section{padding:2rem 0}*{background:#fff!important;color:#000!important;box-shadow:none!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out}main{overflow-x:hidden}.tools-page{min-height:100vh;padding:4rem 0}.tools-page-title{font-size:2.5rem;margin-bottom:2rem;text-align:center;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.route-transition-enter{opacity:0;transform:translateY(20px)}.route-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out}.route-transition-exit{opacity:1;transform:translateY(0)}.route-transition-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s ease-in-out,transform .3s ease-in-out}.tools-content{height:calc(100vh - 80px);max-height:calc(100vh - 80px);width:100vw;max-width:100vw;padding:0;margin:0;position:fixed;top:80px;left:0;right:0;bottom:0;z-index:1;overflow:hidden;box-sizing:border-box}@media (max-width: 768px){.tools-content{height:calc(100vh - 70px);max-height:calc(100vh - 70px);top:70px;padding:0}}@media (max-width: 480px){.tools-content{height:calc(100vh - 60px);max-height:calc(100vh - 60px);top:60px}}.tools-page{height:100%;max-height:100%;width:100%;max-width:100%;display:flex;flex-direction:column;padding:1rem;margin:0;overflow:hidden;box-sizing:border-box}.tools-page .container{height:100%;max-height:100%;width:100%;max-width:100%;display:flex;flex-direction:column;padding:0;margin:0;overflow:hidden;box-sizing:border-box}.tools-page-title{font-size:clamp(1.5rem,4vw,2.5rem);margin:0 0 1rem;text-align:center;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex-shrink:0}.tools-page-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}@media (max-width: 768px){.tools-page{padding:.75rem}.tools-page-title{margin:0 0 .75rem}}@media (max-width: 480px){.tools-page{padding:.5rem}.tools-page-title{margin:0 0 .5rem}}.wave-background{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;background:transparent;display:block;overflow:hidden;contain:layout style paint;transform:translateZ(0);image-rendering:optimizeSpeed;image-rendering:-webkit-optimize-contrast}.location-info-card{position:absolute;top:1rem;right:1rem;width:100%;max-width:300px;max-height:85vh;background:#fffffff7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,123,255,.12);border-radius:10px;box-shadow:0 4px 24px #00000014,0 16px 64px #007bff1f;z-index:1000;overflow:hidden;transition:all .3s cubic-bezier(.25,.46,.45,.94);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.location-info-header{padding:.6rem .75rem;background:linear-gradient(135deg,#007bff0a,#007bff03);border-bottom:1px solid rgba(0,123,255,.08);display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:48px}.location-info-title{flex:1;min-width:0}.location-info-title h3{margin:0 0 2px;font-size:.95rem;font-weight:700;color:#1a202c;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-role{margin:0;font-size:.75rem;font-weight:500;color:#4a5568;opacity:.8;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-close-btn{background:#ffffffe6;border:1px solid rgba(0,123,255,.15);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 8px #0000000f}.location-close-btn:hover{background:#007bff;border-color:#007bff;transform:scale(1.05);box-shadow:0 4px 12px #007bff40}.location-close-btn:hover .close-icon{color:#fff}.close-icon{font-size:1rem;font-weight:300;color:#666;transition:color .2s ease}.location-info-content{padding:.5rem;max-height:calc(85vh - 68px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,123,255,.3) transparent}.location-info-content::-webkit-scrollbar{width:3px}.location-info-content::-webkit-scrollbar-track{background:transparent}.location-info-content::-webkit-scrollbar-thumb{background:#007bff40;border-radius:2px}.location-primary-info{margin-bottom:.4rem;display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.info-item{padding:.35rem .4rem;background:#f8fafc99;border:1px solid rgba(0,123,255,.06);border-radius:6px;border-left:2px solid #007bff}.info-label{font-size:.6rem;font-weight:600;color:#007bff;text-transform:uppercase;letter-spacing:.2px;margin-right:.4rem;line-height:1;display:inline}.info-value{font-size:.7rem;font-weight:600;color:#2d3748;line-height:1.1;display:inline}.info-item.full-width{grid-column:1 / -1}.location-description{margin-bottom:.4rem;padding:.4rem .45rem;background:linear-gradient(135deg,#007bff08,#007bff03);border:1px solid rgba(0,123,255,.08);border-radius:6px;border-left:2px solid #007bff}.location-description p{margin:0;font-size:.7rem;line-height:1.3;color:#4a5568;font-style:italic}.section-title{margin:0 0 .3rem;font-size:.65rem;font-weight:700;color:#007bff;text-transform:uppercase;letter-spacing:.2px;line-height:1}.location-technologies{margin-bottom:.4rem}.tech-grid{display:flex;flex-wrap:wrap;gap:.15rem}.tech-chip{padding:.2rem .35rem;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border-radius:10px;font-size:.6rem;font-weight:600;text-align:center;box-shadow:0 1px 3px #007bff33;transition:all .2s ease;border:1px solid rgba(255,255,255,.2);line-height:1;white-space:nowrap}.tech-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.location-metrics{margin-bottom:.4rem}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.metric-card{padding:.35rem .4rem;background:linear-gradient(135deg,#007bff0a,#007bff05);border:1px solid rgba(0,123,255,.08);border-radius:6px;border-left:2px solid #007bff;transition:all .2s ease}.metric-card:hover{transform:translate(1px);box-shadow:0 2px 8px #007bff26}.metric-label{display:inline;font-size:.55rem;font-weight:600;color:#007bff;text-transform:uppercase;letter-spacing:.1px;margin-right:.4rem;line-height:1}.metric-value{font-size:.7rem;font-weight:700;color:#1a202c;line-height:1.1;display:inline}.metric-card.full-width{grid-column:1 / -1}.location-additional{margin-top:.3rem;padding-top:.3rem;border-top:1px solid rgba(0,123,255,.08)}.location-additional .info-item{margin-bottom:.25rem}.location-additional .info-item:last-child{margin-bottom:0}@media (max-width: 1024px){.location-info-card{max-width:300px;top:.75rem;right:.75rem}}@media (max-width: 768px){.location-info-card{position:fixed;top:.5rem;left:.5rem;right:.5rem;max-width:none;max-height:85vh;border-radius:10px}.location-info-header{padding:.75rem;min-height:55px}.location-info-title h3{font-size:.9rem}.location-role{font-size:.7rem}.location-close-btn{width:26px;height:26px}.close-icon{font-size:.9rem}.location-info-content{padding:.625rem;max-height:calc(85vh - 75px)}.location-primary-info,.metrics-grid{grid-template-columns:1fr;gap:.375rem}.tech-grid{gap:.2rem}.tech-chip{padding:.2rem .4rem;font-size:.6rem}}@media (max-width: 480px){.location-info-card{top:.25rem;left:.25rem;right:.25rem;max-height:90vh;border-radius:8px}.location-info-header{padding:.625rem;min-height:50px}.location-info-title h3{font-size:.85rem}.location-role{font-size:.65rem}.location-close-btn{width:24px;height:24px}.close-icon{font-size:.85rem}.location-info-content{padding:.5rem;max-height:calc(90vh - 70px)}.info-item{padding:.375rem}.location-description{padding:.5rem}.location-description p{font-size:.7rem}.section-title{font-size:.65rem;margin-bottom:.375rem}.tech-chip{padding:.15rem .35rem;font-size:.55rem}.metric-card{padding:.375rem}.metric-label{font-size:.55rem}.metric-value{font-size:.7rem}}@media (max-width: 375px){.location-info-card{top:.125rem;left:.125rem;right:.125rem;max-height:92vh}.location-info-header{padding:.5rem;min-height:45px}.location-info-content{padding:.375rem;max-height:calc(92vh - 65px)}.tech-chip{font-size:.5rem;padding:.125rem .3rem}}[data-theme=dark] .location-info-card{background:#0f0f0ff7;border-color:#6496ff33;box-shadow:0 4px 24px #0000004d,0 16px 64px #6496ff26}[data-theme=dark] .location-info-header{background:linear-gradient(135deg,#6496ff14,#6496ff05);border-bottom-color:#6496ff1f}[data-theme=dark] .location-info-title h3{color:#f7fafc}[data-theme=dark] .location-role{color:#a0aec0}[data-theme=dark] .location-close-btn{background:#282828e6;border-color:#6496ff33}[data-theme=dark] .location-close-btn:hover{background:#4a90e2;border-color:#4a90e2}[data-theme=dark] .close-icon{color:#a0aec0}[data-theme=dark] .info-item{background:#1e1e1e99;border-color:#6496ff1a;border-left-color:#4a90e2}[data-theme=dark] .info-label{color:#4a90e2}[data-theme=dark] .info-value{color:#e2e8f0}[data-theme=dark] .location-description{background:linear-gradient(135deg,#6496ff0f,#6496ff05);border-color:#6496ff1f;border-left-color:#4a90e2}[data-theme=dark] .location-description p{color:#cbd5e0}[data-theme=dark] .section-title{color:#4a90e2}[data-theme=dark] .tech-chip{background:linear-gradient(135deg,#4a90e2,#357abd);box-shadow:0 1px 4px #4a90e233}[data-theme=dark] .metric-card{background:linear-gradient(135deg,#6496ff14,#6496ff0a);border-color:#6496ff1f;border-left-color:#4a90e2}[data-theme=dark] .metric-label{color:#4a90e2}[data-theme=dark] .metric-value{color:#f7fafc}[data-theme=dark] .location-additional{border-top-color:#6496ff1f}@media (prefers-reduced-motion: reduce){.location-info-card,.location-close-btn,.tech-chip,.metric-card{transition:none!important}}@media (prefers-contrast: high){.location-info-card{border:2px solid #000;background:#fff}.location-close-btn{border:2px solid #000}}.world-globe-container{position:relative;width:100%;height:100%;min-height:inherit;overflow:hidden;background:transparent;display:flex;align-items:center;justify-content:center;box-sizing:border-box;z-index:10;margin:0;padding:0}.world-globe-mount{width:100%;height:100%;min-height:inherit;display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;padding:0;position:relative}.world-globe-mount canvas{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain;display:block;margin:0 auto}.world-globe-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-color, #333);font-family:Arial,sans-serif;z-index:10}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color, #007bff);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@media (max-width: 768px){.world-globe-container{min-height:inherit}.world-globe-info{max-width:240px;top:8px;right:8px}.info-content{padding:.6rem}.meta-label,.meta-value{font-size:.74rem}.info-description p{font-size:.76rem}}@media (max-width: 480px){.world-globe-container{min-height:inherit}.world-globe-info{left:8px;right:8px;max-width:none;top:8px;max-height:70vh}}@media (max-width: 375px){.world-globe-container{min-height:inherit}.world-globe-info{left:5px;right:5px;top:5px;max-height:65vh}}@media (prefers-reduced-motion: reduce){.loading-spinner{animation:none}.world-globe-container *{transition:none!important}}@media (prefers-contrast: high){.world-globe-info{border:2px solid #000;background:#fff}.world-globe-theme-toggle{border:2px solid #000}}.timeline-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative;overflow:hidden;touch-action:pan-y;overscroll-behavior-x:none;-webkit-overflow-scrolling:auto}.timeline-container{width:100%;padding:2rem 0;overflow:hidden;position:relative;z-index:50;background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y;overscroll-behavior:none;-webkit-overflow-scrolling:auto;mask:linear-gradient(to right,transparent 0%,var(--text-primary) 10%,var(--text-primary) 90%,transparent 100%);-webkit-mask:linear-gradient(to right,transparent 0%,var(--text-primary) 10%,var(--text-primary) 90%,transparent 100%)}.timeline-container::-webkit-scrollbar{display:none}.timeline-container:focus{outline:2px solid var(--text-accent);outline-offset:4px}.timeline-scroll{display:flex;align-items:center;justify-content:center;height:80px;position:relative;gap:2rem;width:100%;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;padding:0;will-change:transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.timeline-scroll::-webkit-scrollbar{display:none}.timeline-scroll.dragging{cursor:grabbing;scroll-behavior:auto}.timeline-scroll.snapping{scroll-behavior:smooth}.timeline-scroll.rail-active{overflow-x:visible;background:linear-gradient(90deg,transparent 0%,var(--bg-secondary) 20%,var(--bg-secondary) 80%,transparent 100%);border-radius:8px;box-shadow:inset 0 2px 8px var(--shadow-soft)}.timeline-scroll.snapping .timeline-section{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.timeline-scroll.snapping .timeline-center-indicator{transform:translate(-50%,-50%) scale(1.1);transition:all .6s cubic-bezier(.25,.46,.45,.94);box-shadow:0 4px 12px var(--shadow-medium)}.timeline-scroll:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:var(--text-accent);transform:translateY(-50%);z-index:51;opacity:.6}.timeline-items-container{display:flex;align-items:center;justify-content:center;gap:2rem;position:relative;width:100%;height:100%}.timeline-items-container.rail-mode{width:100%;justify-content:center;overflow:hidden;position:relative;padding:0;transform-style:preserve-3d;left:0;right:0;margin:0 auto;max-width:100vw;box-sizing:border-box}.timeline-center-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;background:var(--text-accent);border-radius:2px;z-index:60;pointer-events:none;opacity:.8;box-shadow:0 2px 8px var(--shadow-medium);transition:all .4s cubic-bezier(.25,.46,.45,.94);margin-left:0;margin-right:0}.timeline-scroll.dragging .timeline-center-indicator{opacity:1;transform:translate(-50%,-50%) scale(1.15);box-shadow:0 6px 20px var(--text-accent-alpha, rgba(255, 107, 107, .4)),0 0 30px var(--text-accent-alpha, rgba(255, 107, 107, .2));background:linear-gradient(0deg,var(--text-accent),rgba(255,255,255,.3))}.timeline-center-indicator:before{content:"";position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;background:radial-gradient(circle,var(--text-accent) 0%,transparent 70%);opacity:.1;border-radius:50%;transition:all .6s cubic-bezier(.25,.46,.45,.94)}.timeline-center-indicator:after{content:"";position:absolute;top:-12px;left:-12px;right:-12px;bottom:-12px;border:2px solid var(--text-accent);border-radius:50%;opacity:0;transform:scale(.8);transition:all .3s cubic-bezier(.25,.46,.45,.94)}.timeline-scroll.dragging .timeline-center-indicator:after{opacity:.6;transform:scale(1.2);animation:snapPreview 1.5s ease-in-out infinite}@keyframes snapPreview{0%,to{transform:scale(1.2);opacity:.6}50%{transform:scale(1.4);opacity:.3}}.timeline-scroll.snapping .timeline-center-indicator:before{opacity:.3;transform:scale(1.5)}.timeline-section{border:none;background:transparent;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;width:120px;position:relative;z-index:52;flex-shrink:0;padding:.5rem;-webkit-user-select:none;user-select:none;transition:all .6s cubic-bezier(.25,.46,.45,.94);cursor:pointer;opacity:.3;transform-origin:center;will-change:transform,opacity;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;outline:none;-webkit-tap-highlight-color:transparent}.timeline-section.adjacent{opacity:.6;transform:scale(.9)}.timeline-section.distant{opacity:.2;transform:scale(.8)}.timeline-section:hover{transform:translateY(-3px) scale(1.05);opacity:.8}.timeline-section:focus{outline:2px solid var(--text-accent);outline-offset:4px;border-radius:8px}.timeline-section:focus:not(:focus-visible){outline:none}.timeline-section.center.active{transform:translateY(-8px) scale(1.2);opacity:1;z-index:60;transition:all .6s cubic-bezier(.25,.46,.45,.94)}.timeline-section.center.active .timeline-dot{background:var(--text-accent);transform:scale(1.5);box-shadow:0 8px 20px var(--shadow-medium);border-color:var(--bg-primary);animation:pulse 2s infinite,snapIn .6s cubic-bezier(.25,.46,.45,.94)}.timeline-section.center.active .timeline-year{opacity:1;color:var(--text-accent);font-weight:700;font-size:1rem;text-shadow:0 2px 4px var(--shadow-soft);animation:yearSnapIn .6s cubic-bezier(.25,.46,.45,.94)}@keyframes pulse{0%,to{transform:scale(1.5)}50%{transform:scale(1.6)}}@keyframes snapIn{0%{transform:scale(.8);opacity:.5}60%{transform:scale(1.6);opacity:.9}to{transform:scale(1.5);opacity:1}}@keyframes yearSnapIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.timeline-section:hover .timeline-dot{background:var(--text-accent);transform:scale(1.2);box-shadow:0 4px 12px var(--shadow-soft);border-color:var(--bg-primary)}.timeline-section:hover .timeline-year-hidden{color:var(--text-secondary);opacity:.8}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg-primary);margin-bottom:.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:53;opacity:.7}.timeline-dot:hover{transform:scale(1.2);background:var(--text-accent);opacity:1}.timeline-year{font-size:.875rem;color:var(--text-muted);font-weight:500;text-align:center;opacity:.7;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:var(--font-secondary);white-space:nowrap}.timeline-section.adjacent .timeline-year{color:var(--text-secondary);opacity:.8;font-size:.8rem}.timeline-section.center.active .timeline-year{color:var(--text-accent);opacity:1;font-weight:700;font-size:1rem}.timeline-scroll.rail-active .timeline-section{transition:all .15s cubic-bezier(.4,0,.2,1);transform-origin:center bottom;will-change:transform,opacity;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;perspective:1000px}.timeline-scroll.rail-active .timeline-section.rail-optimized{contain:layout style paint;content-visibility:auto;will-change:transform;transform:translateZ(0);isolation:isolate;pointer-events:auto;-webkit-user-select:none;user-select:none}.timeline-scroll.rail-active .timeline-section.center.active{transform:translateY(-12px) scale(1.3);opacity:1;z-index:65;filter:drop-shadow(0 8px 16px var(--shadow-medium))}.timeline-scroll.rail-active .timeline-section.center.active .timeline-dot{background:var(--text-accent);transform:scale(1.8);box-shadow:0 0 20px var(--text-accent-alpha, rgba(255, 107, 107, .6)),0 8px 24px var(--shadow-medium);border:3px solid var(--bg-primary);animation:railPulse 1.5s ease-in-out infinite}.timeline-scroll.rail-active .timeline-section.center.active .timeline-year{color:var(--text-accent);font-weight:800;font-size:1.1rem;text-shadow:0 2px 8px var(--shadow-medium);animation:railYearGlow 2s ease-in-out infinite alternate}.timeline-scroll.rail-active .timeline-section.adjacent{opacity:.75;transform:translateY(-4px) scale(1);filter:drop-shadow(0 4px 8px var(--shadow-soft))}.timeline-scroll.rail-active .timeline-section.adjacent .timeline-dot{background:var(--text-secondary);transform:scale(1.3);border:2px solid var(--bg-primary);box-shadow:0 4px 12px var(--shadow-soft)}.timeline-scroll.rail-active .timeline-section.adjacent .timeline-year{color:var(--text-secondary);font-weight:600;font-size:.95rem;opacity:.9}.timeline-scroll.rail-active .timeline-section.distant{opacity:.4;transform:translateY(0) scale(.85);filter:grayscale(.3)}.timeline-scroll.rail-active .timeline-section.distant .timeline-dot{background:var(--text-muted);transform:scale(1);border:1px solid var(--bg-secondary);opacity:.7}.timeline-scroll.rail-active .timeline-section.distant .timeline-year{color:var(--text-muted);font-weight:400;font-size:.8rem;opacity:.6}.timeline-scroll.rail-active .timeline-center-indicator{opacity:1;transform:translate(-50%,-50%) scale(1.2);background:linear-gradient(0deg,var(--text-accent),rgba(255,255,255,.4),var(--text-accent));box-shadow:0 0 30px var(--text-accent-alpha, rgba(255, 107, 107, .5)),0 6px 20px var(--shadow-medium);animation:railIndicatorPulse 2s ease-in-out infinite}.timeline-scroll.rail-active .timeline-center-indicator:before{opacity:.4;transform:scale(2);background:radial-gradient(circle,var(--text-accent) 0%,var(--text-accent-alpha, rgba(255, 107, 107, .3)) 50%,transparent 70%)}.timeline-scroll.rail-active .timeline-center-indicator:after{opacity:.8;transform:scale(1.5);border:2px solid var(--text-accent);animation:railIndicatorRing 3s linear infinite}.timeline-scroll.rail-transitioning,.timeline-scroll.rail-transitioning .timeline-section,.timeline-scroll.rail-transitioning .timeline-center-indicator{transition:all .6s cubic-bezier(.25,.46,.45,.94)}@keyframes railPulse{0%,to{transform:scale3d(1.8,1.8,1) translateZ(0);box-shadow:0 0 20px var(--text-accent-alpha, rgba(255, 107, 107, .6)),0 8px 24px var(--shadow-medium)}50%{transform:scale3d(1.9,1.9,1) translateZ(0);box-shadow:0 0 30px var(--text-accent-alpha, rgba(255, 107, 107, .8)),0 12px 32px var(--shadow-medium)}}.timeline-scroll.performance-degraded{animation:none;transition:none}.timeline-scroll.performance-degraded .timeline-section{animation:none;transition:opacity .2s ease;will-change:auto;transform:none}.timeline-scroll.performance-degraded .timeline-section.rail-optimized{contain:none;content-visibility:visible;transform:translate(var(--rail-position, 0)) translateZ(0)}.timeline-items-container.rail-mode{contain:layout style paint size;overflow:visible;will-change:contents;transform:translateZ(0);isolation:isolate}@keyframes railYearGlow{0%{text-shadow:0 2px 8px var(--shadow-medium);color:var(--text-accent)}to{text-shadow:0 4px 16px var(--text-accent-alpha, rgba(255, 107, 107, .6)),0 2px 8px var(--shadow-medium);color:var(--text-accent)}}@keyframes railIndicatorPulse{0%,to{transform:translate(-50%,-50%) scale(1.2);opacity:1}50%{transform:translate(-50%,-50%) scale(1.25);opacity:.9}}@keyframes railIndicatorRing{0%{transform:scale(1.5);opacity:.8}50%{transform:scale(1.8);opacity:.4}to{transform:scale(1.5);opacity:.8}}.timeline-scroll.dragging *{pointer-events:none;-webkit-user-select:none;user-select:none}.timeline-scroll.dragging .timeline-section{transform-origin:center;will-change:transform}.timeline-drag-tooltip{position:absolute;top:-80px;left:50%;transform:translate(-50%);background:var(--bg-secondary);border:2px solid var(--text-accent);border-radius:12px;padding:.75rem 1rem;z-index:70;pointer-events:none;box-shadow:0 8px 24px var(--shadow-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:tooltipFadeIn .2s ease-out}.timeline-drag-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:var(--text-accent)}.tooltip-year{font-size:1.25rem;font-weight:700;color:var(--text-accent);text-align:center;margin-bottom:.25rem}.tooltip-title{font-size:.875rem;color:var(--text-primary);text-align:center;margin-bottom:.125rem;font-weight:500}.tooltip-type{font-size:.75rem;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.5px}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.timeline-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}@media (prefers-reduced-motion: reduce){.timeline-scroll{scroll-behavior:auto}.timeline-section,.timeline-dot{transition:none}.timeline-section.center.active .timeline-dot{animation:none}}@media (prefers-contrast: high){.timeline-section.center.active .timeline-year{text-shadow:2px 2px 4px var(--shadow);font-weight:800}.timeline-section.center.active .timeline-dot{border:3px solid var(--text-primary)}}@media (max-width: 768px){.timeline-container{padding:1rem 0}.timeline-scroll{height:60px;padding:0 40vw;gap:1.5rem;scroll-snap-type:x mandatory}.timeline-scroll.rail-active{padding:0;justify-content:center}.timeline-section{min-width:80px;padding:.25rem;scroll-snap-align:center}.timeline-dot{width:10px;height:10px}.timeline-center-indicator{height:30px;width:3px}.timeline-section{min-height:44px;min-width:88px}.timeline-scroll{touch-action:pan-x}.timeline-scroll.rail-active .timeline-section.center.active{transform:translateY(-8px) scale(1.2);filter:drop-shadow(0 6px 12px var(--shadow-medium))}.timeline-scroll.rail-active .timeline-section.center.active .timeline-dot{transform:scale(1.6);box-shadow:0 0 16px var(--text-accent-alpha, rgba(255, 107, 107, .5)),0 6px 18px var(--shadow-medium)}.timeline-scroll.rail-active .timeline-section.center.active .timeline-year{font-size:1rem;font-weight:700;text-shadow:0 2px 6px var(--shadow-medium)}.timeline-scroll.rail-active .timeline-section.adjacent{transform:translateY(-2px) scale(.95);opacity:.75}.timeline-scroll.rail-active .timeline-section.adjacent .timeline-dot{transform:scale(1.25);background:var(--text-secondary);box-shadow:0 3px 8px var(--shadow-soft)}.timeline-scroll.rail-active .timeline-section.distant{transform:translateY(0) scale(.8);opacity:.4}.timeline-scroll.rail-active .timeline-section.distant .timeline-dot{transform:scale(1);opacity:.6}.timeline-scroll.rail-active .timeline-center-indicator{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 20px var(--text-accent-alpha, rgba(255, 107, 107, .4)),0 4px 12px var(--shadow-medium)}}@media (max-width: 480px){.timeline-container{padding:.75rem 0}.timeline-scroll{gap:1rem;padding:0 35vw}.timeline-scroll.rail-active{padding:0;justify-content:center}.timeline-section{min-width:60px}.timeline-scroll.rail-active .timeline-section.center.active{transform:translateY(-6px) scale(1.15);filter:drop-shadow(0 4px 8px var(--shadow-medium))}.timeline-scroll.rail-active .timeline-section.center.active .timeline-dot{transform:scale(1.5);box-shadow:0 0 12px var(--text-accent-alpha, rgba(255, 107, 107, .4)),0 4px 12px var(--shadow-medium)}.timeline-scroll.rail-active .timeline-section.center.active .timeline-year{font-size:.95rem;font-weight:700;text-shadow:0 1px 4px var(--shadow-medium)}.timeline-scroll.rail-active .timeline-section.adjacent{opacity:.7;transform:translateY(-1px) scale(.9)}.timeline-scroll.rail-active .timeline-section.adjacent .timeline-dot{transform:scale(1.2);background:var(--text-secondary)}.timeline-scroll.rail-active .timeline-section.distant{opacity:.35;transform:translateY(0) scale(.75)}.timeline-scroll.rail-active .timeline-section.distant .timeline-dot{transform:scale(.9);opacity:.5}.timeline-scroll.rail-active .timeline-center-indicator{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 0 15px var(--text-accent-alpha, rgba(255, 107, 107, .3)),0 3px 8px var(--shadow-medium)}}@media (hover: none) and (pointer: coarse){.timeline-container{overflow:hidden;touch-action:pan-y;overscroll-behavior:none}.timeline-scroll{touch-action:none;-webkit-overflow-scrolling:auto;overscroll-behavior:none;overflow:hidden;position:relative;width:100%;max-width:100vw}.timeline-items-container{overflow:hidden;max-width:100vw;position:relative}.timeline-items-container.rail-mode{overflow:hidden;width:100%;max-width:100vw;padding:0}.timeline-section.center.active{transform:translateY(-6px) scale(1.15)}}@media (prefers-contrast: high){.timeline-container:focus{outline:3px solid var(--text-primary);outline-offset:2px}.timeline-scroll:before{height:3px;opacity:1}.timeline-center-indicator{width:6px;opacity:1;border:2px solid var(--bg-primary)}.timeline-dot{border:3px solid var(--text-primary);background:var(--bg-primary)}.timeline-section.center .timeline-dot,.timeline-section:hover .timeline-dot{background:var(--text-primary);border-color:var(--bg-primary)}.timeline-year-hidden{text-shadow:1px 1px 2px var(--shadow)}.timeline-scroll.dragging{cursor:grabbing}}@media (prefers-reduced-motion: reduce){.timeline-container{scroll-behavior:auto}.timeline-section,.timeline-dot,.nav-dot{transition:none}.timeline-scroll.rail-active .timeline-section,.timeline-scroll.rail-active .timeline-dot,.timeline-scroll.rail-active .timeline-center-indicator{animation:none;transition:none}.timeline-scroll.rail-active .timeline-section.center.active .timeline-dot,.timeline-scroll.rail-active .timeline-section.center.active .timeline-year{animation:none}.timeline-scroll.rail-active .timeline-center-indicator:after{animation:none}}#portfolio{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-4) 0;width:100%}.portfolio-globe-section{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100%;padding:0;margin:0}.portfolio-globe{width:1200px;height:1200px;max-width:98vw;max-height:98vh;aspect-ratio:1 / 1;border-radius:var(--radius-lg);overflow:hidden;margin:0 auto;display:flex;align-items:center;justify-content:center;position:relative;left:50%;transform:translate(-50%)}@media (min-width: 1024px){#portfolio{min-height:100vh;min-height:100dvh;padding:var(--space-6) 0}.portfolio-globe-section{padding:0;margin:0}.portfolio-globe{width:1400px;height:1400px;max-width:95vw;max-height:95vh}}@media (min-width: 768px) and (max-width: 1023px){#portfolio{min-height:100vh;min-height:100dvh;padding:var(--space-5) 0}.portfolio-globe-section{padding:0;margin:0}.portfolio-globe{width:1000px;height:1000px;max-width:95vw;max-height:95vh}}@media (max-width: 767px){#portfolio{min-height:100vh;min-height:100dvh;padding:var(--space-3) 0}.portfolio-globe-section{padding:0;margin:0;width:100%}.portfolio-globe{width:600px;height:600px;max-width:98vw;max-height:98vh;contain:layout style paint;will-change:transform}}@media (max-width: 480px){#portfolio{padding:var(--space-2) 0}.portfolio-globe-section{padding:0;margin:0;width:100%}.portfolio-globe{width:450px;height:450px;max-width:98vw;max-height:98vh}}@media (max-width: 375px){.portfolio-globe{width:420px;height:420px;max-width:98vw;max-height:98vh}}@media (max-width: 320px){.portfolio-globe{width:380px;height:380px;max-width:98vw;max-height:98vh}}@media (max-width: 280px){.portfolio-globe{width:320px;height:320px;max-width:98vw;max-height:98vh}}.globe-loading-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;min-height:300px;background:#0000000d;border-radius:var(--radius-lg)}.globe-loading-fallback .loading-spinner{width:40px;height:40px;border:4px solid rgba(0,123,255,.1);border-left:4px solid var(--primary-color, #007bff);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.globe-loading-fallback p{color:var(--text-color, #666);font-size:.9rem;margin:0}.portfolio-timeline-section{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:100%;max-width:100vw;height:80px;z-index:80;background:transparent;pointer-events:auto;display:flex;justify-content:center;align-items:center}.game-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.game-modal-content{background:var(--bg-primary);border-radius:12px;padding:20px;width:90%;max-width:800px;max-height:90%;overflow:auto;position:relative;box-shadow:0 10px 30px #0000004d}.game-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:200px}.game-loading-spinner{width:40px;height:40px;border:4px solid var(--bg-secondary);border-top:4px solid var(--text-accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.game-loading p{color:var(--text-secondary);font-size:16px;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.game-modal-content canvas{width:100%;height:100%;display:block}.game-modal-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:24px;cursor:pointer;color:#333}.game-modal-close:hover{color:#000}
