:root{--gold:#e0bc62;--gold-hot:#fff0a4;--emerald:#25ba7e;--emerald-deep:#01251b;--cyan:#73d9f4;--ink:#000504;--ltp-focus-y:42%;--ltp-portal-x:50%;--ltp-portal-y:16%}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#000;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.nc-ltp-preboot,html.nc-ltp-preboot body{background:#000}
body.nc-ltp-page{position:fixed;inset:0;min-height:100dvh;overflow:hidden;background:#000;color:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overscroll-behavior:none;touch-action:manipulation}
.nc-ltp,.nc-ltp__stage{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100svh;overflow:hidden;background:#000}
.nc-ltp__stage{isolation:isolate}

/* One shared geometry: video and interactive SVG stay locked together. No zoom animation. */
.nc-ltp__video-frame{position:absolute;z-index:3;left:50%;top:var(--ltp-focus-y);width:100vw;height:100dvh;display:grid;place-items:center;pointer-events:none;transform:translate(-50%,-50%);transform-origin:50% 50%}
.nc-ltp__video{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%;background:transparent;transform:none!important;animation:none!important;filter:none;opacity:1;pointer-events:none;mix-blend-mode:normal;
  -webkit-mask-image:radial-gradient(ellipse 29vw 27vh at 50% 50%,#000 0 48%,rgba(0,0,0,.98) 57%,rgba(0,0,0,.68) 69%,rgba(0,0,0,.16) 84%,transparent 100%);
  mask-image:radial-gradient(ellipse 29vw 27vh at 50% 50%,#000 0 48%,rgba(0,0,0,.98) 57%,rgba(0,0,0,.68) 69%,rgba(0,0,0,.16) 84%,transparent 100%)}
.nc-ltp__interaction{position:absolute;inset:0;width:100%;height:100%;z-index:10;pointer-events:none;overflow:visible}
.nc-ltp__stage.is-awake .nc-ltp__interaction{pointer-events:auto}
.nc-ltp__leaf-node{cursor:pointer;outline:none;pointer-events:all;touch-action:manipulation}
.nc-ltp__leaf-hit{fill:transparent;stroke:transparent;pointer-events:all}
.nc-ltp__leaf-aura{fill:url(#ltpLeafGlow);opacity:.18;filter:url(#ltpLeafFilter);transform-box:fill-box;transform-origin:center;pointer-events:none;animation:ltpNodePulse 2.8s ease-in-out infinite}
.nc-ltp__leaf-node:nth-of-type(2n) .nc-ltp__leaf-aura{animation-delay:-.8s}.nc-ltp__leaf-node:nth-of-type(3n) .nc-ltp__leaf-aura{animation-delay:-1.6s}
.nc-ltp__leaf-node:hover .nc-ltp__leaf-aura,.nc-ltp__leaf-node:focus-visible .nc-ltp__leaf-aura,.nc-ltp__leaf-node.is-active .nc-ltp__leaf-aura{opacity:1;transform:scale(1.35);animation:none}

.nc-ltp__atmosphere{position:absolute;z-index:1;inset:-12%;pointer-events:none;opacity:.62;background:radial-gradient(circle at 50% var(--ltp-focus-y),rgba(255,244,184,.46) 0%,rgba(239,198,78,.30) 8%,rgba(193,146,35,.18) 15%,rgba(25,143,94,.29) 28%,rgba(5,76,52,.34) 46%,rgba(1,31,22,.80) 66%,rgba(0,0,0,.99) 89%);filter:blur(22px);animation:ltpAtmosphere 11s ease-in-out infinite}
/* Foreground negative-space veil: hides the video plate while leaving the living mark visible. */
.nc-ltp__negative-space{position:absolute;z-index:5;inset:0;pointer-events:none;background:radial-gradient(circle at 50% var(--ltp-focus-y),rgba(255,225,116,.07) 0 10%,rgba(8,76,51,.08) 22%,rgba(1,35,25,.78) 48%,rgba(0,14,10,.97) 73%,#000 100%);
  -webkit-mask-image:radial-gradient(ellipse 25vw 23vh at 50% var(--ltp-focus-y),transparent 0 38%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.62) 70%,#000 92%);
  mask-image:radial-gradient(ellipse 25vw 23vh at 50% var(--ltp-focus-y),transparent 0 38%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.62) 70%,#000 92%)}
.nc-ltp__environment{position:absolute;z-index:8;inset:0;width:100%;height:100%;pointer-events:none;opacity:.84}
.nc-ltp__rings{position:absolute;z-index:6;left:50%;top:var(--ltp-focus-y);width:min(74vw,74vh);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity 2s ease}
.nc-ltp__stage.is-awake .nc-ltp__rings{opacity:1}
.nc-ltp__rings i{position:absolute;inset:50%;border:1px solid rgba(224,188,98,.19);border-radius:50%;box-shadow:0 0 32px rgba(40,181,121,.1),inset 0 0 30px rgba(40,181,121,.07);animation:ltpRing 12s ease-in-out infinite}
.nc-ltp__rings i:nth-child(1){--s:.35;animation-delay:-2s}.nc-ltp__rings i:nth-child(2){--s:.58;animation-delay:-5s}.nc-ltp__rings i:nth-child(3){--s:.81;animation-delay:-8s}.nc-ltp__rings i:nth-child(4){--s:1;animation-delay:-11s}

.nc-ltp__energy-route{position:absolute;z-index:17;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0;transition:opacity .72s ease}
.nc-ltp__energy-route.is-routing{opacity:1}.nc-ltp__energy-route.is-fading{opacity:0}
.nc-ltp__energy-route path{fill:none;stroke:url(#none);stroke:#f4d775;stroke-width:.38;vector-effect:non-scaling-stroke;filter:url(#ltpRouteGlow);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.nc-ltp__energy-route.is-routing path{animation:ltpRouteDraw 1.12s cubic-bezier(.18,.72,.14,1) forwards}
.nc-ltp__energy-head{fill:#fff3a8;filter:url(#ltpRouteGlow);opacity:0}
.nc-ltp__energy-route.is-routing .nc-ltp__energy-head{opacity:1}

.nc-ltp__instruction{position:absolute;z-index:12;left:50%;bottom:clamp(22px,4svh,54px);width:min(760px,92vw);transform:translateX(-50%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;text-align:center;opacity:0;transition:opacity 1.6s ease,transform 1.6s ease}
.nc-ltp__stage.is-awake .nc-ltp__instruction{opacity:1;transform:translateX(-50%) translateY(-4px)}
.nc-ltp__instruction>span{height:1px;background:linear-gradient(90deg,transparent,rgba(224,188,98,.7))}.nc-ltp__instruction>span:nth-of-type(2){background:linear-gradient(90deg,rgba(224,188,98,.7),transparent)}
.nc-ltp__instruction p{margin:0;color:rgba(224,205,151,.72);font-family:Georgia,serif;font-size:clamp(12px,1.15vw,18px);letter-spacing:.08em;text-transform:none;text-shadow:0 0 16px rgba(224,188,98,.18)}
.nc-ltp__instruction small{grid-column:1/-1;color:rgba(102,206,145,.82);font-family:Georgia,serif;font-size:clamp(11px,1.1vw,17px);letter-spacing:.04em}

/* Portal opens above the tree after the energy route reaches it. */
.nc-ltp__portal{position:absolute;z-index:20;left:var(--ltp-portal-x);top:var(--ltp-portal-y);width:clamp(154px,17vw,218px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.12);opacity:0;pointer-events:none;transition:opacity .28s ease,transform .62s cubic-bezier(.12,.9,.25,1);filter:drop-shadow(0 0 34px rgba(224,188,98,.35))}
.nc-ltp__portal.is-open{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}
.nc-ltp__portal-halo{position:absolute;inset:-12%;border-radius:50%;background:conic-gradient(from 0deg,rgba(224,188,98,.08),rgba(80,233,158,.8),rgba(255,224,130,.95),rgba(80,233,158,.18),rgba(224,188,98,.08));filter:blur(8px);animation:ltpHaloSpin 8s linear infinite}
.nc-ltp__portal-core{position:absolute;inset:5%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:17%;text-align:center;background:radial-gradient(circle at 50% 32%,rgba(16,67,48,.95),rgba(1,25,19,.98) 68%,rgba(0,8,6,.99));border:1px solid rgba(255,221,125,.82);box-shadow:0 0 0 4px rgba(27,142,94,.2),inset 0 0 34px rgba(57,197,132,.2),0 0 52px rgba(224,188,98,.3)}
.nc-ltp__portal-icon{width:clamp(42px,6vw,66px);height:auto;fill:none;stroke:#efd079;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 9px rgba(239,208,121,.45));margin-bottom:8px;opacity:0;transform:scale(.7);transition:opacity .45s .22s ease,transform .55s .18s ease}
.nc-ltp__portal.is-open .nc-ltp__portal-icon{opacity:1;transform:scale(1)}
.nc-ltp__portal p{margin:0 0 5px;color:rgba(125,219,165,.75);font-size:clamp(8px,.75vw,11px);letter-spacing:.14em;text-transform:uppercase}.nc-ltp__portal h1{margin:0;color:#fff5c7;font-family:Georgia,serif;font-weight:500;font-size:clamp(16px,2vw,26px);line-height:1.05;text-shadow:0 0 14px rgba(224,188,98,.28)}
.nc-ltp__portal-cta{margin-top:12px;display:inline-flex;align-items:center;gap:8px;color:#efd079;text-decoration:none;font-size:clamp(9px,.8vw,12px);letter-spacing:.12em;text-transform:uppercase}.nc-ltp__portal-cta b{font-size:18px;font-weight:400}
.nc-ltp__portal-close{display:none}
.nc-ltp__portal-particles{position:absolute;inset:-48%;pointer-events:none}.nc-ltp__portal-particles i{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:var(--particle,#efd079);box-shadow:0 0 10px currentColor;animation:ltpPortalBurst 1.15s cubic-bezier(.15,.75,.25,1) forwards;transform:translate(-50%,-50%)}
.nc-ltp__replay{position:absolute;z-index:22;right:clamp(16px,4vw,56px);top:max(18px,calc(env(safe-area-inset-top) + 10px));border:0;border-bottom:1px solid rgba(224,188,98,.22);background:transparent;color:rgba(218,202,158,.56);padding:9px 3px;font-family:Georgia,serif;font-size:11px;letter-spacing:.11em;text-transform:none;cursor:pointer}.nc-ltp__replay span{margin-right:7px}
.nc-ltp__transition{position:absolute;z-index:50;inset:0;display:grid;place-items:center;background:#00110c;opacity:0;pointer-events:none;transition:opacity .45s ease}.nc-ltp__transition.is-active{opacity:1}.nc-ltp__transition p{color:#e9cf84;letter-spacing:.18em;text-transform:uppercase;font-size:12px}

@keyframes ltpAtmosphere{50%{transform:scale(1.045);filter:blur(28px);opacity:.9}}
@keyframes ltpRing{0%,100%{transform:translate(-50%,-50%) scale(calc(var(--s)*.94));opacity:.3}50%{transform:translate(-50%,-50%) scale(var(--s));opacity:.7}}
@keyframes ltpNodePulse{0%,100%{opacity:.12;transform:scale(.82)}45%{opacity:.48;transform:scale(1.08)}65%{opacity:.22;transform:scale(.94)}}
@keyframes ltpRouteDraw{to{stroke-dashoffset:0}}
@keyframes ltpHaloSpin{to{transform:rotate(360deg)}}
@keyframes ltpPortalBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.1)}}

@media(max-width:700px){:root{--ltp-focus-y:40%;--ltp-portal-x:50%;--ltp-portal-y:14%}.nc-ltp__video{-webkit-mask-image:radial-gradient(ellipse 38vw 21vh at 50% 50%,#000 0 47%,rgba(0,0,0,.96) 57%,rgba(0,0,0,.62) 70%,rgba(0,0,0,.12) 85%,transparent 100%);mask-image:radial-gradient(ellipse 38vw 21vh at 50% 50%,#000 0 47%,rgba(0,0,0,.96) 57%,rgba(0,0,0,.62) 70%,rgba(0,0,0,.12) 85%,transparent 100%)}.nc-ltp__negative-space{-webkit-mask-image:radial-gradient(ellipse 32vw 18vh at 50% var(--ltp-focus-y),transparent 0 36%,rgba(0,0,0,.16) 51%,rgba(0,0,0,.74) 72%,#000 94%);mask-image:radial-gradient(ellipse 32vw 18vh at 50% var(--ltp-focus-y),transparent 0 36%,rgba(0,0,0,.16) 51%,rgba(0,0,0,.74) 72%,#000 94%)}.nc-ltp__instruction{bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));gap:9px}.nc-ltp__instruction p{letter-spacing:.1em}.nc-ltp__instruction small{display:none}.nc-ltp__portal{width:min(43vw,178px)}.nc-ltp__rings{width:96vw}.nc-ltp__replay{right:18px}.nc-ltp__leaf-hit{stroke:transparent;stroke-width:24}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* v3.1 — Portal-native bilingual control. The cinematic Portal intentionally
   has no full Global Shell header, so its real language source remains visible. */
.nc-ltp-page .nc-pilot-language-source{
  position:fixed!important;
  z-index:90!important;
  top:max(18px,calc(env(safe-area-inset-top) + 10px))!important;
  left:clamp(16px,4vw,56px)!important;
  width:auto!important;
  height:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  padding:4px!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  white-space:normal!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  border:1px solid rgba(224,188,98,.34)!important;
  border-radius:999px!important;
  background:rgba(1,24,18,.78)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,244,201,.08)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.nc-ltp-page .nc-pilot-language-source button{
  min-width:38px;
  height:32px;
  padding:0 10px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:rgba(242,222,165,.68);
  font:750 11px/1 var(--nc-font,Arial,sans-serif);
  letter-spacing:.08em;
  cursor:pointer;
}
html[data-nc-lang="id"] .nc-ltp-page .nc-pilot-language-source [data-language="id"],
html[data-nc-lang="en"] .nc-ltp-page .nc-pilot-language-source [data-language="en"]{
  background:rgba(215,173,85,.18);
  color:#f2d882;
  box-shadow:inset 0 0 0 1px rgba(238,205,118,.28);
}
.nc-ltp-page .nc-pilot-language-source button:focus-visible{
  outline:2px solid #efd079;
  outline-offset:2px;
}
@media(max-width:700px){
  .nc-ltp-page .nc-pilot-language-source{left:18px!important}
  .nc-ltp-page .nc-pilot-language-source button{min-width:34px;height:30px;padding:0 8px}
}

/* v2.2 — Mastering Pass 02: persistent dark environment, organic vine growth and glitch-free portal states */
.nc-ltp,.nc-ltp__stage{background:#000504}
.nc-ltp__atmosphere{opacity:.50;background:
 radial-gradient(ellipse 34vw 30vh at 50% var(--ltp-focus-y),rgba(237,207,112,.22) 0%,rgba(104,112,42,.13) 15%,rgba(7,65,42,.20) 31%,rgba(1,31,22,.72) 56%,rgba(0,9,7,.96) 78%,#000 100%);
 filter:blur(30px);transform:scale(1.14)}
.nc-ltp__negative-space{background:
 radial-gradient(ellipse 44vw 41vh at 50% var(--ltp-focus-y),rgba(0,0,0,0) 0 30%,rgba(0,9,7,.18) 43%,rgba(0,7,5,.58) 61%,rgba(0,3,2,.91) 80%,#000 100%);
 -webkit-mask-image:none;mask-image:none;opacity:.74}
.nc-ltp__video{-webkit-mask-image:radial-gradient(ellipse 38vw 34vh at 50% 50%,#000 0 42%,rgba(0,0,0,.98) 52%,rgba(0,0,0,.78) 65%,rgba(0,0,0,.30) 79%,transparent 96%);mask-image:radial-gradient(ellipse 38vw 34vh at 50% 50%,#000 0 42%,rgba(0,0,0,.98) 52%,rgba(0,0,0,.78) 65%,rgba(0,0,0,.30) 79%,transparent 96%)}
.nc-ltp__environment{opacity:.74;transition:opacity 1.2s ease}
.nc-ltp__stage:not(.is-awake) .nc-ltp__environment{opacity:0}
.nc-ltp__rings{opacity:0!important}
.nc-ltp__leaf-aura{opacity:.12;animation-duration:4.1s}
.nc-ltp__leaf-node.is-charging .nc-ltp__leaf-aura{opacity:1;transform:scale(1.48);animation:ltpCharge .42s ease-in-out infinite alternate}
.nc-ltp__stage.is-node-locked .nc-ltp__leaf-node:not(.is-active){pointer-events:none}
.nc-ltp__energy-route path{stroke-width:.24;stroke:#efd17b;stroke-dasharray:1;stroke-dashoffset:1}
.nc-ltp__energy-route.is-routing path{animation-duration:.62s}
.nc-ltp__portal{width:clamp(158px,17.5vw,218px);filter:drop-shadow(0 0 20px rgba(224,188,98,.22));transition:none}
.nc-ltp__portal.is-primed{opacity:.18;transform:translate(-50%,-50%) scale(.40)}
.nc-ltp__portal.is-open{animation:ltpPortalOpen .58s cubic-bezier(.16,.88,.22,1) forwards}
.nc-ltp__portal-halo{inset:-8%;filter:blur(6px);opacity:.84;background:conic-gradient(from 0deg,rgba(224,188,98,.03),rgba(67,196,132,.58),rgba(247,216,123,.82),rgba(50,166,112,.10),rgba(224,188,98,.03))}
.nc-ltp__portal-core{inset:6%;box-shadow:0 0 0 2px rgba(27,142,94,.16),inset 0 0 28px rgba(57,197,132,.16),0 0 30px rgba(224,188,98,.22)}
@keyframes ltpCharge{to{transform:scale(1.7);filter:brightness(1.25)}}
@keyframes ltpPortalOpen{0%{opacity:.2;transform:translate(-50%,-50%) scale(.4)}62%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:700px){
 .nc-ltp__video{-webkit-mask-image:radial-gradient(ellipse 48vw 25vh at 50% 50%,#000 0 42%,rgba(0,0,0,.98) 52%,rgba(0,0,0,.74) 66%,rgba(0,0,0,.24) 82%,transparent 97%);mask-image:radial-gradient(ellipse 48vw 25vh at 50% 50%,#000 0 42%,rgba(0,0,0,.98) 52%,rgba(0,0,0,.74) 66%,rgba(0,0,0,.24) 82%,transparent 97%)}
 .nc-ltp__negative-space{background:radial-gradient(ellipse 58vw 30vh at 50% var(--ltp-focus-y),rgba(0,0,0,0) 0 28%,rgba(0,9,7,.2) 44%,rgba(0,7,5,.62) 63%,rgba(0,3,2,.93) 82%,#000 100%)}
 .nc-ltp__portal{width:min(41vw,168px)}
}

/* v2.4 — Seamless Vines & Glowing Node Energy */
.nc-ltp__leaf-aura{opacity:.30;animation:ltpNodePulse 2.1s ease-in-out infinite}
.nc-ltp__leaf-ring{fill:none;stroke:rgba(255,223,126,.86);stroke-width:2.2;filter:url(#ltpLeafFilter);opacity:.88;transform-box:fill-box;transform-origin:center;animation:ltpClickRing 2s ease-in-out infinite;pointer-events:none}
.nc-ltp__leaf-core{fill:rgba(13,86,58,.92);stroke:#ffe28a;stroke-width:2.2;filter:drop-shadow(0 0 8px rgba(255,224,128,.92));pointer-events:none}
.nc-ltp__leaf-dot{fill:#fff7c7;filter:drop-shadow(0 0 7px #fff1a3);pointer-events:none}
.nc-ltp__leaf-node:hover .nc-ltp__leaf-ring,.nc-ltp__leaf-node:focus-visible .nc-ltp__leaf-ring,.nc-ltp__leaf-node.is-active .nc-ltp__leaf-ring{stroke:#fff4b4;stroke-width:3.2;opacity:1;transform:scale(1.18)}
.nc-ltp__leaf-node:hover .nc-ltp__leaf-core,.nc-ltp__leaf-node:focus-visible .nc-ltp__leaf-core,.nc-ltp__leaf-node.is-active .nc-ltp__leaf-core{fill:#2dcc8c;filter:drop-shadow(0 0 13px rgba(103,255,188,1))}
.nc-ltp__energy-route{transition:opacity .8s ease}
.nc-ltp__energy-route path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke}
.nc-ltp__energy-glow{stroke:rgba(255,211,101,.42);stroke-width:10;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-core{stroke:#fff0a2;stroke-width:2.4;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-route.is-routing path{animation:ltpRouteDraw 1.12s cubic-bezier(.18,.72,.14,1) forwards}
.nc-ltp__energy-head{opacity:0;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-route.is-routing .nc-ltp__energy-head{opacity:1}
.nc-ltp__energy-head-halo{fill:rgba(255,214,104,.24)}
.nc-ltp__energy-head-core{fill:#fff8cf;stroke:#f2cf68;stroke-width:1.5}
@keyframes ltpClickRing{0%,100%{opacity:.58;transform:scale(.88)}50%{opacity:1;transform:scale(1.12)}}


/* v2.5 — Living Calligraphic Vine Engine */
.nc-ltp__environment{opacity:.56;mix-blend-mode:screen;filter:saturate(.88) brightness(.88)}
.nc-ltp__stage.is-awake .nc-ltp__environment{opacity:.56}
.nc-ltp__leaf-aura{opacity:.42;animation-duration:1.75s}
.nc-ltp__leaf-ring{stroke:rgba(255,226,133,.98);stroke-width:2.8;opacity:1;filter:url(#ltpLeafFilter);animation:ltpClickRingV25 1.65s ease-in-out infinite}
.nc-ltp__leaf-core{r:7px;fill:rgba(34,178,116,.96);stroke:#fff0aa;stroke-width:2.6;filter:drop-shadow(0 0 11px rgba(126,255,193,.95)) drop-shadow(0 0 5px rgba(255,219,112,.95))}
.nc-ltp__leaf-dot{fill:#fffbd9;filter:drop-shadow(0 0 9px #fff1a3)}
.nc-ltp__leaf-node{cursor:pointer}
.nc-ltp__leaf-node:hover .nc-ltp__leaf-ring,.nc-ltp__leaf-node:focus-visible .nc-ltp__leaf-ring{transform:scale(1.3);stroke-width:3.5}
.nc-ltp__energy-route{opacity:0;transition:opacity .95s ease}
.nc-ltp__energy-route.is-routing{opacity:1}
.nc-ltp__energy-route.is-fading{opacity:0}
.nc-ltp__energy-route path{stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-linejoin:round}
.nc-ltp__energy-route.is-routing path{animation:ltpRouteDraw 1.5s cubic-bezier(.17,.72,.15,1) forwards}
.nc-ltp__energy-glow{stroke:rgba(255,211,101,.34);stroke-width:12}
.nc-ltp__energy-core{stroke:#fff1a8;stroke-width:2.1}
.nc-ltp__energy-head-halo{fill:rgba(255,218,112,.30)}
.nc-ltp__energy-head-core{fill:#fffbe0;stroke:#f4d374;stroke-width:1.2}
@keyframes ltpClickRingV25{0%,100%{opacity:.68;transform:scale(.88)}45%{opacity:1;transform:scale(1.16)}68%{opacity:.82;transform:scale(1.02)}}
@media(max-width:700px){.nc-ltp__environment{opacity:.50}.nc-ltp__stage.is-awake .nc-ltp__environment{opacity:.50}.nc-ltp__leaf-ring{stroke-width:3.2}.nc-ltp__leaf-core{stroke-width:3}}


/* v2.6 — Living Ecosystem Mastering Pass */
.nc-ltp__environment{opacity:.48;filter:saturate(.82) brightness(.82)}
.nc-ltp__stage.is-awake .nc-ltp__environment{opacity:.48}
.nc-ltp__core-aura{position:absolute;z-index:7;left:50%;top:var(--ltp-focus-y);width:min(49vw,49vh);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity 2.4s ease}
.nc-ltp__stage.is-awake .nc-ltp__core-aura{opacity:.58}
.nc-ltp__core-aura i{position:absolute;inset:50%;border-radius:50%;border:1px solid rgba(224,188,98,.095);box-shadow:0 0 20px rgba(46,177,119,.055),inset 0 0 18px rgba(224,188,98,.035);transform:translate(-50%,-50%);animation:ltpCoreBreath 10s ease-in-out infinite}
.nc-ltp__core-aura i:nth-child(1){width:58%;height:58%;animation-delay:-1s}
.nc-ltp__core-aura i:nth-child(2){width:76%;height:76%;border-color:rgba(71,185,128,.08);animation-delay:-4s}
.nc-ltp__core-aura i:nth-child(3){width:94%;height:94%;border-color:rgba(224,188,98,.055);animation-delay:-7s}
@keyframes ltpCoreBreath{0%,100%{opacity:.25;transform:translate(-50%,-50%) scale(.985)}50%{opacity:.72;transform:translate(-50%,-50%) scale(1.018)}}
@media(max-width:700px){.nc-ltp__environment{opacity:.43}.nc-ltp__stage.is-awake .nc-ltp__environment{opacity:.43}.nc-ltp__core-aura{width:76vw;opacity:.48}}


/* v2.8 — Locked v2.6 vines + locked v2.7 minimal portal + reliable burst/beam */

.nc-ltp__energy-route{opacity:0;transition:opacity .76s ease;will-change:opacity}
.nc-ltp__energy-route.is-routing{opacity:1}
.nc-ltp__energy-route.is-fading{opacity:0}
.nc-ltp__energy-route path{animation:none!important;fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;will-change:stroke-dashoffset}
.nc-ltp__energy-aura{stroke:rgba(255,205,78,.14);stroke-width:22;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-glow{stroke:rgba(255,214,104,.46);stroke-width:8.5;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-core{stroke:#fff9d6;stroke-width:2.25;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-head{opacity:0;filter:url(#ltpRouteGlow);will-change:transform,opacity}
.nc-ltp__energy-head-halo{fill:rgba(255,213,96,.25)}
.nc-ltp__energy-head-core{fill:#fffdf0;stroke:#f4d374;stroke-width:1.1}

.nc-ltp__portal{filter:drop-shadow(0 0 13px rgba(224,188,98,.20))}
.nc-ltp__portal-halo{inset:-4.5%;filter:blur(3.2px);opacity:.64;background:conic-gradient(from 0deg,rgba(224,188,98,.02),rgba(65,192,130,.34),rgba(247,216,123,.62),rgba(50,166,112,.07),rgba(224,188,98,.02))}
.nc-ltp__portal-core{inset:7%;padding:0;background:radial-gradient(circle at 50% 34%,rgba(13,58,42,.96),rgba(1,24,18,.985) 68%,rgba(0,8,6,.995));border:1px solid rgba(255,221,125,.72);box-shadow:0 0 0 1px rgba(27,142,94,.12),inset 0 0 22px rgba(57,197,132,.13),0 0 18px rgba(224,188,98,.15)}
.nc-ltp__portal-cta{position:absolute;inset:0;margin:0;padding:18%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:inherit;text-decoration:none;text-transform:none;letter-spacing:normal}
.nc-ltp__portal-icon{width:clamp(38px,5.4vw,58px);margin:0;stroke-width:1.55;filter:drop-shadow(0 0 7px rgba(239,208,121,.38))}
.nc-ltp__portal h1{margin:0;max-width:92%;color:#fff2bd;font-size:clamp(14px,1.55vw,21px);line-height:1.12;letter-spacing:.025em;text-shadow:0 0 10px rgba(224,188,98,.22)}
.nc-ltp__portal p,.nc-ltp__portal-cta span,.nc-ltp__portal-cta b{display:none!important}
.nc-ltp__portal-cta:focus-visible{outline:1px solid rgba(255,237,170,.9);outline-offset:5px}
.nc-ltp__portal-particles{inset:-35%}
.nc-ltp__portal-particles i{width:3px;height:3px;box-shadow:0 0 7px currentColor}

/* keep the locked vines unchanged; only strengthen the living focal field */
.nc-ltp__environment{will-change:contents;transform:translateZ(0);backface-visibility:hidden}
.nc-ltp__video,.nc-ltp__interaction,.nc-ltp__portal,.nc-ltp__energy-route{transform-style:preserve-3d;backface-visibility:hidden}

@media(max-width:700px){
  .nc-ltp__energy-aura{stroke-width:17}
  .nc-ltp__energy-glow{stroke-width:7}
  .nc-ltp__energy-core{stroke-width:2}
  .nc-ltp__portal-halo{inset:-4%;filter:blur(2.8px)}
  .nc-ltp__portal-cta{padding:16%}
  .nc-ltp__portal h1{font-size:clamp(13px,4vw,17px)}
}

/* v2.9 — Directional portals, visible living halo, burst spores and true laser beam */
.nc-ltp__core-aura{
  z-index:9;
  width:min(58vw,58vh);
  opacity:0;
  transition:opacity 1.8s ease;
  filter:drop-shadow(0 0 12px rgba(224,188,98,.14));
}
.nc-ltp__stage.is-awake .nc-ltp__core-aura{opacity:.82}
.nc-ltp__core-aura i{
  border-width:1px;
  border-color:rgba(236,202,105,.16);
  box-shadow:0 0 18px rgba(46,177,119,.09),inset 0 0 16px rgba(224,188,98,.055);
}
.nc-ltp__core-aura i:nth-child(1){width:52%;height:52%}
.nc-ltp__core-aura i:nth-child(2){width:68%;height:68%;border-color:rgba(78,196,137,.14)}
.nc-ltp__core-aura i:nth-child(3){width:84%;height:84%;border-color:rgba(224,188,98,.11)}
.nc-ltp__core-aura i:nth-child(4){width:100%;height:100%;border-color:rgba(77,180,128,.075);animation-delay:-9s}
.nc-ltp__orb{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#fff8cf;box-shadow:0 0 5px #fff6c2,0 0 13px rgba(240,198,82,.92),0 0 28px rgba(61,199,135,.42);transform-origin:0 0;will-change:transform;animation:ltpOrbital 13s linear infinite}
.nc-ltp__orb::after{content:"";position:absolute;inset:-10px;border:1px solid rgba(243,207,105,.26);border-radius:50%;box-shadow:0 0 14px rgba(224,188,98,.16)}
.nc-ltp__orb--1{--orbit:min(15vw,15vh);animation-duration:12.5s}
.nc-ltp__orb--2{--orbit:min(19vw,19vh);animation-duration:17s;animation-direction:reverse;animation-delay:-5s;opacity:.86}
.nc-ltp__orb--3{--orbit:min(23vw,23vh);animation-duration:21s;animation-delay:-11s;opacity:.72}
.nc-ltp__orb--4{--orbit:min(27vw,27vh);animation-duration:27s;animation-direction:reverse;animation-delay:-17s;opacity:.64}
.nc-ltp__orb--5{--orbit:min(21vw,21vh);animation-duration:15.5s;animation-delay:-8s;opacity:.78}
@keyframes ltpOrbital{from{transform:rotate(0deg) translateX(var(--orbit)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--orbit)) rotate(-360deg)}}

.nc-ltp__energy-route{z-index:24;mix-blend-mode:screen;filter:none;transition:opacity .7s ease}
.nc-ltp__energy-route.is-routing{opacity:1}
.nc-ltp__energy-aura{stroke:rgba(255,189,42,.20);stroke-width:30;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-glow{stroke:rgba(255,208,82,.72);stroke-width:11;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-core{stroke:#fffef1;stroke-width:3.1;filter:url(#ltpRouteGlow)}
.nc-ltp__energy-route.is-routing .nc-ltp__energy-aura{animation:ltpBeamBreathe .42s ease-in-out infinite alternate!important}
.nc-ltp__energy-route.is-routing .nc-ltp__energy-glow{animation:ltpBeamBreathe .34s ease-in-out infinite alternate-reverse!important}
.nc-ltp__energy-head-halo{r:20;fill:rgba(255,198,51,.34)}
.nc-ltp__energy-head-core{r:6.2;fill:#fffef4;stroke:#ffd75d;stroke-width:2;filter:drop-shadow(0 0 7px #fff8c7) drop-shadow(0 0 15px rgba(255,198,48,.95))}
@keyframes ltpBeamBreathe{from{opacity:.68}to{opacity:1}}

.nc-ltp__instruction{width:min(720px,88vw)}
.nc-ltp__instruction p{display:flex;flex-direction:column;align-items:center;line-height:1.22;animation:ltpInstructionPulse 2.8s ease-in-out infinite}
.nc-ltp__instruction p strong,.nc-ltp__instruction p em{font:inherit;font-style:normal;font-weight:400}
.nc-ltp__instruction p strong{color:rgba(249,226,159,.9);letter-spacing:.11em}
.nc-ltp__instruction p em{margin-top:2px;color:rgba(210,193,143,.62);font-size:.82em;letter-spacing:.13em}
.nc-ltp__instruction>span{animation:ltpInstructionLine 2.8s ease-in-out infinite}
@keyframes ltpInstructionPulse{0%,100%{opacity:.62;transform:scale(.985);text-shadow:0 0 8px rgba(224,188,98,.10)}50%{opacity:1;transform:scale(1.02);text-shadow:0 0 18px rgba(224,188,98,.42)}}
@keyframes ltpInstructionLine{0%,100%{opacity:.42}50%{opacity:.92}}

@media(max-width:700px){
  .nc-ltp__core-aura{width:88vw}
  .nc-ltp__energy-aura{stroke-width:24}
  .nc-ltp__energy-glow{stroke-width:9}
  .nc-ltp__energy-core{stroke-width:2.8}
  .nc-ltp__instruction{width:82vw;bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px))}
  .nc-ltp__instruction p{font-size:clamp(12px,3.6vw,15px)}
}

.nc-ltp__welcome{position:absolute;left:50%;top:58%;transform:translateX(-50%);text-align:center;z-index:20;animation:fadeUp 1s ease .5s both;max-width:70%}
.nc-ltp__welcome h2{color:#e8d7a0;font-size:1.4rem;margin:0}
.nc-ltp__welcome h3{color:#f4f0e5;font-size:.95rem;margin:.3rem 0}
.nc-ltp__welcome p{color:rgba(255,255,255,.58);font-size:.72rem;letter-spacing:.08em}
@keyframes fadeUp{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

/* v2.10.1 — Welcome composition + popup-circle precision patch */
.nc-ltp__welcome{
  position:absolute;
  z-index:13;
  left:50%;
  top:62.5%;
  width:min(880px,88vw);
  max-width:none;
  transform:translateX(-50%) translateY(12px);
  text-align:center;
  pointer-events:none;
  opacity:0;
  animation:none;
  transition:opacity 1.15s ease .18s,transform 1.15s cubic-bezier(.22,.72,.22,1) .18s;
}
.nc-ltp__stage.is-awake .nc-ltp__welcome{opacity:1;transform:translateX(-50%) translateY(0)}
.nc-ltp__welcome-intro,
.nc-ltp__welcome-subtitle,
.nc-ltp__welcome-statement{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:400}
.nc-ltp__welcome-intro{color:rgba(244,222,163,.92);font-size:clamp(14px,1.42vw,22px);line-height:1.1;letter-spacing:.055em;text-shadow:0 0 16px rgba(224,188,98,.18)}
.nc-ltp__welcome h2{margin:.16em 0 .18em;color:#f3d98d;font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,4.05vw,62px);font-weight:400;line-height:1.02;letter-spacing:.012em;text-shadow:0 0 22px rgba(224,188,98,.25)}
.nc-ltp__welcome-subtitle{color:rgba(149,205,151,.88);font-size:clamp(13px,1.38vw,21px);line-height:1.28;letter-spacing:.012em;text-shadow:0 0 14px rgba(61,178,115,.16)}
.nc-ltp__welcome-divider{position:relative;width:min(290px,38vw);height:18px;margin:clamp(9px,1.3vh,16px) auto clamp(4px,.7vh,9px)}
.nc-ltp__welcome-divider::before,.nc-ltp__welcome-divider::after{content:"";position:absolute;top:50%;width:44%;height:1px;background:linear-gradient(90deg,transparent,rgba(224,188,98,.62))}
.nc-ltp__welcome-divider::before{left:0}.nc-ltp__welcome-divider::after{right:0;transform:scaleX(-1)}
.nc-ltp__welcome-divider i{position:absolute;left:50%;top:50%;width:6px;height:6px;transform:translate(-50%,-50%) rotate(45deg);background:#f0cb6c;box-shadow:0 0 9px rgba(240,203,108,.85),0 0 18px rgba(240,203,108,.28)}
.nc-ltp__welcome-statement{color:rgba(236,223,189,.78);font-size:clamp(11px,1.12vw,17px);line-height:1.35;letter-spacing:.025em;text-shadow:0 0 12px rgba(224,188,98,.12)}
.nc-ltp__welcome-divider--lower{margin-top:clamp(5px,.8vh,10px);margin-bottom:0;opacity:.76}

/* Every popup uses a strict internal safe circle. */
.nc-ltp__portal-core{overflow:hidden}
.nc-ltp__portal-cta{
  inset:0;
  padding:15.5%;
  display:grid;
  grid-template-rows:minmax(38px,.9fr) auto;
  place-items:center;
  align-content:center;
  gap:clamp(7px,.85vw,11px);
  overflow:hidden;
  text-align:center;
}
.nc-ltp__portal-icon{
  display:block;
  width:clamp(38px,4.7vw,56px);
  height:clamp(38px,4.7vw,56px);
  max-width:100%;
  margin:0;
  overflow:visible;
  align-self:end;
  justify-self:center;
  transform-origin:50% 50%;
}
.nc-ltp__portal h1{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0 2%;
  align-self:start;
  color:#fff2bd;
  font-weight:500;
  font-size:clamp(13px,1.42vw,20px);
  line-height:1.08;
  letter-spacing:.018em;
  text-align:center;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}

@media(max-width:700px){
  .nc-ltp__welcome{top:62.2%;width:92vw}
  .nc-ltp__welcome-intro{font-size:clamp(13px,3.75vw,17px)}
  .nc-ltp__welcome h2{font-size:clamp(29px,8.9vw,43px);white-space:nowrap}
  .nc-ltp__welcome-subtitle{font-size:clamp(11px,3.35vw,15px);white-space:nowrap}
  .nc-ltp__welcome-statement{font-size:clamp(9px,2.75vw,12px);white-space:nowrap}
  .nc-ltp__welcome-divider{width:min(230px,52vw);height:15px;margin:7px auto 3px}
  .nc-ltp__welcome-divider--lower{margin-top:4px}
  .nc-ltp__instruction{bottom:max(12px,calc(env(safe-area-inset-bottom) + 5px))}
  .nc-ltp__portal-cta{padding:15%;grid-template-rows:minmax(35px,.88fr) auto;gap:7px}
  .nc-ltp__portal-icon{width:clamp(36px,11vw,48px);height:clamp(36px,11vw,48px)}
  .nc-ltp__portal h1{font-size:clamp(12px,3.7vw,16px);line-height:1.06;padding:0 1%}
}

@media(max-width:430px){
  .nc-ltp__welcome{top:62.8%;width:94vw}
  .nc-ltp__welcome h2{font-size:clamp(28px,9vw,39px)}
  .nc-ltp__welcome-subtitle{font-size:clamp(10px,3.15vw,13px)}
  .nc-ltp__welcome-statement{font-size:clamp(8.5px,2.62vw,11px);letter-spacing:.018em}
}

@media(max-height:720px){
  .nc-ltp__welcome{top:60.2%}
  .nc-ltp__welcome h2{font-size:clamp(27px,7.6vh,48px)}
  .nc-ltp__welcome-divider{height:12px;margin:4px auto 2px}
  .nc-ltp__instruction{bottom:max(7px,env(safe-area-inset-bottom))}
}


/* v2.10.2 — Android font-inflation correction */
@media(max-width:700px){
  .nc-ltp__welcome{width:94vw}
  .nc-ltp__welcome h2{max-width:100%;font-size:clamp(28px,8.9vw,40px);white-space:nowrap;overflow:visible}
}
@media(max-width:380px){
  .nc-ltp__welcome h2{font-size:clamp(27px,8.4vw,34px)}
}

/* v3.1 — Portal responsiveness, adaptive rendering and leaf discovery */
.nc-ltp__leaf-preview{
  position:fixed;z-index:28;width:min(320px,calc(100vw - 28px));padding:12px 15px 13px;
  border:1px solid rgba(239,208,121,.34);border-radius:14px;
  background:linear-gradient(145deg,rgba(4,38,28,.94),rgba(0,17,13,.96));
  box-shadow:0 14px 38px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  color:#f8edc8;pointer-events:none;opacity:0;
  transform:translate(-50%,calc(-100% + 7px)) scale(.96);
  transition:opacity .16s ease,transform .18s cubic-bezier(.2,.8,.2,1);
}
.nc-ltp__leaf-preview.is-visible{opacity:1;transform:translate(-50%,-100%) scale(1)}
.nc-ltp__leaf-preview strong{display:block;font:500 14px/1.25 Georgia,"Times New Roman",serif;color:#ffe6a0;letter-spacing:.015em}
.nc-ltp__leaf-preview span{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:rgba(188,224,201,.76);letter-spacing:.025em}
.nc-ltp__environment{will-change:auto;contain:strict}
.nc-ltp__energy-route path,.nc-ltp__energy-head{will-change:auto}
.nc-ltp__stage.is-beaming .nc-ltp__atmosphere,
.nc-ltp__stage.is-opening .nc-ltp__atmosphere{animation-play-state:paused}
.nc-ltp-low-power .nc-ltp__atmosphere{animation:none;filter:blur(20px)}
.nc-ltp-low-power .nc-ltp__orb--4,.nc-ltp-low-power .nc-ltp__orb--5{display:none}
.nc-ltp-low-power .nc-ltp__leaf-aura{filter:none;opacity:.30}
@media(pointer:coarse){.nc-ltp__leaf-preview{display:none}}
@media(prefers-reduced-motion:reduce){.nc-ltp__leaf-preview{transition:none}}

/* v2.10.3 — Mobile welcome-title 60% scale correction */
@media(max-width:700px){
  .nc-ltp__welcome h2{
    width:100%;
    max-width:100%;
    padding-inline:3vw;
    box-sizing:border-box;
    font-size:clamp(17px,5.34vw,24px);
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:clip;
  }
}
@media(max-width:380px){
  .nc-ltp__welcome h2{font-size:clamp(16px,5.04vw,20px)}
}


/* v2.10.4 — matched title width + living statement loop */
.nc-ltp__welcome h2[data-ltp-welcome-title]{
  display:inline-block;
  width:auto;
  max-width:calc(100vw - 32px);
  padding-inline:0;
  overflow:visible;
  text-overflow:clip;
  transform-origin:center center;
}
.nc-ltp__welcome-statement{
  position:relative;
  display:grid;
  place-items:center;
  width:min(360px,82vw);
  height:1.55em;
  margin:0 auto;
  overflow:hidden;
  color:rgba(236,223,189,.82);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(11px,1.12vw,17px);
  font-weight:400;
  line-height:1.35;
  letter-spacing:.035em;
  text-align:center;
  text-shadow:0 0 12px rgba(224,188,98,.15);
}
.nc-ltp__welcome-statement span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  opacity:0;
  transform:translateY(4px);
  white-space:nowrap;
  animation:ncLtpStatementCycle 11.4s ease-in-out infinite;
  will-change:opacity,transform;
}
.nc-ltp__welcome-statement span:nth-child(2){animation-delay:3.8s}
.nc-ltp__welcome-statement span:nth-child(3){animation-delay:7.6s}
@keyframes ncLtpStatementCycle{
  0%{opacity:0;transform:translateY(4px)}
  7%{opacity:1;transform:translateY(0)}
  26%{opacity:1;transform:translateY(0)}
  33.333%{opacity:0;transform:translateY(-4px)}
  100%{opacity:0;transform:translateY(-4px)}
}
@media(max-width:700px){
  .nc-ltp__welcome h2[data-ltp-welcome-title]{
    max-width:calc(100vw - 30px);
    font-size:clamp(17.6px,5.6vw,27.2px);
    white-space:nowrap;
  }
  .nc-ltp__welcome-statement{
    width:min(300px,78vw);
    height:1.5em;
    font-size:clamp(10px,3vw,12px);
  }
}
@media(max-width:380px){
  .nc-ltp__welcome h2[data-ltp-welcome-title]{font-size:clamp(16.8px,5.44vw,23.2px)}
}
@media(prefers-reduced-motion:reduce){
  .nc-ltp__welcome-statement span{animation:none;opacity:0;transform:none}
  .nc-ltp__welcome-statement span:first-child{opacity:1}
}


/* v2.10.5 — mobile welcome title reduced to 80% of v2.10.4 */


/* v2.10.7 - Mobile Welcome Title 19px — FINAL */
@media (max-width:700px){
  .nc-ltp__welcome h2[data-ltp-welcome-title]{font-size:19px!important;}
}
@media (max-width:380px){
  .nc-ltp__welcome h2[data-ltp-welcome-title]{font-size:19px!important;}
}

/* v3.0 — Living Portal Final Lock mastering pass
   Scope locked: canvas blend, post-video halo, orbital light, motion polish, stronger spores. */
.nc-ltp,.nc-ltp__stage,.nc-ltp__video-frame{background:#000!important}
.nc-ltp__environment{background:transparent!important;opacity:.88;transform:translateZ(0);backface-visibility:hidden;contain:strict}
.nc-ltp__video{transform:translateZ(0)!important;backface-visibility:hidden;will-change:opacity}

/* The circular atmosphere now sits immediately after the video layer. */
.nc-ltp__atmosphere{
  z-index:4;
  inset:0;
  opacity:.76;
  background:
    radial-gradient(circle at 50% var(--ltp-focus-y),rgba(30,178,117,.31) 0%,rgba(10,113,86,.25) 21%,rgba(7,45,76,.24) 43%,rgba(2,19,39,.18) 61%,rgba(0,0,0,0) 77%);
  filter:blur(30px);
  animation:ltpFinalHaloBreath 15s cubic-bezier(.45,0,.55,1) infinite;
  will-change:transform,opacity;
  transform:translateZ(0);
}
@keyframes ltpFinalHaloBreath{
  0%,100%{transform:translateZ(0) scale(.985);opacity:.68}
  50%{transform:translateZ(0) scale(1.025);opacity:.82}
}

/* Thin, solid living halo. */
.nc-ltp__core-aura{z-index:9;filter:drop-shadow(0 0 15px rgba(44,190,128,.18));will-change:opacity,transform;transform:translateZ(0)}
.nc-ltp__core-aura i{
  border-width:1px!important;
  border-style:solid;
  box-shadow:0 0 16px rgba(38,169,122,.10),inset 0 0 13px rgba(11,52,88,.10)!important;
}
.nc-ltp__core-aura i:nth-child(1){border-color:rgba(238,207,119,.30)!important}
.nc-ltp__core-aura i:nth-child(2){border-color:rgba(64,193,135,.22)!important}
.nc-ltp__core-aura i:nth-child(3){border-color:rgba(23,93,132,.20)!important}
.nc-ltp__core-aura i:nth-child(4){border-color:rgba(224,188,98,.13)!important}

/* Orbital nodes emit a restrained radial ray and brighter core light. */
.nc-ltp__orb{
  width:7px;height:7px;margin:-3.5px;
  background:#fff9d7;
  box-shadow:0 0 6px #fff8d1,0 0 17px rgba(244,205,102,.94),0 0 36px rgba(55,207,142,.55),0 0 58px rgba(8,74,124,.27);
  animation-timing-function:linear;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.nc-ltp__orb::before{
  content:"";position:absolute;left:50%;top:50%;width:1px;height:58px;
  transform:translate(-50%,-50%);transform-origin:50% 50%;
  background:linear-gradient(180deg,transparent,rgba(99,218,166,.18),rgba(255,235,159,.55),rgba(60,147,205,.14),transparent);
  filter:blur(.35px);opacity:.75;pointer-events:none;
}
.nc-ltp__orb::after{inset:-12px;border-color:rgba(243,207,105,.30);box-shadow:0 0 18px rgba(62,199,139,.22)}

/* Composite-only movement and gentler interpolation. */
.nc-ltp__rings,.nc-ltp__instruction,.nc-ltp__welcome,.nc-ltp__portal,.nc-ltp__energy-route,.nc-ltp__interaction{
  backface-visibility:hidden;transform-style:preserve-3d;
}
.nc-ltp__rings i,.nc-ltp__leaf-aura,.nc-ltp__welcome-statement span{will-change:transform,opacity}
.nc-ltp__portal{will-change:transform,opacity}

/* Stronger but still elegant environmental and popup spores. */
.nc-ltp__portal-particles i{
  width:4.4px;height:4.4px;
  box-shadow:0 0 9px currentColor,0 0 19px currentColor;
  opacity:.94;
}
@media(max-width:700px){
  .nc-ltp__atmosphere{filter:blur(24px);opacity:.72}
  .nc-ltp__portal-particles i{width:4px;height:4px}
}
@media(prefers-reduced-motion:reduce){.nc-ltp__atmosphere{animation:none}}


/* v3.0.2 — Video-anchored halo alignment correction
   The halo and orbital light now share the video's own coordinate system. */
.nc-ltp__video-frame > .nc-ltp__atmosphere{
  position:absolute;
  z-index:4;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(30,178,117,.31) 0%,rgba(10,113,86,.25) 21%,rgba(7,45,76,.24) 43%,rgba(2,19,39,.18) 61%,rgba(0,0,0,0) 77%);
  transform:translateZ(0) scale(.985);
  transform-origin:50% 50%;
}
.nc-ltp__video-frame > .nc-ltp__core-aura{
  position:absolute;
  z-index:12;
  left:50%;
  top:50%;
  width:min(49vw,49vh);
  aspect-ratio:1;
  transform:translate(-50%,-50%) translateZ(0);
  transform-origin:50% 50%;
}

/* Orb = light, not node: tiny core, no outline, restrained bloom and short trail. */
.nc-ltp__orb{
  width:2.8px!important;
  height:2.8px!important;
  margin:-1.4px!important;
  border:0!important;
  background:rgba(255,250,220,.88)!important;
  box-shadow:0 0 3px rgba(255,249,211,.95),0 0 9px rgba(238,202,105,.62),0 0 20px rgba(61,199,139,.33),0 0 32px rgba(12,79,128,.16)!important;
  opacity:.68;
}
.nc-ltp__orb::before{
  content:"";
  position:absolute;
  left:-14px;
  top:50%;
  width:15px;
  height:1px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,transparent,rgba(65,183,139,.09),rgba(244,213,127,.34));
  filter:blur(.45px);
  opacity:.72;
  pointer-events:none;
}
.nc-ltp__orb::after{
  content:"";
  position:absolute;
  inset:-7px!important;
  border:0!important;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,242,183,.18) 0%,rgba(54,192,137,.10) 38%,transparent 72%);
  box-shadow:none!important;
  pointer-events:none;
}
.nc-ltp__orb--1{opacity:.72}
.nc-ltp__orb--2{opacity:.58}
.nc-ltp__orb--3{opacity:.50}
.nc-ltp__orb--4{opacity:.44}
.nc-ltp__orb--5{opacity:.56}
@media(max-width:700px){
  .nc-ltp__video-frame > .nc-ltp__core-aura{width:76vw}
  .nc-ltp__orb{width:2.4px!important;height:2.4px!important;margin:-1.2px!important}
}

/* v3.11 — semantic panel heading; mirrors the former h1 presentation */
.nc-ltp__portal h2{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0 2%;
  align-self:start;
  color:#fff2bd;
  font-size:clamp(13px,1.42vw,20px);
  line-height:1.08;
  letter-spacing:.018em;
  text-align:center;
  text-shadow:0 0 10px rgba(224,188,98,.22);
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
@media(max-width:700px){.nc-ltp__portal h2{font-size:clamp(12px,3.7vw,16px);line-height:1.06;padding:0 1%}}

/* Public page navigation: accessible without JavaScript, outside the tree controls. */
.nc-ltp__public-nav{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:12000;width:max-content;max-width:calc(100vw - 112px);font:500 12px/1.5 Inter,system-ui,sans-serif;color:#f7f2dc}
.nc-ltp__public-nav summary{cursor:pointer;padding:9px 13px;border:1px solid #c5b77b55;border-radius:18px;background:#03241ee8}
.nc-ltp__public-nav nav{position:absolute;right:0;margin-top:8px;min-width:230px;max-width:calc(100vw - 40px);padding:8px;border:1px solid #c5b77b55;border-radius:14px;background:#03241ef5;box-shadow:0 12px 35px #0006}
.nc-ltp__public-nav a{display:block;padding:11px 12px;color:inherit;text-decoration:none;border-radius:8px}
.nc-ltp__public-nav a:hover,.nc-ltp__public-nav a:focus-visible{background:#d3c28a22;outline:2px solid #dfc88b;outline-offset:-2px}
@media(max-width:700px){.nc-ltp__public-nav{right:14px;font-size:11px}.nc-ltp__public-nav summary{padding:8px 10px}}

/* The portal language owner sets data-nc-lang; no additional script is needed. */
.nc-ltp__public-nav [lang="en"]{display:none}
html[data-nc-lang="en"] .nc-ltp__public-nav [lang="id"]{display:none}
html[data-nc-lang="en"] .nc-ltp__public-nav [lang="en"]{display:inline}
.nc-ltp__public-nav nav{max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain}
