1*43d2073cStracker-user/** 2*43d2073cStracker-user * Annotations plugin — stylesheet. 3*43d2073cStracker-user * 4*43d2073cStracker-user * Colour tokens use DokuWiki's __xxx__ replacement syntax so the theme 5*43d2073cStracker-user * controls the palette. Hard-coded colours are limited to the annotation- 6*43d2073cStracker-user * specific highlights (amber / green) which are intentionally opinionated. 7*43d2073cStracker-user * 8*43d2073cStracker-user * FF78 ESR safe: no :has(), :not() with selectors, aspect-ratio, container 9*43d2073cStracker-user * queries, or CSS nesting. 10*43d2073cStracker-user */ 11*43d2073cStracker-user 12*43d2073cStracker-user/* ========================================================================= 13*43d2073cStracker-user Highlight spans 14*43d2073cStracker-user ========================================================================= */ 15*43d2073cStracker-user 16*43d2073cStracker-user.ann-highlight-open { 17*43d2073cStracker-user background-color: rgba(251, 191, 36, 0.35); /* amber-300 @ 35% */ 18*43d2073cStracker-user border-bottom: 2px solid rgba(245, 158, 11, 0.7); 19*43d2073cStracker-user border-radius: 2px; 20*43d2073cStracker-user cursor: pointer; 21*43d2073cStracker-user transition: background-color 0.15s ease; 22*43d2073cStracker-user} 23*43d2073cStracker-user 24*43d2073cStracker-user.ann-highlight-open:hover { 25*43d2073cStracker-user background-color: rgba(251, 191, 36, 0.55); 26*43d2073cStracker-user} 27*43d2073cStracker-user 28*43d2073cStracker-user.ann-highlight-resolved { 29*43d2073cStracker-user background-color: rgba(134, 239, 172, 0.30); /* green-300 @ 30% */ 30*43d2073cStracker-user border-bottom: 2px solid rgba(74, 222, 128, 0.6); 31*43d2073cStracker-user border-radius: 2px; 32*43d2073cStracker-user cursor: pointer; 33*43d2073cStracker-user transition: background-color 0.15s ease; 34*43d2073cStracker-user} 35*43d2073cStracker-user 36*43d2073cStracker-user.ann-highlight-resolved:hover { 37*43d2073cStracker-user background-color: rgba(134, 239, 172, 0.50); 38*43d2073cStracker-user} 39*43d2073cStracker-user 40*43d2073cStracker-user/* ========================================================================= 41*43d2073cStracker-user Counter bar 42*43d2073cStracker-user ========================================================================= */ 43*43d2073cStracker-user 44*43d2073cStracker-user#ann-counter-bar { 45*43d2073cStracker-user display: flex; 46*43d2073cStracker-user align-items: center; 47*43d2073cStracker-user flex-wrap: wrap; 48*43d2073cStracker-user gap: 0.5em; 49*43d2073cStracker-user padding: 0.4em 0.75em; 50*43d2073cStracker-user margin-bottom: 0.75em; 51*43d2073cStracker-user font-size: 0.85em; 52*43d2073cStracker-user background: __background_alt__; 53*43d2073cStracker-user border: 1px solid __border__; 54*43d2073cStracker-user border-radius: 4px; 55*43d2073cStracker-user color: __text__; 56*43d2073cStracker-user} 57*43d2073cStracker-user 58*43d2073cStracker-user.ann-orphan-link { 59*43d2073cStracker-user color: __link__; 60*43d2073cStracker-user text-decoration: underline; 61*43d2073cStracker-user cursor: pointer; 62*43d2073cStracker-user} 63*43d2073cStracker-user 64*43d2073cStracker-user/* ========================================================================= 65*43d2073cStracker-user Gutter markers 66*43d2073cStracker-user ========================================================================= */ 67*43d2073cStracker-user 68*43d2073cStracker-user/* The content area needs relative positioning for gutter markers. */ 69*43d2073cStracker-user#dokuwiki__content { 70*43d2073cStracker-user position: relative; 71*43d2073cStracker-user} 72*43d2073cStracker-user 73*43d2073cStracker-user.ann-gutter-marker { 74*43d2073cStracker-user position: absolute; 75*43d2073cStracker-user left: -1.6em; 76*43d2073cStracker-user width: 1.2em; 77*43d2073cStracker-user height: 1.2em; 78*43d2073cStracker-user padding: 0; 79*43d2073cStracker-user border: none; 80*43d2073cStracker-user border-radius: 50%; 81*43d2073cStracker-user background-color: rgba(245, 158, 11, 0.75); 82*43d2073cStracker-user cursor: pointer; 83*43d2073cStracker-user line-height: 1; 84*43d2073cStracker-user font-size: 0.6em; 85*43d2073cStracker-user transition: background-color 0.15s ease; 86*43d2073cStracker-user} 87*43d2073cStracker-user 88*43d2073cStracker-user.ann-gutter-marker:hover { 89*43d2073cStracker-user background-color: rgba(245, 158, 11, 1); 90*43d2073cStracker-user} 91*43d2073cStracker-user 92*43d2073cStracker-user/* ========================================================================= 93*43d2073cStracker-user Annotation panel 94*43d2073cStracker-user ========================================================================= */ 95*43d2073cStracker-user 96*43d2073cStracker-user.ann-panel { 97*43d2073cStracker-user margin: 0.75em 0 1em; 98*43d2073cStracker-user border: 1px solid __border__; 99*43d2073cStracker-user border-left: 3px solid rgba(245, 158, 11, 0.7); 100*43d2073cStracker-user border-radius: 4px; 101*43d2073cStracker-user background: __background_alt__; 102*43d2073cStracker-user box-shadow: 0 2px 6px rgba(0,0,0,0.08); 103*43d2073cStracker-user font-size: 0.9em; 104*43d2073cStracker-user} 105*43d2073cStracker-user 106*43d2073cStracker-user.ann-panel-header { 107*43d2073cStracker-user display: flex; 108*43d2073cStracker-user justify-content: flex-end; 109*43d2073cStracker-user padding: 0.3em 0.5em 0; 110*43d2073cStracker-user} 111*43d2073cStracker-user 112*43d2073cStracker-user/* ========================================================================= 113*43d2073cStracker-user Thread entries (annotation + replies) 114*43d2073cStracker-user ========================================================================= */ 115*43d2073cStracker-user 116*43d2073cStracker-user.ann-thread-entry { 117*43d2073cStracker-user padding: 0.65em 0.85em; 118*43d2073cStracker-user border-bottom: 1px solid __border__; 119*43d2073cStracker-user} 120*43d2073cStracker-user 121*43d2073cStracker-user.ann-thread-entry:last-of-type { 122*43d2073cStracker-user border-bottom: none; 123*43d2073cStracker-user} 124*43d2073cStracker-user 125*43d2073cStracker-user.ann-reply { 126*43d2073cStracker-user margin-left: 1.5em; 127*43d2073cStracker-user background: __background__; 128*43d2073cStracker-user border-left: 2px solid __border__; 129*43d2073cStracker-user border-radius: 0 0 4px 4px; 130*43d2073cStracker-user} 131*43d2073cStracker-user 132*43d2073cStracker-user/* ========================================================================= 133*43d2073cStracker-user Meta row (avatar, author, time, status) 134*43d2073cStracker-user ========================================================================= */ 135*43d2073cStracker-user 136*43d2073cStracker-user.ann-meta { 137*43d2073cStracker-user display: flex; 138*43d2073cStracker-user align-items: center; 139*43d2073cStracker-user gap: 0.4em; 140*43d2073cStracker-user margin-bottom: 0.35em; 141*43d2073cStracker-user flex-wrap: wrap; 142*43d2073cStracker-user} 143*43d2073cStracker-user 144*43d2073cStracker-user.ann-avatar { 145*43d2073cStracker-user display: inline-flex; 146*43d2073cStracker-user align-items: center; 147*43d2073cStracker-user justify-content: center; 148*43d2073cStracker-user width: 1.8em; 149*43d2073cStracker-user height: 1.8em; 150*43d2073cStracker-user border-radius: 50%; 151*43d2073cStracker-user background: __link__; 152*43d2073cStracker-user color: #fff; 153*43d2073cStracker-user font-size: 0.75em; 154*43d2073cStracker-user font-weight: 700; 155*43d2073cStracker-user flex-shrink: 0; 156*43d2073cStracker-user} 157*43d2073cStracker-user 158*43d2073cStracker-user.ann-author { 159*43d2073cStracker-user font-weight: 600; 160*43d2073cStracker-user color: __text__; 161*43d2073cStracker-user} 162*43d2073cStracker-user 163*43d2073cStracker-user.ann-time { 164*43d2073cStracker-user color: __text_alt__; 165*43d2073cStracker-user font-size: 0.85em; 166*43d2073cStracker-user} 167*43d2073cStracker-user 168*43d2073cStracker-user.ann-status { 169*43d2073cStracker-user display: inline-block; 170*43d2073cStracker-user padding: 0.1em 0.45em; 171*43d2073cStracker-user border-radius: 10em; 172*43d2073cStracker-user font-size: 0.78em; 173*43d2073cStracker-user font-weight: 600; 174*43d2073cStracker-user letter-spacing: 0.02em; 175*43d2073cStracker-user} 176*43d2073cStracker-user 177*43d2073cStracker-user.ann-status-open { 178*43d2073cStracker-user background: rgba(251, 191, 36, 0.25); 179*43d2073cStracker-user color: #92400e; 180*43d2073cStracker-user border: 1px solid rgba(245, 158, 11, 0.5); 181*43d2073cStracker-user} 182*43d2073cStracker-user 183*43d2073cStracker-user.ann-status-resolved { 184*43d2073cStracker-user background: rgba(134, 239, 172, 0.25); 185*43d2073cStracker-user color: #166534; 186*43d2073cStracker-user border: 1px solid rgba(74, 222, 128, 0.4); 187*43d2073cStracker-user} 188*43d2073cStracker-user 189*43d2073cStracker-user/* ========================================================================= 190*43d2073cStracker-user Body text and quoted selection 191*43d2073cStracker-user ========================================================================= */ 192*43d2073cStracker-user 193*43d2073cStracker-user.ann-body { 194*43d2073cStracker-user white-space: pre-wrap; 195*43d2073cStracker-user word-break: break-word; 196*43d2073cStracker-user color: __text__; 197*43d2073cStracker-user margin-bottom: 0.4em; 198*43d2073cStracker-user} 199*43d2073cStracker-user 200*43d2073cStracker-user.ann-quote { 201*43d2073cStracker-user margin: 0.3em 0 0.5em 0; 202*43d2073cStracker-user padding: 0.25em 0.6em; 203*43d2073cStracker-user border-left: 3px solid rgba(245, 158, 11, 0.6); 204*43d2073cStracker-user color: __text_alt__; 205*43d2073cStracker-user font-style: italic; 206*43d2073cStracker-user font-size: 0.9em; 207*43d2073cStracker-user background: rgba(251, 191, 36, 0.08); 208*43d2073cStracker-user border-radius: 0 2px 2px 0; 209*43d2073cStracker-user} 210*43d2073cStracker-user 211*43d2073cStracker-user/* ========================================================================= 212*43d2073cStracker-user Action buttons row 213*43d2073cStracker-user ========================================================================= */ 214*43d2073cStracker-user 215*43d2073cStracker-user.ann-actions { 216*43d2073cStracker-user display: flex; 217*43d2073cStracker-user gap: 0.4em; 218*43d2073cStracker-user flex-wrap: wrap; 219*43d2073cStracker-user margin-top: 0.3em; 220*43d2073cStracker-user} 221*43d2073cStracker-user 222*43d2073cStracker-user.ann-btn { 223*43d2073cStracker-user display: inline-block; 224*43d2073cStracker-user padding: 0.2em 0.55em; 225*43d2073cStracker-user font-size: 0.82em; 226*43d2073cStracker-user border: 1px solid __border__; 227*43d2073cStracker-user border-radius: 3px; 228*43d2073cStracker-user background: __background__; 229*43d2073cStracker-user color: __text__; 230*43d2073cStracker-user cursor: pointer; 231*43d2073cStracker-user line-height: 1.4; 232*43d2073cStracker-user transition: background-color 0.12s ease; 233*43d2073cStracker-user} 234*43d2073cStracker-user 235*43d2073cStracker-user.ann-btn:hover { 236*43d2073cStracker-user background: __background_alt__; 237*43d2073cStracker-user} 238*43d2073cStracker-user 239*43d2073cStracker-user.ann-btn-primary { 240*43d2073cStracker-user background: __link__; 241*43d2073cStracker-user border-color: __link__; 242*43d2073cStracker-user color: #fff; 243*43d2073cStracker-user} 244*43d2073cStracker-user 245*43d2073cStracker-user.ann-btn-primary:hover { 246*43d2073cStracker-user opacity: 0.88; 247*43d2073cStracker-user} 248*43d2073cStracker-user 249*43d2073cStracker-user.ann-btn-danger { 250*43d2073cStracker-user border-color: #dc2626; 251*43d2073cStracker-user color: #dc2626; 252*43d2073cStracker-user} 253*43d2073cStracker-user 254*43d2073cStracker-user.ann-btn-danger:hover { 255*43d2073cStracker-user background: rgba(220, 38, 38, 0.08); 256*43d2073cStracker-user} 257*43d2073cStracker-user 258*43d2073cStracker-user.ann-btn-admin { 259*43d2073cStracker-user border-color: __border__; 260*43d2073cStracker-user color: __text_alt__; 261*43d2073cStracker-user font-size: 0.78em; 262*43d2073cStracker-user} 263*43d2073cStracker-user 264*43d2073cStracker-user.ann-close { 265*43d2073cStracker-user font-size: 1.1em; 266*43d2073cStracker-user line-height: 1; 267*43d2073cStracker-user padding: 0.1em 0.35em; 268*43d2073cStracker-user border: none; 269*43d2073cStracker-user background: none; 270*43d2073cStracker-user color: __text_alt__; 271*43d2073cStracker-user cursor: pointer; 272*43d2073cStracker-user} 273*43d2073cStracker-user 274*43d2073cStracker-user.ann-close:hover { 275*43d2073cStracker-user color: __text__; 276*43d2073cStracker-user} 277*43d2073cStracker-user 278*43d2073cStracker-user/* ========================================================================= 279*43d2073cStracker-user Reply form + new-annotation form 280*43d2073cStracker-user ========================================================================= */ 281*43d2073cStracker-user 282*43d2073cStracker-user.ann-reply-form, 283*43d2073cStracker-user.ann-new-form { 284*43d2073cStracker-user padding: 0.65em 0.85em; 285*43d2073cStracker-user border-top: 1px solid __border__; 286*43d2073cStracker-user} 287*43d2073cStracker-user 288*43d2073cStracker-user.ann-new-form { 289*43d2073cStracker-user margin: 0.75em 0 1em; 290*43d2073cStracker-user border: 1px solid __border__; 291*43d2073cStracker-user border-left: 3px solid rgba(245, 158, 11, 0.7); 292*43d2073cStracker-user border-radius: 4px; 293*43d2073cStracker-user background: __background_alt__; 294*43d2073cStracker-user} 295*43d2073cStracker-user 296*43d2073cStracker-user.ann-body-input { 297*43d2073cStracker-user display: block; 298*43d2073cStracker-user width: 100%; 299*43d2073cStracker-user box-sizing: border-box; 300*43d2073cStracker-user padding: 0.4em 0.6em; 301*43d2073cStracker-user font: inherit; 302*43d2073cStracker-user font-size: 0.9em; 303*43d2073cStracker-user border: 1px solid __border__; 304*43d2073cStracker-user border-radius: 3px; 305*43d2073cStracker-user background: __background__; 306*43d2073cStracker-user color: __text__; 307*43d2073cStracker-user resize: vertical; 308*43d2073cStracker-user margin-bottom: 0.4em; 309*43d2073cStracker-user} 310*43d2073cStracker-user 311*43d2073cStracker-user.ann-body-input:focus { 312*43d2073cStracker-user outline: 2px solid __link__; 313*43d2073cStracker-user outline-offset: 1px; 314*43d2073cStracker-user} 315*43d2073cStracker-user 316*43d2073cStracker-user.ann-form-row { 317*43d2073cStracker-user display: flex; 318*43d2073cStracker-user gap: 0.4em; 319*43d2073cStracker-user} 320*43d2073cStracker-user 321*43d2073cStracker-user/* ========================================================================= 322*43d2073cStracker-user Selection tooltip 323*43d2073cStracker-user ========================================================================= */ 324*43d2073cStracker-user 325*43d2073cStracker-user.ann-tooltip { 326*43d2073cStracker-user position: absolute; 327*43d2073cStracker-user z-index: 9000; 328*43d2073cStracker-user padding: 0.25em 0.4em; 329*43d2073cStracker-user background: __background_alt__; 330*43d2073cStracker-user border: 1px solid __border__; 331*43d2073cStracker-user border-radius: 4px; 332*43d2073cStracker-user box-shadow: 0 2px 8px rgba(0,0,0,0.15); 333*43d2073cStracker-user} 334*43d2073cStracker-user 335*43d2073cStracker-user/* ========================================================================= 336*43d2073cStracker-user Orphan drawer 337*43d2073cStracker-user ========================================================================= */ 338*43d2073cStracker-user 339*43d2073cStracker-user.ann-orphan-drawer { 340*43d2073cStracker-user margin: 1.5em 0 0.5em; 341*43d2073cStracker-user padding: 0.75em 1em; 342*43d2073cStracker-user border: 1px dashed __border__; 343*43d2073cStracker-user border-radius: 4px; 344*43d2073cStracker-user background: __background_alt__; 345*43d2073cStracker-user} 346*43d2073cStracker-user 347*43d2073cStracker-user.ann-orphan-drawer h4 { 348*43d2073cStracker-user margin: 0 0 0.3em; 349*43d2073cStracker-user font-size: 0.95em; 350*43d2073cStracker-user color: __text_alt__; 351*43d2073cStracker-user} 352*43d2073cStracker-user 353*43d2073cStracker-user.ann-orphan-note { 354*43d2073cStracker-user font-size: 0.85em; 355*43d2073cStracker-user color: __text_alt__; 356*43d2073cStracker-user margin-bottom: 0.75em; 357*43d2073cStracker-user} 358*43d2073cStracker-user 359*43d2073cStracker-user/* ========================================================================= 360*43d2073cStracker-user Resolved annotation panels: shift to green accent 361*43d2073cStracker-user ========================================================================= */ 362*43d2073cStracker-user 363*43d2073cStracker-user.ann-panel[data-status="resolved"] { 364*43d2073cStracker-user border-left-color: rgba(74, 222, 128, 0.6); 365*43d2073cStracker-user} 366