.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;height:var(--nav-height);padding-bottom:var(--safe-bottom);display:flex;background:var(--surface);border-top:1px solid var(--border);transition:background .6s ease,border-color .6s ease}.bottom-nav a{flex:1;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text-secondary);font-size:14px}.bottom-nav a.active{color:var(--accent);font-weight:600}[data-theme]:not([data-theme=day]) .bottom-nav{background:var(--accent);border-top-color:transparent}[data-theme]:not([data-theme=day]) .bottom-nav a{color:#fff9}[data-theme]:not([data-theme=day]) .bottom-nav a.active{color:var(--bg)}.app-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-total);padding-top:var(--safe-top);box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:var(--surface);border-bottom:1px solid var(--border);font-size:1.1em;font-weight:700;color:var(--accent);transition:background .6s ease,border-color .6s ease,color .6s ease}.app-header-title{margin:0;font-size:inherit;font-weight:inherit}.app-header-start,.app-header-end{position:absolute;bottom:0;height:var(--header-height);display:flex;align-items:center}.app-header-start{left:14px}.app-header-end{right:14px;gap:14px}.header-link{display:flex;align-items:center;text-decoration:none;line-height:1;color:var(--accent)}.header-link--back{font-size:26px;font-weight:400}.header-link--icon{font-size:22px}.header-link--text{font-size:15px;font-weight:600}[data-theme]:not([data-theme=day]) .app-header{background:var(--accent);border-bottom-color:transparent;color:var(--bg)}[data-theme]:not([data-theme=day]) .header-link{color:var(--bg)}@media(min-width:1000px){.app-header{font-size:2em}}.bloom-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface);transition:background .6s ease,border-color .6s ease}.bloom-row--unread{background:var(--unread-bg)}.bloom-emoji{font-size:24px;flex-shrink:0;width:36px;text-align:center}.bloom-body{display:flex;flex-direction:column;gap:2px;min-width:0}.bloom-text{font-size:14px;color:var(--text-primary);line-height:1.4}.bloom-time{font-size:12px;color:var(--text-muted)}.bloom-list{min-height:100%;box-sizing:border-box;background:var(--bg)}.bloom-empty{margin:0;padding:48px 24px;text-align:center;color:var(--text-muted)}.dirt{background-color:#7a4f2a;background-image:radial-gradient(ellipse 3px 2px at 12% 18%,#4a2e0e 0%,transparent 100%),radial-gradient(ellipse 4px 2px at 34% 72%,#3d2409 0%,transparent 100%),radial-gradient(ellipse 2px 3px at 55% 41%,#4a2e0e 0%,transparent 100%),radial-gradient(ellipse 5px 2px at 78% 27%,#3d2409 0%,transparent 100%),radial-gradient(ellipse 3px 4px at 22% 85%,#4a2e0e 0%,transparent 100%),radial-gradient(ellipse 2px 2px at 66% 90%,#3d2409 0%,transparent 100%),radial-gradient(ellipse 4px 3px at 89% 62%,#4a2e0e 0%,transparent 100%),radial-gradient(ellipse 3px 2px at 45% 10%,#3d2409 0%,transparent 100%),radial-gradient(ellipse 2px 4px at 8% 55%,#4a2e0e 0%,transparent 100%),radial-gradient(ellipse 5px 2px at 92% 8%,#3d2409 0%,transparent 100%),radial-gradient(ellipse 2px 3px at 30% 48%,#55360f 0%,transparent 100%),radial-gradient(ellipse 4px 2px at 72% 77%,#55360f 0%,transparent 100%),radial-gradient(ellipse 3px 3px at 18% 38%,#55360f 0%,transparent 100%),radial-gradient(ellipse 2px 2px at 60% 58%,#3d2409 0%,transparent 100%),radial-gradient(ellipse 4px 3px at 85% 44%,#55360f 0%,transparent 100%)}.login-page{position:relative;min-height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding-left:16px;padding-right:16px;padding-bottom:24px}.login-dirt{position:absolute;top:0;right:0;bottom:0;left:0}.login-card{position:relative;width:100%;max-width:360px;margin-top:24px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;padding:24px 20px;background:var(--surface);color:var(--text-primary);border-radius:20px;box-shadow:0 8px 28px #0000004d}.login-title{margin:0;font-size:22px;color:var(--accent)}.login-lede,.login-signup{margin:0;font-size:14px;line-height:1.5;color:var(--text-secondary)}.login-signup a{color:var(--accent)}.login-error{margin:0;padding:10px 12px;font-size:14px;line-height:1.4;border-radius:10px;background:var(--unread-bg);color:var(--text-primary);border:1px solid var(--border)}.login-label{font-size:14px;font-weight:600}.login-input{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text-primary)}.login-input:focus{outline:2px solid var(--accent);outline-offset:1px}.login-submit{font:inherit;font-size:16px;font-weight:700;padding:12px;border:none;border-radius:999px;background:var(--accent);color:var(--bg);cursor:pointer}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.avatar-image{width:100%;height:100%;object-fit:cover;display:block}.avatar--xs{width:28px;height:28px;font-size:10px}.avatar--sm{width:36px;height:36px;font-size:12px}.avatar--lg{width:120px;height:120px;font-size:36px;border:4px solid rgba(255,255,255,.8);box-shadow:0 4px 16px #0000004d}.grass-photo{display:block;object-fit:cover;filter:var(--img-filter);transition:filter .6s ease}.plot-tile{display:block;aspect-ratio:1;overflow:hidden;background:#e5e7eb}.plot-tile-photo{width:100%;height:100%}.plot-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}@media(max-width:1200px){.plot-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:800px){.plot-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.plot-grid{grid-template-columns:repeat(3,1fr)}}.time-of-day-button{position:relative;display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer;font-size:22px;line-height:1}.time-of-day-tooltip{position:absolute;top:calc(100% + 8px);left:0;z-index:200;white-space:nowrap;background:var(--text-primary);color:var(--surface);font-size:.68em;font-weight:500;padding:.5em .75em;border-radius:.5em;pointer-events:none}.time-of-day-tooltip:before{content:"";position:absolute;top:-5px;left:14px;border-width:0 5px 5px;border-style:solid;border-color:transparent transparent var(--text-primary)}.reaction-button{background:none;border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:14px;cursor:pointer;color:var(--text-secondary);transition:border-color .15s,color .15s}.reaction-button--active{border-color:var(--accent);color:var(--accent);font-weight:600}.post-card{border-bottom:1px solid var(--border);background:var(--surface);scroll-margin-top:var(--header-total);transition:background .6s ease,border-color .6s ease}.post-header{display:flex;align-items:center;gap:10px;padding:10px 12px}.post-username{font-size:14px;font-weight:600;color:var(--text-primary);text-decoration:none}.post-username:hover{text-decoration:underline}.post-image{width:100%;aspect-ratio:1}.post-footer{display:flex;gap:8px;padding:10px 12px}.post-caption{margin:0;padding:0 12px 12px;font-size:14px;color:var(--text-secondary);line-height:1.5}.upload-progress{display:flex;flex-direction:column;align-items:center;gap:8px;width:200px}.upload-progress-track{width:100%;height:6px;background:#ffffff40;border-radius:3px;overflow:hidden}.upload-progress-bar{height:100%;background:#22c55e;border-radius:3px;transition:width .1s linear}.upload-progress-label{margin:0;font-size:13px;color:#ffffffd9;text-shadow:0 1px 3px rgba(0,0,0,.5)}.profile-hero{position:relative;display:flex;align-items:center;justify-content:center;background-color:#6b4226;background-size:cover;background-position:center}.profile-hero--planted{min-height:100svh;height:100svh}.profile-hero-dirt{position:absolute;top:0;right:0;bottom:0;left:0}.profile-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 24px;text-align:center}.profile-hero-content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#00000047;border-radius:20px;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.profile-hero-username{margin:0;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5);letter-spacing:.3px}.profile-avatar-button{position:relative;display:block;background:none;border:none;padding:0;border-radius:50%;cursor:pointer}.profile-avatar-button:disabled{cursor:default}.profile-avatar-button--pulse .avatar{animation:avatar-pulse 2s ease-out infinite}@keyframes avatar-pulse{0%{box-shadow:0 0 #ffffff8c}70%{box-shadow:0 0 0 14px #fff0}to{box-shadow:0 0 #fff0}}.profile-avatar-camera{position:absolute;bottom:4px;right:4px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;background:#0000008c;border-radius:50%}.profile-hero-bio{margin:0;max-width:260px;font-size:15px;line-height:1.5;color:#ffffffeb;text-shadow:0 1px 3px rgba(0,0,0,.5)}.profile-page{display:flex;flex-direction:column;min-height:100%}.profile-page>.profile-hero{flex:1 0 auto}.profile-account{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px 28px}.profile-logout{font:inherit;font-size:15px;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:999px;padding:8px 20px;cursor:pointer}.profile-logout:disabled{cursor:default;opacity:.6}.profile-logout-error{margin:0;font-size:14px;color:var(--text-secondary)}.app-shell{display:flex;flex-direction:column;height:100%;background:var(--bg);transition:background .6s ease,color .6s ease}.app-content{flex:1;overflow-y:auto;padding-bottom:calc(var(--nav-height) + var(--safe-bottom))}.below-header{padding-top:var(--header-total)}:root{--nav-height: 60px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--header-height: 48px;--header-total: calc(var(--header-height) + var(--safe-top))}@media(min-width:1000px){:root{--header-height: 72px}}:root{--accent: #22c55e;--bg: #ffffff;--surface: #ffffff;--border: #e5e7eb;--text-primary: #111111;--text-secondary: #6b7280;--text-muted: #9ca3af;--unread-bg: #f0fdf4;--img-filter: none;color-scheme:light}[data-theme=night]{--accent: #a855f7;--bg: #0d0d1a;--surface: #16162a;--border: #2a2a45;--text-primary: #e2e2f2;--text-secondary: #9090b8;--text-muted: #6060a0;--unread-bg: #1e1e3a;--img-filter: brightness(.72) sepia(.7) hue-rotate(220deg) saturate(1.6);color-scheme:dark}[data-theme=blue-hour]{--accent: #3b82f6;--bg: #eff6ff;--surface: #dbeafe;--border: #bfdbfe;--text-primary: #1e3a6e;--text-secondary: #3b5998;--text-muted: #6b83c0;--unread-bg: #e0ecff;--img-filter: brightness(.85) sepia(.4) hue-rotate(185deg) saturate(1.5);color-scheme:light}[data-theme=golden-hour]{--accent: #d97706;--bg: #fffbf0;--surface: #fff8e8;--border: #fde68a;--text-primary: #78350f;--text-secondary: #92400e;--text-muted: #b45309;--unread-bg: #fef3c7;--img-filter: brightness(1.05) sepia(.55) hue-rotate(12deg) saturate(1.9);color-scheme:light}html,body,#root{height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text-primary)}
