:root{--color-bg-base:#0a0f0c;--color-bg-elevated:#0d1210;--color-bg-surface:#141a16;--color-bg-gradient:linear-gradient(160deg, #141a16 0%, #0a0f0c 50%, #0d1210 100%);--color-bg-modal:#0a0f0c;--color-bg-modal-gradient-top:linear-gradient(to bottom, #0a0f0cf2 70%, transparent);--color-bg-modal-gradient-bottom:linear-gradient(to top, #0a0f0cf2 60%, transparent);--color-bg-starred:#141004f7;--color-bg-starred-gradient-top:linear-gradient(to bottom, #141004f2 70%, transparent);--color-bg-starred-gradient-bottom:linear-gradient(to top, #141004f2 60%, transparent);--color-bg-glow:radial-gradient(circle at 30% 40%, #4a7c4e1f 0%, transparent 50%);--map-tile-filter:brightness(.55) saturate(.7) hue-rotate(-8deg);--glass-light:#ffffff0a;--glass-default:#ffffff0f;--glass-medium:#ffffff14;--glass-heavy:#ffffff1a;--glass-hover:#ffffff1f;--glass-active:#ffffff26;--glass-pressed:#ffffff2e;--glass-blur:20px;--glass-blur-light:12px;--glass-blur-heavy:32px;--color-primary:#5a9a64;--color-primary-light:#7ab882;--color-primary-dark:#4a7c4e;--color-primary-muted:#3d6641;--color-primary-tint-light:#4a7c4e14;--color-primary-tint:#4a7c4e26;--color-primary-tint-medium:#4a7c4e33;--color-primary-tint-strong:#4a7c4e59;--color-accent-gold:#c9a962;--color-accent-gold-bright:#f0b429;--color-accent-gold-light:#d4bc7a;--color-accent-gold-dark:#a68b4b;--color-accent-gold-tint:#c9a96240;--color-accent-gold-glow:#f0b4292e;--color-accent-brown:#8b7355;--color-accent-brown-tint:#8b735533;--color-user-location:#4a90d9;--color-user-location-glow:#4a90d940;--color-text-primary:#fff;--color-text-secondary:#ffffffd9;--color-text-muted:#ffffff80;--color-text-hint:#ffffff59;--color-text-accent:#7ab882;--color-text-gold:#f0b429;--color-deadly:#b03232;--color-deadly-tint:#b0323238;--color-toxic:#c75f5f;--color-toxic-tint:#c75f5f33;--color-inedible:#c9a962;--color-inedible-tint:#c9a96233;--color-conditional:#c9a962;--color-conditional-tint:#c9a96233;--color-edible:#5a9a64;--color-edible-tint:#5a9a6433;--color-unknown:#ffffff4d;--color-unknown-tint:#ffffff12;--color-success:#5a9a64;--color-success-tint:#5a9a6433;--color-warning:#c9a962;--color-warning-tint:#c9a96233;--color-error:#c75f5f;--color-error-tint:#c75f5f33;--color-info:#5a8fb8;--color-info-tint:#5a8fb833;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-card:20px;--radius-card-lg:24px;--radius-modal:28px;--radius-pill:9999px;--radius-button:9999px;--radius-icon:50%;--radius-input:16px;--radius-full:50%;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-card:14px;--space-modal:20px;--space-section-gap:18px;--space-modal-side:44px;--space-bottom-safe:max(16px, env(safe-area-inset-bottom));--font-sans:"Nunito", system-ui, -apple-system, sans-serif;--font-serif:"Nunito", system-ui, sans-serif;--font-heading:"Cherry Bomb One", cursive;--font-button:"Cherry Bomb One", cursive;--text-display:28px;--text-title:22px;--text-title-sm:18px;--text-heading:15px;--text-body:14px;--text-body-sm:13px;--text-caption:11px;--text-micro:10px;--text-nano:9px;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.05em;--tracking-caps:.08em;--shadow-glass:0 4px 24px #00000026;--shadow-glass-lg:0 8px 32px #0003;--shadow-glow-primary:0 0 20px #5a9a6440;--shadow-glow-gold:0 0 20px #c9a96233;--shadow-glow-gold-strong:0 0 0 2.5px #f0b429, 0 0 14px #f0b42973;--shadow-button:0 2px 12px #0006;--shadow-fab:0 4px 20px #0006;--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.25s;--duration-moderate:.35s;--duration-slow:.5s;--ease-default:ease-out;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--duration-pulse:2s;--duration-sway:3s;--duration-bob:2.5s;--btn-primary-bg:#4a7c4e;--btn-primary-color:#fff;--btn-primary-shadow:0 2px 12px #4a7c4e4d;--btn-secondary-bg:#ffffff14;--btn-secondary-border:1px solid #ffffff1f;--btn-secondary-color:#ffffffd9;--btn-ghost-color:#ffffff80;--btn-danger-color:#c75f5f99;--fab-size:44px;--fab-bg:#0a0f0ca6;--fab-border:1px solid #ffffff1f;--fab-blur:blur(12px);--nav-height:64px;--nav-tab-width:58px;--nav-scan-size:48px;--nav-bottom-offset:32px;--pin-expert:36px;--pin-expert-starred:40px;--pin-user:20px;--pin-mushroom:36px;--badge-confidence-bg:#0a0f0ca6;--badge-confidence-blur:blur(8px);--badge-confidence-border:1.5px solid #fff3}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-family,"Urbanist", system-ui, -apple-system, sans-serif);font-size:var(--text-body);font-weight:var(--font-regular);color:var(--color-text-primary);background:var(--color-bg-base);min-height:100dvh;line-height:1.4}#root,.app-container{background:var(--color-bg-gradient);min-height:100dvh;position:relative}.app-container:before{content:"";background:var(--color-bg-glow);pointer-events:none;z-index:0;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-medium);letter-spacing:var(--tracking-normal);color:var(--color-text-primary)}p{color:var(--color-text-secondary);line-height:1.5}a{color:var(--color-primary-light);text-decoration:none}button,a[style*=cursor]{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;outline:none;transition:transform .1s,opacity .1s}button:active,a[style*=cursor]:active{transform:scale(.96)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes star-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}70%{transform:scale(.9)}to{transform:scale(1)}}.glass-card{background:var(--glass-light);border-radius:var(--radius-card);padding:var(--space-card);border:none}.glass-card-selected{background:var(--color-primary-tint);border:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
