/* Shared spatial knowledge cues; motion is feedback, never the only signal. */
.nlxr-orb-crown { position:absolute; left:50%; top:50%; width:72px; height:72px; transform:translate(-50%,-50%); pointer-events:none; color:#d6edcc; filter:drop-shadow(0 2px 3px rgba(15,35,24,.24)); }
.nlxr-orb-crown i { position:absolute; left:50%; top:50%; width:15px; height:17px; background:currentColor; clip-path:polygon(50% 0,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%,50% 0,50% 12%,15% 31%,15% 69%,50% 88%,85% 69%,85% 31%,50% 12%); transform:translate(-50%,-50%) rotate(calc(var(--bud)*60deg + 30deg)) translateY(-31px); transition:transform .7s ease; }
[data-knowledge-state="expanded"] .nlxr-orb-crown i { transform:translate(-50%,-50%) rotate(calc(var(--bud)*60deg + 30deg)) translateY(-35px); }
.nlxr-orb-label { position:absolute; top:calc(50% + 42px); left:50%; transform:translateX(-50%); white-space:nowrap; font:500 11px/1.3 system-ui; color:#f2f7e9; padding:3px 8px; border:1px solid #d6edcc66; border-radius:20px; background:#203e2bb3; pointer-events:none; }
[data-knowledge-state="live"] .tryit-sim-orb.is-plant,[data-knowledge-state="expanded"] .tryit-sim-orb.is-plant { background:radial-gradient(circle at 30% 20%,#e9f2dc80,#829f7140 44%,#34593c66); border-color:#e8f2dca6; animation:none; }
.tryit-sim-marker-plant.has-plant-profile:is(:hover,:focus-visible) .tryit-sim-orb { animation:none; }
.nlxr-totem-system { --totem-card-width:180px; }
.tryit-sim-marker.tryit-sim-marker-zone.nlxr-totem-system { width:min(84vw,390px); height:min(54vh,460px); border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.tryit-sim-marker.tryit-sim-marker-zone.nlxr-totem-system::before,.tryit-sim-marker.tryit-sim-marker-zone.nlxr-totem-system::after { display:none; }
.tryit-sim-marker.tryit-sim-marker-zone.nlxr-totem-system { outline:none; }
.nlxr-totem-system .tryit-sim-totem-pillar { background:linear-gradient(90deg,#405345 0%,#7a9077 10%,#8f9f86 14%,#72846b 75%,#425947 95%); border-radius:7px 7px 5px 5px; box-shadow:inset 1px 0 #c9d8b66b,0 18px 24px #1c30233d; }
.nlxr-totem-system .tryit-sim-totem-pillar::before { border-radius:4px; background:linear-gradient(140deg,#d6dfba,#718367); }
.nlxr-totem-system .tryit-sim-totem-pillar::after { background:linear-gradient(90deg,#405747,#637963); }
.nlxr-totem-cards { display:grid; gap:12px; pointer-events:auto; }
.nlxr-totem-cards > button { appearance:none; display:grid; gap:5px; min-width:0; min-height:88px; padding:13px 16px; color:#f2f6e8; text-align:left; border:1px solid #d2e8c680; border-radius:15px; background:linear-gradient(145deg,#677e5f85,#173b2dc9); backdrop-filter:blur(10px); box-shadow:inset 0 1px #ffffff33,0 10px 22px #14261d25; font:400 13px/1.35 system-ui; cursor:pointer; }
.nlxr-totem-cards > button small,.nlxr-totem-detail > small { font:600 9px/1.4 system-ui; letter-spacing:.12em; color:#d2e8c6; }
.nlxr-totem-cards > button strong { font:600 15px/1.3 system-ui; color:#f2f6e8; overflow-wrap:anywhere; }
.nlxr-totem-cards > button > span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nlxr-totem-cards > button:is(:hover,:focus-visible),.nlxr-totem-cards > button[aria-expanded="true"] { border-color:#f1eabd; outline:2px solid #ede5b733; outline-offset:3px; background:linear-gradient(145deg,#81956da1,#244d39dc); }
.nlxr-totem-system .nlxr-totem-cards { position:absolute; inset:0; z-index:3; }
.nlxr-totem-system .nlxr-totem-cards > button { position:absolute; width:var(--totem-card-width); }
.nlxr-totem-system .nlxr-totem-cards > button:nth-child(1) { right:56%; top:9%; }
.nlxr-totem-system .nlxr-totem-cards > button:nth-child(2) { left:58%; top:36%; }
.nlxr-totem-system .nlxr-totem-cards > button:nth-child(3) { right:56%; top:61%; }
.nlxr-totem-system .nlxr-totem-cards > button::after { content:""; position:absolute; width:20px; height:1px; top:50%; left:100%; background:#d2e8c699; pointer-events:none; }
.nlxr-totem-system .nlxr-totem-cards > button:nth-child(2)::after { left:auto; right:100%; }
.creator-ar-totem-information .nlxr-totem-live-board { width:min(290px,70vw); max-height:none; overflow:visible; padding:0; background:none; border:0; box-shadow:none; animation:none; text-shadow:none; }
.nlxr-totem-detail { position:fixed; z-index:13000; left:18px; top:22vh; width:min(300px,calc(100vw - 36px)); max-height:60vh; overflow:auto; padding:22px; box-sizing:border-box; border:1px solid #d4e7c8aa; border-radius:18px; background:linear-gradient(145deg,#506f55eb,#173b2deb); color:#f2f6e8; box-shadow:0 18px 42px #14261d55,inset 0 1px #fff3; backdrop-filter:blur(12px); text-align:left; white-space:normal; animation:nlxr-note-arrive .5s ease both; pointer-events:auto; }
.nlxr-totem-detail h3 { margin:12px 24px 14px 0; font:600 20px/1.3 system-ui; color:inherit; }
.nlxr-totem-detail p { white-space:pre-line; font:400 15px/1.6 system-ui; color:inherit; }
.nlxr-totem-detail > button { float:right; min-width:44px; min-height:44px; margin:-12px -12px 0 8px; border:1px solid #d4e7c855; border-radius:50%; background:#203e2b80; color:inherit; font-size:24px; cursor:pointer; }
@keyframes nlxr-note-arrive { from { opacity:0; translate:-8px 0; } to { opacity:1; translate:0 0; } }
@media(max-width:600px) { .nlxr-totem-system { --totem-card-width:130px; } .nlxr-totem-cards > button { padding:10px; min-height:88px; font-size:11px; } .nlxr-totem-cards > button strong { font-size:13px; } .nlxr-totem-detail { top:18vh; max-height:64vh; } }
@media(prefers-reduced-motion:reduce) { .nlxr-orb-crown i { transition:none; } .nlxr-totem-detail { animation:none; } }

/* Desktop AR preview only. Immersive sessions use the shared WebGL note. */
.nlxr-info-panel { position:fixed; z-index:12900; left:18px; bottom:100px; width:min(310px,calc(100vw - 36px)); max-height:58vh; overflow:auto; box-sizing:border-box; padding:18px; border:1px solid #aad8ffa6; border-radius:16px; color:#f2fae9; background:linear-gradient(145deg,#3c70a4d1,#0f2b4fd1); backdrop-filter:blur(14px); box-shadow:0 12px 40px #0d281b38,inset 0 1px #e6ffd430; text-align:left; pointer-events:auto; animation:nlxr-note-arrive .45s ease both; }
.nlxr-info-panel[hidden] { display:none!important; }
.nlxr-info-panel h2 { font:600 19px/1.25 system-ui; color:inherit; margin:10px 0; }
.nlxr-info-panel small { display:block; font:400 11px/1.45 system-ui; color:#e2efff; }
.nlxr-info-panel p { color:inherit; margin:9px 0; }
.nlxr-info-panel .nlxr-info-trail { font:400 11px/1.4 system-ui; opacity:.85; }
.nlxr-info-panel .nlxr-info-body { font:400 14px/1.5 system-ui; white-space:pre-wrap; overflow-wrap:anywhere; }
.nlxr-info-panel nav { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 6px; }
.nlxr-info-panel button { font:500 12px/1.2 system-ui; min-height:44px; padding:7px 10px; border:1px solid #bedfff6b; border-radius:9px; background:#c3e1ff20; color:#f2fae9; cursor:pointer; }
.nlxr-info-panel button:disabled { opacity:.45; cursor:default; }
.nlxr-info-panel button:focus-visible { outline:2px solid #b9e3ff; outline-offset:3px; }
.nlxr-info-panel.is-hidden { width:auto; padding:4px; }
.nlxr-info-panel.is-hidden nav { margin:0; }
@media(max-width:600px) { .nlxr-info-panel { left:10px; bottom:88px; width:min(280px,calc(100vw - 20px)); max-height:35vh; padding:12px; } }
@media(prefers-reduced-motion:reduce) { .nlxr-info-panel { animation:none; } }

/* A quiet control surface; the green front panel retains the guided narrative. */
.nlxr-info-panel { padding:0 16px 12px; width:min(350px,calc(100vw - 28px)); background:linear-gradient(145deg,#30353be0,#13181dd4); border-color:#dce4e68c; border-radius:10px; box-shadow:0 14px 36px #0005,inset 0 1px #ffffff12; color:#f1f4f4; }
.nlxr-control-header { padding:14px 0 10px; border-bottom:1px solid #c1cfd22b; }
.nlxr-control-header > button { float:right; margin-top:-17px; min-height:36px; }
.nlxr-control-header h2 { margin:12px 0 4px; padding-right:40px; font-size:21px; }
.nlxr-info-panel .nlxr-control-identity { font:400 12px/1.4 system-ui; color:#bdc9cc; margin:0; }
.nlxr-info-panel small { color:#b7c5c9; }
.nlxr-info-panel .nlxr-control-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin:12px 0 18px; }
.nlxr-info-panel button { color:#f1f4f4; background:#d3dce521; border-color:#c8d3d536; border-radius:5px; }
.nlxr-info-panel [role=tab][aria-selected=true] { background:#9fbbb461; border-bottom:3px solid #aaccc1; }
.nlxr-info-panel h3 { color:inherit; font:600 17px/1.3 system-ui; margin:10px 0 6px; }
.nlxr-info-panel .nlxr-info-body { font-size:15px; line-height:1.5; margin:12px 0; }
.nlxr-info-panel .nlxr-control-actions { justify-content:space-between; }
.nlxr-info-panel .nlxr-control-page { text-align:center; }
.nlxr-info-panel.is-hidden { padding:5px; }
@media(max-width:600px) { .nlxr-info-panel { width:min(310px,calc(100vw - 20px)); max-height:40vh; padding:0 12px 10px; } .nlxr-info-panel.is-hidden { width:auto; padding:5px; } }

.nlxr-info-panel { display:grid; grid-template-columns:104px minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto auto auto; grid-template-areas:"rail header" "rail content" "rail actions" "rail utilities" "rail page"; width:min(340px,calc(100vw - 20px)); height:min(58vh,560px); padding:0 16px 10px 0; gap:0 16px; overflow:hidden; }
.nlxr-control-header { grid-area:header; }
.nlxr-control-header h2 { padding-right:0; font-size:20px; }
.nlxr-control-header>small { font-size:10px; letter-spacing:.08em; }
.nlxr-info-panel .nlxr-control-tabs { grid-area:rail; display:flex; flex-direction:column; margin:0; padding:14px 8px; gap:7px; background:#10161c60; border-right:1px solid #dce4e624; }
.nlxr-info-panel .nlxr-control-tabs button { min-height:46px; text-align:left; padding:9px; }
.nlxr-info-panel .nlxr-control-tabs [data-info-action=Hide] { margin-top:auto; }
.nlxr-info-panel [role=tab][aria-selected=true] { border-bottom:1px solid #c8d3d536; border-left:3px solid #aaccc1; background:#9fbbb43b; }
.nlxr-info-panel>[role=tabpanel] { grid-area:content; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; }
.nlxr-info-panel .nlxr-control-actions { grid-area:actions; margin:8px 0 0; gap:5px; }
.nlxr-info-panel .nlxr-control-actions button { font-size:11px; padding:7px; }
.nlxr-info-panel .nlxr-control-utilities { grid-area:utilities; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin:8px 0 0; padding-top:8px; border-top:1px solid #c1cfd22b; }
.nlxr-info-panel .nlxr-control-utilities button { min-width:0; min-height:42px; padding:6px; font-size:10px; }
.nlxr-info-panel .nlxr-control-page { grid-area:page; }
.nlxr-info-panel.is-large-text .nlxr-info-body { font-size:18px; }
.nlxr-info-panel.is-hidden { display:block; width:auto; height:auto; padding:5px; overflow:visible; }
.nlxr-info-panel.is-guided { border-color:#b7dcc8; box-shadow:0 0 0 2px #b7dcc838,0 14px 36px #0005; }
.nlxr-pathway-context { grid-area:content; align-self:start; margin:0 0 12px; padding:9px 10px; border:1px solid #aaccc138; border-radius:8px; background:#aaccc10d; }
.nlxr-pathway-context + [role=tabpanel] { margin-top:118px; }
.nlxr-pathway-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nlxr-pathway-heading strong { font:600 12px/1.3 system-ui; }
.nlxr-pathway-heading small { display:inline-block; padding:2px 6px; border:1px solid #aaccc14d; border-radius:999px; font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.nlxr-pathway-context>span { display:block; margin-top:4px; color:#d9e5e3; font:600 11px/1.3 system-ui; }
.nlxr-info-panel .nlxr-pathway-context p { margin:5px 0; color:#c5d2d0; font:400 11px/1.35 system-ui; }
.nlxr-info-panel .nlxr-pathway-context nav { margin:7px 0 0; gap:5px; }
.nlxr-info-panel .nlxr-pathway-context button { min-height:38px; font-size:10px; }
.nlxr-info-panel .nlxr-pathway-context button:first-child { border-color:#aaccc16b; }
@media(max-width:600px) { .nlxr-info-panel { grid-template-columns:78px minmax(0,1fr); gap:0 10px; padding-right:10px; height:min(43vh,430px); } .nlxr-info-panel .nlxr-control-tabs { padding:10px 5px; } .nlxr-info-panel .nlxr-control-tabs button { font-size:11px; padding:7px; } }

/* LIM selection feedback. The button footprint stays fixed while only the
   accent paint expands from its centre during deliberate activation. */
.tryit-live-welcome button[data-welcome-cell] {
    --lim-accent:#719b62; --lim-progress:0;
    position:absolute; overflow:visible; isolation:isolate;
    border-color:rgba(239,255,220,.62); transition:border-color .12s ease,box-shadow .12s ease;
}
.tryit-live-welcome button[data-welcome-cell]::before {
    content:''; position:absolute; z-index:-1; inset:2px; clip-path:inherit;
    background:var(--lim-accent); opacity:.7; transform:scale(var(--lim-progress)); transform-origin:center;
    transition:transform .08s linear; pointer-events:none;
}
.tryit-live-welcome button[data-welcome-cell]::after {
    content:''; position:absolute; z-index:2; right:8px; top:5px; width:7px; height:7px;
    border:1px solid rgba(255,255,255,.8); border-radius:50%; background:rgba(255,255,255,.18);
    opacity:0; pointer-events:none;
}
.tryit-live-welcome button[data-welcome-cell].is-lim-holding {
    border-color:var(--lim-accent) !important; box-shadow:0 0 0 3px rgba(255,255,255,.2),0 0 18px rgba(255,255,255,.22); box-shadow:0 0 0 3px color-mix(in srgb,var(--lim-accent) 38%,transparent),0 0 18px color-mix(in srgb,var(--lim-accent) 45%,transparent);
}
.tryit-live-welcome button[data-welcome-cell].is-lim-selected {
    border:2px solid var(--lim-accent) !important; box-shadow:0 0 0 3px rgba(255,255,255,.28),0 0 20px rgba(255,255,255,.22); box-shadow:0 0 0 3px rgba(255,255,255,.28),0 0 20px color-mix(in srgb,var(--lim-accent) 42%,transparent);
}
.tryit-live-welcome button[data-welcome-cell].is-lim-selected::after { opacity:1; }
.tryit-live-welcome button[data-welcome-cell]:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
    .tryit-live-welcome button[data-welcome-cell]::before { transition:none; }
    .tryit-live-welcome button[data-welcome-cell] { transition:none; }
}

/* Tutorial navigation remains at the bottom of the Control panel. These are
   action buttons; the vertical items on the left remain menu tabs. */
.nlxr-info-panel .nlxr-control-actions button,
.nlxr-info-panel .nlxr-control-utilities button,
.nlxr-info-panel .nlxr-pathway-context button {
    min-height:44px;
    border:1px solid rgba(201,218,218,.34);
    border-radius:4px;
    background:linear-gradient(180deg,rgba(90,105,107,.34),rgba(37,46,51,.66));
    box-shadow:inset 0 1px rgba(255,255,255,.09),0 3px 8px rgba(0,0,0,.18);
    font-weight:650;
}
.nlxr-info-panel .nlxr-control-actions button:hover,
.nlxr-info-panel .nlxr-control-actions button:focus-visible,
.nlxr-info-panel .nlxr-control-utilities button:hover,
.nlxr-info-panel .nlxr-control-utilities button:focus-visible,
.nlxr-info-panel .nlxr-pathway-context button:hover,
.nlxr-info-panel .nlxr-pathway-context button:focus-visible {
    border-color:rgba(220,239,210,.72);
    background:linear-gradient(180deg,rgba(105,126,119,.56),rgba(43,59,55,.82));
    outline:2px solid rgba(220,239,149,.24);
    outline-offset:2px;
}
.nlxr-info-panel .nlxr-control-utilities .is-primary-action,
.nlxr-info-panel .nlxr-control-actions .is-primary-action {
    grid-column:1 / -1;
    order:99;
    color:#16281d;
    border-color:rgba(231,247,206,.9);
    background:linear-gradient(180deg,#dcefae,#a8cd8f);
    box-shadow:inset 0 1px rgba(255,255,255,.72),0 4px 12px rgba(9,27,18,.28);
}

/* The existing companion panel receives a quiet LIM accent without changing
   its geometry, tabs, controls or plant PIM styling. */
.nlxr-info-panel[data-content-kind="lim"] .nlxr-control-header {
    border-bottom-color:var(--lim-accent);
    box-shadow:inset 3px 0 var(--lim-accent);
    padding-left:10px;
}
.nlxr-info-panel[data-content-kind="lim"] .nlxr-control-tabs [role="tab"][aria-selected="true"] {
    border-left-color:var(--lim-accent);
}

/* Match the shared spatial canvas; isolate old marker typography from cells. */
:is(.tryit-sim-plant-profile,.creator-ar-plant-profile):not(.is-spatial-pim-hit-layer) .plant-knowledge-map[data-pim-layout="honeycomb"] :is(.plant-knowledge-cell,.plant-knowledge-core) { display:grid; place-items:center; align-content:normal; grid-template-rows:minmax(0,1fr); padding:0; }
:is(.tryit-sim-plant-profile,.creator-ar-plant-profile) .plant-knowledge-map[data-pim-layout="honeycomb"] :is(.plant-knowledge-cell-copy,.plant-knowledge-core-copy) { display:flex; flex-direction:column; align-items:center; justify-content:center; width:74%; max-width:74%; height:78%; max-height:78%; padding:0; gap:5px; }
:is(.tryit-sim-plant-profile,.creator-ar-plant-profile) .plant-knowledge-map[data-pim-layout="honeycomb"] :is(.plant-knowledge-cell-copy b,.plant-knowledge-cell-copy small,.plant-knowledge-core-copy strong) { position:static; transform:none; width:100%; max-width:100%; margin:0; overflow-wrap:normal; word-break:normal; white-space:normal; }
:is(.tryit-sim-plant-profile,.creator-ar-plant-profile) .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell-copy b { font-size:clamp(10px,calc(var(--pim-text-cell-size) * .13),17px); line-height:1.15; }
:is(.tryit-sim-plant-profile,.creator-ar-plant-profile) .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell-copy small { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:clamp(8px,calc(var(--pim-text-cell-size) * .085),11px); line-height:1.15; max-height:2.3em; opacity:.8; }
:is(.tryit-sim-plant-profile,.creator-ar-plant-profile) .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell::before { background:hsla(var(--pim-hue),40%,79%,.75); clip-path:polygon(evenodd,25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%,25% 0,26% 2%,2% 50%,26% 98%,74% 98%,98% 50%,74% 2%,26% 2%); }
:is(.tryit-sim-plant-profile,.creator-ar-plant-profile) .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell::after { background:hsla(var(--pim-hue),31%,19%,.22); }
:is(.tryit-sim-plant-profile,.creator-ar-plant-profile) .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell:is(.is-open,.is-selected)::after { background:hsla(var(--pim-hue),31%,19%,.42); }

/* Living knowledge: a readable rim plus slow circulating light. */
.nlxr-orb-crown{width:76px;height:76px;border:1.5px solid #e4f0d9;border-radius:50%;box-shadow:0 0 0 1px #17382d99,inset 0 0 9px #d6edcc26;animation:nlxr-orbit-breathe 7s ease-in-out infinite}
.nlxr-orb-crown i{display:none}
.nlxr-orb-crown::before{content:"";position:absolute;inset:-7px;border-radius:50%;background:conic-gradient(from 0deg,#ecf6df 0deg 62deg,transparent 66deg 120deg,#ecf6df 120deg 182deg,transparent 186deg 240deg,#ecf6df 240deg 302deg,transparent 306deg);mask:radial-gradient(transparent 65%,#000 67% 72%,transparent 74%);animation:nlxr-orbit-flow 24s linear infinite}
[data-knowledge-state="expanded"] .nlxr-orb-crown{width:82px;height:82px;box-shadow:0 0 0 1px #17382d99,0 0 15px #d6edcc35}
@keyframes nlxr-orbit-flow{to{rotate:360deg}}
@keyframes nlxr-orbit-breathe{50%{scale:1.035}}
.nlxr-totem-system .tryit-sim-totem-pillar{border-radius:12px 12px 9px 9px;background:linear-gradient(90deg,#354b40,#82927b 20%,#9aa68a 36%,#667b64 77%,#354b40);box-shadow:inset 1px 0 #e6efce80,inset -2px 0 #163b3555,0 16px 24px #172e2440}
.nlxr-totem-system .tryit-sim-totem-pillar::before{background:linear-gradient(180deg,#edf4d5,#bbd9b4 40%,#688166);box-shadow:0 2px 0 #243f35,0 3px 7px #d1e9c033}
@media(prefers-reduced-motion:reduce){.nlxr-orb-crown,.nlxr-orb-crown::before{animation:none}}
