style.css
ASCII text
1@import "/static/efficient-ui/MASTER.css"; 2 3:root { 4--gap-navbar: 1rem; 5--width-navbar-button: 0; 6--text-soft: #000000C0; 7--text-softer: #0000009A; 8--text-faint: #00000066; 9--color-shape-label: #0097A7; --color-shape-label-text: #ffffff; 10} 11 12p { 13color: var(--text-soft); 14} 15 16iconify-icon { 17display: inline-block; 18width: 1em; 19height: 1em; 20} 21 22:is(#shape-selector, #shape-options) > button > iconify-icon { 23font-size: 2rem; 24} 25 26#annotation-zone { 27position: relative; 28user-select: none; 29} 30 31#annotation-image { 32user-drag: none; 33-webkit-user-drag: none; 34image-rendering: pixelated; 35} 36 37#annotation-zone > svg { 38z-index: 1; 39position: absolute; 40top: 0; 41left: 0; 42width: 100%; 43height: 100%; 44} 45 46.annotation-ruler { 47z-index: 2; 48position: absolute; 49top: 0; 50left: 0; 51background: var(--color-accent); 52display: none; 53} 54 55#annotation-ruler-horizontal, #annotation-ruler-horizontal-secondary { 56height: 1px; 57width: 100%; 58} 59 60#annotation-ruler-vertical, #annotation-ruler-vertical-secondary { 61width: 1px; 62height: 100%; 63} 64 65.shape { 66stroke: var(--color-accent); 67fill: var(--color-accent); 68fill-opacity: 0.1; 69stroke-width: 2px; 70vector-effect: non-scaling-stroke; 71pointer-events: auto; 72transition: filter 0.25s cubic-bezier(0.61, 1, 0.88, 1), 73fill-opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1), 74stroke-width 0.25s cubic-bezier(0.61, 1, 0.88, 1); 75stroke-linecap: square; 76stroke-linejoin: miter; 77} 78 79.shape-polyline { 80fill: none; 81} 82 83.shape-point { 84stroke: var(--color-accent); 85stroke-width: 2px; 86fill-opacity: 1; 87r: 2; 88transition: r 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), 89stroke-width 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), 90filter 0.25s cubic-bezier(0.61, 1, 0.88, 1); 91} 92 93.shape.selected { 94fill-opacity: 0.2; 95stroke-width: 4px; 96filter: drop-shadow(0 0 2px var(--text-soft)); 97} 98 99.shape-point.selected { 100fill-opacity: 1; 101r: 6; 102stroke-width: 6px; 103} 104 105.shape-container, .shape-container-viewonly { 106pointer-events: none; 107} 108 109#annotation-helper-message { 110min-height: 2lh; 111} 112 113.shape-container-viewonly > .shape { 114fill: var(--color-info); 115stroke: var(--color-info); 116fill-opacity: 0; 117stroke-opacity: 0; 118transition: fill-opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1), 119stroke-opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1); 120} 121 122.shape-container-viewonly > .shape-polyline { 123fill: none; 124} 125 126.shape-container-viewonly > .shape-point { 127stroke: var(--color-info); 128} 129 130.shape-label { 131font-size: 1.5rem; 132font-weight: 500; 133color: var(--color-shape-label-text); 134pointer-events: none; 135height: 32px; 136padding-left: 8px; 137padding-right: 8px; 138display: flex; 139align-items: center; 140justify-content: center; 141background: var(--color-shape-label); 142width: max-content; 143box-shadow: var(--shadow-button); 144/* top-left corner is square to point to the shape */ 145border-radius: 0 16px 16px 16px; 146opacity: 0; 147transition: opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1), 148transform 0.375s cubic-bezier(0.16, 1, 0.3, 1); 149transform: scale(0); 150transform-origin: top left; 151z-index: 3; 152} 153 154/* Only show region parts when checkbox is checked */ 155#annotation-zone:has(+ x-buttonbox #show-objects:checked) > .shape-container-viewonly > foreignObject > .shape-label { 156opacity: 1; 157transform: scale(1); 158} 159 160#annotation-zone:has(+ x-buttonbox #show-shapes:checked) > .shape-container-viewonly > .shape { 161fill-opacity: 0.1; 162stroke-opacity: 1; 163} 164