@import "tailwindcss"; @plugin "../daisyui.mjs" { themes: aqua --default; } html, body { height: 100%; margin: 0; } .map-container { height: calc(100vh - 4rem); width: 100%; } /* Leaflet popup chrome — match aqua theme */ .leaflet-popup-content-wrapper { background: oklch(37% 0.146 265.522) !important; color: oklch(90% 0.058 230.902) !important; border-radius: 0.75rem !important; box-shadow: 0 4px 24px oklch(0% 0 0 / 0.4) !important; padding: 0 !important; border: none !important; } .leaflet-popup-content { margin: 0 !important; width: auto !important; } .leaflet-popup-tip { background: oklch(37% 0.146 265.522) !important; } .leaflet-popup-close-button { color: oklch(90% 0.058 230.902) !important; top: 0.5rem !important; right: 0.5rem !important; font-size: 1.1rem !important; } .leaflet-popup-close-button:hover { color: oklch(85.661% 0.144 198.645) !important; background: transparent !important; } /* Add-place popup layout */ .add-place-popup { padding: 0.25rem 1rem 1rem; width: 300px; } .add-place-heading { font-size: 1rem; font-weight: 700; margin-bottom: 0.75rem; color: oklch(85.661% 0.144 198.645); } .add-place-popup .fieldset-legend { padding-left: 2px !important; } .add-place-actions { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; } /* Rating panel — bottom sheet on mobile, side panel on desktop */ .rating-panel { display: none; position: fixed; bottom: 0; left: 0; right: 0; height: 55vh; z-index: 1000; background: var(--color-base-100); color: var(--color-base-content); border-radius: 1rem 1rem 0 0; overflow-y: auto; padding: 1.25rem; box-shadow: 0 -4px 24px oklch(0% 0 0 / 0.4); } .rating-panel.open { display: block; } @media (min-width: 768px) { .rating-panel { top: 4rem; right: 0; bottom: 0; left: auto; width: 320px; height: auto; border-radius: 0; box-shadow: -4px 0 24px oklch(0% 0 0 / 0.3); } } .rating-panel-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; } .rating-panel-title { font-size: 1.1rem; font-weight: 700; color: var(--color-primary); } .rating-section { margin-bottom: 1.25rem; } .rating-section-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; opacity: 0.5; margin-bottom: 0.4rem; } .rating-meta { font-size: 0.8rem; opacity: 0.5; margin-top: 0.2rem; } .visit-row { display: flex; align-items: baseline; gap: 0.5rem; margin-bottom: 0.4rem; font-size: 0.9rem; } .visit-note { flex: 1; opacity: 0.8; font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .visit-date { font-size: 0.75rem; opacity: 0.5; white-space: nowrap; } /* Stars */ .rating-stars { display: inline-flex; gap: 1px; } .star-filled { color: var(--color-primary); } .star-half { color: var(--color-primary); opacity: 0.45; } .star-empty { opacity: 0.2; } /* Star picker */ .star-picker { display: flex; gap: 2px; margin-bottom: 0.25rem; } .star-picker button { font-size: 1.6rem; background: none; border: none; cursor: pointer; padding: 0 1px; color: var(--color-base-content); opacity: 0.2; transition: opacity 0.1s; line-height: 1; } .star-picker button.active { opacity: 1; color: var(--color-primary); } .log-visit-actions { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 0.75rem; }