/* * /post form bundle CSS. U3 scope: make the EasyMDE editor usable without the * FontAwesome dependency (toolbar glyphs supplied here). Field Notes theming, * mobile layout, and the "More options" disclosure land in U5. */ /* EasyMDE toolbar glyphs β replace the FontAwesome icons EasyMDE expects. */ .editor-toolbar .mde-btn::before { font-style: normal; font-weight: 400; font-family: inherit; } .editor-toolbar .mde-bold::before { content: 'B'; font-weight: 700; } .editor-toolbar .mde-italic::before { content: 'I'; font-style: italic; } .editor-toolbar .mde-ul::before { content: '\2022\2002\2014'; } /* β’ β */ .editor-toolbar .mde-link::before { content: '\1F517'; } /* π */ .editor-toolbar .mde-preview::before { content: '\1F441'; } /* π */ .EasyMDEContainer .CodeMirror { min-height: 180px; } /* ββ Photo HEIC-conversion feedback (U4) ββββββββββββββββββββ * FilePond renders the thumbnails/progress; these are the pre-FilePond * "convertingβ¦" status line and the draft photos-reselect hint (U6). */ .photo-convert-status:empty { display: none; } .photo-convert-status { font-size: var(--text-sm); margin-top: var(--space-2); } .photo-reauth-hint { display: none; font-size: var(--text-sm); color: var(--color-ink-muted); margin-top: var(--space-2); } .photo-reauth-hint.is-shown { display: block; } /* ββ Field Notes styling for the new controls (U5, R11/R12) ββ */ /* Select fields (weather condition, transport mode) match the text inputs. */ .post-form-wrap select { width: 100%; font-family: var(--font-ui); font-size: var(--text-base); padding: 0.875rem 1rem; min-height: 44px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-canvas); color: var(--color-ink); -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2390887E' d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; } .post-form-wrap select:focus { outline: 2px solid var(--color-accent); outline-offset: 1px; border-color: var(--color-accent); } .post-form-wrap input[type="number"] { width: 100%; font-family: var(--font-ui); font-size: var(--text-base); padding: 0.875rem 1rem; min-height: 44px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-canvas); color: var(--color-ink); -webkit-appearance: none; appearance: none; } .post-form-wrap input[type="number"]:focus { outline: 2px solid var(--color-accent); outline-offset: 1px; border-color: var(--color-accent); } /* "More options" disclosure */ .more-options { margin-bottom: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-canvas); } .more-options__summary { cursor: pointer; padding: 0.875rem 1rem; min-height: 44px; display: flex; align-items: center; font-family: var(--font-ui); font-size: var(--text-sm); font-weight: 600; color: var(--color-ink); list-style: none; user-select: none; } .more-options__summary::-webkit-details-marker { display: none; } .more-options__summary::before { content: 'βΈ'; margin-right: var(--space-2); color: var(--color-ink-muted); transition: transform 0.15s; } .more-options[open] .more-options__summary::before { transform: rotate(90deg); } .more-options[open] .more-options__summary { border-bottom: 1px solid var(--color-border); } .more-options > .form-field { padding: 0 1rem; } .more-options > .form-field:first-of-type { padding-top: var(--space-4); } .more-options > .form-field:last-child { padding-bottom: var(--space-4); margin-bottom: 0; } /* Button loading spinner (Get Location / Get Weather) */ .btn-action.is-loading { position: relative; color: transparent; pointer-events: none; } .btn-action.is-loading::after { content: ''; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 2px solid var(--color-ink-muted); border-top-color: var(--color-accent); border-radius: 50%; animation: post-spin 0.7s linear infinite; } .btn-action[disabled] { opacity: 0.5; cursor: not-allowed; } @keyframes post-spin { to { transform: rotate(360deg); } } /* Grav renders form status as