/* Prevent text selection in calendar */ #calendar-viewport, #calendar-content, .week-row, .cell, .calendar-header, .week-label, .month-name-label, .calendar-container, .jogwheel-viewport, .jogwheel-content { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; } input { background: transparent; border: none; color: var(--ink); width: 11em; } label:has(input[value]) { display: block } /* Modal dialog */ .ec-modal-backdrop[hidden] { display: none } .ec-modal-backdrop { position: fixed; inset: 0; background: color-mix(in srgb, var(--strong) 30%, transparent); display: grid; place-items: center; z-index: 1000; } .ec-modal { background: var(--panel); color: var(--ink); border-radius: .6rem; min-width: 320px; max-width: min(520px, 90vw); box-shadow: 0 10px 30px rgba(0,0,0,.35); } .ec-form { padding: 1rem; display: grid; gap: .75rem } .ec-header h2 { margin: 0; font-size: 1.1rem } .ec-body { display: grid; gap: .75rem } .ec-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem } .ec-field { display: grid; gap: .25rem } .ec-field > span { font-size: .85em; color: var(--muted) } .ec-field input[type="text"], .ec-field input[type="time"], .ec-field input[type="number"] { border: 1px solid var(--muted); border-radius: .4rem; padding: .5rem .6rem; width: 100%; } .ec-color-swatches { display: grid; grid-template-columns: repeat(4, 1fr); gap: .3rem } .ec-color-swatches .swatch { display: grid; place-items: center; border-radius: .4rem; padding: .25rem; outline: 2px solid transparent; outline-offset: 2px; cursor: pointer } .ec-color-swatches .swatch { appearance: none; width: 3em; height: 1em; } .ec-color-swatches .swatch:checked { outline-color: var(--ink) } .ec-footer { display: flex; justify-content: end; gap: .5rem } .ec-btn { border: 1px solid var(--muted); background: transparent; color: var(--ink); padding: .5rem .8rem; border-radius: .4rem; cursor: pointer } .ec-btn.primary { background: var(--today); color: #000; border-color: transparent }