﻿
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --nlxr-bg: #f7f6ef;
    --nlxr-bg-soft: #f1f5eb;
    --nlxr-surface: #fffef8;
    --nlxr-surface-muted: #f4f6f0;
    --nlxr-surface-selected: #edf5e8;
    --nlxr-text: #172d24;
    --nlxr-text-soft: #657169;
    --nlxr-text-faint: #879087;
    --nlxr-border: #d5ddcf;
    --nlxr-border-strong: #b8c7b3;
    --nlxr-green: #397026;
    --nlxr-green-deep: #1d5038;
    --nlxr-green-bright: #69a82f;
    --nlxr-blue: #267ec8;
    --nlxr-amber: #c98725;
    --nlxr-danger: #b55242;
    --nlxr-map-bg: #0c2b28;
    --nlxr-map-surface: #123832;
    --nlxr-map-line: rgba(181, 219, 130, .42);
    --nlxr-radius-sm: 10px;
    --nlxr-radius-md: 14px;
    --nlxr-radius-lg: 18px;
    --nlxr-shadow-soft: 0 8px 24px rgba(20, 48, 35, .06);
}

body {
    font-family: "Segoe UI", Arial, sans-serif;
    background: #f7f7f4;
    color: #1f241f;
    line-height: 1.45;
}

#app {
    max-width: 860px;
    margin: 0 auto;
    padding: 24px 20px 48px;
}

.screen {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.page-header {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e0e3dc;
    margin-bottom: 4px;
}

h1 {
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.2;
}

h2 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 4px;
}

h3 {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 4px;
}

p {
    color: #4f564f;
}

.subtitle {
    color: #676d66;
    font-size: 0.95rem;
}

.panel,
.card {
    background: #ffffff;
    border: 1px solid #dfe3db;
    padding: 14px 16px;
}

.stack-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid #ecefe8;
}

.list-item:first-child {
    border-top: none;
    padding-top: 0;
}

.list-item strong {
    display: block;
    margin-bottom: 2px;
}

.list-item p {
    font-size: 0.92rem;
}

.button-row,
.inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.project-entry-editor .plant-profile-action-row {
    width: 100%;
}
.project-entry-editor .plant-profile-action-row .project-entry-back-button {
    white-space: nowrap;
}
@media (max-width: 520px) {
    .project-entry-editor .plant-profile-action-row > button { min-width: 0; padding-inline: 8px; }
    .project-entry-editor .plant-profile-action-row .primary { flex: 1 1 auto; }
}

button {
    background: #ffffff;
    color: #1f241f;
    border: 1px solid #cdd3ca;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.95rem;
}

button:hover {
    border-color: #9fa79d;
}

button.primary {
    background: #2f6d42;
    color: #ffffff;
    border-color: #2f6d42;
}

button.primary:hover {
    background: #275a38;
}

button.ghost {
    align-self: flex-start;
    background: transparent;
    border-color: transparent;
    padding-left: 0;
    padding-right: 0;
}

button.ghost:hover {
    border-color: transparent;
    color: #2f6d42;
}

.field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}

label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #394039;
}

input,
select,
textarea {
    width: 100%;
    border: 1px solid #d2d8cf;
    padding: 8px 10px;
    background: #ffffff;
    font: inherit;
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: #2f6d42;
}

.meta {
    color: #666d66;
    font-size: 0.92rem;
}

.two-column {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 12px;
}

@media (max-width: 700px) {
    #app {
        padding: 16px 14px 36px;
    }

    .two-column {
        grid-template-columns: 1fr;
    }
}
#targetReticle { position:fixed; left:50%; top:calc(50% + 3.5cm); width:10px; height:10px; margin:-5px 0 0 -5px; border-radius:50%; background:#2f6d42; pointer-events:none; z-index:20; }
#targetReticle.reticle-active { width:12px; height:12px; margin:-6px 0 0 -6px; background:#00b83f; }
#targetReticleLabel { position:fixed; left:50%; top:calc(50% + 3.5cm + 12px); transform:translateX(-50%); background:#fff; color:#1f241f; font-size:.9rem; padding:2px 6px; pointer-events:none; z-index:20; }
#targetReticleLabel[hidden] { display:none; }
.reticle-targeted { outline:1px solid #00b83f; }

/* Minimal AR entry and in-session controls */
.ar-launch-toggle {
    position: fixed;
    left: 50%;
    bottom: max(18px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    z-index: 100;
    border-radius: 999px;
    background: #2f6d42;
    color: #fff;
    border-color: #2f6d42;
    padding: 9px 18px;
}

.creator-auth-testing-warning {
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid #9a6414;
    border-radius: 8px;
    background: #fff2cf;
    color: #5f3a00;
    font-weight: 700;
}

body.ar-session-active #targetReticle,
body.ar-session-active #targetReticleLabel {
    display: none !important;
}

#arOverlayControls {
    position: fixed;
    left: max(14px, env(safe-area-inset-left));
    bottom: max(14px, env(safe-area-inset-bottom));
    transform: none;
    z-index: 10000;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: calc(100vw - 140px);
    padding: 6px 8px;
    background: rgba(18, 22, 18, .72);
    color: #fff;
    border-radius: 8px;
    font-size: .78rem;
}

#arOverlayControls button {
    padding: 6px 9px;
    color: #fff;
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.35);
}

#arOverlayStatus {
    max-width: 48vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ar-overlay-copy {
    min-width: 0;
}


.ar-overlay-buttons {
    display: flex;
    gap: 5px;
}

#arPlacementReticle {
    position: fixed;
    left: 50%;
    top: calc(50% + 3.5cm);
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
    border-radius: 50%;
    background: rgba(47,109,66,.55);
    border: 1px solid rgba(255,255,255,.9);
    pointer-events: none;
    z-index: 10001;
}

#arPlacementReticle.surface-found {
    background: #00c853;
    transform: scale(1.25);
}

#arReticleLabel {
    position: fixed;
    left: 50%;
    top: calc(50% + 3.5cm + 16px);
    transform: translateX(-50%);
    z-index: 10001;
    pointer-events: none;
    font-size: .78rem;
    color: #fff;
    background: rgba(18, 22, 18, .72);
    padding: 3px 8px;
    border-radius: 6px;
    white-space: nowrap;
}

#arReticleLabel:empty {
    display: none;
}

#arModal {
    position: fixed;
    inset: 0;
    z-index: 10002;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 16px calc(max(72px, env(safe-area-inset-bottom) + 64px));
    background: rgba(8, 14, 9, .35);
}

#arModal.hidden {
    display: none;
}

.ar-modal-card {
    width: 100%;
    max-width: 420px;
    background: rgba(17, 27, 19, .92);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    padding: 16px;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ar-modal-card h2 {
    color: #fff;
    font-size: 1.05rem;
}

.ar-modal-hint {
    color: rgba(255, 255, 255, .72);
    font-size: .85rem;
}

.ar-modal-card input {
    width: 100%;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 1rem;
}

.ar-modal-error {
    color: #f2b8b8;
    font-size: .8rem;
    min-height: 1em;
}

.ar-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.ar-modal-actions-stack {
    flex-direction: column;
}

.ar-modal-card button {
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .35);
}

.ar-modal-card button.primary {
    background: #2f6d42;
    border-color: #2f6d42;
}

.ar-modal-field-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ar-modal-field-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    background: rgba(255, 255, 255, .06);
    border-radius: 6px;
    font-size: .9rem;
}

.ar-modal-field-tag {
    font-size: .72rem;
    color: rgba(255, 255, 255, .6);
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* V1 Lite guided navigation */
html,
body {
    min-height: 100%;
    background: #e9eee7;
}

body {
    color: #17241b;
}

#app {
    width: min(680px, calc(100% - 24px));
    max-width: none;
    padding: 24px 0 132px;
}

.screen {
    gap: 14px;
}

.page-header {
    border-bottom: 1px solid rgba(39, 71, 48, .28);
    padding: 6px 2px 14px;
}

h1 {
    font-size: clamp(1.75rem, 7vw, 2.5rem);
}

.panel,
.card {
    background: rgba(250, 252, 248, .76);
    border: 1px solid rgba(39, 71, 48, .3);
    border-radius: 4px;
    padding: 16px;
}

.menu-stack {
    display: grid;
    gap: 12px;
}

.menu-card {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(31, 67, 43, .48);
    border-radius: 3px;
    background: rgba(247, 250, 245, .82);
    color: #17241b;
    text-align: left;
}

.menu-card strong {
    font-size: 1rem;
}

.menu-card span {
    color: #59675d;
    font-size: .84rem;
}

.welcome-label,
.section-label {
    margin: 12px 2px 0;
    color: #496052;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.intro-launch {
    gap: 18px;
}

.intro-heading {
    padding-top: 12px;
}

.intro-copy {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(39, 91, 54, .28);
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 8%, rgba(139, 188, 113, .22), transparent 34%),
        linear-gradient(145deg, rgba(247, 250, 241, .96), rgba(229, 240, 224, .88));
}

.intro-copy .welcome-label {
    margin: 0 0 14px;
}

.intro-copy h2,
.role-choice h2 {
    margin: 0 0 10px;
    color: #173126;
}

.intro-copy p {
    max-width: 68ch;
    margin: 0;
    color: #35483b;
    line-height: 1.62;
}

.role-choice {
    display: grid;
    gap: 10px;
}

.role-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ar-demo-role {
    width: 100%;
    margin-top: 14px;
    border-color: rgba(72, 142, 84, .55);
    background: linear-gradient(135deg, rgba(224, 245, 217, .96), rgba(244, 237, 187, .9));
}

/* Try It Now: one live placement control with an unobtrusive marker chooser. */
.tryit-demo { position: fixed; inset: 0; z-index: 12000; overflow: hidden; background: #183426; }
.tryit-demo.is-immersive, .tryit-demo.is-immersive .tryit-stage, body:has(.tryit-demo.is-immersive), body:has(.tryit-demo.is-immersive) #app { background: transparent !important; }
.tryit-stage { position: fixed; inset: 0; display: grid; place-items: center; background: radial-gradient(circle at 50% 35%, rgba(150,202,130,.48), transparent 34%), linear-gradient(#8db59a, #55745e 50%, #334d38 51%, #1d3324); }
.tryit-spatial-intro { position: fixed; inset: 0; z-index: 12000; overflow: hidden; perspective: 900px; pointer-events: none; }
.tryit-spatial-intro[hidden] { display: none; }
.tryit-demo.is-immersive .tryit-spatial-intro { display: none !important; }
.nourishland-spatial-note-surface { --spatial-note-color:#4b7f59; box-sizing:border-box; overflow:hidden; border:1px solid rgba(240,255,232,.76); border-radius:38px 29px 44px 32px !important; background:radial-gradient(circle at 20% 12%,rgba(255,255,255,.18),transparent 38%),linear-gradient(145deg,color-mix(in srgb,var(--spatial-note-color) 64%,transparent),color-mix(in srgb,var(--spatial-note-color) 22%,rgba(7,28,17,.5))); color:#fff; box-shadow:0 28px 74px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.2); backdrop-filter:blur(14px); }
.creator-ar-demo-note { font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif; font-weight:800; letter-spacing:.015em; text-shadow:0 2px 5px rgba(0,0,0,.68); }
@keyframes tryit-spatial-note-arrive { 0% { opacity:0; filter:blur(10px); transform:translate3d(-50%,-34%,-360px) scale(.68) rotateX(-7deg); } 58% { opacity:.82; filter:blur(1px); } 100% { opacity:1; filter:blur(0); transform:translate3d(-50%,-50%,0) scale(1) rotateX(0); } }
@keyframes tryit-persistent-note-arrive { from { opacity:0; } to { opacity:1; } }
.tryit-intro-knowledge { position:absolute; left:50%; top:38%; width:min(99vw,980px); height:min(68vw,540px); min-height:330px; transform:translate(-50%,-50%); filter:drop-shadow(0 8px 18px rgba(0,0,0,.14)); pointer-events:auto; transition:opacity .8s ease,transform .8s ease; }
.tryit-spatial-intro .tryit-intro-knowledge { display:none; }
.tryit-intro-knowledge.is-leaving { opacity:0; transform:translate(-50%,-54%) scale(.96); pointer-events:none; }
.biomap-branch { position:absolute; width:clamp(58px,12vw,104px); aspect-ratio:1.12; transform:translate(-50%,-50%); opacity:0; animation:tryit-intro-knowledge-arrive .85s cubic-bezier(.18,.78,.24,1) calc(1.8s + var(--knowledge-index) * .15s) forwards; }
.biomap-branch > button,.biomap-children > span { display:grid; place-items:center; box-sizing:border-box; width:100%; height:100%; min-width:0; min-height:0; padding:7px 5px; overflow:hidden; clip-path:polygon(25% 4%,75% 4%,98% 50%,75% 96%,25% 96%,2% 50%); border:1px solid rgba(242,250,236,.48); background:linear-gradient(145deg,rgba(49,78,59,.42),rgba(13,34,23,.34)); color:rgba(250,255,246,.94); filter:drop-shadow(0 3px 8px rgba(0,0,0,.18)); font-size:clamp(.45rem,1.35vw,.63rem); font-weight:650; line-height:1.08; letter-spacing:.018em; overflow-wrap:anywhere; text-align:center; text-shadow:0 1px 2px rgba(0,0,0,.78); }
.biomap-branch > button { cursor:pointer; pointer-events:auto; }
.biomap-branch > button:is(:hover,:focus-visible),.biomap-branch.is-expanded > button { border-color:rgba(239,255,220,.9); background:linear-gradient(145deg,rgba(85,137,94,.82),rgba(22,68,40,.74)); filter:drop-shadow(0 0 14px rgba(220,249,167,.5)); }
.biomap-branch:nth-child(1) { left:29%; top:22%; }
.biomap-branch:nth-child(2) { left:43%; top:22%; }
.biomap-branch:nth-child(3) { left:57%; top:22%; }
.biomap-branch:nth-child(4) { left:71%; top:22%; }
.biomap-branch:nth-child(5) { left:29%; top:78%; }
.biomap-branch:nth-child(6) { left:43%; top:78%; }
.biomap-branch:nth-child(7) { left:57%; top:78%; }
.biomap-branch:nth-child(8) { left:71%; top:78%; }
.biomap-branch:nth-child(9) { left:18%; top:36%; }
.biomap-branch:nth-child(10) { left:82%; top:36%; }
.biomap-branch:nth-child(11) { left:18%; top:64%; }
.biomap-branch:nth-child(12) { left:82%; top:64%; }
.biomap-children { position:absolute; left:50%; top:50%; width:62px; height:58px; pointer-events:none; }
.biomap-children > span { position:absolute; width:62px; height:58px; padding:6px; font-size:.52rem; opacity:0; transform:translate(-50%,-50%) scale(.5); transition:opacity .36s ease,transform .42s cubic-bezier(.18,.78,.24,1); }
.biomap-branch.is-expanded .biomap-children > span { opacity:1; }
.biomap-branch.is-expanded .biomap-children > span:nth-child(1) { transform:translate(-155%,-160%) scale(1); }
.biomap-branch.is-expanded .biomap-children > span:nth-child(2) { transform:translate(-50%,-205%) scale(1); }
.biomap-branch.is-expanded .biomap-children > span:nth-child(3) { transform:translate(55%,-160%) scale(1); }
.biomap-branch.is-expanded .biomap-children > span:nth-child(4) { transform:translate(-155%,60%) scale(1); }
.biomap-branch.is-expanded .biomap-children > span:nth-child(5) { transform:translate(55%,60%) scale(1); }
.biomap-branch.is-expanded .biomap-children > span:nth-child(6) { transform:translate(-50%,105%) scale(1); }
.biomap-branch.is-expanded .biomap-children > span:nth-child(7) { transform:translate(-50%,-50%) scale(1.02); }
@keyframes tryit-intro-knowledge-arrive { from { opacity:0; transform:translate(-50%,-42%) scale(.72); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
.tryit-demo.is-immersive .tryit-stage { pointer-events: none; }
.tryit-xr-canvas { position: fixed; inset: 0; z-index: 11999; width: 100%; height: 100%; pointer-events: none; }
.tryit-live-welcome { position:absolute; inset:0; z-index:12001; overflow:hidden; pointer-events:none; }
.tryit-live-welcome canvas { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:fill; pointer-events:none; }
.tryit-live-welcome [data-welcome-cell] { position:absolute; display:grid; place-items:center; min-width:48px; min-height:48px; padding:4px; transform:translate(-50%,-50%); border:1px solid rgba(239,255,220,.62); clip-path:polygon(25% 3%,75% 3%,98% 50%,75% 97%,25% 97%,2% 50%); background:rgba(38,82,52,.82); color:rgba(255,255,245,.98); font:650 clamp(.52rem,1.8vw,.76rem)/1.05 system-ui,sans-serif; text-align:center; text-shadow:0 1px 3px rgba(0,0,0,.8); pointer-events:auto; touch-action:manipulation; }
.tryit-demo.is-immersive .tryit-live-welcome [data-welcome-cell] { border-color:transparent; background:transparent; color:transparent; text-shadow:none; }
.tryit-live-welcome [data-welcome-cell]:focus-visible { border-color:rgba(239,255,220,.95); outline:3px solid rgba(220,239,149,.42); outline-offset:3px; }
.tryit-live-welcome [data-welcome-cell].is-lim-pathway-current { outline:2px dashed rgba(255,255,255,.82); outline-offset:-7px; }
.tryit-live-welcome [data-welcome-cell][data-welcome-hollow="true"] { border-color:rgba(239,255,220,.42); }
@media (max-width:620px) {
    .tryit-live-welcome { inset: max(8px,env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px)); }
    .tryit-live-welcome canvas { opacity:.28; }
    .tryit-live-welcome [data-welcome-cell] { min-width:48px; min-height:48px; }
}
.tryit-place { position: fixed; left: var(--aim-x, 50%); top: var(--aim-y, calc(50% + 3.5cm)); z-index: 12002; display: block; width: 116px; height: 116px; padding: 0; transform: translate(-50%, -50%) scale(.78); border: 0; background: transparent; color: #fff; opacity: 0; pointer-events: none; transition: left .8s ease, top .8s ease, opacity .9s ease, transform 1.1s cubic-bezier(.2,.75,.25,1); }
.tryit-place[hidden] { display: none; }
.tryit-place.is-revealing { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.tryit-place.is-ready { pointer-events: auto; }
.tryit-place.creator-ar-placement-guide { left:var(--aim-x,50%); top:var(--aim-y,calc(50% + 3.5cm)); z-index:12002; opacity:0; transform:translate(-50%,-50%) scale(.78); }
.tryit-place.creator-ar-placement-guide.is-revealing { opacity:1; transform:translate(-50%,-50%) scale(1); }
.tryit-place.creator-ar-placement-guide.is-ready { z-index:12010; pointer-events:auto; }
.tryit-demo .tryit-place.creator-ar-placement-guide,
body[data-project-theme] .tryit-demo .tryit-place.creator-ar-placement-guide { appearance:none; -webkit-tap-highlight-color:transparent; border:0 !important; outline:0 !important; border-radius:50% !important; background:transparent !important; box-shadow:none !important; backdrop-filter:none !important; }
.tryit-place.creator-ar-placement-guide.is-pressed { pointer-events:none; animation:tryit-pointer-press .36s cubic-bezier(.2,.8,.2,1) both; filter:brightness(1.7) drop-shadow(0 0 18px rgba(220,239,149,.9)); }
.tryit-place.creator-ar-placement-guide .creator-ar-breathing-target { border-radius:999px !important; background:radial-gradient(circle,rgba(226,244,181,.12),transparent 60%) !important; }
.tryit-place.creator-ar-placement-guide .creator-ar-placement-pointer { box-sizing:border-box; border:2px solid rgba(255,255,255,.96) !important; border-radius:999px !important; background:#4c7e42 !important; }
.tryit-place:active { transform: translate(-50%, -50%) scale(.92); }
@keyframes tryit-pointer-press { 0% { transform:translate(-50%,-50%) scale(1); } 48% { transform:translate(-50%,-50%) scale(.72); } 100% { transform:translate(-50%,-50%) scale(1.08); } }
.tryit-guide { position: fixed; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.tryit-exit { position: fixed; top: max(14px, env(safe-area-inset-top)); right: 14px; z-index: 12003; pointer-events: auto; border-color: rgba(255,255,255,.55); background: rgba(12,27,18,.72); color: #fff; backdrop-filter: blur(8px); }
.tryit-demo-footer { position:fixed; left:50%; right:auto; bottom:max(12px,env(safe-area-inset-bottom)); z-index:12008; width:min(calc(100vw - 24px),620px); transform:translateX(-50%); pointer-events:none; }
.tryit-demo-taskbar { position:static; z-index:12008; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:row; grid-auto-rows:minmax(48px,auto); gap:8px; width:100%; padding:0; border:0; background:transparent; box-shadow:none; pointer-events:auto; }
.tryit-virtual-tag-mode { position:fixed; inset:0; z-index:12100; overflow:auto; background:#f2f4ec; color:#203126; pointer-events:auto; animation:tryit-web-mode-open .42s cubic-bezier(.18,.78,.28,1) both; }
.tryit-virtual-tag-mode[hidden] { display:none; }
.tryit-virtual-tag-mode.is-closing { animation:tryit-web-mode-close .32s ease-in both; }
.tryit-virtual-tag-shell { min-height:100%; box-sizing:border-box; padding:0 0 max(94px,calc(env(safe-area-inset-bottom) + 80px)); }
.tryit-virtual-tag-header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; gap:14px; padding:max(16px,env(safe-area-inset-top)) clamp(18px,5vw,44px) 14px; border-bottom:1px solid rgba(49,91,61,.2); background:rgba(242,244,236,.94); backdrop-filter:blur(12px); }
.tryit-virtual-tag-header span { color:#52705a; font-size:.62rem; font-weight:850; letter-spacing:.12em; }
.tryit-virtual-tag-header strong { color:#244a30; font-size:.68rem; letter-spacing:.08em; }
.tryit-virtual-tag-profile { display:grid; gap:18px; width:min(calc(100% - 28px),780px); margin:0 auto; padding:clamp(22px,5vw,46px) 0; }
.tryit-virtual-tag-identity { display:grid; grid-template-columns:78px minmax(0,1fr); align-items:center; gap:18px; padding-bottom:20px; border-bottom:1px solid rgba(49,91,61,.18); }
.tryit-virtual-tag-identity h2,.tryit-virtual-tag-identity p { margin:0; }
.tryit-virtual-tag-identity h2 { margin:3px 0 5px; color:#173d25; font-size:clamp(2rem,8vw,4.3rem); line-height:.98; }
.tryit-virtual-tag-identity p { color:#526358; font-size:.82rem; line-height:1.45; }
.tryit-virtual-tag-identity small,.tryit-virtual-tag-facts small,.tryit-virtual-tag-tutorial small { color:#61806a; font-size:.58rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.tryit-virtual-tag-orb { width:74px; height:74px; border:2px solid rgba(239,255,226,.9); border-radius:50%; background:radial-gradient(circle at 31% 24%,#efffd8 0 7%,#79ad65 34%,#315d3c 78%,rgba(25,75,39,.48) 100%); box-shadow:inset -10px -12px 17px rgba(12,55,25,.42),inset 6px 6px 10px rgba(255,255,255,.2),0 0 24px rgba(121,173,101,.3); }
.tryit-virtual-tag-tutorial { display:grid; gap:6px; padding:17px 19px; border:1px solid rgba(57,122,78,.28); border-radius:18px; background:linear-gradient(145deg,rgba(219,237,214,.76),rgba(235,243,229,.9)); }
.tryit-virtual-tag-tutorial strong { color:#285738; font-size:1rem; }
.tryit-virtual-tag-tutorial p { margin:0; color:#4f6255; font-size:.82rem; line-height:1.5; }
.tryit-virtual-tag-pim { min-width:0; padding:16px; border:1px solid rgba(54,91,65,.18); border-radius:15px; background:rgba(255,255,255,.68); }
.tryit-virtual-tag-pim .pim-web { max-width:none; }
.tryit-virtual-tag-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tryit-virtual-tag-facts article { display:grid; align-content:start; gap:6px; min-height:96px; padding:15px; border:1px solid rgba(54,91,65,.18); border-radius:15px; background:rgba(255,255,255,.68); }
.tryit-virtual-tag-facts p { margin:0; color:#3f5145; font-size:.78rem; line-height:1.45; }
.tryit-virtual-tag-close,body[data-project-theme] .tryit-virtual-tag-close { position:fixed; left:50%; bottom:max(14px,env(safe-area-inset-bottom)); z-index:12101; width:min(calc(100vw - 28px),460px); min-height:52px; transform:translateX(-50%); border:1px solid #4f8c62; border-radius:15px; background:#2f6d42 !important; color:#fff; font-size:.72rem; font-weight:850; letter-spacing:.055em; box-shadow:0 10px 26px rgba(33,74,45,.24); }
@keyframes tryit-web-mode-open { from { opacity:0; transform:translateY(3vh); } to { opacity:1; transform:translateY(0); } }
@keyframes tryit-web-mode-close { from { opacity:1; transform:translateY(0); } to { opacity:0; transform:translateY(3vh); } }
@media (max-width:520px) {
    .tryit-virtual-tag-header { display:grid; gap:4px; }
    .tryit-virtual-tag-identity { grid-template-columns:58px minmax(0,1fr); gap:14px; }
    .tryit-virtual-tag-orb { width:56px; height:56px; }
    .tryit-virtual-tag-facts { grid-template-columns:1fr; }
}
.tryit-demo-taskbar button { position:relative; display:inline-flex; align-items:center; justify-content:center; width:100%; min-width:0; min-height:48px; padding:8px 11px; overflow-wrap:normal; border:1px solid rgba(255,255,255,.24); border-radius:12px; background:linear-gradient(90deg,rgba(220,239,149,.28) 0 var(--hold-progress,0%),rgba(12,27,18,.72) var(--hold-progress,0%) 100%); color:rgba(255,255,255,.86); font-size:.7rem; font-weight:750; line-height:1.15; white-space:normal; box-shadow:0 5px 16px rgba(0,0,0,.12); backdrop-filter:blur(8px); transition:color .2s ease,background .2s ease,opacity .2s ease; touch-action:manipulation; user-select:none; -webkit-user-select:none; }
.tryit-demo-taskbar > [hidden] { display:none; }
.tryit-demo:not([data-demo-tutorial-step="live-tag"]) .tryit-demo-taskbar .tryit-intro-continue:not([hidden]) { grid-column:1 / -1; }
.tryit-demo-taskbar .tryit-intro-continue { border-color:rgba(220,239,149,.62); background:rgba(44,78,56,.88); color:#fff; }
.tryit-demo-taskbar button:hover, .tryit-demo-taskbar button:focus-visible { background:rgba(12,27,18,.62); color:#fff; }
.tryit-demo-taskbar button.is-active { border-color: rgba(220,239,149,.58); background: rgba(220,239,149,.16); color: #fff; box-shadow: 0 0 16px rgba(192,230,151,.18); }
.tryit-demo-taskbar [data-tryit-exit] { border-color:rgba(255,255,255,.24); }
.tryit-demo:has(.tryit-demo-taskbar) .tryit-guided-choice,
.tryit-demo:has(.tryit-demo-taskbar) .tryit-demo-action,
.tryit-demo:has(.tryit-demo-taskbar) .tryit-final-actions { bottom: calc(max(12px, env(safe-area-inset-bottom)) + 116px); }
.tryit-marker-controls { position: fixed; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); z-index: 12004; display: grid; gap: 6px; width: min(92vw, 390px); padding: 8px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.34); border-radius: 15px; background: rgba(18,52,31,.38); color: #fff; box-shadow: 0 5px 18px rgba(0,0,0,.16); backdrop-filter: blur(7px); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-stretch: normal; pointer-events: auto; }
.tryit-marker-controls[hidden] { display: none; }
.tryit-marker-controls > span { padding-left: 3px; font-size: .68rem; font-weight: 800; text-shadow: 0 1px 5px rgba(0,0,0,.8); }
.tryit-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.tryit-type-grid button { min-height: 38px; padding: 5px; border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.1); color: #fff; font-family: inherit; font-size: .72rem; font-stretch: normal; }
.tryit-type-grid button.is-selected { border-color: #dcef95; background: rgba(220,239,149,.3); box-shadow: inset 0 0 0 1px rgba(220,239,149,.28); }
.tryit-apply { min-height: 38px; border-color: #dcef95; background: rgba(220,239,149,.28); color: #fff; font: inherit; }
.tryit-apply:disabled { opacity: .45; }
.tryit-demo-action, .tryit-final-actions { position: fixed; left: 50%; bottom: max(24px, env(safe-area-inset-bottom)); z-index: 12004; transform: translateX(-50%); pointer-events: auto; }
.tryit-demo-action { min-height: 42px; padding: 8px 18px; border-color: rgba(238,246,237,.7); background: rgba(14,40,27,.54); color: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.16); backdrop-filter: blur(10px); }
.tryit-guided-choice { position: fixed; left: 50%; bottom: max(22px, env(safe-area-inset-bottom)); z-index: 12005; display: grid; gap: 11px; box-sizing: border-box; width: min(92vw, 460px); padding: 18px; transform: translateX(-50%); border: 1px solid rgba(238,246,237,.48); border-radius: 22px; background: linear-gradient(135deg, rgba(10,32,21,.9), rgba(20,52,35,.78)); color: #fff; box-shadow: 0 12px 36px rgba(0,0,0,.28); backdrop-filter: blur(14px); pointer-events: auto; }
.tryit-guided-choice[hidden] { display: none; }
.tryit-guided-choice.is-persistent-demo-board { pointer-events:none; }
.tryit-guided-choice.is-persistent-demo-board button,
.tryit-guided-choice.is-persistent-demo-board input,
.tryit-guided-choice.is-persistent-demo-board select,
.tryit-guided-choice.is-persistent-demo-board textarea { pointer-events:auto; }
.tryit-guided-choice h2, .tryit-guided-choice p { margin: 0; }
.tryit-guided-choice h2 { color: #fff !important; font-size: 1.15rem; text-shadow: 0 2px 8px rgba(0,0,0,.55); }
.tryit-guided-choice p { color: rgba(255,255,255,.82); font-size: .88rem; line-height: 1.45; }
.tryit-guided-choice label { display: grid; gap: 5px; font-size: .72rem; font-weight: 750; }
.tryit-guided-choice input { min-height: 42px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 11px; background: rgba(255,255,255,.1); color: #fff; font: inherit; }
.tryit-guided-choice button { min-height: 44px; border-color: rgba(220,239,149,.55); background: rgba(220,239,149,.17); color: #fff; }
.tryit-guided-choice .is-awaiting-text { visibility: hidden; }
.tryit-guided-choice.is-typing p.is-current::after,
.tryit-guided-choice.is-typing .tryit-board-text-window p:only-child::after { content: "▋"; display: inline-block; margin-left: 2px; color: #dcef95; animation: tryit-cursor-blink 1.4s ease-in-out infinite; }
.tryit-guided-choice.is-welcome-board { left:50%; top:max(4px,env(safe-area-inset-top)); bottom:auto !important; grid-template-rows:auto auto minmax(0,1fr); align-content:stretch; row-gap:clamp(12px,2vh,24px); width:min(94vw,820px); height:calc(100svh - max(8px,env(safe-area-inset-top))); height:calc(100dvh - max(8px,env(safe-area-inset-top))); max-height:none; min-height:calc(100svh - max(8px,env(safe-area-inset-top))); padding:clamp(24px,4.5vh,48px) clamp(24px,6vw,58px) max(116px,calc(env(safe-area-inset-bottom) + 102px)); transform:translateX(-50%); overflow:hidden; border:1px solid rgba(240,255,232,.72); border-radius:38px 28px 46px 32px; background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.2),transparent 35%),radial-gradient(circle at 88% 82%,rgba(178,210,154,.18),transparent 36%),linear-gradient(145deg,rgba(59,111,76,.7),rgba(10,38,25,.5)); text-align:left; box-shadow:0 24px 72px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.2); backdrop-filter:blur(15px); }
.tryit-guided-choice.is-welcome-board.is-entering { animation:tryit-board-arrive 1.4s cubic-bezier(.2,.72,.2,1) both; }
.tryit-guided-choice.is-welcome-board.is-entering > small,
.tryit-guided-choice.is-welcome-board.is-entering > h2 { animation:tryit-board-identity 1.15s .25s ease-out both; }
.tryit-guided-choice.is-welcome-board > small { color:#dcef95; font-size:.66rem; font-weight:760; letter-spacing:.12em; }
.tryit-guided-choice.is-welcome-board h2 { max-width:660px; margin:0; font-size:clamp(1.45rem,4.5vw,2.8rem); font-weight:720; line-height:1.06; text-wrap:balance; }
.tryit-board-text-window { display:grid; align-content:start; gap:clamp(10px,1.8vh,20px); width:100%; min-height:0; margin:0; padding-top:clamp(12px,2vh,24px); overflow:hidden; border-top:1px solid rgba(220,239,149,.38); text-align:left; opacity:0; transition:opacity .55s ease; }
.tryit-guided-choice.is-copy-ready .tryit-board-text-window { opacity:1; }
.tryit-board-text-window p + p { padding-top:clamp(7px,1.3vh,12px); border-top:1px solid rgba(255,255,255,.1); }
.tryit-guided-choice.is-welcome-board p { width:100%; max-width:none; color:rgba(255,255,255,.94); font-size:clamp(1.08rem,min(3.2vw,2.55vh),1.55rem); font-weight:580; line-height:1.38; text-wrap:pretty; }
.tryit-demo.is-immersive .tryit-guided-choice.is-welcome-board { display:none; }
.tryit-demo.uses-webgl-controls .tryit-demo-footer { display:none !important; }
.tryit-demo.has-companion-actions .tryit-demo-footer { display:none !important; }
.creator-ar-overlay.has-companion-actions .creator-ar-taskbar { display:none !important; }
.tryit-demo.is-immersive > .tryit-place.creator-ar-placement-guide { z-index:12021; }
.tryit-intro-continue[hidden] { display:none; }
@media (max-width:620px) {
    .tryit-guided-choice.is-welcome-board { top:0; width:100vw; height:100svh; height:100dvh; min-height:100svh; padding:max(18px,calc(env(safe-area-inset-top) + 12px)) 18px max(108px,calc(env(safe-area-inset-bottom) + 98px)); border-radius:0; border-top:0; border-bottom:0; }
    .tryit-guided-choice.is-welcome-board h2 { font-size:clamp(1.25rem,6.4vw,2.1rem); }
}
@keyframes tryit-board-arrive { from { opacity:0; transform:translate(-50%,18px) scale(.96); filter:blur(5px); } to { opacity:1; transform:translate(-50%,0) scale(1); filter:blur(0); } }
@keyframes tryit-board-identity { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@keyframes tryit-cursor-blink { 0%, 100% { opacity: .28; } 50% { opacity: 1; } }
.tryit-guided-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tryit-final-actions { display: flex; gap: 8px; width: max-content; }
.tryit-final-actions[hidden], .tryit-demo-action[hidden] { display: none; }
.tryit-final-actions button { background: rgba(14,40,27,.54); color: #fff; border-color: rgba(238,246,237,.62); backdrop-filter: blur(10px); }
.tryit-name-controls { display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.tryit-name-controls[hidden] { display: none; }
.tryit-name-controls input { min-width: 0; min-height: 38px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.38); border-radius: 9px; background: rgba(255,255,255,.14); color: #fff; font: inherit; }
.tryit-name-controls button { min-height: 38px; border-color: #dcef95; background: rgba(220,239,149,.28); color: #fff; }
.tryit-sim-marker { position: fixed; left: var(--marker-x, 50%); top: var(--marker-y, 50%); z-index: 12001; width: 13px; height: 13px; padding: 0; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.68); border-radius: 50%; background: rgba(183,232,149,.46); color: #fff; box-shadow: 0 0 12px rgba(183,232,149,.28); backdrop-filter: blur(5px); }
.tryit-sim-marker.is-held { scale: var(--depth-scale, 1); filter: drop-shadow(0 0 12px rgba(220,239,149,.72)); outline: 3px solid rgba(220,239,149,.66); outline-offset: 7px; }
.tryit-depth-joystick { position: fixed; left: 50%; top: 50%; z-index: 12006; display: block; width: 84px; height: 220px; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.35); border-radius: 38px; background: linear-gradient(rgba(51,73,48,.72), rgba(10,24,16,.78) 48%, rgba(51,73,48,.72)); color: #fff; box-shadow: 0 10px 28px rgba(0,0,0,.2); backdrop-filter: blur(7px); pointer-events: none; }
.tryit-depth-joystick[hidden] { display: none; }
.tryit-depth-joystick strong { position: absolute; left: 8px; right: 8px; top: 8px; overflow: hidden; font-size: .58rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.tryit-depth-label { position: absolute; left: 4px; right: 4px; color: rgba(255,255,255,.88); font-size: .55rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.tryit-depth-label:nth-of-type(1) { top: 31px; }
.tryit-depth-label:nth-of-type(3) { bottom: 27px; }
.tryit-depth-track { position: absolute; left: 50%; top: 50%; width: 7px; height: 104px; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.38); border-radius: 999px; background: rgba(5,12,8,.48); box-shadow: inset 0 0 5px rgba(0,0,0,.35); }
.tryit-depth-track i { position: absolute; left: 50%; top: 50%; display: grid; width: 38px; height: 38px; transform: translate(-50%, calc(-50% + var(--depth-shift, 0px))); border: 3px solid #dcef95; border-radius: 13px; background: rgba(15,31,20,.94); box-shadow: 0 0 0 9px rgba(220,239,149,.1), 0 0 18px rgba(220,239,149,.35); transition: transform .05s linear; }
.tryit-depth-track i::before, .tryit-depth-track i::after { content: ""; position: absolute; left: 50%; top: 50%; background: #fff; transform: translate(-50%, -50%); }
.tryit-depth-track i::before { width: 13px; height: 3px; }
.tryit-depth-track i::after { width: 3px; height: 13px; }
.tryit-depth-joystick small { position: absolute; left: 4px; right: 4px; bottom: 8px; color: #fff; font-size: .62rem; font-weight: 800; text-align: center; }
.spatial-move-control { --depth-shift: 0px; position: fixed; left: var(--move-control-x, 50%); top: var(--move-control-y, 50%); z-index: 12006; display: grid; grid-template: 42px 42px 42px / 42px 42px 42px; place-items: stretch; width: 126px; height: 126px; transform: translate(-50%, -50%); color: rgba(235,247,235,.48); opacity: .34; pointer-events: auto; touch-action: none; }
.spatial-move-control[hidden] { display: none; }
.spatial-move-instruction { display: none; }
.spatial-move-instruction small { color: rgba(255,255,255,.72); font-size: .58rem; font-weight: 650; }
.spatial-move-arm, .spatial-move-release { display: grid; place-items: center; min-width: 0; min-height: 0; padding: 0; border: 1px solid rgba(235,247,235,.28); background: transparent; color: rgba(235,247,235,.5); box-shadow: none; backdrop-filter: none; }
.spatial-move-arm b { font-size: 1.05rem; line-height: 1; font-weight: 500; opacity: .72; }
.spatial-move-arm small { font-size: .53rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.spatial-move-up { grid-area: 1 / 2; border-radius: 18px 18px 5px 5px; transform: translateY(var(--depth-shift)); }
.spatial-move-left { grid-area: 2 / 1; border-radius: 18px 5px 5px 18px; }
.spatial-move-control:not(.can-rotate-arrow) .spatial-move-left,
.spatial-move-control:not(.can-rotate-arrow) .spatial-move-right { opacity: .42; pointer-events: none; }
.spatial-move-release { grid-area: 2 / 2; border: 0; border-radius: 50%; background: transparent; }
.spatial-move-release span { font-size: 0; line-height: 1; }
.spatial-move-release span::before { content: "+"; font-size: 1.55rem; font-weight: 350; color: rgba(235,247,235,.62); }
.spatial-move-release small { font-size: .5rem; font-weight: 850; text-transform: uppercase; }
.spatial-move-right { grid-area: 2 / 3; border-radius: 5px 18px 18px 5px; }
.spatial-move-down { grid-area: 3 / 2; border-radius: 5px 5px 18px 18px; transform: translateY(var(--depth-shift)); }
.spatial-move-readout { display: none; }
.spatial-grab-handle { position: absolute; left: 50%; top: calc(100% + 9px); display: grid; place-items: center; width: 27px; height: 22px; transform: translateX(-50%); border: 1px solid rgba(238,247,230,.46); border-radius: 12px 12px 15px 15px; background: rgba(17,45,29,.72); color: rgba(255,243,205,.92); box-shadow: 0 4px 12px rgba(0,0,0,.18); font-size: .76rem; opacity: .92; pointer-events: none; }
.creator-ar-overlay.is-holding-item .creator-ar-mode-pointer, .creator-ar-overlay.is-holding-item .creator-ar-placement-guide { opacity: 0 !important; visibility: hidden !important; }
.creator-ar-overlay.is-holding-item .creator-ar-taskbar { opacity: .32; }
.creator-ar-marker-hit-target.is-adjusting .spatial-grab-handle, .tryit-sim-marker.is-held .spatial-grab-handle { opacity: 0; }
.tryit-demo:has(.tryit-sim-marker.is-held) .tryit-place { opacity: 0 !important; visibility: hidden; pointer-events: none; }
.creator-ar-totem-information { position:fixed; inset:0; z-index:2; overflow:hidden; pointer-events:none; }
.creator-ar-location-note-board.creator-ar-totem-balloon { width:min(58vw,320px); min-height:88px; max-height:min(32vh,220px); padding:22px 26px; place-content:center; border-radius:28px 28px 28px 12px !important; overflow:auto; }
.creator-ar-totem-balloon-text { display:grid; gap:5px; margin:0; color:rgba(247,255,242,.9); font-size:clamp(.7rem,1.8vw,.92rem); font-weight:650; line-height:1.35; overflow-wrap:anywhere; text-align:center; }
.creator-ar-totem-balloon-text > span + span { padding-top:5px; border-top:1px solid rgba(231,250,221,.14); }
.creator-ar-totem-stick { width:2px; background:linear-gradient(180deg,rgba(222,247,208,.14),rgba(222,247,208,.82)); opacity:.9; }
.creator-ar-totem-attachment { width:10px; height:10px; border-color:rgba(225,249,210,.72); background:rgba(73,126,84,.36); box-shadow:0 0 0 4px rgba(205,240,185,.08),0 0 12px rgba(205,240,185,.34); }
.creator-ar-totem-link-signs { position:fixed; inset:0; z-index:7; pointer-events:none; }
.creator-ar-totem-link-mast { position:fixed; left:var(--totem-link-mast-x,50vw); top:var(--totem-link-mast-y,30vh); width:8px; height:var(--totem-link-mast-height,90px); transform:translateX(-50%); border:1px solid rgba(225,249,210,.74); border-radius:999px; background:linear-gradient(90deg,rgba(6,52,29,.98),rgba(96,161,103,.94),rgba(6,52,29,.98)); box-shadow:0 3px 12px rgba(0,0,0,.42),0 0 0 3px rgba(205,240,185,.08); pointer-events:none; }
.creator-ar-totem-link-hub { position:fixed; left:var(--totem-link-hub-x,50vw); top:var(--totem-link-hub-y,50vh); width:16px; height:16px; transform:translate(-50%,-50%); border:2px solid rgba(239,255,219,.94); border-radius:50%; background:radial-gradient(circle at 35% 30%,#c9f28d,#3c9655 48%,#093d25 100%); box-shadow:0 0 0 4px rgba(205,240,185,.14),0 0 18px rgba(117,221,116,.5),0 6px 14px rgba(0,0,0,.42); pointer-events:none; }
.creator-ar-totem-link-branch { position:fixed; top:var(--totem-link-hub-y,50vh); height:7px; transform:translateY(-50%); border-top:2px solid rgba(225,249,210,.78); border-bottom:2px solid rgba(225,249,210,.42); background:linear-gradient(90deg,rgba(93,166,100,.92),rgba(12,75,41,.98)); box-shadow:0 3px 8px rgba(0,0,0,.28); pointer-events:none; }
.creator-ar-totem-link-sign { --sign-direction:1; position:fixed; z-index:1; display:flex; align-items:center; gap:8px; min-height:42px; box-sizing:border-box; padding:7px 12px; border:2px solid rgba(222,247,208,.82); border-radius:5px 18px 18px 5px; background:linear-gradient(135deg,rgba(8,68,38,.98),rgba(21,119,67,.96)); color:#f4ffed; box-shadow:0 7px 18px rgba(0,0,0,.32),0 0 0 3px rgba(205,240,185,.1),inset 0 1px rgba(255,255,255,.16); pointer-events:auto; transform:translate(-50%,-50%); text-align:left; clip-path:polygon(0 0,calc(100% - 17px) 0,100% 50%,calc(100% - 17px) 100%,0 100%,10px 50%); }
.creator-ar-totem-link-sign.is-left { --sign-direction:-1; border-radius:18px 5px 5px 18px; flex-direction:row-reverse; text-align:right; clip-path:polygon(17px 0,100% 0,calc(100% - 10px) 50%,100% 100%,17px 100%,0 50%); }
.creator-ar-totem-link-sign.is-left::before { left:100%; }
.creator-ar-totem-link-sign:hover, .creator-ar-totem-link-sign:focus-visible { border-color:#eaff9a; box-shadow:0 8px 22px rgba(0,0,0,.34),0 0 0 4px rgba(220,239,149,.18); outline:none; }
.creator-ar-totem-link-arrow { flex:0 0 auto; color:#eaff9a; font-size:1.35rem; font-weight:900; line-height:1; }
.creator-ar-totem-link-sign > span:last-child { display:grid; min-width:0; gap:2px; }
.creator-ar-totem-link-sign strong { overflow:hidden; font-size:.72rem; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.creator-ar-totem-link-sign small { color:rgba(239,255,232,.72); font-size:.52rem; font-weight:800; letter-spacing:.12em; }
.totem-information-editor { display: grid; gap: 10px; margin: 14px 0; padding: 14px; border: 1px solid rgba(57,112,92,.24); border-radius: 18px; background: rgba(222,239,226,.32); }
.totem-information-editor > p { margin: 0; color: var(--muted, #536457); font-size: .82rem; }
.spatial-focus-panel { display: grid; gap: 10px; margin: 0 0 14px; padding: 15px; border: 1px solid rgba(47,124,190,.26); border-radius: 18px; background: linear-gradient(145deg, rgba(224,241,252,.72), rgba(234,247,242,.62)); }
.spatial-focus-panel p { margin: 0; color: #425761; font-size: .84rem; line-height: 1.45; }
button.spatial-focus-button { border-color: #2378bd; background: linear-gradient(145deg, #3b95dc, #176caf); color: #fff; box-shadow: 0 7px 18px rgba(24,106,170,.2); }
.ar-web-handoff { position:sticky; top:10px; z-index:20; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; margin-bottom:14px; padding:12px 14px; border:1px solid rgba(63,143,194,.42); border-radius:18px; background:rgba(238,248,252,.96); box-shadow:0 10px 28px rgba(29,71,92,.16); backdrop-filter:blur(10px); }
.ar-web-handoff div { display:grid; gap:3px; }
.ar-web-handoff strong { color:#176caf; font-size:.66rem; letter-spacing:.1em; }
.ar-web-handoff p { margin:0; color:#425761; font-size:.76rem; line-height:1.35; }
.ar-web-handoff .ar-portal { min-height:46px; white-space:nowrap; }
.ar-web-handoff .ar-portal { flex:0 0 76px !important; width:76px !important; min-width:76px !important; max-width:76px !important; height:56px !important; min-height:56px !important; max-height:56px !important; border-radius:12px !important; }
@media (max-width:600px) {
    .ar-web-handoff { grid-template-columns:1fr; }
    .ar-web-handoff .ar-portal { width:100%; }
}
button[onclick*="startArMode"],
button[onclick*="openProjectAreaAr"],
button[onclick*="renderArPreparation"] { border-color: #2378bd; background: linear-gradient(145deg, #3b95dc, #176caf); color: #fff; box-shadow: 0 7px 18px rgba(24,106,170,.18); }
.area-go-ar { width: 100%; min-height: 58px; margin: 0 0 16px; font-size: 1rem; font-weight: 850; letter-spacing: .045em; }
.area-information-form { display: grid; gap: 12px; margin-top: 12px; }
.area-information-boxes { display: grid; gap: 10px; margin: 0; padding: 14px; border: 1px solid rgba(71,119,82,.24); border-radius: 18px; background: rgba(232,242,228,.42); }
.area-information-boxes > p { margin: 0; color: var(--muted, #536457); font-size: .8rem; line-height: 1.4; }
.area-content-entry { grid-template-columns: auto minmax(0, 1fr) auto; cursor: default; }
.area-content-entry.is-totem-entry { border: 1px solid rgba(59,126,107,.22); border-radius: 16px; background: linear-gradient(145deg, rgba(224,241,232,.62), rgba(241,246,239,.72)); }
.area-entry-actions { grid-column: 2 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.area-entry-actions button { min-height: 36px; padding: 6px 10px; font-size: .72rem; }
.compact-ar-action { min-height: 36px !important; }
.tryit-sim-marker.is-expanded { display: grid; box-sizing: border-box; gap: 12px; width: min(88vw, 560px); min-height: min(36vh, 280px); max-height: calc(100dvh - 180px); padding: clamp(20px, 4vw, 30px); overflow: auto; border-radius: 30px; background: radial-gradient(circle at 24% 18%, rgba(92,133,91,.30), transparent 38%), linear-gradient(145deg, rgba(18,48,32,.76), rgba(15,39,28,.54)); box-shadow: 0 10px 28px rgba(0,0,0,.16), inset 0 0 18px rgba(255,255,255,.035); color: rgba(255,255,255,.9); text-align: left; backdrop-filter: blur(11px); animation: tryit-frame-arrive .36s ease-out both; touch-action: none; cursor: grab; }
.tryit-sim-marker.is-expanded.is-dragging { cursor: grabbing; box-shadow: 0 14px 34px rgba(0,0,0,.24), 0 0 0 1px rgba(220,239,149,.32); }
.tryit-sim-marker.is-expanded strong { display: block; min-width: 0; min-height: 1.2em; overflow-wrap: anywhere; color: #fff; font-size: clamp(1.25rem, 4.8vw, 1.75rem); line-height: 1.18; }
.tryit-sim-marker.is-expanded small { display: block; min-width: 0; overflow-wrap: anywhere; font-size: clamp(.92rem, 3.5vw, 1.12rem); line-height: 1.5; letter-spacing: .015em; white-space: normal; animation: tryit-subtitle-in .32s ease-out both; }
.tryit-sim-totem-system { width: min(88vw, 390px); height: min(68vh, 500px); border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; backdrop-filter: none; }
.tryit-sim-totem-branches { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.tryit-sim-totem-branches path { fill: none; stroke: rgba(220,248,241,.72); stroke-width: 1.7; stroke-linecap: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 4px rgba(136,220,209,.3)); }
.tryit-sim-totem-pillar { position: absolute; left: 44%; top: 35%; z-index:2; width: 12%; height: 63%; border: 0; border-radius: 0; background: #70875b; box-shadow: 0 14px 25px rgba(0,0,0,.2); }
.tryit-sim-totem-pillar::before { content:""; position:absolute; left:0; top:-12px; width:126%; height:12px; background:#b7c894; clip-path:polygon(0 42%,22% 0,100% 20%,79% 100%); }
.tryit-sim-totem-pillar::after { content:""; position:absolute; left:100%; top:-9px; width:26%; height:calc(100% + 9px); background:#3d5238; clip-path:polygon(0 1%,100% 0,100% 96%,0 100%); }
.tryit-sim-totem-card { position: absolute; display: grid; place-items: center; box-sizing: border-box; width: 31%; min-height: 68px; padding: 10px 11px; border: 1px solid rgba(226,255,249,.82); border-radius: 32% 23% 35% 25% / 25% 34% 24% 37%; background: radial-gradient(circle at 24% 16%,rgba(117,169,148,.3),transparent 38%),linear-gradient(145deg,rgba(24,73,59,.92),rgba(7,34,29,.9)); color: #fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 22px rgba(0,0,0,.18); font-size: clamp(.62rem, 2.35vw, .78rem); font-weight: 800; line-height: 1.22; text-align: center; text-shadow: 0 1px 2px rgba(0,0,0,.98), 0 0 6px rgba(0,0,0,.88); backdrop-filter: blur(7px); }
.tryit-sim-totem-card::after { content:""; position:absolute; width:7px; height:7px; border:1px solid rgba(226,255,249,.78); border-radius:50%; background:rgba(25,76,62,.96); box-shadow:0 0 7px rgba(175,235,220,.32); }
.tryit-sim-totem-card-1 { left: 1%; top: 4%; }
.tryit-sim-totem-card-2 { right: 1%; top: 0; width: 39%; min-height: 78px; }
.tryit-sim-totem-card-3 { right: -1%; top: 29%; }
.tryit-sim-totem-card-4 { left: -1%; top: 55%; width: 25%; }
.tryit-sim-totem-card-5 { right: 7%; top: 59%; width: 35%; }
.tryit-sim-totem-card-1::after,.tryit-sim-totem-card-2::after { left:50%; bottom:-4px; transform:translateX(-50%); }
.tryit-sim-totem-card-3::after,.tryit-sim-totem-card-5::after { left:-4px; top:50%; transform:translateY(-50%); }
.tryit-sim-totem-card-4::after { right:-4px; top:50%; transform:translateY(-50%); }
.tryit-sim-area-link-line { position:fixed; z-index:12000; height:3px; transform-origin:0 50%; border-radius:999px; background:linear-gradient(90deg,rgba(143,165,106,.28),rgba(226,239,179,.95),rgba(143,165,106,.28)); box-shadow:0 0 12px rgba(143,165,106,.58); pointer-events:none; }
.tryit-sim-area-link-line::after { content:""; position:absolute; right:-3px; top:50%; width:10px; height:10px; transform:translateY(-50%) rotate(45deg); border-top:3px solid #dfffbf; border-right:3px solid #dfffbf; }
.tryit-sim-area-link-label { position:fixed; z-index:12004; transform:translate(-50%,-50%); padding:5px 10px; border:1px solid rgba(220,255,186,.7); border-radius:999px; background:rgba(9,43,29,.9); color:#eaffc8; box-shadow:0 5px 16px rgba(0,0,0,.2); font-size:.61rem; font-weight:900; letter-spacing:.08em; white-space:nowrap; pointer-events:none; }
.tryit-sim-totem-link-label { position:absolute; left:50%; top:74%; z-index:7; transform:translateX(-50%); width:max-content; max-width:92%; padding:6px 10px; border:1px solid rgba(220,255,186,.78); border-radius:999px; background:rgba(8,48,31,.92); color:#eaffc8; box-shadow:0 4px 13px rgba(0,0,0,.24); font-size:clamp(.58rem,2vw,.7rem); font-weight:900; letter-spacing:.04em; white-space:nowrap; pointer-events:none; }
.tryit-sim-totem-model-toggle { position:absolute; left:50%; bottom:-8px; z-index:8; display:grid; gap:2px; min-width:112px; padding:7px 10px; transform:translateX(-50%); border:1px solid rgba(220,255,186,.82); border-radius:12px; background:rgba(9,43,29,.96); color:#f3ffdf; box-shadow:0 6px 16px rgba(0,0,0,.28); font:800 .68rem/1.15 system-ui,sans-serif; cursor:pointer; pointer-events:auto; }
.tryit-sim-totem-model-toggle small { color:rgba(239,255,232,.7); font-size:.52rem; font-weight:700; }
.tryit-sim-totem-system.is-totem-style-organic .tryit-sim-totem-branches,
.tryit-sim-totem-system.is-totem-style-flat-disc .tryit-sim-totem-branches { opacity:.16; }
.tryit-sim-totem-system.is-totem-style-organic .tryit-sim-totem-pillar { left:34%; top:28%; width:32%; height:31%; border-radius:50%; background:radial-gradient(circle at 30% 24%,#c9e5ae,#477b4e 58%,#163a25); box-shadow:inset -10px -12px 18px rgba(5,28,14,.48),inset 6px 6px 11px rgba(255,255,255,.16),0 0 25px rgba(105,190,107,.46); }
.tryit-sim-totem-system.is-totem-style-organic .tryit-sim-totem-pillar::before,
.tryit-sim-totem-system.is-totem-style-organic .tryit-sim-totem-pillar::after,
.tryit-sim-totem-system.is-totem-style-flat-disc .tryit-sim-totem-pillar::before,
.tryit-sim-totem-system.is-totem-style-flat-disc .tryit-sim-totem-pillar::after { display:none; }
.tryit-sim-totem-system.is-totem-style-flat-disc .tryit-sim-totem-pillar { left:28%; top:45%; width:44%; height:13%; border-radius:50%; background:radial-gradient(ellipse at 32% 22%,#b8dc9b,#527a4c 58%,#23452e); box-shadow:inset -9px -6px 11px rgba(5,28,14,.48),inset 5px 3px 8px rgba(255,255,255,.14),0 0 22px rgba(105,190,107,.4); }
@media (max-width: 680px) {
    .tryit-sim-totem-system { width:min(58vw,250px); height:min(48vh,360px); }
    .tryit-sim-totem-card { min-height:52px; padding:7px 6px; font-size:.56rem; }
    .tryit-sim-totem-card-2 { min-height:58px; }
    .tryit-sim-totem-model-toggle { min-width:96px; padding:6px 7px; font-size:.58rem; }
    .tryit-sim-totem-link-label { max-width:100%; padding:4px 6px; font-size:.5rem; }
    .tryit-sim-area-link-label { font-size:.5rem; }
}
@keyframes tryit-frame-arrive { from { opacity: 0; transform: translate(calc(-50% + var(--panel-x)), calc(-45% + var(--panel-y))) scale(.88); } to { opacity: 1; transform: translate(calc(-50% + var(--panel-x)), calc(-50% + var(--panel-y))) scale(1); } }
@keyframes tryit-subtitle-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.tryit-sim-marker.is-expanded { transform: translate(calc(-50% + var(--panel-x)), calc(-50% + var(--panel-y))); }
.tryit-sim-marker-marker:not(.is-expanded),
.tryit-sim-marker-plant { width: 46px; height: 46px; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; cursor: pointer; }
.tryit-sim-marker.is-demo-orb { z-index:12007; }
.tryit-sim-marker.is-arriving { pointer-events:none; }
.tryit-sim-orb { position: absolute; z-index: 3; left: 50%; top: 50%; width: var(--demo-orb-size,46px); height: var(--demo-orb-size,46px); box-sizing: border-box; transform: translate(-50%, -50%); border: 1px solid rgba(233,246,224,.72); border-radius: 50%; background: radial-gradient(circle at 31% 24%, var(--demo-orb-light,rgba(248,255,240,.9)) 0 7%, var(--demo-orb-mid,rgba(137,164,143,.48)) 47%, var(--demo-orb-dark,rgba(69,91,78,.74)) 82%, rgba(25,42,32,.74) 100%); box-shadow: inset -9px -11px 15px rgba(8,28,17,.46), inset 5px 5px 9px rgba(255,255,255,.13), 0 0 22px color-mix(in srgb,var(--demo-orb-mid,#b7e895) 58%,transparent); pointer-events: none; }
.tryit-sim-orb.is-plant { width: var(--demo-orb-size,46px); height: var(--demo-orb-size,46px); border: 2px solid rgba(239,255,226,.88); background: radial-gradient(circle at 31% 24%, var(--demo-orb-light,#f5ffe8) 0 7%, var(--demo-orb-mid,#b7e895) 34%, var(--demo-orb-dark,#2b7036) 78%, rgba(25,75,39,.48) 100%); box-shadow: inset -9px -11px 16px rgba(12,55,25,.42), inset 5px 5px 9px rgba(255,255,255,.16), 0 0 24px color-mix(in srgb,var(--demo-orb-mid,#b7e895) 60%,transparent); animation: tryit-live-orb-awaken 1.05s cubic-bezier(.2,.8,.24,1) both; }
@keyframes tryit-live-orb-awaken { 0% { opacity: .55; transform: translate(-50%, -50%) scale(.72); filter: saturate(.35); } 55% { transform: translate(-50%, -50%) scale(1.14); } 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: saturate(1); } }
.tryit-sim-orb.is-plant::after { content: ""; position: absolute; left: 50%; top: 52%; width: 38%; height: 38%; transform: translate(-50%, -50%); border: 1px solid rgba(255,245,225,.72); border-radius: 50%; background: radial-gradient(circle at 32% 26%, var(--demo-orb-core-light,#f2ffd9) 0 18%, var(--demo-orb-core-mid,#b9e66f) 38%, var(--demo-orb-core-dark,#3f7f38) 100%); box-shadow: 0 0 10px color-mix(in srgb,var(--demo-orb-core-mid,#b9e66f) 58%,transparent), inset -3px -4px 5px rgba(29,45,33,.34); }
.tryit-sim-marker-plant.is-demo-triangle .tryit-sim-orb.is-plant { border:0; border-radius:0; clip-path:polygon(50% 2%,98% 94%,2% 94%); background:linear-gradient(145deg,var(--demo-orb-light,#ead7ba) 0 8%,var(--demo-orb-mid,#8a6946) 43%,var(--demo-orb-dark,#3e2a1c) 100%); box-shadow:0 0 24px color-mix(in srgb,var(--demo-orb-mid,#8a6946) 54%,transparent); }
.tryit-sim-marker-plant.is-demo-triangle .tryit-sim-orb.is-plant::after { top:58%; width:31%; height:31%; border-radius:0; clip-path:polygon(50% 2%,98% 94%,2% 94%); background:linear-gradient(145deg,var(--demo-orb-core-light,#f1dfbd),var(--demo-orb-core-mid,#a77b48) 55%,var(--demo-orb-core-dark,#4d321e)); }
.tryit-sim-marker-plant.has-information .tryit-sim-orb { box-shadow: inset -9px -11px 16px rgba(12,55,25,.42), inset 5px 5px 9px rgba(255,255,255,.16), 0 0 27px rgba(183,232,149,.56); }
.tryit-sim-marker-plant.has-plant-profile:is(:hover, :focus-visible) .tryit-sim-orb { animation: tryit-plant-profile-ready .38s ease-in-out infinite alternate; }
.tryit-demo .tryit-sim-marker:is(:hover, :focus-visible, .is-drag-ready) { outline: 2px solid rgba(226,244,181,.86); outline-offset: 7px; box-shadow: 0 0 0 8px rgba(226,244,181,.1), 0 0 24px rgba(192,230,151,.36); touch-action: none; }
.tryit-demo .tryit-sim-marker-plant:not(.is-demo-triangle):is(:hover, :focus-visible, .is-drag-ready),
.tryit-demo .tryit-sim-marker-marker:is(:hover, :focus-visible, .is-drag-ready) { border-radius: 50%; }
.tryit-demo .tryit-sim-marker-plant.is-demo-triangle:is(:hover, :focus-visible, .is-drag-ready) { border-radius:8px; }
.tryit-demo .tryit-sim-marker-note:is(:hover, :focus-visible, .is-drag-ready) { border-radius:9px; }
.tryit-demo .tryit-sim-marker-zone:is(:hover, :focus-visible, .is-drag-ready) { border-radius: 18px; }
@keyframes tryit-plant-profile-ready { from { transform: translate(-50%, -50%) translate(-1px, 0) scale(.99); } to { transform: translate(-50%, -50%) translate(1px, -1px) scale(1.015); } }
.tryit-sim-plant-profile { position: fixed; left: var(--marker-x, 50%); top: var(--marker-y, 50%); z-index: 12001; width: min(calc(100vw - 24px), 960px); height: min(62vh, 620px); height: min(62dvh, 620px); transform: translate(calc(-50% + var(--panel-x)), calc(-50% + var(--panel-y))); overflow:visible; border:1px solid rgba(214,242,191,.14); border-radius:clamp(24px,4vw,42px); background:radial-gradient(ellipse at center,rgba(19,66,40,.28),rgba(7,26,17,.08) 58%,transparent 78%); color: rgba(255,255,255,.92); box-shadow:inset 0 0 70px rgba(150,213,117,.05); filter: drop-shadow(0 12px 28px rgba(0,0,0,.16)); pointer-events: auto; animation: tryit-profile-arrive 1.15s cubic-bezier(.18,.78,.28,1) both; }
.tryit-sim-plant-profile.is-dragging { filter: drop-shadow(0 11px 24px rgba(0,0,0,.16)); }
@keyframes tryit-profile-arrive { from { opacity: 0; transform: translate(calc(-50% + var(--panel-x)), calc(-46% + var(--panel-y))) scale(.94); } to { opacity: 1; transform: translate(calc(-50% + var(--panel-x)), calc(-50% + var(--panel-y))) scale(1); } }
/* Legacy fixed-position PIM layout removed; the shared honeycomb rules below own every Demo and Creator PIM surface. */

.tryit-sim-marker-note.is-expanded,
.tryit-sim-marker-note:not(.is-expanded) { width:min(78vw,248px); height:102px; min-height:102px; padding:15px 19px; }
.tryit-sim-marker-note { --note-board-color:#9a6b50; --spatial-note-color:var(--note-board-color); display:grid; place-content:center; gap:4px; overflow:hidden; font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif; text-align:center; cursor:pointer; }
.tryit-sim-marker-note::before,.tryit-sim-marker-note::after { display:none; }
.tryit-sim-marker-zone:not(.is-expanded) { width: 64px; height: 150px; border:0; border-radius:0; overflow:visible; background:#70875b; box-shadow:0 12px 22px rgba(0,0,0,.2); backdrop-filter:none; }
.tryit-sim-marker-zone:not(.is-expanded)::before { content:""; position:absolute; left:0; top:-12px; width:126%; height:12px; background:#b7c894; clip-path:polygon(0 42%,22% 0,100% 20%,79% 100%); pointer-events:none; }
.tryit-sim-marker-zone:not(.is-expanded)::after { content:""; position:absolute; left:100%; top:-9px; width:26%; height:calc(100% + 9px); background:#3d5238; clip-path:polygon(0 1%,100% 0,100% 96%,0 100%); pointer-events:none; }
.tryit-sim-marker-note:not(.is-expanded) strong { display:block; color:#fff; font-size:.88rem; font-weight:800; line-height:1.2; white-space:normal; }
.tryit-sim-marker-note:not(.is-expanded) small { display:block; max-height:1.35em; overflow:hidden; color:rgba(255,255,255,.82); font-size:.62rem; font-weight:650; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.tryit-sim-marker-area.is-expanded { border-color: rgba(137,200,239,.72); }
.tryit-demo.is-immersive .tryit-sim-marker,
.tryit-demo.is-immersive .tryit-sim-plant-profile,

.temporary-ar-demo { position: fixed; inset: 0; z-index: 12000; overflow: hidden; background: #183426; }
.temporary-demo-xr-canvas { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 11999; }
.temporary-demo-stage { position: fixed; inset: 0; display: grid; place-items: center; background: radial-gradient(circle at 50% 35%, rgba(150, 202, 130, .48), transparent 34%), linear-gradient(#8db59a, #55745e 50%, #334d38 51%, #1d3324); }
.temporary-ar-demo.is-immersive,
.temporary-ar-demo.is-immersive .temporary-demo-stage,
body:has(.temporary-ar-demo.is-immersive),
body:has(.temporary-ar-demo.is-immersive) #app { background: transparent !important; }
.temporary-ar-demo.is-immersive,
.temporary-ar-demo.is-immersive .temporary-demo-stage,
.temporary-ar-demo.is-immersive .temporary-demo-card,
body:has(.temporary-ar-demo.is-immersive) #app { pointer-events: none; }
.temporary-demo-reticle { width: 42px; height: 42px; border: 2px dashed rgba(255,255,255,.9); border-radius: 50%; box-shadow: 0 0 0 8px rgba(255,255,255,.12); position: fixed; left: calc(50% - 21px); top: calc(50% + 3.5cm - 21px); z-index: 12001; pointer-events: none !important; transition: border-color .2s, background .2s, box-shadow .2s; }
.temporary-demo-reticle.has-surface { border-style: solid; border-color: #dcef95; background: rgba(220,239,149,.2); box-shadow: 0 0 0 8px rgba(220,239,149,.14), 0 0 24px rgba(220,239,149,.35); }
.temporary-demo-guide { position: fixed; left: 50%; top: calc(50% + 3.5cm + 36px); transform: translateX(-50%); z-index: 12001; pointer-events: none !important; color: rgba(255,255,255,.92); font-size: .9rem; font-weight: 600; text-shadow: 0 2px 8px rgba(0,0,0,.5); text-align: center; white-space: nowrap; }
.temporary-demo-exit { position: fixed; top: max(14px, env(safe-area-inset-top)); right: 14px; z-index: 12002; pointer-events: auto; border-color: rgba(255,255,255,.6); background: rgba(18,38,26,.76); color: #fff; backdrop-filter: blur(8px); }
.temporary-demo-place-control { position: fixed; left: 50%; top: calc(50% + 3.5cm); z-index: 12003; display: grid; justify-items: center; gap: 10px; min-width: 170px; padding: 0; transform: translate(-50%, -50%); border: 0; background: transparent; color: #fff; font: inherit; font-size: .78rem; font-weight: 800; text-shadow: 0 2px 8px rgba(0,0,0,.7); pointer-events: auto; }
.temporary-demo-place-control[hidden] { display: none; }
.temporary-demo-place-control:active .breathing-circle { transform: scale(.9); }
.temporary-demo-place-control .breathing-circle { position: static; display: block; pointer-events: none; }
.temporary-demo-choice { position: fixed; left: 50%; bottom: max(84px, env(safe-area-inset-bottom)); z-index: 12004; display: grid; gap: 10px; width: min(90vw, 360px); padding: 16px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.3); border-radius: 16px; background: rgba(12,27,18,.92); color: #fff; box-shadow: 0 12px 34px rgba(0,0,0,.4); backdrop-filter: blur(14px); pointer-events: auto; }
.temporary-demo-choice h2, .temporary-demo-choice p { margin: 0; }
.temporary-demo-choice label { display: grid; gap: 5px; font-size: .75rem; font-weight: 700; }
.temporary-demo-choice input { min-height: 38px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.3); border-radius: 9px; background: rgba(255,255,255,.1); color: #fff; font: inherit; }
.temporary-demo-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.temporary-demo-choice-grid button { min-height: 44px; padding: 6px; border-color: rgba(220,239,149,.45); background: rgba(220,239,149,.12); color: #fff; font-size: .7rem; }
.creator-ar-canvas { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 11999; }
.creator-ar-overlay { position: fixed; inset: 0; z-index: 12001; overflow: visible; contain: none; pointer-events: none; }
.creator-ar-area-lens { position:fixed; top:max(14px,env(safe-area-inset-top)); left:50%; z-index:7; display:flex; align-items:center; gap:10px; width:min(calc(100vw - 24px),430px); box-sizing:border-box; padding:8px 10px; transform:translateX(-50%); border:1px solid rgba(221,242,201,.28); border-radius:16px; background:rgba(8,27,16,.76); box-shadow:0 10px 26px rgba(0,0,0,.2); backdrop-filter:blur(12px); color:#fff; pointer-events:auto; }
.creator-ar-area-lens > div { display:grid; min-width:0; gap:2px; flex:1; }
.creator-ar-area-lens > div > span { color:rgba(235,249,223,.62); font-size:.52rem; font-weight:800; letter-spacing:.14em; }
.creator-ar-area-lens > div > strong { overflow:hidden; color:#fff; font-size:.83rem; line-height:1.1; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.creator-ar-area-lens > button { min-height:30px; padding:5px 9px; border:1px solid rgba(220,239,149,.54); border-radius:10px; background:rgba(220,239,149,.14); color:#edffc7; font-size:.62rem; font-weight:850; letter-spacing:.08em; }
.creator-ar-area-lens-panel { position:absolute; top:calc(100% + 8px); left:0; right:0; display:grid; gap:9px; max-height:min(58vh,440px); overflow:auto; padding:12px; border:1px solid rgba(255,255,255,.25); border-radius:16px; background:rgba(9,29,18,.95); box-shadow:0 16px 36px rgba(0,0,0,.3); color:#fff; }
.creator-ar-area-lens-panel[hidden] { display:none; }
.creator-ar-area-lens-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.creator-ar-area-lens-heading strong { color:rgba(235,249,223,.72); font-size:.6rem; letter-spacing:.1em; }
.creator-ar-area-lens-heading button { min-width:28px; min-height:28px; padding:0; border-color:rgba(255,255,255,.24); background:transparent; color:#fff; font-size:1.1rem; }
.creator-ar-area-lens-help, .creator-ar-area-lens-panel > p { margin:0; color:rgba(255,255,255,.72); font-size:.68rem; line-height:1.35; }
.creator-ar-area-lens-options { display:grid; gap:6px; }
.creator-ar-area-lens-options button { display:grid; grid-template-columns:28px 1fr; align-items:center; gap:9px; min-height:48px; padding:7px 8px; border:1px solid rgba(255,255,255,.2); border-radius:11px; background:rgba(255,255,255,.08); color:#fff; text-align:left; }
.creator-ar-area-lens-options button[disabled] { border-color:rgba(220,239,149,.5); background:rgba(220,239,149,.12); opacity:1; }
.creator-ar-area-lens-options button > span:not(.creator-ar-area-lens-totem) { display:grid; gap:2px; min-width:0; }
.creator-ar-area-lens-options strong { overflow:hidden; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.creator-ar-area-lens-options small { color:rgba(255,255,255,.68); font-size:.62rem; line-height:1.25; }
.creator-ar-area-lens-totem { display:grid; place-items:center; width:26px; height:26px; border:1px solid rgba(220,239,149,.58); border-radius:50%; color:#eaff9a; font-size:1rem; }
.creator-ar-location-note { position:fixed; inset:0; z-index:2; overflow:hidden; pointer-events:none; }
.creator-ar-location-note[hidden] { display:none; }
.creator-ar-location-note-board { --spatial-note-color:#4b7f59; position:absolute; left:var(--location-note-x,50vw); top:var(--location-note-y,20vh); display:grid; place-content:center; gap:6px; width:min(62vw,520px); min-height:clamp(112px,15vh,152px); padding:clamp(18px,3.5vw,30px); transform:translate(-50%,-50%); border-color:rgba(240,255,232,.5); background:radial-gradient(circle at 20% 12%,rgba(255,255,255,.1),transparent 38%),linear-gradient(145deg,rgba(54,102,70,.38),rgba(9,38,24,.22)); box-shadow:0 16px 42px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.12); backdrop-filter:blur(10px); text-align:center; text-shadow:0 2px 5px rgba(0,0,0,.66); animation:creator-ar-location-note-arrive 1.5s cubic-bezier(.16,.82,.22,1) both; }
.creator-ar-location-note-board > span:first-child { color:rgba(244,255,238,.68); font-size:clamp(.5rem,1.3vw,.66rem); font-weight:800; letter-spacing:.16em; }
.creator-ar-location-note-board small { color:rgba(247,255,242,.52); font-size:clamp(.44rem,1.1vw,.56rem); font-weight:750; letter-spacing:.13em; }
.creator-ar-location-note-board strong { color:rgba(255,255,255,.94); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:clamp(1.05rem,4.2vw,2.15rem); font-weight:710; letter-spacing:.04em; line-height:1.03; overflow-wrap:anywhere; text-transform:uppercase; }
.creator-ar-location-note-board [data-ar-location-area] { color:rgba(247,255,242,.78); font-size:clamp(.58rem,1.7vw,.82rem); font-weight:700; letter-spacing:.07em; }
.creator-ar-location-stick { position:absolute; left:var(--location-stick-x,50vw); top:var(--location-stick-y,31vh); width:var(--location-stick-length,38vh); height:1px; transform:rotate(var(--location-stick-angle,90deg)); transform-origin:0 50%; background:repeating-linear-gradient(90deg,rgba(222,247,208,.38) 0 7px,rgba(222,247,208,.06) 7px 13px); opacity:.72; }
.creator-ar-location-ground { position:absolute; left:var(--location-ground-x,50vw); top:var(--location-ground-y,72vh); width:18px; height:6px; transform:translate(-50%,-50%); border:1px solid rgba(225,249,210,.3); border-radius:50%; background:rgba(73,126,84,.12); box-shadow:0 0 0 5px rgba(205,240,185,.025); }
@keyframes creator-ar-location-note-arrive { 0% { opacity:0; filter:blur(8px); transform:translate(-50%,-34%) scale(.78); } 62% { opacity:.62; filter:blur(1px); } 100% { opacity:.7; filter:blur(0); transform:translate(-50%,-50%) scale(1); } }
.creator-ar-totem-information { z-index:5; overflow:visible; }
.creator-ar-totem-information .creator-ar-totem-balloon { z-index:6; opacity:1 !important; border:2px solid rgba(231,255,213,.9); background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.26),transparent 40%),linear-gradient(145deg,rgba(25,99,56,.96),rgba(5,35,21,.97)); box-shadow:0 18px 42px rgba(0,0,0,.44),0 0 0 5px rgba(205,240,185,.12),inset 0 1px rgba(255,255,255,.24); text-shadow:0 2px 6px rgba(0,0,0,.82); animation:creator-ar-totem-balloon-arrive .42s cubic-bezier(.18,.78,.28,1) both; }
.creator-ar-totem-information .creator-ar-totem-balloon-text { color:#fbfff7; font-weight:750; text-shadow:0 2px 5px rgba(0,0,0,.76); }
@keyframes creator-ar-totem-balloon-arrive { from { opacity:0; filter:brightness(.8) blur(3px); transform:translate(-50%,-46%) scale(.92); } to { opacity:1; filter:brightness(1) blur(0); transform:translate(-50%,-50%) scale(1); } }
.creator-ar-control-dock { position: fixed; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); z-index: 6; display: grid; width: min(calc(100vw - 20px), 430px); transform: translateX(-50%); pointer-events: none; }
.creator-ar-taskbar { position: relative; z-index: 2; display: flex; justify-content: center; gap: 4px; width: 100%; box-sizing: border-box; padding: 5px; border: 1px solid rgba(189,220,239,.34); border-radius: 16px; background: rgba(10,23,31,.9); box-shadow: 0 7px 20px rgba(0,0,0,.2); backdrop-filter: blur(6px); overflow-x: auto; pointer-events: auto; }
@media (max-width: 360px) { .creator-ar-taskbar { justify-content: flex-start; } }
.creator-ar-control-dock:has(> :not(nav):not([hidden])) .creator-ar-taskbar,
.creator-ar-control-dock:has(.creator-ar-context-toolbar:not([hidden])) .creator-ar-taskbar { border-radius: 0 0 16px 16px; }
.creator-ar-context-toolbar { position:relative; z-index:3; display:flex; align-items:stretch; justify-content:center; gap:4px; box-sizing:border-box; width:100%; padding:5px; overflow-x:auto; border:1px solid rgba(255,255,255,.28); border-bottom:0; border-radius:16px 16px 0 0; background:rgba(17,39,29,.94); box-shadow:0 -7px 20px rgba(0,0,0,.16); backdrop-filter:blur(9px); pointer-events:auto; }
.creator-ar-context-toolbar[hidden] { display:none; }
.creator-ar-context-toolbar button, body[data-project-theme] .creator-ar-context-toolbar button { display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto; align-items:center; justify-content:center; gap:0 5px; min-width:58px; min-height:46px; padding:5px 7px; border:1px solid rgba(255,255,255,.22); border-radius:10px; background:rgba(255,255,255,.07) !important; color:#fff; box-shadow:none; pointer-events:auto; touch-action:manipulation; }
.creator-ar-context-toolbar button b { grid-row:1 / 3; display:grid; place-items:center; min-width:19px; font-size:.92rem; }
.creator-ar-context-toolbar button span { font-size:.55rem; font-weight:850; letter-spacing:.045em; line-height:1.05; white-space:nowrap; }
.creator-ar-context-toolbar button small { color:rgba(255,255,255,.72); font-size:.52rem; line-height:1.05; white-space:nowrap; }
.creator-ar-context-label { align-self:center; padding:0 3px; color:rgba(255,255,255,.58); font-size:.5rem; font-weight:900; letter-spacing:.12em; writing-mode:vertical-rl; transform:rotate(180deg); }
.creator-ar-color-cycle { width:17px; height:17px; border:2px solid rgba(255,255,255,.8); border-radius:50%; background:var(--cycle-color); box-shadow:0 0 9px color-mix(in srgb,var(--cycle-color) 58%,transparent); }
.creator-ar-placement-capture { position: fixed; inset: 0; z-index: 2; display: block; background: transparent !important; pointer-events: none; touch-action: manipulation; }
.creator-ar-overlay.is-placement-armed .creator-ar-placement-capture { pointer-events: auto; }
.creator-ar-overlay .creator-ar-placement-guide { position: fixed; left: 50%; top: calc(50% + 3.5cm); z-index: 3; width: 116px; height: 116px; transform: translate(-50%, -50%); opacity: 0; pointer-events: none; transition: opacity .22s ease; }
.creator-ar-overlay.is-placement-armed .creator-ar-placement-guide { opacity: 1; }
.creator-ar-overlay.is-placement-armed .creator-ar-placement-guide { pointer-events: auto; }
.creator-ar-note-placement-preview { position:fixed; left:0; top:0; z-index:2; width:var(--marker-note-width,min(86vw,280px)); height:var(--marker-note-height,116px); transform:translate(-200vw,-200vh); pointer-events:none; }
.creator-ar-note-placement-preview[hidden] { display:none; }
.creator-ar-note-placement-preview .creator-ar-note-placement-surface { left:0; bottom:auto; display:grid; place-content:center; width:100%; max-width:none; height:100%; padding:18px 22px; opacity:var(--marker-opacity,1); visibility:visible; transform:none; text-align:center; text-shadow:0 2px 5px rgba(0,0,0,.72); white-space:normal; animation:creator-ar-note-preview-arrive .42s ease-out both; }
.creator-ar-note-placement-preview .creator-ar-note-placement-surface small { display:none; }
@keyframes creator-ar-note-preview-arrive { from { opacity:0; filter:blur(5px); scale:.78; } to { opacity:var(--marker-opacity,1); filter:blur(0); scale:1; } }
.creator-ar-breathing-target { position: absolute; inset: 18px; border: 2px solid rgba(226,244,181,.92); border-radius: 50%; background: radial-gradient(circle, rgba(226,244,181,.08), transparent 58%); box-shadow: 0 0 0 8px rgba(226,244,181,.08), 0 0 28px rgba(192,230,151,.25); animation: creator-ar-breathe 1.8s ease-in-out infinite; }
.creator-ar-placement-pointer { position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; transform: translate(-50%, -50%); border: 2px solid rgba(255,255,255,.96); border-radius: 50%; background: rgba(76,126,66,.58); box-shadow: 0 0 8px rgba(255,255,255,.7); }
.creator-ar-placement-pointer::after { content: ""; position: absolute; left: 50%; top: 10px; width: 1px; height: 18px; transform: translateX(-50%); background: linear-gradient(rgba(255,255,255,.9), transparent); }
.creator-ar-placement-guide-label { position: absolute; left: 50%; top: calc(100% + 4px); min-width: max-content; transform: translateX(-50%); color: rgba(255,255,255,.94); font-size: .72rem; font-weight: 750; letter-spacing: .025em; text-shadow: 0 2px 8px rgba(0,0,0,.75); }
.creator-ar-mode-pointer { position: fixed; left: 50%; top: calc(50% + 3.5cm); z-index: 3; display: grid; justify-items: center; transform: translate(-50%,-50%); opacity: 1; color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.75); pointer-events: none; transition: opacity .18s ease; }
.creator-ar-mode-pointer span { position: relative; width: 9px; height: 9px; border: 1px solid rgba(255,255,255,.94); border-radius: 50%; background: rgba(255,255,255,.82); box-shadow: 0 0 0 5px rgba(255,255,255,.08), 0 0 15px rgba(192,230,151,.3); transition: width .18s, height .18s, border-radius .18s, transform .18s, border-color .18s, background .18s; }
.creator-ar-mode-pointer span::before, .creator-ar-mode-pointer span::after { content: ""; position: absolute; left: 50%; top: 50%; background: #fff; opacity: 0; transform: translate(-50%, -50%); transition: opacity .14s; }
.creator-ar-mode-pointer span::before { width: 9px; height: 2px; }
.creator-ar-mode-pointer span::after { width: 2px; height: 9px; }
.creator-ar-overlay.is-placement-armed .creator-ar-mode-pointer { opacity: 0; visibility: hidden; }
.creator-ar-overlay.is-neutral-mode .creator-ar-mode-pointer { opacity: 1; visibility: visible; }
.creator-ar-overlay.is-view-mode .creator-ar-mode-pointer { opacity: 0; visibility: hidden; }
.creator-ar-overlay.is-controller-mode .creator-ar-mode-pointer,
.creator-ar-overlay.is-controller-mode .creator-ar-placement-guide { opacity: 0; visibility: hidden; }
.creator-ar-controller-pointer { position:fixed; left:0; top:0; z-index:12005; display:grid; place-items:center; width:18px; height:18px; transform:translate(-50%,-50%); pointer-events:none; filter:drop-shadow(0 0 8px rgba(69,228,93,.85)); }
.creator-ar-controller-pointer[hidden] { display:none; }
.creator-ar-controller-pointer span { position:relative; display:block; width:8px; height:8px; border:1px solid rgba(150,255,150,.95); border-radius:50%; background:#45e45d; box-shadow:0 0 0 3px rgba(69,228,93,.18),0 0 12px rgba(69,228,93,.85); }
.creator-ar-controller-pointer span::before,
.creator-ar-controller-pointer span::after { content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#efffc9; border-radius:999px; }
.creator-ar-controller-pointer span::before,
.creator-ar-controller-pointer span::after { display:none; }
.creator-ar-controller-pointer.is-edge span { border-color:#fff; background:rgba(255,255,255,.16); }
.creator-ar-overlay.is-hold-mode .creator-ar-mode-pointer span { width: 28px; height: 28px; border-radius: 8px; border-color: #ffe3a0; background: rgba(255,227,160,.08); transform: scale(1.08); }
.creator-ar-overlay.is-hold-mode .creator-ar-mode-pointer span::before,
.creator-ar-overlay.is-hold-mode .creator-ar-mode-pointer span::after,
.creator-ar-overlay.is-select-mode .creator-ar-mode-pointer span::before,
.creator-ar-overlay.is-select-mode .creator-ar-mode-pointer span::after { opacity: 1; }
.creator-ar-overlay.is-holding-item .creator-ar-mode-pointer span { border-color: #dcef95; background: rgba(220,239,149,.24); box-shadow: 0 0 0 9px rgba(220,239,149,.12), 0 0 25px rgba(220,239,149,.52); }
.creator-ar-depth-joystick { position: fixed; left: 50%; top: calc(50% + 3.5cm); z-index: 2; display: block; width: 84px; height: 220px; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.34); border-radius: 38px; background: linear-gradient(rgba(51,73,48,.68), rgba(8,21,13,.78) 48%, rgba(51,73,48,.68)); color: #fff; box-shadow: 0 9px 24px rgba(0,0,0,.2); backdrop-filter: blur(8px); pointer-events: none; }
.creator-ar-depth-joystick[hidden] { display: none; }
.creator-ar-depth-joystick > strong { position: absolute; left: 8px; right: 8px; top: 8px; overflow: hidden; font-size: .58rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.creator-ar-depth-label { position: absolute; left: 4px; right: 4px; color: rgba(255,255,255,.86); font-size: .54rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.creator-ar-depth-push { top: 31px; }
.creator-ar-depth-pull { bottom: 27px; }
.creator-ar-depth-track { position: absolute; left: 50%; top: 50%; width: 7px; height: 104px; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.38); border-radius: 999px; background: rgba(5,12,8,.48); box-shadow: inset 0 0 5px rgba(0,0,0,.35); }
.creator-ar-depth-track i { position: absolute; left: 50%; top: 50%; width: 38px; height: 38px; transform: translate(-50%, calc(-50% + var(--depth-shift, 0px))); border: 3px solid #dcef95; border-radius: 13px; background: rgba(15,31,20,.82); box-shadow: 0 0 0 9px rgba(220,239,149,.1), 0 0 18px rgba(220,239,149,.35); transition: transform .05s linear; }
.creator-ar-depth-joystick > small { position: absolute; left: 4px; right: 4px; bottom: 8px; color: #fff; font-size: .62rem; font-weight: 800; text-align: center; }
.creator-ar-overlay.is-select-mode .creator-ar-mode-pointer span { width: 28px; height: 28px; border-radius: 50%; border-style: dashed; border-color: #9bddff; background: rgba(155,221,255,.06); animation: creator-ar-pointer-turn 2.4s linear infinite; }
@keyframes creator-ar-pointer-turn { to { transform: rotate(360deg); } }
@keyframes creator-ar-breathe { 0%, 100% { transform: scale(.86); opacity: .62; } 50% { transform: scale(1.08); opacity: 1; } }
.creator-ar-status { position: fixed; left: 50%; top: max(16px, env(safe-area-inset-top)); z-index: 5; max-width: min(82vw, 420px); margin: 0; padding: 7px 11px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(7,22,14,.7); color: #fff !important; box-shadow: 0 5px 18px rgba(0,0,0,.2); backdrop-filter: blur(9px); font-size: .68rem; font-weight: 700; line-height: 1.3; text-align: center; text-shadow: 0 1px 4px rgba(0,0,0,.75); pointer-events: none; }
.creator-ar-status *, body[data-project-theme] .creator-ar-status, body[data-project-theme] .creator-ar-status * { color: #fff !important; }
.creator-ar-status:empty { display: none; }
.creator-ar-plant-editor-banner { position:fixed; left:50%; top:calc(max(16px,env(safe-area-inset-top)) + 48px); z-index:5; display:grid; gap:2px; min-width:min(46vw,210px); max-width:min(calc(100vw - 32px),320px); box-sizing:border-box; padding:6px 11px; transform:translateX(-50%); border:1px solid rgba(214,239,182,.34); border-radius:12px; background:rgba(7,22,14,.62); box-shadow:0 5px 18px rgba(0,0,0,.16); backdrop-filter:blur(8px); color:#fff; text-align:center; pointer-events:none; }
.creator-ar-plant-editor-banner span { color:rgba(230,247,210,.7); font-size:.5rem; font-weight:850; letter-spacing:.15em; }
.creator-ar-plant-editor-banner strong { overflow:hidden; color:#fff; font-size:.72rem; font-weight:750; line-height:1.2; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.creator-ar-controller-hud { position:fixed; left:50%; bottom:calc(max(14px,env(safe-area-inset-bottom)) + 76px); z-index:8; display:grid; gap:3px; width:min(calc(100vw - 30px),380px); box-sizing:border-box; padding:9px 12px; transform:translateX(-50%); border:1px solid rgba(220,239,149,.5); border-radius:13px; background:linear-gradient(145deg,rgba(27,63,37,.94),rgba(9,27,17,.94)); color:#fff; box-shadow:0 10px 26px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.1); backdrop-filter:blur(12px); text-align:center; pointer-events:none; }
.creator-ar-controller-hud[hidden] { display:none; }
.creator-ar-controller-hud strong { color:#dcef95; font-size:.56rem; font-weight:850; letter-spacing:.13em; }
.creator-ar-controller-hud span { overflow:hidden; color:#fff; font-size:.74rem; font-weight:800; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.creator-ar-controller-hud small { color:rgba(255,255,255,.72); font-size:.58rem; line-height:1.2; }
.creator-ar-overlay.is-controller-mode .creator-ar-taskbar { opacity:1; pointer-events:auto; }
.creator-ar-recenter-prompt { position:fixed; left:50%; bottom:calc(max(14px, env(safe-area-inset-bottom)) + 66px); z-index:7; display:flex; align-items:center; gap:10px; width:min(calc(100vw - 28px),410px); box-sizing:border-box; padding:9px 10px 9px 13px; transform:translateX(-50%); border:1px solid rgba(196,231,178,.54); border-radius:14px; background:linear-gradient(145deg,rgba(25,53,34,.96),rgba(9,26,17,.96)); box-shadow:0 10px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.09); color:#fff; backdrop-filter:blur(12px); pointer-events:auto; }
.creator-ar-recenter-prompt[hidden] { display:none; }
.creator-ar-recenter-prompt span { display:grid; flex:1; gap:2px; min-width:0; }
.creator-ar-recenter-prompt strong { color:#f3f9e8; font-size:.66rem; font-weight:850; letter-spacing:.07em; }
.creator-ar-recenter-prompt small { color:rgba(237,247,226,.72); font-size:.58rem; line-height:1.2; }
.creator-ar-recenter-prompt button, body[data-project-theme] .creator-ar-recenter-prompt button { flex:0 0 auto; min-height:38px; padding:8px 11px; border:1px solid #a8cc87; border-radius:9px; background:#4f7948 !important; color:#fff; font-size:.62rem; font-weight:850; letter-spacing:.035em; box-shadow:inset 0 1px rgba(255,255,255,.12); }
.creator-ar-recenter-prompt button:disabled { opacity:.46; }
.creator-ar-taskbar button, body[data-project-theme] .creator-ar-taskbar button { display: inline-flex; align-items: center; gap: 5px; min-height: 34px; padding: 6px 7px; border: 1px solid rgba(255,255,255,.18); border-radius: 11px; background: rgba(255,255,255,.06) !important; color: rgba(255,255,255,.9); font-size: .66rem; white-space: nowrap; box-shadow:none; }
.creator-ar-taskbar > button { position:relative; flex:0 0 auto; isolation:isolate; pointer-events:auto; touch-action:manipulation; }
.creator-ar-taskbar button b { font-size: .95rem; line-height: 1; }
.creator-ar-taskbar button.is-active { border-color:#fff; color:#fff; outline:2px solid rgba(255,255,255,.22); outline-offset:1px; }
.creator-ar-taskbar .creator-ar-add-marker, body[data-project-theme] .creator-ar-taskbar .creator-ar-add-marker { min-height: 38px; padding: 7px 13px; color: #fff; box-shadow:none; }
.creator-ar-taskbar .creator-ar-add-plant, body[data-project-theme] .creator-ar-taskbar .creator-ar-add-plant { border-color:#71a86b; background:#397a4b !important; }
.creator-ar-taskbar .creator-ar-add-note, body[data-project-theme] .creator-ar-taskbar .creator-ar-add-note { border-color:#e1a06d; background:#a95d32 !important; }
.creator-ar-add-marker strong { font-size: .68rem; letter-spacing: .055em; }
.creator-ar-taskbar .creator-ar-special-marker, body[data-project-theme] .creator-ar-taskbar .creator-ar-special-marker { min-height: 38px; padding: 7px 10px; border-color:#aa93cf; background:#665086 !important; color:#fff; }
.creator-ar-taskbar [data-ar-view-mode], body[data-project-theme] .creator-ar-taskbar [data-ar-view-mode] { border-color:#67aee2; background:#246ea6 !important; }
.creator-ar-taskbar [data-ar-select-mode], body[data-project-theme] .creator-ar-taskbar [data-ar-select-mode] { border-color:#72c4ce; background:#267681 !important; }
.creator-ar-special-marker strong { font-size: .62rem; letter-spacing: .04em; }
.creator-ar-mode-control, .creator-ar-icon-control { min-width: 34px; justify-content: center; padding-inline: 6px !important; }
.creator-ar-taskbar [data-ar-view-mode], .creator-ar-taskbar [data-ar-select-mode] { overflow: hidden; }
.creator-ar-mode-control b { font-size: 1rem !important; }
.creator-ar-view-icon { position: relative; display: inline-block; width: 17px; height: 10px; border: 1px solid rgba(255,255,255,.76); border-radius: 70% 12% 70% 12%; transform: rotate(-45deg); background: rgba(255,255,255,.06); }
.creator-ar-view-icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; transform: translate(-50%, -50%); border-radius: 50%; background: rgba(220,239,149,.82); box-shadow: 0 0 6px rgba(220,239,149,.48); }
.creator-ar-place-picker { position: relative; z-index: 1; display: grid; width: 100%; box-sizing: border-box; gap: 7px; padding: 9px; border: 1px solid rgba(255,255,255,.3); border-bottom: 0; border-radius: 16px 16px 0 0; background: rgba(12,34,22,.88) !important; box-shadow: 0 -6px 20px rgba(0,0,0,.15); backdrop-filter: blur(12px); color: #fff; pointer-events: auto; }
.creator-ar-place-picker[hidden] { display: none; }
.creator-ar-place-picker p { margin: 0; font-size: .72rem; font-weight: 800; text-shadow: 0 1px 5px rgba(0,0,0,.65); }
.creator-ar-place-picker button, body[data-project-theme] .creator-ar-place-picker button { min-height: 36px; padding: 6px 8px; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08) !important; color: #fff; font-size: .7rem; white-space: nowrap; }
.creator-ar-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.creator-ar-picker-heading > button { width: 32px; min-width: 32px; padding: 0; font-size: 1rem; }
.creator-ar-picker-status { color: rgba(255,255,255,.72); font-weight: 550 !important; line-height: 1.35; }
.creator-ar-type-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.creator-ar-common-types { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.creator-ar-type-options button.is-selected { border-color: #dcef95; background: rgba(220,239,149,.28); }
.creator-ar-special-totem { display: grid !important; grid-template-columns: 36px 1fr; align-items: center !important; gap: 9px !important; min-height: 54px !important; text-align: left; white-space: normal !important; border-color: rgba(137,200,239,.65) !important; background: linear-gradient(135deg, rgba(37,91,99,.9), rgba(31,69,61,.84)) !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 5px 14px rgba(0,0,0,.14); }
.creator-ar-special-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.creator-ar-special-section { display:grid; gap:5px; padding-top:6px; border-top:1px solid rgba(255,255,255,.13); }
.creator-ar-special-section:first-of-type { padding-top:0; border-top:0; }
.creator-ar-special-section > strong { color:rgba(255,255,255,.7); font-size:.56rem; letter-spacing:.12em; }
.creator-ar-totem-section .creator-ar-special-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.creator-ar-indicator-section > small { color:rgba(255,255,255,.58); font-size:.5rem; font-weight:800; letter-spacing:.1em; }
.creator-ar-totem-action { border-color:rgba(89,220,235,.82) !important; background:linear-gradient(135deg,rgba(20,111,135,.96),rgba(20,68,103,.94)) !important; }
.creator-ar-symbol-marker { border-color:rgba(241,199,104,.68) !important; background:linear-gradient(135deg,rgba(103,76,34,.9),rgba(68,53,27,.9)) !important; }
.creator-ar-special-grid .creator-ar-special-totem { grid-template-columns: 25px minmax(0, 1fr) !important; gap: 5px !important; min-height: 42px !important; padding: 5px 6px !important; }
.creator-ar-special-grid .creator-ar-special-totem > b { width: 23px; height: 23px; font-size: .75rem; }
.creator-ar-special-grid .creator-ar-special-totem strong { font-size: .62rem; line-height: 1.1; white-space: normal; }
.creator-ar-special-totem > b { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 1rem; }
.creator-ar-special-totem span { display: grid; gap: 2px; color: #fff; white-space: normal; }
.creator-ar-special-totem small { color: rgba(255,255,255,.72); font-size: .64rem; line-height: 1.25; white-space: normal; }
.creator-ar-place-picker .creator-ar-special-totem strong,
.creator-ar-place-picker .creator-ar-special-totem span,
.creator-ar-place-picker .creator-ar-special-totem small { color: #fff !important; text-shadow: 0 1px 3px rgba(0,0,0,.68); }
.creator-ar-place-picker .creator-ar-special-totem small { color: rgba(255,255,255,.84) !important; }
.creator-ar-place-picker form, .creator-ar-place-picker label { display: grid; gap: 7px; color: #fff; }
.creator-ar-place-picker input { min-height: 40px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.32); border-radius: 10px; background: rgba(255,255,255,.1); color: #fff; font: inherit; }
.creator-ar-after-place-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.creator-ar-marker-layer { position: fixed; inset: 0; z-index: 1; pointer-events: none; }
.creator-ar-marker-layer.is-interactive { pointer-events: none; }
.creator-ar-marker { position: fixed; display: block; box-sizing: border-box; width: 13px; height: 13px; min-width: 0; min-height: 0; padding: 0; border: 1px solid rgba(238,248,235,.68); border-radius: 50%; background: radial-gradient(circle at 38% 32%, rgba(238,248,235,.72) 0 14%, rgba(126,190,104,.48) 28% 62%, rgba(75,133,63,.2) 100%) !important; box-shadow: 0 0 0 4px rgba(230,246,223,.055), 0 0 15px rgba(164,221,139,.24); overflow: hidden; backdrop-filter: blur(3px); pointer-events: none; transition: transform .12s ease-out, box-shadow .2s ease-out; }
.creator-ar-marker-note { background: linear-gradient(145deg,rgba(238,242,235,.62),rgba(91,101,94,.34)) !important; }
.creator-ar-marker-intro_checkpoint, .creator-ar-marker-sub_checkpoint { background: radial-gradient(circle at 38% 32%, rgba(236,247,255,.78) 0 14%, rgba(82,157,211,.5) 28% 62%, rgba(29,91,139,.2) 100%) !important; }
.creator-ar-marker-hit-target { position: fixed; display: block; box-sizing: border-box; width: var(--marker-hit-size,64px); height: var(--marker-hit-size,64px); border-radius: 50%; background: transparent !important; pointer-events: none; }
.creator-ar-marker-hit-target[hidden],
.creator-ar-marker-hit-target.is-projection-hidden { display: none !important; }
.creator-ar-marker-hit-target-note { width:var(--marker-note-width,min(72vw,280px)); height:var(--marker-note-height,116px); border:0; border-radius:0; background:transparent; }
.creator-ar-marker-hit-target-note::before,
.creator-ar-marker-hit-target-note::after { display:none; }
.creator-ar-marker-hit-target-intro_checkpoint,
.creator-ar-marker-hit-target-sub_checkpoint { width: 76px; height: 94px; border-radius: 24px; }
.creator-ar-marker-hit-target-area_checkpoint { width: 116px; height: 184px; border-radius: 20px; }
.creator-ar-marker-hit-target::before { content: ""; position: absolute; left: 50%; bottom: 100%; width: 1px; height: 7px; transform: translateX(-50%); background: linear-gradient(rgba(238,248,235,.7), transparent); }
.creator-ar-marker-hit-target::after { content: ""; position: absolute; inset: 3px; border: 2px solid transparent; border-radius: inherit; transform: scale(.82); opacity: 0; box-shadow: 0 0 0 0 transparent; transition: transform .16s ease, opacity .16s ease, border-color .16s ease, box-shadow .16s ease; }
.creator-ar-marker-layer.is-interactive .creator-ar-marker-hit-target { pointer-events: auto; }
.creator-ar-marker-layer.is-grab-mode .creator-ar-marker-hit-target { cursor: grab; touch-action: none; }
.creator-ar-marker-layer.is-grab-mode .creator-ar-marker-hit-target.is-adjusting::after { border-color: rgba(226,244,181,.92); transform: scale(1); opacity: 1; box-shadow: 0 0 0 7px rgba(226,244,181,.1), 0 0 20px rgba(192,230,151,.32); }
.creator-ar-marker-layer.is-interactive .creator-ar-marker-hit-target:hover::after,
.creator-ar-marker-layer.is-interactive .creator-ar-marker-hit-target:focus-visible::after { border-color: rgba(216,239,190,.72); transform: scale(.94); opacity: .78; box-shadow: 0 0 0 7px rgba(216,239,190,.08), 0 0 18px rgba(184,220,158,.25); }
.creator-ar-marker-layer .creator-ar-marker-hit-target.is-xr-hover::after { border-color:#eaff9a; transform:scale(1); opacity:1; box-shadow:0 0 0 9px rgba(220,239,149,.16),0 0 28px rgba(220,239,149,.72); animation:creator-ar-marker-breathe 1s ease-in-out infinite alternate; }
.creator-ar-marker-layer .creator-ar-marker-hit-target-area_checkpoint.is-xr-hover::after { display:block; inset:-7px; border-color:#eaff9a; transform:scale(1); opacity:1; box-shadow:0 0 0 9px rgba(220,239,149,.16),0 0 28px rgba(220,239,149,.72); }
.creator-ar-marker-layer .creator-ar-marker-hit-target.is-selected::after { display:block; inset:-8px; border:3px solid #eaff9a; border-radius:inherit; transform:scale(1); opacity:1; box-shadow:0 0 0 5px rgba(220,239,149,.2),0 0 32px rgba(220,239,149,.82),inset 0 0 18px rgba(220,239,149,.18); animation:creator-ar-marker-selected-pulse 1.15s ease-in-out infinite alternate; }
.creator-ar-marker-layer .creator-ar-marker-hit-target.is-xr-hover .creator-ar-spatial-name { opacity:1; visibility:visible; transform:translate(-50%,0); }
.creator-ar-marker-layer .creator-ar-marker-hit-target.is-xr-hover .creator-ar-spatial-name::after { content:' · Press / hold'; color:#eaff9a; }
.creator-ar-marker-hit-target.is-hold-armed::after { border-color: rgba(226,244,181,.92); transform: scale(.96); opacity: .9; box-shadow: 0 0 0 7px rgba(226,244,181,.1), 0 0 20px rgba(192,230,151,.32); animation: creator-ar-marker-breathe 1.1s ease-in-out infinite; }
.creator-ar-marker-hit-target.is-adjusting { cursor: grabbing; touch-action: none; }
.creator-ar-marker-hit-target.is-adjusting::after { border-color: rgba(226,244,181,.92); transform: scale(1); opacity: 1; box-shadow: 0 0 0 7px rgba(226,244,181,.1), 0 0 20px rgba(192,230,151,.32); }
.creator-ar-marker-layer.is-grab-mode .creator-ar-marker-hit-target.is-adjusting { cursor: grabbing; }
.creator-ar-marker-layer.is-grab-mode .creator-ar-marker-hit-target:is(:hover,:focus-visible)::after { border-color: rgba(226,244,181,.82); transform: scale(.96); opacity: .86; box-shadow: 0 0 18px rgba(192,230,151,.28); }
.creator-ar-marker-layer.is-view-mode .creator-ar-marker-hit-target:is(:hover,:focus-visible)::after { border-color: rgba(220,239,149,.55); opacity: .68; animation: creator-ar-marker-breathe 2.2s ease-in-out infinite; }
.creator-ar-marker-layer.is-select-mode .creator-ar-marker-hit-target:is(:hover,:focus-visible)::after { border-color: rgba(155,221,255,.75); border-style: dashed; opacity: .75; transform: scale(.94); }
@keyframes creator-ar-marker-breathe { 50% { transform: scale(.94); opacity: .72; box-shadow: 0 0 15px rgba(220,239,149,.25); } }
@keyframes creator-ar-marker-selected-pulse { from { filter:brightness(1); } to { filter:brightness(1.18); box-shadow:0 0 0 7px rgba(220,239,149,.24),0 0 42px rgba(220,239,149,.95),inset 0 0 22px rgba(220,239,149,.24); } }
.creator-ar-spatial-name { position: absolute; left: 50%; bottom: calc(100% + 4px); max-width: min(42vw, 180px); padding: 4px 8px; transform: translate(-50%, 3px); overflow: hidden; border: 1px solid rgba(238,248,235,.34); border-radius: 999px; background: rgba(8,24,14,.72); color: #fff !important; box-shadow: 0 4px 14px rgba(0,0,0,.2); opacity: 0; visibility: hidden; backdrop-filter: blur(8px); font-size: .68rem; font-weight: 750; line-height: 1.2; text-overflow: ellipsis; text-shadow: 0 1px 4px rgba(0,0,0,.75); white-space: nowrap; transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.creator-ar-marker-layer.is-select-mode .creator-ar-marker-hit-target:hover .creator-ar-spatial-name,
.creator-ar-marker-layer.is-select-mode .creator-ar-marker-hit-target:focus-visible .creator-ar-spatial-name,
.creator-ar-marker-layer.is-neutral-mode .creator-ar-marker-hit-target:hover .creator-ar-spatial-name,
.creator-ar-marker-layer.is-neutral-mode .creator-ar-marker-hit-target:focus-visible .creator-ar-spatial-name,
.creator-ar-marker-layer.is-view-mode .creator-ar-marker-hit-target:hover .creator-ar-spatial-name,
.creator-ar-marker-layer.is-view-mode .creator-ar-marker-hit-target:focus-visible .creator-ar-spatial-name,
.creator-ar-marker-hit-target.is-info-open .creator-ar-spatial-name { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.creator-ar-area-board-editor { display: grid; gap: 8px; padding: 10px; border: 1px solid rgba(137,200,239,.35); border-radius: 12px; }
.creator-ar-area-board-editor p { margin: 0; color: rgba(255,255,255,.7); font-size: .68rem; line-height: 1.35; }
.creator-ar-marker-hit-target-note .creator-ar-spatial-name { --spatial-note-color:var(--marker-accent); position:absolute; left:0; top:0; right:auto; bottom:auto; display:grid; place-content:center; width:100%; max-width:none; height:100%; min-height:0; padding:18px 22px; font-size:.88rem; line-height:1.35; overflow-wrap:anywhere; text-align:center; }
.creator-ar-marker-hit-target-note .creator-ar-spatial-name { opacity:var(--marker-opacity,1); visibility:visible; transform:none; white-space:normal; }
.creator-ar-marker-hit-target-note.is-note-outline .creator-ar-spatial-name { border:3px solid var(--marker-accent); background:rgba(7,18,13,.08); box-shadow:0 8px 24px rgba(0,0,0,.12),inset 0 0 18px color-mix(in srgb,var(--marker-accent) 12%,transparent); backdrop-filter:blur(2px); }
.creator-ar-marker-hit-target-note.is-note-outline .creator-ar-spatial-name::before,
.creator-ar-marker-hit-target-note.is-note-outline .creator-ar-spatial-name::after { border-color:var(--marker-accent); }
.creator-ar-marker-hit-target-note .creator-ar-spatial-name::before,
.creator-ar-marker-hit-target-note .creator-ar-spatial-name::after { display:none; }
.creator-ar-marker-hit-target-plant .creator-ar-spatial-name { border-color: color-mix(in srgb, var(--marker-accent) 58%, transparent); }
.creator-ar-spatial-name > small { display: none; }
.creator-ar-marker-hit-target.has-plant-profile .creator-ar-spatial-name small { display: block; margin-top: 2px; color: rgba(220,239,149,.76); font-size: .52rem; font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }
.creator-ar-marker-hit-target.is-info-open .creator-ar-spatial-name { width: min(72vw, 300px); max-width: min(72vw, 300px); padding: 9px 11px; border-radius: 14px; text-align: left; text-overflow: clip; white-space: normal; }
.creator-ar-marker-hit-target.is-info-open .creator-ar-spatial-name > small { display: block; margin-top: 4px; color: rgba(255,255,255,.78); font-size: .62rem; font-weight: 550; line-height: 1.35; letter-spacing: normal; text-transform: none; white-space: normal; }
.creator-ar-marker-hit-target-plant.is-info-open .creator-ar-spatial-name { width:auto; max-width:min(36vw,132px); padding:4px 8px; border-radius:999px; font-size:.62rem; line-height:1.1; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.creator-ar-marker-hit-target-plant.is-info-open .creator-ar-spatial-name > small { display:none; }
.creator-ar-marker-hit-target-plant.is-info-open .creator-ar-spatial-name { display:none; }
.creator-ar-marker-hit-target-note.is-info-open .creator-ar-spatial-name { width:100%; max-width:none; height:100%; padding:18px 22px; }
.creator-ar-marker-hit-target-note.is-info-open .creator-ar-spatial-name > small { display:-webkit-box; max-height:4.1em; overflow:hidden; font-size:.72rem; line-height:1.36; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.creator-ar-note-placement-preview.creator-ar-marker-hit-target-note .creator-ar-note-placement-surface { position:absolute; left:0; top:0; right:auto; bottom:auto; transform:none; }
.creator-ar-marker-layer.is-view-mode .creator-ar-marker-hit-target.has-plant-profile:is(:hover, :focus-visible)::after,
.creator-ar-marker-layer.is-neutral-mode .creator-ar-marker-hit-target.has-plant-profile:is(:hover, :focus-visible)::after { animation: creator-ar-profile-ready .38s ease-in-out infinite alternate; border-color: rgba(220,239,149,.88); opacity: 1; }
@keyframes creator-ar-profile-ready { from { transform: translateX(-1px) scale(.96); } to { transform: translateX(1px) translateY(-1px) scale(1.03); } }
.creator-ar-plant-profile { position:fixed; z-index:4; transform:translate(-50%,-50%); overflow:visible; opacity:0; pointer-events:none; animation:creator-ar-profile-arrive .72s cubic-bezier(.18,.78,.28,1) forwards; }
.creator-ar-plant-profile[hidden],
.creator-ar-totem-information[hidden] { display:none !important; }
.creator-ar-plant-profile.is-spatial-pim-hit-layer {
    overflow: visible;
    clip-path: none;
    contain: none;
    opacity: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    animation: none !important;
    pointer-events: auto;
    touch-action: manipulation;
}
.creator-ar-plant-profile.is-spatial-pim-hit-layer .plant-knowledge-cell,
.creator-ar-plant-profile.is-spatial-pim-hit-layer .plant-knowledge-core {
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-tap-highlight-color: transparent;
}
.creator-ar-plant-profile.is-spatial-pim-hit-layer .plant-knowledge-cell:is(:focus, :focus-visible),
.creator-ar-plant-profile.is-spatial-pim-hit-layer .plant-knowledge-core:is(:focus, :focus-visible) {
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}
@keyframes creator-ar-profile-arrive { from { opacity: 0; transform: translate(-50%, -46%) scale(.93); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes creator-ar-profile-fade { to { opacity: .82; } }
.creator-ar-marker-hit-target-intro_checkpoint .creator-ar-spatial-name,
.creator-ar-marker-hit-target-sub_checkpoint .creator-ar-spatial-name,
.creator-ar-marker-hit-target-area_checkpoint .creator-ar-spatial-name { border-color: rgba(174,220,251,.34); background: rgba(15,47,72,.5); }
.creator-ar-inline-editor, .creator-ar-area-chooser, .creator-ar-unplaced-bag { position: relative; z-index: 1; width: 100%; max-height: min(54vh, 430px); box-sizing: border-box; overflow: auto; padding: 14px; border: 1px solid rgba(255,255,255,.28); border-bottom: 0; border-radius: 16px 16px 0 0; background: rgba(12,27,18,.94); color: #fff; box-shadow: 0 -10px 32px rgba(0,0,0,.24); backdrop-filter: blur(14px); pointer-events: auto; }
.creator-ar-inline-editor[hidden], .creator-ar-area-chooser[hidden], .creator-ar-unplaced-bag[hidden] { display: none; }
.creator-ar-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.creator-ar-editor-heading button { min-height: 32px; padding: 5px 8px; font-size: .65rem; }
.creator-ar-appearance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 8px; }
.creator-ar-appearance legend { padding: 0 5px; font-size: .66rem; }
.creator-ar-appearance label { min-width: 0; font-size: .62rem; }
.creator-ar-unplaced-bag > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.creator-ar-unplaced-bag > div:first-child button { width: 30px; min-width: 30px; min-height: 30px; padding: 0; border-color: rgba(255,255,255,.24); background: transparent; color: #fff; }
.creator-ar-unplaced-bag p { margin: 8px 0 0; color: rgba(255,255,255,.78); font-size: .74rem; }
.creator-ar-bag-list { display: grid; gap: 6px; margin-top: 10px; }
.creator-ar-bag-list > button { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: center; min-height: 44px; padding: 7px 9px; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.08); color: #fff; text-align: left; }
.creator-ar-bag-list > button span { display: grid; gap: 2px; min-width: 0; }
.creator-ar-bag-list > button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.creator-ar-bag-list > button small { color: rgba(255,255,255,.68); font-size: .66rem; }
.creator-ar-editor-form, .creator-ar-area-chooser { display: grid; gap: 10px; }
.creator-ar-editor-form h2, .creator-ar-editor-form p, .creator-ar-area-chooser p { margin: 0; }
.creator-ar-editor-form label { display: grid; gap: 4px; color: rgba(255,255,255,.88); font-size: .76rem; font-weight: 700; }
.creator-ar-editor-form input, .creator-ar-editor-form textarea { border: 1px solid rgba(255,255,255,.24); border-radius: 9px; background: rgba(255,255,255,.1); color: #fff; font: inherit; }
.creator-ar-editor-form input { min-height: 34px; padding: 6px 8px; }
.creator-ar-editor-form textarea { padding: 7px 8px; resize: vertical; }
.creator-ar-editor-form .meta { color: rgba(255,255,255,.72); }
.creator-ar-appearance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 9px; border: 1px solid rgba(255,255,255,.18); border-radius: 11px; }
.creator-ar-appearance legend { padding: 0 5px; color: rgba(255,255,255,.78); font-size: .7rem; font-weight: 800; }
.creator-ar-appearance input[type="color"] { width: 100%; padding: 3px; cursor: pointer; }
.creator-ar-appearance select { width: 100%; min-height: 34px; padding: 5px 7px; border: 1px solid rgba(255,255,255,.24); border-radius: 9px; background: rgba(255,255,255,.1); color: #fff; font: inherit; }
.creator-ar-appearance option { color: #132019; }
.creator-ar-fixed-type { align-self: end; min-height: 34px; padding: 8px 7px; border: 1px solid rgba(255,255,255,.15); border-radius: 9px; color: rgba(255,255,255,.78); font-size: .72rem; }
.creator-ar-profile-note { margin: 0; color: rgba(220,239,149,.82); font-size: .7rem; line-height: 1.4; }
.creator-ar-editor-actions { display: grid; grid-template-columns: auto 1fr auto auto; gap: 6px; align-items: center; }
.creator-ar-editor-actions button { min-height: 34px; padding: 6px 9px; }
.creator-ar-delete { border-color: rgba(255,157,142,.5) !important; color: #ffd6cf !important; }
.creator-ar-delete[data-confirm-delete="true"] { background: rgba(151,40,25,.62) !important; color: #fff !important; }
@media (max-width: 430px) {
    .creator-ar-appearance { grid-template-columns: 1fr 1fr; }
    .creator-ar-appearance > label:first-of-type, .creator-ar-fixed-type { grid-column: 1 / -1; }
}
.creator-ar-area-chooser > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.creator-ar-area-chooser > div:first-child button { min-width: 30px; min-height: 30px; padding: 0; border-color: rgba(255,255,255,.25); background: transparent; color: #fff; font-size: 1.1rem; }
.creator-ar-area-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.creator-ar-area-options button { min-height: 38px; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: #fff; text-align: left; }
body.creator-ar-session-active #app { visibility: hidden; pointer-events: none; }
.temporary-demo-guide.fade-in { animation: demo-guide-fade 1s ease-out 1s forwards; opacity: 0; }
@keyframes demo-guide-fade { from { opacity: 0; transform: translateX(-50%) translateY(6px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }
.temporary-demo-card { position: absolute; z-index: 2; left: 0; right: 0; top: 0; bottom: 0; max-width: 100%; margin: 0; padding: 0; border-radius: 0; background: transparent; box-shadow: none; pointer-events: none; }
.temporary-demo-card > * { pointer-events: auto; }
.temporary-demo-card .ar-window,
.is-simulated .temporary-demo-card .ar-window {
    position: fixed;
    width: 400px;
    max-width: 90vw;
    border-radius: 18px;
    background: rgba(248, 250, 244, .98);
    box-shadow: 0 24px 80px rgba(0,0,0,.45), 0 8px 20px rgba(0,0,0,.15);
    backdrop-filter: blur(16px);
    overflow: hidden;
    animation: window-in .3s ease-out;
    cursor: default;
    user-select: none;
    margin: 0;
    left: calc(50% - 200px) !important;
    top: 10vh !important;
}
.is-simulated .temporary-demo-card .ar-window-wide {
    left: calc(50% - 260px) !important;
}
.is-immersive .temporary-demo-card .ar-window {
    background: rgba(248, 250, 244, .94);
    backdrop-filter: blur(8px);
    box-shadow: 0 8px 30px rgba(0,0,0,.35);
}

/* Breathing circle overlay */
.breathing-overlay {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    z-index: 3;
    animation: fade-in .5s ease-out;
}
.breathing-circle {
    width: 80px;
    height: 80px;
    border: 3px solid rgba(220, 239, 149, .9);
    border-radius: 50%;
    box-shadow: 0 0 40px rgba(220, 239, 149, .3);
    animation: breathe 2s ease-in-out infinite;
}
.breathing-label {
    position: absolute;
    bottom: 30%;
    color: rgba(255, 255, 255, .9);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .08em;
}
@keyframes breathe {
    0%, 100% { transform: scale(1); opacity: .7; }
    50% { transform: scale(1.3); opacity: 1; }
}
@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Draggable AR windows */
.ar-window {
    position: absolute;
    width: 400px;
    max-width: calc(100% - 24px);
    border-radius: 18px;
    background: rgba(248, 250, 244, .96);
    box-shadow: 0 18px 55px rgba(0,0,0,.35);
    backdrop-filter: blur(6px);
    overflow: hidden;
    animation: window-in .2s ease-out;
    cursor: default;
    user-select: none;
}
.ar-window-wide {
    width: 520px;
}
.ar-window.is-dragging {
    opacity: .92;
    transition: none;
    cursor: grabbing;
}
.drag-edge {
    outline: 2px solid rgba(220, 239, 149, .8) !important;
    box-shadow: 0 0 20px rgba(220, 239, 149, .4), 0 18px 55px rgba(0,0,0,.35) !important;
    transition: box-shadow .15s ease, outline .15s ease;
}
.is-immersive .drag-edge {
    outline: 2px solid rgba(220, 239, 149, .7) !important;
    box-shadow: 0 0 25px rgba(220, 239, 149, .3) !important;
}
@keyframes window-in {
    from { opacity: 0; transform: translateY(12px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.window-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: rgba(20, 55, 34, .9);
    color: #fff;
    font-size: .82rem;
    font-weight: 600;
    cursor: grab;
    user-select: none;
    touch-action: none;
}
.window-header:active {
    cursor: grabbing;
}
.window-dots {
    display: flex;
    gap: 5px;
}
.window-dots i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.3);
}
.window-dots i:first-child { background: #ff5f57; }
.window-dots i:nth-child(2) { background: #ffbd2e; }
.window-dots i:nth-child(3) { background: #28c840; }
.window-body {
    display: grid;
    gap: 10px;
    padding: 16px 18px;
}
.window-body h2 {
    margin: 0;
    font-size: 1.1rem;
}
.window-body p {
    margin: 0;
    font-size: .88rem;
    line-height: 1.5;
    color: #4a5550;
}
.window-body .welcome-label {
    font-size: .68rem;
    letter-spacing: .08em;
}
.window-body .field {
    display: grid;
    gap: 4px;
}
.window-body .field span {
    font-size: .78rem;
    font-weight: 600;
    color: #3b463f;
}
.window-body .field input {
    padding: 8px 10px;
    border: 1px solid #cdd2cd;
    border-radius: 8px;
    font-size: .9rem;
    background: #fff;
}
.window-close-btn {
    min-height: 34px;
    padding: 4px 12px;
    border-radius: 8px;
    border: 1px solid #cdd2cd;
    background: transparent;
    color: #4a5550;
    font-size: .78rem;
    cursor: pointer;
}
.window-body .button-row {
    margin-top: 4px;
}
.tutorial-success {
    color: #1f7a3a !important;
    font-weight: 600;
    font-size: .82rem !important;
}
.dashboard-menu {
    display: grid;
    gap: 8px;
}
.dashboard-action {
    display: grid;
    gap: 2px;
    padding: 12px 14px;
    text-align: left;
    border: 1px solid #d4d8d4;
    border-radius: 12px;
    background: #f6f7f4;
    cursor: pointer;
}
.dashboard-action strong {
    font-size: .9rem;
    color: #1f3328;
}
.dashboard-action span {
    font-size: .78rem;
    color: #69746b;
}
.dashboard-action:disabled {
    opacity: .5;
    cursor: default;
}
.plant-choices {
    display: grid;
    gap: 6px;
}
.plant-choice {
    display: grid;
    gap: 1px;
    padding: 10px 12px;
    text-align: left;
    border: 1px solid #d4d8d4;
    border-radius: 10px;
    background: #f6f7f4;
    cursor: pointer;
}
.plant-choice strong {
    font-size: .88rem;
    color: #1f3328;
}
.plant-choice span {
    font-size: .78rem;
    color: #69746b;
}
.profile-grid {
    display: grid;
    gap: 6px;
    padding: 10px 0;
}
.profile-grid div {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 6px;
    font-size: .84rem;
}
.profile-grid dt {
    font-weight: 600;
    color: #3b463f;
}
.profile-grid dd {
    color: #4a5550;
}
.profile-divider {
    border: none;
    border-top: 1px solid #dce0db;
    margin: 2px 0;
}
.is-immersive .ar-window {
    background: rgba(248, 250, 244, .94);
}
.temporary-demo-card h1, .temporary-demo-card h2 { margin-top: 4px; }
.temporary-plant-marker { position: relative; display: grid; grid-template-columns: 42px auto; gap: 0 10px; align-items: center; min-width: 250px; padding: 12px 18px; border: 1px solid rgba(255,255,255,.65); border-radius: 18px; color: white; background: rgba(17, 48, 31, .82); box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.temporary-plant-marker > span { grid-row: 1 / 3; font-size: 28px; color: #d9ef77; }
.temporary-plant-marker strong, .temporary-plant-marker small { text-align: left; }
.temporary-plant-marker i { position: absolute; left: calc(50% - 10px); bottom: -20px; border: 10px solid transparent; border-top-color: rgba(17, 48, 31, .82); }
.temporary-demo-profile { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.temporary-demo-profile div { padding: 10px; border-radius: 12px; background: rgba(220,235,220,.65); }
.temporary-demo-profile dt { font-weight: 700; }
.temporary-demo-profile dd { margin: 3px 0 0; }

.role-card {
    min-height: 96px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    border-radius: 14px;
}

.role-card strong {
    font-size: 1.12rem;
}

.role-card span {
    color: rgba(23, 49, 38, .72);
    font-size: .78rem;
}

.creator-role {
    border-color: rgba(39, 108, 59, .7);
    background: rgba(225, 240, 219, .86);
}

.visitor-role {
    border-color: rgba(40, 91, 74, .54);
    background: rgba(232, 242, 233, .72);
}

.collaboration-credit {
    margin: 2px 4px 72px;
    color: #59675e;
    font-size: .78rem;
    line-height: 1.55;
}

body:not(.ar-session-active) #globalArToggle {
    display: none;
}

.create-project-action {
    margin-top: 6px;
    border-style: dashed;
    background: rgba(247, 249, 244, .54);
}

/* Shared plant registry: plain analog browsing and print views. */
.analog-explorer {
    gap: 14px;
}

.analog-header {
    position: relative;
}

.analog-header .analog-print-button {
    align-self: flex-start;
    margin-top: 8px;
}

.print-kicker {
    margin: 5px 0 0;
    color: #3f5546;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.analog-filter-panel {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(39, 71, 48, .22);
    border-radius: 12px;
    background: rgba(247, 249, 244, .78);
}

.analog-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
}

.analog-plant-list {
    display: grid;
    gap: 7px;
}

.analog-plant-row {
    width: 100%;
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(39, 71, 48, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .82);
    color: #17241b;
    text-align: left;
}

.analog-plant-row span:not(.analog-number) {
    display: grid;
    gap: 3px;
}

.analog-plant-row small {
    color: #526057;
}

.analog-number {
    align-self: flex-start;
    min-width: 22px;
    color: #526057;
}

.analog-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.analog-profile-grid > div {
    padding: 12px;
    border: 1px solid rgba(39, 71, 48, .22);
    border-radius: 8px;
    background: rgba(255, 255, 255, .76);
}

.analog-profile-grid dt {
    color: #526057;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.analog-profile-grid dd {
    margin: 5px 0 0;
}

.analog-qr-space {
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    margin-top: 18px;
    border: 1px dashed rgba(39, 71, 48, .36);
    color: #788178;
    font-size: .58rem;
}

@media (max-width: 720px) {
    .analog-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .analog-filter-grid,
    .analog-profile-grid {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        margin: 16mm;
    }

    body {
        background: #fff !important;
        color: #000 !important;
    }

    #app {
        width: 100%;
        max-width: none;
        padding: 0;
    }

    #globalArToggle,
    .analog-navigation,
    .analog-print-button,
    .small-actions,
    #arOverlayControls,
    #arPlacementReticle,
    #arReticleLabel {
        display: none !important;
    }

    .analog-print-page,
    .analog-print-page .page-header,
    .analog-plant-row,
    .analog-profile-grid > div {
        border-color: #bbb !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .analog-plant-row {
        break-inside: avoid;
        padding: 7px 0;
        border-width: 0 0 1px;
        border-radius: 0;
    }

    .analog-plant-row[hidden] {
        display: none !important;
    }

    .analog-profile-grid > div {
        break-inside: avoid;
    }

    .analog-qr-space {
        color: transparent;
        border-color: #999;
    }
}

/* Compact Creator Dashboard and external first-use spotlight. */
.project-entry {
    gap: 10px;
}

.project-entry .location-dashboard-header {
    gap: 5px;
    padding-bottom: 4px;
}

.project-entry .location-dashboard-header h1 {
    margin: 2px 0 0;
    font-size: clamp(1.65rem, 6vw, 2.45rem);
}

.dashboard-identity {
    width: fit-content;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--theme-accent, #315f3b);
    color: var(--theme-on-accent, #fff);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .09em;
    line-height: 1;
    text-transform: uppercase;
}

.dashboard-location-name {
    font-size: .75rem;
}

.project-entry .location-create-section-prominent,
.project-entry .project-search-section,
.project-entry .work-mode-section,
.project-entry .project-areas-section,
.project-entry .experience-status,
.project-entry .latest-entries-section {
    margin-top: 0;
    padding: 13px 14px;
    border-radius: 14px;
}

.project-entry .section-heading-row {
    margin-bottom: 9px;
}

.project-entry .section-heading-row h2 {
    font-size: .93rem;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.project-entry .project-areas-section .section-heading-row h2,
.project-entry .project-status .section-heading-row h2 {
    font-family: inherit;
    font-size: .93rem;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.2;
    text-transform: uppercase;
}

.project-entry .quick-access-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
}

.project-entry .quick-access-action {
    min-height: 58px;
    gap: 4px;
    padding: 5px 3px;
    border-radius: 10px;
}

.project-entry .quick-access-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    font-size: 1rem;
}

.project-entry .quick-access-action strong {
    font-size: .72rem;
}

.project-entry .project-search-section {
    gap: 7px;
}

.project-entry .project-search-section .section-heading-row p {
    font-size: .74rem;
}

.project-entry .project-search-box {
    min-height: 42px;
}

.project-entry .project-search-box input {
    min-height: 40px;
}

.project-entry .work-mode-section {
    gap: 8px;
}

.project-entry .experience-launch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.project-entry .experience-launch-card {
    min-height: 76px;
    padding: 11px 12px;
    border-radius: 11px;
}

.project-entry .experience-launch-card strong {
    font-size: .9rem;
}

.project-entry .experience-launch-card span {
    font-size: .72rem;
    line-height: 1.3;
}

.project-entry .experience-status-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-radius: 10px;
}

.project-entry .experience-status-item {
    gap: 2px;
    padding: 9px 8px;
}

.project-entry .experience-status-item span {
    font-size: .66rem;
}

.project-entry .experience-status-item strong {
    font-size: .82rem;
}

.compact-setup-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    padding: 9px 11px;
    border-radius: 10px;
}

.compact-setup-notice button {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 5px 9px;
}

.project-entry .location-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.project-entry .location-tool-card {
    min-height: 62px;
    padding: 10px 11px;
    border-radius: 11px;
}

.project-entry .location-tool-card span {
    font-size: .72rem;
    line-height: 1.3;
}

.tutorial-spotlight-shield {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(6, 12, 8, .68);
    backdrop-filter: blur(1px);
}

.tutorial-spotlight-target {
    position: relative;
    z-index: 10001;
    box-shadow: 0 0 0 4px #8befa2, 0 12px 34px rgba(0, 0, 0, .38);
}

.location-dashboard-header.tutorial-spotlight-target .change-location-control {
    pointer-events: none;
}

.tutorial-spotlight-callout {
    position: fixed;
    left: 50%;
    z-index: 10002;
    display: grid;
    gap: 6px;
    width: min(410px, calc(100vw - 24px));
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 14px;
    background: #f8fbf7;
    color: #17241b;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .34);
    transform: translateX(-50%);
}

.tutorial-spotlight-callout::before {
    position: absolute;
    left: 50%;
    width: 16px;
    height: 16px;
    background: #f8fbf7;
    content: "";
    transform: translateX(-50%) rotate(45deg);
}

.tutorial-spotlight-header {
    top: min(36vh, 310px);
}

.tutorial-spotlight-header::before {
    top: -8px;
}

.tutorial-spotlight-welcome {
    top: 50%;
    transform: translate(-50%, -50%);
}

.tutorial-spotlight-welcome::before {
    display: none;
}

.tutorial-spotlight-quickAccess {
    top: min(50vh, 430px);
}

.tutorial-spotlight-arPath,
.tutorial-spotlight-projectTutorial,
.tutorial-spotlight-helpGuide,
.tutorial-spotlight-contentModes,
.tutorial-spotlight-areas,
.tutorial-spotlight-quickStarts { bottom: max(18px, env(safe-area-inset-bottom)); }
.tutorial-spotlight-arPath::before,
.tutorial-spotlight-projectTutorial::before,
.tutorial-spotlight-helpGuide::before,
.tutorial-spotlight-contentModes::before,
.tutorial-spotlight-areas::before,
.tutorial-spotlight-quickStarts::before,
.tutorial-spotlight-quickAccess::before {
    top: -8px;
}

/* Project guidance is an onboarding overlay, not a footer notice. */
.tutorial-spotlight-projectTutorial {
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
}

.tutorial-spotlight-projectTutorial::before { display: none; }

.tutorial-spotlight-callout p {
    margin: 0;
    color: #4f5c53;
    font-size: .82rem;
    line-height: 1.45;
}

.tutorial-spotlight-callout > summary {
    display: grid;
    gap: 3px;
    list-style: none;
}

.tutorial-spotlight-callout > summary::-webkit-details-marker,
.tutorial-spotlight-callout > summary i {
    display: none;
}

.tutorial-spotlight-actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 3px;
}

.tutorial-spotlight-actions button {
    min-height: 36px;
    padding: 6px 10px;
}

@media (max-width: 520px) {
    .project-entry .experience-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-entry .experience-launch-grid,
    .project-entry .location-tool-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .compact-setup-notice {
        align-items: flex-start;
        flex-direction: column;
    }

    .tutorial-spotlight-callout {
        bottom: max(12px, env(safe-area-inset-bottom));
        top: auto;
    }

    .tutorial-spotlight-callout::before {
        display: none;
    }

    .tutorial-spotlight-welcome {
        top: 50%;
        bottom: auto;
    }

    .tutorial-spotlight-callout.tutorial-spotlight-projectTutorial {
        top: 50%;
        bottom: auto;
        transform: translate(-50%, -50%);
    }
}

@media (max-width: 520px) {
    .role-grid {
        grid-template-columns: 1fr;
    }

    .intro-copy {
        padding: 18px;
    }
}

.guide ol {
    padding-left: 24px;
}

.guide li {
    margin: 10px 0;
}

button,
input,
select,
textarea {
    min-height: 48px;
}

textarea {
    min-height: 96px;
}

.launch-bottom {
    margin-top: 18px;
    display: grid;
    gap: 10px;
}

.start-ar-button {
    position: fixed;
    left: 50%;
    bottom: max(54px, calc(env(safe-area-inset-bottom) + 54px));
    z-index: 90;
    width: min(420px, calc(100% - 28px));
    min-height: 52px;
    transform: translateX(-50%);
    border: 1px solid #265b37;
    border-radius: 3px;
    background: rgba(35, 91, 54, .94);
    color: #fff;
    font-weight: 700;
}

.small-actions {
    position: fixed;
    left: 50%;
    bottom: max(8px, env(safe-area-inset-bottom));
    z-index: 90;
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
}

.small-actions button {
    min-height: 38px;
    padding: 6px 14px;
    border-color: transparent;
    background: transparent;
}

.explorer-ar-button {
    bottom: max(14px, env(safe-area-inset-bottom));
}

.status-label {
    font-weight: 700;
    color: #315a3c;
}

/* Reusable Project Entry layout */
.project-entry {
    gap: 12px;
}

.project-entry-header {
    display: grid;
    gap: 3px;
    padding: 0 0 12px;
    border-bottom: 1px solid rgba(22, 39, 27, .48);
}

.project-entry-header .ghost {
    margin-bottom: 4px;
}

.project-top-nav,
.project-primary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.project-action {
    width: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 11px 13px;
    border: 1px solid rgba(22, 39, 27, .62);
    border-radius: 2px;
    background: rgba(250, 252, 248, .7);
    color: #111713;
    text-align: left;
}

.project-action span {
    color: #59635c;
    font-size: .76rem;
}

.project-nav-action {
    min-height: 48px;
    background: rgba(241, 245, 239, .72);
}

.project-primary-action {
    min-height: 64px;
    border-color: rgba(36, 91, 53, .75);
}

.project-profile-action {
    min-height: 56px;
    border-color: #285e39;
    background: rgba(40, 94, 57, .9);
    color: #fff;
}

.project-section {
    display: grid;
    gap: 8px;
    margin-top: 5px;
}

.project-section-title {
    margin: 0;
    color: #36433a;
    font-size: .76rem;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.project-section-title-centred {
    color: #17241b;
    font-size: .95rem;
    letter-spacing: .04em;
    text-align: center;
    text-transform: none;
}

.project-row-list {
    display: grid;
    gap: 8px;
}

.project-marker-row {
    min-height: 56px;
    background: rgba(250, 252, 248, .78);
}

.project-latest-row {
    min-height: 48px;
    background: rgba(246, 248, 244, .62);
}

.project-secondary-actions {
    margin-top: 5px;
}

.project-secondary-action {
    min-height: 48px;
    border-color: rgba(22, 39, 27, .4);
    background: rgba(238, 242, 236, .52);
    font-weight: 400;
}

.project-dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: 12px;
    align-items: start;
}

.project-dashboard-layout main {
    display: grid;
    gap: 12px;
}

.project-dashboard-layout.project-dashboard-layout-single {
    grid-template-columns: minmax(0, 1fr);
}

.project-side-menu {
    position: sticky;
    top: 12px;
    display: grid;
    gap: 8px;
}

.project-side-action {
    min-height: 76px;
    flex-direction: column-reverse;
    justify-content: center;
    text-align: center;
    background: rgba(23, 61, 40, .9);
    color: #fff;
}

.project-side-action span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    color: #fff;
    font-size: .58rem;
}

#arRadialToolbox {
    position: fixed;
    left: 50%;
    top: calc(50% + 36px);
    width: 168px;
    height: 168px;
    transform: translateX(-50%);
    z-index: 10002;
    border: 2px solid rgba(24, 177, 170, .82);
    border-radius: 50%;
    background: radial-gradient(circle at center, rgba(22, 48, 51, .88) 0 28%, rgba(8, 69, 72, .82) 29% 100%);
    box-shadow: 0 5px 20px rgba(0, 0, 0, .3), inset 0 0 20px rgba(34, 190, 181, .18);
}

#arRadialToolbox.hidden {
    display: none;
}

.ar-radial-title {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 58px;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: .58rem;
    font-weight: 800;
    text-align: center;
    pointer-events: none;
}

.ar-radial-centre {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34px;
    height: 34px;
    transform: translate(-50%, -50%);
    border: 2px solid rgba(25, 177, 170, .55);
    border-radius: 50%;
    pointer-events: none;
}

#arRadialToolbox button {
    position: absolute;
    width: 58px;
    min-height: 34px;
    padding: 5px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: .58rem;
    font-weight: 800;
}

#arRadialToolbox button:nth-of-type(1) { left: 55px; top: 8px; }
#arRadialToolbox button:nth-of-type(2) { right: 4px; top: 66px; }
#arRadialToolbox button:nth-of-type(3) { left: 55px; bottom: 7px; }
#arRadialToolbox button:nth-of-type(4) { left: 4px; top: 66px; }

#arDashboardRail {
    position: fixed;
    right: max(10px, env(safe-area-inset-right));
    top: 18%;
    z-index: 10002;
    display: grid;
    gap: 7px;
}

#arDashboardRail button {
    width: 58px;
    min-height: 54px;
    display: grid;
    place-items: center;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 10px;
    background: rgba(12, 42, 35, .72);
    color: #fff;
    font-size: .58rem;
}

#arDashboardRail b {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    font-size: .48rem;
}

@media (max-width: 560px) {
    .project-dashboard-layout {
        grid-template-columns: minmax(0, 1fr) 82px;
    }

    .project-side-action {
        min-height: 66px;
        padding: 7px 4px;
        font-size: .68rem;
    }
}

.coordinate-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.marker-first .panel {
    background: rgba(250, 252, 248, .72);
}

@media (max-width: 360px) {
    .coordinate-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .project-primary-grid {
        grid-template-columns: 1fr;
    }
}

body.ar-session-active {
    background: transparent !important;
}

#arOverlayControls {
    background: rgba(12, 22, 15, .58);
    border: 1px solid rgba(255, 255, 255, .28);
    box-shadow: none;
}

#arOverlayControls button {
    min-height: 40px;
}

@media (max-width: 700px) {
    #app {
        width: calc(100% - 20px);
        padding: 14px 0 132px;
    }
}


/* V1 Lite AR entry: available only after a Place/Location is selected. */
#globalArToggle {
    min-width: 112px;
    min-height: 46px;
}

button.danger,
.menu-card.danger {
    border-color: #a53c35;
    color: #8b2d27;
}

body.ar-session-active #globalArToggle {
    display: block !important;
    left: auto;
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    transform: none;
    z-index: 10005;
    min-width: 96px;
    background: rgba(140, 38, 38, .92);
    border-color: rgba(255,255,255,.45);
}

@media (max-width: 700px) {
    #app { padding-bottom: 92px; }
}

/* Keep secondary actions clear of the central reading area. */
body:not(.ar-session-active) .ar-launch-toggle {
    left: auto;
    right: max(14px, calc((100vw - 860px) / 2 + 20px));
    bottom: max(18px, env(safe-area-inset-bottom));
    transform: none;
    min-width: 112px;
    box-shadow: 0 6px 18px rgba(25, 52, 33, .14);
}

.analog-print-footer {
    min-height: 46px;
}

.analog-print-footer .analog-print-button {
    position: fixed;
    left: max(14px, calc((100vw - 860px) / 2 + 20px));
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 89;
    min-height: 34px;
    padding: 5px 9px;
    border-color: transparent;
    background: rgba(247, 247, 244, .82);
    color: #687169;
    font-size: .76rem;
    box-shadow: none;
}

.analog-print-footer .analog-print-button:hover {
    color: #2f6d42;
    border-color: rgba(47, 109, 66, .24);
}

@media (max-width: 700px) {
    body:not(.ar-session-active) .ar-launch-toggle {
        right: max(12px, env(safe-area-inset-right));
        bottom: max(12px, env(safe-area-inset-bottom));
        min-width: 96px;
        min-height: 42px;
        padding: 7px 14px;
    }

    .analog-print-footer .analog-print-button {
        left: max(12px, env(safe-area-inset-left));
        bottom: max(14px, env(safe-area-inset-bottom));
    }
}

body:not(.ar-session-active).ar-location-selected #globalArToggle {
    display: block;
}

body:has(.intro-launch) .collaboration-credit {
    display: none;
}

body[data-text-size="small"] { font-size: 14px; }
body[data-text-size="medium"] { font-size: 16px; }
body[data-text-size="large"] { font-size: 19px; }
body[data-hints="off"] .hint { display: none; }

.settings-list {
    display: grid;
    gap: 0;
    padding-block: 4px;
}

.setting-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 4px;
    border-bottom: 1px solid rgba(39, 76, 50, .13);
}

.setting-row:last-child { border-bottom: 0; }
.setting-row p { margin: 4px 0 0; }
.setting-row select { width: auto; min-width: 120px; }
.setting-row input[type="range"] { width: min(190px, 42vw); }
.setting-range > div { display: flex; align-items: center; gap: 10px; }
.setting-value, .setting-row output { color: #52675a; font-weight: 700; }
.toggle-label { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.toggle-label input { width: 20px; height: 20px; }

/* Organic V1.1 visual language */
:root {
    --leaf-ink: #173126;
    --leaf-deep: #285f3d;
    --leaf-mid: #6f976b;
    --leaf-soft: #dce9d5;
    --moss-wash: rgba(234, 242, 226, .88);
    --paper-wash: rgba(249, 250, 243, .88);
    --earth-line: rgba(58, 91, 61, .24);
    --soft-shadow: 0 14px 34px rgba(42, 74, 49, .09);
}

html,
body {
    background-color: #eaf0e7;
    background-image:
        radial-gradient(ellipse at 8% 5%, rgba(173, 204, 147, .28) 0 12%, transparent 34%),
        radial-gradient(ellipse at 96% 28%, rgba(103, 151, 112, .16) 0 11%, transparent 31%),
        radial-gradient(circle at 16px 16px, rgba(54, 91, 59, .055) 1.2px, transparent 1.5px);
    background-size: auto, auto, 30px 30px;
}

body {
    overflow-x: hidden;
    font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

body::before,
body::after {
    content: "";
    position: fixed;
    z-index: 0;
    pointer-events: none;
    border-radius: 50% 42% 58% 38%;
    filter: blur(2px);
}

body::before {
    width: min(34vw, 360px);
    height: min(34vw, 360px);
    right: -12vw;
    top: 9vh;
    background: rgba(154, 190, 133, .12);
    transform: rotate(24deg);
}

body::after {
    width: min(28vw, 290px);
    height: min(22vw, 230px);
    left: -10vw;
    bottom: 4vh;
    background: rgba(67, 124, 84, .08);
    transform: rotate(-18deg);
}

#app {
    position: relative;
    z-index: 1;
}

#globalArToggle {
    z-index: 100;
}

#app {
    width: min(760px, calc(100% - 32px));
}

.screen {
    gap: 18px;
}

.page-header,
.project-entry-header {
    position: relative;
    border-bottom: 0;
    padding: 10px 8px 18px;
}

.page-header::after,
.project-entry-header::after {
    content: "";
    width: min(72%, 390px);
    height: 2px;
    margin-top: 9px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--leaf-mid), rgba(111, 151, 107, 0));
}

h1 {
    color: var(--leaf-ink);
    font-weight: 700;
    letter-spacing: -.035em;
}

h2,
h3,
strong {
    color: var(--leaf-ink);
}

.panel,
.card {
    border: 1px solid var(--earth-line);
    border-radius: 30px 16px 34px 18px;
    background:
        radial-gradient(circle at 92% 8%, rgba(174, 204, 147, .14), transparent 32%),
        var(--paper-wash);
    box-shadow: var(--soft-shadow);
}

.panel:nth-of-type(even),
.card:nth-of-type(even) {
    border-radius: 17px 34px 18px 30px;
}

.menu-stack {
    gap: 14px;
}

.menu-card,
.project-action,
.analog-plant-row {
    border: 1px solid var(--earth-line);
    border-radius: 30px 14px 30px 14px;
    background:
        radial-gradient(circle at 96% 0%, rgba(158, 195, 137, .15), transparent 34%),
        rgba(249, 251, 245, .84);
    box-shadow: 0 7px 20px rgba(43, 73, 48, .055);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.menu-card:nth-child(even),
.project-row-list > .project-action:nth-child(even),
.analog-plant-row:nth-child(even) {
    border-radius: 14px 30px 14px 30px;
}

.menu-card:hover,
.project-action:hover,
.analog-plant-row:hover {
    border-color: rgba(47, 109, 66, .52);
    background-color: rgba(242, 248, 236, .96);
    transform: translateY(-2px);
}

button,
input,
select {
    border-radius: 999px;
}

textarea {
    border-radius: 22px 12px 22px 12px;
}

button.ghost {
    min-height: 36px;
    padding: 5px 13px;
    border: 1px solid rgba(47, 109, 66, .18);
    border-radius: 999px;
    background: rgba(246, 249, 242, .5);
}

.intro-copy {
    padding: clamp(24px, 5vw, 38px);
    border-radius: 52px 24px 58px 28px;
    box-shadow: var(--soft-shadow);
}

.role-grid {
    gap: 16px;
}

.role-card {
    min-height: 126px;
    padding: 24px;
    border-radius: 52px 24px 52px 24px;
}

.role-card:nth-child(even) {
    border-radius: 24px 52px 24px 52px;
}

.create-project-action {
    border-radius: 999px;
    border-style: dashed;
    justify-content: center;
    text-align: center;
}

.project-dashboard-layout {
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 18px;
}

.project-primary-grid {
    gap: 14px;
}

.project-primary-action {
    min-height: 92px;
    padding: 18px;
}

.project-primary-action:nth-child(1) { border-radius: 44px 18px 30px 22px; }
.project-primary-action:nth-child(2) { border-radius: 18px 44px 22px 30px; }
.project-primary-action:nth-child(3) { border-radius: 24px 20px 46px 18px; }
.project-primary-action:nth-child(4) { border-radius: 20px 24px 18px 46px; }

.project-latest-row,
.project-marker-row {
    min-height: 58px;
    border-radius: 999px;
    padding-inline: 20px;
}

.project-side-menu {
    gap: 12px;
}

.project-side-action {
    width: 88px;
    min-height: 88px;
    justify-self: center;
    padding: 10px;
    border-radius: 50%;
    border-color: rgba(255, 255, 255, .38);
    background:
        radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .18), transparent 26%),
        rgba(30, 82, 50, .92);
    box-shadow: 0 12px 24px rgba(30, 68, 42, .16);
}

.project-side-action span {
    width: 29px;
    height: 29px;
}

.analog-filter-panel {
    border-radius: 34px 18px 34px 18px;
    padding: 20px;
    box-shadow: var(--soft-shadow);
}

.analog-profile-grid {
    gap: 12px;
}

.analog-profile-grid > div {
    min-height: 104px;
    padding: 18px;
    border-radius: 28px 14px 30px 16px;
    box-shadow: 0 8px 20px rgba(43, 73, 48, .05);
}

.analog-profile-grid > div:nth-child(even) {
    border-radius: 14px 28px 16px 30px;
}

.analog-qr-space {
    border-radius: 50%;
}

.ar-launch-toggle,
body:not(.ar-session-active) .ar-launch-toggle {
    border-radius: 999px;
    box-shadow: 0 10px 26px rgba(30, 73, 43, .18);
}

body.ar-session-active::before,
body.ar-session-active::after {
    display: none;
}

/* Bold Nourishland-inspired welcome experiment. Scoped to the launch screen. */
.intro-launch { max-width: 1080px; gap: 24px; }
.intro-launch .intro-heading { display: flex; align-items: center; justify-content: center; padding: 18px 4px 4px; border: 0; text-align: center; }
.intro-launch .intro-heading > div { display: flex; width: 100%; flex-direction: column; align-items: center; }
.intro-launch .intro-heading h1 { margin: 0; color: #0d1710; font-size: clamp(1.75rem, 5vw, 3.35rem); font-weight: 900; letter-spacing: .035em; line-height: .92; }
.intro-launch .intro-heading h1 span { margin-left: .18em; color: #477243; font-size: .58em; vertical-align: top; }
.intro-launch .intro-heading .subtitle { margin: 9px 0 0; color: #27382b; font-size: .78rem; letter-spacing: .12em; line-height: 1.35; text-align: center; text-transform: uppercase; }
.intro-launch .intro-copy { min-height: 0; padding: clamp(18px, 4vw, 38px) 4px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.intro-launch .intro-copy h2 { position: relative; z-index: 1; width: 100%; max-width: 820px; margin: 0 auto 24px; color: #101811; font-size: clamp(2.55rem, 7vw, 5.7rem); font-weight: 900; letter-spacing: -.055em; line-height: .92; text-align: center; text-wrap: balance; }
.intro-launch .intro-copy p { position: relative; z-index: 1; max-width: 610px; color: #354238; font-size: 1rem; }
.intro-launch .intro-copy p + p { margin-top: 18px; }
.intro-launch .role-choice { padding: 4px; }
.intro-launch .role-choice > h2 { color: #111b13; font-size: clamp(1.35rem, 3vw, 2rem); }
.intro-launch .role-card, .intro-launch .role-card:nth-child(even) { min-height: 118px; padding: 24px 26px; border-radius: 4px; box-shadow: none; }
.intro-launch .creator-role { border-color: #bdd0bb; background: #edf4e9; }
.intro-launch .visitor-role { border-color: #bdcbc4; background: #edf2ef; }
.welcome-complementary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 6px; }
.intro-launch .welcome-complementary-card { width: 100%; min-height: 118px; border-color: #c5ccc5; background: #f4f4f0; }
.intro-launch .welcome-complementary-card:first-child { border-color: #4f7d66; background: #e2efe9; }
.intro-launch .welcome-complementary-card:last-child { border-color: #7d6b4f; background: #f0ebe2; }
.intro-launch .welcome-complementary-card strong { font-size: 1.12rem; }
.intro-launch .welcome-complementary-card > span { color: #566158; }
.intro-launch .welcome-complementary-card:first-child > span { color: #3d6352; }
.intro-launch .welcome-complementary-card:last-child > span { color: #63533d; }

.temporary-demo-launcher { position: fixed; inset: 0; z-index: 11500; display: grid; place-items: center; padding: 18px; background: rgba(12, 25, 16, .52); backdrop-filter: blur(8px); }
.temporary-launcher-window { width: min(620px, 100%); overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 22px; background: #f9faf4; box-shadow: 0 28px 80px rgba(0,0,0,.38); animation: temporary-window-in .22s ease-out; }
.temporary-launcher-window > header { display: grid; grid-template-columns: 72px 1fr 36px; align-items: center; min-height: 52px; padding: 0 12px; color: #edf5e9; background: #1c3c28; }
.temporary-launcher-window > header > strong { text-align: center; font-size: .82rem; letter-spacing: .04em; }
.temporary-launcher-window > header button { min-width: 32px; min-height: 32px; padding: 0; border: 0; color: white; background: transparent; font-size: 1.5rem; }
.launcher-dots { display: flex; gap: 6px; }
.launcher-dots i { width: 9px; height: 9px; border-radius: 50%; background: #d2643f; }
.launcher-dots i:nth-child(2) { background: #e2bc4d; }
.launcher-dots i:nth-child(3) { background: #71a362; }
.temporary-launcher-body { padding: clamp(24px, 6vw, 46px); }
.temporary-launcher-body h2 { margin: 8px 0 14px; color: #122317; font-size: clamp(2rem, 6vw, 3.4rem); letter-spacing: -.045em; line-height: .95; }
.temporary-launcher-preview { display: flex; align-items: center; gap: 15px; margin: 24px 0; padding: 16px 18px; border: 1px solid #cbd8c6; border-radius: 15px; background: #edf4e9; }
.temporary-launcher-preview > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; color: #fff; background: #416d42; font-size: 1.5rem; }
.temporary-launcher-preview div { display: grid; gap: 3px; }
.temporary-launcher-preview small { color: #5a675d; font-style: italic; }
.tutorial-fade-in { animation: tutorial-fade-in .45s ease-out; }
.temporary-dashboard-menu, .temporary-plant-choices { display: grid; gap: 10px; margin: 20px 0; }
.temporary-dashboard-menu button, .temporary-plant-choices button { display: grid; gap: 4px; justify-items: start; min-height: 68px; padding: 14px 18px; border: 1px solid #c4d4c1; border-radius: 14px; text-align: left; background: #edf4e9; }
.temporary-dashboard-menu button:disabled { opacity: .5; }
.temporary-dashboard-menu button span, .temporary-plant-choices button span { color: #59675d; font-size: .78rem; }
.tutorial-success { padding: 12px 14px; border-left: 4px solid #4b814d; border-radius: 5px; background: #e8f3e3; }
@keyframes temporary-window-in { from { opacity: 0; transform: translateY(20px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes tutorial-fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
    .intro-launch .intro-heading { padding-top: 14px; }
    .intro-launch .intro-copy { min-height: 0; padding: 18px 4px; }
    .intro-launch .role-grid { grid-template-columns: 1fr; }
    .welcome-complementary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    #app {
        width: calc(100% - 24px);
    }

    .intro-copy {
        border-radius: 36px 18px 40px 20px;
    }

    .role-card {
        min-height: 108px;
        border-radius: 36px 18px 36px 18px;
    }

    .project-dashboard-layout {
        grid-template-columns: minmax(0, 1fr) 76px;
        gap: 10px;
    }

    .project-side-action {
        width: 68px;
        min-height: 68px;
        font-size: .62rem;
    }

    .project-primary-action {
        min-height: 78px;
    }
}

@media (max-width: 480px) {
    .role-grid,
    .project-primary-grid {
        grid-template-columns: 1fr;
    }

    .project-primary-action,
    .project-primary-action:nth-child(n) {
        min-height: 68px;
        border-radius: 28px 14px 28px 14px;
    }

    .project-primary-action:nth-child(even) {
        border-radius: 14px 28px 14px 28px;
    }

    .project-latest-row,
    .project-marker-row {
        border-radius: 24px 12px 24px 12px;
    }
}


/* Shared platform home, project dashboards and Field Guide. */
.platform-global-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.platform-global-nav .menu-card {
    min-height: 104px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.project-action-group {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
}

.project-action-group > div {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.project-action-group button {
    min-height: 34px;
    padding: 5px 10px;
    border-color: rgba(47, 109, 66, .28);
    background: rgba(236, 246, 231, .9);
    color: var(--leaf-deep);
    font-size: .72rem;
}

.field-guide {
    gap: 20px;
}

.field-guide-place-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 10px;
}

.field-guide-place-cloud button {
    min-height: 58px;
    display: grid;
    gap: 2px;
    padding: 10px 17px;
    border-color: var(--earth-line);
    background: var(--paper-wash);
    text-align: left;
}

.field-guide-place-cloud .field-guide-area-card {
    grid-template-columns: auto 1fr;
    align-items: center;
    min-width: min(100%, 210px);
}
.field-guide-fireplace-symbol { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(145deg,#f7e8d1,#ecd3b2); font-style:normal; font-size:1.15rem; box-shadow:inset 0 0 0 1px rgba(139,89,52,.14); }
.field-guide-area-card.is-creator-area { cursor:pointer; }

.field-guide-area-card > span:last-child {
    display: grid;
    gap: 2px;
}

.field-guide-area-card small {
    color: #647067;
    font-size: .68rem;
}

.field-guide-area-symbols {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    min-width: 30px;
}

.field-guide-totem-symbol {
    display: block;
    width: 8px;
    height: 31px;
    border: 1px solid rgba(32,119,109,.6);
    border-radius: 3px 3px 1px 1px;
    background: linear-gradient(90deg, rgba(75,197,178,.3), rgba(75,197,178,.72), rgba(31,111,100,.38));
    box-shadow: 3px 2px 0 rgba(31,111,100,.18);
}

.field-guide-starting-symbol {
    display: block;
    width: 20px;
    height: 32px;
    border: 1px solid rgba(31,154,133,.52);
    border-radius: 46% 46% 38% 38%;
    background: linear-gradient(145deg, rgba(98,232,204,.28), rgba(24,151,129,.62));
    clip-path: polygon(50% 0, 88% 18%, 100% 72%, 70% 100%, 30% 100%, 0 72%, 12% 18%);
    box-shadow: inset 0 0 8px rgba(226,255,247,.52), 0 2px 7px rgba(22,106,91,.18);
}

.field-guide-area-symbol {
    display: block;
    width: 22px;
    height: 22px;
    border: 1px solid var(--earth-line);
    border-radius: 50%;
    background: var(--paper-wash);
}

.field-guide-place-cloud span {
    color: #647067;
    font-size: .72rem;
}

.visitor-mode-grid .role-card {
    min-height: 144px;
}

@media (max-width: 700px) {
    .platform-global-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .platform-global-nav .menu-card {
        min-height: 88px;
    }
}

@media (max-width: 420px) {
    .platform-global-nav {
        grid-template-columns: 1fr;
    }
}

.platform-landing-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.platform-landing-nav button {
    min-height: 38px;
    padding: 6px 15px;
    border-color: rgba(47, 109, 66, .22);
    background: rgba(247, 250, 243, .7);
    color: var(--leaf-deep);
}
.version-badge {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(47, 109, 66, .12);
    color: var(--leaf-deep);
    user-select: none;
}
.welcome-version-badge { display: inline-flex; justify-content: center; margin-top: 8px; font-size: .68rem; letter-spacing: .045em; opacity: .78; }

.platform-utility-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
    padding-top: 18px;
    border-top: 1px solid var(--earth-line);
}

@media (max-width: 600px) {
    .platform-utility-nav {
        grid-template-columns: 1fr;
    }
}

/* Global navigation rule: Back is always the final action in normal page flow. */
.bottom-back-nav {
    order: 999;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 22px;
    padding: 18px 0 4px;
    border-top: 1px solid var(--earth-line);
}

.bottom-back-nav .bottom-back-button,
.bottom-back-nav .bottom-back-button.ghost,
.bottom-back-nav .bottom-back-button.menu-card {
    width: min(100%, 520px);
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: auto;
    margin: 0;
    padding: 9px 18px;
    border: 1px solid rgba(47, 109, 66, .24);
    border-radius: 999px;
    background: rgba(247, 250, 243, .76);
    color: var(--leaf-ink);
    box-shadow: none;
    text-align: center;
}

.bottom-back-nav .bottom-back-button:hover {
    border-color: rgba(47, 109, 66, .5);
    background: rgba(237, 246, 232, .94);
}

@media print {
    .bottom-back-nav {
        display: none !important;
    }
}

/* Final compact navigation pass. */
.project-selection-list {
    gap: 7px;
}

.project-selection-list .project-selection-row {
    min-height: 50px;
    padding: 9px 17px;
    border-radius: 18px;
    background: rgba(249, 251, 246, .72);
    box-shadow: none;
}

.project-selection-list .project-selection-row:nth-child(even) {
    border-radius: 18px;
}

.project-selection-list .project-selection-row strong {
    font-size: .98rem;
    font-weight: 700;
}

.project-selection-list .create-project-action {
    min-height: 42px;
    margin-top: 3px;
    padding: 7px 14px;
    font-size: .82rem;
}

.platform-utility-nav {
    gap: 6px;
    padding-top: 12px;
}

.platform-global-nav.platform-utility-nav .menu-card {
    min-height: 48px;
    padding: 8px 10px;
    gap: 2px;
    border-color: rgba(47, 109, 66, .14);
    border-radius: 14px;
    background: rgba(247, 250, 243, .42);
    box-shadow: none;
}

.platform-utility-nav .menu-card strong {
    font-size: .78rem;
    font-weight: 700;
}

.platform-utility-nav .menu-card span {
    font-size: .62rem;
    line-height: 1.25;
    opacity: .7;
}


.project-dashboard-layout {
    grid-template-columns: 1fr;
    gap: 18px;
}

.project-side-menu {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid var(--earth-line);
}


.project-side-action {
    width: 100%;
    min-height: 42px;
    padding: 7px 9px;
    flex-direction: row;
    justify-content: center;
    border-color: rgba(47, 109, 66, .14);
    border-radius: 14px;
    background: rgba(247, 250, 243, .42);
    color: var(--leaf-deep);
    box-shadow: none;
    font-size: .72rem;
}

.project-side-action strong {
    color: var(--leaf-deep);
    font-size: .72rem;
}

.project-side-action span {
    display: none;
}

@media (max-width: 600px) {
    .platform-utility-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* V1 Lite location dashboard */
.location-dashboard-header {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 8px 8px 24px;
    text-align: center;
}

.location-dashboard-header h1 {
    margin: 4px 0 0;
    font-size: clamp(2rem, 7vw, 3.2rem);
    line-height: 1.05;
}

.location-dashboard-header p { margin: 0; color: #5b6a60; }

.change-location-control {
    justify-self: start;
    min-height: 36px;
    padding: 6px 10px;
    border-color: transparent;
    background: transparent;
    color: var(--leaf-deep);
    box-shadow: none;
}

.experience-launch-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.work-mode-section {
    display: grid;
    gap: 14px;
    padding: 20px;
    border: 1px solid rgba(76, 80, 77, .16);
    border-radius: 20px;
    background: rgba(250, 250, 248, .82);
}

.work-mode-section .section-heading-row { margin: 0; }
.work-mode-section .section-heading-row p { margin: 4px 0 0; color: #666b68; font-size: .82rem; }
.inline-help-action {
    min-height: 32px;
    padding: 5px 10px;
    border-color: #cfd2cf;
    background: transparent;
    color: #5d625f;
    box-shadow: none;
    font-size: .75rem;
}

.experience-launch-card {
    display: flex;
    gap: 5px;
    min-height: 132px;
    padding: 22px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    border-radius: 22px;
    border-color: #c8ccc9;
    background: #f5f5f2;
}

.experience-launch-card strong { font-size: 1.12rem; }
.experience-launch-card span,
.location-tool-card span,
.add-to-location-action span { color: #54655a; font-size: .82rem; line-height: 1.45; }

.contextual-guidance {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 13px 14px;
    border: 1px solid #d6d8d6;
    border-left: 4px solid #777d79;
    border-radius: 12px;
    background: #f8f8f6;
    color: #29302c;
}

.contextual-guidance > div:first-child { display: grid; gap: 3px; }
.contextual-guidance p { margin: 0; color: #5f6561; font-size: .8rem; line-height: 1.45; }
.guidance-stage { color: #6b706d; font-size: .66rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.contextual-guidance-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.contextual-guidance-actions button { min-height: 34px; padding: 6px 10px; font-size: .74rem; }
.contextual-guidance-actions .guidance-primary-action { border-color: #777d79; background: #777d79; color: #fff; }
.contextual-reminder { border-left: 4px solid #777d79; }

.content-mode-introduction {
    padding: 14px 16px;
    border: 1px solid #d6d8d6;
    border-radius: 14px;
    background: #f6f6f3;
}
.content-mode-introduction p { margin: 0; color: #5f6561; line-height: 1.5; }
.content-mode-tool-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.content-mode-tool-grid > button {
    display: grid;
    align-content: center;
    gap: 5px;
    min-height: 118px;
    padding: 18px;
    border-color: #c8ccc9;
    background: #f5f5f2;
    text-align: left;
}
.content-mode-tool-grid > button strong { font-size: 1rem; }
.content-mode-tool-grid > button span { color: #626864; font-size: .8rem; line-height: 1.45; }

/* Content mode section below Quick Access */
.content-mode-section {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.content-mode-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    min-height: 72px;
    padding: 14px 16px;
    text-align: left;
    border: 1px solid var(--earth-line);
    border-radius: 30px 14px 30px 14px;
    background:
        radial-gradient(circle at 96% 0%, rgba(158, 195, 137, .15), transparent 34%),
        rgba(249, 251, 245, .84);
    box-shadow: 0 7px 20px rgba(43, 73, 48, .055);
    transition: transform .18s ease, border-color .18s ease;
    cursor: pointer;
}
.content-mode-card:nth-child(even) {
    border-radius: 14px 30px 14px 30px;
}
.content-mode-card:hover {
    border-color: rgba(47, 109, 66, .52);
    background-color: rgba(242, 248, 236, .96);
    transform: translateY(-2px);
}
.content-mode-card div {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.content-mode-card strong {
    font-size: .88rem;
    color: var(--leaf-ink);
}
.content-mode-card span {
    font-size: .74rem;
    color: #5d6b62;
    line-height: 1.4;
}
.content-mode-icon {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--leaf-soft);
    font-size: 1.15rem;
    color: var(--leaf-deep);
}
@media (max-width: 520px) {
    .content-mode-section {
        grid-template-columns: 1fr;
    }
}

.experience-status,
.latest-entries-section {
    padding: 20px;
    border: 1px solid rgba(43, 78, 52, .15);
    border-radius: 20px;
    background: rgba(250, 251, 247, .8);
}

.section-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.section-heading-row h2 { margin: 0; }

.experience-state,
.entry-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #edf0eb;
    color: #536057;
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

.experience-state-published,
.entry-status-published { background: #dcefdc; color: #245b35; }
.experience-state-incomplete,
.entry-status-review { background: #fff0cf; color: #795316; }
.experience-state-draft,
.entry-status-draft { background: #e8ece8; color: #526057; }

.experience-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(43, 78, 52, .12);
    border-radius: 14px;
    background: rgba(43, 78, 52, .12);
}

.experience-status-item {
    display: grid;
    gap: 4px;
    padding: 13px 15px;
    background: #fbfcf8;
}

.experience-status-item-wide { grid-column: 1 / -1; }
.experience-status-item span { color: #66736a; font-size: .72rem; }
.experience-status-item strong { font-size: .88rem; line-height: 1.4; }

.setup-notice {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-left: 4px solid #d69b35;
    background: #fff7e5;
    color: #6f4d18;
    font-size: .84rem;
}

.status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.status-actions button,
.view-all-entries {
    min-height: 36px;
    padding: 6px 10px;
    border-color: rgba(47, 109, 66, .18);
    background: transparent;
    color: var(--leaf-deep);
    box-shadow: none;
    font-size: .76rem;
}

.add-to-location-action {
    display: flex;
    gap: 5px;
    width: 100%;
    min-height: 102px;
    padding: 22px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    border-radius: 22px;
    background: var(--leaf-deep);
    color: #fff;
}

.add-to-location-action strong { color: #fff; font-size: 1.2rem; }
.add-to-location-action span { color: rgba(255, 255, 255, .8); }

.location-tool-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.location-tool-card {
    display: flex;
    gap: 4px;
    min-height: 52px;
    padding: 11px 13px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    border-radius: 16px;
    background: rgba(247, 249, 244, .78);
    box-shadow: none;
}

.visitor-welcome-cover {
    display: block;
    width: 100%;
    max-height: 320px;
    object-fit: cover;
    border-radius: 22px;
    border: 1px solid rgba(43, 78, 52, .18);
}

.visitor-welcome-copy {
    display: grid;
    gap: 14px;
    font-size: 1rem;
}

.visitor-welcome-copy h2 { margin: 4px 0 0; }

.latest-entry-list { display: grid; }

.latest-entry-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 64px;
    padding: 10px 4px;
    border: 0;
    border-bottom: 1px solid rgba(43, 78, 52, .12);
    border-radius: 0;
    background: transparent;
    color: var(--leaf-ink);
    text-align: left;
    box-shadow: none;
}

.latest-entry-row:last-child { border-bottom: 0; }
.latest-entry-row:hover { background: rgba(231, 240, 225, .5); transform: none; }
.latest-entry-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--leaf-soft); color: var(--leaf-deep); }
.latest-entry-copy { display: grid; gap: 3px; min-width: 0; }
.latest-entry-copy strong { overflow-wrap: anywhere; }
.latest-entry-copy > span { color: #66736a; font-size: .75rem; }
.change-entry-row,
.all-project-entry-row { grid-template-columns: minmax(0, 1fr) minmax(120px, .45fr) minmax(130px, .45fr); }
.latest-entry-detail { display: grid; gap: 3px; min-width: 0; }
.latest-entry-detail > span { color: #66736a; font-size: .68rem; }
.latest-entry-detail > strong { overflow-wrap: anywhere; font-size: .78rem; font-weight: 700; }
.all-entries-list-section { padding: 20px; border: 1px solid rgba(43, 78, 52, .15); border-radius: 20px; background: rgba(250, 251, 247, .8); }
.all-entries-search { margin-bottom: 10px; }
.all-entries-list-section .project-search-summary { margin-bottom: 8px; }
.about-experience-content { display: grid; gap: 28px; }
.about-experience-content section { display: grid; gap: 10px; }
.about-experience-content h2,
.about-experience-content p { margin: 0; }
.about-experience-content p { max-width: 72ch; line-height: 1.65; }
.about-experience-conclusion { padding: 20px; border-left: 4px solid var(--leaf-mid); background: var(--leaf-soft); font-size: 1.08rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 620px) {
    .experience-launch-grid { grid-template-columns: 1fr; }
    .experience-launch-card { min-height: 108px; }
    .location-tool-grid { grid-template-columns: 1fr; }
    .location-tool-card { min-height: 76px; }
    .experience-status-grid { grid-template-columns: 1fr; }
    .experience-status-item-wide { grid-column: auto; }
    .change-entry-row,
    .all-project-entry-row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 14px 4px; }
    .latest-entry-detail { grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }
}

.setup-checklist,
.content-type-list,
.location-map-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(43, 78, 52, .15);
    border-radius: 20px;
    background: rgba(250, 251, 247, .8);
}

.setup-checklist { list-style: none; counter-reset: none; }
.setup-checklist li,
.content-type-row,
.location-map-row {
    display: grid;
    gap: 4px;
    min-height: 68px;
    padding: 15px 18px;
    border: 0;
    border-bottom: 1px solid rgba(43, 78, 52, .12);
    border-radius: 0;
    background: transparent;
    text-align: left;
    box-shadow: none;
}

.setup-checklist li:last-child,
.content-type-row:last-child,
.location-map-row:last-child { border-bottom: 0; }
.setup-checklist li span,
.content-type-row span,
.location-map-row span { color: #657269; font-size: .78rem; line-height: 1.45; }
.setup-checklist li.is-complete { border-left: 4px solid #4f9362; }
.setup-checklist li.is-current { border-left: 4px solid #d69b35; background: #fff9eb; }
.content-type-row:hover { background: rgba(231, 240, 225, .5); transform: none; }

.setup-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.setup-choice-grid button {
    min-height: 90px;
    padding: 15px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    border-radius: 14px;
    background: rgba(238, 245, 232, .72);
    box-shadow: none;
}

.setup-choice-grid button span { color: #617067; font-size: .78rem; }
.location-map-row { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.location-map-row > div { display: grid; gap: 4px; }

.site-map-introduction { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 4px 2px; }
.site-map-introduction > div:first-child { display: grid; gap: 6px; max-width: 60ch; }
.site-map-introduction .welcome-label { margin: 0; }
.site-map-introduction h2, .site-map-introduction p { margin: 0; }
.site-map-legend { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px 12px; color: #45584b; font-size: .74rem; font-weight: 700; }
.site-map-legend span { display: inline-flex; align-items: center; gap: 5px; }
.site-map-legend i { width: 10px; height: 10px; border-radius: 50%; background: #2b7552; box-shadow: 0 0 0 2px rgba(255,255,255,.8); }
.site-map-legend .is-plant { background: #5c963e; }
.site-map-legend .is-note { background: #d2942a; }
.site-map-canvas { position: relative; isolation: isolate; overflow: hidden; width: 100%; aspect-ratio: 1.094 / 1; border: 1px solid rgba(35, 80, 44, .42); border-radius: 22px; background: #284a20; box-shadow: 0 12px 32px rgba(23, 51, 29, .14); }
.site-map-canvas > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.site-map-generic-surface { position: absolute; inset: 0; z-index: -2; background-color: #31583a; background-image: linear-gradient(rgba(221,239,211,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(221,239,211,.08) 1px, transparent 1px), radial-gradient(circle at 24% 22%, rgba(151,198,127,.22), transparent 32%), radial-gradient(circle at 76% 72%, rgba(105,157,91,.26), transparent 38%); background-size: 32px 32px, 32px 32px, auto, auto; }
.site-map-editor { display: grid; gap: 10px; }
.site-map-editor h2, .site-map-editor p { margin: 0; }
.site-map-upload { display: grid; gap: 5px; font-size: .76rem; font-weight: 750; }
.site-map-upload input { padding: 8px; border: 1px dashed rgba(45,91,55,.32); border-radius: 10px; background: rgba(239,246,235,.72); }
.site-map-link-tools { display: flex; flex-wrap: wrap; gap: 6px; }
.site-map-link-tools button { min-height: 36px; padding: 6px 10px; }
.site-map-canvas.is-linking-area,
.nlxr-db-v2-map-canvas.is-linking-area { cursor: crosshair; outline: 3px solid #dcef95; outline-offset: 3px; }
.site-map-image-wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, rgba(7, 34, 14, .04), transparent 46%, rgba(11, 38, 17, .16)); pointer-events: none; }
.site-map-area { position: absolute; left: var(--map-x); top: var(--map-y); z-index: 1; display: grid; width: auto; min-width: 22px; min-height: 18px; padding: 1px 3px; transform: translate(-50%, -50%); border: 0; border-radius: 4px; background: rgba(11,45,25,.26); color: rgba(255,255,255,.9); text-align: center; box-shadow: none; backdrop-filter: none; }
button.site-map-area { cursor: pointer; }
button.site-map-area:hover, button.site-map-area:focus-visible { z-index: 4; background: rgba(11,45,25,.52); outline: 1px solid rgba(255,255,255,.7); outline-offset: 1px; transform: translate(-50%, -50%) scale(1.08); }
.site-map-area.is-plan-linked { width: 48px; min-height: 26px; background: rgba(11,45,25,.08); outline: 1px solid rgba(255,255,255,.18); outline-offset: 1px; }
.site-map-area.is-plan-linked strong { opacity: 0; }
.site-map-area.is-plan-linked:hover, .site-map-area.is-plan-linked:focus-visible { background: rgba(220,239,149,.16); outline: 2px solid rgba(220,239,149,.82); }
.site-map-area strong { color: inherit; font-size: .56rem; line-height: 1; }
.site-map-area span { display: none; }
.site-map-pin { position: absolute; left: var(--map-x); top: var(--map-y); z-index: 3; width: 3px; height: 3px; min-width: 0; min-height: 0; margin: 0; padding: 0; transform: translate(-50%, -50%); border: 0; border-radius: 50%; background: rgba(52,138,40,.58); box-shadow: none; overflow: hidden; }
.site-map-pin::after { display: none; }
.site-map-pin-plant::after { background: #5c963e; }
.site-map-pin-note::after { background: #d2942a; }
.site-map-pin-intro_checkpoint::after, .site-map-pin-sub_checkpoint::after, .site-map-pin-area_checkpoint::after { background: #3b8fc6; }
.site-map-pin-note { background: rgba(210,148,42,.58); }
.site-map-pin-intro_checkpoint, .site-map-pin-sub_checkpoint, .site-map-pin-area_checkpoint { background: rgba(59,143,198,.58); }
button.site-map-pin { cursor: pointer; min-height: 0; min-width: 0; }
button.site-map-pin:hover, button.site-map-pin:focus-visible { z-index: 5; transform: translate(-50%, -50%) scale(1.35); outline: 2px solid rgba(255,255,255,.82); outline-offset: 1px; }
.site-map-scale-note { position: absolute; right: 10px; bottom: 10px; z-index: 4; margin: 0; max-width: min(68%, 300px); padding: 5px 8px; border-radius: 999px; background: rgba(10, 34, 16, .78); color: rgba(255,255,255,.92); font-size: .63rem; text-align: right; backdrop-filter: blur(6px); }
.site-map-summary { display: flex; flex-wrap: wrap; gap: 7px 16px; align-items: center; color: #526459; font-size: .78rem; }
.site-map-summary strong { color: #1f4c2e; }
.gis-export-preview { display: grid; gap: 9px; padding: 14px 16px; border: 1px solid rgba(47, 91, 72, .2); border-radius: 15px; background: linear-gradient(135deg, rgba(239, 247, 236, .92), rgba(235, 244, 246, .92)); }
.gis-export-preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gis-export-preview-heading .welcome-label { margin: 0 0 3px; }
.gis-export-preview h2, .gis-export-preview p { margin: 0; }
.gis-export-preview h2 { color: #245638; font-size: 1rem; }
.gis-export-preview p:not(.welcome-label) { max-width: 72ch; color: #5a6d61; font-size: .76rem; line-height: 1.45; }
.gis-export-preview button { justify-self: start; min-height: 35px; padding: 7px 11px; border: 1px solid rgba(54, 105, 71, .2); border-radius: 9px; background: rgba(255,255,255,.62); color: #6b7b70; font-size: .72rem; font-weight: 800; }
.gis-export-preview button:disabled { cursor: not-allowed; opacity: .78; }
.gis-export-badge { padding: 4px 8px; border: 1px solid rgba(83, 115, 91, .2); border-radius: 999px; color: #5b7561; font-size: .62rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }

.dashboard-ar-path { display: grid; grid-template-columns: repeat(2,minmax(0,260px)); gap: 10px; align-items: stretch; }
.dashboard-open-ar { display: grid; grid-template-columns: auto 1fr; gap: 2px 9px; align-items: center; width: 100%; min-height: 72px; padding: 13px 15px; border: 1px solid #4d9bd3; border-radius: 17px; background: #176fae; color: #fff; text-align: left; box-shadow: 0 8px 20px rgba(23,111,174,.2); }
.dashboard-open-ar { min-height: 60px; max-width: 260px; padding: 10px 13px; }
.dashboard-field-guide { display:grid; grid-template-columns:auto 1fr; gap:2px 9px; align-items:center; min-height:60px; max-width:260px; padding:10px 13px; border:1px solid rgba(76,126,66,.3); border-radius:17px; background:linear-gradient(135deg,#edf5e5,#dfeff2); color:#31523a; text-align:left; }
.dashboard-field-guide > span { grid-row:1 / 3; font-size:1.25rem; }
.dashboard-field-guide small { color:#627168; font-size:.72rem; }
.project-entry .content-mode-section .content-mode-card:first-child { display:none; }
.project-entry .project-search-section { display:none; }
.dashboard-open-ar > span { grid-row: 1 / 3; font-size: 1.35rem; }
.dashboard-open-ar strong { font-size: clamp(1rem, 3vw, 1.25rem); letter-spacing: .04em; }
.dashboard-open-ar small { color: rgba(255,255,255,.8); font-size: .78rem; line-height: 1.4; }
.project-loading-screen { position: fixed; inset: 0; z-index: 15000; display: grid; align-content: center; justify-items: center; gap: 10px; box-sizing: border-box; padding: 28px; background: radial-gradient(circle at 50% 40%, rgba(130,181,113,.2), transparent 34%), #f2f6ef; color: #203b29; text-align: center; }
.project-loading-screen h1, .project-loading-screen p { margin: 0; }
.project-loading-screen h1 { font-size: clamp(1.55rem, 6vw, 2.35rem); }
.project-loading-screen > p:not(.welcome-label) { color: #66746b; font-size: .86rem; }
.project-loading-mark { display: grid; place-items: center; width: 62px; height: 62px; border: 1px solid rgba(67,119,74,.3); border-radius: 50%; background: rgba(255,255,255,.72); color: #4d8653; box-shadow: 0 12px 30px rgba(40,83,49,.12); font-size: 1.8rem; animation: project-loading-breathe 1.6s ease-in-out infinite; }
.project-loading-track { width: min(78vw, 360px); height: 7px; margin-top: 12px; overflow: hidden; border-radius: 999px; background: rgba(54,94,62,.12); }
.project-loading-track span { display: block; width: 42%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #78ad6c, #dcef95); animation: project-loading-progress 1.15s ease-in-out infinite; }
@keyframes project-loading-breathe { 0%, 100% { transform: scale(.92); opacity: .72; } 50% { transform: scale(1.06); opacity: 1; } }
@keyframes project-loading-progress { from { transform: translateX(-110%); } to { transform: translateX(340%); } }
.dashboard-vital-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
.dashboard-vital-actions:empty { display: none; }
.dashboard-vital-actions button { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px; min-height: 58px; padding: 10px 12px; border: 1px solid rgba(48,91,57,.32); border-radius: 13px; background: #f7faf5; color: #243d2b; text-align: left; box-shadow: 0 3px 10px rgba(35,67,42,.07); }
.dashboard-vital-actions button:hover, .dashboard-vital-actions button:focus-visible { border-color: rgba(48,91,57,.62); background: #fff; }
.dashboard-vital-actions button b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(61,111,70,.11); color: #35663f; font-size: .9rem; }
.dashboard-vital-actions button strong { font-size: .76rem; line-height: 1.15; }
.dashboard-vital-actions button small { position: absolute; top: 5px; right: 7px; min-width: 17px; padding: 1px 4px; border-radius: 999px; background: #345f3c; color: #fff; font-size: .58rem; text-align: center; }
.dashboard-spatial-home b { color: #218e79 !important; background: rgba(67,201,155,.15) !important; border-radius: 46% 46% 38% 38% !important; }
.dashboard-spatial-bag b { border-radius: 7px 7px 10px 10px !important; background: rgba(129,92,48,.13) !important; color: #76532e !important; }
.living-map-progress { position: relative; display: grid; gap: 12px; padding: 15px; overflow: hidden; border: 1px solid rgba(63,112,66,.2); border-radius: 18px; background: rgba(247,251,243,.96); box-shadow: 0 6px 18px rgba(39,78,45,.06); }
.living-map-progress-heading { position: relative; display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.living-map-progress-heading h2 { margin: 3px 0 0; font-size: clamp(1.02rem, 3.5vw, 1.3rem); }
.living-map-progress-heading > strong { padding: 5px 9px; border-radius: 999px; background: rgba(49,99,58,.1); color: #315f3b; font-size: .72rem; white-space: nowrap; }
.growth-stage { color: #4f8055; font-size: .66rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tutorial-task-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.subtle-project-tutorial { padding: 0; overflow: hidden; }
.subtle-project-tutorial > summary { cursor: pointer; list-style: none; padding: 12px 14px; }
.subtle-project-tutorial > summary::-webkit-details-marker { display: none; }
.subtle-project-tutorial .tutorial-summary-progress { display: inline-flex; align-items: center; gap: 8px; }
.subtle-project-tutorial .tutorial-summary-progress i { font-style: normal; transition: transform .2s ease; }
.subtle-project-tutorial[open] .tutorial-summary-progress i { transform: rotate(180deg); }
.subtle-project-tutorial .project-tutorial-details { padding: 0 14px 14px; }
.tutorial-task-list > span { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 7px; align-items: center; min-height: 38px; padding: 7px 9px; border: 1px solid rgba(70,111,73,.14); border-radius: 11px; background: rgba(255,255,255,.62); color: #526158; }
.tutorial-task-list > span i { color: #708077; font-style: normal; font-size: 1rem; text-align: center; }
.tutorial-task-list > span strong { font-size: .74rem; }
.tutorial-task-list > span small { color: #68756d; font-size: .66rem; }
.tutorial-task-list > span.is-complete { background: rgba(112,169,101,.1); color: #315f3b; }
.tutorial-task-list > span.is-complete i { color: #4f8653; font-weight: 900; }
.tutorial-purpose { display: grid; gap: 4px; margin-top: 11px; padding: 11px 13px; border-left: 3px solid rgba(76,132,81,.55); background: rgba(235,244,229,.56); }
.tutorial-purpose strong, .tutorial-purpose p { margin: 0; }
.tutorial-purpose strong { color: #315b3b; font-size: .78rem; }
.tutorial-purpose p { color: #56675b; font-size: .75rem; line-height: 1.42; }
.tutorial-purpose-link { display:flex; justify-content:flex-start; margin-top:3px; }
.tutorial-guide-link { min-height:34px; padding:6px 11px; border:1px solid rgba(75,126,66,.34); border-radius:999px; background:#fff8df; color:#315b3b; font-size:.7rem; font-weight:800; }
.tutorial-guide-link:hover, .tutorial-guide-link:focus-visible { border-color:#bd8c28; background:#fff0b9; }
.tutorial-quick-starts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.tutorial-quick-starts button { display: grid; grid-template-columns: 22px minmax(0,1fr); align-content: center; gap: 2px 6px; min-width: 0; min-height: 58px; padding: 7px 8px; border: 1px solid rgba(161,70,61,.3); border-radius: 12px; background: #f7d9d2; color: #713f39; text-align: left; }
.tutorial-quick-starts button:nth-child(2) { background: #f4dfc7; }
.tutorial-quick-starts button:nth-child(3) { background: #efd2d8; }
.tutorial-quick-starts button:nth-child(4) { background: #ead7e7; }
.tutorial-quick-starts button > span { grid-row: 1 / 3; font-size: 1rem; }
.tutorial-quick-starts button strong { font-size: .72rem; line-height: 1.2; }
.tutorial-quick-starts button small { color: #785a55; font-size: .6rem; line-height: 1.2; }
@media (max-width: 620px) { .tutorial-quick-starts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nonplant-template-choice { display: inline-grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; align-items: center; width: fit-content; max-width: 100%; margin: 10px 0; padding: 7px 9px; border: 1px solid rgba(75,82,87,.2); border-radius: 10px; background: rgba(226,229,231,.4); color: #3f474c; }
.nonplant-template-choice input { width: 17px; height: 17px; margin: 0; accent-color: #596268; }
.nonplant-template-choice > span { display: grid; gap: 1px; }
.nonplant-template-choice strong { font-size: .76rem; }
.nonplant-template-choice small { color: #687076; font-size: .64rem; }
.nonplant-project { --accent: #5e666d; --accent-strong: #343b41; }
.nonplant-project .dashboard-open-ar { border-color:#4d9bd3; background:#176fae; }
.nonplant-project .living-map-progress, .nonplant-project .content-mode-section { filter: saturate(.15); }
.living-growth-path { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; }
.living-growth-path::before { content: ""; position: absolute; left: 7%; right: 7%; top: 9px; height: 2px; background: linear-gradient(90deg, rgba(75,132,72,.55), rgba(75,132,72,.1)); }
.living-growth-path > span { position: relative; z-index: 1; display: grid; justify-items: center; gap: 5px; min-width: 0; text-align: center; }
.living-growth-path i { display: block; width: 16px; height: 16px; border: 2px solid rgba(70,111,73,.24); border-radius: 60% 40% 62% 38%; background: #f7faf4; transform: rotate(36deg); }
.living-growth-path .is-complete i { border-color: #4f8653; background: #78ad6c; box-shadow: 0 0 0 4px rgba(120,173,108,.12); }
.living-growth-path .is-current i { border-color: #c89134; background: #f3d388; animation: living-seed-breathe 1.8s ease-in-out infinite; }
.living-growth-path small { max-width: 74px; color: #617067; font-size: clamp(.52rem, 1.9vw, .63rem); line-height: 1.15; }
@keyframes living-seed-breathe { 50% { transform: rotate(36deg) scale(1.18); box-shadow: 0 0 0 7px rgba(200,145,52,.1); } }
.living-map-next { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 2px; }
.living-map-next > span { color: #526158; font-size: .78rem; line-height: 1.4; }
.living-map-next button { flex: 0 0 auto; }
.living-map-optional { padding-top: 10px; border-top: 1px solid rgba(58,91,61,.14); }
.living-map-optional summary { cursor: pointer; color: #35633e; font-size: .76rem; font-weight: 800; }
.living-map-optional p { margin: 9px 0; color: #5f6e64; font-size: .76rem; line-height: 1.45; }
.help-guide-quick ol { display: grid; gap: 9px; padding-left: 1.25rem; }
.help-guide-spatial-devices { display: grid; gap: 10px; }
.help-guide-spatial-devices h2, .help-guide-spatial-devices p { margin: 0; }
.help-guide-spatial-devices p { color: #596b5f; line-height: 1.5; }
.help-faq { display: grid; gap: 8px; }
.help-faq details { border: 1px solid rgba(48,91,57,.2); border-radius: 12px; background: rgba(248,251,246,.88); padding: 11px 13px; }
.help-faq summary { cursor: pointer; color: #274c31; font-weight: 750; }
.help-faq details p { margin: 8px 0 0; }
.ar-portal,
button[onclick*="renderArPreparation"],
button[onclick*="openCreatorArMode"],
button[onclick*="startArMode"],
button[onclick*="navigateToProjectArea"] { border-color: #365218 !important; background: linear-gradient(135deg, #365218, #5f7133) !important; color: #fff !important; box-shadow: none; }
.ar-portal span,
button[onclick*="renderArPreparation"] span,
button[onclick*="openCreatorArMode"] span,
button[onclick*="startArMode"] span,
button[onclick*="navigateToProjectArea"] span { color: rgba(255,255,255,.8) !important; }
.explorer-project-card.is-under-construction { display: flex; align-items: center; justify-content: space-between; gap: 12px; opacity: .82; }
.explorer-project-card.is-under-construction > div { display: grid; gap: 3px; }
.explorer-project-card.is-under-construction button { flex: 0 0 auto; min-height: 36px; padding: 7px 11px; }
.project-public-facts { display: grid; gap: 9px; margin: 16px 0; }
.project-public-facts div { display: grid; grid-template-columns: minmax(90px,.45fr) 1fr; gap: 10px; padding-top: 8px; border-top: 1px solid rgba(48,91,57,.14); }
.project-public-facts dt { color: #647067; font-size: .72rem; }
.project-public-facts dd { margin: 0; font-weight: 700; }
.dashboard-vital-notice { order: -1; }
.dashboard-location-footer { display: flex; justify-content: flex-start; padding-top: 8px; border-top: 1px solid rgba(48,91,57,.16); }

@media (max-width: 620px) {
    .dashboard-ar-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-open-ar, .dashboard-field-guide { min-width: 0; padding: 9px; }
    .dashboard-open-ar small, .dashboard-field-guide small { font-size: .64rem; }
    .dashboard-vital-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .setup-choice-grid { grid-template-columns: 1fr; }
    .location-map-row { grid-template-columns: 1fr; }
    .site-map-introduction { align-items: start; flex-direction: column; }
    .site-map-legend { justify-content: start; }
    .site-map-area { width: auto; min-height: 16px; padding: 1px 2px; }
    .site-map-area strong { font-size: .5rem; }
    .site-map-pin { width: 3px; height: 3px; }
    .site-map-scale-note { font-size: .55rem; }
}

.area-question-actions,
.area-dashboard-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.area-question-actions button,
.area-dashboard-actions button {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 5px;
    min-height: 104px;
    padding: 18px 20px;
    text-align: left;
    border-radius: 20px;
}

.area-question-actions button span,
.area-dashboard-actions button span {
    color: #5d6b62;
    font-size: .8rem;
    line-height: 1.4;
}

.area-question-actions button.primary span,
.area-dashboard-actions button.primary span {
    color: rgba(255, 255, 255, .82);
}

.area-profile-summary {
    display: grid;
    gap: 10px;
}

.area-profile-summary h2,
.area-profile-summary p,
.area-content-section .section-heading-row p {
    margin: 0;
}

.area-content-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
}

.area-content-section > summary::-webkit-details-marker { display: none; }
.area-content-section > summary > span { color: var(--muted, #66736a); transition: transform .18s ease; }
.area-content-section[open] > summary > span { transform: rotate(180deg); }
.area-type-editor select { margin-top: 8px; }

.area-location-status {
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff0cf;
    color: #795316;
    font-size: .76rem;
    font-weight: 700;
}

.area-location-status.is-assigned {
    background: #dcefdc;
    color: #245b35;
}

.area-danger-zone {
    display: grid;
    justify-items: start;
    gap: 8px;
    margin-top: 20px;
    padding: 20px 4px 4px;
    border-top: 1px solid rgba(165, 60, 53, .25);
}

.area-danger-zone h2,
.area-danger-zone p {
    margin: 0;
}

.area-danger-zone > p:not(.meta) {
    color: #6c625f;
    font-size: .82rem;
}

@media (max-width: 620px) {
    .area-question-actions,
    .area-dashboard-actions {
        grid-template-columns: 1fr;
    }
}

.dashboard-introduction {
    max-width: 48rem;
    margin-top: .75rem;
    line-height: 1.55;
}

.location-create-section-prominent {
    margin-top: 1rem;
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, #315f3b, #467a4e);
    color: #fff;
}

.location-create-section-prominent .section-heading-row { margin-bottom: 12px; }
.location-create-section-prominent h2,
.location-create-section-prominent p { margin: 0; color: #fff; }
.location-create-section-prominent p { color: rgba(255, 255, 255, .78); font-size: .82rem; }

.quick-access-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
    gap: 12px 8px;
}

.quick-access-action {
    display: grid;
    place-items: center;
    align-content: start;
    gap: 8px;
    min-height: 96px;
    padding: 5px 4px 8px;
    border: 0;
    border-radius: 18px;
    background: transparent;
    color: #fff;
    box-shadow: none;
}

.quick-access-action:hover { background: rgba(0, 0, 0, .08); transform: none; }
.quick-access-action strong { color: #fff; font-size: .8rem; line-height: 1.2; text-align: center; }
.quick-access-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 18px;
    background: rgba(255, 255, 255, .18);
    box-shadow: none;
    font-size: 1.6rem;
    line-height: 1;
}

.project-search-section {
    display: grid;
    gap: 12px;
    margin-top: 16px;
    padding: 18px 20px;
    border: 1px solid #d6d8d6;
    border-radius: 20px;
    background: #f7f7f5;
}

.project-search-section .section-heading-row { margin: 0; }
.project-search-section h2,
.project-search-section p { margin: 0; }
.project-search-section .section-heading-row p { margin-top: 4px; color: #66736a; font-size: .82rem; }

.project-search-box {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    min-height: 48px;
    overflow: hidden;
    border: 1px solid #cfd2cf;
    border-radius: 14px;
    background: #ededeb;
}

.project-search-box > span {
    color: #686d6a;
    font-size: 1.35rem;
    font-weight: 800;
    text-align: right;
}

.project-search-box input {
    min-width: 0;
    min-height: 46px;
    padding: 10px 12px 10px 8px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.project-search-box input:focus { outline: 0; }
.project-search-box:focus-within {
    border-color: #777c79;
    box-shadow: 0 0 0 3px rgba(80, 84, 82, .12);
}

.project-search-summary { color: #66736a; font-size: .75rem; }
.project-search-results { display: grid; }
.project-search-results[hidden],
.project-search-result[hidden],
.project-search-section > .project-empty-state[hidden] { display: none; }

.project-search-result {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    padding: 10px 8px;
    border: 0;
    border-bottom: 1px solid rgba(43, 78, 52, .12);
    border-radius: 0;
    background: transparent;
    text-align: left;
    box-shadow: none;
}

.project-search-result:last-child { border-bottom: 0; }
.project-search-result:hover { background: rgba(231, 240, 225, .5); transform: none; }
.project-search-result-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 13px;
    background: var(--leaf-soft);
    color: var(--leaf-deep);
    font-size: 1.15rem;
}
.project-search-result-copy { display: grid; gap: 2px; min-width: 0; }
.project-search-result-copy strong,
.project-search-result-copy span,
.project-search-result-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.project-search-result-copy span,
.project-search-result-copy small,
.project-search-result-open { color: #66736a; font-size: .75rem; }
.project-search-result-open { font-weight: 800; }

.project-areas-section {
    padding: 20px;
    border: 1px solid rgba(43, 78, 52, .15);
    border-radius: 20px;
    background: rgba(250, 251, 247, .8);
}
.areas-heading-row { align-items: center; gap: 10px; }
.areas-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    border: 0;
    background: transparent;
    padding: 0;
    width: 100%;
    text-align: left;
    min-height: 36px;
    border-radius: 0;
    box-shadow: none;
}
.project-create-area { flex: 0 0 auto; min-height: 36px; padding: 7px 11px; border-color: rgba(58,116,71,.5); background: linear-gradient(135deg, #315f3b, #467a4e); color: #fff; font-size: .66rem; font-weight: 850; letter-spacing: .035em; }
.area-name-examples { margin: -2px 0 2px; color: #66746b; font-size: .73rem; }
.area-create-actions { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: stretch; }
.area-create-actions button { display: grid; align-content: center; gap: 2px; min-height: 58px; text-align: left; }
.area-create-actions button:first-child { display: block; min-height: 40px; align-self: end; }
.area-create-actions span { color: inherit; font-size: .68rem; font-weight: 500; line-height: 1.3; opacity: .82; }
@media (max-width: 620px) {
    .living-map-next { align-items: stretch; flex-direction: column; }
    .living-map-next button { width: 100%; }
    .area-create-actions { grid-template-columns: 1fr; }
    .area-create-actions button:first-child { order: 3; }
}
.areas-toggle:hover {
    border-color: transparent;
    background: transparent;
}
.areas-toggle-right {
    display: flex;
    align-items: center;
    gap: 8px;
}
.areas-arrow {
    font-size: .78rem;
    transition: transform .2s ease;
    color: #66736a;
}
[data-areas-expanded="true"] .areas-arrow {
    transform: rotate(180deg);
}
[data-areas-expanded="false"] .project-area-list {
    display: none;
}
.project-area-count {
    display: grid;
    min-width: 28px;
    min-height: 28px;
    place-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--leaf-soft);
    color: var(--leaf-deep);
    font-size: .75rem;
    font-weight: 800;
}

.project-area-list { display: grid; }

.project-area-link {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    padding: 12px 8px;
    border: 0;
    border-bottom: 1px solid rgba(43, 78, 52, .12);
    border-radius: 0;
    background: transparent;
    text-align: left;
    box-shadow: none;
}

.project-area-link:last-child { border-bottom: 0; }
.project-area-link:hover { background: rgba(231, 240, 225, .5); transform: none; }
.project-area-link-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 13px;
    background: var(--leaf-soft);
    color: var(--leaf-deep);
    font-size: 1.15rem;
}
.project-area-link-copy { display: grid; gap: 3px; min-width: 0; }
.project-area-link-copy strong { overflow-wrap: anywhere; }
.project-area-link-copy span,
.project-area-link-meta { color: #66736a; font-size: .75rem; }
.project-area-link-meta { font-weight: 700; white-space: nowrap; }
.areas-heading-actions { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.project-layout-info { display: inline-grid; place-items: center; width: 21px; height: 21px; padding: 0; border: 1px solid rgba(43, 78, 52, .24); border-radius: 50%; background: rgba(255, 255, 255, .72); color: var(--leaf-deep); font-size: .72rem; font-weight: 850; line-height: 1; }
.project-layout-info:hover, .project-layout-info:focus-visible, .project-layout-info[aria-expanded="true"] { border-color: var(--leaf-deep); background: rgba(236, 247, 239, .95); }
.project-layout-intro { grid-column: 1 / -1; margin: -2px 0 8px; color: #66736a; font-size: .78rem; }
.dashboard-section-kicker { display: block; margin-bottom: 2px; color: var(--leaf-deep); font-size: .62rem; letter-spacing: .1em; }
.project-layout-section .project-area-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.project-area-overview-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; width: 100%; gap: 12px; min-height: 82px; padding: 12px; border: 1px solid rgba(43, 78, 52, .14); border-radius: 16px; background: rgba(255, 255, 255, .6); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.project-area-overview-card[data-home-area="true"] { border-color: rgba(39, 118, 82, .38); background: rgba(236, 247, 239, .78); }
.project-area-overview-card[data-current-area="true"] { border-color: var(--leaf-deep); box-shadow: 0 0 0 3px rgba(39, 118, 82, .12); }
.project-area-overview-icon { width: 42px; height: 42px; }
.project-area-overview-copy { display: grid; min-width: 0; gap: 3px; }
.project-area-overview-copy span { color: #66736a; font-size: .75rem; }
.project-area-overview-home-badge { color: #277652; font-size: .6rem; font-weight: 850; letter-spacing: .06em; }
.project-area-overview-current-badge { color: #9b6b1f; font-size: .6rem; font-weight: 850; letter-spacing: .06em; }
.project-area-overview-totem { display: grid; justify-items: center; gap: 3px; min-width: 48px; color: #66736a; }
.project-area-overview-totem i { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid color-mix(in srgb, var(--area-totem-color) 72%, rgba(43, 78, 52, .25)); border-radius: 9px 9px 6px 6px; background: color-mix(in srgb, var(--area-totem-color) 78%, white); color: #fff; font-size: .9rem; font-style: normal; text-shadow: 0 1px 2px rgba(0,0,0,.25); }
.project-area-overview-totem i[style*="transparent"] { border-color: rgba(43, 78, 52, .2); background: rgba(43, 78, 52, .08); color: #748078; text-shadow: none; }
.project-area-overview-totem small { font-size: .62rem; white-space: nowrap; }
.status-count-link { padding: 0; border: 0; background: transparent; color: var(--leaf-deep); box-shadow: none; text-decoration: underline; }
.status-count-link:hover { background: transparent; transform: none; }
.placement-status { font-weight: 700; }
.placement-status.is-unplaced { color: #8b5715; }
.placement-status.is-placed { color: var(--leaf-deep); }
.minimal-creation-form .inline-form-action { width: fit-content; margin-top: 8px; }
.unplaced-content-row { grid-template-columns: 34px minmax(0, 1fr) auto; }
.guided-setup-panel {
    margin-top: 16px;
    padding: 20px;
    border: 1px solid rgba(68, 111, 70, .28);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(244, 249, 239, .98), rgba(232, 242, 225, .92));
}

.guided-setup-panel h2 { margin: 4px 0 8px; }
.guided-setup-panel > p:not(.welcome-label) { max-width: 52rem; color: #526158; line-height: 1.55; }
.guided-setup-steps { display: grid; gap: 8px; padding: 0; list-style: none; }
.guided-setup-steps li { display: grid; gap: 3px; padding: 12px 14px; border-left: 4px solid #b9c7b9; background: rgba(255, 255, 255, .76); }
.guided-setup-steps li span { color: #617067; font-size: .82rem; line-height: 1.45; }
.guided-setup-steps li.is-current { border-left-color: #d4942e; background: #fffaf0; }
.guided-setup-steps li.is-complete { border-left-color: var(--leaf-deep); }
.guided-setup-steps li.is-complete strong::before { content: "✓ "; color: var(--leaf-deep); }
.guided-next-action { margin-top: 6px; }
.field-readonly-value { margin: 0; padding: 11px 12px; border-radius: 8px; background: #eef3eb; }

.ar-preparation-actions {
    justify-content: space-between;
}
.ar-preparation-skip-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 10px;
    background: rgba(250, 252, 248, .76);
    border: 1px solid var(--earth-line);
    cursor: pointer;
    font-size: .85rem;
    user-select: none;
}
.ar-preparation-skip-toggle input {
    width: 18px;
    height: 18px;
    min-height: 18px;
    cursor: pointer;
}

@media (max-width: 620px) {
    .contextual-guidance { grid-template-columns: 1fr; }
    .contextual-guidance-actions { justify-content: flex-start; }
    .content-mode-tool-grid { grid-template-columns: 1fr; }
    .quick-access-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .quick-access-action { min-height: 90px; }
    .quick-access-icon { width: 54px; height: 54px; border-radius: 17px; }
    .project-search-result { grid-template-columns: 40px minmax(0, 1fr); }
    .project-search-result-open { grid-column: 2; }
    .project-area-link { grid-template-columns: 40px minmax(0, 1fr); }
    .project-area-link-meta { grid-column: 2; }
    .unplaced-content-row { grid-template-columns: 30px minmax(0, 1fr); }
    .unplaced-content-row > button { grid-column: 2; justify-self: start; }
}

/* Project-selectable themes */
body[data-project-theme="forest-light"] {
    --theme-bg: #ffffff;
    --theme-surface: #ffffff;
    --theme-surface-soft: #f7f8f3;
    --theme-text: #111111;
    --theme-muted: #323b19;
    --theme-accent: #365218;
    --theme-accent-hover: #323b19;
    --theme-on-accent: #ffffff;
    --theme-button-bg: #ffffff;
    --theme-button-hover: #f7f8f3;
    --theme-button-text: #111111;
    --theme-button-muted: #323b19;
    --theme-quick-text: #ffffff;
    --theme-danger-bg: #fff1ef;
    --theme-danger-hover: #ffe3df;
    --theme-danger-text: #8a241e;
    --theme-danger-border: #c6544b;
    --theme-line: rgba(50, 59, 25, .2);
    --theme-quick-access: linear-gradient(135deg, #365218, #5f7133);
    --leaf-ink: #323b19;
    --leaf-deep: #365218;
    --leaf-mid: #778257;
    --leaf-soft: #eef0e7;
    --paper-wash: #ffffff;
    --earth-line: rgba(50, 59, 25, .22);
}

body[data-project-theme="light"] {
    --theme-bg: #ffffff;
    --theme-surface: rgba(255, 255, 255, .96);
    --theme-surface-soft: #f3f4f3;
    --theme-text: #151715;
    --theme-muted: #5e625e;
    --theme-accent: #272b28;
    --theme-accent-hover: #111311;
    --theme-on-accent: #ffffff;
    --theme-button-bg: #f3f4f3;
    --theme-button-hover: #e4e6e4;
    --theme-button-text: #151715;
    --theme-button-muted: #555b56;
    --theme-quick-text: #151715;
    --theme-danger-bg: #fff1ef;
    --theme-danger-hover: #ffe3df;
    --theme-danger-text: #8a241e;
    --theme-danger-border: #c6544b;
    --theme-line: rgba(24, 29, 25, .17);
    --theme-quick-access: linear-gradient(135deg, #ecefec, #dfe3df);
    --leaf-ink: #151715;
    --leaf-deep: #303632;
    --leaf-mid: #7e8881;
    --leaf-soft: #e8ebe8;
    --paper-wash: rgba(255, 255, 255, .96);
    --earth-line: rgba(24, 29, 25, .17);
}

body[data-project-theme="dark"] {
    --theme-bg: #050605;
    --theme-surface: rgba(18, 20, 18, .96);
    --theme-surface-soft: #1b1e1b;
    --theme-text: #f4f6f4;
    --theme-muted: #a8aea9;
    --theme-accent: #e8ece8;
    --theme-accent-hover: #ffffff;
    --theme-on-accent: #0a0c0a;
    --theme-button-bg: #252925;
    --theme-button-hover: #323632;
    --theme-button-text: #f4f6f4;
    --theme-button-muted: #c3c9c4;
    --theme-quick-text: #f4f6f4;
    --theme-danger-bg: #4a1d1a;
    --theme-danger-hover: #612722;
    --theme-danger-text: #ffd7d2;
    --theme-danger-border: #d66b61;
    --theme-line: rgba(235, 240, 235, .18);
    --theme-quick-access: linear-gradient(135deg, #090a09, #222522);
    --leaf-ink: #f4f6f4;
    --leaf-deep: #d9ded9;
    --leaf-mid: #969e97;
    --leaf-soft: #292d29;
    --paper-wash: rgba(18, 20, 18, .96);
    --earth-line: rgba(235, 240, 235, .18);
    --soft-shadow: 0 16px 38px rgba(0, 0, 0, .36);
}

body[data-project-theme="forest-dark"] {
    --theme-bg: #07130c;
    --theme-surface: rgba(14, 37, 23, .96);
    --theme-surface-soft: #173c25;
    --theme-text: #edf7ea;
    --theme-muted: #aec5b2;
    --theme-accent: #58a66c;
    --theme-accent-hover: #69bb7d;
    --theme-on-accent: #07140c;
    --theme-button-bg: #1a4228;
    --theme-button-hover: #235535;
    --theme-button-text: #edf7ea;
    --theme-button-muted: #bfd3c1;
    --theme-quick-text: #edf7ea;
    --theme-danger-bg: #4c211d;
    --theme-danger-hover: #632b25;
    --theme-danger-text: #ffe0db;
    --theme-danger-border: #db7468;
    --theme-line: rgba(144, 199, 150, .25);
    --theme-quick-access: linear-gradient(135deg, #0b2b19, #1d5630);
    --leaf-ink: #edf7ea;
    --leaf-deep: #79c58a;
    --leaf-mid: #62a973;
    --leaf-soft: #214b2f;
    --paper-wash: rgba(14, 37, 23, .96);
    --earth-line: rgba(144, 199, 150, .25);
    --soft-shadow: 0 16px 38px rgba(0, 0, 0, .3);
}

body[data-project-theme="cyber"] {
    --theme-bg: #17151d;
    --theme-surface: rgba(38, 34, 47, .96);
    --theme-surface-soft: #312c3d;
    --theme-text: #f5f1ff;
    --theme-muted: #bbb1ca;
    --theme-accent: #9b73ff;
    --theme-accent-hover: #ad8bff;
    --theme-on-accent: #17111f;
    --theme-button-bg: #3a3447;
    --theme-button-hover: #4a415b;
    --theme-button-text: #f5f1ff;
    --theme-button-muted: #d2c7e2;
    --theme-quick-text: #f5f1ff;
    --theme-danger-bg: #4b2530;
    --theme-danger-hover: #62303e;
    --theme-danger-text: #ffd7df;
    --theme-danger-border: #d66d83;
    --theme-line: rgba(185, 151, 255, .27);
    --theme-quick-access: linear-gradient(135deg, #3e3158, #6c4fa5);
    --leaf-ink: #f5f1ff;
    --leaf-deep: #b998ff;
    --leaf-mid: #9b73ff;
    --leaf-soft: #44375a;
    --paper-wash: rgba(38, 34, 47, .96);
    --earth-line: rgba(185, 151, 255, .27);
    --soft-shadow: 0 16px 38px rgba(4, 2, 8, .34);
}

body[data-project-theme] {
    background-color: var(--theme-bg);
    background-image:
        radial-gradient(ellipse at 8% 5%, color-mix(in srgb, var(--leaf-mid) 18%, transparent), transparent 34%),
        radial-gradient(ellipse at 96% 28%, color-mix(in srgb, var(--leaf-deep) 12%, transparent), transparent 31%);
    color: var(--theme-text);
    transition: background-color .2s ease, color .2s ease;
}

body[data-project-theme="forest-light"] {
    background:#ffffff;
    background-image:none;
}

body[data-project-theme] p,
body[data-project-theme] .subtitle,
body[data-project-theme] .dashboard-introduction,
body[data-project-theme] .project-area-link-copy span,
body[data-project-theme] .project-area-link-meta,
body[data-project-theme] .latest-entry-copy > span,
body[data-project-theme] .latest-entry-detail > span {
    color: var(--theme-muted);
}

body[data-project-theme] .panel,
body[data-project-theme] .card,
body[data-project-theme] .work-mode-section,
body[data-project-theme] .content-mode-introduction,
body[data-project-theme] .experience-status,
body[data-project-theme] .latest-entries-section,
body[data-project-theme] .all-entries-list-section,
body[data-project-theme] .project-search-section,
body[data-project-theme] .project-areas-section,
body[data-project-theme] .project-delete-zone {
    border-color: var(--theme-line);
    background: var(--theme-surface);
    color: var(--theme-text);
}

body[data-project-theme] button {
    border-color: var(--theme-line);
    background-color: var(--theme-button-bg);
    color: var(--theme-button-text);
}

body[data-project-theme] button:hover {
    border-color: var(--theme-accent);
    background-color: var(--theme-button-hover);
    color: var(--theme-button-text);
}

body[data-project-theme] input,
body[data-project-theme] select,
body[data-project-theme] textarea,
body[data-project-theme] .experience-status-item,
body[data-project-theme] .field-readonly-value {
    border-color: var(--theme-line);
    background-color: var(--theme-surface-soft);
    color: var(--theme-text);
}

body[data-project-theme] button.primary,
body[data-project-theme] .add-to-location-action {
    border-color: var(--theme-accent);
    background: var(--theme-accent);
    color: var(--theme-on-accent);
}

body[data-project-theme] button.primary strong,
body[data-project-theme] button.primary span,
body[data-project-theme] .add-to-location-action strong {
    color: var(--theme-on-accent);
}

body[data-project-theme] button.primary:hover {
    border-color: var(--theme-accent-hover);
    background: var(--theme-accent-hover);
    color: var(--theme-on-accent);
}

body[data-project-theme] button.danger,
body[data-project-theme] button.danger:hover {
    border-color: var(--theme-danger-border);
    background: var(--theme-danger-bg);
    color: var(--theme-danger-text);
}

body[data-project-theme] button.danger:hover {
    background: var(--theme-danger-hover);
}

body[data-project-theme] button:disabled,
body[data-project-theme] button[aria-disabled="true"] {
    border-color: var(--theme-line);
    background: var(--theme-surface-soft);
    color: var(--theme-muted);
    opacity: .72;
}

body[data-project-theme] button:focus-visible {
    outline: 3px solid var(--theme-accent);
    outline-offset: 2px;
}

body[data-project-theme] .location-create-section-prominent {
    background: var(--theme-quick-access);
}

body[data-project-theme] .quick-access-action,
body[data-project-theme] .quick-access-action:hover {
    border-color: transparent;
    background: transparent;
    color: var(--theme-quick-text);
}

body[data-project-theme] .location-create-section-prominent h2,
body[data-project-theme] .quick-access-action strong {
    color: var(--theme-quick-text);
}

body[data-project-theme] .quick-access-icon {
    border-color: color-mix(in srgb, var(--theme-quick-text) 38%, transparent);
    background: color-mix(in srgb, var(--theme-quick-text) 14%, transparent);
}

body[data-project-theme] .project-search-box {
    border-color: #c8cbc9;
    background: #eceeec;
}

body[data-project-theme] .project-search-box > span { color: var(--theme-muted); }
body[data-project-theme] .project-search-box:focus-within {
    border-color: var(--theme-muted);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-muted) 16%, transparent);
}

body[data-project-theme="dark"] .project-search-box,
body[data-project-theme="forest-dark"] .project-search-box,
body[data-project-theme="cyber"] .project-search-box {
    border-color: #555a57;
    background: #2d302e;
}

body[data-project-theme] .project-search-section .section-heading-row p,
body[data-project-theme] .project-search-summary,
body[data-project-theme] .project-search-result-copy span,
body[data-project-theme] .project-search-result-copy small,
body[data-project-theme] .project-search-result-open {
    color: var(--theme-muted);
}

body[data-project-theme] .work-mode-section .section-heading-row p,
body[data-project-theme] .content-mode-introduction p,
body[data-project-theme] .experience-launch-card > span,
body[data-project-theme] .location-tool-card > span,
body[data-project-theme] .content-mode-tool-grid > button span,
body[data-project-theme] .content-type-row > span,
body[data-project-theme] .location-map-row span,
body[data-project-theme] .setup-choice-grid button > span,
body[data-project-theme] .area-question-actions button:not(.primary) span,
body[data-project-theme] .area-dashboard-actions button:not(.primary) span,
body[data-project-theme] .contextual-guidance p,
body[data-project-theme] .guidance-stage {
    color: var(--theme-button-muted);
}

body[data-project-theme] .contextual-guidance {
    border-color: var(--theme-line);
    border-left-color: var(--theme-muted);
    background: var(--theme-surface-soft);
    color: var(--theme-text);
}

body[data-project-theme] .contextual-guidance-actions .guidance-primary-action {
    border-color: var(--theme-muted);
    background: var(--theme-muted);
    color: var(--theme-bg);
}

body[data-project-theme] .guided-setup-panel,
body[data-project-theme] .guided-setup-steps li {
    border-color: var(--theme-line);
    background: var(--theme-surface);
}

body[data-project-theme] .guided-setup-panel > p:not(.welcome-label),
body[data-project-theme] .guided-setup-steps li span {
    color: var(--theme-muted);
}

.project-theme-setting .section-heading-row p,
.project-backup-setting > p {
    margin: 4px 0 0;
}

.tutorial-settings {
    display: grid;
    gap: 14px;
}
.tutorial-settings .section-heading-row { margin: 0; }
.tutorial-settings .section-heading-row p { margin: 4px 0 0; font-size: .82rem; }
.tutorial-status {
    padding: 4px 9px;
    border-radius: 999px;
    background: #e7e9e7;
    color: #555b57;
    font-size: .72rem;
    font-weight: 800;
}
.tutorial-mode-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid var(--theme-line, #d6d8d6);
    border-radius: 12px;
}
.tutorial-mode-toggle > span { display: grid; gap: 3px; }
.tutorial-mode-toggle small { color: var(--theme-muted, #626864); line-height: 1.4; }
.tutorial-mode-toggle input { width: 22px; height: 22px; }
.tutorial-settings-actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* Project Settings collapsible sections */
.settings-collapsible {
    overflow: hidden;
    padding: 0;
}
.settings-collapsible > summary {
    cursor: pointer;
    list-style: none;
    padding: 14px 16px;
}
.settings-collapsible > summary::-webkit-details-marker { display: none; }
.settings-collapsible > summary .section-heading-row { margin: 0; }
.settings-collapsible > summary .section-heading-row p { margin: 4px 0 0; font-size: .82rem; }
.settings-collapsible > summary:hover { background: rgba(231, 240, 225, .35); }
.settings-collapsible[open] > summary { border-bottom: 1px solid rgba(50, 59, 25, .12); }
.settings-collapsible-trailing {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
.settings-collapsible-chevron {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(50, 59, 25, .08);
    color: var(--leaf-deep, #365218);
    font-style: normal;
    line-height: 1;
    transition: transform .18s ease;
}
.settings-collapsible[open] > summary .settings-collapsible-chevron { transform: rotate(180deg); }
.settings-collapsible-body {
    display: grid;
    gap: 14px;
    padding: 16px;
}
.settings-collapsible-body .button-row { margin-top: 2px; }
.settings-collapsible-body > p:last-child,
.settings-collapsible-body .meta:last-child { margin-bottom: 0; }

.theme-preview-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: 18px;
    overflow: hidden;
    margin: 4px 0 10px;
    border: 1px solid var(--theme-line);
    border-radius: 999px;
}

.theme-preview-strip span:nth-child(1) { background: var(--theme-bg); }
.theme-preview-strip span:nth-child(2) { background: var(--theme-surface); }
.theme-preview-strip span:nth-child(3) { background: var(--theme-accent); }
.theme-preview-strip span:nth-child(4) { background: var(--leaf-mid); }

.coming-soon-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--leaf-soft);
    color: var(--leaf-deep);
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

.project-backup-setting button:disabled {
    margin-top: 14px;
    cursor: not-allowed;
    opacity: .55;
}

.project-delete-zone {
    display: grid;
    justify-items: start;
    gap: 8px;
    margin-top: 22px;
    padding: 20px;
    border: 1px solid rgba(165, 60, 53, .28);
    border-radius: 20px;
}

.project-delete-zone h2,
.project-delete-zone p {
    margin: 0;
}

/* Creator AR controls stay legible over camera video, independent of project theme. */
body.ar-session-active #arOverlayControls {
    left: 50%;
    top: max(12px, env(safe-area-inset-top));
    bottom: auto;
    transform: translateX(-50%);
    max-width: calc(100vw - 24px);
    border: 1px solid rgba(255, 255, 255, .28);
    background: rgba(10, 15, 12, .82);
    box-shadow: 0 5px 18px rgba(0, 0, 0, .24);
}

body.ar-session-active #arOverlayStatus[hidden],
body.ar-session-active #arPlacementAction[hidden] {
    display: none !important;
}

body.ar-session-active #arOverlayControls button,
body.ar-session-active #arCreatorToolbar button,
body.ar-session-active .ar-modal-card button,
body.ar-session-active .ar-tutorial-panel button,
body.ar-session-active .ar-toast button {
    border: 1px solid rgba(255, 255, 255, .38);
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

body.ar-session-active #arOverlayControls button.primary,
body.ar-session-active .ar-modal-card button.primary,
body.ar-session-active .ar-tutorial-panel button.primary {
    border-color: #55d47e;
    background: #237a43;
    color: #fff;
}

body.ar-session-active .ar-modal-card button.danger {
    border-color: #ffaaa4;
    background: #8d2924;
    color: #fff;
}

body.ar-session-active .ar-modal-card input,
body.ar-session-active .ar-modal-card select {
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 8px;
    background: #202922;
    color: #fff;
}

body.ar-session-active .ar-modal-card label {
    color: #fff;
    font-weight: 750;
}

#arCreatorToolbar {
    position: fixed;
    left: 50%;
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 10003;
    display: grid;
    grid-template-columns: repeat(3, minmax(82px, 1fr));
    width: min(390px, calc(100vw - 24px));
    gap: 5px;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 16px;
    background: rgba(10, 15, 12, .86);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
    transform: translateX(-50%);
}

#arCreatorToolbar button {
    display: grid;
    place-items: center;
    gap: 2px;
    min-height: 52px;
    padding: 5px 8px;
    border-radius: 11px;
    font-size: .72rem;
}

#arCreatorToolbar button > span {
    color: #fff;
    font-size: 1.15rem;
    line-height: 1;
}

#arCreatorToolbar button > strong { color: #fff; }

#arDashboardControls {
    position: fixed;
    left: 50%;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 72px);
    z-index: 10003;
    display: flex;
    width: min(720px, calc(100vw - 20px));
    gap: 5px;
    overflow-x: auto;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 13px;
    background: rgba(10, 15, 12, .88);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
    transform: translateX(-50%);
    scrollbar-width: thin;
}

#arDashboardControls[hidden] {
    display: none !important;
}

body.ar-session-active #arDashboardControls button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .38);
    background: rgba(255, 255, 255, .14);
    color: #fff;
    white-space: nowrap;
}

body.ar-session-active #arDashboardControls button.danger {
    border-color: #ffaaa4;
    background: #8d2924;
    color: #fff;
}

.ar-add-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.ar-add-choice-grid button {
    min-height: 64px;
    padding: 8px 5px;
}

.ar-inline-checkbox {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ar-inline-checkbox input {
    width: 20px !important;
    min-height: 20px !important;
}

.ar-tutorial-panel {
    position: fixed;
    left: 50%;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 78px);
    z-index: 10004;
    width: min(420px, calc(100vw - 24px));
    max-height: min(48vh, 360px);
    overflow: auto;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 14px;
    background: rgba(10, 15, 12, .9);
    color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
    transform: translateX(-50%);
}

.ar-tutorial-panel.hidden { display: none; }
body.ar-dashboard-open .ar-tutorial-panel {
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 128px);
}
.ar-tutorial-panel h2 { margin: 4px 0 7px; color: #fff; font-size: 1.05rem; }
.ar-tutorial-panel p { margin: 0 0 9px; color: rgba(255, 255, 255, .88); line-height: 1.4; }
.ar-tutorial-progress { color: #a9efbd; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.ar-tutorial-waiting { font-weight: 800; }
.ar-tutorial-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.ar-tutorial-highlight { outline: 3px solid #70ef93; outline-offset: 4px; }

.ar-toast {
    position: fixed;
    left: 50%;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 82px);
    z-index: 10005;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    width: min(420px, calc(100vw - 24px));
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 12px;
    background: rgba(10, 15, 12, .92);
    color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
    transform: translateX(-50%);
}

.ar-toast strong { flex: 1 1 180px; color: #fff; }
.ar-toast button { padding: 6px 8px; }

.ar-technical-details pre {
    max-height: 280px;
    overflow: auto;
    padding: 12px;
    border-radius: 10px;
    background: #161b18;
    color: #eaf6ed;
    white-space: pre-wrap;
    overflow-wrap: normal;
    word-break: normal;
    font: 600 .75rem/1.5 monospace;
}

@media (max-width: 420px) {
    #arModal {
        padding-right: 10px;
        padding-left: 10px;
        padding-bottom: calc(max(78px, env(safe-area-inset-bottom) + 72px));
    }

    .ar-modal-card {
        max-height: 64vh;
        overflow: auto;
    }

    .ar-tutorial-panel { max-height: 44vh; }
}

@media print {
    #arCreatorToolbar,
    #arDashboardControls,
    .ar-tutorial-panel,
    .ar-toast {
        display: none !important;
    }
}
.plant-search-scope {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.plant-search-scope button {
    width: 100%;
}

.global-plant-results {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.75rem;
    max-height: 20rem;
    overflow-y: auto;
}

.global-plant-results button {
    display: grid;
    gap: 0.2rem;
    text-align: left;
}

.global-plant-results button span,
.global-plant-results button small {
    opacity: 0.78;
}

.ala-search-result { display:grid !important; grid-template-columns:42px minmax(0,1fr); gap:.65rem; align-items:center; padding:.65rem !important; border:1px solid rgba(57,105,79,.16); border-radius:13px; background:rgba(255,255,255,.82); color:#29422f; }
.ala-search-result:hover,.ala-search-result:focus-visible { border-color:rgba(57,105,79,.42); background:#fff; outline:none; }
.ala-result-image { display:grid; place-items:center; width:42px; height:42px; overflow:hidden; border-radius:12px; background:#e6f0df; color:#4f7951; }
.ala-result-image img { width:100%; height:100%; object-fit:cover; }
.ala-result-placeholder { font-size:1.35rem; }
.ala-result-copy { display:grid; min-width:0; gap:.1rem; text-align:left; }
.ala-result-copy strong,.ala-result-copy em,.ala-result-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ala-result-copy strong { color:#29422f; font-size:.76rem; }
.ala-result-copy em { color:#647468; font-size:.7rem; }
.ala-result-copy small { color:#77857a; font-size:.61rem; }
.ala-result-copy .ala-result-source { color:#4f7951; font-weight:800; }
.ala-import-preview { display:grid; gap:.75rem; margin-top:.75rem; padding:.85rem; border:1px solid rgba(57,105,79,.2); border-radius:16px; background:linear-gradient(145deg,#f7fbf2,#fff); }
.ala-preview-heading { display:flex; justify-content:space-between; align-items:start; gap:.6rem; }
.ala-preview-heading h2 { margin:0; color:#29422f; font-size:1rem; }
.ala-preview-source { padding:.3rem .45rem; border-radius:999px; background:#e4f0df; color:#4f7951; font-size:.58rem; font-weight:800; }
.ala-preview-identity { display:flex; align-items:center; gap:.65rem; }
.ala-preview-identity > div { display:grid; gap:.2rem; min-width:0; }
.ala-preview-identity strong { color:#29422f; font-size:.85rem; }
.ala-preview-identity small { color:#718073; font-size:.65rem; }
.ala-preview-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; margin:0; }
.ala-preview-facts div { display:grid; gap:.16rem; min-width:0; padding:.45rem; border-radius:9px; background:rgba(226,238,220,.48); }
.ala-preview-facts dt { color:#68806c; font-size:.57rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ala-preview-facts dd { overflow:hidden; margin:0; color:#354c3b; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }
.ala-import-extraction { display:grid; gap:.35rem; margin:0; padding:.6rem; border:1px solid rgba(57,105,79,.16); border-radius:11px; background:rgba(226,238,220,.3); }
.ala-import-extraction legend { padding:0 .2rem; color:#3b6545; font-size:.7rem; font-weight:850; }
.ala-import-extraction p { margin:0 0 .15rem; font-size:.65rem; }
.ala-import-extraction label { display:flex; align-items:center; gap:.4rem; color:#46614b; font-size:.68rem; }
.ala-import-extraction input { accent-color:#39764a; }
.ala-manual-action { justify-self:start; margin-top:.35rem; }

@media (max-width:520px) {
    .ala-preview-facts { grid-template-columns:1fr; }
    .ala-preview-heading { display:grid; }
}

.plant-profile-upgrade { display: grid; gap: 12px; padding: 14px; border: 1px solid rgba(76,126,66,.24); border-radius: 16px; background: rgba(231,240,225,.34); }
.plant-profile-spm-toggle { display:grid; gap:10px; padding:14px; border:1px solid rgba(48,111,69,.24); border-radius:16px; background:linear-gradient(145deg,rgba(235,247,228,.86),rgba(247,244,220,.62)); }
.plant-profile-spm-toggle h2 { margin:0 0 4px; color:#234e31; }
.plant-profile-spm-toggle p { margin:0; color:var(--muted,#536457); font-size:.84rem; line-height:1.45; }
.plant-profile-info-bubble { display:inline-grid; place-items:center; flex:0 0 20px; width:20px; height:20px; border:1px solid rgba(49,91,55,.3); border-radius:50%; background:rgba(255,255,255,.76); color:#315b39; font-size:.7rem; font-style:normal; font-weight:900; line-height:1; }
.plant-physical-anchor-unavailable { display:flex; align-items:flex-start; gap:7px; }
.plant-profile-invitation { display: grid; gap: 8px; justify-items: start; }
.plant-profile-invitation p, .plant-profile-state { margin: 0; }
.plant-profile-invitation p { color: var(--muted, #536457); font-size: .84rem; line-height: 1.45; }
.plant-profile-state { display: grid; gap: 3px; }
.plant-profile-state span { color: var(--muted, #536457); font-size: .78rem; }
.plant-profile-fields { display: block; }
.plant-profile-fields[hidden] { display: none; }
.plant-profile-spm-fields[hidden] { display:none; }
.plant-profile-pim-web-section,
.plant-example-pim-section { display:grid; gap:12px; margin-top:14px; padding:16px; border:1px solid rgba(48,111,69,.2); border-radius:20px; background:rgba(248,251,241,.78); }
.plant-profile-pim-web-heading { display:grid; gap:5px; }
.plant-profile-pim-web-heading p,
.plant-profile-pim-web-heading h2,
.plant-example-pim-section > p { margin:0; }
.plant-profile-pim-web-heading h2 { color:#234e31; font-size:1.15rem; }
.plant-profile-pim-web-heading > p:last-child { color:var(--muted,#536457); font-size:.82rem; line-height:1.45; }
.plant-profile-pim-web-section [data-plant-pim-web-mount],
.plant-example-pim-section [data-pigeon-pea-pim-mount] { min-width:0; }
.plant-profile-pim-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.plant-profile-branch, .plant-profile-core-editor { display: grid; align-content: start; gap: 10px; margin: 0; padding: 14px; border: 1px solid rgba(76,126,66,.24); border-radius: 20px; }
.plant-profile-branch-left { background: linear-gradient(145deg, rgba(229,242,219,.7), rgba(239,246,234,.46)); }
.plant-profile-branch-right { background: linear-gradient(145deg, rgba(224,239,244,.7), rgba(238,245,244,.46)); }
.plant-profile-core-editor { grid-column: 1 / -1; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); background: rgba(239,243,225,.52); }
.plant-profile-branch legend, .plant-profile-core-editor legend { padding: 0 7px; color: #365f42; font-size: .74rem; font-weight: 850; }
@media (max-width: 620px) { .plant-profile-pim-editor, .plant-profile-core-editor { grid-template-columns: 1fr; } .plant-profile-core-editor { grid-column: auto; } .area-entry-actions { grid-column: 1 / -1; justify-content: stretch; } .area-entry-actions button { flex: 1; } }
.compact-inline-control,
.compact-identity-row,
.placement-compact,
.area-top-actions,
.plant-orb-settings {
    display: flex;
    align-items: end;
    gap: 0.75rem;
}

.compact-inline-control select,
.compact-identity-row .field {
    flex: 1;
}

.compact-advanced {
    border: 1px solid rgba(93, 126, 102, 0.22);
    border-radius: 14px;
    padding: 0.7rem 0.9rem;
}

.project-advanced-options { display:grid; gap:10px; margin-top:12px; padding:10px 12px; border:1px solid rgba(76,126,66,.18); border-radius:14px; background:rgba(236,244,232,.42); }
.project-advanced-options summary { cursor:pointer; color:#365f42; font-weight:800; }
.project-advanced-options > .tutorial-mode-toggle,
.project-advanced-options > .nonplant-template-choice { margin:0; }

.compact-advanced summary {
    cursor: pointer;
    font-weight: 700;
}

.placement-compact {
    justify-content: space-between;
    align-items: center;
    border-radius: 18px;
    padding: 0.9rem;
    background: rgba(38, 111, 214, 0.07);
}

.placement-compact span,
.placement-compact small {
    display: block;
}

.bottom-navigation {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    justify-content: space-between;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 1.25rem;
}
.bottom-navigation > button { width: 100%; min-width: 0; }

.plant-profile-card-editor {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 1rem;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(244, 249, 239, 0.94), rgba(255, 252, 244, 0.96));
}

.plant-profile-card-visual,
.plant-profile-core-editor {
    grid-column: 1 / -1;
}

.plant-profile-card-editor fieldset,
.plant-profile-card-visual {
    border: 1px solid rgba(78, 112, 84, 0.18);
    border-radius: 18px;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.72);
}

.plant-id-label,
.saved-information-box {
    border-radius: 14px;
    padding: 0.75rem 0.9rem;
    background: rgba(84, 120, 91, 0.08);
}

.area-top-actions {
    align-items: center;
    justify-content: space-between;
    margin-top: 0.75rem;
}

.area-dashboard-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.area-dashboard-title-row h1 { margin:0; }
.project-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:8px; color:#64756a; font-size:.78rem; line-height:1.35; }
.project-breadcrumb button { min-height:0; padding:0; border:0; background:transparent; color:var(--leaf-deep); font:inherit; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.project-breadcrumb button:hover { background:transparent; color:#234f35; }
.project-breadcrumb strong { color:#536458; font-weight:800; overflow-wrap:anywhere; }

.area-go-ar-compact {
    display:grid;
    flex:0 0 58px;
    width:58px;
    height:58px;
    min-height:58px;
    place-items:center;
    padding:0;
    border-radius:14px;
    background: #1769d2;
    color: white;
    font-size:1rem;
    font-weight:900;
    letter-spacing:.06em;
}

@media (max-width: 420px) {
    .area-go-ar-compact { flex-basis:52px; width:52px; height:52px; min-height:52px; border-radius:13px; }
}

@media (max-width: 680px) {
    .compact-inline-control,
    .compact-identity-row {
        align-items: stretch;
        flex-direction: column;
    }

    .plant-profile-card-editor {
        grid-template-columns: 1fr;
    }
}
.database-record-card {
    position: relative;
    overflow: visible;
    border: 1px solid rgba(62, 91, 69, 0.2) !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, rgba(255, 255, 252, 0.98), rgba(246, 247, 239, 0.96)) !important;
    box-shadow: 0 5px 14px rgba(43, 66, 48, 0.06) !important;
}

.database-record-card:hover {
    border-color: rgba(53, 102, 63, 0.42) !important;
    background: #fff !important;
    transform: translateY(-1px) !important;
}

.record-file-tab {
    width: max-content;
    padding: 0.2rem 0.48rem;
    border-radius: 6px 6px 2px 2px;
    background: rgba(75, 120, 82, 0.12);
    color: #315d39;
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.latest-entry-list {
    gap: 0.65rem;
}

.latest-entry-row.database-record-card {
    min-height: 82px;
    padding: 0.85rem 1rem;
}
.latest-entry-row.change-entry-row {
    display: block;
    min-height: 0;
    padding: .62rem .75rem;
}
.recent-record-line {
    display: block;
    overflow: hidden;
    color: #34483a;
    font-size: .8rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.recent-record-line strong { font-size: .68rem; letter-spacing: .055em; text-transform: uppercase; }
.recent-record-line small { color: #69766d; font-size: .74rem; }

.project-area-list {
    gap: 0.7rem;
}

.area-record-card {
    padding: 1rem !important;
}

.area-record-card .project-area-link-copy {
    gap: 0.3rem;
}

.database-record-page .page-header,
.project-entry-editor .page-header {
    padding: 1.2rem 1.3rem;
    border: 1px solid rgba(62, 91, 69, 0.18);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255, 255, 252, 0.98), rgba(240, 245, 235, 0.96));
}

.database-record-page .panel,
.project-entry-editor > form.panel {
    border-color: rgba(62, 91, 69, 0.18);
    border-radius: 22px;
    background: rgba(255, 255, 252, 0.96);
    box-shadow: 0 8px 22px rgba(43, 66, 48, 0.06);
}

.database-record-page fieldset,
.project-entry-editor fieldset {
    border-color: rgba(62, 91, 69, 0.17);
}

.dashboard-identity {
    letter-spacing: 0.12em;
}
.project-entry-editor {
    --pastel-leaf: #dcefdc;
    --pastel-sage: #edf4df;
    --pastel-sky: #dfeff2;
    --pastel-peach: #f8e5d2;
    --pastel-lilac: #ebe3f2;
}

.project-entry-editor .page-header {
    border: 1px solid rgba(85, 118, 83, 0.18);
    background:
        radial-gradient(circle at 92% 16%, rgba(235, 227, 242, 0.9), transparent 28%),
        linear-gradient(140deg, #f9fcf3, #edf5e5);
}

.project-entry-editor .page-header .welcome-label {
    color: #55705a;
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.plant-file-form > .field {
    display: none;
}

.plant-file-form {
    padding: 0 !important;
    overflow: hidden;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.plant-encyclopedia-card {
    display: grid;
    gap: 0.7rem;
}

.plant-qr-anchor-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.75rem;
    margin-top: 0.7rem;
    padding: 0.9rem;
    border: 1px solid rgba(65, 105, 75, 0.18);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(250, 253, 245, 0.98), rgba(224, 240, 232, 0.92));
    box-shadow: 0 9px 24px rgba(57, 88, 59, 0.07);
}

.plant-qr-anchor-card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(74, 116, 84, 0.13);
    color: #3f6849;
    font-size: 1.2rem;
}

.plant-qr-anchor-card strong {
    color: #365b40;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}

.plant-qr-anchor-card p {
    margin: 0.25rem 0 0.65rem;
    color: #617067;
    font-size: 0.76rem;
    line-height: 1.45;
}
.plant-live-tag-heading { display:flex; align-items:center; gap:7px; }
.plant-live-tag-heading .plant-profile-info-bubble { margin-left:2px; }
.plant-physical-anchor-unavailable { display:flex; align-items:center; gap:7px; }

.plant-virtual-tag-card { border-color: rgba(83, 103, 143, .2); background: linear-gradient(145deg, rgba(248, 250, 255, .98), rgba(230, 237, 250, .92)); }
.plant-virtual-tag-card > span { background: rgba(83, 103, 143, .12); color: #52688e; }
.plant-virtual-tag-card strong { color: #52688e; }
.plant-virtual-tag-card .ar-inline-checkbox { margin-top: .55rem; color: #33496e; font-weight: 800; }
.plant-physical-anchor-card { margin-top:10px; border:1px solid rgba(83,103,143,.2); border-radius:16px; background:rgba(244,248,255,.72); }

.plant-profile-pim-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: .7rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(48, 111, 69, .22);
    border-radius: 17px;
    background: linear-gradient(135deg, #edf6e9, #fffdf0);
}

.plant-profile-pim-cta > div {
    display: grid;
    gap: 3px;
}

.plant-profile-pim-cta strong {
    color: #234e31;
    font-size: .86rem;
}

.plant-profile-pim-cta small {
    color: #5d6e62;
    font-size: .76rem;
    line-height: 1.35;
}

.plant-profile-pim-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }

.plant-profile-pim-open {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #315e45;
    border-radius: 10px;
    background: #315e45;
    color: #fff;
    font-size: .76rem;
    font-weight: 850;
}
.plant-profile-pim-preview,
.plant-pim-preview-action {
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid rgba(49, 94, 69, .52);
    border-radius: 10px;
    background: rgba(255, 255, 255, .74);
    color: #315e45;
    font-size: .76rem;
    font-weight: 850;
}
.plant-profile-pim-preview:hover,
.plant-profile-pim-preview:focus-visible,
.plant-pim-preview-action:hover,
.plant-pim-preview-action:focus-visible { background:#edf6e9; border-color:#315e45; }

.plant-pim-workspace {
    display: grid;
    gap: 16px;
    margin-top: 14px;
}

.plant-pim-workspace-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(85, 118, 83, .18);
    border-radius: 20px;
    background: linear-gradient(140deg, #f9fcf3, #edf5e5);
}

.plant-pim-workspace-header h2,
.plant-pim-workspace-header p {
    margin: 0;
}

.plant-pim-workspace-header h2 {
    color: #234e31;
    font-size: clamp(1.2rem, 3vw, 1.8rem);
}

.plant-pim-workspace-header p:last-child {
    max-width: 650px;
    margin-top: 5px;
    color: #5d6e62;
    font-size: .82rem;
    line-height: 1.45;
}

.plant-pim-workspace-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    gap: 8px;
}

.plant-pim-workspace-mount {
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(48, 111, 69, .16);
    border-radius: 22px;
    background: rgba(250, 252, 246, .92);
}

@media (max-width: 620px) {
    .plant-profile-pim-cta,
    .plant-pim-workspace-header {
        align-items: stretch;
        flex-direction: column;
    }

    .plant-profile-pim-open {
        width: 100%;
    }

    .plant-profile-pim-actions { width:100%; }
    .plant-profile-pim-actions > button { flex:1 1 0; }

    .plant-pim-workspace-actions {
        justify-content: stretch;
    }

    .plant-pim-workspace-actions > button {
        flex: 1 1 0;
    }
}
.plant-physical-anchor-card > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; cursor:pointer; list-style:none; }
.plant-physical-anchor-card > summary::-webkit-details-marker { display:none; }
.plant-physical-anchor-card > summary > span { display:grid; gap:3px; }
.plant-physical-anchor-card > summary small { color:#66718a; font-size:.68rem; font-weight:600; }
.plant-physical-anchor-body { display:grid; gap:10px; padding:0 14px 14px; }
.plant-physical-anchor-body > p { margin:0; color:#53627c; font-size:.75rem; line-height:1.4; }
.plant-physical-anchor-body [data-plant-physical-anchor-fields][hidden] { display:none; }
.plant-physical-marker-layout { display:grid; grid-template-columns:minmax(92px,120px) minmax(0,1fr); align-items:start; gap:12px; }
.plant-physical-marker-layout .totem-physical-marker-preview { min-height:108px; }
.plant-physical-anchor-unavailable { margin-top:8px; }

.plant-card-hero {
    display: grid;
    grid-template-columns: minmax(128px, 0.42fr) minmax(0, 1fr);
    gap: 0.8rem;
    padding: 0.85rem;
    border: 1px solid rgba(77, 116, 78, 0.18);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(252, 253, 246, 0.98), rgba(232, 242, 221, 0.9));
    box-shadow: 0 9px 24px rgba(57, 88, 59, 0.08);
}

.plant-photo-space {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 0.35rem;
    min-height: 156px;
    overflow: hidden;
    border: 2px dashed rgba(86, 127, 88, 0.28);
    border-radius: 18px 38px 18px 32px;
    background: linear-gradient(150deg, var(--pastel-sage), var(--pastel-sky));
    color: #55705a;
}

.plant-photo-space img {
    width: 100%;
    height: 100%;
    min-height: 156px;
    object-fit: cover;
}

.plant-photo-space > span {
    font-size: 2.3rem;
    filter: saturate(0.75);
}

.plant-photo-space small {
    font-weight: 750;
}

.plant-photo-column { display:grid; align-content:start; gap:.42rem; min-width:0; }
.plant-photo-upload { display:flex; align-items:center; justify-content:center; min-height:32px; padding:.45rem .6rem; border:1px solid rgba(70,112,75,.25); border-radius:10px; background:rgba(255,255,255,.7); color:#315c3a; font-size:.7rem; font-weight:800; cursor:pointer; }
.plant-photo-upload input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.plant-photo-remove { min-height:28px; padding:.35rem .55rem; border:0; background:transparent; color:#786044; font-size:.68rem; font-weight:750; cursor:pointer; }
.plant-photo-remove[hidden] { display:none; }
.plant-photo-status { min-height:1em; margin:0; color:#68786b; font-size:.63rem; line-height:1.3; }

.home-template-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0; padding:1rem 1.1rem; border:1px solid rgba(71,117,76,.24); border-radius:18px; background:linear-gradient(135deg,#f4f8e9,#e5f0e4); box-shadow:0 7px 18px rgba(48,83,52,.08); }
.home-template-card h2,.home-template-card p { margin:0; }
.home-template-card h2 { color:#244b2d; }
.home-template-card p:not(.welcome-label) { margin-top:.25rem; color:#5a6d5d; font-size:.78rem; }
.home-template-card .welcome-label { margin-bottom:.2rem; }

@media (max-width: 620px) {
    .home-template-card { align-items:stretch; flex-direction:column; }
}

.plant-vital-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    align-content: center;
}

.plant-vital-grid .field {
    gap: 0.25rem;
    padding: 0.6rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.68);
}

.plant-vital-grid .plant-profile-spm-toggle--inline {
    display: grid;
    align-content: center;
    min-width: 0;
    min-height: 82px;
    padding: 0.6rem;
    border-radius: 14px;
}

.plant-profile-spm-toggle--inline .plant-spm-toggle-line {
    gap: 6px;
}

.plant-profile-spm-toggle--inline .plant-spm-toggle-label {
    gap: 6px;
}

.plant-profile-spm-toggle--inline .plant-spm-toggle-label > strong {
    font-size: 0.66rem;
    line-height: 1.15;
}

.plant-profile-spm-toggle--inline .plant-spm-toggle-label > input {
    width: 18px;
    height: 18px;
}

.plant-vital-grid .plant-area-field {
    grid-column: 1 / -1;
}

.plant-vital-grid label {
    color: #5e7462;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.plant-vital-grid select,
.plant-vital-grid input {
    min-height: 40px;
    border-radius: 11px;
}

.plant-color-field input[type="color"] {
    width: 100%;
    padding: 0.25rem;
}

.project-entry-editor .spatial-focus-panel {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 0.65rem 0.75rem;
    border-radius: 15px;
    background: linear-gradient(145deg, var(--pastel-sky), #edf7f1);
}

.project-entry-editor .spatial-focus-panel .spatial-focus-button {
    width: auto;
}

.plant-file-form > .placement-status {
    width: max-content;
    margin: 0.15rem 0 0;
    border-radius: 999px;
}

.area-dashboard,
.totem-profile-page {
    --pastel-leaf: #dcefdc;
    --pastel-sage: #edf4df;
    --pastel-sky: #dfeff2;
    --pastel-peach: #f8e5d2;
    --pastel-lilac: #ebe3f2;
}

.area-dashboard .page-header,
.totem-profile-page .page-header {
    background:
        radial-gradient(circle at 92% 16%, rgba(223, 239, 242, .9), transparent 28%),
        linear-gradient(140deg, #f9fcf3, #edf5e5);
}

.area-encyclopedia-card,
.totem-file-form {
    display: grid;
    gap: .7rem;
}

.area-profile-hero,
.totem-profile-hero {
    display: grid;
    grid-template-columns: minmax(116px, .34fr) minmax(0, 1fr);
    gap: .8rem;
    padding: .85rem;
    border: 1px solid rgba(77, 116, 78, .18);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(252,253,246,.98), rgba(232,242,221,.9));
    box-shadow: 0 9px 24px rgba(57,88,59,.08);
}

.area-profile-visual,
.totem-profile-visual {
    display: grid;
    place-items: center;
    align-content: center;
    gap: .35rem;
    min-height: 138px;
    border: 2px dashed rgba(86,127,88,.25);
    border-radius: 18px 38px 18px 32px;
    background: linear-gradient(150deg, var(--pastel-sage), var(--pastel-sky));
    color: #55705a;
}

.area-profile-visual span { font-size: 2.2rem; }
.area-profile-visual { position: relative; }
.area-icon-edit-button { position: absolute; right: 8px; bottom: 8px; display: grid; place-items: center; width: 26px; min-width: 26px; height: 26px; min-height: 26px; padding: 0; border: 1px solid rgba(78,111,78,.3); border-radius: 50%; background: rgba(255,255,255,.72); color: #4d7554; font-size: .8rem; line-height: 1; }
.area-icon-edit-button:hover { background: #fff; color: #2f5f3e; }
.area-profile-visual small,
.totem-profile-visual strong { font-size: .67rem; letter-spacing: .12em; }
.totem-profile-visual span { position:relative; width:38px; height:var(--totem-preview-height,104px); border:1px solid color-mix(in srgb,var(--totem-color,#68765d),#173f37 26%); border-radius:7px 7px 4px 4px; background:var(--totem-color,#68765d); background:linear-gradient(90deg,color-mix(in srgb,var(--totem-color,#68765d),#235d67 24%),color-mix(in srgb,var(--totem-color,#68765d),#fff 28%) 24%,var(--totem-color,#68765d) 72%,color-mix(in srgb,var(--totem-color,#68765d),#173f57 34%)); box-shadow:inset 5px 0 9px rgba(255,255,255,.1),inset -6px 0 10px rgba(30,57,68,.14),7px 10px 18px rgba(42,83,67,.14); transition:height .18s ease,background .18s ease; }
.totem-profile-visual span::before { content:""; position:absolute; left:3%; right:3%; top:-4px; height:9px; border-radius:6px 6px 2px 2px; background:linear-gradient(135deg,color-mix(in srgb,var(--totem-color,#68c7b8),#fff 48%),color-mix(in srgb,var(--totem-color,#68c7b8),#fff 12%)); transform:skewY(-3deg); }
.totem-profile-visual span::after { content:""; position:absolute; top:6px; right:0; bottom:3px; width:18%; border-radius:0 5px 3px 0; background:color-mix(in srgb,var(--totem-color,#68c7b8),#123a59 28%); opacity:.52; }
.totem-profile-visual.is-style-organic span { width:var(--totem-preview-height,104px); max-width:86%; height:var(--totem-preview-height,104px); border:0; border-radius:50%; background:var(--totem-color,#68765d); box-shadow:inset 10px 12px 20px rgba(255,255,255,.16),inset -12px -15px 20px rgba(23,56,38,.18),7px 10px 18px rgba(42,83,67,.14); }
.totem-profile-visual.is-style-organic span::before,
.totem-profile-visual.is-style-organic span::after { display:none; }
.totem-profile-visual.is-style-flat-disc span { width:min(86%,var(--totem-preview-height,104px)); height:18px; margin-top:calc(var(--totem-preview-height,104px) - 18px); border-radius:50%; background:radial-gradient(ellipse at 34% 24%,color-mix(in srgb,var(--totem-color,#68765d),#fff 52%),color-mix(in srgb,var(--totem-color,#68765d),#fff 8%) 48%,color-mix(in srgb,var(--totem-color,#68765d),#173f37 34%) 100%); box-shadow:inset 8px 4px 10px rgba(255,255,255,.16),inset -9px -5px 12px rgba(23,56,38,.2),7px 10px 18px rgba(42,83,67,.14); }
.totem-profile-visual.is-style-flat-disc span::before,
.totem-profile-visual.is-style-flat-disc span::after { display:none; }
.totem-title-row { display:flex; align-items:center; gap:.5rem; }
.totem-title-row h1 { margin:0; }
.totem-title-row button { min-width:34px; min-height:34px; padding:.25rem; border-radius:50%; }
.totem-essential-controls { display:grid; grid-template-columns:minmax(0,1fr); gap:.65rem; align-content:start; }
.totem-essential-controls .field { min-width:0; margin:0; padding:.62rem; border:1px solid rgba(50,59,25,.14); border-radius:12px; background:rgba(255,255,255,.68); }
.totem-essential-controls .field > label,
.totem-essential-controls .field > span:first-child { color:#424b3a; font-size:.7rem; font-weight:800; letter-spacing:.03em; }
.totem-essential-controls .totem-name-editor[hidden] { display:none; }
.totem-essential-controls > .compact-ar-action { width:100%; min-width:0; }
.totem-color-control input[type="color"] { min-height:44px; padding:3px; cursor:pointer; }
.totem-tone-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.totem-tone-presets button { display:grid; place-items:center; gap:3px; min-width:0; min-height:48px; padding:5px 3px; border:1px solid rgba(50,59,25,.18); background:#fff; color:#4d5644; }
.totem-tone-presets button[aria-pressed="true"] { border-color:#3f553d; box-shadow:inset 0 0 0 1px #3f553d; }
.totem-tone-presets button span { width:18px; height:18px; border-radius:50%; background:var(--totem-tone); box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }
.totem-tone-presets button small { overflow:hidden; font-size:.55rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.totem-custom-color { display:grid; grid-template-columns:auto minmax(54px,1fr); align-items:center; gap:8px; margin-top:5px; color:#66705f; }
.totem-custom-color input[type="color"] { width:100%; min-height:34px; }
.totem-height-control { display:grid; gap:5px; }
.totem-height-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.totem-height-presets button { display:grid; gap:1px; min-width:0; min-height:44px; padding:6px 4px; border:1px solid rgba(50,59,25,.18); background:#fff; color:#424b3a; }
.totem-height-presets button[aria-pressed="true"] { border-color:#53694d; background:#eef1e9; box-shadow:inset 0 0 0 1px #53694d; }
.totem-height-presets button strong { font-size:.65rem; }
.totem-height-presets button small { color:#737b6d; font-size:.55rem; }
.totem-style-control { display:grid; gap:5px; }
.totem-style-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.totem-style-presets button { display:grid; place-items:center; gap:3px; min-width:0; min-height:76px; padding:6px 4px; border:1px solid rgba(50,59,25,.18); background:#fff; color:#424b3a; }
.totem-style-presets button[aria-pressed="true"] { border-color:#53694d; background:#eef1e9; box-shadow:inset 0 0 0 1px #53694d; }
.totem-style-presets button strong { font-size:.62rem; }
.totem-style-presets button small { overflow:hidden; color:#737b6d; font-size:.5rem; line-height:1.15; text-align:center; text-overflow:ellipsis; }
.totem-style-preview { position:relative; display:block; width:24px; height:34px; border-radius:4px; background:var(--totem-color,#68765d); box-shadow:inset 3px 0 4px rgba(255,255,255,.18),inset -3px 0 4px rgba(23,56,38,.16); }
.totem-style-preview-basic { border-radius:4px 4px 2px 2px; background:linear-gradient(90deg,#4b9a72 0 25%,#72c2a0 25% 72%,#31705b 72%); }
.totem-style-preview-organic { width:34px; height:34px; border-radius:50%; background:#68765d; }
.totem-style-preview-flat-disc { width:42px; height:12px; margin-top:20px; border-radius:50%; background:radial-gradient(ellipse at 32% 22%,#b4d49a,#68765d 58%,#31553b); box-shadow:0 4px 8px rgba(42,83,67,.22); }
.tutorial-step-confirmation { display:flex; align-items:center; gap:.72rem; padding:.72rem .85rem; border:1px solid rgba(79,134,83,.3); border-radius:14px; background:rgba(112,169,101,.1); color:#315f3b; }
.tutorial-step-confirmation > span { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:#4f8653; color:#fff; font-weight:900; }
.tutorial-step-confirmation strong { display:block; font-size:.8rem; }
.tutorial-step-confirmation p { margin:.08rem 0 0; color:#50674f; font-size:.68rem; line-height:1.35; }

.plant-ar-quick-editor { display:grid; gap:18px; padding:4px 0; }
.plant-ar-quick-editor h2 { margin:2px 0 4px; color:#263226; font-size:1.45rem; }
.plant-ar-quick-editor > div > p:last-child { display:none; }
.plant-ar-quick-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.plant-ar-quick-fields > label { display:grid; gap:6px; color:#4c574b; font-size:.72rem; font-weight:800; letter-spacing:.03em; }
.plant-ar-quick-fields input:not([type="color"]) { width:100%; min-width:0; }
.plant-ar-quick-tone { grid-column:1/-1; display:grid; gap:7px; }
.plant-ar-quick-tone > label:first-child { color:#4c574b; font-size:.72rem; font-weight:800; letter-spacing:.03em; }
.plant-ar-quick-tones { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:5px; }
.plant-ar-quick-tones button { display:grid; place-items:center; gap:3px; min-width:0; min-height:49px; padding:5px 2px; border:1px solid rgba(48,58,45,.18); background:#fff; color:#4f594e; }
.plant-ar-quick-tones button[aria-pressed="true"] { border-color:#536950; background:#f0f2ec; box-shadow:inset 0 0 0 1px #536950; }
.plant-ar-quick-tones button span { width:19px; height:19px; border-radius:50%; background:var(--plant-quick-tone); box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }
.plant-ar-quick-tones button small { overflow:hidden; max-width:100%; font-size:.52rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.plant-ar-custom-tone { display:flex; align-items:center; justify-content:space-between; gap:10px; width:max-content; color:#697268; font-size:.67rem; font-weight:700; }
.plant-ar-custom-tone input { width:44px; height:30px; padding:2px; border:1px solid rgba(48,58,45,.22); background:#fff; }

/* Unified Plant Profile: one calm hierarchy for Web Hub, Home and Area links. */
.ar-square-action,
.ar-square-action:hover,
.ar-square-action:focus-visible {
    display:grid !important;
    place-items:center;
    width:104px;
    min-width:104px;
    height:104px;
    min-height:104px;
    padding:0 !important;
    border-radius:4px !important;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
}
.ar-square-action::before { display:none !important; }
.dashboard-open-ar,
.dashboard-open-ar:hover,
.dashboard-open-ar:focus-visible {
    grid-template-columns:1fr;
    width:104px !important;
    min-width:104px;
    max-width:104px;
    height:104px;
    min-height:104px !important;
    padding:0 !important;
    text-align:center;
}
.dashboard-open-ar strong { justify-self:center; font-size:1rem; }
.area-entry-actions .ar-square-action { flex:0 0 42px; width:42px; min-width:42px; height:42px; min-height:42px; }
.plant-profile-header {
    display:grid;
    grid-template-columns:minmax(0,1fr) 58px;
    align-items:center;
    gap:18px;
    padding:22px 20px 18px;
    border:1px solid rgba(50,59,25,.2);
    border-radius:4px;
    background:linear-gradient(145deg,#f7f8f3,#fff);
}
.plant-profile-heading { min-width:0; }
.plant-profile-kicker { margin:0 0 5px; color:#365218; font-size:.66rem; font-weight:700; letter-spacing:.12em; }
.plant-profile-header h1 { margin:0; font-size:clamp(1.75rem,5vw,2.7rem); line-height:1.05; overflow-wrap:anywhere; }
.plant-profile-location { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:10px; color:#697268; font-size:.73rem; line-height:1.3; }
.plant-profile-location button,
.plant-profile-location strong { min-width:0; padding:0; border:0; background:transparent; color:#365218; font:inherit; font-weight:700; overflow-wrap:anywhere; text-align:left; }
.plant-profile-location button:hover,
.plant-profile-location button:focus-visible { text-decoration:underline; }
.plant-profile-location > span { color:#a0a99b; }
.plant-profile-ar-button,
.plant-profile-ar-button:hover,
.plant-profile-ar-button:focus-visible {
    display:grid !important;
    place-items:center;
    width:58px;
    min-width:58px;
    height:58px;
    min-height:58px;
    padding:0 !important;
    border-radius:4px !important;
    background:#365218 !important;
    color:#fff !important;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.08em;
    box-shadow:none !important;
}
.plant-profile-ar-button::before { display:none !important; }
.plant-profile-stats {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1px;
    margin-top:10px;
    border:1px solid rgba(50,59,25,.16);
    border-radius:4px;
    overflow:hidden;
    background:rgba(50,59,25,.12);
}
.plant-profile-stats > div { display:grid; gap:3px; min-width:0; padding:11px 12px; background:#fff; }
.plant-profile-stats small { color:#778257; font-size:.58rem; font-weight:700; letter-spacing:.1em; }
.plant-profile-stats strong { display:flex; align-items:center; gap:6px; min-width:0; color:#111; font-size:.72rem; overflow-wrap:anywhere; }
.plant-profile-stats i { width:12px; height:12px; flex:0 0 12px; border-radius:50%; background:var(--plant-profile-color,#5e7956); box-shadow:inset 0 0 0 1px rgba(0,0,0,.16); }
.plant-profile-stat-color strong { align-items:center; }
.plant-profile-stat-color input[type="color"] { width:30px; height:24px; flex:0 0 30px; padding:2px; border:1px solid rgba(50,59,25,.24); border-radius:4px; background:#fff; cursor:pointer; }
.plant-profile-stat-color input[type="color"]::-webkit-color-swatch-wrapper { padding:0; }
.plant-profile-stat-color input[type="color"]::-webkit-color-swatch { border:0; border-radius:2px; }
.plant-profile-link-card { display:block; margin-top:10px; padding:0; }
.plant-profile-link-card > summary { display:flex; align-items:center; gap:10px; padding:12px 14px; cursor:pointer; list-style:none; }
.plant-profile-link-card > summary::-webkit-details-marker { display:none; }
.plant-profile-link-card > summary > span:first-child { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:rgba(74,116,84,.13); color:#3f6849; }
.plant-profile-link-card > summary > span:last-child { display:grid; gap:1px; }
.plant-profile-link-card > summary strong { color:#365b40; font-size:.72rem; }
.plant-profile-link-card > summary small { color:#617067; font-size:.67rem; }
.plant-profile-link-card > div { display:grid; gap:6px; padding:0 14px 14px; }
.plant-profile-link-card[open] > summary { border-bottom:1px solid rgba(65,105,75,.14); }

@media (max-width:640px) {
    .plant-ar-quick-fields { grid-template-columns:1fr; }
    .plant-ar-quick-tones { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:520px) {
    .plant-profile-header { grid-template-columns:minmax(0,1fr) 52px; gap:10px; padding:18px 14px 15px; }
    .plant-profile-ar-button,
    .plant-profile-ar-button:hover,
    .plant-profile-ar-button:focus-visible { width:52px; min-width:52px; height:52px; min-height:52px; }
    .plant-profile-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.totem-welcome-card > p { margin:0; color:#6b614f; font-size:.74rem; }
.totem-bottom-navigation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.totem-bottom-navigation button { min-width:0; padding-inline:.5rem; }
.area-precise-location { display:grid; gap:.35rem; padding:.75rem .85rem; border:1px solid rgba(69,116,126,.17); border-radius:17px; background:linear-gradient(145deg,rgba(239,248,247,.9),rgba(224,239,242,.76)); }
.area-precise-location > div { display:flex; align-items:center; justify-content:space-between; gap:.65rem; }
.area-precise-location small { padding:.2rem .45rem; border-radius:999px; background:rgba(63,114,124,.1); color:#52727a; font-size:.62rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.area-precise-location p { margin:0; color:#5d6d6e; font-size:.74rem; }

.area-vital-grid,
.totem-vital-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    align-content: center;
}

.area-vital-grid > div,
.totem-vital-grid > div {
    display: grid;
    gap: .22rem;
    align-content: center;
    min-height: 58px;
    padding: .6rem;
    border-radius: 14px;
    background: rgba(255,255,255,.68);
}
.area-vital-setting { position: relative; padding-right: 2.2rem !important; }
.area-inline-edit { position: absolute; top: .45rem; right: .45rem; display: grid; place-items: center; width: 22px; min-width: 22px; height: 22px; min-height: 22px; padding: 0; border: 1px solid rgba(78,111,78,.24); border-radius: 50%; background: rgba(255,255,255,.58); color: #58745b; font-size: .65rem; line-height: 1; }
.area-inline-edit:hover { background: #fff; color: #2f5f3e; }

.area-vital-grid small,
.totem-vital-grid small {
    color: #5e7462;
    font-size: .65rem;
    letter-spacing: .07em;
}

.area-vital-grid strong,
.totem-vital-grid strong { color: #354e3b; font-size: .8rem; }
.totem-vital-grid > .field { gap: .25rem; }
.totem-vital-grid > .field:first-child { grid-column: 1 / -1; }

.area-information-form { display: grid; gap: .65rem; }
.area-information-form > button { justify-self: end; }
.area-overview-card,
.totem-welcome-card {
    display: grid;
    gap: .35rem;
    padding: .8rem .9rem;
    border: 1px solid rgba(197,146,93,.18);
    border-radius: 18px;
    background: linear-gradient(145deg, #fff9ed, var(--pastel-peach));
}

.area-overview-card label,
.totem-welcome-card label { color: #725b41; font-weight: 850; }
.area-overview-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.area-overview-heading button { min-height: 32px; padding: .3rem .6rem; font-size: .68rem; }
.area-overview-actions { display:flex; align-items:center; gap:.45rem; }
.area-overview-actions .plant-profile-info-bubble { border-color:rgba(174,133,30,.55); background:#fff3b6; color:#7b5d13; }
.area-about-help { margin:.25rem 0 0; color:#6e5a22 !important; font-size:.7rem; line-height:1.4; }
.area-overview-card > p { margin: .25rem 0; color: #4d584f; line-height: 1.55; }
.area-overview-card textarea,
.totem-welcome-card textarea { min-height: 66px; resize: vertical; border-color: rgba(162,119,74,.2); border-radius: 12px; background: rgba(255,255,255,.7); }

.totem-file-form { padding: 0; }
.totem-information-editor { margin: 0; padding: .85rem; }
.totem-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.totem-editor-heading h2,
.totem-editor-heading p { margin: 0; }
.totem-editor-heading p { margin-top: .2rem; color: #617067; font-size: .74rem; }
.totem-editor-heading button { flex: 0 0 auto; min-height: 38px; padding: .45rem .7rem; }
.totem-editor-heading button span { font-size: 1rem; }
.totem-text-box-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.totem-text-box { padding: .7rem; border: 1px solid rgba(74,110,78,.15); border-radius: 16px 22px 16px 20px; background: linear-gradient(145deg, rgba(255,255,255,.72), var(--pastel-lilac)); }
.totem-text-box textarea { min-height: 64px; resize: vertical; background: rgba(255,255,255,.7); }
.totem-physical-anchor-card { overflow:hidden; border:1px solid rgba(52,94,75,.22); border-radius:20px; background:linear-gradient(145deg,#f7fbf3,#e4f0e8); box-shadow:0 8px 22px rgba(47,84,63,.07); }
.totem-physical-anchor-card > summary { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.85rem .95rem; cursor:pointer; list-style:none; }
.totem-physical-anchor-card > summary::-webkit-details-marker { display:none; }
.totem-physical-anchor-card > summary span { display:grid; gap:.16rem; }
.totem-physical-anchor-card > summary strong { color:#345640; font-size:.82rem; }
.totem-physical-anchor-card > summary strong small { color:#708176; font-size:.66rem; font-weight:700; }
.totem-physical-anchor-card > summary span > small { color:#64756a; font-size:.68rem; }
.totem-physical-anchor-card > summary > b { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:rgba(58,102,78,.11); color:#426b51; font-size:1.1rem; }
.totem-physical-anchor-body { display:grid; gap:.75rem; padding:0 .9rem .9rem; border-top:1px solid rgba(52,94,75,.12); }
.totem-physical-anchor-body > p { margin:.75rem 0 0; color:#5c6d62; font-size:.74rem; line-height:1.45; }
.physical-anchor-toggle { margin:0; border-radius:14px; background:rgba(255,255,255,.64); }
.totem-physical-anchor-layout { display:grid; grid-template-columns:minmax(112px,.32fr) minmax(0,1fr); gap:.8rem; }
.totem-physical-anchor-layout[hidden], .totem-physical-transform-grid[hidden], .physical-marker-actions[hidden] { display:none; }
.totem-physical-marker-preview { display:grid; place-items:center; min-height:176px; padding:.6rem; border:1px solid rgba(41,70,51,.16); border-radius:16px; background:#fff; }
.totem-physical-marker-preview svg { width:min(100%,160px); height:auto; filter:drop-shadow(0 5px 8px rgba(0,0,0,.12)); }
.totem-physical-marker-controls { display:grid; align-content:start; gap:.55rem; }
.totem-physical-marker-controls label, .totem-physical-transform-grid label { display:grid; gap:.28rem; color:#405947; font-size:.68rem; font-weight:800; }
.totem-physical-marker-controls label > small { color:#718078; font-size:.6rem; font-weight:600; }
.physical-marker-assignment-status { width:fit-content; margin:0; padding:.28rem .5rem; border-radius:999px; background:rgba(67,112,82,.1); color:#42604a; font-size:.64rem; font-weight:800; }
.physical-marker-reassign { display:flex !important; align-items:center; gap:.4rem !important; padding:.5rem; border:1px solid rgba(170,105,62,.24); border-radius:10px; background:#fff4e8; color:#7a4d31 !important; }
.physical-marker-reassign[hidden] { display:none !important; }
.physical-marker-reassign input { width:auto; }
.input-with-unit { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.35rem; }
.input-with-unit b { color:#627267; font-size:.68rem; }
.totem-physical-transform-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.totem-physical-transform-grid fieldset { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; min-width:0; margin:0; padding:.65rem; border:1px solid rgba(56,94,70,.16); border-radius:14px; background:rgba(255,255,255,.6); }
.totem-physical-transform-grid legend { padding:0 .25rem; color:#49604f; font-size:.68rem; font-weight:850; }
.totem-physical-transform-grid .physical-marker-scale { align-self:end; padding:.65rem; border-radius:14px; background:rgba(255,255,255,.6); }
.physical-marker-actions { margin:0; }
.physical-marker-actions button { min-height:38px; }
.totem-physical-anchor-body > .meta { margin:0; }
.totem-physical-drawer .plant-drawer-fields { align-items: center; }
.totem-relationship-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.totem-anchor-card, .totem-link-card { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: .6rem; padding: .8rem; border: 1px solid rgba(74,110,78,.16); border-radius: 18px; background: linear-gradient(145deg,#f9fcf4,var(--pastel-sky)); }
.totem-link-card { background: linear-gradient(145deg,#fdfaf4,var(--pastel-lilac)); }
.totem-anchor-card > span, .totem-link-card > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: rgba(74,110,78,.12); }
.totem-anchor-card p, .totem-link-card p { margin: .2rem 0 .55rem; color: #617067; font-size: .72rem; }
.totem-link-measure { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin-top: .4rem; }
.totem-existing-links { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .45rem; }
.totem-existing-links span, .area-totem-links span, .site-map-totem-links span { padding: .3rem .5rem; border-radius: 999px; background: rgba(83,132,100,.1); color: #42604b; font-size: .67rem; }
.area-totem-links, .site-map-totem-links { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding: .7rem; border-radius: 15px; background: rgba(223,239,242,.55); }

.physical-anchor-scanner { position:fixed; inset:0; z-index:12000; overflow:hidden; background:#020604; color:#fff; font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif; }
.physical-anchor-scanner video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#020604; }
.physical-anchor-scanner header { position:absolute; left:50%; top:max(14px,env(safe-area-inset-top)); display:grid; gap:3px; width:min(calc(100vw - 28px),420px); padding:9px 12px; transform:translateX(-50%); border:1px solid rgba(255,255,255,.3); border-radius:14px; background:rgba(7,20,13,.78); box-sizing:border-box; box-shadow:0 7px 22px rgba(0,0,0,.3); backdrop-filter:blur(10px); text-align:center; }
.physical-anchor-scanner header p { margin:0; color:rgba(228,245,220,.66); font-size:.55rem; font-weight:850; letter-spacing:.12em; }
.physical-anchor-scanner header strong { font-size:.73rem; line-height:1.25; }
.physical-anchor-scan-guide { position:absolute; left:50%; top:50%; width:min(64vw,360px); aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid rgba(226,242,218,.35); border-radius:18px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.28); pointer-events:none; }
.physical-anchor-scan-guide::before,.physical-anchor-scan-guide::after,.physical-anchor-scan-guide span::before,.physical-anchor-scan-guide span::after { content:""; position:absolute; width:34px; height:34px; border-color:#dcef95; border-style:solid; }
.physical-anchor-scan-guide::before { left:-2px; top:-2px; border-width:3px 0 0 3px; border-radius:10px 0 0; }
.physical-anchor-scan-guide::after { right:-2px; top:-2px; border-width:3px 3px 0 0; border-radius:0 10px 0 0; }
.physical-anchor-scan-guide span::before { left:-2px; bottom:-2px; border-width:0 0 3px 3px; border-radius:0 0 0 10px; }
.physical-anchor-scan-guide span::after { right:-2px; bottom:-2px; border-width:0 3px 3px 0; border-radius:0 0 10px; }
.physical-anchor-totem { position:absolute; left:var(--physical-totem-x,50%); top:var(--physical-totem-y,50%); width:var(--physical-totem-width,30px); height:var(--physical-totem-height,130px); transform:translate(-50%,-100%) rotate(var(--physical-totem-rotation,0deg)); transform-origin:50% 100%; pointer-events:none; filter:drop-shadow(0 9px 9px rgba(0,0,0,.36)); }
.physical-anchor-totem[hidden] { display:none; }
.physical-anchor-totem-pillar { position:absolute; left:18%; right:18%; top:0; bottom:0; border:1px solid rgba(226,255,242,.62); border-radius:10% 10% 4% 4%; background:var(--physical-totem-color); background:linear-gradient(90deg,color-mix(in srgb,var(--physical-totem-color),#173f37 30%),color-mix(in srgb,var(--physical-totem-color),#fff 30%) 28%,var(--physical-totem-color) 72%,color-mix(in srgb,var(--physical-totem-color),#173f57 34%)); box-shadow:inset 4px 0 7px rgba(255,255,255,.16); }
.physical-anchor-totem.is-virtual-tag { transform:translate(-50%,-100%) rotate(var(--physical-totem-rotation,0deg)); }
.physical-anchor-totem.is-virtual-tag .physical-anchor-totem-pillar { left:0; right:0; top:0; bottom:18%; border-radius:4px; border-color:rgba(244,255,224,.84); box-shadow:inset 0 0 0 2px rgba(255,255,255,.14), 0 0 0 1px rgba(5,20,9,.35); }
.physical-anchor-totem.is-virtual-tag::after { content:""; position:absolute; left:50%; bottom:0; width:3px; height:24%; transform:translateX(-50%); border-radius:999px; background:rgba(223,250,209,.82); box-shadow:0 0 5px rgba(220,255,209,.36); }
.physical-anchor-totem strong { position:absolute; left:50%; bottom:calc(100% + 7px); max-width:180px; transform:translateX(-50%); padding:4px 7px; border-radius:999px; background:rgba(4,15,9,.76); color:#fff; font-size:clamp(.5rem,2vw,.68rem); line-height:1.1; text-align:center; white-space:nowrap; }
.physical-anchor-scanner footer { position:absolute; left:50%; bottom:max(14px,env(safe-area-inset-bottom)); display:flex; gap:7px; width:min(calc(100vw - 28px),420px); transform:translateX(-50%); }
.physical-anchor-scanner footer button { flex:1; min-height:42px; padding:8px 10px; border:1px solid rgba(255,255,255,.3); border-radius:11px; background:rgba(11,30,19,.86) !important; color:#fff; font-size:.68rem; font-weight:800; backdrop-filter:blur(9px); }

.field-guide-hub { --guide-mint:#e4f1df; --guide-sky:#e2f0f2; --guide-peach:#f7e5d4; }
.field-guide-header { background: radial-gradient(circle at 90% 10%,var(--guide-sky),transparent 30%),linear-gradient(145deg,#fbfdf5,var(--guide-mint)); }
.field-guide-summary { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: .7rem; }
.field-guide-summary > span { padding: .4rem .6rem; border-radius: 12px; background: rgba(255,255,255,.7); color:#506256; font-size:.68rem; }
.field-guide-summary > span strong { color:#31563c; font-size:.9rem; }
.field-guide-summary .is-unassigned { background:var(--guide-peach); }
.field-guide-creation-board { display:grid; gap:.45rem; padding:.45rem; border:1px solid rgba(86,112,70,.2); border-radius:15px; background:linear-gradient(145deg,rgba(250,248,235,.97),rgba(231,241,221,.94)); }
.field-guide-creation-board h2,.field-guide-creation-board p { margin:0; }
.field-guide-creation-board > div:first-child > p:last-child { margin-top:.25rem; color:#657163; font-size:.7rem; line-height:1.4; }
.field-guide-creation-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.field-guide-creation-actions button { display:grid; place-items:center; min-height:42px; padding:.45rem .7rem; border:1px solid rgba(76,111,65,.2); border-radius:11px; background:rgba(255,255,249,.94); color:#36523a; text-align:center; }
.field-guide-creation-actions button strong { font-size:.9rem; }
.field-guide-creation-actions button span { color:#697467; font-size:.66rem; line-height:1.35; }
.field-guide-tool { gap: .8rem; }
.field-guide-tool .field-guide-header { padding-bottom: .8rem; }
.field-guide-essentials { display:grid; gap:.65rem; padding:.8rem; border:1px solid rgba(50,59,25,.18); border-radius:18px; background:#f7f8f3; }
.field-guide-essentials-heading { display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.field-guide-essentials-heading h2 { margin:0; font-size:1rem; }
.field-guide-map-action { min-height:36px; padding:.4rem .9rem; border:1px solid #a94735; border-radius:10px; background:#b74432; color:#fff; font-weight:850; letter-spacing:.03em; text-transform:uppercase; }
.field-guide-map-action:hover { background:#96392b; }
.field-guide-tool .field-guide-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.4rem; margin:0; }
.field-guide-tool .field-guide-summary > span { display:grid; gap:.08rem; min-height:50px; padding:.45rem .5rem; border:1px solid rgba(50,59,25,.12); border-radius:11px; background:#fff; text-align:center; }
.field-guide-tool .field-guide-summary > span strong { font-size:1.05rem; }
.field-guide-tool .field-guide-creation-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.field-guide-tool .field-guide-creation-actions button { min-height:38px; border-color:rgba(54,82,24,.26); background:#fff; }
.field-guide-areas-board, .field-guide-plant-search { display:grid; gap:.5rem; }
.field-guide-area-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.55rem; margin-top:0; }
.field-guide-area-grid .field-guide-area-card { display:grid; grid-template-columns:38px minmax(0,1fr) 30px; align-items:center; gap:.55rem; min-width:0; min-height:78px; padding:.65rem; border:1px solid rgba(50,59,25,.17); border-radius:16px; background:#fff; text-align:left; transition:border-color .15s ease, box-shadow .15s ease, opacity .15s ease; }
.field-guide-area-grid .field-guide-area-card:hover { border-color:#778257; box-shadow:0 6px 14px rgba(50,59,25,.08); }
.field-guide-area-grid .field-guide-area-card.is-home-area { background:#fffaf1; }
.field-guide-area-grid .field-guide-area-card.is-search-match { border-color:#b74432; box-shadow:0 0 0 2px rgba(183,68,50,.18),0 7px 15px rgba(183,68,50,.12); }
.field-guide-area-grid .field-guide-area-card.is-search-dimmed { opacity:.45; }
.field-guide-area-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#eef0e7; font-size:1.2rem; }
.field-guide-area-copy { display:grid; gap:.12rem; min-width:0; }
.field-guide-area-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#323b19; }
.field-guide-area-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#66736a; font-size:.65rem; }
.field-guide-area-copy small b { color:#365218; font-size:.78rem; }
.field-guide-area-totem-slot { display:grid; place-items:center; }
.field-guide-area-totem { display:grid; place-items:center; width:25px; height:32px; border-radius:7px 7px 4px 4px; background:linear-gradient(90deg,color-mix(in srgb,var(--area-totem-color) 65%,#fff),var(--area-totem-color) 50%,color-mix(in srgb,var(--area-totem-color) 72%,#1c3223)); color:#fff; font-size:.75rem; font-weight:900; box-shadow:0 3px 7px color-mix(in srgb,var(--area-totem-color) 35%,transparent); }
.field-guide-area-totem.is-empty { width:auto; height:auto; background:none; box-shadow:none; color:#b0b7aa; font-size:1.1rem; }
.field-guide-plant-search > .field-guide-section-heading { margin-top:.2rem; }
.field-guide-plant-search > #fieldGuideCount { margin:0; color:#68766c; font-size:.7rem; }
.field-guide-global-search { display:grid; gap:.55rem; }
.field-guide-global-search[hidden] { display:none; }
.field-guide-global-search .field { gap:.25rem; }
.field-guide-global-search .field > label { color:#405947; font-size:.68rem; font-weight:800; }
.field-guide-global-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); gap:.65rem; align-items:stretch; }
.field-guide-global-result { display:grid; grid-template-columns:56px minmax(0,1fr); grid-template-rows:1fr auto; gap:.35rem .65rem; min-width:0; padding:.65rem .7rem; overflow:hidden; border:1px solid rgba(70,111,73,.16); border-radius:14px; background:rgba(255,255,252,.84); }
.field-guide-global-result--exact { border-color:rgba(47,123,72,.42); background:linear-gradient(145deg,rgba(238,249,235,.98),rgba(255,255,252,.9)); }
.field-guide-global-result--related { border-color:rgba(181,143,35,.42); background:linear-gradient(145deg,rgba(255,249,218,.94),rgba(255,255,252,.9)); }
.field-guide-global-result--caution { border-color:rgba(181,76,57,.34); background:linear-gradient(145deg,rgba(255,239,232,.92),rgba(255,255,252,.9)); }
.field-guide-global-match-legend { display:flex; flex-wrap:wrap; gap:.3rem .55rem; color:#68766c; font-size:.62rem; font-weight:750; }
.field-guide-global-match-legend span { padding:.18rem .4rem; border-radius:999px; }
.field-guide-global-legend-local { background:#e4f0ff; color:#2c5f95; }
.field-guide-global-legend-exact { background:#e3f3e2; color:#28613b; }
.field-guide-global-legend-related { background:#fff3c9; color:#81631c; }
.field-guide-global-legend-caution { background:#ffe5dc; color:#9a4939; }
.field-guide-global-result img { width:52px; height:52px; object-fit:cover; border-radius:11px; background:#eef3e9; }
.field-guide-global-result-placeholder { display:grid; place-items:center; width:52px; height:52px; border-radius:11px; background:#eef3e9; }
.field-guide-global-result > span:nth-child(2) { display:grid; align-content:start; min-width:0; }
.field-guide-global-result > button { grid-column:1 / -1; width:100%; min-height:34px; padding:.35rem .6rem; }
.field-guide-global-result strong,.field-guide-global-result em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.field-guide-global-result em { color:#526b59; font-size:.7rem; }
.field-guide-global-result small { color:#68766c; font-size:.65rem; }
.field-guide-global-convert { justify-self:start; min-height:32px; padding:.35rem .65rem; font-size:.68rem; }
.field-guide-global-profile { grid-column:1 / -1; display:grid; gap:.75rem; min-width:0; padding:.85rem; border:1px solid rgba(55,104,68,.24); border-radius:16px 7px 16px 7px; background:linear-gradient(145deg,#fffdf4,#e9f3e5); }
.field-guide-global-profile-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.field-guide-global-profile-heading h3 { margin:.15rem 0 .1rem; color:#244f36; font-size:1.15rem; }
.field-guide-global-profile-heading em { color:#526b59; font-size:.76rem; }
.field-guide-global-profile-kicker { color:#8a682e; font-size:.58rem; font-weight:900; letter-spacing:.12em; }
.field-guide-global-profile-heading .ghost { min-height:30px; padding:.3rem .55rem; font-size:.64rem; }
.field-guide-global-profile-body { display:grid; grid-template-columns:72px minmax(0,1fr); gap:.7rem; align-items:start; }
.field-guide-global-profile-body > img,.field-guide-global-profile-placeholder { display:grid; place-items:center; width:72px; height:72px; border-radius:13px; background:#e1eee0; color:#4d8156; font-size:1.8rem; object-fit:cover; }
.field-guide-global-profile-body dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem .7rem; margin:0; }
.field-guide-global-profile-body dl div { display:grid; gap:.08rem; min-width:0; }
.field-guide-global-profile-body dt { color:#6b786d; font-size:.58rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.field-guide-global-profile-body dd { margin:0; overflow:hidden; color:#304e39; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.field-guide-global-profile-note { margin:0; color:#5d6c60; font-size:.7rem; line-height:1.4; }
.field-guide-global-profile-extract { display:grid; gap:.55rem; padding:.7rem; border:1px solid rgba(55,104,68,.18); border-radius:13px; background:rgba(255,255,252,.76); }
.field-guide-global-profile-extract h4,.field-guide-global-profile-extract p { margin:0; }
.field-guide-global-profile-extract h4 { color:#315c3e; font-size:.84rem; }
.field-guide-global-profile-extract > div p { margin-top:.15rem; color:#66746a; font-size:.67rem; line-height:1.35; }
.field-guide-global-profile-extract fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; width:100%; min-width:0; margin:0; padding:0; border:0; }
.field-guide-global-profile-extract fieldset:not(.field-guide-allocation-list) { grid-template-columns:1fr; }
.field-guide-global-profile-extract legend { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.field-guide-global-profile-extract label { display:flex; align-items:flex-start; gap:.4rem; min-width:0; padding:.4rem .45rem; border:1px solid rgba(55,104,68,.13); border-radius:9px; background:#fff; color:#3e5d47; font-size:.67rem; line-height:1.25; }
.field-guide-global-profile-extract label span { display:grid; gap:.08rem; min-width:0; }
.field-guide-global-profile-extract label small { color:#748078; font-size:.59rem; }
.field-guide-global-profile-extract input[type="checkbox"] { flex:0 0 18px !important; width:18px !important; min-width:18px !important; max-width:18px !important; height:18px; min-height:18px; max-height:18px; margin:.1rem 0 0; padding:0; accent-color:#39764a; }
.field-guide-global-profile-extract > button { justify-self:start; min-height:34px; padding:.35rem .7rem; font-size:.68rem; }
.field-guide-global-profile-status { color:#9b4f2d; font-size:.66rem; }
.field-guide-global-profile-status:empty { display:none; }
.field-guide-research-workspace { max-width:1180px; }
.field-guide-research-sections { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:.55rem; }
.field-guide-research-sections section { min-width:0; padding:.65rem; border:1px solid rgba(55,104,68,.14); border-radius:12px; background:rgba(255,255,255,.78); }
.field-guide-research-sections h4 { margin:0 0 .4rem; color:#315c3e; font-size:.78rem; }
.field-guide-research-sections dl { display:grid; gap:.4rem; margin:0; }
.field-guide-research-sections dl div { min-width:0; }
.field-guide-research-sections dt { color:#6b786d; font-size:.58rem; font-weight:850; text-transform:uppercase; }
.field-guide-research-sections dd { margin:.08rem 0 0; overflow-wrap:anywhere; color:#304e39; font-size:.68rem; line-height:1.35; }
.field-guide-extract-heading { display:flex; justify-content:space-between; gap:.7rem; align-items:start; }
.field-guide-extract-heading > div:last-child { display:flex; gap:.35rem; flex:0 0 auto; }
.field-guide-global-profile-extract .field-guide-extract-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.55fr); gap:.5rem; align-items:center; }
.field-guide-extract-fact { display:flex; align-items:flex-start; gap:.4rem; min-width:0; }
.field-guide-extract-fact input[type="checkbox"] { flex:0 0 18px !important; width:18px !important; min-width:18px !important; max-width:18px !important; height:18px; min-height:18px; max-height:18px; margin:.18rem 0 0; padding:0; accent-color:#39764a; }
.field-guide-extract-fact span { flex:1 1 auto; min-width:0; max-width:none; overflow-wrap:anywhere; }
.field-guide-extract-fact strong { display:block; color:#315c3e; font-size:.72rem; line-height:1.25; }
.field-guide-extract-fact small { display:block; overflow-wrap:anywhere; color:#748078; font-size:.64rem; line-height:1.35; }
.field-guide-extract-suggestion { display:grid; gap:.08rem; min-width:0; padding:.4rem .5rem; border-left:3px solid #9abf88; border-radius:0 8px 8px 0; background:#f3f7ef; color:#4d6652; }
.field-guide-extract-suggestion small { color:#718073; font-size:.57rem; }
.field-guide-extract-suggestion strong { overflow-wrap:anywhere; font-size:.67rem; line-height:1.3; }
.field-guide-allocation-intro { display:grid; gap:.2rem; padding:.7rem .8rem; border:1px solid rgba(55,104,68,.16); border-radius:12px; background:#f3f7ef; color:#3e5d47; }
.field-guide-allocation-intro strong { font-size:.78rem; }
.field-guide-allocation-intro p { margin:0; color:#66746a; font-size:.68rem; line-height:1.4; }
.field-guide-allocation-group { display:grid; gap:.45rem; margin:0; padding:.7rem; border:1px solid rgba(55,104,68,.15); border-radius:12px; background:rgba(255,255,252,.78); }
.field-guide-allocation-group h4,.field-guide-allocation-group p { margin:0; }
.field-guide-allocation-group h4 { color:#315c3e; font-size:.8rem; }
.field-guide-allocation-fixed { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.2rem .6rem; align-items:center; padding:.45rem .5rem; border-radius:9px; background:#f7faf5; color:#405947; font-size:.67rem; }
.field-guide-allocation-fixed span { grid-column:1; overflow:hidden; color:#66746a; text-overflow:ellipsis; white-space:nowrap; }
.field-guide-allocation-fixed em { grid-column:2; grid-row:1 / span 2; color:#708c72; font-size:.6rem; font-style:normal; font-weight:800; }
.field-guide-allocation-list { grid-template-columns:1fr; }
.field-guide-allocation-list > legend { position:static; width:auto; height:auto; overflow:visible; clip:auto; color:#315c3e; font-size:.8rem; font-weight:850; }
.field-guide-allocation-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,.58fr) auto; gap:.5rem; align-items:center; padding:.45rem .5rem; border:1px solid rgba(55,104,68,.12); border-radius:9px; background:#fff; }
.field-guide-allocation-fact { display:grid; gap:.12rem; min-width:0; }
.field-guide-allocation-fact strong { overflow:hidden; color:#3e5d47; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.field-guide-allocation-fact small { overflow:hidden; color:#748078; font-size:.6rem; text-overflow:ellipsis; white-space:nowrap; }
.field-guide-allocation-row label { display:grid; gap:.14rem; min-width:0; padding:0; border:0; background:transparent; color:#6b786d; font-size:.58rem; font-weight:800; text-transform:uppercase; }
.field-guide-allocation-row select { width:100%; min-height:30px; padding:.25rem .4rem; border:1px solid rgba(55,104,68,.24); border-radius:7px; background:#f8fbf6; color:#304e39; font-size:.65rem; text-transform:none; }
.field-guide-allocation-smart { padding:.24rem .38rem; border-radius:999px; background:#e5f0e1; color:#4b744e; font-size:.56rem; font-weight:850; white-space:nowrap; }
.field-guide-allocation-actions { display:flex; flex-wrap:wrap; gap:.45rem; }
.field-guide-allocation-actions button { min-height:34px; font-size:.67rem; }
@media (max-width:700px) {
    .field-guide-global-profile-extract { padding:.6rem; }
    .field-guide-global-profile-extract fieldset { grid-template-columns:1fr !important; }
    .field-guide-global-profile-extract label { align-items:flex-start; min-width:0; font-size:.72rem; }
    .field-guide-global-profile-extract input[type="checkbox"] { appearance:none; width:1rem !important; height:1rem; min-width:1rem !important; max-width:1rem !important; min-height:1rem; max-height:1rem; margin:.12rem 0 0; padding:0; border:1px solid #73907a; border-radius:4px; background:#fff; }
    .field-guide-global-profile-extract input[type="checkbox"]:checked { border-color:#39764a; background:#39764a; box-shadow:inset 0 0 0 3px #fff; }
    .field-guide-global-profile-extract .field-guide-extract-row { grid-template-columns:1fr; }
    .field-guide-extract-suggestion { margin-left:1.4rem; }
    .field-guide-allocation-row { grid-template-columns:1fr; }
    .field-guide-allocation-smart { justify-self:start; }
    .field-guide-extract-heading { display:grid; }
}
.field-guide-tool .field-guide-search-deck { padding:.6rem; }
.field-guide-tool .field-guide-search-deck .field { gap:.25rem; }
.field-guide-tool .field-guide-search-deck label { color:#405947; font-size:.68rem; font-weight:800; }
.field-guide-tool .field-guide-plant-grid { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.field-guide-area-help { display:flex; justify-content:flex-end; margin-top:.2rem; }
.field-guide-area-help summary { display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(50,59,25,.25); border-radius:50%; color:#506256; cursor:pointer; font-weight:850; list-style:none; }
.field-guide-area-help summary::-webkit-details-marker { display:none; }
.field-guide-area-help p { max-width:380px; margin:.45rem 0 0 auto; padding:.55rem .7rem; border:1px solid rgba(50,59,25,.14); border-radius:11px; background:#f7f8f3; color:#5e6b60; font-size:.68rem; line-height:1.4; }
.field-guide-search-deck { display:grid; grid-template-columns:minmax(0,1fr); gap:.55rem; padding:.75rem; border:1px solid rgba(70,111,73,.15); border-radius:18px; background:rgba(255,255,255,.72); }
.field-guide-advanced-search { padding-top:.45rem; border-top:1px solid rgba(70,111,73,.12); }
.field-guide-advanced-search > summary { width:fit-content; cursor:pointer; color:#587064; font-size:.7rem; font-weight:750; }
.field-guide-advanced-search > .field { margin-top:.55rem; }
.note-record-editor > form { border-radius:24px 17px 27px 19px; background:linear-gradient(145deg,rgba(252,253,249,.96),rgba(235,240,232,.9)); }
.note-record-editor #projectEntryDescription { min-height:180px; border-radius:18px 13px 20px 15px; background:rgba(255,255,252,.82); line-height:1.55; }
.field-guide-section-heading { display:flex; align-items:end; justify-content:space-between; gap:.7rem; }
.field-guide-section-heading h2,.field-guide-section-heading p { margin:0; }
.field-guide-section-heading p { color:#68766c; font-size:.7rem; }
.field-guide-plant-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:.6rem; }
.field-guide-plant-card { display:grid; grid-template-columns:34px minmax(0,1fr); min-height:78px; padding:.7rem; border-radius:17px; background:linear-gradient(145deg,#fff,var(--guide-mint)); text-align:left; }
.field-guide-card-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:12px; background:rgba(91,139,93,.13); }
.field-guide-plant-card > span:last-child { display:grid; gap:.15rem; min-width:0; }
.field-guide-plant-card small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#657269; font-size:.65rem; }
.field-guide-totem-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:.6rem; }
.field-guide-totem-card { display:grid; grid-template-columns:34px minmax(0,1fr); gap:.55rem; min-height:78px; padding:.7rem; border:1px solid rgba(66,114,125,.2); border-radius:17px; background:linear-gradient(145deg,#fff,var(--guide-sky)); color:#304d42; text-align:left; }
.field-guide-totem-card > span:last-child { display:grid; gap:.15rem; min-width:0; }
.field-guide-totem-card small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#657478; font-size:.65rem; }
.field-guide-totem-icon { background:rgba(73,137,151,.14); color:#337080; }
.field-guide-preparation { margin: .8rem 0 1rem; padding: .8rem; border: 1px solid rgba(77,113,83,.18); border-radius: 20px; background: linear-gradient(145deg,rgba(244,249,237,.96),rgba(233,244,240,.92)); }
.field-guide-preparation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; align-items:stretch; }
.field-guide-preparation-grid.is-single-action { grid-template-columns:minmax(0,1fr); }
.field-guide-preparation-grid button,
.field-guide-special-elements { display:grid; align-content:center; gap:.2rem; min-height:72px; padding:.7rem; border:1px solid rgba(73,111,78,.17); border-radius:15px; background:rgba(255,255,252,.9); color:#304d3a; text-align:left; }
.field-guide-preparation-grid button span { color:#68766c; font-size:.67rem; line-height:1.35; }
.field-guide-special-elements > summary { display:grid; gap:.2rem; cursor:pointer; list-style:none; }
.field-guide-special-elements > summary::-webkit-details-marker { display:none; }
.field-guide-special-elements > summary::after { content:'+'; justify-self:end; grid-row:1 / span 2; font-size:1.2rem; color:#5b7b62; }
.field-guide-special-elements[open] > summary::after { content:'−'; }
.field-guide-special-elements > summary span { color:#68766c; font-size:.67rem; line-height:1.35; }
.field-guide-special-copy { grid-column:1 / -1; margin-top:.45rem; padding-top:.55rem; border-top:1px solid rgba(73,111,78,.14); color:#526358; font-size:.72rem; line-height:1.45; }
.field-guide-special-copy p { margin:0 0 .35rem; }
.field-guide-special-copy ul { margin:.2rem 0 0 1rem; padding:0; }
.field-guide-anchor-readiness { margin-top:.65rem; padding:.65rem; border-radius:15px; background:rgba(75,130,112,.1); }
.field-guide-anchor-readiness > summary { display:grid; grid-template-columns:38px minmax(0,1fr); gap:.65rem; align-items:center; cursor:pointer; list-style:none; }
.field-guide-anchor-readiness > summary > span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#fff; color:#397964; font-size:1.2rem; }
.field-guide-anchor-readiness p { margin:.16rem 0 0; color:#637269; font-size:.68rem; line-height:1.4; }
.field-guide-element-chips { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.7rem; }
.field-guide-element-chip { display:inline-flex; align-items:center; gap:.28rem; padding:.42rem .62rem; border-radius:999px; background:#fff; color:#315e4d; font-size:.72rem; }
.field-guide-anchored-list { display:grid; gap:.4rem; margin-top:.6rem; }
.field-guide-anchored-list button { display:flex; align-items:center; justify-content:space-between; gap:.6rem; width:100%; padding:.55rem .65rem; border:1px solid rgba(65,108,84,.16); border-radius:12px; background:rgba(255,255,252,.86); text-align:left; }
.field-guide-anchored-list button span { display:grid; gap:.1rem; }
.field-guide-anchored-list button small { color:#66736a; font-size:.64rem; }
.field-guide-anchored-list button b { color:#397964; font-size:.68rem; }
.field-guide-virtual-tags { border-color:rgba(83,103,143,.2); background:linear-gradient(145deg,rgba(246,249,255,.98),rgba(230,237,250,.92)); }
.field-guide-virtual-tags > summary { display:flex; align-items:center; justify-content:space-between; gap:.7rem; cursor:pointer; list-style:none; }
.field-guide-virtual-tags > summary::-webkit-details-marker { display:none; }
.field-guide-virtual-tags > summary > span:first-child { display:grid; gap:.16rem; }
.field-guide-virtual-tags > summary small { color:#66718a; font-size:.68rem; }
.field-guide-virtual-tags-body { margin-top:.65rem; padding-top:.65rem; border-top:1px solid rgba(83,103,143,.16); }
.field-guide-virtual-tags-body > p { margin:.1rem 0 .65rem; color:#5d6a7f; font-size:.7rem; line-height:1.45; }
.field-guide-virtual-tag-row { display:flex; align-items:center; gap:.6rem; width:100%; padding:.58rem .65rem; border:1px solid rgba(83,103,143,.16); border-radius:12px; background:rgba(255,255,255,.78); color:#33496e; text-align:left; }
.field-guide-virtual-tag-row + .field-guide-virtual-tag-row { margin-top:.4rem; }
.field-guide-virtual-tag-row > span:nth-child(2) { display:grid; min-width:0; gap:.12rem; }
.field-guide-virtual-tag-row small { overflow:hidden; color:#66718a; font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
.field-guide-virtual-tag-row b { margin-left:auto; color:#52688e; font-size:.68rem; }
.field-guide-virtual-tag-row.is-live { border-color:rgba(59,126,82,.32); background:linear-gradient(145deg,rgba(247,255,244,.94),rgba(226,243,226,.88)); }
.field-guide-virtual-tag-row.is-live b { color:#39764a; letter-spacing:.06em; }
.field-guide-virtual-tag-symbol { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:rgba(83,103,143,.12); font-size:1rem; }
.creator-ar-special-symbol { display:grid; place-items:center; position:absolute; left:50%; top:50%; width:44px; height:44px; transform:translate(-50%,-50%) rotate(var(--marker-rotation,0deg)); border:2px solid rgba(255,255,255,.9); border-radius:50%; background:var(--marker-accent,#75a9cc); color:#fff; font-size:1.65rem; font-weight:900; text-shadow:0 1px 2px rgba(0,0,0,.32); box-shadow:0 0 20px color-mix(in srgb,var(--marker-accent,#75a9cc) 72%,transparent); }
.creator-ar-arrow-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.creator-ar-symbol-marker[data-ar-arrow-style] b { font-size:1.8rem; line-height:1; }
.creator-ar-marker-hit-target.is-symbol-marker .creator-ar-spatial-name { margin-top:42px; }

.area-content-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
    gap: .65rem;
}
.area-marker-filter { display:grid; gap:8px; margin:10px 0 12px; padding:10px 12px; border:1px solid rgba(57,105,79,.16); border-radius:12px; background:rgba(255,255,255,.55); }
.area-marker-filter-heading { display:flex; align-items:center; gap:8px; min-width:0; }
.area-marker-filter-heading strong { color:#385d43; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.area-marker-filter-heading button { min-height:30px; padding:4px 9px; font-size:.67rem; }
.area-marker-filter .meta { margin:0 0 0 auto; color:#66736a; font-size:.7rem; }
.area-marker-filter-options-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-top:4px; border-top:1px solid rgba(57,105,79,.12); }
.area-marker-filter-options-panel[hidden] { display:none; }
.area-marker-filter-group { min-width:0; margin:0; padding:0; border:0; }
.area-marker-filter-group legend { margin-bottom:5px; color:#526257; font-size:.64rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.area-marker-filter-options { display:flex; flex-wrap:wrap; gap:5px; }
.area-marker-filter-option { display:inline-flex; align-items:center; gap:4px; min-width:0; padding:4px 6px; border:1px solid rgba(57,105,79,.16); border-radius:7px; background:#fffdf4; color:#526257; font-size:.68rem; line-height:1.2; cursor:pointer; }
.area-marker-filter-option input { accent-color:#39784a; margin:0; }

.area-content-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .45rem .65rem;
    align-content: start;
    min-width: 0;
    min-height: 104px;
    padding: .75rem;
    border: 1px solid color-mix(in srgb, var(--area-entry-accent,#68765d) 22%, rgba(62,91,69,.16));
    border-left: 5px solid var(--area-entry-accent,#68765d);
    border-radius: 17px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--area-entry-accent,#68765d) 9%, #fff), rgba(255,255,252,.96));
    box-shadow: 0 6px 16px rgba(43,66,48,.05);
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.area-content-card:hover,
.area-content-card:focus-visible { transform: translateY(-2px); border-color: var(--area-entry-accent,#68765d); box-shadow: 0 10px 20px color-mix(in srgb, var(--area-entry-accent,#68765d) 16%, rgba(43,66,48,.08)); outline: none; }
.area-entry-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:color-mix(in srgb, var(--area-entry-accent,#68765d) 18%, #fff); color:var(--area-entry-accent,#68765d); font-size:1.35rem; }
.area-entry-icon span { display:grid; place-items:center; width:100%; height:100%; }
.area-entry-icon img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.area-entry-copy { display:grid; align-content:start; min-width:0; gap:.16rem; }
.area-entry-copy strong { overflow:hidden; color:#29422f; font-size:.86rem; text-overflow:ellipsis; white-space:nowrap; }
.area-entry-kind { overflow:hidden; color:var(--area-entry-accent,#5c7961); font-size:.63rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.area-entry-copy .placement-status { overflow:hidden; color:#738077; font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
.area-entry-copy .placement-status.is-placed { color:#39704a; }
.area-entry-status { align-self:start; padding:.25rem .4rem; border-radius:999px; background:color-mix(in srgb, var(--area-entry-accent,#68765d) 13%, #fff); color:var(--area-entry-accent,#68765d); font-size:.58rem; font-weight:850; white-space:nowrap; }
.area-content-card.is-plant .area-entry-icon { border-radius:50% 46% 52% 43%; box-shadow:inset 4px 4px 8px rgba(255,255,255,.55); }
.area-content-card.is-note { border-radius:8px 18px 12px 18px; background:linear-gradient(145deg,#fffaf1,#fffdf8); }
.area-content-card.is-note .area-entry-icon { border-radius:8px 8px 3px 8px; }
.area-content-card.is-checkpoint { border-style:dashed; background:linear-gradient(145deg, color-mix(in srgb, var(--area-entry-accent,#68765d) 9%, #fff), #f8fafc); }
.area-content-card.is-trail-entrance .area-entry-icon { border-radius:50% 50% 10px 10px; }
.area-content-card.is-totem-entry,
.area-content-card.is-totem { background:linear-gradient(145deg, rgba(224,241,232,.74), rgba(241,246,239,.9)); }
.area-content-card .area-entry-actions { grid-column: 1 / -1; display: flex; gap: .35rem; }
.area-content-card .area-entry-actions button { flex: 1; min-height: 34px; padding: .35rem .5rem; font-size: .66rem; }
.area-totem-section { display:grid; gap:.65rem; margin:1rem 0; padding:.85rem; border:1px solid rgba(59,126,107,.24); border-radius:20px 9px 20px 9px; background:linear-gradient(145deg,rgba(232,246,235,.88),rgba(248,246,228,.84)); }
.area-totem-section h2,.area-totem-section p { margin:0; }
.area-totem-section .section-heading-row p { color:#627267; font-size:.7rem; }
.area-totem-section > .section-heading-row { align-items:center; }
.area-totem-section > .section-heading-row > div { min-width:0; }
.area-totem-section > .section-heading-row button { flex:0 0 auto; min-height:36px; padding:.45rem .7rem; font-size:.68rem; }
.area-totem-description { color:#435b49; font-size:.78rem; line-height:1.45; }
.area-totem-introduction,
.area-totem-bubbles { display:grid; gap:.35rem; padding:.65rem .7rem; border-radius:12px; background:rgba(255,255,255,.62); }
.area-totem-introduction strong,
.area-totem-bubbles > strong { color:#3e664b; font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; }
.area-totem-introduction p { color:#52685a; font-size:.76rem; line-height:1.45; }
.area-totem-bubbles > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:.4rem; }
.area-totem-bubbles span { display:grid; grid-template-columns:auto 1fr; gap:.4rem; align-items:start; color:#52685a; font-size:.72rem; line-height:1.4; }
.area-totem-bubbles b { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e4f0e4; color:#4e7956; font-size:.62rem; }
.area-totem-empty { color:#627267; font-size:.75rem; line-height:1.4; }
.area-totem-card .area-content-entry { min-height:0; padding:.65rem; }
.area-totem-card .area-content-entry .latest-entry-copy span { white-space:nowrap; }
.totem-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.45rem; }
.totem-stat { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; align-items:center; column-gap:.45rem; min-width:0; min-height:54px; padding:.5rem; border:1px solid rgba(57,105,79,.16); border-radius:12px; background:rgba(255,255,255,.68); }
.totem-stat-icon { grid-row:1 / 3; display:grid; place-items:center; width:27px; height:27px; border-radius:9px; background:#e4f0e4; color:#4e7956; font-size:1rem; font-weight:800; }
.totem-stat-color { color:var(--totem-stat-color,#68765d); text-shadow:0 0 0 rgba(0,0,0,0); }
.totem-stat small { overflow:hidden; color:#6c786c; font-size:.5rem; font-weight:850; letter-spacing:.06em; text-overflow:ellipsis; white-space:nowrap; }
.totem-stat strong { overflow:hidden; color:#33483a; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width: 620px) {
    #app {
        padding-top: 12px;
    }

    .plant-card-hero {
        grid-template-columns: 92px minmax(0, 1fr);
        padding: 0.65rem;
    }

    .plant-photo-space,
    .plant-photo-space img {
        min-height: 124px;
    }

    .plant-vital-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.4rem;
    }

    .plant-vital-grid .field {
        padding: 0.42rem;
    }

    .area-profile-hero,
    .totem-profile-hero { grid-template-columns: 96px minmax(0, 1fr); }
    .area-profile-visual,
    .totem-profile-visual { min-height: 124px; }
    .area-vital-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .totem-text-box-grid { grid-template-columns: 1fr; }
    .totem-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .totem-relationship-grid, .field-guide-search-deck { grid-template-columns: 1fr; }
    .totem-physical-anchor-layout, .totem-physical-transform-grid { grid-template-columns:1fr; }
    .totem-physical-marker-preview { min-height:148px; }
    .totem-physical-transform-grid fieldset { grid-template-columns:1fr; }
    .field-guide-preparation-grid { grid-template-columns: 1fr 1fr; }
    .field-guide-creation-board { grid-template-columns:1fr; }
    .field-guide-tool .field-guide-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .totem-editor-heading { align-items: stretch; flex-direction: column; }
    .totem-editor-heading button { align-self: start; }
    .totem-tone-presets { grid-template-columns:repeat(2,minmax(0,1fr)); }

    .project-entry-editor .spatial-focus-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 420px) {
    .field-guide-tool .field-guide-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .field-guide-area-grid { grid-template-columns:1fr; }
}

/* Final cascade: keep every Web Mode screen in the live Nourishland brand. */
:root {
    --leaf-ink:#323b19;
    --leaf-deep:#365218;
    --leaf-mid:#778257;
    --leaf-soft:#eef0e7;
    --moss-wash:#f7f8f3;
    --paper-wash:#fff;
    --earth-line:rgba(50,59,25,.22);
    --soft-shadow:none;
}
html,body { background:#fff; background-image:none; }
body { color:#111; font-family:"Montserrat",sans-serif; font-weight:500; line-height:1.65; }
body::before,body::after { display:none; }
#app { width:min(860px,calc(100% - 32px)); }
h1,h2,h3 { color:#111; font-family:"Montserrat",sans-serif; letter-spacing:-.02em; }
p,.subtitle,.meta { color:#323b19; }
.page-header,.project-entry-header { border-bottom:0; }
.page-header::after,.project-entry-header::after { height:1px; border-radius:0; background:linear-gradient(90deg,#778257,rgba(119,130,87,0)); }
.welcome-label,.section-label { color:#365218; font-family:"Montserrat",sans-serif; font-weight:600; letter-spacing:.09em; }
.menu-card span,.role-card span { font-family:"Montserrat Alternates","Montserrat",sans-serif; }
.panel,.card,
.menu-card,.menu-card:nth-child(even),
.project-action,.project-row-list>.project-action:nth-child(even),
.analog-plant-row,.analog-plant-row:nth-child(even),
.role-card,.role-card:nth-child(even) {
    border:1px solid rgba(50,59,25,.2);
    border-radius:4px;
    background:#fff;
    box-shadow:none;
}
.menu-card:hover,.project-action:hover,.analog-plant-row:hover {
    border-color:#778257;
    background:#f7f8f3;
    transform:translateY(-1px);
}
button,input,select,textarea,button.ghost { border-radius:3px; font-family:"Montserrat",sans-serif; }
button { border-color:rgba(50,59,25,.32); background:#fff; color:#111; font-weight:600; }
button:hover,button:focus-visible { border-color:#365218; }
button.primary { border-color:#365218; background:#365218; color:#fff; }
button.primary:hover { background:#323b19; }
button.ghost { border-color:transparent; background:transparent; color:#323b19; }
input,select,textarea { border-color:rgba(50,59,25,.28); background:#fff; }
input:focus,select:focus,textarea:focus { border-color:#365218; }
.intro-launch .intro-heading h1 {
    color:#111;
    font-family:"Montserrat",sans-serif;
    font-weight:700;
    letter-spacing:.035em;
}
.intro-launch .intro-heading h1 span { color:#365218; }
.intro-launch .intro-heading .subtitle { color:#323b19; font-family:"Montserrat",sans-serif; font-weight:500; }
.intro-launch .intro-copy h2 {
    color:#111;
    font-family:"Montserrat",sans-serif;
    font-weight:700;
    letter-spacing:-.035em;
}
.intro-launch .intro-copy p { color:#323b19; }
.intro-launch .creator-role,
.intro-launch .visitor-role,
.intro-launch .welcome-complementary-card,
.intro-launch .welcome-complementary-card:first-child,
.intro-launch .welcome-complementary-card:last-child {
    border-color:rgba(50,59,25,.22);
    background:#fff;
}
.intro-launch .role-card:hover,
.intro-launch .welcome-complementary-card:hover {
    border-color:#778257;
    background:#f7f8f3;
}
.intro-launch .welcome-complementary-card>span,
.intro-launch .welcome-complementary-card:first-child>span,
.intro-launch .welcome-complementary-card:last-child>span { color:#323b19; }
body[data-project-theme="forest-light"] .dashboard-open-ar {
    border-color:#4d9bd3;
    border-radius:4px;
    background:#176fae;
    box-shadow:none;
}
body[data-project-theme="forest-light"] .dashboard-field-guide {
    border-color:rgba(50,59,25,.22);
    border-radius:4px;
    background:#f7f8f3;
    color:#111;
}

/* Lightweight static AR markers */
.creator-ar-arrow-grid .creator-ar-symbol-marker {
    display:grid !important;
    place-items:center !important;
    grid-template-columns:1fr !important;
    min-height:48px !important;
    padding:3px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    filter:none !important;
}
.creator-ar-arrow-grid .creator-ar-symbol-marker > b {
    width:auto !important;
    height:auto !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:rgba(255,255,255,.94);
    font-size:2rem !important;
    text-shadow:0 2px 5px rgba(0,0,0,.72);
}
.creator-ar-marker-hit-target.is-arrow-marker {
    width:72px;
    height:72px;
    border-radius:0;
}
.creator-ar-marker-hit-target.is-arrow-marker::before {
    display:none;
}
.creator-ar-marker-hit-target.is-arrow-marker .creator-ar-special-symbol {
    width:auto;
    height:auto;
    border:0;
    border-radius:0;
    background:transparent;
    color:color-mix(in srgb,var(--marker-accent,#75a9cc) 44%,#fff);
    box-shadow:none;
    filter:drop-shadow(0 2px 3px rgba(0,0,0,.78));
    font-size:3.4rem;
    line-height:1;
    text-shadow:none;
}
.creator-ar-marker-hit-target.is-arrow-marker .creator-ar-spatial-name {
    margin-top:34px;
}
.tryit-sim-orb {
    --demo-orb-light:#eef5c8;
    --demo-orb-mid:#7e913f;
    --demo-orb-dark:#344818;
    animation:none !important;
    transition:none !important;
}
.tryit-sim-orb.is-plant,
.tryit-sim-marker-plant.has-plant-profile:is(:hover,:focus-visible) .tryit-sim-orb,
.creator-ar-marker-hit-target-plant::after,
.creator-ar-marker-hit-target.has-plant-profile::after {
    animation:none !important;
}

/* /xr welcome: a living, place-based surface without losing the Nourishland restraint. */
body:has(.intro-launch) {
    min-height:100svh;
    background-color:#f4f3e8;
    background-image:
        radial-gradient(circle at 8% 5%,rgba(147,164,91,.22),transparent 30rem),
        radial-gradient(circle at 94% 26%,rgba(194,137,72,.12),transparent 25rem),
        linear-gradient(115deg,rgba(255,255,255,.74),rgba(239,242,224,.62));
    background-attachment:fixed;
}
body:has(.intro-launch)::before,
body:has(.intro-launch)::after {
    content:"";
    position:fixed;
    z-index:0;
    display:block;
    pointer-events:none;
}
body:has(.intro-launch)::before {
    left:-7rem;
    top:19vh;
    width:19rem;
    height:34rem;
    border:1px solid rgba(54,82,24,.14);
    border-radius:82% 18% 76% 24% / 55% 36% 64% 45%;
    transform:rotate(-22deg);
    background:linear-gradient(145deg,rgba(102,127,63,.1),rgba(255,255,255,0));
}
body:has(.intro-launch)::after {
    right:-8rem;
    bottom:4vh;
    width:23rem;
    height:23rem;
    border:1px solid rgba(119,130,87,.12);
    border-radius:50%;
    background:repeating-radial-gradient(circle at 50% 50%,transparent 0 25px,rgba(54,82,24,.055) 26px 27px);
}
.intro-launch {
    position:relative;
    z-index:1;
    isolation:isolate;
}
.intro-launch::before {
    content:"";
    position:absolute;
    top:78px;
    right:clamp(-22px,2vw,18px);
    z-index:-1;
    width:clamp(84px,15vw,158px);
    height:clamp(128px,22vw,230px);
    border-radius:100% 0 100% 0;
    transform:rotate(18deg);
    background:linear-gradient(150deg,rgba(119,130,87,.2),rgba(54,82,24,.035));
    box-shadow:inset 0 0 0 1px rgba(54,82,24,.08);
}
.intro-launch .intro-heading h1 {
    color:#17220f;
    text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.intro-launch .intro-heading h1 span { color:#64753a; }
.intro-launch .welcome-version-badge {
    padding:3px 9px;
    border:1px solid rgba(54,82,24,.18);
    border-radius:999px;
    background:rgba(255,255,255,.5);
}
.intro-launch .intro-copy {
    position:relative;
    padding:clamp(27px,5vw,52px);
    overflow:hidden;
    border:1px solid rgba(54,82,24,.2);
    border-radius:30px 7px 30px 7px;
    background:
        radial-gradient(circle at 92% 9%,rgba(185,197,118,.32),transparent 31%),
        linear-gradient(145deg,rgba(252,252,244,.96),rgba(226,234,204,.9));
    box-shadow:0 22px 55px rgba(42,61,25,.12),inset 0 1px rgba(255,255,255,.85);
}
.intro-launch .intro-copy::before {
    content:"";
    position:absolute;
    left:0;
    top:clamp(24px,5vw,52px);
    bottom:clamp(24px,5vw,52px);
    width:5px;
    border-radius:0 999px 999px 0;
    background:linear-gradient(#a4ad59,#526a30 60%,#b67b43);
}
.intro-launch .intro-copy::after {
    content:"";
    position:absolute;
    right:-38px;
    bottom:-72px;
    width:210px;
    height:210px;
    border:1px solid rgba(54,82,24,.12);
    border-radius:50%;
    box-shadow:0 0 0 24px rgba(54,82,24,.025),0 0 0 49px rgba(54,82,24,.02);
}
.intro-launch .intro-copy h2 {
    color:#18230f;
    text-wrap:balance;
}
.intro-launch .intro-copy p {
    color:#344022;
    font-size:clamp(.94rem,1.8vw,1.04rem);
}
.intro-launch .role-choice {
    padding:clamp(8px,2vw,18px) 4px;
}
.intro-launch .role-choice > h2 {
    display:flex;
    align-items:center;
    gap:12px;
}
.intro-launch .role-choice > h2::after {
    content:"";
    flex:1;
    height:1px;
    background:linear-gradient(90deg,rgba(54,82,24,.38),transparent);
}
.intro-launch .role-card,
.intro-launch .role-card:nth-child(even),
.intro-launch .welcome-complementary-card,
.intro-launch .welcome-complementary-card:first-child,
.intro-launch .welcome-complementary-card:last-child {
    position:relative;
    overflow:hidden;
    border-color:rgba(54,82,24,.23);
    border-radius:18px 5px 18px 5px;
    background:rgba(255,255,250,.78);
    box-shadow:0 10px 28px rgba(42,61,25,.075);
    transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.intro-launch .role-card:nth-child(even) {
    border-radius:5px 18px 5px 18px;
}
.intro-launch .role-card::before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
    background:#728348;
}
.intro-launch .visitor-role::before { background:#4f8172; }
.intro-launch .welcome-complementary-card:first-child::before { background:#98704a; }
.intro-launch .welcome-complementary-card:last-child::before { background:#5c7651; }
.intro-launch .role-card::after {
    content:"↗";
    position:absolute;
    right:18px;
    top:16px;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid rgba(54,82,24,.2);
    border-radius:50%;
    color:#526330;
    background:rgba(246,248,233,.72);
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:.85rem;
}
.intro-launch .role-card strong {
    padding-right:38px;
    color:#17220f;
}
.intro-launch .role-card:hover,
.intro-launch .welcome-complementary-card:hover {
    border-color:#718149;
    background:rgba(252,253,244,.98);
    box-shadow:0 15px 34px rgba(42,61,25,.13);
    transform:translateY(-3px);
}
.intro-launch .platform-landing-nav button {
    border-color:rgba(54,82,24,.22);
    border-radius:9px;
    background:rgba(255,255,250,.58);
}
.intro-launch .collaboration-credit {
    padding:18px 20px;
    border-top:1px solid rgba(54,82,24,.18);
    color:#526047;
    background:linear-gradient(90deg,rgba(255,255,255,.38),transparent);
}

.intro-launch .intro-copy h2 {
    max-width:680px;
    margin-bottom:16px;
    font-size:clamp(1.9rem,4.8vw,3.35rem);
    letter-spacing:-.045em;
    line-height:.98;
}

/* Keep the welcome choices in one compact first viewport. */
.intro-launch { min-height:calc(100svh - 32px); justify-content:space-between; gap:clamp(10px,1.6vh,16px); }
.intro-launch .intro-heading { padding-top:10px; }
.intro-launch .intro-copy { padding:clamp(18px,3.2vh,30px) clamp(16px,4vw,38px); }
.intro-launch .intro-copy h2 { margin-bottom:10px; }
.intro-launch .role-choice { padding-top:4px; }
.intro-launch .role-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.intro-launch .role-card,
.intro-launch .role-card:nth-child(even) { min-height:88px; padding:16px 18px; }
.intro-launch .role-card strong { font-size:clamp(.9rem,2vw,1.05rem); }
.intro-launch .role-card span { font-size:.7rem; line-height:1.3; }
.welcome-complementary-grid { gap:10px; margin-top:10px; padding-top:10px; border-top:1px solid rgba(54,82,24,.2); }
.intro-launch .welcome-complementary-card { min-height:78px; padding:13px 16px; }
.intro-launch .welcome-complementary-card strong { font-size:.92rem; }
.intro-launch .welcome-complementary-card > span { font-size:.68rem; line-height:1.3; }

@media (max-width:600px) {
    body:has(.intro-launch) #app {
        width:calc(100% - 12px);
        padding: max(10px, env(safe-area-inset-top)) 6px max(10px, env(safe-area-inset-bottom));
    }
    .intro-launch { gap:8px; }
    .intro-launch .intro-heading { padding:4px 0 0; }
    .intro-launch .intro-heading h1 { font-size:clamp(1.55rem,8vw,2.2rem); }
    .intro-launch .intro-heading .subtitle { margin-top:4px; font-size:.6rem; }
    .intro-launch .welcome-version-badge { margin-top:4px; padding:2px 7px; font-size:.56rem; }
    .intro-launch .intro-copy { padding:10px 8px; }
    .intro-launch .intro-copy h2 { margin-bottom:6px; font-size:clamp(1.55rem,8vw,2.2rem); line-height:.96; }
    .intro-launch .intro-copy p { max-width:none; font-size:.72rem; line-height:1.32; }
    .intro-launch .role-choice { gap:6px; padding:0; }
    .intro-launch .role-choice > h2 { gap:8px; font-size:.9rem; }
    .intro-launch .role-grid,
    .intro-launch .welcome-complementary-grid { gap:6px; }
    .intro-launch .role-card,
    .intro-launch .role-card:nth-child(even) { min-height:84px; padding:11px 10px; border-radius:12px 4px 12px 4px; }
    .intro-launch .role-card strong { padding-right:22px; font-size:.8rem; line-height:1.05; }
    .intro-launch .role-card span { font-size:.61rem; line-height:1.2; }
    .intro-launch .role-card::after { right:7px; top:7px; width:20px; height:20px; font-size:.64rem; }
    .intro-launch .welcome-complementary-grid { margin-top:6px; padding-top:6px; }
    .intro-launch .welcome-complementary-card { min-height:68px; padding:10px; }
    .intro-launch .welcome-complementary-card strong { font-size:.8rem; }
    .intro-launch .welcome-complementary-card > span { font-size:.6rem; line-height:1.2; }
    .intro-launch .platform-landing-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; width:100%; }
    .intro-launch .platform-landing-nav button { min-height:34px; padding:4px 8px; font-size:.66rem; }
    body:has(.intro-launch) .collaboration-credit { display:none; }
}

/* AR controls: organic colour, practical tool typography and sharper states. */
.creator-ar-taskbar,
.creator-ar-context-toolbar,
.creator-ar-place-picker {
    font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif;
}
.creator-ar-taskbar {
    gap:5px;
    padding:6px;
    border-color:rgba(213,226,184,.36);
    border-radius:13px;
    background:linear-gradient(180deg,rgba(31,48,35,.96),rgba(12,25,18,.97));
    box-shadow:0 10px 26px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.08);
    backdrop-filter:blur(12px) saturate(1.1);
}
.creator-ar-control-dock:has(> :not(nav):not([hidden])) .creator-ar-taskbar,
.creator-ar-control-dock:has(.creator-ar-context-toolbar:not([hidden])) .creator-ar-taskbar {
    border-radius:0 0 13px 13px;
}
.creator-ar-taskbar button,
body[data-project-theme] .creator-ar-taskbar button {
    min-height:36px;
    padding:7px 9px;
    border-color:rgba(255,255,255,.2);
    border-radius:7px;
    color:#f7faef;
    font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif;
    font-size:.65rem;
    font-weight:750;
    letter-spacing:.035em;
    text-transform:uppercase;
    box-shadow:inset 0 1px rgba(255,255,255,.08),0 2px 6px rgba(0,0,0,.16);
}
.creator-ar-taskbar .creator-ar-add-plant,
body[data-project-theme] .creator-ar-taskbar .creator-ar-add-plant {
    border-color:#789b6c;
    background:#426f47 !important;
}
.creator-ar-taskbar .creator-ar-add-note,
body[data-project-theme] .creator-ar-taskbar .creator-ar-add-note {
    border-color:#bd855d;
    background:#875435 !important;
}
.creator-ar-taskbar .creator-ar-special-marker,
body[data-project-theme] .creator-ar-taskbar .creator-ar-special-marker {
    border-color:#9388a7;
    background:#554c66 !important;
}
.creator-ar-taskbar [data-ar-view-mode],
body[data-project-theme] .creator-ar-taskbar [data-ar-view-mode] {
    border-color:#7096a5;
    background:#365e6d !important;
}
.creator-ar-taskbar [data-ar-select-mode],
body[data-project-theme] .creator-ar-taskbar [data-ar-select-mode] {
    border-color:#78a2a0;
    background:#3d6665 !important;
}
.creator-ar-taskbar [data-ar-web-return],
body[data-project-theme] .creator-ar-taskbar [data-ar-web-return] {
    min-width:58px;
    border-color:#78b6d7;
    background:#256f9c !important;
}
.creator-ar-taskbar [data-ar-web-return] b { font-size:1.08rem; }
.ar-web-handoff .ar-portal {
    border-color:#2378bd !important;
    background:linear-gradient(145deg,#3b95dc,#176caf) !important;
    color:#fff !important;
    font-weight:850;
}
.creator-ar-taskbar button:is(:hover,:focus-visible) {
    filter:brightness(1.12);
    transform:translateY(-1px);
}
.creator-ar-taskbar button.is-active {
    border-color:#dceea5;
    outline:2px solid rgba(220,238,165,.3);
    outline-offset:0;
    box-shadow:inset 0 -3px #dceea5,0 4px 10px rgba(0,0,0,.22);
}

/* Quest 3 spatial link bar: a compact, shallow arc anchored to the bottom
   of the view, closer to Meta's system-bar language than a waist-wide panel. */
body.creator-ar-quest-headset .creator-ar-quest-link-bar {
    bottom: max(22px, env(safe-area-inset-bottom));
    width: min(88vw, 560px);
    perspective: 720px;
}
body.creator-ar-quest-pending .creator-ar-quest-link-bar {
    visibility: hidden !important;
    pointer-events: none !important;
}
body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 5px;
    width: 100%;
    min-height: 54px;
    padding: 7px 10px 8px;
    overflow: visible;
    border: 1px solid rgba(232,245,226,.3);
    border-radius: 50% / 24px;
    background: linear-gradient(180deg, rgba(47,57,59,.92), rgba(14,20,22,.97));
    box-shadow: 0 16px 32px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.15);
    transform: rotateX(10deg);
    transform-origin: 50% 100%;
}
body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar > button {
    width: 48px;
    min-width: 48px;
    height: 42px;
    min-height: 42px;
    padding: 5px;
    justify-content: center;
    border-color: rgba(255,255,255,.22);
    border-radius: 6px;
    font-size: 0;
    box-shadow: 0 4px 0 rgba(7,13,15,.82), inset 0 1px rgba(255,255,255,.16);
    transform: none;
    transition: transform .18s ease, filter .18s ease, background .18s ease;
}
body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar > button:is(:hover,:focus-visible,.is-active) { transform: translateY(-3px) scale(1.04); filter: brightness(1.18); }
body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar > [data-ar-view-mode],
body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar > [data-ar-select-mode] { display: none !important; }
body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar button b,
body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar button strong { font-size: 1.05rem; line-height: 1; }
body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar button span:not(.sr-only) { display: none; }
/* Quest uses a true WebGL belt inside the XR layer. The DOM bar remains as
   the backing action model but must not duplicate the spatial controls. */
body.creator-ar-quest-headset.creator-ar-spatial-belt-ready .creator-ar-quest-link-bar > .creator-ar-taskbar {
    opacity: 0 !important;
    pointer-events: none !important;
}
@media (max-width: 520px) {
    body.creator-ar-quest-headset .creator-ar-quest-link-bar { width: min(96vw, 560px); }
    body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar { gap: 3px; padding-inline: 5px; }
    body.creator-ar-quest-headset .creator-ar-quest-link-bar .creator-ar-taskbar > button { width: 42px; min-width: 42px; }
}

/* Phone AR landscape: keep the shared controls in a reachable bottom dock.
   This is deliberately orientation- and pointer-based so desktop and Quest
   layouts keep their own contracts without user-agent branches. */
@media screen and (orientation: landscape) and (max-height: 620px) and (max-width: 1023px) {
    .creator-ar-control-dock {
        width: min(calc(100vw - 24px), 760px);
        bottom: max(10px, env(safe-area-inset-bottom));
    }
    .creator-ar-taskbar {
        align-items: stretch;
        justify-content: center;
        gap: 5px;
        overflow: visible;
    }
    .creator-ar-taskbar > button,
    body[data-project-theme] .creator-ar-taskbar > button {
        flex: 1 1 0;
        min-width: 44px;
        min-height: 44px;
        padding: 6px 5px;
        justify-content: center;
        overflow: hidden;
        white-space: normal;
        text-align: center;
        line-height: 1.05;
    }
    .creator-ar-taskbar > button strong,
    .creator-ar-taskbar > button span:not(.sr-only) {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .creator-ar-context-toolbar {
        align-items: stretch;
        flex-wrap: wrap;
        max-height: min(38dvh, 190px);
        overflow-y: auto;
        overflow-x: hidden;
    }
    .creator-ar-context-toolbar button,
    body[data-project-theme] .creator-ar-context-toolbar button {
        flex: 1 1 44px;
        min-width: 44px;
        min-height: 44px;
    }
    .creator-ar-status {
        max-width: min(56vw, 520px);
    }
    .creator-ar-inline-editor,
    .creator-ar-area-chooser,
    .creator-ar-unplaced-bag {
        max-height: min(64dvh, 320px);
    }
    .tryit-demo-footer {
        width: min(calc(100vw - 24px), 760px);
        bottom: max(10px, env(safe-area-inset-bottom));
    }
    .tryit-demo-taskbar {
        display: flex;
        align-items: stretch;
        gap: 6px;
        overflow: visible;
    }
    .tryit-demo-taskbar > button {
        flex: 1 1 0;
        min-width: 44px;
        min-height: 48px;
        white-space: normal;
    }
    .tryit-demo:is([data-demo-tutorial-step="pim"],[data-demo-tutorial-step="live-tag"]) .tryit-guided-choice.is-welcome-board.is-persistent-demo-board {
        max-width: min(72vw, 620px);
    }
}

/* The WEB link opens a real app surface without ending the Quest session. */
.creator-ar-spatial-web-window {
    position: fixed;
    left: 50%;
    top: 7vh;
    z-index: 12020;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    width: min(82vw, 760px);
    height: min(72vh, 680px);
    overflow: hidden;
    transform: translateX(-50%) perspective(1100px) rotateX(1.5deg);
    border: 1px solid rgba(222,246,215,.48);
    border-radius: 22px;
    background: rgba(16,29,23,.94);
    color: #f5faee;
    box-shadow: 0 24px 70px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.08), inset 0 1px rgba(255,255,255,.16);
    backdrop-filter: blur(18px) saturate(1.15);
    pointer-events: auto;
    touch-action: manipulation;
}
.creator-ar-spatial-web-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 17px 11px; border-bottom:1px solid rgba(222,246,215,.16); background:linear-gradient(135deg,rgba(52,93,64,.75),rgba(17,38,27,.64)); }
.creator-ar-spatial-web-header div { display:grid; gap:3px; min-width:0; }
.creator-ar-spatial-web-header span { color:#dcef95; font-size:.56rem; font-weight:850; letter-spacing:.16em; }
.creator-ar-spatial-web-header strong { overflow:hidden; font-size:1rem; text-overflow:ellipsis; white-space:nowrap; }
.creator-ar-spatial-web-header button { display:grid; place-items:center; width:34px; min-width:34px; height:34px; padding:0; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(0,0,0,.2); color:#fff; font-size:1.45rem; line-height:1; }
.creator-ar-spatial-web-nav { display:flex; gap:6px; padding:8px 10px; overflow-x:auto; border-bottom:1px solid rgba(222,246,215,.13); background:rgba(7,16,11,.42); }
.creator-ar-spatial-web-nav button { flex:1 0 auto; min-height:36px; padding:7px 11px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.08); color:#f5faee; font-size:.66rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.creator-ar-spatial-web-nav button:is(:hover,:focus-visible) { border-color:#dcef95; background:rgba(220,239,149,.18); }
.creator-ar-spatial-web-content { min-height:0; overflow:auto; padding:12px; overscroll-behavior:contain; }
.creator-ar-spatial-web-content .screen { min-height:0; padding:0; background:transparent; color:#f5faee; }

/* Shared Android AR chrome and safe-area contract. */
.creator-ar-control-dock,
.tryit-demo-footer {
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
}
.creator-ar-utility-controls { position: fixed; top: calc(max(12px, env(safe-area-inset-top, 0px)) + 8px); right: calc(env(safe-area-inset-right, 0px) + 12px); z-index: 12030; display: flex; gap: 6px; pointer-events: auto; }
.creator-ar-utility-controls button,
.tryit-ar-safety-control { min-width: 40px; min-height: 40px; padding: 7px 10px; border: 1px solid rgba(255, 255, 255, .34); border-radius: 999px; background: rgba(9, 27, 17, .76); color: #fff; font-size: .68rem; font-weight: 800; box-shadow: 0 5px 14px rgba(0, 0, 0, .2); backdrop-filter: blur(8px); pointer-events: auto; touch-action: manipulation; }
.tryit-ar-safety-control { position: fixed; top: calc(max(12px, env(safe-area-inset-top, 0px)) + 8px); right: calc(env(safe-area-inset-right, 0px) + 12px); z-index: 12030; }
.creator-ar-utility-controls button:is(:hover, :focus-visible),
.tryit-ar-safety-control:is(:hover, :focus-visible) { border-color: #dcef95; outline: 2px solid rgba(220, 239, 149, .24); outline-offset: 2px; }
.nxr-ar-safety-dialog { position: fixed; inset: 0; z-index: 13030; display: grid; place-items: center; box-sizing: border-box; padding: max(18px, env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px)) max(18px, env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px)); background: rgba(3, 14, 8, .58); pointer-events: auto; }
.nxr-ar-safety-dialog-card { width: min(92vw, 430px); max-height: min(82dvh, 620px); overflow: auto; padding: 22px; border: 1px solid rgba(220, 239, 149, .48); border-radius: 20px; background: linear-gradient(145deg, rgba(32, 76, 43, .98), rgba(11, 34, 20, .98)); color: #fff; box-shadow: 0 18px 60px rgba(0, 0, 0, .42); }
.nxr-ar-safety-dialog-card h2 { margin: 14px 0 8px; color: #fff; font-size: 1.35rem; }
.nxr-ar-safety-dialog-card p { margin: 0 0 16px; color: rgba(255, 255, 255, .86); font-size: .88rem; line-height: 1.5; }
.nxr-ar-safety-dialog-card > button { min-height: 44px; padding: 9px 16px; border: 1px solid rgba(220, 239, 149, .6); border-radius: 11px; background: rgba(220, 239, 149, .2); color: #fff; font-weight: 800; }
.ar-safety-screen { min-height: 100dvh; padding-bottom: max(24px, env(safe-area-inset-bottom, 0px)); }
.ar-safety-card { display: grid; gap: 14px; width: min(100%, 620px); margin-inline: auto; }
.ar-safety-card p { margin: 0; line-height: 1.55; }
.ar-safety-card .meta { color: var(--muted, #64746a); font-size: .82rem; }
.ar-safety-icon-row { display: flex; align-items: center; gap: 10px; }
.ar-safety-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(85, 141, 83, .48); border-radius: 14px; background: rgba(220, 239, 149, .18); color: #2f7545; font-size: 1.42rem; }
.ar-safety-actions { width: min(100%, 620px); margin-inline: auto; }
.ar-safety-actions button { min-height: 48px; flex: 1 1 220px; }
@media screen and (orientation: landscape) and (max-height: 720px) {
    .creator-ar-overlay, .tryit-demo, .creator-ar-canvas, .tryit-xr-canvas { width: 100dvw; height: 100dvh; min-width: 100dvw; min-height: 100dvh; }
    .creator-ar-control-dock,
    .tryit-demo-footer {
        left: 50%;
        right: auto;
        width: min(calc(100dvw - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px) - 24px), 760px);
        bottom: max(10px, env(safe-area-inset-bottom, 0px));
    }
    .creator-ar-taskbar { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
    .creator-ar-taskbar::-webkit-scrollbar, .tryit-demo-taskbar::-webkit-scrollbar { display: none; }
    .creator-ar-taskbar > button,
    body[data-project-theme] .creator-ar-taskbar > button { flex: 0 1 auto; min-width: 44px; min-height: 44px; padding: 6px 7px; overflow-wrap: normal; white-space: normal; }
    .creator-ar-context-toolbar { max-height: min(38dvh, 190px); overflow-y: auto; overflow-x: hidden; }
    .creator-ar-context-toolbar button,
    body[data-project-theme] .creator-ar-context-toolbar button { min-width: 44px; min-height: 44px; }
    .tryit-demo-taskbar { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 6px; width: 100%; overflow-x: auto; overflow-y: hidden; }
    .tryit-demo-taskbar > button { flex: 0 1 auto; min-width: 44px; min-height: 48px; white-space: normal; }
    .creator-ar-overlay .creator-ar-mode-pointer,
    .creator-ar-overlay .creator-ar-placement-guide,
    .tryit-demo .tryit-place.creator-ar-placement-guide { top: calc(50% - 1cm); }
    .creator-ar-controller-hud { bottom: calc(max(10px, env(safe-area-inset-bottom, 0px)) + 76px); }
    .creator-ar-recenter-prompt { bottom: calc(max(10px, env(safe-area-inset-bottom, 0px)) + 66px); }
    .tryit-demo:has(.tryit-demo-taskbar) .tryit-guided-choice,
    .tryit-demo:has(.tryit-demo-taskbar) .tryit-demo-action,
    .tryit-demo:has(.tryit-demo-taskbar) .tryit-final-actions { bottom: calc(max(10px, env(safe-area-inset-bottom, 0px)) + 116px); }
}
.creator-ar-spatial-web-content .page-header { margin:0 0 12px; padding:0; }
.creator-ar-spatial-web-content .page-header h1,
.creator-ar-spatial-web-content .page-header h2,
.creator-ar-spatial-web-content .page-header p,
.creator-ar-spatial-web-content .panel,
.creator-ar-spatial-web-content .latest-entries-section,
.creator-ar-spatial-web-content .content-mode-tool-grid,
.creator-ar-spatial-web-content .project-areas-section { color:#f5faee; }
.creator-ar-spatial-web-content .panel,
.creator-ar-spatial-web-content .latest-entries-section { background:rgba(255,255,255,.08); border-color:rgba(222,246,215,.2); }
.creator-ar-spatial-web-content .project-loading-screen { min-height:200px; background:transparent; }
.creator-ar-spatial-web-loading { padding:28px; color:rgba(245,250,238,.78); text-align:center; }
@media (max-width: 620px) {
    .creator-ar-spatial-web-window { top:4vh; width:94vw; height:78vh; border-radius:17px; }
    .creator-ar-spatial-web-nav button { font-size:.58rem; padding-inline:8px; }
}
/* Quest keeps this editor alive in AR and places it over the user's left
   shoulder, leaving the world-locked belt and the centre view unobstructed. */
body.creator-ar-quest-headset .creator-ar-spatial-web-window {
    left: 7vw;
    top: 15vh;
    width: min(48vw, 520px);
    height: min(64vh, 620px);
    transform: perspective(1100px) rotateY(5deg);
    transform-origin: left center;
}
@media (max-width: 620px) {
    body.creator-ar-quest-headset .creator-ar-spatial-web-window {
        left: 4vw;
        top: 10vh;
        width: min(72vw, 520px);
        height: min(70vh, 600px);
        transform: perspective(900px) rotateY(4deg);
    }
}
.creator-ar-context-toolbar {
    gap:5px;
    padding:6px;
    border-color:rgba(213,226,184,.34);
    border-radius:13px 13px 0 0;
    background:linear-gradient(180deg,rgba(38,63,43,.97),rgba(23,43,30,.97));
}
.creator-ar-context-toolbar button,
body[data-project-theme] .creator-ar-context-toolbar button {
    border-radius:7px;
    font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif;
}
.creator-ar-context-toolbar button span {
    font-size:.57rem;
    font-weight:780;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.tryit-demo-taskbar button {
    border-radius:8px;
    border-color:rgba(219,232,192,.3);
    background:rgba(22,39,27,.72);
    color:rgba(248,251,240,.82);
    font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif;
    font-size:.68rem;
    font-weight:720;
    letter-spacing:.035em;
    text-transform:uppercase;
}
.tryit-demo-taskbar button:hover,
.tryit-demo-taskbar button:focus-visible {
    border-color:rgba(220,239,149,.54);
    background:rgba(33,55,37,.92);
}
.tryit-demo-taskbar button.is-active {
    border-color:#dcef95;
    background:rgba(67,104,64,.9);
    box-shadow:inset 0 -2px #dcef95,0 4px 12px rgba(0,0,0,.2);
}

@media (max-width:600px) {
    .intro-launch::before { right:-18px; opacity:.62; }
    .intro-launch {
        min-height:calc(100svh - max(10px, env(safe-area-inset-top)) - max(6px, env(safe-area-inset-bottom)));
        gap:5px;
    }
    .intro-launch .intro-heading { padding:2px 0 0; }
    .intro-launch .intro-copy { padding:9px 8px; border-radius:18px 5px 18px 5px; }
    .intro-launch .intro-copy h2 { margin-bottom:5px; font-size:clamp(1.45rem,7vw,2rem); line-height:.94; }
    .intro-launch .intro-copy p { font-size:.68rem; line-height:1.22; }
    .intro-launch .role-grid,
    .intro-launch .welcome-complementary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
    .intro-launch .role-choice { gap:5px; }
    .intro-launch .role-card,
    .intro-launch .role-card:nth-child(even) { min-height:72px; padding:9px 8px; }
    .intro-launch .role-card strong { font-size:.76rem; }
    .intro-launch .role-card span { font-size:.57rem; line-height:1.15; }
    .intro-launch .welcome-complementary-grid { margin-top:5px; padding-top:5px; }
    .intro-launch .welcome-complementary-card { min-height:60px; padding:8px; }
    .intro-launch .welcome-complementary-card strong { font-size:.76rem; }
    .intro-launch .welcome-complementary-card > span { font-size:.57rem; line-height:1.15; }
    .intro-launch .platform-landing-nav { margin-top:2px; }
    .intro-launch .role-card,
    .intro-launch .role-card:nth-child(even) { border-radius:14px 4px 14px 4px; }
}

@media (min-width:601px) and (max-height:780px) {
    body:has(.intro-launch) #app { padding-bottom:8px; }
    .intro-launch { gap:8px; }
    .intro-launch .intro-heading { padding-top:3px; }
    .intro-launch .intro-copy { padding:12px clamp(12px,3vw,24px); }
    .intro-launch .intro-copy h2 { margin-bottom:6px; font-size:clamp(1.75rem,4.2vw,2.7rem); line-height:.94; }
    .intro-launch .intro-copy p { font-size:.86rem; line-height:1.28; }
    .intro-launch .role-choice { gap:5px; }
    .intro-launch .role-grid,
    .intro-launch .welcome-complementary-grid { gap:6px; }
    .intro-launch .role-card,
    .intro-launch .role-card:nth-child(even),
    .intro-launch .welcome-complementary-card { min-height:70px; padding:11px 14px; }
    .intro-launch .role-card span,
    .intro-launch .welcome-complementary-card > span { font-size:.66rem; line-height:1.2; }
    .intro-launch .platform-landing-nav button { min-height:32px; padding:4px 12px; }
}

/* One location language and one AR portal across Web Hub screens. */
.web-context-beacon {
    display:grid;
    gap:2px;
    padding:10px 14px;
    border:1px solid rgba(39,120,189,.2);
    border-radius:12px;
    background:linear-gradient(135deg,rgba(239,247,253,.94),rgba(250,252,249,.96));
    color:#375160;
}
.web-context-beacon > span {
    font-size:.58rem;
    font-weight:850;
    letter-spacing:.14em;
}
.web-context-beacon > strong {
    overflow:hidden;
    color:#122b3b;
    font-size:clamp(1.08rem,4vw,1.55rem);
    line-height:1.05;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.web-context-beacon > small { color:#62727a; font-size:.66rem; }
.web-context-beacon.is-home {
    padding-block:14px;
    background:linear-gradient(135deg,rgba(229,239,232,.82),rgba(247,250,245,.96));
    border-color:rgba(63,105,67,.18);
    text-align:center;
}
.web-context-beacon.is-home > strong {
    color:#304936;
    font-size:clamp(2rem,9vw,4rem);
    letter-spacing:.2em;
    text-indent:.2em;
}
.area-save-notice {
    margin:0;
    padding:9px 12px;
    border:1px solid rgba(63,128,77,.22);
    border-radius:10px;
    background:#eef7ef;
    color:#315a3c;
    font-size:.72rem;
    font-weight:750;
}
button.global-ar-action,
button[onclick*="startArMode"],
button[onclick*="renderArPreparation"],
body[data-project-theme] button.global-ar-action {
    border-color:#3f9bdd !important;
    background:linear-gradient(145deg,#43a2e7,#176daf) !important;
    color:#fff !important;
    box-shadow:0 7px 18px rgba(24,106,170,.2) !important;
}
button.global-ar-action:not(.dashboard-open-ar)::before {
    content:"◉";
    display:inline-block;
    margin-right:.42rem;
    color:#dff4ff;
    font-size:.9em;
}
button.global-ar-action:is(:hover,:focus-visible),
button[onclick*="startArMode"]:is(:hover,:focus-visible),
button[onclick*="renderArPreparation"]:is(:hover,:focus-visible) {
    filter:brightness(1.08);
}
@media (max-width:620px) {
    .web-context-beacon { position:sticky; top:6px; z-index:12; box-shadow:0 5px 15px rgba(23,66,91,.1); }
    .web-context-beacon.is-overview > small { display:none; }
}

/* Creator dashboard frame and the project print workspace. */
.project-entry,
body:has(.project-entry) #app {
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
}
.project-entry .dashboard-frame {
    position:relative;
    display:grid;
    gap:14px;
    min-width:0;
    max-width:100%;
    padding:clamp(12px,3vw,24px);
    overflow:hidden;
    border:1px solid rgba(43,78,52,.16);
    border-radius:7px;
    background:#fff;
    box-shadow:0 8px 22px rgba(43,78,52,.05);
}
.project-entry .dashboard-frame::before,
.project-entry .dashboard-frame::after {
    display:none;
}
.project-entry .dashboard-frame > * { position:relative; z-index:1; min-width:0; max-width:100%; }
.project-entry .dashboard-frame > .tutorial-spotlight-shield,
.project-entry .dashboard-frame > .tutorial-spotlight-callout { position:fixed; max-width:none; }
.project-entry .dashboard-frame > .tutorial-spotlight-shield { inset:0; z-index:10000; }
.project-entry .dashboard-frame > .tutorial-spotlight-callout { z-index:10002; }
.project-entry .dashboard-frame > .tutorial-spotlight-callout.tutorial-spotlight-projectTutorial { top:50%; bottom:auto; transform:translate(-50%,-50%); }
.project-entry .location-dashboard-header {
    gap:4px;
    padding:clamp(16px,4vw,28px) clamp(14px,4vw,30px);
    border:1px solid rgba(43,78,52,.16);
    border-radius:8px 20px 8px 20px;
    background:linear-gradient(145deg,#fbfdf9,#eef5eb);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 7px 14px rgba(43,78,52,.06);
}
.project-entry .dashboard-frame-kicker { margin:0; color:#365218; font-size:.62rem; font-weight:900; letter-spacing:.18em; }
.project-entry .location-dashboard-header h1 { margin:3px 0 0; color:#243b29; font-size:clamp(1.9rem,6vw,3rem); letter-spacing:.015em; }
.project-entry .location-tool-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-entry .location-tool-card { border-color:rgba(43,78,52,.16); background:rgba(249,252,247,.9); }
.project-entry .location-tool-card:nth-child(n+4) { background:rgba(239,246,236,.9); }
.project-entry .location-tool-card:hover,
.project-entry .location-tool-card:focus-visible { border-color:#4d8056; background:#f4faf1; }
.field-guide .analog-print-button { display:none !important; }
.field-guide .analog-print-footer { min-height:0; }

.print-center-screen,
.print-output-screen { gap:14px; }
.print-center-header,
.print-output-header { position:relative; }
.print-center-header h1,
.print-output-header h1 { margin:.25rem 0; color:#31563c; }
.print-center-section { display:grid; gap:12px; padding:15px; border:1px solid rgba(55,91,62,.16); border-radius:18px; background:rgba(250,252,246,.9); box-shadow:0 6px 16px rgba(35,68,41,.05); }
.print-center-section-heading { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.print-center-section-heading h2,
.print-center-card h3 { margin:0; color:#2f5038; }
.print-center-section-heading .welcome-label { margin:0 0 3px; }
.print-center-count { color:#68766c; font-size:.68rem; font-weight:750; white-space:nowrap; }
.print-center-card-grid,
.print-center-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.print-center-info-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.print-center-card { display:grid; align-content:start; gap:12px; padding:13px; border:1px solid rgba(62,99,68,.17); border-radius:15px; background:linear-gradient(145deg,#fffdf5,#eef5e8); }
.print-center-card p { margin:4px 0 0; color:#65736a; font-size:.72rem; line-height:1.4; }
.print-center-form-grid,
.print-center-custom-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.print-center-card label { display:grid; gap:4px; color:#536257; font-size:.66rem; font-weight:800; }
.print-center-card select,
.print-center-card input { min-height:38px; }
.print-center-action { display:grid; gap:3px; min-height:55px; padding:10px 12px; border:1px solid rgba(62,99,68,.22); border-radius:12px; background:#fff; color:#2f5038; text-align:left; }
.print-center-action strong { font-size:.76rem; }
.print-center-action span { color:#68766c; font-size:.66rem; line-height:1.3; }
.print-center-action.primary { border-color:#3973a2; background:#176fae; color:#fff; }
.print-center-action.primary span { color:rgba(255,255,255,.78); }
.print-center-footer { display:flex; justify-content:flex-start; padding-top:2px; }
.print-center-inline-action { margin-top:10px; min-height:38px; padding:8px 13px; border:1px solid rgba(47,109,66,.28); border-radius:10px; background:#f0f7eb; color:#2f6d42; font-weight:800; }
.print-output-header .print-sheet-action { margin-top:10px; min-height:40px; padding:8px 16px; border:1px solid #3973a2; border-radius:10px; background:#176fae; color:#fff; font-weight:850; }
.print-sheet { display:grid; gap:14px; }
.print-sheet-tags { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); align-items:start; }
.print-tag { display:grid; align-content:start; gap:6px; min-height:150px; padding:16px; overflow:hidden; border:1px solid #80613e; border-radius:6px 16px 6px 16px; background:#fffaf0; box-shadow:inset 0 0 0 3px rgba(177,135,79,.12); break-inside:avoid; }
.print-tag-index { color:#76502f; font-size:.58rem; font-weight:900; letter-spacing:.12em; }
.print-tag h2 { margin:8px 0 0; color:#3f3022; font-size:1.2rem; }
.print-tag p { margin:0; color:#66736a; font-size:.78rem; }
.print-tag small { color:#65736a; font-size:.67rem; }
.print-plant-tag-anchor { display:grid; grid-template-columns:58px minmax(0,1fr); align-items:center; gap:8px; margin-top:auto; padding-top:8px; border-top:1px solid rgba(128,97,62,.2); }
.print-plant-tag-anchor svg { display:block; width:58px; height:auto; }
.print-plant-tag-anchor small { color:#42624a; font-size:.55rem; font-weight:850; letter-spacing:.06em; }
.print-sheet-small .print-tag { min-height:110px; padding:11px; }
.print-sheet-small .print-tag h2 { font-size:.95rem; }
.print-sheet-large .print-tag { min-height:230px; padding:22px; }
.print-sheet-large .print-tag h2 { font-size:1.5rem; }
.totem-tag { border-color:var(--print-totem-color); background:linear-gradient(145deg,#fff,#edf5e8); }
.print-totem-mark { display:grid; place-items:center; width:38px; height:44px; border-radius:10px 10px 4px 4px; background:var(--print-totem-color); color:#fff; font-size:1.25rem; }
.print-plant-list { display:grid; gap:0; margin:0; padding-left:26px; }
.print-plant-list li { display:grid; gap:3px; padding:10px 8px; border-bottom:1px solid rgba(53,86,58,.15); }
.print-plant-list li span { color:#68766c; font-size:.75rem; }
.print-sheet-information { max-width:760px; }
.print-sheet-profiles { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
.print-profile-card { padding:16px; border:1px solid rgba(71,104,72,.2); border-radius:14px; background:#fbfcf6; break-inside:avoid; }
.print-profile-card h2 { margin:0; color:#31563c; font-size:1.15rem; }
.print-profile-scientific { margin:3px 0 12px; color:#6a786d; }
.print-profile-card dl { display:grid; gap:7px; margin:0; }
.print-profile-card dl > div { display:grid; grid-template-columns:78px 1fr; gap:8px; padding-top:6px; border-top:1px solid rgba(53,86,58,.12); }
.print-profile-card dt { color:#68766c; font-size:.66rem; font-weight:800; }
.print-profile-card dd { margin:0; color:#334b39; font-size:.73rem; }
@media print {
    .print-output-screen { padding:0; }
    .print-output-screen .print-output-header { display:none; }
    .print-output-screen .print-sheet { max-width:none; }
    .print-sheet-profiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
    .project-entry .location-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .print-center-card-grid,
    .print-center-info-grid,
    .print-sheet-profiles { grid-template-columns:1fr; }
    .print-center-section-heading { align-items:start; flex-direction:column; }
}

/* Web Hub quest styling: make the project feel like a living garden to explore. */
body:has(.field-guide-tool) {
    background:
        radial-gradient(circle at 8% 8%,rgba(216,185,99,.23),transparent 25rem),
        radial-gradient(circle at 96% 30%,rgba(111,173,126,.22),transparent 28rem),
        linear-gradient(135deg,#f7f0d9,#e7f0df 48%,#e4eef0);
}
.field-guide-tool {
    --quest-ink:#173b2c;
    --quest-deep:#235c42;
    --quest-green:#4f8b5e;
    --quest-gold:#d59d43;
    --quest-peach:#f5d5b1;
    --quest-blue:#d9edf0;
    gap:10px;
    color:var(--quest-ink);
}
.field-guide-tool .field-guide-header {
    position:relative;
    overflow:hidden;
    padding:24px 26px 26px;
    border:1px solid rgba(38,91,62,.22);
    border-radius:28px 10px 28px 10px;
    background:
        radial-gradient(circle at 88% 12%,rgba(255,255,255,.76),transparent 14rem),
        linear-gradient(145deg,#f8f5d9 0%,#dcebd2 52%,#cde6e6 100%);
    box-shadow:0 16px 34px rgba(44,79,52,.14),inset 0 1px rgba(255,255,255,.85);
}
.field-guide-tool .field-guide-header::before {
    position:absolute;
    right:-42px;
    bottom:-72px;
    width:220px;
    height:220px;
    border:1px solid rgba(47,108,73,.18);
    border-radius:52% 48% 60% 40%;
    background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 17px,rgba(54,112,73,.07) 18px 19px);
    content:"";
    transform:rotate(24deg);
    pointer-events:none;
}
.field-guide-tool .field-guide-header > * { position:relative; z-index:1; }
.field-guide-tool .field-guide-header .print-kicker {
    color:#7c6333;
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.16em;
}
.field-guide-tool .field-guide-header h1 {
    max-width:620px;
    margin:7px 0 0;
    color:var(--quest-ink);
    font-size:clamp(2rem,6vw,3.65rem);
    letter-spacing:-.045em;
    line-height:.95;
}
.field-guide-tool .field-guide-header-subtitle {
    max-width:520px;
    margin:10px 0 0;
    color:#426450;
    font-size:.9rem;
    line-height:1.45;
}
.field-guide-tool .field-guide-header > .ghost {
    border-color:rgba(35,92,66,.2);
    border-radius:999px;
    background:rgba(255,255,255,.48);
    color:var(--quest-deep);
}
.field-guide-tool .field-guide-essentials {
    position:relative;
    display:grid;
    grid-template-columns:minmax(145px,auto) minmax(0,1fr);
    align-items:center;
    gap:8px 14px;
    padding:10px 12px;
    overflow:hidden;
    border:1px solid rgba(38,91,62,.2);
    border-radius:15px 7px 15px 7px;
    background:linear-gradient(145deg,rgba(255,252,232,.96),rgba(219,239,215,.98));
    box-shadow:0 6px 14px rgba(58,96,54,.08);
}
.field-guide-tool .field-guide-essentials-heading { min-width:0; }
.field-guide-tool .field-guide-essentials-heading h2 {
    color:var(--quest-ink);
    font-size:clamp(1.05rem,2.5vw,1.3rem);
    letter-spacing:-.025em;
}
.field-guide-tool .field-guide-summary {
    min-width:0;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0;
    padding:0;
    border:0;
}
.field-guide-tool .field-guide-summary > span {
    position:relative;
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:4px;
    min-height:32px;
    padding:4px 7px;
    overflow:hidden;
    border:0;
    border-right:1px solid rgba(47,93,62,.16);
    border-radius:0;
    background:transparent;
    color:#527060;
    font-size:.66rem;
    font-weight:800;
    text-transform:uppercase;
}
.field-guide-tool .field-guide-summary > span:last-child { border-right:0; }
.field-guide-tool .field-guide-summary > span::before {
    display:inline-block;
    margin-right:0;
    font-size:.75rem;
    line-height:1;
}
.field-guide-tool .field-guide-summary > span:nth-child(1)::before { content:"🌱"; }
.field-guide-tool .field-guide-summary > span:nth-child(2)::before { content:"🌿"; }
.field-guide-tool .field-guide-summary > span:nth-child(3)::before { content:"⌖"; }
.field-guide-tool .field-guide-summary > span:nth-child(4)::before { content:"✨"; }
.field-guide-tool .field-guide-summary > span:nth-child(5)::before { content:"🔗"; }
.field-guide-tool .field-guide-summary > span strong { color:var(--quest-deep); font-size:1rem; line-height:1; }
.field-guide-tool .field-guide-summary .is-unassigned { background:transparent; }
.field-guide-tool .field-guide-creation-actions button {
    min-height:36px;
    padding:.35rem .55rem;
    border:1px solid rgba(51,107,69,.24);
    border-radius:10px 4px 10px 4px;
    background:#fffdf3;
    color:var(--quest-deep);
    box-shadow:0 3px 0 rgba(54,104,65,.08);
    font-size:.72rem;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.field-guide-tool .field-guide-creation-actions button::before { margin-right:4px; font-size:.85rem; }
.field-guide-tool .field-guide-creation-actions button:first-child::before { content:"🌱"; }
.field-guide-tool .field-guide-creation-actions button:last-child::before { content:"🗺️"; }
.field-guide-tool .field-guide-creation-actions button:hover,
.field-guide-tool .field-guide-creation-actions button:focus-visible { transform:translateY(-2px); background:#fff8dc; box-shadow:0 7px 0 rgba(54,104,65,.1); }
.field-guide-tool .field-guide-primary-actions {
    display:flex;
    justify-content:flex-end;
    margin-top:-4px;
    padding-top:0;
}
.field-guide-tool .field-guide-primary-actions .field-guide-creation-actions {
    display:flex;
    grid-template-columns:none;
    gap:6px;
    width:auto;
}
.field-guide-tool .field-guide-map-action {
    min-height:32px;
    padding:.25rem .7rem;
    border:1px solid #9a4d31;
    border-radius:10px 4px 10px 4px;
    background:linear-gradient(145deg,#d2683f,#a84430);
    box-shadow:0 3px 0 rgba(128,53,35,.16);
    font-size:.68rem;
}
.field-guide-tool .field-guide-map-action::before { margin-right:3px; font-size:.78rem; content:"🗺️"; }
.field-guide-tool .field-guide-areas-board,
.field-guide-tool .field-guide-plant-search {
    position:relative;
    gap:12px;
    padding:17px;
    border:1px solid rgba(54,105,69,.17);
    border-radius:23px 8px 23px 8px;
    background:rgba(255,255,250,.72);
    box-shadow:0 10px 24px rgba(46,87,55,.07);
}
.field-guide-tool .field-guide-areas-board::before,
.field-guide-tool .field-guide-plant-search::before {
    display:none;
    content:none;
}
.field-guide-tool .field-guide-section-heading h2 {
    color:var(--quest-ink);
    font-size:clamp(1.2rem,3.2vw,1.65rem);
    letter-spacing:-.025em;
}
.field-guide-tool .field-guide-section-heading p { color:#5d7767; }
.field-guide-tool .field-guide-area-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:11px; }
.field-guide-tool .field-guide-area-grid .field-guide-area-card {
    position:relative;
    min-height:96px;
    padding:12px;
    border:1px solid rgba(48,99,64,.18);
    border-radius:20px 7px 20px 7px;
    background:linear-gradient(145deg,#fffdf2,#e2f0dd);
    box-shadow:0 5px 0 rgba(49,100,62,.07),0 9px 17px rgba(49,100,62,.06);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.field-guide-tool .field-guide-area-grid .field-guide-area-card:nth-child(3n+2) { border-radius:7px 20px 7px 20px; background:linear-gradient(145deg,#fffaf0,#e3eef0); }
.field-guide-tool .field-guide-area-grid .field-guide-area-card:nth-child(3n) { background:linear-gradient(145deg,#fff8ea,#f3e6d1); }
.field-guide-tool .field-guide-area-grid .field-guide-area-card:hover,
.field-guide-tool .field-guide-area-grid .field-guide-area-card:focus-visible {
    border-color:var(--quest-gold);
    box-shadow:0 8px 0 rgba(197,143,52,.12),0 15px 24px rgba(49,100,62,.1);
    transform:translateY(-4px) rotate(-.4deg);
}
.field-guide-tool .field-guide-area-grid .field-guide-area-card.is-home-area {
    border-color:rgba(190,137,55,.38);
    background:linear-gradient(145deg,#fff3cf,#f3d69f);
}
.field-guide-tool .field-guide-area-icon {
    width:43px;
    height:43px;
    border:1px solid rgba(65,115,70,.15);
    border-radius:15px 5px 15px 5px;
    background:rgba(255,255,255,.62);
    font-size:1.35rem;
}
.field-guide-tool .field-guide-area-copy strong { color:var(--quest-ink); font-size:.9rem; }
.field-guide-tool .field-guide-area-copy small { color:#5d7767; }
.field-guide-tool .field-guide-area-copy small b { color:#2f754b; font-size:.86rem; }
.field-guide-tool .field-guide-area-totem { width:28px; height:35px; box-shadow:0 4px 8px color-mix(in srgb,var(--area-totem-color) 42%,transparent); }
.field-guide-tool .field-guide-search-deck {
    padding:12px;
    border:1px solid rgba(47,103,67,.2);
    border-radius:17px 6px 17px 6px;
    background:linear-gradient(145deg,#eef7e9,#e4f0ee);
    box-shadow:inset 0 1px rgba(255,255,255,.78);
}
.field-guide-tool .field-guide-search-deck label { color:var(--quest-deep); font-size:.72rem; }
.field-guide-tool .field-guide-search-deck input { min-height:46px; border:2px solid rgba(62,119,77,.22); border-radius:13px; background:#fffef8; box-shadow:inset 0 2px 4px rgba(52,90,55,.05); }
.field-guide-tool .field-guide-search-deck input:focus { border-color:var(--quest-gold); box-shadow:0 0 0 3px rgba(213,157,67,.18); }
.field-guide-tool .field-guide-global-search { padding-top:2px; }
.field-guide-tool .field-guide-plant-grid { gap:10px; }
.field-guide-tool .field-guide-plant-card {
    min-height:88px;
    border:1px solid rgba(54,105,69,.14);
    border-radius:17px 6px 17px 6px;
    background:linear-gradient(145deg,#fffef8,#e5f1e2);
    box-shadow:0 4px 0 rgba(49,100,62,.06);
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.field-guide-tool .field-guide-plant-card:hover,
.field-guide-tool .field-guide-plant-card:focus-visible { border-color:#6da276; box-shadow:0 7px 0 rgba(62,126,79,.1),0 10px 18px rgba(49,100,62,.08); transform:translateY(-3px); }
.field-guide-tool .field-guide-card-icon { width:39px; height:39px; border-radius:14px 5px 14px 5px; background:#d7ebc9; font-size:1.1rem; }
.field-guide-tool .field-guide-preparation {
    position:relative;
    margin:0;
    padding:17px;
    border:1px solid rgba(149,106,55,.2);
    border-radius:22px 8px 22px 8px;
    background:linear-gradient(145deg,#fff3df,#e7f1dd);
    box-shadow:0 10px 22px rgba(85,91,52,.08);
}
.field-guide-tool .field-guide-preparation::before {
    display:none;
    content:none;
}
.field-guide-tool .field-guide-preparation-grid button,
.field-guide-tool .field-guide-special-elements { min-height:78px; border:1px solid rgba(95,124,67,.2); border-radius:15px 5px 15px 5px; background:rgba(255,255,250,.84); box-shadow:0 4px 0 rgba(73,106,60,.06); }
.field-guide-tool .field-guide-preparation-grid button:hover,
.field-guide-tool .field-guide-special-elements:hover { border-color:#c28d42; background:#fff9e8; transform:translateY(-2px); }
.field-guide-tool .field-guide-anchor-readiness { background:rgba(214,236,232,.76); }
.field-guide-tool .field-guide-area-help summary { border-color:rgba(46,103,68,.32); background:#fff8df; color:#6b703e; }
.project-entry .latest-entries-section > summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0;
    cursor:pointer;
    list-style:none;
}
.project-entry .latest-entries-section > summary::-webkit-details-marker { display:none; }
.project-entry .latest-entries-section > summary h2 { margin:0; }
.project-entry .latest-entries-chevron { color:var(--leaf-deep); font-size:1.1rem; line-height:1; }
.project-entry .latest-entries-section[open] .latest-entries-chevron { transform:rotate(180deg); }
.project-entry .latest-entries-content { display:grid; gap:10px; min-width:0; max-width:100%; margin-top:12px; }
.project-entry .latest-entries-content .latest-entry-list { min-width:0; max-width:100%; gap:0; border-top:1px solid rgba(43,78,52,.13); }
.project-entry .latest-entries-content .latest-entry-row.change-entry-row {
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    min-height:0;
    padding:9px 0;
    overflow:hidden;
    border:0;
    border-bottom:1px solid rgba(43,78,52,.12);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--leaf-ink);
}
.project-entry .latest-entries-content .latest-entry-row.change-entry-row:hover,
.project-entry .latest-entries-content .latest-entry-row.change-entry-row:focus-visible { background:rgba(231,240,225,.34); box-shadow:none; transform:none; }
.project-entry .latest-entries-content .recent-record-line {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:2px 8px;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    white-space:normal;
    overflow-wrap:anywhere;
}
.project-entry .latest-entries-content .recent-record-line strong,
.project-entry .latest-entries-content .recent-record-line span,
.project-entry .latest-entries-content .recent-record-line small { min-width:0; overflow-wrap:anywhere; }
.project-entry .latest-entries-content .recent-record-line small { grid-column:1 / -1; display:block; }
.project-entry .latest-entries-content .view-all-entries { justify-self:start; min-height:32px; padding-inline:0; }
@media (max-width:700px) {
    .field-guide-tool .field-guide-header { padding:20px 18px 22px; }
    .field-guide-tool .field-guide-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .field-guide-tool .field-guide-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .field-guide-tool .field-guide-area-grid .field-guide-area-card { grid-template-columns:32px minmax(0,1fr) 22px; min-height:86px; gap:6px; padding:10px 8px; }
    .field-guide-tool .field-guide-area-icon { width:35px; height:35px; font-size:1.1rem; }
    .field-guide-tool .field-guide-area-totem { width:22px; height:30px; }
}
@media (max-width:420px) {
    .field-guide-tool .field-guide-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .field-guide-tool .field-guide-area-copy strong { font-size:.76rem; }
    .field-guide-tool .field-guide-area-copy small { font-size:.62rem; }
}

/* Welcome refresh: a filled launch board with a clear first decision. */
body:has(.intro-launch) {
    min-height:100svh;
    overflow-x:hidden;
    background:#eee9dc;
    background-image:linear-gradient(135deg,#f7f4ea 0%,#eee9dc 58%,#e1e1c8 100%);
}
body:has(.intro-launch)::before,
body:has(.intro-launch)::after,
.intro-launch::before { display:none; }
body:has(.intro-launch) #app {
    width:min(1180px,calc(100% - 28px));
    padding:18px 0 20px;
}
.intro-launch {
    max-width:none;
    min-height:calc(100svh - 38px);
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    grid-template-rows:auto minmax(0,1fr) auto;
    grid-template-areas:
        "heading heading"
        "hero choices"
        "utility utility";
    align-content:stretch;
    gap:14px;
}
.intro-launch .intro-heading {
    grid-area:heading;
    min-height:82px;
    align-items:flex-start;
    justify-content:center;
    padding:17px 24px;
    border:0;
    border-radius:15px;
    background:#173b2b;
    box-shadow:0 12px 28px rgba(48,61,31,.15);
    text-align:left;
}
.intro-launch .intro-heading > div { align-items:flex-start; }
.intro-launch .intro-heading h1 {
    color:#f7f7eb;
    font-size:clamp(2rem,4.5vw,2.8rem);
    letter-spacing:.045em;
    line-height:.9;
    text-shadow:none;
}
.intro-launch .intro-heading h1 span { color:#d9e77e; }
.intro-launch .intro-heading .subtitle {
    margin-top:7px;
    color:rgba(247,247,235,.76);
    font-size:.7rem;
    letter-spacing:.16em;
    text-align:left;
}
.intro-launch .welcome-version-badge {
    margin-top:7px;
    border:1px solid rgba(217,231,126,.55);
    background:#d9e77e;
    color:#173b2b;
    opacity:1;
}
.intro-launch .intro-copy {
    grid-area:hero;
    min-height:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:14px;
    padding:clamp(24px,3.2vw,38px);
    overflow:hidden;
    border:0;
    border-radius:22px 7px 22px 7px;
    background:linear-gradient(145deg,#dbe887 0%,#b5cc6c 55%,#6a8b59 100%);
    box-shadow:0 16px 34px rgba(48,61,31,.15);
}
.intro-launch .intro-copy::before {
    display:none;
    position:absolute;
    top:auto;
    right:-.02em;
    bottom:-.19em;
    width:auto;
    height:auto;
    border:0;
    border-radius:0;
    background:none;
    color:rgba(255,255,240,.28);
    font-size:clamp(8rem,18vw,15rem);
    font-weight:900;
    letter-spacing:-.12em;
    line-height:.8;
}
.intro-launch .intro-copy::after { display:none; }
.intro-launch .intro-copy h2 {
    max-width:100%;
    margin:0;
    color:#183323;
    font-size:clamp(2.5rem,5vw,4.55rem);
    font-weight:800;
    letter-spacing:-.065em;
    line-height:.87;
    text-align:left;
}
.intro-launch .intro-copy p {
    max-width:40ch;
    margin:0;
    color:#27422e;
    font-size:clamp(.92rem,1.45vw,1.08rem);
    font-weight:600;
    line-height:1.45;
}
.intro-launch .role-choice {
    grid-area:choices;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto repeat(2,minmax(0,1fr));
    gap:10px;
    align-content:stretch;
    padding:0;
}
.intro-launch .role-choice > h2 {
    grid-column:1 / -1;
    align-self:end;
    margin:0 0 1px;
    color:#28391e;
    font-size:clamp(1.1rem,2vw,1.45rem);
    font-weight:800;
    letter-spacing:-.03em;
}
.intro-launch .role-choice > h2::after { display:none; }
.intro-launch .role-grid,
.intro-launch .welcome-complementary-grid { display:contents; }
.intro-launch .role-card,
.intro-launch .role-card:nth-child(even),
.intro-launch .welcome-complementary-card,
.intro-launch .welcome-complementary-card:first-child,
.intro-launch .welcome-complementary-card:last-child {
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    gap:8px;
    padding:22px;
    overflow:hidden;
    border:0;
    border-radius:15px 5px 15px 5px;
    box-shadow:0 12px 24px rgba(48,61,31,.13);
    color:#fff;
}
.intro-launch .role-card:nth-child(even),
.intro-launch .welcome-complementary-card:last-child { border-radius:5px 15px 5px 15px; }
.intro-launch .creator-role { background:#1c5038; }
.intro-launch .role-card.visitor-role:nth-child(even) { background:#bf7048; }
.intro-launch .welcome-complementary-card:first-child { background:#718d52; }
.intro-launch .welcome-complementary-card:last-child { background:#34566a; }
.intro-launch .role-card::before { display:none; }
.intro-launch .role-card::after {
    top:16px;
    right:18px;
    width:auto;
    height:auto;
    border:0;
    border-radius:0;
    background:none;
    color:rgba(255,255,255,.54);
    font-size:1.35rem;
    font-weight:800;
}
.intro-launch .creator-role::after { content:"01"; }
.intro-launch .visitor-role::after { content:"02"; }
.intro-launch .welcome-complementary-card:first-child::after { content:"03"; }
.intro-launch .welcome-complementary-card:last-child::after { content:"04"; }
.intro-launch .role-card strong {
    position:relative;
    z-index:1;
    padding:0;
    color:#fff;
    font-size:clamp(1rem,2vw,1.35rem);
    line-height:1.05;
}
.intro-launch .role-card span,
.intro-launch .welcome-complementary-card > span,
.intro-launch .welcome-complementary-card:first-child > span,
.intro-launch .welcome-complementary-card:last-child > span {
    position:relative;
    z-index:1;
    color:rgba(255,255,255,.82);
    font-size:clamp(.72rem,1.15vw,.86rem);
    line-height:1.35;
}
.intro-launch .role-card:hover,
.intro-launch .welcome-complementary-card:hover {
    border-color:transparent;
    background:#234f37;
    box-shadow:0 18px 30px rgba(48,61,31,.22);
    transform:translateY(-3px);
}
.intro-launch .role-card.visitor-role:nth-child(even):hover { background:#aa5e3b; }
.intro-launch .welcome-complementary-card:first-child:hover { background:#617c47; }
.intro-launch .welcome-complementary-card:last-child:hover { background:#2c4b5e; }
.intro-launch .platform-landing-nav {
    grid-area:utility;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    width:100%;
}
.intro-launch .platform-landing-nav button {
    min-height:42px;
    border:1px solid rgba(35,65,39,.3);
    border-radius:9px;
    background:rgba(255,255,247,.72);
    color:#29432b;
    font-size:.78rem;
}
.intro-launch .collaboration-credit { display:none; }

@media (max-width:700px) {
    body:has(.intro-launch) #app {
        width:calc(100% - 16px);
        padding:8px 0 10px;
    }
    .intro-launch {
        min-height:calc(100svh - 18px);
        grid-template-columns:1fr;
        grid-template-rows:auto auto minmax(0,1fr) auto;
        grid-template-areas:"heading" "hero" "choices" "utility";
        gap:10px;
    }
    .intro-launch .intro-heading { min-height:70px; padding:13px 16px; border-radius:12px; }
    .intro-launch .intro-heading h1 { font-size:clamp(1.8rem,9vw,2.8rem); }
    .intro-launch .intro-heading .subtitle { margin-top:5px; font-size:.58rem; }
    .intro-launch .welcome-version-badge { margin-top:5px; padding:2px 7px; font-size:.54rem; }
    .intro-launch .intro-copy {
        min-height:205px;
        gap:15px;
        padding:22px 20px;
        border-radius:18px 5px 18px 5px;
    }
    .intro-launch .intro-copy h2 { max-width:8.5ch; font-size:clamp(2.3rem,11vw,3.5rem); }
    .intro-launch .intro-copy p { max-width:36ch; font-size:.76rem; line-height:1.35; }
    .intro-launch .role-choice { gap:7px; }
    .intro-launch .role-choice > h2 { font-size:1rem; }
    .intro-launch .role-card,
    .intro-launch .role-card:nth-child(even),
    .intro-launch .welcome-complementary-card,
    .intro-launch .welcome-complementary-card:first-child,
    .intro-launch .welcome-complementary-card:last-child {
        min-height:108px;
        padding:15px;
        border-radius:12px 4px 12px 4px;
    }
    .intro-launch .role-card:nth-child(even),
    .intro-launch .welcome-complementary-card:last-child { border-radius:4px 12px 4px 12px; }
    .intro-launch .role-card strong { font-size:.95rem; }
    .intro-launch .role-card span,
    .intro-launch .welcome-complementary-card > span { font-size:.67rem; line-height:1.25; }
    .intro-launch .role-card::after { top:11px; right:13px; font-size:1rem; }
    .intro-launch .platform-landing-nav { gap:7px; }
    .intro-launch .platform-landing-nav button { min-height:36px; padding:5px 8px; font-size:.68rem; }
}

@media (max-width:380px), (max-height:680px) {
    .intro-launch .intro-copy { min-height:180px; padding:18px 16px; }
    .intro-launch .intro-copy h2 { font-size:clamp(2rem,10vw,2.8rem); }
    .intro-launch .intro-copy p { font-size:.68rem; }
    .intro-launch .role-card,
    .intro-launch .role-card:nth-child(even),
    .intro-launch .welcome-complementary-card,
    .intro-launch .welcome-complementary-card:first-child,
    .intro-launch .welcome-complementary-card:last-child { min-height:94px; padding:12px; }
    .intro-launch .role-card strong { font-size:.86rem; }
    .intro-launch .role-card span,
    .intro-launch .welcome-complementary-card > span { font-size:.61rem; }
}

/* Shared Nourishland surface language: Web Hub colour, Dashboard restraint. */
:root {
    --nl-ink:#173b2c;
    --nl-deep:#235c42;
    --nl-green:#4f8b5e;
    --nl-gold:#d59d43;
    --nl-peach:#f5d5b1;
    --nl-blue:#d9edf0;
    --nl-cream:#f7f0d9;
    --nl-border:rgba(38,91,62,.2);
    --nl-shadow:0 12px 26px rgba(44,79,52,.1);
}
body:has(.intro-launch),
body:has(.creator-project-menu),
body:has(.project-entry) {
    background:
        radial-gradient(circle at 8% 8%,rgba(216,185,99,.2),transparent 25rem),
        radial-gradient(circle at 96% 30%,rgba(111,173,126,.18),transparent 28rem),
        linear-gradient(135deg,#f7f0d9,#e7f0df 48%,#e4eef0);
}

/* Welcome and project chooser use the same soft frame and palette as Web Hub. */
body:has(.intro-launch) #app,
body:has(.creator-project-menu) #app {
    color:var(--nl-ink);
}
.intro-launch .intro-heading,
.creator-project-menu .page-header {
    border:1px solid var(--nl-border);
    background:
        radial-gradient(circle at 88% 12%,rgba(255,255,255,.76),transparent 14rem),
        linear-gradient(145deg,#f8f5d9 0%,#dcebd2 52%,#cde6e6 100%);
    box-shadow:var(--nl-shadow),inset 0 1px rgba(255,255,255,.85);
}
.intro-launch .intro-heading h1,
.creator-project-menu .page-header h1 { color:var(--nl-ink); }
.intro-launch .intro-heading h1 span { color:var(--nl-deep); }
.intro-launch .intro-heading .subtitle,
.creator-project-menu .page-header .subtitle { color:#426450; }
.intro-launch .welcome-version-badge {
    border-color:rgba(213,157,67,.55);
    background:var(--nl-gold);
    color:#fffdf3;
}
.intro-launch .intro-copy {
    border:1px solid rgba(38,91,62,.2);
    background:linear-gradient(145deg,#f8f5d9 0%,#dcebd2 55%,#cde6e6 100%);
    box-shadow:var(--nl-shadow),inset 0 1px rgba(255,255,255,.82);
}
.intro-launch .intro-copy h2 { color:var(--nl-ink); }
.intro-launch .intro-copy p { color:#426450; }
.intro-launch .role-choice > h2 { color:var(--nl-ink); }
.intro-launch .creator-role { background:#2f754b; }
.intro-launch .role-card.visitor-role:nth-child(even) { background:#3973a2; }
.intro-launch .welcome-complementary-card:first-child { background:var(--nl-gold); }
.intro-launch .welcome-complementary-card:last-child { background:#b55c3f; }
.intro-launch .role-card strong { color:#fffdf3; }
.intro-launch .role-card span,
.intro-launch .welcome-complementary-card > span,
.intro-launch .welcome-complementary-card:first-child > span,
.intro-launch .welcome-complementary-card:last-child > span { color:rgba(255,253,243,.84); }
.intro-launch .role-card::after { color:rgba(255,253,243,.68); }
.intro-launch .role-card:hover,
.intro-launch .creator-role:hover { background:#235c42; }
.intro-launch .role-card.visitor-role:nth-child(even):hover { background:#2e638d; }
.intro-launch .welcome-complementary-card:first-child:hover { background:#bd8735; }
.intro-launch .welcome-complementary-card:last-child:hover { background:#974b37; }
.intro-launch .platform-landing-nav button {
    border-color:rgba(38,91,62,.22);
    background:rgba(255,253,243,.7);
    color:var(--nl-deep);
}

.creator-project-menu {
    gap:16px;
    color:var(--nl-ink);
}
.creator-project-menu .page-header {
    position:relative;
    overflow:hidden;
    padding:22px 25px 25px;
    border-radius:24px 9px 24px 9px;
}
.creator-project-menu .page-header::before {
    position:absolute;
    right:-36px;
    bottom:-75px;
    width:210px;
    height:210px;
    border:1px solid rgba(47,108,73,.16);
    border-radius:50%;
    background:repeating-radial-gradient(circle at 50% 50%,transparent 0 16px,rgba(54,112,73,.06) 17px 18px);
    content:"";
    pointer-events:none;
}
.creator-project-menu .page-header > * { position:relative; z-index:1; }
.creator-project-menu .page-header .ghost {
    width:max-content;
    margin-bottom:11px;
    padding:6px 11px;
    border:1px solid rgba(35,92,66,.2);
    border-radius:999px;
    background:rgba(255,255,255,.48);
    color:var(--nl-deep);
}
.creator-project-menu .page-header .welcome-label,
.creator-project-menu .project-section-title {
    color:#7c6333;
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.16em;
}
.creator-project-menu .page-header h1 {
    margin:7px 0 0;
    font-size:clamp(2.1rem,6vw,3.5rem);
    letter-spacing:-.045em;
    line-height:.95;
}
.creator-project-menu .page-header .subtitle {
    margin-top:10px;
    font-size:.9rem;
}
.creator-project-menu .project-section {
    gap:12px;
    margin:0;
    padding:18px;
    border:1px solid rgba(38,91,62,.18);
    border-radius:22px 8px 22px 8px;
    background:rgba(255,255,250,.72);
    box-shadow:var(--nl-shadow);
}
.creator-project-menu .project-selection-list {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:10px;
}
.creator-project-menu .project-selection-list .project-selection-row {
    position:relative;
    min-height:108px;
    align-items:flex-end;
    justify-content:flex-start;
    padding:19px;
    overflow:hidden;
    border:1px solid rgba(48,99,64,.18);
    border-radius:16px 6px 16px 6px;
    background:linear-gradient(145deg,#fffdf2,#e2f0dd);
    box-shadow:0 5px 0 rgba(49,100,62,.07),0 9px 17px rgba(49,100,62,.06);
    color:var(--nl-ink);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.creator-project-menu .project-selection-list .project-selection-row:nth-child(3n+2) {
    border-radius:6px 16px 6px 16px;
    background:linear-gradient(145deg,#fffaf0,#e3eef0);
}
.creator-project-menu .project-selection-list .project-selection-row:nth-child(3n) {
    background:linear-gradient(145deg,#fff8ea,#f3e6d1);
}
.creator-project-menu .project-selection-row::after {
    position:absolute;
    top:11px;
    right:16px;
    color:var(--nl-green);
    content:"↗";
    font-size:1.25rem;
    font-weight:800;
}
.creator-project-menu .project-selection-row strong {
    position:relative;
    z-index:1;
    color:var(--nl-ink);
    font-size:1.05rem;
}
.creator-project-menu .project-selection-row:hover,
.creator-project-menu .project-selection-row:focus-visible {
    border-color:var(--nl-gold);
    box-shadow:0 8px 0 rgba(197,143,52,.12),0 15px 24px rgba(49,100,62,.1);
    transform:translateY(-3px);
}
.creator-project-menu .project-selection-list .create-project-action {
    grid-column:1 / -1;
    min-height:62px;
    margin:1px 0 0;
    justify-content:center;
    border:1px solid var(--nl-deep);
    border-radius:12px 5px 12px 5px;
    background:var(--nl-deep);
    color:#fffdf3;
    box-shadow:0 5px 0 rgba(35,92,66,.18);
    text-align:center;
}
.creator-project-menu .project-selection-list .create-project-action::before {
    margin-right:7px;
    color:#f4d27e;
    content:"+";
    font-size:1.25rem;
    font-weight:500;
}
.creator-project-menu .project-selection-list .create-project-action strong { color:#fffdf3; }
.creator-project-menu .project-selection-list .create-project-action:hover,
.creator-project-menu .project-selection-list .create-project-action:focus-visible { background:#174631; }
.creator-project-menu .screen > .bottom-navigation,
.creator-project-menu > .bottom-navigation { margin-top:0; }

/* Keep Dashboard's clean frame, but let its surrounding surface belong to the same world. */
.project-entry .dashboard-frame {
    border-color:rgba(38,91,62,.18);
    background:#fffdf8;
    box-shadow:0 10px 26px rgba(44,79,52,.08);
}
.project-entry .location-dashboard-header {
    border-color:rgba(38,91,62,.18);
    background:linear-gradient(145deg,#f8f5d9 0%,#dcebd2 52%,#cde6e6 100%);
    box-shadow:inset 0 1px rgba(255,255,255,.84),0 8px 16px rgba(44,79,52,.07);
}
.project-entry .dashboard-frame-kicker { color:#7c6333; }
.project-entry .location-dashboard-header h1,
.project-entry .dashboard-open-ar { background:#3973a2; border-color:#3973a2; }
.project-entry .dashboard-field-guide { border-color:rgba(38,91,62,.2); background:#fff8df; color:var(--nl-deep); }
.project-entry .dashboard-field-guide:hover,
.project-entry .dashboard-field-guide:focus-visible { border-color:var(--nl-gold); background:#fff2c9; }

/* One AR control language across Dashboard, Area, Plant Profile and Web Hub. */
.dashboard-ar-path {
    grid-template-columns: repeat(2, 104px);
    justify-content: center;
    max-width: none;
    margin-inline: auto;
    align-items: stretch;
}
.dashboard-open-ar,
.dashboard-field-guide {
    width: 100%;
    max-width: none;
    min-height: 104px;
    box-sizing: border-box;
}
button.global-ar-action,
button.global-ar-action:hover,
button.global-ar-action:focus-visible,
button.ar-square-action,
button.ar-square-action:hover,
button.ar-square-action:focus-visible,
button.dashboard-open-ar,
button.dashboard-open-ar:hover,
button.dashboard-open-ar:focus-visible,
button.area-go-ar-compact,
button.area-go-ar-compact:hover,
button.area-go-ar-compact:focus-visible,
button.plant-profile-ar-button,
button.plant-profile-ar-button:hover,
button.plant-profile-ar-button:focus-visible,
button.ar-portal,
button.ar-portal:hover,
button.ar-portal:focus-visible {
    display: grid !important;
    place-items: center;
    box-sizing: border-box;
    flex: 0 0 104px;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px;
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px;
    padding: 0 !important;
    border-radius: 4px !important;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
}
button.global-ar-action::before,
button.global-ar-action:not(.dashboard-open-ar)::before,
button.ar-square-action::before { display: none !important; }
.dashboard-open-ar strong { justify-self: center; font-size: 1rem; }
.dashboard-field-guide { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; align-content: center; text-align: left; }
.dashboard-field-guide { width: 104px; max-width: 104px; min-height: 104px; padding: 8px !important; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 4px; text-align: center; }
.dashboard-field-guide > span { grid-row: auto; }

/* The dashboard title must stay text, never inherit the AR button surface. */
.project-entry .location-dashboard-header h1 { background: transparent !important; border-color: transparent !important; color: #111 !important; }

/* Compact, circular information controls retain the button reset's dimensions. */
.project-layout-info,
.plant-profile-info-bubble,
.pim-web-direction-info {
    box-sizing: border-box;
    display: inline-grid;
    place-items: center;
    width: 24px;
    min-width: 24px;
    height: 24px;
    min-height: 24px;
    max-height: 24px;
    padding: 0;
    border-radius: 50%;
    border-color: rgba(174, 133, 30, .55);
    background: #fff3b6;
    color: #7b5d13;
    font-size: .72rem;
    font-weight: 850;
    line-height: 1;
    cursor: pointer;
}
.project-layout-info:hover,
.project-layout-info:focus-visible,
.project-layout-info[aria-expanded="true"],
.plant-profile-info-bubble:hover,
.plant-profile-info-bubble:focus-visible,
.plant-profile-info-bubble[aria-expanded="true"],
.pim-web-direction-info:hover,
.pim-web-direction-info:focus-visible,
.pim-web-direction-info[aria-expanded="true"] { border-color: #9c7413; background: #ffe78a; color: #634a0e; }
.global-info-overlay { position:fixed; left:50%; bottom:max(14px,env(safe-area-inset-bottom)); z-index:15000; display:grid; gap:9px; width:min(calc(100vw - 24px),520px); max-height:min(46vh,360px); box-sizing:border-box; overflow:auto; padding:14px 16px 16px; transform:translateX(-50%); border:1px solid rgba(174,133,30,.5); border-radius:18px; background:rgba(255,253,240,.98); color:#2c4b35; box-shadow:0 16px 38px rgba(29,67,43,.24); animation:global-info-overlay-in .2s ease-out both; }
.global-info-overlay > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.global-info-overlay > header strong { color:#6f5414; font-size:.76rem; letter-spacing:.04em; text-transform:uppercase; }
.global-info-overlay-body { color:#526257; font-size:.78rem; line-height:1.45; }
.global-info-overlay-close { min-height:34px; padding:6px 11px; border:1px solid rgba(174,133,30,.46); border-radius:10px; background:#fff3b6; color:#634a0e; font-size:.7rem; font-weight:850; }
.global-info-overlay-close:hover, .global-info-overlay-close:focus-visible { border-color:#9c7413; background:#ffe78a; }
@keyframes global-info-overlay-in { from { opacity:0; transform:translate(-50%,10px); } to { opacity:1; transform:translate(-50%,0); } }
.plant-spm-toggle-line { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.plant-spm-toggle-label { display:flex; align-items:center; gap:10px; min-width:0; cursor:pointer; }
.plant-spm-toggle-label > strong { color:#234e31; font-size:.84rem; letter-spacing:.05em; }
.plant-spm-toggle-label > input { flex:0 0 auto; width:20px; height:20px; margin:0; accent-color:#4c7c39; }
.plant-spm-help { margin: 0 !important; color: #5c674f !important; font-size: .78rem !important; }

/* Keep the Area description control on one readable line. */
.area-overview-heading { flex-wrap: nowrap; }
.area-overview-heading > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Plant Profile has one calm, aligned action row: Save / Back / Delete. */
.plant-profile-action-row { position: sticky; bottom: 10px; z-index: 18; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 8px; padding: 8px; border: 1px solid rgba(62, 91, 69, 0.2); border-radius: 14px; background: rgba(255, 255, 252, 0.94); box-shadow: 0 -8px 22px rgba(43, 66, 48, 0.12); backdrop-filter: blur(10px); }
.plant-profile-action-row > button { width: 100%; min-width: 0; min-height: 48px; height: 48px; padding: 8px 10px; }
.plant-profile-action-row > .primary { background: #365218; border-color: #365218; color: #fff; }
.plant-profile-action-row > .project-entry-back-button { background: #fff3b6; border-color: #c89e2e; color: #684f12; }
.plant-profile-action-row > .danger { background: #9a3d35; border-color: #9a3d35; color: #fff; }

/* Global Plant Information Mesh: one connected, directional honeycomb in
   Try It Now, Creator AR and every responsive fallback. */
.tryit-sim-plant-profile,
.creator-ar-plant-profile {
    width: min(calc(100vw - 24px), 960px);
    height: min(62dvh, 620px);
    box-sizing: border-box;
    min-width: 0;
    animation-duration: 1.15s;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: auto;
}
.creator-ar-quest-headset .creator-ar-plant-profile {
    display: none !important;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] {
    --pim-cell-size: clamp(76px, 14vw, 132px);
    --pim-cell-height: calc(var(--pim-cell-size) * .8660254);
    --pim-render-cell-size: calc(var(--pim-cell-size) * var(--pim-mesh-scale, 1));
    --pim-render-cell-height: calc(var(--pim-cell-height) * var(--pim-mesh-scale, 1));
    position: relative;
    isolation: isolate;
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-connections {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-connection {
    fill: none;
    stroke: hsl(var(--pim-connection-hue,112) 58% 82% / 1);
    stroke-width: 1.75px;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
    opacity: var(--pim-connection-opacity, .36);
    vector-effect: non-scaling-stroke;
    transition: opacity 180ms ease;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-connection.is-active {
    --pim-connection-opacity: .65;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-connection.is-opening {
    animation: pim-connection-open 260ms cubic-bezier(.2,.72,.3,1) both;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-connection.is-closing {
    animation: pim-connection-close 260ms ease-out both;
}
@keyframes pim-connection-open {
    from { stroke-dashoffset: 1; opacity: 0; }
    to { stroke-dashoffset: 0; opacity: var(--pim-connection-opacity, .36); }
}
@keyframes pim-connection-close {
    from { stroke-dashoffset: 0; opacity: var(--pim-connection-opacity, .36); }
    to { stroke-dashoffset: 1; opacity: 0; }
}
.plant-knowledge-map[data-pim-layout="honeycomb"].is-fractal-focus {
    --pim-cell-size: clamp(82px, 18vw, 180px);
}
.plant-knowledge-map[data-pim-layout="honeycomb"]::before,
.plant-knowledge-map[data-pim-layout="honeycomb"]::after {
    display: none;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core {
    position: absolute;
    z-index: 5;
    left: var(--pim-core-x, 50%);
    top: var(--pim-core-y, 50%);
    display: grid;
    place-items: center;
    align-content: center;
    width: var(--pim-render-cell-size);
    height: var(--pim-render-cell-height);
    min-height: 0;
    padding: clamp(6px, calc(var(--pim-render-cell-size) * .14), 13px);
    transform: translate(-50%, -50%);
    overflow: hidden;
    border: 1px solid rgba(137, 165, 213, .72) !important;
    border-radius: 0;
    clip-path: polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
    background: rgba(39, 58, 92, .48) !important;
    color: #fff !important;
    box-shadow: none;
    filter: drop-shadow(0 5px 11px rgba(0,0,0,.22));
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,.98), 0 0 6px rgba(0,0,0,.9);
    pointer-events: auto;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core::before,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core::after {
    display: none;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core strong {
    display: block;
    max-width: 78%;
    color: #fff;
    font-size: clamp(.8rem, 2.4vw, 1.18rem);
    font-weight: 650;
    line-height: 1.14;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core-copy,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell-copy {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 58%;
    max-width: 58%;
    height: 50%;
    max-height: 50%;
    min-width: 0;
    min-height: 0;
    overflow: visible;
    text-align: center;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core-copy {
    display: grid;
    place-items: center;
    height: 100%;
    max-height: 100%;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(2px, calc(var(--pim-text-cell-size) * .018), 5px);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core-copy strong,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell-copy b,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell-copy small {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-align: center;
    text-wrap: balance;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell-copy b {
    flex: 0 1 auto;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell-copy small {
    display: block;
    max-height: none;
    overflow: visible;
    -webkit-line-clamp: unset;
    white-space: normal;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core i {
    display: -webkit-box;
    max-width: 78%;
    margin-top: 5px;
    overflow: hidden;
    color: rgba(245,248,255,.9);
    font-size: clamp(.62rem, 1.7vw, .8rem);
    font-style: normal;
    line-height: 1.18;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow-wrap: normal;
    word-break: normal;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell {
    --pim-text-cell-size: var(--pim-render-cell-size);
    position: absolute;
    z-index: 3;
    left: var(--pim-node-x, 50%);
    top: var(--pim-node-y, 50%);
    display: grid;
    place-items: center;
    align-content: center;
    gap: 4px;
    width: var(--pim-render-cell-size);
    height: var(--pim-render-cell-height);
    min-width: 0;
    min-height: 0;
    padding: 6px;
    transform: translate(-50%, -50%);
    transform-origin: center;
    overflow: hidden;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: none !important;
    background: transparent !important;
    color: #fff !important;
    filter: none;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,.98), 0 0 7px rgba(0,0,0,.94);
    transition: filter 180ms ease;
    pointer-events: auto;
    touch-action: none;
    user-select: none;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell::before,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell::after {
    content: "";
    position: absolute;
    z-index: -2;
    clip-path: polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
    pointer-events: none;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell::before {
    inset: 0;
    background: hsl(var(--pim-hue,112) 58% 82% / .86);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell::after {
    inset: 2px;
    z-index: -1;
    background: hsl(var(--pim-hue,112) 31% 19% / .14);
    backdrop-filter: blur(3px);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-press-fill {
    position: absolute;
    z-index: 0 !important;
    inset: 2px;
    display: block;
    clip-path: polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
    background: hsl(var(--pim-hue,112) 62% 65% / .72);
    opacity: 0;
    transform: scale(var(--pim-press-progress, 0));
    transform-origin: center;
    pointer-events: none;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell.is-pressing .plant-knowledge-press-fill {
    opacity: 1;
    transition: none;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell.is-press-draining .plant-knowledge-press-fill {
    opacity: 1;
    transition: transform .12s ease-out, opacity .12s ease-out;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell.is-press-complete .plant-knowledge-press-fill {
    opacity: .82;
    transform: scale(1);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell > * {
    position: relative;
    z-index: 2;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell > .plant-knowledge-press-fill {
    z-index: 0 !important;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell b {
    display: block;
    max-width: 100%;
    color: #fff;
    font-size: clamp(10px, calc(var(--pim-text-cell-size) * .14), 1rem);
    font-weight: 650;
    letter-spacing: 0;
    line-height: 1.12;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell small {
    display: block;
    max-width: 100%;
    max-height: none;
    overflow: visible;
    color: #fff;
    font-size: clamp(8px, calc(var(--pim-text-cell-size) * .092), .76rem);
    font-weight: 500;
    line-height: 1.2;
    opacity: .78;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell.is-detail-visible small {
    max-height: none;
    opacity: 1;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-child-depth-2 small,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-child-depth-3 small {
    opacity: .72;
}
.plant-knowledge-map[data-pim-layout="honeycomb"][data-pim-density="compact"] .plant-knowledge-cell,
.plant-knowledge-map[data-pim-layout="honeycomb"][data-pim-density="compact"] .plant-knowledge-core {
    gap: 0;
    padding: 1px;
}
.plant-knowledge-map[data-pim-layout="honeycomb"][data-pim-density="compact"] .plant-knowledge-cell b,
.plant-knowledge-map[data-pim-layout="honeycomb"][data-pim-density="compact"] .plant-knowledge-core strong {
    width: 100%;
    max-width: 100%;
    font-size: clamp(9.5px, calc(var(--pim-text-cell-size) * .135), 11px);
    letter-spacing: -.35px;
    line-height: 1.02;
    overflow-wrap: anywhere;
    text-wrap: wrap;
}
.plant-knowledge-map[data-pim-layout="honeycomb"][data-pim-density="compact"] .plant-knowledge-cell small {
    display: block;
    max-height: none;
    font-size: clamp(8px, calc(var(--pim-text-cell-size) * .09), 10px);
}
.plant-knowledge-map[data-pim-layout="honeycomb"][data-pim-density="compact"] .plant-knowledge-cell small[aria-hidden="true"] {
    display: none;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell.is-open {
    z-index: 6;
    filter: drop-shadow(0 0 9px hsl(var(--pim-hue,112) 72% 67% / .3));
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell.is-selected {
    z-index: 7;
    filter: drop-shadow(0 0 14px hsl(var(--pim-hue,112) 78% 72% / .68));
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell.is-selected::before {
    background: hsl(var(--pim-hue,112) 65% 84% / .9);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell.is-selected::after {
    background: hsl(var(--pim-hue,112) 34% 23% / .24);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell:focus-visible {
    z-index: 8;
    outline: 2px solid hsl(var(--pim-hue,112) 78% 82% / .9);
    outline-offset: 3px;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-child,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-child-depth-2,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-child-depth-3 {
    --pim-text-cell-size: calc(var(--pim-render-cell-size) * .7);
    width: calc(var(--pim-render-cell-size) * .7);
    height: calc(var(--pim-render-cell-height) * .7);
    animation: pim-honeycomb-grow 220ms cubic-bezier(.2,.72,.3,1) both;
    animation-delay: calc(var(--pim-child-index, 0) * 40ms);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-child {
    animation: pim-cell-fade-in 220ms ease-out both;
    animation-delay: calc(var(--pim-child-index, 0) * 40ms);
}
.tryit-sim-marker-plant.has-information,
.creator-ar-marker-hit-target-plant.is-info-open {
    z-index: 2;
    opacity: 1;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-back {
    top: 4px;
    max-width: 72%;
}
@keyframes pim-honeycomb-grow {
    from { opacity: 0; transform: translate(-50%,-50%) scale(.85); }
    to { opacity: 1; transform: translate(-50%,-50%) scale(1); }
}
@keyframes pim-cell-fade-in {
    from { opacity: 0; transform: translate(-50%,-50%) scale(.97); }
    to { opacity: 1; transform: translate(-50%,-50%) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-connection {
        animation: none;
        transition: none;
    }
    .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell,
    .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-child {
        animation: none;
        transition: none;
    }
}
@media (max-width: 430px) {
    .plant-knowledge-map[data-pim-layout="honeycomb"] { --pim-cell-size: clamp(84px, 25vw, 108px); }
    .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell b,
    .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core strong { font-size: max(11px, calc(var(--pim-text-cell-size) * .135)); }
    .plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell small { font-size: max(8px, calc(var(--pim-text-cell-size) * .09)); }
}

/* Shared PIM typography: the title is a shallow header and quick information
   sits in the middle of the printed hexagon. Keep both renderer modes flat. */
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell {
    display: block;
    padding: 0 8%;
    text-shadow: 0 1px 1px rgba(0,0,0,.58);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell b,
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell small {
    position: absolute;
    left: 8%;
    width: 84%;
    margin: 0;
    transform: translateY(-50%);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell b {
    top: 27%;
    max-width: 84%;
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-cell small {
    top: 61%;
    max-width: 84%;
    text-shadow: 0 1px 1px rgba(0,0,0,.42);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core {
    text-shadow: 0 1px 1px rgba(0,0,0,.58);
}
.plant-knowledge-map[data-pim-layout="honeycomb"] .plant-knowledge-core strong { text-shadow: none; }
.plant-print-action { min-height: 36px; margin-top: 8px; }

@media (max-width:620px) {
    .creator-project-menu .project-selection-list { grid-template-columns:1fr; }
    .creator-project-menu .project-selection-list .project-selection-row { min-height:88px; }
}

/* Welcome typography: keep the palette and layout, but give the brand and hero
   statement a little more breathing room on phone and desktop. */
.intro-launch .intro-heading h1 {
    font-size:clamp(1.55rem,4.2vw,2.45rem);
    letter-spacing:.015em;
}
.intro-launch .intro-heading h1 span {
    margin-left:.12em;
    font-size:.62em;
}
.intro-launch .intro-copy h2 {
    font-size:clamp(1.8rem,4.6vw,4.1rem);
}

/* Demo copy should arrive like a calm guide, not a flashing status message. */
.tryit-guided-choice.is-welcome-board.is-entering {
    animation-duration:1.9s;
}
.tryit-guided-choice.is-welcome-board.is-entering > small,
.tryit-guided-choice.is-welcome-board.is-entering > h2 {
    animation-duration:1.7s;
}
.tryit-guided-choice.is-typing p.is-current::after,
.tryit-guided-choice.is-typing .tryit-board-text-window p:only-child::after {
    content:"…";
    color:rgba(220,239,149,.72);
    animation-duration:2.2s;
}

/* Demo guidance is deliberately readable at a distance. Keep the large
   instruction surface and the live PIM controls legible on both phone and
   headset views. */
.tryit-demo { font-size:1.08rem; }
.tryit-demo .tryit-guided-choice h2 { font-size:clamp(1.35rem,3.8vw,1.9rem); }
.tryit-demo .tryit-guided-choice p { font-size:clamp(1rem,2.4vw,1.18rem); line-height:1.5; }
.tryit-demo .tryit-guided-choice.is-welcome-board > small { font-size:.82rem; }
.tryit-demo .tryit-guided-choice.is-welcome-board h2 { font-size:clamp(1.8rem,5vw,3.25rem); }
.tryit-demo .tryit-guided-choice.is-welcome-board p { font-size:clamp(1.25rem,min(3.8vw,3.2vh),1.85rem); line-height:1.42; }
.tryit-demo .tryit-demo-taskbar button { min-width:0; min-height:48px; padding:8px 12px; overflow:hidden; background:linear-gradient(90deg,rgba(220,239,149,.32) 0 var(--hold-progress,0%),rgba(22,39,27,.84) var(--hold-progress,0%) 100%); font-size:.78rem; text-overflow:clip; }
.tryit-demo .tryit-demo-taskbar .tryit-intro-continue { background:rgba(44,78,56,.9); }
.tryit-demo .tryit-demo-taskbar button.is-holding { border-color:rgba(220,239,149,.82); color:#fff; }
.tryit-demo .tryit-demo-taskbar button.is-hold-complete { border-color:#dcef95; color:#fff; box-shadow:inset 0 -2px #dcef95,0 4px 16px rgba(192,230,151,.22); }
.tryit-demo-footer[hidden] { display:none; }
.tryit-demo:is([data-demo-tutorial-step="pim"],[data-demo-tutorial-step="live-tag"]) .tryit-guided-choice.is-welcome-board.is-persistent-demo-board {
    top:max(8px,env(safe-area-inset-top));
    bottom:auto !important;
    grid-template-rows:auto auto minmax(0,1fr);
    align-content:start;
    gap:6px;
    width:min(calc(100vw - 24px),620px);
    height:auto;
    min-height:0;
    max-height:min(18dvh,132px);
    padding:12px 15px;
    overflow:hidden;
    border-radius:16px;
}
.tryit-demo:is([data-demo-tutorial-step="pim"],[data-demo-tutorial-step="live-tag"]) .tryit-guided-choice.is-welcome-board > small { font-size:.62rem; }
.tryit-demo:is([data-demo-tutorial-step="pim"],[data-demo-tutorial-step="live-tag"]) .tryit-guided-choice.is-welcome-board h2 { font-size:clamp(1rem,4.8vw,1.35rem); }
.tryit-demo:is([data-demo-tutorial-step="pim"],[data-demo-tutorial-step="live-tag"]) .tryit-guided-choice.is-welcome-board .tryit-board-text-window { gap:4px; padding-top:6px; overflow:hidden; }
.tryit-demo:is([data-demo-tutorial-step="pim"],[data-demo-tutorial-step="live-tag"]) .tryit-guided-choice.is-welcome-board p { font-size:clamp(.74rem,3.4vw,.92rem); line-height:1.3; }
.tryit-guided-choice.is-welcome-board .tryit-board-text-window {
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-right:4px;
}
.tryit-demo.is-simulated .tryit-guided-choice.is-welcome-board.is-persistent-demo-board {
    top:clamp(12px,10vh,72px);
    bottom:auto !important;
    width:min(calc(100vw - 28px),560px);
    height:min(42dvh,320px);
    min-height:0;
    max-height:calc(100dvh - 150px);
    padding:20px 22px;
    transform:translateX(-50%);
    overflow:hidden;
    border-radius:24px 20px 28px 18px;
}
.tryit-demo.is-simulated .tryit-guided-choice.is-welcome-board.is-persistent-demo-board p {
    font-size:clamp(.98rem,3.6vw,1.18rem);
    line-height:1.45;
}
@media (max-width:420px) {
    .tryit-demo-footer { width:min(calc(100vw - 20px),360px); }
    .tryit-demo .tryit-demo-taskbar button { font-size:.68rem; padding-inline:7px; }
}
.tryit-demo .tryit-demo-taskbar button:focus-visible { outline:2px solid #dcef95; outline-offset:2px; }
/* Web Hub redesign -------------------------------------------------------
   The creator Web Hub has its own composition so the visitor Field Guide,
   project dashboard and AR surfaces keep their existing visual contracts. */
body:has(.field-guide-hub-redesign) {
    overflow-x: hidden;
    background: #f5f3eb;
    color: #23382a;
}

.field-guide-hub-redesign,
.field-guide-hub-redesign * {
    box-sizing: border-box;
    min-width: 0;
}

.field-guide-hub-redesign {
    --webhub-ink: #23382a;
    --webhub-muted: #66766a;
    --webhub-green: #2e7046;
    --webhub-green-deep: #225b39;
    --webhub-green-soft: #e6f1e4;
    --webhub-line: rgba(45, 88, 56, .16);
    --webhub-surface: rgba(255, 255, 252, .9);
    width: calc(100% + 32px);
    max-width: 1192px;
    margin: 0 -16px;
    padding: 0 16px calc(36px + env(safe-area-inset-bottom));
    gap: 0;
    background: transparent;
}

.field-guide-hub-redesign .field-guide-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 112px;
    padding: max(16px, env(safe-area-inset-top)) 0 15px;
    overflow: hidden;
    border: 0;
    border-bottom: 1px solid rgba(47, 91, 57, .12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.field-guide-hub-redesign .field-guide-header::before {
    content: "";
    position: absolute;
    inset: 0 -20px 0 34%;
    z-index: 0;
    background: radial-gradient(circle at 65% 45%, rgba(137, 181, 105, .16), transparent 38%), repeating-linear-gradient(148deg, transparent 0 37px, rgba(83, 132, 85, .08) 38px 39px, transparent 40px 72px);
    opacity: .75;
    pointer-events: none;
}

.field-guide-hub-redesign .field-guide-header > * {
    position: relative;
    z-index: 1;
}

.field-guide-hub-redesign .field-guide-header > div {
    flex: 1 1 auto;
    min-width: 0;
}

.field-guide-hub-redesign .field-guide-header .print-kicker,
.field-guide-hub-redesign .field-guide-section-kicker {
    margin: 0 0 5px;
    color: var(--webhub-muted);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.field-guide-hub-redesign .field-guide-header .print-kicker {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}

.field-guide-hub-redesign .field-guide-header h1 {
    margin: 0;
    color: var(--webhub-ink);
    font-size: clamp(1.8rem, 7vw, 2.15rem);
    letter-spacing: -.035em;
    line-height: 1.04;
}

.field-guide-hub-redesign .field-guide-map-action,
.field-guide-hub-redesign .field-guide-header .field-guide-map-action {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border: 1px solid rgba(46, 112, 70, .25);
    border-radius: 14px;
    background: rgba(255, 255, 252, .78);
    color: var(--webhub-green-deep);
    box-shadow: 0 4px 12px rgba(43, 82, 51, .08);
}

.field-guide-hub-redesign .field-guide-map-action:hover,
.field-guide-hub-redesign .field-guide-map-action:focus-visible {
    border-color: var(--webhub-green);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(46, 112, 70, .12);
}

.field-guide-hub-redesign .field-guide-map-action::before { content: none !important; }

.field-guide-hub-redesign .webhub-icon {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.field-guide-hub-redesign .field-guide-workspace {
    display: grid;
    gap: 26px;
    padding-top: 24px;
}

.field-guide-hub-redesign > .field-guide-dashboard-nav {
    --v2-line: rgba(45, 88, 56, .16);
    margin-top: 12px;
}

.location-map-screen.nlxr-db-v2 .location-map-workspace-heading {
    padding: 4px 0 0;
}

.location-map-screen.nlxr-db-v2 .location-map-workspace-heading h2 {
    margin: 0;
    color: var(--v2-ink);
    font-size: clamp(1.35rem, 4vw, 1.8rem);
}

.field-guide-hub-redesign .field-guide-essentials,
.field-guide-hub-redesign .field-guide-primary-actions,
.field-guide-hub-redesign .field-guide-content-create,
.field-guide-hub-redesign .field-guide-areas-board,
.field-guide-hub-redesign .field-guide-plant-search,
.field-guide-hub-redesign .field-guide-spatial-setup,
.field-guide-hub-redesign .field-guide-secondary-tools,
.field-guide-hub-redesign .field-guide-virtual-tags {
    width: 100%;
    min-width: 0;
}

.field-guide-hub-redesign .field-guide-essentials {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
    padding: 16px;
    border: 1px solid var(--webhub-line);
    border-radius: 16px;
    background: var(--webhub-surface);
    box-shadow: 0 8px 22px rgba(42, 76, 47, .05);
}

.field-guide-hub-redesign .field-guide-content-create {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 2px 0;
}

.field-guide-content-create-heading {
    min-width: 0;
}

.field-guide-content-create-heading h2 {
    margin: 0;
    color: var(--webhub-muted);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.field-guide-hub-redesign .field-guide-content-create .field-guide-creation-actions {
    display: flex;
    flex: 0 0 auto;
    width: auto;
    gap: 6px;
}

.field-guide-hub-redesign .field-guide-content-create .field-guide-creation-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    min-height: 34px;
    padding: 6px 9px;
    border: 1px solid rgba(46, 112, 70, .22);
    border-radius: 9px;
    background: transparent;
    color: var(--webhub-green-deep);
    box-shadow: none;
    font-size: .72rem;
    font-weight: 800;
    text-align: center;
}

.field-guide-hub-redesign .field-guide-content-create .field-guide-creation-actions button:last-child {
    border-color: rgba(46, 112, 70, .22);
    background: transparent;
    color: var(--webhub-green-deep);
}

.field-guide-hub-redesign .field-guide-content-create .field-guide-creation-actions button:hover,
.field-guide-hub-redesign .field-guide-content-create .field-guide-creation-actions button:focus-visible {
    background: rgba(46, 112, 70, .07);
    box-shadow: 0 0 0 3px rgba(46, 112, 70, .08);
}

.field-guide-content-create .field-guide-creation-action-icon {
    display: inline;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    font-size: .9rem;
    line-height: 1;
}

.field-guide-hub-redesign .field-guide-content-create .field-guide-creation-actions button strong {
    font-size: inherit;
    line-height: 1;
}

.field-guide-hub-redesign .field-guide-content-create .field-guide-creation-actions button small {
    display: none;
}

/* Keep the compact action row from turning into a full-width card on phones. */
@media (max-width: 480px) {
    .field-guide-hub-redesign .field-guide-content-create {
        align-items: center;
    }
    .field-guide-hub-redesign .field-guide-content-create .field-guide-creation-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}

.field-guide-hub-redesign .field-guide-essentials-heading,
.field-guide-hub-redesign .field-guide-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
}

.field-guide-hub-redesign .field-guide-essentials-heading h2,
.field-guide-hub-redesign .field-guide-section-heading h2 {
    margin: 0;
    color: var(--webhub-ink);
    font-size: clamp(1.28rem, 5vw, 1.48rem);
    letter-spacing: -.02em;
    line-height: 1.12;
}

.field-guide-hub-redesign .field-guide-project-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px;
    margin: 0;
    color: var(--webhub-muted);
    font-size: .92rem;
}

.field-guide-hub-redesign .field-guide-project-summary strong {
    color: var(--webhub-green-deep);
    font-size: 1.08rem;
}

.field-guide-hub-redesign .field-guide-primary-actions {
    display: block;
    width: 100%;
    margin-top: -12px;
}

.field-guide-hub-redesign .field-guide-creation-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
}

.field-guide-hub-redesign .field-guide-primary-actions .field-guide-creation-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
}

.field-guide-hub-redesign .field-guide-creation-actions button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--webhub-green);
    border-radius: 14px;
    background: var(--webhub-green);
    color: #fff;
    font-size: .86rem;
    font-weight: 850;
    text-align: center;
    box-shadow: 0 6px 14px rgba(46, 112, 70, .14);
}

.field-guide-hub-redesign .field-guide-creation-actions button:last-child {
    border-color: rgba(46, 112, 70, .34);
    background: rgba(255, 255, 252, .8);
    color: var(--webhub-green-deep);
    box-shadow: none;
}

.field-guide-hub-redesign .field-guide-creation-actions button::before { content: none !important; }
.field-guide-hub-redesign .field-guide-creation-actions .webhub-icon { width: 18px; height: 18px; }
.field-guide-hub-redesign .field-guide-creation-actions button:last-child .webhub-icon { color: var(--webhub-green); }

.field-guide-hub-redesign .field-guide-areas-board,
.field-guide-hub-redesign .field-guide-plant-search,
.field-guide-hub-redesign .field-guide-spatial-setup,
.field-guide-hub-redesign .field-guide-secondary-tools {
    display: grid;
    gap: 12px;
}

.field-guide-hub-redesign .field-guide-section-intro,
.field-guide-hub-redesign .field-guide-section-heading p:not(.field-guide-section-kicker) {
    margin: 0;
    color: var(--webhub-muted);
    font-size: .78rem;
    line-height: 1.45;
}

.field-guide-hub-redesign .field-guide-section-heading > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.field-guide-hub-redesign .field-guide-view-all,
.field-guide-hub-redesign .field-guide-manage-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 5px;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid rgba(46, 112, 70, .24);
    border-radius: 12px;
    background: rgba(255, 255, 252, .72);
    color: var(--webhub-green-deep);
    font-size: .75rem;
    font-weight: 850;
    white-space: nowrap;
}

.field-guide-hub-redesign .field-guide-manage-link .webhub-icon { width: 15px; height: 15px; }
.field-guide-hub-redesign .field-guide-view-all:hover,
.field-guide-hub-redesign .field-guide-view-all:focus-visible,
.field-guide-hub-redesign .field-guide-manage-link:hover,
.field-guide-hub-redesign .field-guide-manage-link:focus-visible { border-color: var(--webhub-green); background: #fff; }

.field-guide-hub-redesign .field-guide-area-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin: 0;
}

.field-guide-hub-redesign .field-guide-area-grid .field-guide-area-card {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 20px;
    align-items: center;
    width: 100%;
    min-height: 70px;
    gap: 11px;
    padding: 12px 13px;
    overflow: hidden;
    border: 1px solid var(--webhub-line);
    border-radius: 14px;
    background: var(--webhub-surface);
    color: var(--webhub-ink);
    text-align: left;
    box-shadow: 0 4px 12px rgba(42, 76, 47, .04);
}

.field-guide-hub-redesign .field-guide-area-grid .field-guide-area-card:hover,
.field-guide-hub-redesign .field-guide-area-grid .field-guide-area-card:focus-visible {
    border-color: rgba(46, 112, 70, .45);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(46, 112, 70, .1);
}

.field-guide-hub-redesign .field-guide-area-grid .field-guide-area-card.is-home-area { background: #f1f7ed; }
.field-guide-hub-redesign .field-guide-area-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: var(--webhub-green-soft); font-size: 1.08rem; }
.field-guide-hub-redesign .field-guide-area-copy { display: grid; min-width: 0; gap: 4px; }
.field-guide-hub-redesign .field-guide-area-copy strong { overflow-wrap: anywhere; color: var(--webhub-ink); font-size: .95rem; line-height: 1.2; }
.field-guide-hub-redesign .field-guide-area-copy small { overflow-wrap: anywhere; color: var(--webhub-muted); font-size: .78rem; line-height: 1.3; white-space: normal; }
.field-guide-hub-redesign .field-guide-area-copy small b { color: var(--webhub-green-deep); font-size: .86rem; }
.field-guide-hub-redesign .field-guide-area-arrow { display: grid; place-items: center; color: var(--webhub-green); }
.field-guide-hub-redesign .field-guide-area-arrow .webhub-icon { width: 17px; height: 17px; }

.field-guide-hub-redesign .field-guide-plant-search > .field-guide-section-heading { align-items: flex-end; flex-wrap: wrap; }
.field-guide-hub-redesign .field-guide-plant-search { padding: 16px; border: 1px solid var(--webhub-line); border-radius: 16px; background: linear-gradient(145deg, rgba(255,255,252,.98), rgba(241,248,237,.78)); box-shadow: 0 8px 22px rgba(42, 76, 47, .05); }
.field-guide-hub-redesign .field-guide-plant-search-heading { align-items: center; }
.field-guide-hub-redesign .field-guide-search-badge { flex: 0 0 auto; padding: 6px 8px; border: 1px solid rgba(55, 119, 185, .22); border-radius: 999px; background: #eaf4ff; color: #356b9b; font-size: .6rem; font-weight: 850; letter-spacing: .08em; white-space: nowrap; }
.field-guide-hub-redesign .field-guide-search-deck { display: grid; gap: 10px; padding: 11px; border: 1px solid rgba(55, 119, 185, .18); border-radius: 14px; background: rgba(237, 247, 255, .62); }
.field-guide-hub-redesign .field-guide-search-deck .field { display: grid; gap: 6px; }
.field-guide-hub-redesign .field-guide-search-deck label { color: var(--webhub-muted); font-size: .72rem; font-weight: 800; }
.field-guide-hub-redesign .field-guide-search-input { position: relative; display: flex; align-items: center; }
.field-guide-hub-redesign .field-guide-search-input > span { position: absolute; left: 13px; z-index: 1; color: #237cc9; font-size: 1.35rem; line-height: 1; pointer-events: none; }
.field-guide-hub-redesign .field-guide-search-deck input,
.field-guide-hub-redesign .field-guide-search-deck select { width: 100%; min-height: 46px; border: 1px solid rgba(45, 88, 56, .22); border-radius: 12px; background: #fff; color: var(--webhub-ink); font-size: 1rem; }
.field-guide-hub-redesign .field-guide-search-input input { padding-left: 40px; border-color: rgba(35, 124, 201, .3); box-shadow: 0 2px 7px rgba(35, 124, 201, .06); }
.field-guide-hub-redesign .field-guide-search-deck input:focus,
.field-guide-hub-redesign .field-guide-search-deck select:focus { border-color: var(--webhub-green); box-shadow: 0 0 0 3px rgba(46, 112, 70, .12); outline: 0; }
.field-guide-hub-redesign .field-guide-search-input input:focus { border-color: #237cc9; box-shadow: 0 0 0 3px rgba(35, 124, 201, .13); }
.field-guide-hub-redesign .field-guide-plant-search-field > small { color: var(--webhub-muted); font-size: .68rem; line-height: 1.3; }
.field-guide-hub-redesign .field-guide-plant-search > #fieldGuideCount { margin: 0; color: var(--webhub-muted); font-size: .78rem; }

.field-guide-hub-redesign .field-guide-global-match-legend {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    width: 100%;
    margin: 10px 0 0;
    padding: 0;
    border: 0;
}
.field-guide-hub-redesign .field-guide-global-match-legend > legend {
    grid-column: 1 / -1;
    margin: 0 0 1px;
    padding: 0;
    color: var(--webhub-muted);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.field-guide-hub-redesign .field-guide-global-legend-option {
    display: grid;
    grid-template-columns: 16px 10px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    min-width: 0;
    min-height: 42px;
    margin: 0;
    padding: 7px 8px;
    border: 1px solid transparent;
    border-radius: 11px;
    cursor: pointer;
    font-weight: 400;
}
.field-guide-hub-redesign .field-guide-global-legend-option:hover,
.field-guide-hub-redesign .field-guide-global-legend-option:focus-within { border-color: rgba(45, 88, 56, .18); }
.field-guide-hub-redesign .field-guide-global-legend-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--webhub-green); }
.field-guide-hub-redesign .field-guide-global-legend-swatch { width: 10px; height: 10px; border-radius: 50%; }
.field-guide-hub-redesign .field-guide-global-legend-option > span:last-child { display: grid; min-width: 0; gap: 1px; }
.field-guide-hub-redesign .field-guide-global-legend-option strong,
.field-guide-hub-redesign .field-guide-global-legend-option small { overflow-wrap: anywhere; }
.field-guide-hub-redesign .field-guide-global-legend-option strong { color: var(--webhub-ink); font-size: .72rem; line-height: 1.1; }
.field-guide-hub-redesign .field-guide-global-legend-option small { color: var(--webhub-muted); font-size: .65rem; line-height: 1.15; }
.field-guide-hub-redesign .field-guide-global-legend-local { background: #e4f0ff; color: #2c5f95; }
.field-guide-hub-redesign .field-guide-global-legend-exact { background: #e3f3e2; color: #28613b; }
.field-guide-hub-redesign .field-guide-global-legend-related { background: #fff3c9; color: #81631c; }
.field-guide-hub-redesign .field-guide-global-legend-caution { background: #ffe5dc; color: #9a4939; }
.field-guide-hub-redesign .field-guide-global-legend-local .field-guide-global-legend-swatch { background: #4f91d8; }
.field-guide-hub-redesign .field-guide-global-legend-exact .field-guide-global-legend-swatch { background: #4b9c61; }
.field-guide-hub-redesign .field-guide-global-legend-related .field-guide-global-legend-swatch { background: #c69a20; }
.field-guide-hub-redesign .field-guide-global-legend-caution .field-guide-global-legend-swatch { background: #c95f4c; }

.field-guide-hub-redesign .field-guide-all-plants {
    margin-top: 10px;
    border: 1px solid var(--webhub-line);
    border-radius: 15px;
    background: rgba(255, 255, 252, .68);
    overflow: hidden;
}
.field-guide-hub-redesign .field-guide-all-plants > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 52px;
    padding: 9px 12px;
    cursor: pointer;
    list-style: none;
}
.field-guide-hub-redesign .field-guide-all-plants > summary::-webkit-details-marker { display: none; }
.field-guide-hub-redesign .field-guide-all-plants > summary::after { content: '＋'; color: var(--webhub-green); font-size: 1rem; font-weight: 500; }
.field-guide-hub-redesign .field-guide-all-plants[open] > summary::after { content: '−'; }
.field-guide-hub-redesign .field-guide-all-plants > summary:focus-visible { outline: 3px solid rgba(46, 112, 70, .16); outline-offset: -3px; }
.field-guide-hub-redesign .field-guide-all-plants-heading { display: grid; min-width: 0; gap: 2px; }
.field-guide-hub-redesign .field-guide-all-plants-heading strong { color: var(--webhub-ink); font-size: .88rem; }
.field-guide-hub-redesign .field-guide-all-plants-heading small,
.field-guide-hub-redesign .field-guide-all-plants-count { color: var(--webhub-muted); font-size: .7rem; }
.field-guide-hub-redesign .field-guide-all-plants-count { flex: 0 0 auto; }
.field-guide-hub-redesign .field-guide-all-plants > .field-guide-plant-grid { padding: 0 10px 10px; }
.field-guide-hub-redesign [data-field-guide-plant][hidden],
.field-guide-hub-redesign .field-guide-global-results [data-field-guide-search-tone][hidden] { display: none !important; }

.field-guide-hub-redesign .field-guide-global-search { padding: 0; }
.field-guide-hub-redesign .field-guide-global-search > .meta { margin: 0; color: var(--webhub-muted); font-size: .78rem; }

.field-guide-hub-redesign .field-guide-plant-grid[hidden],
.field-guide-hub-redesign .field-guide-global-search[hidden] { display: none !important; }
.field-guide-hub-redesign .field-guide-plant-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.field-guide-hub-redesign .field-guide-plant-card { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; width: 100%; min-height: 66px; gap: 10px; padding: 10px 11px; border: 1px solid rgba(55, 119, 185, .3); border-radius: 13px; background: linear-gradient(145deg, #f1f7ff, #fff); color: var(--webhub-ink); text-align: left; }
.field-guide-hub-redesign .field-guide-plant-card:hover,
.field-guide-hub-redesign .field-guide-plant-card:focus-visible { border-color: rgba(55, 119, 185, .55); background: #f7fbff; box-shadow: 0 0 0 3px rgba(55, 119, 185, .12); }
.field-guide-hub-redesign .field-guide-card-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: var(--webhub-green-soft); font-size: 1.05rem; }
.field-guide-hub-redesign .field-guide-plant-card > span:last-child { display: grid; min-width: 0; gap: 3px; }
.field-guide-hub-redesign .field-guide-plant-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.field-guide-hub-redesign .field-guide-plant-card strong,
.field-guide-hub-redesign .field-guide-plant-card small { overflow-wrap: anywhere; }
.field-guide-hub-redesign .field-guide-plant-card strong { font-size: .9rem; }
.field-guide-hub-redesign .field-guide-plant-card small { color: var(--webhub-muted); font-size: .75rem; line-height: 1.25; }
.field-guide-hub-redesign .field-guide-plant-capability { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 4px; padding: 3px 6px; border: 1px solid rgba(45, 88, 56, .14); border-radius: 999px; color: var(--webhub-muted); font-size: .61rem; font-weight: 850; line-height: 1; white-space: nowrap; }
.field-guide-hub-redesign .field-guide-plant-capability > span { font-size: .58rem; }
.field-guide-hub-redesign .field-guide-plant-capability--basic { background: #f1f3f0; }
.field-guide-hub-redesign .field-guide-plant-capability--advanced { background: #f5f0ff; color: #67518c; }
.field-guide-hub-redesign .field-guide-plant-capability--pim { background: #e7f5ec; color: #28613b; }

.field-guide-hub-redesign .field-guide-global-result {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    grid-template-rows: minmax(0, 1fr);
    align-items: center;
    min-height: 68px;
    padding: 10px 11px;
    gap: 10px;
}
.field-guide-hub-redesign .field-guide-global-result img,
.field-guide-hub-redesign .field-guide-global-result-placeholder { width: 44px; height: 44px; }
.field-guide-hub-redesign .field-guide-global-result > button {
    grid-column: auto;
    width: auto;
    min-width: max-content;
    min-height: 44px;
    padding: 8px 9px;
    white-space: nowrap;
}
.field-guide-hub-redesign .field-guide-global-result > span:nth-child(2) { gap: 2px; }
.field-guide-hub-redesign .field-guide-global-result strong,
.field-guide-hub-redesign .field-guide-global-result em,
.field-guide-hub-redesign .field-guide-global-result small { overflow-wrap: anywhere; white-space: normal; }
.field-guide-hub-redesign .field-guide-global-result .field-guide-global-commercial { color: var(--webhub-green-deep); font-weight: 750; }
.field-guide-hub-redesign .field-guide-global-source-link { width: fit-content; max-width: 100%; overflow-wrap: anywhere; color: var(--webhub-green-deep); font-size: .68rem; text-decoration: underline; }

.field-guide-hub-redesign .field-guide-spatial-setup {
    padding: 16px;
    border: 1px solid var(--webhub-line);
    border-radius: 16px;
    background: rgba(239, 247, 237, .72);
}

.field-guide-hub-redesign .field-guide-spatial-summary { display: flex; flex-wrap: wrap; gap: 8px 13px; color: var(--webhub-muted); font-size: .76rem; }
.field-guide-hub-redesign .field-guide-spatial-summary span { display: inline-flex; align-items: center; gap: 5px; }
.field-guide-hub-redesign .field-guide-spatial-summary .webhub-icon { width: 14px; height: 14px; color: var(--webhub-green); }
.field-guide-hub-redesign .field-guide-spatial-summary strong { color: var(--webhub-green-deep); }
.field-guide-hub-redesign .field-guide-spatial-list { display: grid; gap: 8px; }
.field-guide-hub-redesign .field-guide-spatial-row { width: 100%; overflow: hidden; border: 1px solid rgba(45, 88, 56, .14); border-radius: 13px; background: rgba(255, 255, 252, .82); }
.field-guide-hub-redesign .field-guide-spatial-row > summary,
.field-guide-hub-redesign .field-guide-spatial-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; min-height: 64px; gap: 10px; padding: 10px 12px; color: var(--webhub-ink); text-align: left; }
.field-guide-hub-redesign .field-guide-spatial-row > summary { cursor: pointer; list-style: none; }
.field-guide-hub-redesign .field-guide-spatial-row > summary::-webkit-details-marker { display: none; }
.field-guide-hub-redesign .field-guide-spatial-row > span:nth-child(2) { display: grid; min-width: 0; gap: 3px; }
.field-guide-hub-redesign .field-guide-spatial-row strong { font-size: .86rem; }
.field-guide-hub-redesign .field-guide-spatial-row small { color: var(--webhub-muted); font-size: .74rem; line-height: 1.3; }
.field-guide-hub-redesign .field-guide-spatial-row > b { color: var(--webhub-green-deep); font-size: .7rem; font-weight: 850; }
.field-guide-hub-redesign .field-guide-spatial-row-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--webhub-green-soft); color: var(--webhub-green-deep); }
.field-guide-hub-redesign .field-guide-spatial-row-icon .webhub-icon { width: 17px; height: 17px; }
.field-guide-hub-redesign .field-guide-spatial-row > div { grid-column: 1 / -1; padding: 0 0 2px 40px; }
.field-guide-hub-redesign .field-guide-element-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.field-guide-hub-redesign .field-guide-element-chip { display: inline-flex; align-items: center; gap: 4px; padding: 6px 8px; border-radius: 999px; background: var(--webhub-green-soft); color: var(--webhub-green-deep); font-size: .7rem; }
.field-guide-hub-redesign .field-guide-totem-list,
.field-guide-hub-redesign .field-guide-anchored-list { display: grid; gap: 6px; }
.field-guide-hub-redesign .field-guide-totem-list .field-guide-totem-card,
.field-guide-hub-redesign .field-guide-anchored-list button { width: 100%; min-height: 48px; padding: 8px 10px; border: 1px solid rgba(45, 88, 56, .12); border-radius: 10px; background: #fff; color: var(--webhub-ink); text-align: left; }
.field-guide-hub-redesign .field-guide-totem-list .field-guide-totem-card { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; }
.field-guide-hub-redesign .field-guide-totem-list .field-guide-totem-card > span:last-child { display: grid; min-width: 0; gap: 3px; }
.field-guide-hub-redesign .field-guide-totem-list .field-guide-totem-card small { overflow-wrap: anywhere; }
.field-guide-hub-redesign .field-guide-anchored-list button { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.field-guide-hub-redesign .field-guide-anchored-list button > span { display: grid; min-width: 0; gap: 3px; }
.field-guide-hub-redesign .field-guide-anchored-list button small { overflow-wrap: anywhere; }

.field-guide-hub-redesign .field-guide-secondary-tools { padding-top: 2px; }
.field-guide-hub-redesign .field-guide-secondary-tool-list { display: grid; gap: 8px; }
.field-guide-hub-redesign .field-guide-secondary-tool-list > button,
.field-guide-hub-redesign .field-guide-secondary-tool-list > details { display: grid; gap: 4px; min-height: 58px; padding: 12px 13px; border: 1px solid var(--webhub-line); border-radius: 13px; background: rgba(255, 255, 252, .72); color: var(--webhub-ink); text-align: left; }
.field-guide-hub-redesign .field-guide-secondary-tool-list > button span,
.field-guide-hub-redesign .field-guide-secondary-tool-list > details summary span { color: var(--webhub-muted); font-size: .76rem; }
.field-guide-hub-redesign .field-guide-secondary-tool-list > details > summary { display: flex; justify-content: space-between; gap: 10px; cursor: pointer; list-style: none; }
.field-guide-hub-redesign .field-guide-secondary-tool-list > details > summary::-webkit-details-marker { display: none; }
.field-guide-hub-redesign .field-guide-secondary-tool-list .field-guide-special-copy { color: var(--webhub-muted); font-size: .76rem; line-height: 1.4; }
.field-guide-hub-redesign .field-guide-secondary-tool-list .field-guide-special-copy p { margin: 8px 0; }
.field-guide-hub-redesign .field-guide-secondary-tool-list .field-guide-special-copy ul { margin: 0; padding-left: 18px; }
.field-guide-hub-redesign .field-guide-virtual-tags { margin-top: 0; }
.field-guide-hub-redesign .field-guide-area-help { justify-self: start; }
.field-guide-hub-redesign .field-guide-redesign-footer { display: flex; justify-content: flex-start; width: 100%; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--webhub-line); }
.field-guide-hub-redesign .field-guide-redesign-footer .analog-navigation { min-height: 44px; }

/* Global plant import: compact, two-step dedicated workspace. */
.field-guide-import-view,
.field-guide-global-setup { box-sizing: border-box; min-width: 0; }
.field-guide-import-progress { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; color: var(--webhub-muted, #66766a); font-size: .68rem; font-weight: 800; }
.field-guide-import-progress span { padding: 5px 8px; border: 1px solid rgba(46, 112, 70, .14); border-radius: 999px; background: rgba(255, 255, 252, .72); }
.field-guide-import-progress span.is-active { border-color: rgba(46, 112, 70, .28); background: #e8f2e4; color: #28613b; }
.field-guide-import-step { margin: -4px 0 0; color: var(--webhub-muted, #66766a); font-size: .72rem; }
.field-guide-import-identity { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 11px; align-items: center; min-width: 0; padding: 12px; border: 1px solid rgba(46, 112, 70, .14); border-radius: 14px; background: rgba(255, 255, 252, .78); }
.field-guide-import-thumbnail { display: grid; place-items: center; width: 52px; height: 52px; overflow: hidden; border-radius: 12px; background: #e7f0e3; color: #39764a; font-size: 1.45rem; }
.field-guide-import-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.field-guide-import-identity > span:last-child { display: grid; min-width: 0; gap: 3px; }
.field-guide-import-identity strong { overflow-wrap: anywhere; color: var(--webhub-ink, #23382a); font-size: .98rem; line-height: 1.2; }
.field-guide-import-identity em { overflow-wrap: anywhere; color: var(--webhub-muted, #66766a); font-size: .75rem; }
.field-guide-import-identity small { color: var(--webhub-muted, #66766a); font-size: .68rem; line-height: 1.3; }
.field-guide-import-view .field-guide-global-profile-heading { display: block; }
.field-guide-import-view .field-guide-global-profile-heading h3 { font-size: 1.35rem; }
.field-guide-import-view .field-guide-global-profile-heading p { margin: 5px 0 0; color: var(--webhub-muted, #66766a); font-size: .78rem; line-height: 1.4; }
.field-guide-import-view .field-guide-global-profile-extract { padding: 0; border: 0; background: transparent; }
.field-guide-import-view .field-guide-extract-heading { align-items: center; }
.field-guide-import-view .field-guide-extract-heading h4 { font-size: .95rem; }
.field-guide-import-view .field-guide-extract-heading p { max-width: 520px; }
.field-guide-fact-groups { display: grid; gap: 10px; }
.field-guide-fact-group { display: grid; gap: 5px; min-width: 0; }
.field-guide-fact-group h4 { margin: 0; color: var(--webhub-green-deep, #28613b); font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }
.field-guide-fact-group > div { display: grid; gap: 5px; }
.field-guide-import-view .field-guide-extract-row { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; align-items: start; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid var(--webhub-line, rgba(45, 88, 56, .16)); border-radius: 11px; background: #fff; }
.field-guide-import-view .field-guide-extract-row input[type="checkbox"] { width: 22px !important; min-width: 22px !important; max-width: 22px !important; height: 22px; min-height: 22px; max-height: 22px; margin: 1px 0 0; }
.field-guide-import-view .field-guide-extract-row > span { display: grid; min-width: 0; gap: 2px; }
.field-guide-import-view .field-guide-extract-row strong { color: var(--webhub-ink, #23382a); font-size: .8rem; line-height: 1.25; }
.field-guide-import-view .field-guide-extract-row small { overflow-wrap: anywhere; color: var(--webhub-muted, #66766a); font-size: .72rem; line-height: 1.35; }
.field-guide-recommended { color: #39764a; font-size: .64rem; font-style: normal; font-weight: 850; }
.field-guide-fact-value { min-width: 0; color: var(--webhub-muted, #66766a); font-size: .72rem; }
.field-guide-fact-value summary { overflow-wrap: anywhere; cursor: pointer; }
.field-guide-fact-value span { display: block; margin-top: 3px; overflow-wrap: anywhere; line-height: 1.35; }
.field-guide-technical-source { border-top: 1px solid var(--webhub-line, rgba(45, 88, 56, .16)); }
.field-guide-technical-source > summary { min-height: 44px; padding: 12px 0; cursor: pointer; color: var(--webhub-green-deep, #28613b); font-size: .76rem; font-weight: 850; list-style: none; }
.field-guide-technical-source > summary::-webkit-details-marker { display: none; }
.field-guide-technical-source > summary::after { content: '⌄'; float: right; }
.field-guide-technical-source[open] > summary::after { transform: rotate(180deg); }
.field-guide-technical-source p { color: var(--webhub-muted, #66766a); font-size: .7rem; }
.field-guide-technical-source dl { display: grid; gap: 5px; margin: 0 0 8px; }
.field-guide-technical-source dl div { display: grid; grid-template-columns: minmax(0, .45fr) minmax(0, 1fr); gap: 8px; padding: 6px 0; border-top: 1px solid rgba(45, 88, 56, .09); }
.field-guide-technical-source dt,.field-guide-technical-source dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: .68rem; }
.field-guide-technical-source dt { color: var(--webhub-muted, #66766a); }
.field-guide-technical-source dd { color: var(--webhub-ink, #23382a); }
.field-guide-import-actions { position: sticky; bottom: 0; z-index: 2; display: flex; justify-content: space-between; gap: 10px; min-height: 58px; margin: 4px -1px -1px; padding: 10px 0 0; border-top: 1px solid var(--webhub-line, rgba(45, 88, 56, .16)); background: linear-gradient(180deg, rgba(255, 253, 244, 0), rgba(255, 253, 244, .98) 28%); }
.field-guide-import-actions button { min-width: 88px; min-height: 44px; }
.field-guide-allocation-group { min-width: 0; }
.field-guide-allocation-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.field-guide-allocation-group-heading > div { display: grid; min-width: 0; gap: 3px; }
.field-guide-allocation-group-heading h4 { overflow-wrap: anywhere; }
.field-guide-allocation-group-heading span { color: var(--webhub-muted, #66766a); font-size: .68rem; }
.field-guide-allocation-group-heading label { display: grid; flex: 0 1 180px; gap: 3px; min-width: 120px; color: var(--webhub-muted, #66766a); font-size: .62rem; font-weight: 850; }
.field-guide-allocation-group-heading select { width: 100%; min-height: 38px; padding: 6px 8px; border: 1px solid rgba(45, 88, 56, .22); border-radius: 9px; background: #fff; color: var(--webhub-ink, #23382a); font-size: .72rem; }
.field-guide-import-view .field-guide-allocation-row { grid-template-columns: minmax(0, 1fr) auto auto; min-width: 0; min-height: 54px; padding: 8px 10px; }
.field-guide-import-view .field-guide-allocation-fact { min-width: 0; }
.field-guide-import-view .field-guide-allocation-fact strong { overflow-wrap: anywhere; white-space: normal; }
.field-guide-import-view .field-guide-allocation-fact small { overflow-wrap: anywhere; white-space: normal; }
.field-guide-allocation-options { position: relative; }
.field-guide-allocation-options summary { min-height: 32px; padding: 7px 8px; border: 1px solid rgba(45, 88, 56, .16); border-radius: 8px; cursor: pointer; color: var(--webhub-green-deep, #28613b); font-size: .68rem; font-weight: 800; list-style: none; }
.field-guide-allocation-options summary::-webkit-details-marker { display: none; }
.field-guide-allocation-options[open] { min-width: 140px; }
.field-guide-allocation-options label { display: grid; gap: 3px; margin-top: 5px; color: var(--webhub-muted, #66766a); font-size: .62rem; }
.field-guide-allocation-options select { min-height: 34px; padding: 5px; border: 1px solid rgba(45, 88, 56, .2); border-radius: 8px; background: #fff; color: var(--webhub-ink, #23382a); font-size: .68rem; }
.field-guide-import-view [data-global-remove-fact] { min-height: 36px; padding: 6px 8px; color: #7a594d; font-size: .66rem; }
.field-guide-global-setup { display: grid; gap: 10px; margin-bottom: 12px; padding: 14px; border: 1px solid var(--webhub-line, rgba(45, 88, 56, .16)); border-radius: 16px; background: rgba(239, 247, 237, .72); }
.field-guide-global-setup .field-guide-import-identity { background: #fff; }
.field-guide-global-setup-facts { display: grid; gap: 6px; min-width: 0; }
.field-guide-global-setup-facts .field-guide-allocation-row { grid-template-columns: minmax(0, 1fr) minmax(132px, .5fr); align-items: center; }
.field-guide-global-setup-destination { display: grid; gap: 3px; min-width: 0; color: var(--webhub-muted, #66766a); font-size: .62rem; font-weight: 850; }
.field-guide-global-setup-destination select { min-height: 38px; padding: 6px 8px; border: 1px solid rgba(45, 88, 56, .22); border-radius: 9px; background: #fff; color: var(--webhub-ink, #23382a); font-size: .72rem; }
.field-guide-import-confirmation { display: grid; gap: 9px; padding: 12px; border: 1px solid rgba(46, 112, 70, .16); border-radius: 14px; background: #f7fbf4; }
.field-guide-import-confirmation h2,
.field-guide-import-destinations h2 { margin: 0; color: var(--webhub-ink, #23382a); font-size: 1rem; }
.field-guide-import-confirmation p,
.field-guide-import-destinations > .field-guide-allocation-group-heading span { margin: 4px 0 0; color: var(--webhub-muted, #66766a); font-size: .72rem; line-height: 1.4; }
.field-guide-import-profile-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; padding: 8px 9px; border-radius: 10px; background: rgba(226, 240, 223, .78); color: #315c3e; font-size: .7rem; }
.field-guide-import-profile-summary strong { font-size: .72rem; }
.field-guide-import-profile-summary span { color: #66746a; }
.field-guide-import-destinations { display: grid; gap: 9px; }
.field-guide-import-destination-groups { display: grid; gap: 8px; }
.field-guide-import-destination-group { display: grid; gap: 8px; min-width: 0; padding: 10px; border: 1px solid rgba(55, 104, 68, .15); border-radius: 13px; background: rgba(255, 255, 252, .86); }
.field-guide-import-destination-group .field-guide-allocation-group-heading h3 { margin: 0; color: var(--webhub-green-deep, #28613b); font-size: .82rem; }
.field-guide-import-destination-group .field-guide-allocation-group-heading span { color: var(--webhub-muted, #66766a); font-size: .68rem; }
.field-guide-import-fact-list { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.field-guide-import-fact-list li { display: grid; grid-template-columns: minmax(118px, .36fr) minmax(0, 1fr); gap: 9px; align-items: start; min-width: 0; padding: 7px 8px; border-radius: 9px; background: #f6f9f4; }
.field-guide-import-fact-list strong { min-width: 0; color: #3e5d47; font-size: .68rem; line-height: 1.3; }
.field-guide-import-fact-list > li > small,
.field-guide-import-fact-list .field-guide-fact-value { min-width: 0; overflow-wrap: anywhere; color: var(--webhub-muted, #66766a); font-size: .66rem; line-height: 1.35; }
.field-guide-import-advanced { border-top: 1px solid var(--webhub-line, rgba(45, 88, 56, .16)); }
.field-guide-import-advanced > summary { min-height: 42px; padding: 11px 0 7px; cursor: pointer; color: var(--webhub-green-deep, #28613b); font-size: .74rem; font-weight: 850; list-style: none; }
.field-guide-import-advanced > summary::-webkit-details-marker { display: none; }
.field-guide-import-advanced > summary::after { content: '＋'; float: right; font-size: 1rem; font-weight: 500; }
.field-guide-import-advanced[open] > summary::after { content: '−'; }
.field-guide-import-advanced > p { margin: 0 0 8px; color: var(--webhub-muted, #66766a); font-size: .68rem; line-height: 1.35; }
.field-guide-import-advanced-list { display: grid; gap: 5px; }
.field-guide-import-advanced-list label { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .55fr); gap: 8px; align-items: center; min-width: 0; padding: 7px 8px; border-radius: 9px; background: #f8faf7; }
.field-guide-import-advanced-list label > span { display: grid; gap: 2px; min-width: 0; }
.field-guide-import-advanced-list strong { overflow-wrap: anywhere; color: #3e5d47; font-size: .68rem; }
.field-guide-import-advanced-list small { color: var(--webhub-muted, #66766a); font-size: .62rem; }
.field-guide-import-advanced-list select { width: 100%; min-height: 34px; padding: 5px 7px; border: 1px solid rgba(45, 88, 56, .2); border-radius: 8px; background: #fff; color: var(--webhub-ink, #23382a); font-size: .68rem; }
.field-guide-import-destination-choice { display: grid; gap: 8px; margin: 0; padding: 12px; border: 1px solid rgba(46, 112, 70, .18); border-radius: 13px; background: #fff; }
.field-guide-import-destination-choice legend { padding: 0 4px; color: var(--webhub-ink, #23382a); font-size: .82rem; font-weight: 850; }
.field-guide-import-destination-choice > p { margin: 0; color: var(--webhub-muted, #66766a); font-size: .7rem; line-height: 1.35; }
.field-guide-import-destination-option { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; align-items: start; min-width: 0; padding: 9px 10px; border: 1px solid rgba(45, 88, 56, .14); border-radius: 10px; background: #f8fbf6; cursor: pointer; }
.field-guide-import-destination-option:has(input:checked) { border-color: rgba(46, 112, 70, .42); background: #edf6e9; box-shadow: inset 3px 0 #39764a; }
.field-guide-import-destination-option input { width: 20px; min-width: 20px; height: 20px; margin: 1px 0 0; }
.field-guide-import-destination-option span { display: grid; gap: 2px; min-width: 0; }
.field-guide-import-destination-option strong { color: var(--webhub-ink, #23382a); font-size: .76rem; line-height: 1.25; }
.field-guide-import-destination-option small { color: var(--webhub-muted, #66766a); font-size: .68rem; line-height: 1.35; }
.field-guide-import-destination-option.is-disabled { opacity: .58; cursor: not-allowed; }
.field-guide-existing-plant-select { display: grid; gap: 4px; min-width: 0; color: var(--webhub-muted, #66766a); font-size: .66rem; font-weight: 850; }
.field-guide-existing-plant-select select { width: 100%; min-height: 40px; padding: 7px 9px; border: 1px solid rgba(45, 88, 56, .22); border-radius: 9px; background: #fff; color: var(--webhub-ink, #23382a); font-size: .74rem; }
.field-guide-existing-import-note { margin: 0; padding: 10px 11px; border-radius: 10px; background: #edf6e9; color: var(--webhub-muted, #66766a); font-size: .74rem; line-height: 1.4; }
.field-guide-existing-import-note strong { color: var(--webhub-green-deep, #28613b); }
.field-guide-management-list { display: grid; gap: 8px; }
.field-guide-hub-redesign .field-guide-management-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto 18px; align-items: center; min-width: 0; min-height: 64px; gap: 10px; padding: 10px 12px; border: 1px solid var(--webhub-line); border-radius: 13px; background: rgba(255, 255, 252, .78); color: var(--webhub-ink); text-align: left; }
.field-guide-hub-redesign button.field-guide-management-row { width: 100%; cursor: pointer; }
.field-guide-hub-redesign .field-guide-management-row > span:nth-child(2) { display: grid; min-width: 0; gap: 3px; }
.field-guide-hub-redesign .field-guide-management-row strong { font-size: .86rem; }
.field-guide-hub-redesign .field-guide-management-row small { overflow-wrap: anywhere; color: var(--webhub-muted); font-size: .74rem; line-height: 1.3; }
.field-guide-hub-redesign .field-guide-management-row > b { color: var(--webhub-green-deep); font-size: .7rem; font-weight: 850; }
.field-guide-hub-redesign .field-guide-management-row > em { color: var(--webhub-muted); font-size: .66rem; font-style: normal; font-weight: 850; white-space: nowrap; }
.field-guide-management-row-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--webhub-green-soft); color: var(--webhub-green-deep); }
.field-guide-management-row-icon .webhub-icon,.field-guide-management-row-chevron .webhub-icon { width: 17px; height: 17px; }
.field-guide-management-row-chevron { display: grid; place-items: center; color: var(--webhub-green); }
.field-guide-hub-redesign details.field-guide-management-row { padding: 0; }
.field-guide-hub-redesign details.field-guide-management-row > summary { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto 18px; align-items: center; min-height: 64px; gap: 10px; padding: 10px 12px; cursor: pointer; list-style: none; }
.field-guide-hub-redesign details.field-guide-management-row > summary::-webkit-details-marker { display: none; }
.field-guide-hub-redesign details.field-guide-management-row > div { grid-column: 1 / -1; padding: 0 12px 12px; }

@media (max-width: 480px) {
    .field-guide-hub-redesign .field-guide-global-match-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .field-guide-import-view .field-guide-extract-heading { align-items: stretch; }
    .field-guide-import-view .field-guide-extract-heading > button { justify-self: start; min-height: 44px; }
    .field-guide-allocation-group-heading { align-items: stretch; flex-direction: column; }
    .field-guide-allocation-group-heading label { flex-basis: auto; width: 100%; }
    .field-guide-import-view .field-guide-allocation-row { grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
    .field-guide-import-view .field-guide-allocation-options { grid-column: 1 / -1; }
    .field-guide-import-view [data-global-remove-fact] { grid-column: 2; grid-row: 1; }
    .field-guide-global-setup-facts .field-guide-allocation-row { grid-template-columns: minmax(0, 1fr); }
    .field-guide-import-fact-list li,
    .field-guide-import-advanced-list label { grid-template-columns: 1fr; }
    .field-guide-hub-redesign .field-guide-management-row > em { max-width: 86px; overflow-wrap: anywhere; text-align: right; white-space: normal; }
}

@media (max-width: 380px) {
    .field-guide-hub-redesign .field-guide-global-match-legend { grid-template-columns: minmax(0, 1fr); }
    .field-guide-hub-redesign .field-guide-global-result {
        grid-template-columns: 44px minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: start;
    }
    .field-guide-hub-redesign .field-guide-global-result > button {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 370px) {
    .field-guide-hub-redesign .field-guide-plant-search > .field-guide-section-heading { align-items: flex-start; }
}

@media (min-width: 760px) {
    .field-guide-hub-redesign { padding-right: 24px; padding-left: 24px; }
    .field-guide-hub-redesign .field-guide-workspace { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); align-items: start; }
    .field-guide-hub-redesign .field-guide-essentials,
    .field-guide-hub-redesign .field-guide-primary-actions,
    .field-guide-hub-redesign .field-guide-content-create,
    .field-guide-hub-redesign .field-guide-areas-board,
    .field-guide-hub-redesign .field-guide-secondary-tools,
    .field-guide-hub-redesign .field-guide-virtual-tags,
    .field-guide-hub-redesign .field-guide-area-help { grid-column: 1 / -1; }
    .field-guide-hub-redesign .field-guide-plant-search { grid-column: 1; }
    .field-guide-hub-redesign .field-guide-spatial-setup { grid-column: 2; }
    .field-guide-hub-redesign .field-guide-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .field-guide-hub-redesign .field-guide-creation-actions { max-width: 560px; }
    .field-guide-hub-redesign .field-guide-secondary-tool-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Web Hub mobile formatting repair: every management surface uses the same
   three-column row so labels never collapse into one-character columns. */
.field-guide-hub-redesign .project-overview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.field-guide-hub-redesign .project-overview-header > div,
.field-guide-hub-redesign .project-overview-header h2 { min-width: 0; }
.field-guide-hub-redesign .map-button,
.field-guide-hub-redesign .project-overview-header .map-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 7px;
    width: auto;
    min-width: 72px;
    min-height: 44px;
    height: 44px;
    padding: 10px 14px;
    font-size: .88rem;
    line-height: 1;
    white-space: nowrap;
}
.field-guide-hub-redesign .map-button .webhub-icon { width: 17px; height: 17px; }

.field-guide-hub-redesign .field-guide-spatial-setup {
    display: grid;
    gap: 12px;
    padding: 16px;
}
.field-guide-hub-redesign .field-guide-spatial-summary { display: none; }
.field-guide-hub-redesign .field-guide-spatial-setup .field-guide-section-heading > .field-guide-manage-link { display: none; }
.field-guide-hub-redesign .field-guide-spatial-list,
.field-guide-hub-redesign .field-guide-secondary-tool-list { display: grid; gap: 8px; min-width: 0; }

.field-guide-hub-redesign .field-guide-management-row,
.field-guide-hub-redesign .field-guide-management-row > summary {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 68px;
    height: auto;
    gap: 12px;
    padding: 12px 14px;
    overflow: visible;
    border: 1px solid var(--webhub-line);
    border-radius: 14px;
    background: rgba(255, 255, 252, .78);
    color: var(--webhub-ink);
    text-align: left;
    writing-mode: horizontal-tb;
}
.field-guide-hub-redesign button.field-guide-management-row { cursor: pointer; }
.field-guide-hub-redesign details.field-guide-management-row { display: block; padding: 0; }
.field-guide-hub-redesign details.field-guide-management-row > summary { cursor: pointer; list-style: none; }
.field-guide-hub-redesign details.field-guide-management-row > summary::-webkit-details-marker { display: none; }
.field-guide-hub-redesign .field-guide-management-row > *,
.field-guide-hub-redesign .field-guide-management-row > summary > * {
    min-width: 0;
    max-width: 100%;
    writing-mode: horizontal-tb;
    word-break: normal;
    white-space: normal;
}
.field-guide-hub-redesign .field-guide-management-row-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    max-width: 44px;
    border-radius: 12px;
    background: var(--webhub-green-soft);
    color: var(--webhub-green-deep);
}
.field-guide-hub-redesign .field-guide-management-row-icon .webhub-icon { width: 20px; height: 20px; }
.field-guide-hub-redesign .field-guide-management-row-content {
    display: grid;
    align-content: center;
    min-width: 0;
    max-width: 100%;
    gap: 3px;
}
.field-guide-hub-redesign .field-guide-management-row-content strong,
.field-guide-hub-redesign .field-guide-management-row-content small {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    text-overflow: clip;
    word-break: normal;
    overflow-wrap: break-word;
    white-space: normal;
}
.field-guide-hub-redesign .field-guide-management-row-content strong { color: var(--webhub-ink); font-size: .92rem; line-height: 1.2; }
.field-guide-hub-redesign .field-guide-management-row-content small { color: var(--webhub-muted); font-size: .78rem; line-height: 1.3; }
.field-guide-hub-redesign .field-guide-management-row-action {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    flex: 0 0 auto;
    min-width: max-content;
    min-height: 44px;
    padding: 12px 0 12px 8px;
    color: var(--webhub-green-deep);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}
.field-guide-hub-redesign .field-guide-management-row-chevron {
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    margin-left: 4px;
    color: var(--webhub-green);
}
.field-guide-hub-redesign .field-guide-management-row-chevron .webhub-icon { width: 16px; height: 16px; }
.field-guide-hub-redesign .field-guide-management-row-badge {
    justify-self: end;
    min-width: max-content;
    padding: 7px 9px;
    border: 1px solid rgba(102, 118, 106, .2);
    border-radius: 999px;
    background: #eef1eb;
    color: var(--webhub-muted);
    font-size: .68rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}
.field-guide-hub-redesign .field-guide-management-row.is-disabled {
    cursor: default;
    opacity: .82;
}
.field-guide-hub-redesign .field-guide-management-row.is-disabled .field-guide-management-row-icon { background: #edf0ea; color: #7c897e; }
.field-guide-hub-redesign details.field-guide-management-row > div {
    grid-column: auto;
    min-width: 0;
    max-width: 100%;
    padding: 0 14px 14px 70px;
    overflow: visible;
}
.field-guide-hub-redesign .field-guide-management-row .field-guide-element-chips,
.field-guide-hub-redesign .field-guide-management-row .field-guide-totem-list,
.field-guide-hub-redesign .field-guide-management-row .field-guide-anchored-list,
.field-guide-hub-redesign .field-guide-management-row .field-guide-virtual-tags-body { min-width: 0; max-width: 100%; }
.field-guide-hub-redesign .field-guide-management-row .field-guide-element-chip,
.field-guide-hub-redesign .field-guide-management-row .field-guide-totem-card,
.field-guide-hub-redesign .field-guide-management-row .field-guide-anchored-list button,
.field-guide-hub-redesign .field-guide-management-row .field-guide-virtual-tag-row { min-width: 0; max-width: 100%; }

.field-guide-hub-redesign .field-guide-area-help {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 5;
    margin: 0;
}
.field-guide-hub-redesign .field-guide-area-help summary { width: 44px; height: 44px; background: #fff; box-shadow: 0 6px 16px rgba(42, 76, 47, .15); }
.field-guide-hub-redesign .field-guide-area-help p { margin-right: 0; }
.field-guide-hub-redesign .field-guide-redesign-footer { padding-bottom: max(8px, env(safe-area-inset-bottom)); }
.field-guide-hub-redesign .field-guide-redesign-footer .analog-navigation { min-height: 46px; padding: 12px 16px; font-size: .88rem; }

@media (max-width: 340px) {
    .field-guide-hub-redesign .field-guide-management-row,
    .field-guide-hub-redesign .field-guide-management-row > summary {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 10px;
    }
    .field-guide-hub-redesign .field-guide-management-row-icon { width: 40px; height: 40px; max-width: 40px; }
    .field-guide-hub-redesign .field-guide-management-row-action,
    .field-guide-hub-redesign .field-guide-management-row-badge { grid-column: 2; justify-self: start; padding-left: 0; }
    .field-guide-hub-redesign details.field-guide-management-row > div { padding-left: 62px; }
}

/* Project dashboard mobile system: one aligned card language for every
   project action, with responsive density instead of fixed empty space. */
body:has(.project-entry) #app {
    width: min(100%, 1120px);
    max-width: 1120px;
    padding: 16px 16px max(32px, env(safe-area-inset-bottom));
}

.project-entry {
    --project-page-gap: 16px;
    --project-card-padding: 16px;
    --project-card-radius: 18px;
    gap: var(--project-page-gap);
    min-width: 0;
}

.project-entry .dashboard-frame {
    display: grid;
    gap: var(--project-page-gap);
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    padding: var(--project-card-padding);
    overflow: visible;
    border-radius: 24px;
}

.project-entry .dashboard-frame > * {
    min-width: 0;
    max-width: 100%;
}

.project-entry .location-dashboard-header {
    display: grid;
    align-content: center;
    justify-items: start;
    min-height: 96px;
    padding: 16px;
    border-radius: var(--project-card-radius);
    text-align: left;
}

.project-entry .dashboard-frame-kicker {
    font-size: clamp(.62rem, 1.8vw, .72rem);
}

.project-entry .location-dashboard-header h1 {
    min-width: 0;
    max-width: 100%;
    margin: 4px 0 0;
    font-size: clamp(1.65rem, 5vw, 2.4rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.project-entry .project-dashboard-card {
    min-width: 0;
    padding: var(--project-card-padding);
    border-radius: var(--project-card-radius);
}

.project-entry .dashboard-ar-path {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--project-page-gap);
    width: 100%;
    max-width: none;
    margin: 0;
}

.project-entry .dashboard-ar-path > button.dashboard-open-ar,
.project-entry .dashboard-ar-path > button.dashboard-field-guide {
    display: grid !important;
    place-items: center;
    align-content: center;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none;
    height: auto !important;
    min-height: clamp(132px, 36vw, 150px) !important;
    max-height: none;
    padding: var(--project-card-padding) !important;
    border-radius: var(--project-card-radius) !important;
    text-align: center;
}

.project-entry .dashboard-open-ar strong,
.project-entry .dashboard-field-guide strong {
    min-width: 0;
    font-size: clamp(1rem, 3.5vw, 1.25rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.project-entry .dashboard-field-guide {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 10px;
}

.project-entry .dashboard-field-guide > span {
    display: grid;
    place-items: center;
    grid-row: auto;
    font-size: 1rem;
}

.project-entry .dashboard-inline-icon {
    display: block;
    width: 32px;
    height: 32px;
}

.project-entry .project-areas-section,
.project-entry .project-search-section,
.project-entry .project-status,
.project-entry .latest-entries-section {
    margin: 0;
    min-width: 0;
    padding: var(--project-card-padding);
    border-radius: var(--project-card-radius);
}

.project-entry .section-heading-row {
    min-width: 0;
    margin-bottom: 12px;
}

.project-entry .section-heading-row > * {
    min-width: 0;
}

.project-entry .section-heading-row h2,
.project-entry .project-areas-section .section-heading-row h2,
.project-entry .project-status .section-heading-row h2 {
    font-size: clamp(1.1rem, 5vw, 1.45rem);
    line-height: 1.15;
    letter-spacing: 0;
    text-transform: none;
}

.project-entry .section-heading-row p {
    min-width: 0;
    overflow-wrap: anywhere;
}

.project-entry .project-area-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--project-page-gap);
    min-width: 0;
}

.project-entry .project-area-overview-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 110px;
    height: auto;
    gap: 12px;
    padding: var(--project-card-padding);
    border-radius: var(--project-card-radius);
}

.project-entry .project-area-overview-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(47, 109, 66, .17);
    border-radius: 14px;
    background: rgba(238, 246, 232, .86);
    color: var(--leaf-deep);
}

.project-entry .project-area-overview-icon .dashboard-inline-icon {
    width: 28px;
    height: 28px;
}

.project-entry .project-area-overview-copy,
.project-entry .project-area-overview-copy > * {
    min-width: 0;
    max-width: 100%;
}

.project-entry .project-area-overview-copy strong,
.project-entry .project-area-overview-copy span {
    overflow-wrap: break-word;
    word-break: normal;
}

.project-entry .project-area-overview-totem {
    min-width: 52px;
    max-width: 76px;
}

.project-entry .project-area-overview-totem small {
    white-space: normal;
    text-align: center;
}

.project-entry .project-status {
    min-width: 0;
}

.project-entry .experience-status-grid {
    min-width: 0;
    min-height: 90px;
    height: auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-radius: 14px;
}

.project-entry .experience-status-item {
    min-width: 0;
    min-height: 88px;
    padding: 12px 10px;
    align-content: center;
    text-align: center;
}

.project-entry .experience-status-item span,
.project-entry .experience-status-item strong {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
}

.project-entry .experience-status-item span {
    white-space: nowrap;
}

.project-entry .experience-status-item span { font-size: .66rem; }
.project-entry .experience-status-item strong { font-size: .88rem; line-height: 1.25; }

.project-entry .location-tool-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--project-page-gap);
    min-width: 0;
}

.project-entry .location-tool-card {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    min-height: 84px;
    height: auto;
    padding: var(--project-card-padding);
    border-radius: var(--project-card-radius);
    text-align: left;
}

.project-entry .location-tool-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(47, 109, 66, .16);
    border-radius: 50%;
    background: rgba(238, 246, 232, .9);
    color: var(--leaf-deep);
}

.project-entry .location-tool-icon .dashboard-inline-icon {
    width: 24px;
    height: 24px;
}

.project-entry .location-tool-copy {
    display: grid;
    align-content: center;
    gap: 4px;
    min-width: 0;
}

.project-entry .location-tool-copy strong,
.project-entry .location-tool-copy span {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
}

.project-entry .location-tool-copy strong { font-size: .9rem; line-height: 1.2; }
.project-entry .location-tool-copy span { font-size: .72rem; line-height: 1.3; }

@media (max-width: 380px) {
    .project-entry .project-area-overview-card {
        grid-template-columns: 48px minmax(0, 1fr);
        align-items: start;
    }

    .project-entry .project-area-overview-copy {
        grid-column: 2;
        grid-row: 1;
        padding-top: 1px;
    }

    .project-entry .project-area-overview-totem {
        grid-column: 2;
        grid-row: 2;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        min-width: 0;
        max-width: none;
    }

    .project-entry .project-area-overview-totem small { text-align: left; }

    .project-entry .experience-status-grid {
        min-height: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-entry .experience-status-item {
        min-height: 68px;
        padding: 10px 8px;
    }

    .project-entry .location-tool-grid { grid-template-columns: 1fr; }
}

@media (min-width: 381px) and (max-width: 430px) {
    .project-entry .location-tool-card {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 8px;
    }

    .project-entry .location-tool-icon {
        width: 32px;
        height: 32px;
    }

    .project-entry .location-tool-icon .dashboard-inline-icon {
        width: 20px;
        height: 20px;
    }

    .project-entry .location-tool-copy strong { font-size: .84rem; }
    .project-entry .location-tool-copy span { font-size: .68rem; }
    .project-entry .experience-status-item span {
        font-size: .6rem;
        white-space: nowrap;
    }
}

@media (min-width: 760px) {
    .project-entry .project-area-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .project-entry .location-tool-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 980px) {
    .project-entry .dashboard-frame {
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
        align-items: start;
    }

    .project-entry .dashboard-frame > .location-dashboard-header,
    .project-entry .dashboard-frame > .living-map-progress,
    .project-entry .dashboard-frame > .dashboard-ar-path,
    .project-entry .dashboard-frame > .dashboard-location-footer,
    .project-entry .dashboard-frame > .latest-entries-section,
    .project-entry .dashboard-frame > .location-tool-grid,
    .project-entry .dashboard-frame > .tutorial-spotlight-callout,
    .project-entry .dashboard-frame > .tutorial-spotlight-shield {
        grid-column: 1 / -1;
    }

    .project-entry .dashboard-ar-path { max-width: 640px; }
}

/* -------------------------------------------------------------------------
   NLXR DB V2 preview and Project Guide
   This section is intentionally scoped so the established V0.9 workspace
   keeps its existing layout and visual language while the preview evolves.
------------------------------------------------------------------------- */
#app:has(.nlxr-db-v2),
#app:has(.project-guide-screen) {
    width: 100%;
    max-width: 1180px;
    padding: 20px 16px max(48px, env(safe-area-inset-bottom));
}

.nlxr-db-v2,
.project-guide-screen {
    --v2-ink: #18261b;
    --v2-muted: #68736a;
    --v2-line: #d5ddcb;
    --v2-surface: rgba(255, 255, 249, .94);
    --v2-green: #4f8d20;
    --v2-green-deep: #285d27;
    --v2-warm: #f7f7ef;
    width: 100%;
    min-width: 0;
    color: var(--v2-ink);
    gap: 12px;
}

.nlxr-db-v2 *,
.project-guide-screen * {
    min-width: 0;
}

.nlxr-db-v2 button,
.project-guide-screen button,
.project-guide-screen summary {
    font: inherit;
}

.nlxr-db-v2-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 2px 0;
}

.nlxr-db-v2-header-copy { min-width: 0; }
.nlxr-db-v2-ar-strip { width: min(100%, 660px); margin: -8px auto 0; }
.nlxr-db-v2-ar-button {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 62px;
    padding: 9px 12px;
    border: 1px solid #b9d8ee;
    border-radius: 16px;
    background: linear-gradient(135deg, #fbfdff, #edf6fd);
    color: #173d5b;
    cursor: pointer;
    text-align: left;
    box-shadow: 0 7px 18px rgba(24, 106, 170, .12);
}
.nlxr-db-v2-ar-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(145deg, #3b95dc, #176caf); color: #fff; box-shadow: 0 5px 11px rgba(24, 106, 170, .2); font-size: 1.45rem; font-weight: 500; line-height: 1; }
.nlxr-db-v2-ar-copy { display: grid; gap: 3px; min-width: 0; }
.nlxr-db-v2-ar-button strong { color: #174f7a; font-size: .84rem; line-height: 1.1; }
.nlxr-db-v2-ar-button small { color: #5d7487; font-size: .68rem; line-height: 1.2; }
.nlxr-db-v2-ar-meta { display: inline-flex; align-items: center; gap: 8px; color: #237cc9; }
.nlxr-db-v2-ar-meta b { font-size: .62rem; letter-spacing: .12em; }
.nlxr-db-v2-ar-meta i { font-size: 1.25rem; font-style: normal; font-weight: 500; line-height: 1; }
.nlxr-db-v2-ar-button:hover,
.nlxr-db-v2-ar-button:focus-visible { border-color: #237cc9; background: linear-gradient(135deg, #f5fbff, #e4f2fc); outline: 2px solid rgba(35, 124, 201, .28); outline-offset: 2px; box-shadow: 0 0 0 4px rgba(35, 124, 201, .08), 0 9px 22px rgba(24, 106, 170, .16); }
.nlxr-db-v2-eyebrow,
.project-guide-eyebrow {
    margin: 0;
    color: #687c43;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.2;
}

.nlxr-db-v2-project-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nlxr-db-v2-project-title h1 {
    margin: 4px 0 0;
    color: var(--v2-ink);
    font-size: clamp(1.65rem, 3.5vw, 2.25rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.nlxr-db-v2-project-title button,
.nlxr-db-v2-header-actions button {
    display: grid;
    place-items: center;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #556154;
    cursor: pointer;
}

.nlxr-db-v2-project-title button { font-size: 1.55rem; }
.nlxr-db-v2-header-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 2px;
}

.nlxr-db-v2-header-actions button { font-size: 1.45rem; }
.nlxr-db-v2-header-actions button:first-child { font-size: 1.3rem; }
.nlxr-db-v2-project-title button:hover,
.nlxr-db-v2-header-actions button:hover { background: rgba(79, 141, 32, .08); }

.nlxr-db-v2-sync {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 7px;
    color: var(--v2-muted);
    font-size: .85rem;
}

.nlxr-db-v2-sync i {
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #62a51e;
    box-shadow: 0 0 0 3px rgba(98, 165, 30, .12);
}

.nlxr-db-v2-version-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 2px 2px 0;
}

.nlxr-db-v2-preview-badge,
.project-guide-preview-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    border: 1px solid #cbd8bc;
    border-radius: 999px;
    background: #edf5e7;
    color: var(--v2-green-deep);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    padding: 6px 10px;
    text-transform: uppercase;
}

.nlxr-db-v2-preview-badge small { font-size: .62rem; letter-spacing: .04em; opacity: .72; }
.nlxr-db-v2-return,
.nlxr-db-v2-text-action {
    min-height: 44px;
    border: 0;
    background: transparent;
    color: var(--v2-green-deep);
    cursor: pointer;
    font-size: .82rem;
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.nlxr-db-v2-mode-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--v2-line);
    border-radius: 16px;
    background: rgba(255, 255, 249, .72);
}

.nlxr-db-v2-mode-nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #5b665b;
    cursor: pointer;
    font-size: .9rem;
    font-weight: 650;
}

.nlxr-db-v2-mode-nav button.is-active {
    background: #f1f6e9;
    box-shadow: inset 0 0 0 1px #ccdabc;
    color: var(--v2-green-deep);
}

.nlxr-db-v2-mode-panel { display: grid; gap: 12px; }
.nlxr-db-v2-living-map,
.nlxr-db-v2-card,
.nlxr-db-v2-mode-preview {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--v2-line);
    border-radius: 17px;
    background: var(--v2-surface);
    box-shadow: 0 8px 22px rgba(44, 67, 36, .055);
}

.nlxr-db-v2-living-map {
    padding: 14px;
    border-color: #29483c;
    background: #102c2b;
    color: #f4f7e9;
}
.nlxr-db-v2-map-section-heading {
    display: grid;
    gap: 3px;
    padding: 1px 2px 0;
}
.nlxr-db-v2-map-section-heading h3 {
    margin: 0;
    color: #f1f6df;
    font-size: clamp(1rem, 2.4vw, 1.2rem);
    line-height: 1.15;
}
.nlxr-db-v2-map-section-heading p:not(.nlxr-db-v2-eyebrow) {
    max-width: 70ch;
    margin: 0;
    color: #b8cbb0;
    font-size: .76rem;
    line-height: 1.45;
}
.nlxr-db-v2-map-section-heading .nlxr-db-v2-eyebrow { margin: 0; color: #9bbd7c; }

.nlxr-db-v2-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}

.nlxr-db-v2-card-heading > div {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.nlxr-db-v2-card-heading h2 {
    margin: 0;
    color: inherit;
    font-size: clamp(1.08rem, 2vw, 1.28rem);
    line-height: 1.15;
}

.nlxr-db-v2-card-heading .nlxr-db-v2-eyebrow { margin-bottom: 2px; color: #9bb38c; font-size: .58rem; }
.nlxr-db-v2-section-icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(214, 238, 168, .42);
    border-radius: 11px;
    color: #c5e86b;
    font-size: 1.2rem;
}

.nlxr-db-v2-section-icon.is-health { color: #7ba834; border-color: #cbdcbf; }
.nlxr-db-v2-map-count {
    flex: 0 0 auto;
    border: 1px solid rgba(209, 235, 169, .3);
    border-radius: 999px;
    color: #d4eda2;
    font-size: .78rem;
    padding: 6px 9px;
}

.nlxr-db-v2-map-canvas {
    position: relative;
    min-height: 340px;
    margin-top: 12px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(183, 221, 117, .24);
    border-radius: 13px;
    background: radial-gradient(circle at 50% 45%, rgba(93, 145, 52, .35), transparent 43%), #0b2429;
}

.nlxr-db-v2-map-grid,
.nlxr-db-v2-map-grid::after {
    position: absolute;
    inset: 0;
    content: '';
}

.nlxr-db-v2-map-grid {
    z-index: 1;
    opacity: .32;
    background-image: linear-gradient(rgba(152, 209, 110, .18) 1px, transparent 1px), linear-gradient(90deg, rgba(152, 209, 110, .18) 1px, transparent 1px);
    background-size: 34px 34px;
}

.nlxr-db-v2-map-image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .62; filter: saturate(.78) contrast(.9); }

.nlxr-db-v2-map-grid::after {
    background: radial-gradient(circle, rgba(195, 231, 130, .24) 1px, transparent 1px);
    background-size: 17px 17px;
    opacity: .38;
}

.nlxr-db-v2-map-lines {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.nlxr-db-v2-map-lines line {
    stroke: #b9d982;
    stroke-width: 1.25;
    stroke-dasharray: 2 2;
    opacity: .8;
}

.nlxr-db-v2-map-node {
    position: absolute;
    left: var(--map-x);
    top: var(--map-y);
    z-index: 2;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 3px;
    width: clamp(92px, 17vw, 132px);
    min-height: 88px;
    padding: 10px 8px;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(202, 237, 121, .62);
    border-radius: 42% 45% 48% 44%;
    appearance: none;
    -webkit-appearance: none;
    background: linear-gradient(145deg, rgba(63, 111, 57, .96), rgba(29, 72, 49, .95)) !important;
    box-shadow: 0 0 0 4px rgba(174, 221, 88, .08), 0 0 24px rgba(160, 225, 81, .14);
    color: #f1f6df;
    cursor: pointer;
}

.nlxr-db-v2-map-node:nth-of-type(odd) { border-radius: 49% 43% 45% 47%; }
.nlxr-db-v2-map-node.is-alt { background: linear-gradient(145deg, rgba(36, 91, 77, .97), rgba(20, 57, 59, .96)) !important; }
.nlxr-db-v2-map-node.is-current { background: linear-gradient(145deg, rgba(91, 142, 43, .98), rgba(47, 102, 42, .97)) !important; box-shadow: 0 0 0 5px rgba(181, 234, 91, .16), 0 0 30px rgba(165, 226, 81, .24); }
.nlxr-db-v2-map-node:hover,
.nlxr-db-v2-map-node:focus-visible { outline: 2px solid #ecffaf; outline-offset: 3px; }
.nlxr-db-v2-map-node span { color: #c8ed79; font-size: 1.35rem; line-height: 1; }
.nlxr-db-v2-map-node strong { max-width: 100%; color: #f1f6df; font-size: .86rem; line-height: 1.1; text-align: center; overflow-wrap: anywhere; }
.nlxr-db-v2-map-node small { color: #d1dfc3; font-size: .68rem; }
.nlxr-db-v2-map-compass { position: absolute; z-index: 3; left: 12px; bottom: 10px; color: #bddb82; font-size: .62rem; font-weight: 800; text-align: center; }
.nlxr-db-v2-map-compass span { font-size: 1rem; }
.nlxr-db-v2-map-empty { position: absolute; inset: 40% 18% auto; z-index: 2; color: #d5e6c5; text-align: center; }
.nlxr-db-v2-map-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 2px 2px; color: #edf5e0; font-size: .82rem; }
.nlxr-db-v2-map-footer > span { min-width: 0; }
.nlxr-db-v2-map-footer i { color: #c8ed79; font-style: normal; }
.nlxr-db-v2-map-footer strong { flex: 0 0 auto; color: #bfe577; font-size: .76rem; font-weight: 650; text-align: right; }
.nlxr-db-v2-map-footer strong.is-warning { color: #f4ba58; }
.nlxr-db-v2-map-note { margin: 4px 2px 0; color: #9eb6a1; font-size: .68rem; }

.nlxr-db-v2-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--v2-line);
    border-radius: 17px;
    background: var(--v2-surface);
}

.nlxr-db-v2-metric {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 2px;
    min-height: 108px;
    padding: 14px 8px;
    border-right: 1px solid var(--v2-line);
    text-align: center;
}

.nlxr-db-v2-metric:last-child { border-right: 0; }
.nlxr-db-v2-metric-icon { color: #628f35; font-size: 1.2rem; line-height: 1; }
.nlxr-db-v2-metric strong { color: var(--v2-ink); font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.05; }
.nlxr-db-v2-metric > span:last-child { color: var(--v2-muted); font-size: .76rem; }
.nlxr-db-v2-metric.is-percentage strong { color: var(--v2-green); }

.nlxr-db-v2-primary-actions {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 10px;
}

.nlxr-db-v2-primary-actions button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 0;
    min-height: 52px;
    padding: 10px 12px;
    border: 1px solid #cbd8bc;
    border-radius: 13px;
    background: #f8fbf1;
    color: var(--v2-green-deep);
    cursor: pointer;
    font-size: .9rem;
}

.nlxr-db-v2-primary-actions button.is-primary { border-color: #2476bf; background: #237cc9; color: #fff; box-shadow: 0 7px 15px rgba(35, 124, 201, .2); }
.nlxr-db-v2-primary-actions button:hover { filter: brightness(.98); transform: translateY(-1px); }
.nlxr-db-v2-primary-actions button span { font-size: 1.35rem; line-height: 1; }

.nlxr-db-v2-status-board {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--v2-line);
    border-radius: 17px;
    background: var(--v2-surface);
    box-shadow: 0 8px 22px rgba(44, 67, 36, .055);
}
.nlxr-db-v2-status-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px 10px;
}
.nlxr-db-v2-status-heading h2 { margin: 0; color: var(--v2-ink); font-size: clamp(1.08rem, 2vw, 1.28rem); }
.nlxr-db-v2-status-heading span { color: var(--v2-muted); font-size: .68rem; }
.nlxr-db-v2-status-main,
.nlxr-db-v2-status-readiness {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.nlxr-db-v2-status-main { border-top: 1px solid #e4eadf; }
.nlxr-db-v2-status-readiness { border-top: 1px solid #e4eadf; background: #fafcf7; }
.nlxr-db-v2-status-item {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 3px;
    min-width: 0;
    min-height: 66px;
    padding: 9px 7px;
    border: 0;
    border-right: 1px solid #e4eadf;
    background: transparent;
    color: var(--v2-ink);
    cursor: pointer;
    text-align: center;
}
.nlxr-db-v2-status-item:last-child { border-right: 0; }
.nlxr-db-v2-status-item strong { max-width: 100%; color: var(--v2-ink); font-size: clamp(1rem, 2.8vw, 1.5rem); line-height: 1.05; overflow-wrap: anywhere; }
.nlxr-db-v2-status-item span { max-width: 100%; color: var(--v2-muted); font-size: .68rem; line-height: 1.15; overflow-wrap: anywhere; }
.nlxr-db-v2-status-item.is-percentage strong { color: var(--v2-green); }
.nlxr-db-v2-status-item.is-attention strong,
.nlxr-db-v2-status-item.is-attention span { color: #a96717; }
.nlxr-db-v2-status-item:is(:hover, :focus-visible) { background: #f0f7e7; outline: 0; }
.nlxr-db-v2-status-item:focus-visible { box-shadow: inset 0 0 0 2px #7aa657; }

.nlxr-db-v2-card { padding: 16px; }
.nlxr-db-v2-health-card { display: grid; gap: 14px; }
.nlxr-db-v2-health-score { display: grid; justify-items: end; gap: 1px; }
.nlxr-db-v2-health-score strong { color: var(--v2-green); font-size: 1.8rem; line-height: 1; }
.nlxr-db-v2-health-score span { color: var(--v2-muted); font-size: .7rem; }
.nlxr-db-v2-health-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.nlxr-db-v2-health-grid > div { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 7px; padding: 10px; border: 1px solid #e0e7d9; border-radius: 12px; }
.nlxr-db-v2-health-grid span { grid-row: span 2; color: #6a9a30; font-size: 1.15rem; }
.nlxr-db-v2-health-grid strong { font-size: .9rem; line-height: 1.1; overflow-wrap: anywhere; }
.nlxr-db-v2-health-grid small { color: var(--v2-muted); font-size: .68rem; line-height: 1.2; }
.nlxr-db-v2-health-grid .is-attention span,
.nlxr-db-v2-health-grid .is-attention strong { color: #bd7415; }
.nlxr-db-v2-review-action { justify-self: end; min-height: 44px; border: 0; background: transparent; color: var(--v2-green-deep); cursor: pointer; font-weight: 750; }
.nlxr-db-v2-lower-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nlxr-db-v2-activity-card,
.nlxr-db-v2-tools-card { min-width: 0; }
.nlxr-db-v2-activity-list { display: grid; gap: 0; list-style: none; margin-top: 8px; }
.nlxr-db-v2-activity-list li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 10px 0; border-top: 1px solid #e7ecdf; }
.nlxr-db-v2-activity-list li:first-child { border-top: 0; }
.nlxr-db-v2-activity-list li > span:nth-child(2) { display: grid; gap: 2px; }
.nlxr-db-v2-activity-list strong { font-size: .83rem; overflow-wrap: anywhere; }
.nlxr-db-v2-activity-list small { color: var(--v2-muted); font-size: .72rem; }
.nlxr-db-v2-activity-list > li > i { color: var(--v2-green); font-style: normal; }
.nlxr-db-v2-activity-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #eef5da; color: #5a8c28; }
.nlxr-db-v2-empty,
.nlxr-db-v2-notice { color: var(--v2-muted); font-size: .82rem; }
.nlxr-db-v2-notice { padding: 10px 12px; border: 1px solid #d4e2c5; border-radius: 10px; background: #f1f7ea; }
.nlxr-db-v2-tools-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.nlxr-db-v2-tools-grid button { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 9px 10px; border: 1px solid #dee7d6; border-radius: 11px; background: #fbfcf7; color: #3f5940; cursor: pointer; text-align: left; }
.nlxr-db-v2-tools-grid button:hover { border-color: #aeca8f; background: #f2f8eb; }
.nlxr-db-v2-tools-grid span { color: #6c9f36; font-size: 1.15rem; }
.nlxr-db-v2-tools-grid strong { font-size: .8rem; }
.nlxr-db-v2-mode-preview { display: grid; gap: 10px; padding: 16px; }
.nlxr-db-v2-mode-preview > h2 { margin: 0; color: var(--v2-ink); font-size: clamp(1.25rem, 3vw, 1.65rem); }
.nlxr-db-v2-mode-preview > p:not(.nlxr-db-v2-eyebrow) { max-width: 70ch; color: var(--v2-muted); font-size: .88rem; }
.nlxr-db-v2-mode-preview .nlxr-db-v2-living-map { margin-top: 4px; }

/* Project Guide */
.project-guide-screen { max-width: 900px; margin-inline: auto; }
.project-guide-header { display: grid; gap: 5px; padding: 2px 0 8px; }
.project-guide-back { justify-self: start; min-height: 44px; margin-bottom: 4px; }
.project-guide-header h1 { margin: 0; color: var(--v2-ink); font-size: clamp(1.8rem, 4vw, 2.6rem); }
.project-guide-header .subtitle { max-width: 60ch; }
.project-guide-faq-section,
.project-guide-v2-section { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--v2-line); border-radius: 17px; background: var(--v2-surface); box-shadow: 0 8px 22px rgba(44, 67, 36, .045); }
.project-guide-section-heading,
.project-guide-v2-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.project-guide-section-heading h2,
.project-guide-v2-heading h2 { margin: 3px 0 0; color: var(--v2-ink); font-size: clamp(1.2rem, 3vw, 1.55rem); }
.project-guide-count { color: var(--v2-muted); font-size: .76rem; }
.project-guide-search { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 13px; border: 1px solid #cfdac7; border-radius: 12px; background: #fff; }
.project-guide-search span { color: #6d8e49; font-size: 1.3rem; }
.project-guide-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--v2-ink); font: inherit; font-size: .9rem; }
.project-guide-category-row { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
.project-guide-category-row button { flex: 0 0 auto; min-height: 40px; padding: 7px 12px; border: 1px solid #d3dec9; border-radius: 999px; background: #f9fbf5; color: #53604f; cursor: pointer; font-size: .76rem; }
.project-guide-category-row button.is-active { border-color: #a9c58f; background: #eaf4df; color: var(--v2-green-deep); font-weight: 750; }
.project-guide-faq-list { display: grid; gap: 7px; }
.project-guide-faq-item { border: 1px solid #dce5d8; border-radius: 12px; background: #fff; }
.project-guide-faq-question { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px; padding: 11px 13px; border: 0; border-radius: 12px; background: transparent; color: var(--v2-ink); cursor: pointer; text-align: left; }
.project-guide-faq-question span { font-size: .88rem; font-weight: 700; overflow-wrap: anywhere; }
.project-guide-faq-question i { flex: 0 0 auto; color: #6a9639; font-size: 1.2rem; font-style: normal; transition: transform .18s ease; }
.project-guide-faq-item.is-open .project-guide-faq-question i { transform: rotate(45deg); }
.project-guide-faq-answer { padding: 0 13px 13px; }
.project-guide-faq-answer p { color: var(--v2-muted); font-size: .84rem; }
.project-guide-empty { padding: 10px 2px; color: var(--v2-muted); font-size: .84rem; }
.project-guide-v2-section > p:not(.project-guide-eyebrow) { color: var(--v2-muted); font-size: .86rem; }
.project-guide-v2-heading { align-items: flex-start; }
.project-guide-v2-preview-art { position: relative; min-height: 270px; overflow: hidden; border: 1px solid #27483c; border-radius: 14px; background: radial-gradient(circle at 52% 50%, rgba(104, 147, 58, .4), transparent 42%), #102c2b; color: #eff5df; }
.project-guide-v2-preview-art::before { position: absolute; inset: 0; content: ''; opacity: .25; background-image: linear-gradient(rgba(156, 209, 114, .2) 1px, transparent 1px), linear-gradient(90deg, rgba(156, 209, 114, .2) 1px, transparent 1px); background-size: 28px 28px; }
.project-guide-v2-preview-art-title { position: absolute; z-index: 2; top: 14px; left: 16px; color: #c9e990; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.project-guide-v2-preview-art svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.project-guide-v2-preview-art path { fill: none; stroke: #c0e57e; stroke-width: 1; stroke-dasharray: 2 2; opacity: .72; }
.project-guide-v2-preview-node { position: absolute; left: var(--preview-x); top: var(--preview-y); z-index: 2; display: grid; place-items: center; align-content: center; gap: 2px; width: 94px; min-height: 66px; padding: 7px; transform: translate(-50%, -50%); border: 1px solid rgba(202, 237, 121, .72); border-radius: 45%; background: rgba(59, 100, 48, .82); text-align: center; }
.project-guide-v2-preview-node.is-current { background: rgba(74, 119, 40, .94); box-shadow: 0 0 0 4px rgba(185, 228, 102, .14); }
.project-guide-v2-preview-node i { color: #c9ef7b; font-style: normal; }
.project-guide-v2-preview-node strong { font-size: .73rem; line-height: 1.05; overflow-wrap: anywhere; }
.project-guide-v2-preview-art > small { position: absolute; z-index: 2; right: 13px; bottom: 11px; color: #9fb7a4; font-size: .67rem; }
.project-guide-open-v2 { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 10px 14px; border: 1px solid #2d7529; border-radius: 12px; background: #2f7b2d; color: #fff; cursor: pointer; font-weight: 750; text-align: left; }
.project-guide-open-v2 span { font-size: 1.35rem; }
.project-guide-preview-topics { display: grid; gap: 7px; }
.project-guide-preview-topic { border: 1px solid #dce5d8; border-radius: 11px; background: #fff; }
.project-guide-preview-topic summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 10px 12px; cursor: pointer; list-style: none; color: var(--v2-ink); font-size: .83rem; font-weight: 700; }
.project-guide-preview-topic summary::-webkit-details-marker { display: none; }
.project-guide-preview-topic summary i { color: #6a9639; font-size: 1.1rem; font-style: normal; }
.project-guide-preview-topic[open] summary i { transform: rotate(45deg); }
.project-guide-preview-topic p { padding: 0 12px 12px; color: var(--v2-muted); font-size: .8rem; }

@media (min-width: 860px) {
    .nlxr-db-v2 {
        max-width: 1040px;
        margin-inline: auto;
        gap: 18px;
    }
    .nlxr-db-v2-header {
        justify-content: center;
        padding-top: 14px;
        text-align: center;
    }
    .nlxr-db-v2-header-copy { display: grid; justify-items: center; }
    .nlxr-db-v2-project-title { justify-content: center; }
    .nlxr-db-v2-project-title h1 { font-size: clamp(2rem, 3.5vw, 2.75rem); }
    .nlxr-db-v2-mode-nav {
        width: min(100%, 660px);
        margin-inline: auto;
        padding: 6px;
        gap: 6px;
        border-radius: 18px;
        background: rgba(255, 255, 249, .9);
        box-shadow: 0 10px 30px rgba(44, 67, 36, .08);
    }
    .nlxr-db-v2-mode-nav button {
        min-height: 48px;
        border-radius: 13px;
        font-size: .95rem;
    }
    .nlxr-db-v2-mode-nav button.is-active {
        background: linear-gradient(180deg, #f4f8ed, #eaf2df);
        box-shadow: inset 0 0 0 1px #c4d5b1, 0 4px 12px rgba(58, 97, 42, .08);
    }
    .nlxr-db-v2-mode-panel { gap: 16px; }
    .nlxr-db-v2-primary-actions { width: 100%; max-width: none; }
    .nlxr-db-v2-lower-grid { grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); }
    .nlxr-db-v2-health-card { grid-template-columns: 1fr auto; align-items: center; }
    .nlxr-db-v2-health-card > .nlxr-db-v2-card-heading { grid-column: 1 / -1; }
    .nlxr-db-v2-health-grid { grid-column: 1; }
    .nlxr-db-v2-review-action { grid-column: 2; grid-row: 2; }
    .project-guide-screen { gap: 16px; }
}

@media (max-width: 620px) {
    #app:has(.nlxr-db-v2),
    #app:has(.project-guide-screen) { padding: 14px 14px max(32px, env(safe-area-inset-bottom)); }
    .nlxr-db-v2-header { gap: 6px; }
    .nlxr-db-v2-header-actions button { min-width: 42px; }
    .nlxr-db-v2-version-row { align-items: flex-start; }
    .nlxr-db-v2-return { text-align: right; }
    .nlxr-db-v2-map-canvas { min-height: 330px; }
    .nlxr-db-v2-map-node { width: clamp(86px, 25vw, 112px); min-height: 82px; }
    .nlxr-db-v2-map-node strong { font-size: .78rem; }
    .nlxr-db-v2-map-footer { align-items: flex-start; flex-direction: column; gap: 4px; }
    .nlxr-db-v2-map-footer strong { text-align: left; }
    .nlxr-db-v2-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nlxr-db-v2-metric:nth-child(2) { border-right: 0; }
    .nlxr-db-v2-metric:nth-child(-n + 2) { border-bottom: 1px solid var(--v2-line); }
    .nlxr-db-v2-primary-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nlxr-db-v2-primary-actions button.is-primary { grid-column: 1 / -1; }
    .nlxr-db-v2-health-grid { grid-template-columns: 1fr; }
    .nlxr-db-v2-health-grid > div { min-height: 50px; }
    .nlxr-db-v2-lower-grid { grid-template-columns: 1fr; }
    .project-guide-v2-preview-art { min-height: 250px; }
}

@media (max-width: 360px) {
    .nlxr-db-v2-project-title h1 { font-size: 1.42rem; }
    .nlxr-db-v2-header-actions button { min-width: 38px; padding-inline: 4px; }
    .nlxr-db-v2-mode-nav button { gap: 3px; font-size: .78rem; }
    .nlxr-db-v2-map-canvas { min-height: 300px; }
    .nlxr-db-v2-map-node { width: 78px; min-height: 74px; padding-inline: 4px; }
    .nlxr-db-v2-map-node strong { font-size: .7rem; }
    .nlxr-db-v2-map-node small { font-size: .6rem; }
    .nlxr-db-v2-primary-actions button { font-size: .78rem; }
    .project-guide-v2-preview-node { width: 78px; min-height: 60px; }
    .project-guide-v2-preview-node strong { font-size: .64rem; }
}

@media (orientation: landscape) and (max-height: 620px) {
    #app:has(.nlxr-db-v2),
    #app:has(.project-guide-screen) { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
    .nlxr-db-v2-map-canvas { min-height: 300px; }
}

.nlxr-db-v2-overflow { position: relative; }
.nlxr-db-v2-overflow summary { display: grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 12px; color: #556154; cursor: pointer; font-size: 1.55rem; list-style: none; }
.nlxr-db-v2-overflow summary::-webkit-details-marker { display: none; }
.nlxr-db-v2-overflow summary:hover,
.nlxr-db-v2-overflow[open] summary { background: rgba(79, 141, 32, .08); }
.nlxr-db-v2-overflow > div { position: absolute; z-index: 10; top: 48px; right: 0; display: grid; min-width: 190px; padding: 6px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fffef8; box-shadow: 0 12px 28px rgba(20, 48, 35, .16); }
.nlxr-db-v2-overflow button { min-height: 44px; padding: 9px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--v2-ink); cursor: pointer; text-align: left; font-size: .78rem; }
.nlxr-db-v2-overflow button:hover { background: var(--v2-warm); color: var(--v2-green-deep); }

/* Single Project Dashboard refresh */
.nlxr-db-v2-projects-action {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #cbd8bc;
    border-radius: 12px;
    background: #f8fbf1;
    color: var(--v2-green-deep);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 750;
}
.nlxr-db-v2-projects-action:hover { border-color: #aeca8f; background: #f1f7e9; }
.nlxr-db-v2-sync.is-offline { color: #a25d20; }
.nlxr-db-v2-sync.is-offline i { background: #d28329; box-shadow: 0 0 0 3px rgba(210, 131, 41, .14); }
.nlxr-db-v2-area-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 64px;
    padding: 9px 0;
    border: 0;
    border-top: 1px solid #e7ecdf;
    background: transparent;
    color: var(--v2-ink);
    cursor: pointer;
    text-align: left;
}
.nlxr-db-v2-area-row:first-of-type { border-top: 0; }
.nlxr-db-v2-area-row:hover { color: var(--v2-green-deep); }
.nlxr-db-v2-area-row > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.nlxr-db-v2-area-row strong { font-size: .9rem; overflow-wrap: anywhere; }
.nlxr-db-v2-area-row small { color: var(--v2-muted); font-size: .73rem; overflow-wrap: anywhere; }
.nlxr-db-v2-area-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid #d7e3c9;
    border-radius: 12px;
    background: #f2f7e9;
    color: #5d912d;
    font-size: 1.15rem;
}
.nlxr-db-v2-area-row.is-current .nlxr-db-v2-area-icon { border-color: #a9c889; background: #e5f1d5; }
.nlxr-db-v2-area-state { display: inline-flex; align-items: center; gap: 3px; color: var(--v2-muted); font-size: .7rem; font-weight: 700; white-space: nowrap; }
.nlxr-db-v2-area-state b { color: var(--v2-green); font-size: 1.1rem; font-weight: 400; }
.nlxr-db-v2-map-workspace {
    display: grid;
    gap: 12px;
    min-width: 0;
}
.nlxr-db-v2-map-workspace-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 2px 0;
}
.nlxr-db-v2-map-workspace-heading h2 { margin: 3px 0 2px; color: var(--v2-ink); font-size: clamp(1.35rem, 3vw, 1.8rem); }
.nlxr-db-v2-map-workspace-heading p:not(.nlxr-db-v2-eyebrow) { margin: 0; color: var(--v2-muted); font-size: .82rem; }
.nlxr-db-v2-map-status { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #cbd8bc; border-radius: 999px; background: #f1f7e9; color: var(--v2-green-deep); font-size: .7rem; font-weight: 750; }
.nlxr-db-v2-map-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    padding: 2px;
}
.nlxr-db-v2-map-toolbar > span {
    color: var(--v2-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.nlxr-db-v2-map-toolbar > div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}
.nlxr-db-v2-map-toolbar button {
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #cbd8bc;
    border-radius: 11px;
    background: #fbfcf7;
    color: var(--v2-green-deep);
    cursor: pointer;
    font-size: .76rem;
    font-weight: 750;
    list-style: none;
}
.nlxr-db-v2-map-toolbar button[aria-pressed="false"] { opacity: .5; text-decoration: line-through; }
.nlxr-db-v2-map-node em { color: #f0c67a; font-size: .62rem; font-style: normal; line-height: 1; }
[data-map-layer].is-layer-hidden { visibility: hidden; opacity: 0; transition: opacity .16s ease; }
.nlxr-db-v2-map-summary { display: flex; flex-wrap: wrap; gap: 7px; color: var(--v2-muted); font-size: .76rem; }
.nlxr-db-v2-map-summary span { padding: 6px 9px; border: 1px solid #d8e2d0; border-radius: 999px; background: #fbfcf7; }
.nlxr-db-v2-map-controls {
    display: grid;
    gap: 14px;
    padding: clamp(15px, 2.5vw, 21px);
    border: 1px solid #d7e3ce;
    border-radius: 18px;
    background: linear-gradient(145deg, #fbfdf8, #f0f6eb);
    box-shadow: 0 10px 24px rgba(38, 75, 42, .06);
}
.nlxr-db-v2-map-controls-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.nlxr-db-v2-map-controls-heading h3 { margin: 3px 0 3px; color: var(--v2-ink); font-size: 1.08rem; }
.nlxr-db-v2-map-controls-heading p:not(.nlxr-db-v2-eyebrow) { max-width: 66ch; margin: 0; color: var(--v2-muted); font-size: .78rem; line-height: 1.45; }
.nlxr-db-v2-map-photo-state { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #c9ddbd; border-radius: 999px; background: #f7fbf2; color: var(--v2-green-deep); font-size: .68rem; font-weight: 800; white-space: nowrap; }
.nlxr-db-v2-map-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.nlxr-db-v2-map-action { position: relative; display: flex; align-items: flex-start; gap: 9px; min-width: 0; min-height: 67px; padding: 11px 12px; border: 1px solid #cfdcca; border-radius: 13px; background: rgba(255,255,255,.78); color: var(--v2-ink); text-align: left; cursor: pointer; }
.nlxr-db-v2-map-action:hover, .nlxr-db-v2-map-action:focus-within { border-color: #8aac74; box-shadow: 0 0 0 3px rgba(116, 161, 83, .12); }
.nlxr-db-v2-map-action-icon { display: grid; flex: 0 0 auto; place-items: center; width: 27px; height: 27px; border-radius: 9px; background: #e5f1d9; color: #47773f; font-size: 1.05rem; font-weight: 700; line-height: 1; }
.nlxr-db-v2-map-action > span:last-of-type { display: grid; gap: 3px; min-width: 0; }
.nlxr-db-v2-map-action strong, .nlxr-db-v2-map-export strong { color: #2f583c; font-size: .75rem; line-height: 1.2; }
.nlxr-db-v2-map-action small, .nlxr-db-v2-map-export small { color: #6a7c6d; font-size: .67rem; line-height: 1.35; }
.nlxr-db-v2-map-photo-upload input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.nlxr-db-v2-map-area-links-section { display: grid; gap: 9px; padding-top: 2px; }
.nlxr-db-v2-map-area-links-section > div:first-child { display: grid; gap: 3px; }
.nlxr-db-v2-map-area-links-section > div:first-child strong { color: #385f44; font-size: .78rem; }
.nlxr-db-v2-map-area-links-section > div:first-child small { color: #718173; font-size: .7rem; }
.nlxr-db-v2-map-area-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 7px; }
.nlxr-db-v2-map-area-link { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 9px 10px; border: 1px solid #d1dfca; border-radius: 12px; background: rgba(255,255,255,.7); color: var(--v2-ink); text-align: left; cursor: pointer; }
.nlxr-db-v2-map-area-link:hover, .nlxr-db-v2-map-area-link:focus-visible { border-color: #86a973; outline: 0; box-shadow: 0 0 0 3px rgba(116, 161, 83, .12); }
.nlxr-db-v2-map-area-link-icon { display: grid; flex: 0 0 auto; place-items: center; width: 25px; height: 25px; border-radius: 8px; background: #e8f2df; color: #4c7d43; font-size: .95rem; }
.nlxr-db-v2-map-area-link > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.nlxr-db-v2-map-area-link strong { overflow-wrap: anywhere; color: #315a3f; font-size: .72rem; }
.nlxr-db-v2-map-area-link small { color: #78887b; font-size: .63rem; line-height: 1.25; }
.nlxr-db-v2-map-area-link b { margin-left: auto; color: #5d8b4b; font-size: 1rem; font-weight: 500; }
.nlxr-db-v2-map-controls-empty { margin: 0; color: #7a887c; font-size: .72rem; }
.nlxr-db-v2-map-export { display: flex; align-items: center; gap: 9px; padding: 10px 11px; border: 1px dashed #c8d6c1; border-radius: 12px; background: rgba(247, 251, 243, .72); }
.nlxr-db-v2-map-export > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.nlxr-db-v2-map-export-badge { flex: 0 0 auto; margin-left: auto; color: #7b887c; font-size: .63rem; font-weight: 800; white-space: nowrap; }
.nlxr-db-v2-map-status-text { margin: 0; color: #617464; font-size: .68rem; line-height: 1.4; }
.nlxr-db-v2-map-legend { gap: 7px 12px; }
.nlxr-db-v2-map-legend i.is-plant { background: #7ebd51; }

@media (max-width: 620px) {
    .nlxr-db-v2-projects-action { padding-inline: 9px; }
    .nlxr-db-v2-map-workspace-heading { align-items: flex-start; }
    .nlxr-db-v2-map-toolbar > span { flex-basis: 100%; }
    .nlxr-db-v2-map-toolbar > div { width: 100%; }
    .nlxr-db-v2-map-toolbar button { flex: 1 1 auto; text-align: center; }
    .nlxr-db-v2-map-controls-heading { display: grid; }
    .nlxr-db-v2-map-photo-state { justify-self: start; }
    .nlxr-db-v2-map-actions { grid-template-columns: 1fr; }
    .nlxr-db-v2-area-row { grid-template-columns: 36px minmax(0, 1fr) auto; }
    .nlxr-db-v2-area-state { font-size: 0; }
    .nlxr-db-v2-area-state b { font-size: 1.25rem; }
}
.nlxr-db-v2-map-mode { color: #cce88c !important; font-weight: 750 !important; }
.nlxr-db-v2-map-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 8px 2px 0; color: #a6bd9f; font-size: .65rem; }
.nlxr-db-v2-map-legend span { display: inline-flex; align-items: center; gap: 5px; }
.nlxr-db-v2-map-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #c9eb7d; }
.nlxr-db-v2-map-legend i.is-link { width: 13px; height: 2px; border-radius: 0; background: #c9eb7d; }
.nlxr-db-v2-map-legend i.is-totem { border: 1px solid #f0bd63; background: transparent; }
.nlxr-db-v2-map-legend { color: #f5fff4; }
.nlxr-db-v2-map-legend span { color: rgba(245,255,244,.86); }
.nlxr-db-v2-readiness-card > p { margin: 0; color: var(--v2-muted); font-size: .86rem; }
.nlxr-db-v2-readiness-state { color: var(--v2-muted); font-size: .74rem; font-weight: 750; }
.nlxr-db-v2-readiness-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 14px; }
.nlxr-living-map-sheet { position: fixed; z-index: 30; right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); left: 50%; width: min(520px, calc(100vw - 28px)); padding: 16px; transform: translateX(-50%); border: 1px solid #bfd1a9; border-radius: 17px; background: rgba(255, 255, 249, .98); box-shadow: 0 18px 45px rgba(20, 48, 35, .22); color: var(--v2-ink); }
.nlxr-living-map-sheet > div:first-child { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nlxr-living-map-sheet h2 { margin: 2px 0; font-size: 1.15rem; }
.nlxr-living-map-sheet p { color: var(--v2-muted); font-size: .82rem; }
.nlxr-living-map-sheet > div:first-child button { min-width: 44px; min-height: 44px; border: 0; border-radius: 10px; background: transparent; color: var(--v2-muted); cursor: pointer; font-size: 1.5rem; }
.nlxr-living-map-sheet > div:nth-last-child(1) { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.nlxr-living-map-sheet > div:last-child button { min-height: 44px; padding: 9px 12px; border: 1px solid #cbd8bc; border-radius: 10px; background: #f6faef; color: var(--v2-green-deep); cursor: pointer; font-size: .78rem; font-weight: 700; }
.nlxr-living-map-sheet > div:last-child button:first-child { border-color: #2e762d; background: #347e31; color: #fff; }
.project-guide-topic-status { margin-left: auto; border-radius: 999px; padding: 4px 7px; font-size: .62rem; font-weight: 750; letter-spacing: .02em; }
.project-guide-topic-status.is-available { background: #e6f2dc; color: #3c762a; }
.project-guide-topic-status.is-experimental { background: #fff0d5; color: #9a6417; }
.project-guide-topic-status.is-planned { background: #eef0eb; color: #68736a; }

@media (max-width: 620px) {
    .nlxr-db-v2-overflow > div { position: fixed; top: 66px; right: 14px; }
    .nlxr-db-v2-readiness-actions { justify-content: flex-start; }
    .nlxr-db-v2-map-legend { gap: 6px 10px; }
    .project-guide-preview-topic summary { gap: 7px; }
    .project-guide-topic-status { font-size: .57rem; }
}

@media (prefers-reduced-motion: reduce) {
    .nlxr-db-v2-map-node,
    .nlxr-db-v2-primary-actions button,
    .project-guide-faq-question i { transition: none; }
}

/* Shared shell for the three consecutive entry screens. The Dashboard sets
   the visual language; Intro and Project Selection reuse the same surface,
   grid, type and action tokens while keeping their distinct warm accents. */
body:has(.app-surface) {
    background:
        radial-gradient(circle at 8% 5%, rgba(147, 164, 91, .15), transparent 30rem),
        radial-gradient(circle at 94% 26%, rgba(194, 137, 72, .09), transparent 25rem),
        linear-gradient(135deg, #f7f6ef 0%, #eef3e8 52%, #e9f0f0 100%);
    color: var(--nlxr-text);
}

#app:has(.app-surface) {
    width: min(1180px, calc(100% - 32px));
    max-width: 1180px;
    padding: 20px 16px max(48px, env(safe-area-inset-bottom));
}

.app-surface {
    --app-ink: #18261b;
    --app-muted: #68736a;
    --app-line: #d5ddcb;
    --app-surface: rgba(255, 255, 249, .94);
    --app-green: #4f8d20;
    --app-green-deep: #285d27;
    --app-warm: #f7f7ef;
    width: 100%;
    min-width: 0;
    color: var(--app-ink);
}

.app-surface-intro,
.app-surface-selection { max-width: 820px; margin-inline: auto; }
.app-surface .page-header {
    position: relative;
    gap: 5px;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--app-line);
    border-radius: 18px;
    background: var(--app-surface);
    box-shadow: 0 8px 22px rgba(44, 67, 36, .055);
}
.app-surface .page-header::after { display: none; }
.app-surface .page-header .ghost {
    width: fit-content;
    min-height: 44px;
    margin: 0 0 4px;
    padding: 8px 12px;
    border: 1px solid var(--app-line);
    border-radius: 11px;
    background: #fbfcf7;
    color: var(--app-green-deep);
    font-size: .78rem;
    font-weight: 750;
}
.app-surface .page-header .ghost:hover { border-color: #aeca8f; background: #f1f7e9; }
.app-surface .welcome-label,
.app-surface .project-section-title {
    color: #687c43;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.2;
}
.app-surface .page-header h1 {
    margin: 4px 0 0;
    color: var(--app-ink);
    font-size: clamp(1.65rem, 3.5vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08;
}
.app-surface .page-header .subtitle { margin-top: 4px; color: var(--app-muted); font-size: .86rem; }
.app-surface .panel,
.app-surface .project-section,
.app-surface .intro-copy,
.app-surface .role-choice {
    border: 1px solid var(--app-line);
    border-radius: 17px;
    background: var(--app-surface);
    box-shadow: 0 8px 22px rgba(44, 67, 36, .055);
}

.app-surface-intro .intro-heading { padding: 18px; }
.app-surface-intro .intro-copy {
    padding: clamp(20px, 4vw, 34px);
    background: linear-gradient(145deg, rgba(248, 245, 217, .92), rgba(230, 240, 225, .94));
}
.app-surface-intro .intro-copy h2 { color: var(--app-ink); font-size: clamp(2rem, 6vw, 4rem); }
.app-surface-intro .intro-copy p { max-width: 66ch; color: #4d5d50; font-size: .92rem; }
.app-surface-intro .role-choice { display: grid; gap: 12px; padding: 16px; }
.app-surface-intro .role-choice {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    align-content: start;
}
.app-surface-intro .role-choice > h2 { margin: 0; color: var(--app-ink); font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
.app-surface-intro .role-grid,
.app-surface-intro .welcome-complementary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column: 1;
    min-width: 0;
    gap: 10px;
}
.app-surface-intro .role-card,
.app-surface-intro .role-card:nth-child(even),
.app-surface-intro .welcome-complementary-card,
.app-surface-intro .welcome-complementary-card:first-child,
.app-surface-intro .welcome-complementary-card:last-child {
    min-height: 96px;
    padding: 17px;
    border: 1px solid var(--app-line);
    border-radius: 14px;
    color: var(--app-ink);
    box-shadow: none;
}

/* Final cascade for the LIM touch targets. Older demo rules intentionally
   reset generic buttons; these targets retain the accessible minimum after
   those compatibility rules while the canvas remains the visual surface. */
.tryit-live-welcome button[data-welcome-cell] {
    display:grid; place-items:center; min-width:48px !important; min-height:48px !important;
    padding:4px !important; border:1px solid rgba(239,255,220,.62) !important;
    border-radius:0; background:rgba(38,82,52,.82) !important;
    color:rgba(255,255,245,.98); font:650 clamp(.52rem,1.8vw,.76rem)/1.05 system-ui,sans-serif;
    text-align:center; text-shadow:0 1px 3px rgba(0,0,0,.8); pointer-events:auto;
}
.tryit-demo.is-immersive .tryit-live-welcome button[data-welcome-cell] {
    border-color:transparent !important; background:transparent !important; color:transparent;
}
@media (max-width:620px) {
    /* Keep the established LIM coordinate map readable on portrait screens.
       The frame is intentionally wider than the viewport and remains centered;
       the 2500x2100 canvas therefore keeps a usable cell radius instead of
       shrinking the honeycomb into overlapping targets. */
    .tryit-live-welcome {
        inset:50% auto auto 50%;
        width:700px;
        min-width:700px;
        max-width:none;
        height:auto;
        aspect-ratio:2500 / 2100;
        transform:translate(-50%,-50%);
        overflow:visible;
    }
    .tryit-live-welcome button[data-welcome-cell] { min-width:54px !important; min-height:54px !important; font-size:.76rem; }
}
@media screen and (orientation:landscape) and (max-height:720px) {
    /* The height-based desktop formula made the LIM unreadably small on a
       landscape phone. Keep its established coordinates and frame the useful
       centre beside the companion panel instead of shrinking the octagon. */
    .tryit-live-welcome {
        inset:44% auto auto 67%;
        width:620px;
        min-width:620px;
        max-width:none;
        height:auto;
        aspect-ratio:2500 / 2100;
        transform:translate(-50%,-50%);
        overflow:visible;
    }
    .tryit-live-welcome button[data-welcome-cell] { min-width:52px !important; min-height:52px !important; font-size:.72rem; }
}
.app-surface-intro .creator-role { border-left: 4px solid #2f754b; background: #e7f2e7; }
.app-surface-intro .role-card.visitor-role,
.app-surface-intro .role-card.visitor-role:nth-child(even) { border-left: 4px solid #3973a2; background: #e7eef5; }
.app-surface-intro .role-card.welcome-complementary-card:first-child { border-left: 4px solid #bd8735; background: #f7efda; }
.app-surface-intro .role-card.welcome-complementary-card:last-child { border-left: 4px solid #b55c3f; background: #f6e8e1; }
.app-surface-intro .role-card strong,
.app-surface-intro .welcome-complementary-card strong { color: var(--app-ink); font-size: .95rem; }
.app-surface-intro .role-card span,
.app-surface-intro .welcome-complementary-card > span,
.app-surface-intro .welcome-complementary-card:first-child > span,
.app-surface-intro .welcome-complementary-card:last-child > span { color: var(--app-muted) !important; font-size: .72rem; line-height: 1.35; }
.app-surface-intro .page-header *,
.app-surface-intro .intro-copy *,
.app-surface-intro .role-choice * { min-width: 0; max-width: 100%; }
.app-surface-intro .page-header .subtitle { white-space: normal; overflow-wrap: anywhere; }
.app-surface-intro .role-card::after { color: var(--app-green); }
.app-surface-intro .platform-landing-nav { gap: 8px; }
.app-surface-intro .platform-landing-nav button {
    min-height: 44px;
    border: 1px solid var(--app-line);
    border-radius: 11px;
    background: rgba(255, 255, 249, .72);
    color: var(--app-green-deep);
}

.app-surface-selection { gap: 16px; }
.app-surface-selection .page-header { padding: 18px; }
.app-surface-selection .project-section { display: grid; gap: 12px; padding: 16px; }
.app-surface-selection .project-selection-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}
.app-surface-selection .project-selection-row,
.app-surface-selection .project-selection-list .project-selection-row {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    min-height: 92px;
    padding: 16px;
    border: 1px solid var(--app-line);
    border-radius: 14px;
    background: #fbfcf7;
    box-shadow: 0 5px 14px rgba(44, 67, 36, .045);
    color: var(--app-ink);
}
.app-surface-selection .project-selection-row:nth-child(even) { border-radius: 14px; background: #f5f8f0; }
.app-surface-selection .project-selection-row strong { color: var(--app-ink); font-size: .96rem; }
.app-surface-selection .project-selection-row:hover,
.app-surface-selection .project-selection-row:focus-visible { border-color: #aeca8f; background: #f1f7e9; transform: translateY(-2px); }
.app-surface-selection .project-selection-list .create-project-action {
    grid-column: 1 / -1;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    border-color: #2f754b;
    background: #2f754b;
    color: #fff;
}
.app-surface-selection .project-selection-list .create-project-action strong { color: #fff; }
.app-surface-selection .project-selection-list .create-project-action:hover { background: #235c42; }

.nlxr-db-v2-close-project { display: flex; justify-content: center; padding-top: 4px; }
.nlxr-db-v2-close-project button {
    width: min(100%, 320px);
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid #cbd8bc;
    border-radius: 12px;
    background: transparent;
    color: var(--v2-green-deep);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 750;
}
.nlxr-db-v2-close-project button:hover,
.nlxr-db-v2-close-project button:focus-visible { border-color: #aeca8f; background: #f1f7e9; }

@media (max-width: 620px) {
    #app:has(.app-surface) { padding: 14px 14px max(32px, env(safe-area-inset-bottom)); }
    .app-surface-intro .role-grid,
    .app-surface-intro .welcome-complementary-grid,
    .app-surface-selection .project-selection-list { grid-template-columns: 1fr; }
    .app-surface-intro .role-card,
    .app-surface-intro .role-card:nth-child(even),
    .app-surface-intro .welcome-complementary-card { min-height: 84px; }
}
