/* V2 presentation layer. Spatial transforms, data contracts and project themes remain owned by their existing modules. */
:root { --v2-ink:#253f32; --v2-muted:#586b5c; --v2-paper:#f6f5ed; --v2-surface:#fffef8; --v2-line:#d4dece; --v2-leaf:#355e45; --v2-soft:#e6eddf; --v2-radius:22px; }
body { background:var(--v2-paper); }
#app .screen { color:var(--v2-ink); }
#app .screen.v2-unified,#app .screen.v2-screen { max-width:1180px; margin:0 auto; padding:24px 30px 72px; background:var(--v2-paper); border:0; border-radius:0; box-shadow:none; min-height:100svh; }
#app .v2-masthead { display:flex; align-items:center; gap:24px; padding:0 0 22px; margin-bottom:32px; border-bottom:1px solid var(--v2-line); }
#app .v2-masthead > span { margin-left:auto; color:var(--v2-muted); font-size:12px; }
#app .v2-wordmark { font-size:23px; font-weight:700; letter-spacing:-1px; padding:0; border:0; background:none; box-shadow:none; color:var(--v2-ink); }
#app .v2-wordmark span { font-size:11px; vertical-align:super; letter-spacing:1px; margin-left:5px; }
#app .v2-masthead > button:last-child { background:transparent; border:1px solid var(--v2-line); padding:10px 14px; border-radius:99px; font-size:12px; }
#app :is(.v2-unified,.v2-screen) :is(button,input,select,textarea) { font:inherit; }
#app :is(.v2-unified,.v2-screen) button { cursor:pointer; min-height:44px; }
#app :is(.v2-unified,.v2-screen) button:disabled { cursor:default; opacity:.55; }
#app :is(.v2-unified,.v2-screen) :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #966b32; outline-offset:4px; }
#app .v2-screen h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(36px,5vw,65px); line-height:1.06; letter-spacing:-1.5px; margin:12px 0 20px; text-transform:none; color:var(--v2-ink); }
#app .v2-screen h2 { font-size:23px; line-height:1.3; letter-spacing:-.5px; text-transform:none; color:var(--v2-ink); }
#app .v2-screen p { line-height:1.65; max-width:65ch; }
.v2-eyebrow { text-transform:uppercase; letter-spacing:2px; font-size:11px; font-weight:650; color:var(--v2-muted); }
.v2-lead { font-size:17px; color:var(--v2-muted); }
.v2-hero { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:48px; padding:24px 0 48px; }
.v2-botanical { width:100%; max-height:430px; }
.v2-actions { display:flex; gap:12px; flex-wrap:wrap; margin:24px 0; }
#app .v2-primary,#app .v2-secondary { border-radius:99px; padding:13px 24px; background:var(--v2-leaf); color:#fffef8; border:1px solid var(--v2-leaf); font-weight:600; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
#app .v2-secondary { background:var(--v2-surface); color:var(--v2-ink); border-color:var(--v2-line); }
.v2-intro-grid,.v2-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.v2-intro-grid article { padding:24px 0; border-top:1px solid var(--v2-line); }
.v2-intro-grid small { color:var(--v2-muted); }
.v2-intro-grid p { color:var(--v2-muted); font-size:14px; }
.v2-intro-sequence{display:grid;grid-template-areas:"step";min-height:132px;border-top:1px solid var(--v2-line);overflow:hidden}
.v2-intro-sequence article{grid-area:step;align-self:start;padding:24px 0;opacity:0;transform:translateY(9px);pointer-events:none;transition:opacity .8s ease,transform .8s ease}
.v2-intro-sequence article.is-active{opacity:1;transform:translateY(0);pointer-events:auto}
.v2-intro-sequence small{color:var(--v2-muted)}
.v2-intro-sequence h2{margin:7px 0 8px}
.v2-intro-sequence p{max-width:620px;margin:0;color:var(--v2-muted);font-size:14px}
#app .v2-card { display:flex; flex-direction:column; align-items:start; text-align:left; padding:25px; background:var(--v2-surface); border:1px solid var(--v2-line); border-radius:var(--v2-radius); color:var(--v2-ink); gap:10px; box-shadow:none; overflow:hidden; transition:border-color .22s ease,background .22s ease; }
#app .v2-card:hover { border-color:#8da785; background:#edf1e5; }
.v2-card strong { font-size:21px; line-height:1.3; font-weight:550; }
.v2-card small { color:var(--v2-muted); line-height:1.6; }
.v2-card em { font-size:14px; }
.v2-card-image { height:150px; width:100%; object-fit:cover; border-radius:12px; }
.v2-card-glyph { width:48px; height:48px; border-radius:50% 50% 50% 5%; display:grid; place-items:center; background:#e5ebd9; font-size:23px; color:#54784b; }
.v2-place-nav { display:flex; gap:6px; padding:6px; background:#e7ecdf; border-radius:99px; width:max-content; max-width:100%; margin:24px 0; }
#app .v2-place-nav button { background:transparent; color:var(--v2-ink); border:0; border-radius:99px; padding:10px 25px; }
#app .v2-place-nav button[aria-current] { background:var(--v2-surface); box-shadow:0 2px 6px #23392110; }
.v2-context { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:22px; }
#app .v2-context button { border:0; background:none; padding:4px 0; color:var(--v2-muted); font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.v2-context span { color:var(--v2-muted); font-size:13px; }
.v2-search { display:grid; grid-template-columns:minmax(0,1fr) minmax(130px,.4fr) minmax(130px,.4fr); gap:12px; margin:24px 0 12px; }
.v2-search label { display:grid; gap:8px; font-size:12px; color:var(--v2-muted); }
#app .v2-search :is(input,select) { width:100%; min-width:0; border:1px solid var(--v2-line); background:var(--v2-surface); padding:14px; border-radius:12px; color:var(--v2-ink); }
.v2-result-count { font-size:13px; color:var(--v2-muted); margin:16px 0; }
.v2-notice { padding:20px 24px; border-left:3px solid #98ae7f; background:#e9eedf; border-radius:0 16px 16px 0; line-height:1.65; margin:20px 0; }
.v2-empty { padding:44px 24px; border:1px dashed #b5c4ad; border-radius:22px; text-align:center; }
.v2-empty p { margin-inline:auto; }
.v2-profile-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,.4fr); gap:24px; align-items:center; }
.v2-profile-intro img { width:100%; max-height:270px; object-fit:cover; border-radius:22px; }
.v2-profile-context { padding:18px 22px; border:1px solid var(--v2-line); background:var(--v2-surface); border-radius:18px; margin:20px 0; }
.v2-profile-context p { margin:6px 0; font-size:14px; }
.v2-profile .pim-web-identity-wrap { display:none; }
.v2-profile .pim-web { margin-top:20px; }
.v2-profile .pim-web > header h1 { font-family:inherit!important; font-size:24px!important; letter-spacing:0!important; }
.v2-reading-label { font-size:13px; color:var(--v2-muted); }
.v2-map-board { position:relative; min-height:290px; background:#e8edde; border:1px solid var(--v2-line); border-radius:22px; padding:30px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px; }
.v2-map-board .v2-card { min-width:150px; }
.v2-map-image { width:100%; max-height:550px; object-fit:contain; background:var(--v2-surface); border-radius:20px; }
.v2-place-entry .v2-place-nav { margin-bottom:30px; }
.v2-place-welcome-board { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.78fr); gap:22px; align-items:stretch; padding:clamp(24px,4vw,48px); border:1px solid var(--v2-line); border-radius:32px; background:linear-gradient(138deg,#fffef8 0 57%,#e7edde 100%); box-shadow:0 20px 58px #2a423019; overflow:hidden; }
.v2-place-welcome-intro { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
#app .v2-place-welcome-intro h1 { max-width:13ch; margin-bottom:18px; }
.v2-place-welcome-intro .v2-lead { max-width:620px; line-height:1.72; }
.v2-place-state { display:inline-flex; align-items:center; gap:8px; margin:18px 0 0; padding:8px 13px; border:1px solid #c7d5c1; border-radius:99px; background:#f5f7ef; color:var(--v2-muted); font-size:12px; }
.v2-place-state span { width:9px; height:9px; border-radius:50%; background:#829278; box-shadow:0 0 0 4px #82927820; }
.v2-place-state.is-ready span { background:#3f7651; box-shadow:0 0 0 4px #3f765122; }
.v2-place-state.is-demo span { background:#ac7d42; box-shadow:0 0 0 4px #ac7d4224; }
.v2-place-state strong { color:var(--v2-ink); font-weight:650; }
.v2-place-welcome-cover { width:100%; max-height:210px; margin-top:24px; border-radius:18px; object-fit:cover; }
.v2-place-entry-marker { display:grid; grid-template-columns:132px minmax(0,1fr); gap:22px; align-items:center; align-self:center; min-width:0; padding:24px; border:1px solid #becdb8; border-radius:25px; background:#f7f8eff2; box-shadow:0 14px 35px #213c2920; }
.v2-place-entry-marker > div { min-width:0; }
.v2-place-entry-marker h2 { margin:5px 0 9px; }
.v2-place-entry-marker p:not(.v2-eyebrow) { margin:0 0 10px; color:var(--v2-muted); font-size:14px; line-height:1.6; }
.v2-place-entry-marker small { display:block; margin-bottom:16px; color:var(--v2-muted); line-height:1.5; }
.v2-place-entry-code { width:132px; padding:8px; box-sizing:border-box; border:1px solid #cbd3c4; border-radius:14px; background:#fff; }
.v2-place-entry-code svg { display:block; width:100%; height:auto; }
.v2-place-entry-placeholder { display:grid; place-items:center; width:132px; aspect-ratio:1; border:1px dashed #9caf97; border-radius:22px; background:repeating-linear-gradient(45deg,#eef2e7,#eef2e7 8px,#e5ebdc 8px,#e5ebdc 16px); }
.v2-place-entry-placeholder span { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:#fffef8; color:#547057; font-size:34px; }
.v2-place-teaser { padding:52px 0 18px; }
.v2-place-teaser > header { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:22px; }
.v2-place-teaser > header h2 { margin:6px 0; }
.v2-place-teaser > header p { margin:0; color:var(--v2-muted); }
.v2-place-teaser dl { display:flex; gap:24px; margin:0; }
.v2-place-teaser dl div { min-width:72px; padding-left:14px; border-left:1px solid var(--v2-line); }
.v2-place-teaser dt { color:var(--v2-muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.v2-place-teaser dd { margin:5px 0 0; color:var(--v2-ink); font:400 25px/1 Georgia,serif; }
.v2-place-area-list { display:flex; gap:9px; margin:0 0 22px; padding:2px 0; overflow-x:auto; scrollbar-width:thin; }
#app .v2-place-area-teaser { display:flex; gap:10px; align-items:center; flex:0 0 auto; min-height:44px; padding:9px 14px; border:1px solid var(--v2-line); border-radius:99px; background:var(--v2-surface); color:var(--v2-ink); }
.v2-place-area-teaser span { font-weight:650; }
.v2-place-area-teaser small { color:var(--v2-muted); }
.v2-place-teaser > .v2-actions { margin-top:22px; }
.v2-status { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--v2-muted); }
.v2-status:before { content:''; width:8px; height:8px; border-radius:50%; background:#7f966c; }
.v2-ar-steps { padding:20px 0; display:grid; gap:18px; counter-reset:steps; }
.v2-ar-steps li { list-style:none; display:flex; gap:14px; align-items:start; line-height:1.6; }
.v2-ar-steps li:before { counter-increment:steps; content:counter(steps); border:1px solid var(--v2-line); border-radius:50%; min-width:30px; height:30px; display:grid; place-items:center; }
#app .v2-unified .page-header { background:none; box-shadow:none; border:0; padding:0 0 24px; border-radius:0; }
#app .v2-unified .page-header h1 { font-size:clamp(28px,4vw,45px); letter-spacing:-1px; line-height:1.2; }
#app .v2-unified :is(.panel,.nlxr-db-v2-card,.field-guide-plant-search,.field-guide-areas-board,.field-guide-creation-board,.field-guide-spatial-setup,.field-guide-creative-tools,.setting-row) { background:var(--v2-surface); border-color:var(--v2-line); box-shadow:none; border-radius:18px; }
#app .v2-unified .nlxr-db-v2-header { background:none; border:0; box-shadow:none; }
#app .v2-unified .nlxr-db-v2-ar-strip { margin:18px 0; }
#app .v2-unified .nlxr-db-v2-ar-button { background:#e3ebd8; color:var(--v2-ink); border:1px solid var(--v2-line); box-shadow:none; border-radius:18px; }
#app .v2-unified .nlxr-db-v2-mode-nav { background:#e7ecdf; border:0; border-radius:99px; padding:6px; }
#app .v2-unified .nlxr-db-v2-mode-nav button { color:var(--v2-ink); border-radius:99px; }
#app .v2-unified .nlxr-db-v2-mode-nav button.is-active { background:var(--v2-surface); box-shadow:none; }
#app .v2-unified .nlxr-db-v2-eyebrow { color:var(--v2-muted); }
#app .v2-unified .project-selection-row { border:1px solid var(--v2-line); border-radius:18px; background:var(--v2-surface); box-shadow:none; }
#app .v2-unified .field-guide-global-match-legend { display:none; }
.v2-source-mode { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0; }
.v2-source-mode button { border:1px solid var(--v2-line); border-radius:99px; background:var(--v2-surface); padding:10px 18px; color:var(--v2-ink); }
.v2-source-mode button[aria-pressed="true"] { background:var(--v2-leaf); color:white; }
.v2-review-path { padding:18px; background:#eef1e5; border-radius:16px; margin:18px 0; font-size:13px; line-height:1.7; }
.v2-visitor-ar { position:fixed; inset:0; z-index:9100; pointer-events:none; color:#fff; font-family:inherit; }
.v2-visitor-ar button { pointer-events:auto; min-height:48px; background:#f5f6ec; color:#26432f; border:1px solid #b9cbb0; border-radius:99px; padding:12px 18px; font:inherit; }
.v2-visitor-ar-status { position:absolute; top:max(16px,env(safe-area-inset-top)); left:16px; right:16px; margin:auto; max-width:600px; padding:12px 18px; background:#203c30e8; border-radius:18px; font-size:13px; }
.v2-visitor-ar-dock { position:absolute; bottom:max(18px,env(safe-area-inset-bottom)); left:12px; right:12px; display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.v2-visitor-ar-selection { position:absolute; bottom:92px; left:16px; right:16px; max-width:560px; margin:auto; padding:20px; background:#fcfcf0f5; color:#26432f; border-radius:22px; pointer-events:auto; }
.v2-visitor-ar-selection h2 { font-size:24px; margin:0 0 8px; }
.v2-visitor-ar-selection p { line-height:1.5; }
.v2-visitor-ar-selection[hidden] { display:none; }
.creator-ar-control-dock[data-ar-taskbar-version="2"] { --v2-ar-surface:#edf1e5; }
body:not([data-nxr-headset="quest"]) .creator-ar-taskbar { border-radius:22px!important; }
.creator-ar-taskbar button:focus-visible { outline:3px solid #e5c480; outline-offset:3px; }
@media(max-width:700px) {
 #app .screen.v2-unified,#app .screen.v2-screen { padding:16px 18px 48px; }
 #app .v2-masthead { gap:10px; margin-bottom:22px; padding-bottom:16px; }
 #app .v2-masthead > span { display:none; }
 #app .v2-masthead > button:last-child { margin-left:auto; }
 .v2-hero { grid-template-columns:1fr; gap:0; padding:12px 0 28px; position:relative; }
 .v2-hero > .v2-botanical { position:absolute; width:130px; right:0; top:-8px; opacity:.32; pointer-events:none; }
 .v2-hero > div { position:relative; z-index:1; }
 .v2-hero h1 { max-width:10ch; }
 .v2-intro-grid,.v2-grid { grid-template-columns:1fr; gap:12px; }
 .v2-intro-grid article { padding:14px 0; }
 .v2-intro-grid h2 { margin:4px 0; }
 .v2-search { grid-template-columns:1fr 1fr; }
 .v2-search label:first-child { grid-column:1/-1; }
 #app .v2-place-nav { display:flex; width:100%; box-sizing:border-box; position:sticky; top:8px; z-index:5; box-shadow:0 4px 15px #24422b14; }
 #app .v2-place-nav button { flex:1; padding:10px; }
 .v2-profile-intro { grid-template-columns:1fr; }
 .v2-profile-intro img { max-height:200px; }
 .v2-lead { font-size:16px; }
 #app .v2-screen h1 { font-size:41px; }
 #app .v2-unified .nlxr-db-v2-mode-nav { overflow-x:auto; }
 .v2-map-board { padding:18px; }
 .v2-place-entry .v2-place-nav { margin-bottom:18px; }
 .v2-place-welcome-board { grid-template-columns:1fr; gap:18px; padding:22px; border-radius:24px; }
 #app .v2-place-welcome-intro h1 { max-width:none; font-size:clamp(36px,11vw,50px); }
 .v2-place-entry-marker { grid-template-columns:104px minmax(0,1fr); gap:16px; padding:17px; border-radius:20px; }
 .v2-place-entry-code,.v2-place-entry-placeholder { width:104px; }
 .v2-place-entry-marker .v2-primary,.v2-place-entry-marker .v2-secondary { width:100%; padding-inline:12px!important; }
 .v2-place-teaser { padding-top:36px; }
 .v2-place-teaser > header { display:block; }
 .v2-place-teaser dl { margin-top:20px; gap:12px; }
 .v2-place-teaser dl div { flex:1; min-width:0; padding-left:10px; }
 .v2-place-teaser dt { font-size:8px; }
 .v2-place-teaser dd { font-size:22px; }
}
@media(max-width:420px) {
 .v2-place-entry-marker { grid-template-columns:88px minmax(0,1fr); gap:13px; padding:14px; }
 .v2-place-entry-code,.v2-place-entry-placeholder { width:88px; }
 .v2-place-entry-marker h2 { font-size:19px!important; }
 .v2-place-entry-marker p:not(.v2-eyebrow) { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .v2-screen *, .v2-unified *, .v2-visitor-ar * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media(prefers-reduced-motion:reduce){.v2-intro-sequence article{transform:none;transition:none!important}}
@media print { .v2-masthead,.v2-place-nav,.v2-actions,.v2-context,.v2-search { display:none!important; } }

body.visitor-ar-active { background:transparent!important; }
body.visitor-ar-active #app { visibility:hidden; }

#app :is(.v2-screen,.v2-unified) [hidden] { display:none!important; }
.v2-profile .pim-web-identity { padding:0; margin:0; background:none; border:0; }
.v2-profile .pim-web-progress { display:none; }
#app .v2-profile .pim-web-heading h2 { font-size:25px; margin:0; }
#app .v2-review-path button { padding:10px 18px; border:1px solid #b8c9ae; background:#fffef8; color:#31523b; border-radius:22px; }
#app .v2-unified .nlxr-db-v2-mode-nav { display:flex; }
#app .v2-unified .nlxr-db-v2-mode-nav button { flex:1; min-width:0; }

#app .v2-screen { display:block; }
#app .v2-screen .v2-context { margin-bottom:8px; }
#app .v2-screen .v2-place-nav { margin-top:14px; }

/* Creator AR: one reach zone, contextual actions, and a readable PIM workspace. */
.creator-ar-control-dock:has([data-creator-controls="3"]) {width:min(calc(100vw - 24px),520px);gap:8px;}
.creator-ar-control-dock [hidden] {display:none!important;}
.creator-ar-control-dock:has([data-creator-controls="3"]) :is(.creator-ar-action-palette,.creator-ar-knowledge-context,.creator-ar-placement-actions) {pointer-events:auto;box-sizing:border-box;padding:12px;background:#f3f4eafa;color:#294534;border:1px solid #bbcbbb;border-radius:18px;max-height:36dvh;overflow:auto;font:15px/1.4 system-ui,sans-serif;box-shadow:0 8px 24px #19342320;}
.creator-ar-action-palette {display:flex;gap:8px;flex-wrap:wrap;}
.creator-ar-knowledge-context>span {display:block;font-weight:650;margin-bottom:8px;}
.creator-ar-knowledge-context>div,.creator-ar-placement-actions {display:flex;gap:8px;flex-wrap:wrap;}
.creator-ar-placement-actions>span {flex-basis:100%;}
.creator-ar-control-dock:has([data-creator-controls="3"]) :is(button,body[data-project-theme] button) {min-height:48px;padding:10px 12px;border:1px solid #bbccba;border-radius:12px;background:#fcfcf4!important;color:#294534;font:600 14px/1.2 system-ui,sans-serif;text-transform:none;letter-spacing:0;box-shadow:none;transform:none;filter:none;cursor:pointer;}
.creator-ar-control-dock:has([data-creator-controls="3"]) button:disabled {opacity:.5;cursor:default;}
.creator-ar-control-dock:has([data-creator-controls="3"]) button:focus-visible {outline:3px solid #ad7841;outline-offset:2px;}
.creator-ar-control-dock:has([data-creator-controls="3"]) button:is(.is-active,[aria-expanded="true"]) {background:#d8e6cd!important;border-color:#5e7956;color:#263e30;outline:none;}
.creator-ar-control-dock:has([data-creator-controls="3"]) button:focus-visible {outline:3px solid #ad7841;}
.creator-ar-control-dock svg {width:22px;height:22px;flex-shrink:0;}
.creator-ar-action-palette button {display:flex;align-items:center;gap:8px;flex:1;}
body:not(.creator-ar-quest-headset) .creator-ar-taskbar[data-creator-controls="3"] {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;overflow:visible;background:#edf1e8fa;border:1px solid #b7cbb4;box-shadow:0 8px 22px #14291a30;backdrop-filter:none;}
body:not(.creator-ar-quest-headset) .creator-ar-taskbar[data-creator-controls="3"]>button {display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 3px;min-width:0;border:0;background:transparent!important;}
.creator-ar-overlay.has-creator-knowledge .creator-ar-control-dock,.creator-ar-overlay.has-creator-knowledge .creator-ar-marker-layer {visibility:hidden;pointer-events:none;}
.creator-ar-knowledge-workspace {position:fixed;z-index:40;inset:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));box-sizing:border-box;width:min(calc(100vw - 24px),820px);margin-inline:auto;overflow:auto;overscroll-behavior:contain;pointer-events:auto;background:#f7f7ed;color:#294534;border:1px solid #b7cbb4;border-radius:22px;padding:20px;font:16px/1.5 system-ui,sans-serif;box-shadow:0 16px 44px #12221840;}
.creator-ar-knowledge-header {display:flex;gap:12px;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #d5dfce;padding-bottom:14px;}
.creator-ar-knowledge-header h2 {font:500 30px/1.1 Georgia,serif;margin:6px 0;}
.creator-ar-knowledge-header p {font-size:13px;margin:0;color:#536953;overflow-wrap:anywhere;}
.creator-ar-knowledge-header small {font-size:10px;letter-spacing:.1em;}
.creator-ar-knowledge-workspace :is(button,input,select,textarea,summary) {font:inherit;}
.creator-ar-knowledge-workspace :is(button,input,select,summary) {min-height:48px;}
.creator-ar-knowledge-workspace button {padding:10px 14px;border:1px solid #b7cbb4;background:#fffef7!important;color:#294534;border-radius:12px;cursor:pointer;}
.creator-ar-knowledge-workspace :is(button,input,select,textarea,summary):focus-visible {outline:3px solid #a27642;outline-offset:2px;}
.creator-ar-knowledge-workspace .plant-information-web {margin:0;padding:0;border:0;background:transparent;box-shadow:none;}
.creator-ar-knowledge-workspace .pim-web-topline,.creator-ar-knowledge-workspace .pim-web-progress,.creator-ar-knowledge-workspace .v2-review-path {display:none;}
.creator-ar-knowledge-workspace .pim-web-detail {position:static!important;width:auto!important;max-height:none!important;overflow:visible!important;}
.creator-ar-knowledge-workspace .pim-web-detail-backdrop {position:static!important;}
.creator-ar-knowledge-workspace .pim-web-editor {scroll-margin:20px;}
.creator-ar-knowledge-workspace[data-spatial-dashboard-mirror-source] {inset:auto!important;border-radius:0;max-height:none!important;}
.creator-ar-knowledge-message:empty {display:none;}
@media(max-width:400px) { .creator-ar-knowledge-workspace {padding:14px;} .creator-ar-knowledge-header {flex-wrap:wrap;} .creator-ar-knowledge-header>button {width:100%;} .creator-ar-knowledge-context>div>button {flex:1;font-size:12px;} }
@media(prefers-reduced-motion:reduce) { .creator-ar-control-dock *, .creator-ar-knowledge-workspace * {animation:none!important;transition:none!important;transform:none;} }

.creator-ar-knowledge-nav {display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.creator-ar-knowledge-workspace .pim-web {padding:12px 0;border:0;background:transparent;box-shadow:none;}
.creator-ar-knowledge-workspace .pim-web:has(>.pim-web-detail)>:not(.pim-web-detail):not(.pim-web-editor) {display:none;}
.creator-ar-knowledge-workspace .pim-web:has(>.pim-web-editor)>:not(.pim-web-editor) {display:none;}
.creator-ar-knowledge-workspace :is(.pim-web-detail,.pim-web-editor) {position:static!important;width:auto!important;max-height:none!important;overflow:visible!important;transform:none!important;margin:0;box-shadow:none;}
.creator-ar-knowledge-workspace :is(.pim-web-detail-body,.pim-web-editor form) {max-height:none;overflow:visible;}
.creator-ar-knowledge-workspace .pim-web-detail>header,.creator-ar-knowledge-workspace .pim-web-editor form>header {position:static;}
.creator-ar-knowledge-workspace .pim-web-heading {flex-wrap:wrap;}

.creator-ar-knowledge-workspace button {color:#294534!important;}
.creator-ar-knowledge-workspace button[aria-pressed="true"] {background:#dbe7d0!important;}
.pim-spatial-read-all {z-index:5;min-height:28px;padding:4px 8px;background:#f3f5eb!important;color:#294534!important;border:1px solid #71876c;border-radius:8px;font:600 14px/1.2 system-ui,sans-serif;pointer-events:auto;}

.creator-ar-knowledge-workspace .pim-web-detail>footer,.creator-ar-knowledge-workspace .pim-web-editor form>footer {position:static;box-shadow:none;backdrop-filter:none;}

.creator-ar-knowledge-workspace .pim-web-detail-body {grid-template-columns:minmax(0,1fr);}
.creator-ar-knowledge-workspace .pim-web-detail-body>* {min-width:0;max-width:100%;overflow-wrap:anywhere;}
.creator-ar-knowledge-workspace .pim-web-editor:not(.is-awaiting-template) .pim-web-template-palette {display:none;}
.creator-ar-knowledge-workspace :is(input,select,textarea) {min-width:0;max-width:100%;box-sizing:border-box;}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell {background:transparent!important;color:#294534!important;border-color:hsl(var(--pim-hue) 25% 45%)!important;box-shadow:none!important;}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell::before {background:hsl(var(--pim-hue) 25% 55%);}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell::after {background:hsl(var(--pim-hue) 23% 91%);}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell:is(.is-open,.is-selected)::after {background:hsl(var(--pim-hue) 24% 82%);}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell :is(b,small) {color:#294534!important;text-shadow:none!important;}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-core {background:#d3dfc9!important;color:#294534!important;}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-core strong {color:#294534!important;text-shadow:none!important;}

.plant-knowledge-map[data-pim-palette="soft"] :is(.plant-knowledge-cell-copy,.plant-knowledge-core-copy) {width:74%;max-width:74%;}
.plant-knowledge-map[data-pim-palette="soft"] :is(.plant-knowledge-cell-copy b,.plant-knowledge-core-copy strong) {overflow-wrap:normal;word-break:normal;}

.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell {display:grid;padding:0;}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell-copy {height:auto;max-height:70%;}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell-copy b {position:static;transform:none;width:100%;max-width:100%;}
.plant-knowledge-map[data-pim-palette="soft"] .plant-knowledge-cell-copy small[aria-hidden="true"] {display:none;}

/* Living introduction and opt-in Live Notes share a quiet, readable cell vocabulary. */
.live-cells {max-width:480px;margin:auto;color:#304f40;}
.live-cell-path {display:flex;gap:12px;align-items:center;min-height:32px;font:600 11px/1.4 system-ui;letter-spacing:.08em;text-transform:uppercase;}
.live-cell-path button {background:transparent!important;color:#304f40!important;border:0;min-height:36px;}
.live-hex {display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;aspect-ratio:1.155;min-width:0;min-height:64px;padding:14% 14%;border:0!important;border-radius:0!important;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:hsl(var(--grove-hue,105) 26% 83%)!important;color:#304f40!important;font:500 clamp(12px,1vw,15px)/1.3 system-ui;text-align:center;cursor:pointer;transition:background 700ms,filter 700ms;white-space:normal;overflow-wrap:normal;}
.live-hex:hover {filter:brightness(1.05);}
.live-hex:focus-visible {outline:0;box-shadow:inset 0 0 0 5px #446745;filter:brightness(1.07);}
.live-root {width:44%;max-width:154px;margin:8px auto 12px;background:#bfd1b4!important;font-weight:650;}
.live-cell-branches {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:relative;}
.live-cell-branches:before {content:'';position:absolute;left:16%;right:16%;top:-9px;height:1px;background:#9eaf91;}
.live-cell-reading {margin-top:16px;min-height:68px;font:400 13px/1.65 system-ui;color:#586a54;}
.live-cell-reading p {margin:0;}
.live-cell-reading a {display:inline-block;margin-top:8px;color:#355443;text-decoration:underline;}
.live-cell-reading.is-emphasized {background:#f6f7ef;border-radius:12px;padding:12px;}
.is-automatic .live-root {animation:living-arrive 4s 6s both;}
.is-automatic .live-cell-branches>.live-hex {animation:living-arrive 3.5s calc(9s + var(--cell-order)*1.4s) both;}
.is-automatic .live-cell-path,.is-automatic .live-cell-reading {animation:living-arrive 4s 6s both;}
.is-automatic:focus-within * {animation:none!important;}
.live-note-workspace>header {margin-bottom:20px;}
.live-note-workspace>header>button {min-height:44px;padding:10px 18px;}
.live-note-workspace .live-cells {max-width:540px;}
@keyframes living-arrive {from {opacity:0;transform:translateY(10px);}to {opacity:1;transform:translateY(0);}}
@media(prefers-reduced-motion:reduce) {.living-introduction *, .live-note-workspace * {animation:none!important;transition:none!important;}}

.is-automatic .live-cell-branches:before {animation:living-arrive 3s 9s both;}

.is-unfolding .live-cell-branches>.live-hex {animation:living-arrive 3s calc(var(--cell-order)*1.2s) both;}
.is-unfolding:focus-within * {animation:none!important;}
@media(prefers-reduced-motion:reduce) {.is-unfolding * {animation:none!important;}}

.demo-knowledge-workspace {z-index:12010;}
/* Showcase occupies the actual welcome-board surface; immersive mode uses its WebGL texture. */
@media(prefers-reduced-motion:reduce){.live-note-workspace *{animation:none!important;transition:none!important;}}

/* Four project destinations, with explicit typography independent of page headings. */
#app .nlxr-db-v2 .nlxr-db-v2-mode-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;max-width:720px;box-sizing:border-box;}
#app .nlxr-db-v2 .nlxr-db-v2-mode-nav>button {display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;width:100%;min-height:48px;height:auto;padding:12px 10px;box-sizing:border-box;font:600 14px/1.35 system-ui,sans-serif;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere;text-align:center;}
#app .nlxr-db-v2 .nlxr-db-v2-mode-nav>button>span {flex:0 0 auto;font-size:14px;line-height:1;}
@media(max-width:520px){#app .nlxr-db-v2 .nlxr-db-v2-mode-nav {grid-template-columns:repeat(3,minmax(0,1fr));}}

@media(max-width:520px){#app .nlxr-db-v2 .nlxr-db-v2-mode-nav>button {padding:10px 3px;white-space:nowrap;overflow-wrap:normal;}#app .nlxr-db-v2 .nlxr-db-v2-mode-nav>button>span {display:none;}}

/* One welcome canvas survives narration and placement; only cells accept input. */
.tryit-live-welcome {position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(96vw,1100px,calc((100dvh - 150px)*2500/2100));aspect-ratio:2500/2100;z-index:12006;pointer-events:none;}
.tryit-live-welcome canvas {display:block;width:100%;height:100%;pointer-events:none;}
.tryit-live-welcome button[data-welcome-cell] {position:absolute;transform:translate(-50%,-50%);min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;clip-path:polygon(0 50%,25% 7%,75% 7%,100% 50%,75% 93%,25% 93%);pointer-events:auto;cursor:pointer;}
.tryit-live-welcome button[data-welcome-cell]:focus-visible {background:rgba(239,255,216,.24)!important;outline:3px solid #e8ffd0;outline-offset:-5px;}
.tryit-live-welcome button[hidden] {display:none;}
.tryit-demo .tryit-guided-choice.is-live-welcome-copy {position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;pointer-events:none!important;}
.tryit-demo.is-immersive .tryit-live-welcome {display:none;}

/* Topic detail is a quiet side note in AR: the world and PIM stay visible. */
.creator-ar-knowledge-workspace.is-ar-pim-side-note,
.demo-knowledge-workspace.is-ar-pim-side-note {left:24px;right:auto;top:50%;bottom:auto;width:min(52vw,520px);max-height:70vh;transform:translateY(-50%);animation:ar-pim-side-note-in .42s ease-out both;}
.creator-ar-knowledge-workspace.is-ar-pim-side-note[data-spatial-dashboard-mirror-source],
.demo-knowledge-workspace.is-ar-pim-side-note[data-spatial-dashboard-mirror-source] {left:0!important;top:0!important;width:min(100%,720px)!important;max-height:none!important;transform:none!important;}
@keyframes ar-pim-side-note-in {from{opacity:0;transform:translate(-12px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@media(prefers-reduced-motion:reduce){.creator-ar-knowledge-workspace.is-ar-pim-side-note,.demo-knowledge-workspace.is-ar-pim-side-note{animation:none;}}

/* The 120-face botanical discovery die replaces only the landing illustration. */
.v2-living-wheel{margin:0;min-width:0;position:relative;background:radial-gradient(ellipse at center,rgba(190,210,160,.22),transparent 68%)}
.v2-living-wheel [data-canvas]{position:relative;width:100%;aspect-ratio:1;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;outline-offset:4px}
.v2-living-wheel [data-canvas]:active{cursor:grabbing}
.v2-living-wheel [data-canvas]:focus-visible{outline:2px solid #667b51}
.v2-living-wheel canvas,.v2-living-wheel img{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 16px 13px rgba(38,51,34,.22))}.v2-living-wheel canvas{object-fit:contain}.v2-living-wheel img{visibility:hidden;object-fit:cover;border-radius:46%;clip-path:polygon(50% 0,68% 3%,84% 13%,95% 29%,100% 49%,96% 68%,85% 85%,69% 96%,50% 100%,31% 96%,15% 85%,4% 69%,0 50%,4% 31%,15% 15%,32% 4%)}.v2-living-wheel[data-ready="error"] img{visibility:visible}
.v2-living-wheel[data-ready="true"] img{visibility:hidden}
.v2-living-wheel[data-ready="error"] canvas{display:none}
.v2-living-wheel figcaption{text-align:center;font-size:12px;color:#65735d;letter-spacing:.04em}
.wheel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){.v2-hero>.v2-living-wheel{width:min(100%,360px);justify-self:center;margin-top:12px}}

.v2-hero>.v2-living-wheel{width:min(100%,340px);justify-self:center;align-self:start;margin-top:24px;background:none}
@media(max-width:700px){.v2-hero>.v2-living-wheel{width:min(78vw,270px);margin-top:0}}

/* Keep the sculpture beside the title, including on narrow phones. */
.v2-wheel-hero{grid-template-columns:minmax(0,1fr) minmax(210px,340px);gap:16px 28px;align-items:center}
.v2-wheel-hero>.v2-hero-heading{grid-column:1;grid-row:1;min-width:0}
.v2-wheel-hero>.v2-hero-copy{grid-column:1 / -1;grid-row:2;max-width:680px}
.v2-wheel-hero>.v2-living-wheel{grid-column:2;grid-row:1;margin:0;width:100%;align-self:center}
#app .v2-wheel-hero h1{font-size:clamp(30px,4.7vw,60px);max-width:none;letter-spacing:-.035em}
@media(max-width:700px){.v2-wheel-hero{grid-template-columns:minmax(0,.95fr) minmax(150px,1.05fr);gap:6px}.v2-wheel-hero>.v2-living-wheel{width:100%;margin:0}#app .v2-wheel-hero h1{font-size:clamp(20px,5.4vw,34px);line-height:1.08;letter-spacing:-.6px}.v2-wheel-hero .v2-eyebrow{font-size:8px;letter-spacing:.8px}}
