
/* ChickFarm Living Farm v6.0 — immersive 3D world */
.lf3d-section{position:relative;padding:40px 0 64px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));overflow:hidden}
.lf3d-section::before,.lf3d-section::after{content:"";position:absolute;border-radius:50%;filter:blur(18px);pointer-events:none;opacity:.6}
.lf3d-section::before{width:480px;height:480px;left:-120px;top:140px;background:radial-gradient(circle,var(--nova-glow),transparent 68%)}
.lf3d-section::after{width:420px;height:420px;right:-70px;bottom:-120px;background:radial-gradient(circle,rgba(255,208,122,.15),transparent 70%)}
.lf3d-shell{display:grid;grid-template-columns:minmax(300px,410px) minmax(0,1fr);gap:26px;align-items:stretch}
.lf3d-copy,.lf3d-stage-wrap{position:relative;z-index:1}
.lf3d-copy{padding:28px;border:1px solid var(--world-border,rgba(255,255,255,.12));border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.035));box-shadow:0 18px 40px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.lf3d-label{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--world-border,rgba(255,255,255,.18));font-size:11px;font-weight:900;letter-spacing:.22em;color:var(--world-emphasis,var(--nova-acid));text-transform:uppercase;background:rgba(255,255,255,.04)}
.lf3d-copy h2{margin:18px 0 14px;font-size:clamp(2.1rem,4vw,4rem);line-height:.96;color:var(--world-ink,var(--nova-text));letter-spacing:-.04em}
.lf3d-copy h2 em{font-style:normal;color:var(--nova-acid)}
.lf3d-copy p{margin:0;color:var(--world-muted,var(--nova-dim));font-size:1rem;line-height:1.7}
.lf3d-pills,.lf3d-features,.lf3d-destinations{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.lf3d-pills span,.lf3d-features span{display:inline-flex;align-items:center;padding:10px 12px;border-radius:999px;border:1px solid var(--world-border,rgba(255,255,255,.16));background:rgba(255,255,255,.045);font-size:12px;font-weight:800;color:var(--world-ink,var(--nova-text));letter-spacing:.04em}
.lf3d-world-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.lf3d-world-status div{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid var(--world-border,rgba(255,255,255,.12))}
.lf3d-world-status strong{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--world-emphasis,var(--nova-acid));margin-bottom:5px}
.lf3d-world-status span{font-size:15px;font-weight:800;color:var(--world-ink,var(--nova-text))}
.lf3d-destinations button{cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:13px 15px;border-radius:18px;border:1px solid var(--world-border,rgba(255,255,255,.14));background:rgba(255,255,255,.03);color:var(--world-ink,var(--nova-text));font:inherit;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease}
.lf3d-destinations button:hover,.lf3d-destinations button.is-active{transform:translateY(-2px);background:rgba(255,255,255,.095);border-color:rgba(255,255,255,.32);box-shadow:0 10px 18px rgba(0,0,0,.14)}
.lf3d-destinations small{display:block;font-size:10px;letter-spacing:.12em;opacity:.72}
.lf3d-action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.lf3d-main-cta,.lf3d-secondary-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;padding:14px 18px;border-radius:18px;font-weight:900;letter-spacing:.04em;transition:transform .18s ease, box-shadow .18s ease, background .18s ease}
.lf3d-main-cta{background:var(--nova-acid);color:var(--world-on-accent,#102417);box-shadow:0 12px 26px color-mix(in srgb,var(--nova-acid) 40%, transparent)}
.lf3d-secondary-cta{background:rgba(255,255,255,.04);border:1px solid var(--world-border,rgba(255,255,255,.14));color:var(--world-ink,var(--nova-text))}
.lf3d-main-cta:hover,.lf3d-secondary-cta:hover{transform:translateY(-2px)}
.lf3d-stage-wrap{padding:18px;border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.035));border:1px solid var(--world-border,rgba(255,255,255,.12));box-shadow:0 22px 44px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.lf3d-stage-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;color:var(--world-ink,var(--nova-text))}
.lf3d-stage-top strong{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--world-emphasis,var(--nova-acid))}
.lf3d-mini-controls{display:flex;flex-wrap:wrap;gap:8px}
.lf3d-mini-controls button{cursor:pointer;border:1px solid var(--world-border,rgba(255,255,255,.14));background:rgba(255,255,255,.04);color:var(--world-ink,var(--nova-text));border-radius:999px;padding:9px 12px;font:inherit;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.lf3d-mini-controls button:hover{background:rgba(255,255,255,.1)}
.lf3d-stage{position:relative;min-height:620px;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 55% 50%,rgba(255,255,255,.08),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08)}
.lf3d-canvas{display:block;width:100%;height:620px;outline:none;cursor:grab}
.lf3d-canvas:active{cursor:grabbing}
.lf3d-overlay{pointer-events:none;position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:18px}
.lf3d-weather,.lf3d-hint{display:inline-flex;align-self:flex-start;padding:9px 12px;border-radius:999px;background:rgba(10,18,26,.45);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#f5fbff}
.lf3d-hint{align-self:flex-end}
.lf3d-selected{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border-radius:22px;background:rgba(8,16,22,.74);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);box-shadow:0 18px 30px rgba(0,0,0,.28)}
.lf3d-selected strong{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--nova-acid);margin-bottom:4px}
.lf3d-selected h3{margin:0 0 5px;color:#f8fdff;font-size:clamp(1.15rem,2.4vw,1.5rem)}
.lf3d-selected p{margin:0;color:#d7e7ef;font-size:.96rem;line-height:1.55}
.lf3d-selected a{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-decoration:none;background:var(--nova-acid);color:var(--world-on-accent,#102417);padding:13px 18px;border-radius:16px;font-weight:900;letter-spacing:.05em}
.lf3d-fallback{display:none;margin-top:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.lf3d-fallback a{display:block;text-decoration:none;padding:16px;border-radius:18px;border:1px solid var(--world-border,rgba(255,255,255,.12));background:rgba(255,255,255,.045);color:var(--world-ink,var(--nova-text));transition:transform .16s ease,background .16s ease}
.lf3d-fallback a:hover{transform:translateY(-2px);background:rgba(255,255,255,.09)}
.lf3d-fallback strong{display:block;font-size:14px;margin-bottom:4px}.lf3d-fallback small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--world-emphasis,var(--nova-acid));margin-bottom:8px}.lf3d-fallback p{margin:0;color:var(--world-muted,var(--nova-dim));font-size:13px;line-height:1.5}
.lf3d-mobile-note{margin-top:12px;font-size:13px;color:var(--world-muted,var(--nova-dim))}
body[data-theme="midnight"] .lf3d-stage{background:radial-gradient(circle at 50% 22%,rgba(119,230,255,.12),transparent 28%),linear-gradient(180deg,#0b1630,#11294a 58%,#0f1e34)}
body[data-theme="arcade"] .lf3d-stage{background:radial-gradient(circle at 55% 20%,rgba(255,145,252,.12),transparent 28%),linear-gradient(180deg,#1e133b,#2e2158 60%,#23163f)}
body[data-theme="harvest"] .lf3d-stage{background:radial-gradient(circle at 55% 20%,rgba(196,255,106,.12),transparent 28%),linear-gradient(180deg,#112b21,#193927 60%,#14261c)}
@media (max-width: 1100px){.lf3d-shell{grid-template-columns:1fr}.lf3d-stage{min-height:560px}.lf3d-canvas{height:560px}}
@media (max-width: 820px){.lf3d-world-status{grid-template-columns:1fr 1fr}.lf3d-selected{grid-template-columns:1fr}.lf3d-selected a{justify-self:flex-start}.lf3d-stage{min-height:460px}.lf3d-canvas{height:460px}.lf3d-hint{display:none}}
@media (max-width: 760px){.lf3d-shell{gap:18px}.lf3d-copy,.lf3d-stage-wrap{padding:16px}.lf3d-stage{min-height:auto}.lf3d-canvas,.lf3d-overlay{display:none}.lf3d-fallback{display:grid}.lf3d-mobile-note{display:block}}
@media (prefers-reduced-motion: reduce){.lf3d-destinations button,.lf3d-main-cta,.lf3d-secondary-cta,.lf3d-fallback a{transition:none}}

/* Robust fallback for browsers without WebGL and when 3D dependencies fail. */
[data-world-root][data-world-mode="fallback"] .lf3d-stage{display:none!important}
[data-world-root][data-world-mode="fallback"] .lf3d-stage-top{display:none!important}
[data-world-root][data-world-mode="fallback"] .lf3d-fallback{display:grid!important}
[data-world-root][data-world-mode="fallback"] .lf3d-mobile-note{display:block!important}
