.pnm{--pnm-orange:#ff761a;--pnm-purple:#160729;--pnm-purple2:#4d1681}.pnm button{cursor:pointer}.pnm-open{background:var(--pnm-orange);color:#180729;border:0;border-radius:14px;padding:14px 22px;font-weight:800;box-shadow:0 0 24px #ff761a66}.pnm-panel{position:fixed;inset:0;z-index:999999;background:linear-gradient(130deg,var(--pnm-purple),var(--pnm-purple2));color:#fff;opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .3s,transform .3s,visibility .3s;overflow-y:auto}.pnm.is-open .pnm-panel{opacity:1;visibility:visible;transform:none}.pnm-inner{width:min(1080px,90%);margin:auto;padding:80px 0 65px}.pnm-close{position:absolute;right:5%;top:22px;background:transparent;border:1px solid var(--pnm-orange);border-radius:50%;width:50px;height:50px;color:var(--pnm-orange);font-size:35px;line-height:1}.pnm-search-wrap{margin-bottom:30px}.pnm-search-wrap label{display:block;margin-bottom:10px;color:#e9d7ff}.pnm-search{width:100%;border:1px solid #9a69b7!important;border-radius:16px!important;background:#ffffff13!important;color:#fff!important;padding:18px!important;outline:none}.pnm-search::placeholder{color:#d4bce4}.pnm-results{display:grid;gap:6px}.pnm-results a{color:#fff!important;text-decoration:none;padding:8px 12px;border-bottom:1px solid #ffffff25}.pnm-results a:hover{color:var(--pnm-orange)!important}.pnm-nav ul{list-style:none;margin:0;padding:0}.pnm-nav>ul>li>a{font-size:clamp(28px,5vw,60px);font-weight:800;line-height:1.25}.pnm-nav li a{color:#fff!important;text-decoration:none;display:inline-block;padding:7px 0;transition:color .2s,transform .2s}.pnm-nav li a:hover{color:var(--pnm-orange)!important;transform:translateX(8px)}.pnm-nav .sub-menu{padding-left:26px}.pnm-nav .sub-menu a{font-size:clamp(16px,2vw,23px)}.pnm-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.pnm-links a{display:inline-flex;align-items:center;gap:9px;padding:14px 18px;background:#ffffff13;border:1px solid #ffffff38;border-radius:14px;color:#fff!important;text-decoration:none}.pnm-links a:hover{border-color:var(--pnm-orange);box-shadow:0 0 16px #ff761a66}.pnm-links svg{width:20px;height:20px;fill:var(--pnm-orange)}body.pnm-scroll-lock{overflow:hidden}@media(max-width:600px){.pnm-inner{padding-top:95px}.pnm-nav>ul>li>a{font-size:32px}.pnm-links a{flex:1 1 42%;justify-content:center}}@media(prefers-reduced-motion:reduce){.pnm-panel,.pnm-nav li a{transition:none}}

/* v0.2.0 — hierarchical navigation and ambient background */
.pnm{--pnm-main-size:36px;--pnm-sub-size:17px;--pnm-item-gap:14px}
.pnm-panel{isolation:isolate;background:linear-gradient(125deg,var(--pnm-purple),var(--pnm-purple2))}
.pnm-panel::before,.pnm-panel::after{content:"";position:fixed;inset:-35%;pointer-events:none;z-index:-1;opacity:0}
.pnm-animated .pnm-panel::before{opacity:.52;background:radial-gradient(ellipse at 20% 30%,#aa35ee55,transparent 42%),radial-gradient(ellipse at 85% 70%,#ff761a25,transparent 36%);animation:pnm-ambient 17s ease-in-out infinite alternate}
.pnm-animated .pnm-panel::after{opacity:.28;background:radial-gradient(ellipse at 70% 15%,#e173ff55,transparent 37%);animation:pnm-ambient 23s ease-in-out infinite alternate-reverse}
@keyframes pnm-ambient{0%{transform:translate3d(-4%,-3%,0) rotate(-5deg) scale(1)}100%{transform:translate3d(5%,4%,0) rotate(7deg) scale(1.14)}}
.pnm-nav>ul>li{margin:0 0 var(--pnm-item-gap);padding:0 0 var(--pnm-item-gap);border-bottom:1px solid #ffffff23}
.pnm-nav>ul>li>a{font-size:var(--pnm-main-size);line-height:1.25;letter-spacing:-.025em;padding:4px 0;font-weight:750}
.pnm-nav .sub-menu{margin:10px 0 0 0;padding:0 0 0 20px;border-left:2px solid var(--pnm-orange)}
.pnm-nav .sub-menu li{margin:0;padding:0;border:0}
.pnm-nav .sub-menu li+li{border-top:1px solid #ffffff12}
.pnm-nav .sub-menu a{font-size:var(--pnm-sub-size);line-height:1.45;font-weight:450;padding:8px 10px;display:block;width:fit-content;max-width:100%}
.pnm-nav .sub-menu .sub-menu{margin:4px 0 10px 12px;border-left-color:#ffffff45}
.pnm-nav li a:focus-visible,.pnm-links a:focus-visible,.pnm-close:focus-visible{outline:2px solid var(--pnm-orange);outline-offset:4px}
@media(max-width:600px){.pnm-nav>ul>li>a{font-size:min(var(--pnm-main-size),30px)}.pnm-nav .sub-menu a{font-size:min(var(--pnm-sub-size),18px)}.pnm-inner{width:88%}}
@media(prefers-reduced-motion:reduce){.pnm-animated .pnm-panel::before,.pnm-animated .pnm-panel::after{animation:none!important}}

/* v0.3.0: configurable CSS-only effects; layers remain behind interactive content */
.pnm-panel{overflow-x:hidden}.pnm-inner{position:relative;z-index:2}.pnm-fx-layer,.pnm-fx-extra{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0}.pnm-animated .pnm-fx-layer,.pnm-animated .pnm-fx-extra{opacity:var(--pnm-opacity)}.pnm-animated .pnm-panel::before,.pnm-animated .pnm-panel::after{display:none}.pnm-fx-layer i{position:absolute;display:block;pointer-events:none}.pnm-fx-plasma .pnm-fx-layer i,.pnm-fx-aurora .pnm-fx-layer i{width:65vmax;height:65vmax;border-radius:50%;filter:blur(65px);background:radial-gradient(circle,var(--pnm-fx1),transparent 65%);opacity:.35;top:-35%;left:-25%;animation:pnm-drift var(--pnm-duration) ease-in-out infinite alternate}.pnm-fx-plasma .pnm-fx-layer i:nth-child(2),.pnm-fx-aurora .pnm-fx-layer i:nth-child(2){background:radial-gradient(circle,var(--pnm-fx2),transparent 65%);left:55%;top:30%;animation-delay:-9s;animation-direction:alternate-reverse}.pnm-fx-plasma .pnm-fx-layer i:nth-child(3){left:25%;top:70%;width:40vmax;height:40vmax;animation-delay:-4s}.pnm-fx-aurora .pnm-fx-layer i{border-radius:35%;transform:skew(-25deg);filter:blur(48px);opacity:.5}.pnm-fx-grid .pnm-fx-layer,.pnm-fx-circuit .pnm-fx-layer,.pnm-fx-hex .pnm-fx-layer{background-image:linear-gradient(var(--pnm-fx1) 1px,transparent 1px),linear-gradient(90deg,var(--pnm-fx2) 1px,transparent 1px);background-size:calc(90px - var(--pnm-density)*45px) calc(90px - var(--pnm-density)*45px);mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 80%,transparent);animation:pnm-gridmove var(--pnm-duration) linear infinite}.pnm-fx-circuit .pnm-fx-layer{background-image:repeating-linear-gradient(90deg,transparent 0 60px,var(--pnm-fx1) 61px 62px,transparent 63px 115px),repeating-linear-gradient(0deg,transparent 0 55px,var(--pnm-fx2) 56px 57px,transparent 58px 130px);background-size:210px 210px;opacity:.5}.pnm-fx-hex .pnm-fx-layer{background-image:linear-gradient(30deg,var(--pnm-fx1) 12%,transparent 12.5%,transparent 87%,var(--pnm-fx1) 87.5%),linear-gradient(150deg,var(--pnm-fx2) 12%,transparent 12.5%,transparent 87%,var(--pnm-fx2) 87.5%),linear-gradient(30deg,var(--pnm-fx1) 12%,transparent 12.5%,transparent 87%,var(--pnm-fx1) 87.5%),linear-gradient(150deg,var(--pnm-fx2) 12%,transparent 12.5%,transparent 87%,var(--pnm-fx2) 87.5%);background-size:90px 156px;background-position:0 0,0 0,45px 78px,45px 78px}.pnm-fx-particles .pnm-fx-layer,.pnm-fx-pulse .pnm-fx-layer{background-image:radial-gradient(circle,var(--pnm-fx1) 2px,transparent 3px),radial-gradient(circle,var(--pnm-fx2) 1.5px,transparent 3px),radial-gradient(circle,var(--pnm-fx1) 1px,transparent 2px);background-size:125px 145px,190px 175px,95px 110px;background-position:0 0,45px 60px,25px 40px;animation:pnm-float var(--pnm-duration) linear infinite}.pnm-fx-pulse .pnm-fx-layer{background-image:repeating-radial-gradient(circle at 50% 50%,transparent 0 60px,var(--pnm-fx1) 61px 62px,transparent 63px 120px);background-size:100% 100%;animation:pnm-pulse calc(var(--pnm-duration)*.55) ease-in-out infinite alternate}.pnm-fx-laser .pnm-fx-layer{background:repeating-linear-gradient(115deg,transparent 0 100px,var(--pnm-fx1) 101px 103px,transparent 104px 210px,var(--pnm-fx2) 211px 212px,transparent 213px 310px);opacity:.65;animation:pnm-laser var(--pnm-duration) linear infinite}.pnm-fx-scanlines .pnm-fx-layer{background:repeating-linear-gradient(to bottom,transparent 0 6px,var(--pnm-fx1) 7px,transparent 8px 12px);animation:pnm-gridmove var(--pnm-duration) linear infinite}.pnm-extra-particles .pnm-fx-extra{background-image:radial-gradient(circle,var(--pnm-fx1) 2px,transparent 3px),radial-gradient(circle,var(--pnm-fx2) 1px,transparent 3px);background-size:137px 147px,199px 169px;animation:pnm-float var(--pnm-duration) linear infinite}.pnm-extra-grid .pnm-fx-extra{background-image:linear-gradient(var(--pnm-fx1) 1px,transparent 1px),linear-gradient(90deg,var(--pnm-fx2) 1px,transparent 1px);background-size:85px 85px;opacity:calc(var(--pnm-opacity)*.35);animation:pnm-gridmove var(--pnm-duration) linear infinite}.pnm-extra-scanlines .pnm-fx-extra{background:repeating-linear-gradient(to bottom,transparent 0 8px,var(--pnm-fx1) 9px,transparent 10px 16px);opacity:calc(var(--pnm-opacity)*.35);animation:pnm-gridmove var(--pnm-duration) linear infinite}.pnm-fx-none .pnm-fx-layer,.pnm-extra-none .pnm-fx-extra{display:none}.pnm-links+.pnm-nav{margin-top:26px}.pnm-links{position:relative;z-index:2}
@keyframes pnm-drift{from{transform:translate(-8%,-5%) scale(.85) rotate(0)}to{transform:translate(18%,15%) scale(1.25) rotate(25deg)}}@keyframes pnm-gridmove{to{background-position:150px 150px}}@keyframes pnm-float{to{background-position:125px -145px,-190px 175px,95px -110px}}@keyframes pnm-pulse{to{transform:scale(1.3);opacity:.25}}@keyframes pnm-laser{to{background-position:500px 0}}
@media(max-width:767px){.pnm:not(.pnm-mobile-fx) .pnm-fx-layer,.pnm:not(.pnm-mobile-fx) .pnm-fx-extra{display:none}}
@media(prefers-reduced-motion:reduce){.pnm-fx-layer,.pnm-fx-extra,.pnm-fx-layer i{animation:none!important}}

/* v0.4.0: independent overlay intensity and header controls */
.pnm{--pnm-logo-width:190px;--pnm-hamb-font:16px;--pnm-hamb-weight:800;--pnm-hamb-width:24px;--pnm-hamb-line:3px;--pnm-close-size:26px;--pnm-close-weight:3px;--pnm-close-color:#ff761a;--pnm-close-bg:transparent;--pnm-extra-opacity:.293;--pnm-extra-duration:22s;--pnm-pulse-duration:2.65s}
.pnm .pnm-open{display:inline-flex;align-items:center;justify-content:center;gap:10px;position:relative;font-size:var(--pnm-hamb-font);font-weight:var(--pnm-hamb-weight);isolation:isolate}
.pnm-hamb-icon{display:inline-flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:var(--pnm-hamb-width)}.pnm-hamb-icon i{display:block;width:100%;height:var(--pnm-hamb-line);border-radius:20px;background:currentColor}
.pnm .pnm-close{display:flex;align-items:center;justify-content:center;background:var(--pnm-close-bg);color:var(--pnm-close-color)}.pnm-x-icon{position:relative;display:block;width:var(--pnm-close-size);height:var(--pnm-close-size)}.pnm-x-icon::before,.pnm-x-icon::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:var(--pnm-close-weight);background:currentColor;border-radius:5px;transform:translate(-50%,-50%) rotate(45deg)}.pnm-x-icon::after{transform:translate(-50%,-50%) rotate(-45deg)}.pnm-close:hover{transform:rotate(90deg);transition:transform .25s ease}
.pnm-logo{margin:0 0 25px}.pnm-logo img{display:block;width:min(100%,var(--pnm-logo-width));height:auto;object-fit:contain}
.pnm-animated .pnm-fx-extra{opacity:var(--pnm-extra-opacity)}.pnm-extra-grid .pnm-fx-extra,.pnm-extra-scanlines .pnm-fx-extra{opacity:calc(var(--pnm-extra-opacity)*.35)}.pnm-extra-particles .pnm-fx-extra,.pnm-extra-grid .pnm-fx-extra,.pnm-extra-scanlines .pnm-fx-extra{animation-duration:var(--pnm-extra-duration)}
.pnm-pulse-soft .pnm-open{animation:pnm-button-soft var(--pnm-pulse-duration) ease-in-out infinite}.pnm-pulse-glow .pnm-open{animation:pnm-button-glow var(--pnm-pulse-duration) ease-in-out infinite}.pnm-pulse-halo .pnm-open::after{content:"";position:absolute;inset:-3px;border:2px solid var(--pnm-orange);border-radius:inherit;z-index:-1;animation:pnm-button-halo var(--pnm-pulse-duration) ease-out infinite;pointer-events:none}.pnm-pulse-breath .pnm-open{animation:pnm-button-breath var(--pnm-pulse-duration) ease-in-out infinite}.pnm-pulse-glitch .pnm-open{animation:pnm-button-glitch var(--pnm-pulse-duration) steps(1,end) infinite}
@keyframes pnm-button-soft{50%{transform:scale(1.055)}}@keyframes pnm-button-glow{50%{box-shadow:0 0 16px var(--pnm-orange),0 0 38px var(--pnm-orange)}}@keyframes pnm-button-halo{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}@keyframes pnm-button-breath{50%{filter:brightness(1.3);transform:scale(1.025)}}@keyframes pnm-button-glitch{0%,87%,91%,95%,100%{transform:translate(0)}88%{transform:translate(-2px,1px)}90%{transform:translate(2px,-1px)}93%{transform:translate(-1px,-2px)}}
@media(prefers-reduced-motion:reduce){.pnm-open,.pnm-open::after{animation:none!important}.pnm-close:hover{transform:none}}

/* Performance: animations on the fullscreen backdrop run only while the menu is visible. */
.pnm:not(.is-open) .pnm-panel::before,
.pnm:not(.is-open) .pnm-panel::after,
.pnm:not(.is-open) .pnm-fx-layer,
.pnm:not(.is-open) .pnm-fx-layer i,
.pnm:not(.is-open) .pnm-fx-extra{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 .pnm-panel::before,.pnm-panel::after,.pnm-fx-layer,.pnm-fx-layer i,.pnm-fx-extra{animation:none!important}
}

/* v0.4.2: The secondary layer uses independent widget CSS variables. */
.pnm.pnm-animated .pnm-fx-extra{opacity:var(--pnm-extra-opacity)}
.pnm.pnm-animated.pnm-extra-grid .pnm-fx-extra,.pnm.pnm-animated.pnm-extra-scanlines .pnm-fx-extra{opacity:var(--pnm-extra-opacity)}
.pnm.pnm-animated .pnm-fx-extra{animation-duration:var(--pnm-extra-duration)}

/* v0.4.3: The secondary layer is controlled only by its own inline variables. */
.pnm.pnm-animated .pnm-fx-extra{opacity:var(--pnm-extra-opacity,0)!important;animation-duration:var(--pnm-extra-duration,22s)!important}
.pnm.pnm-animated .pnm-fx-extra[aria-hidden="true"]{transition:opacity .18s ease}

/* v0.4.4: Secondary overlay always obeys widget-local settings, including zero. */
.pnm.pnm-animated .pnm-fx-extra{opacity:var(--pnm-extra-opacity,0)!important;animation-duration:var(--pnm-extra-duration,22s)!important}
.pnm:not(.is-open) .pnm-fx-extra{animation-play-state:paused!important}

/* 0.4.5: independent close button controls, including hover */
.pnm .pnm-close{box-sizing:border-box;width:var(--pnm-close-btn-width,50px);height:var(--pnm-close-btn-height,50px);min-width:0;min-height:0;padding:0;border-style:solid;border-width:var(--pnm-close-border-width,1px);border-color:var(--pnm-close-border-color,#ff761a);border-radius:var(--pnm-close-radius,50%);background:var(--pnm-close-bg,transparent);color:var(--pnm-close-color,#ff761a);transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;z-index:3}
.pnm .pnm-close .pnm-x-icon{flex:0 0 auto;width:min(var(--pnm-close-size,26px),calc(var(--pnm-close-btn-width,50px) - 8px),calc(var(--pnm-close-btn-height,50px) - 8px));height:min(var(--pnm-close-size,26px),calc(var(--pnm-close-btn-width,50px) - 8px),calc(var(--pnm-close-btn-height,50px) - 8px));color:inherit}
.pnm .pnm-close:hover{background:var(--pnm-close-hover-bg,#ff761a);color:var(--pnm-close-hover-color,#fff);border-color:var(--pnm-close-hover-border,#ff761a);transform:none;box-shadow:none}
.pnm .pnm-close.pnm-close-hover-rotate:hover{transform:rotate(90deg)}
.pnm .pnm-close.pnm-close-hover-zoom:hover{transform:scale(1.12)}
.pnm .pnm-close.pnm-close-hover-glow:hover{box-shadow:0 0 12px var(--pnm-close-hover-border,#ff761a),0 0 28px var(--pnm-close-hover-border,#ff761a)}
@media(prefers-reduced-motion:reduce){.pnm .pnm-close{transition:none}.pnm .pnm-close:hover{transform:none;box-shadow:none}}
