Pop-up dictionary browser extension for language learning. Successor to Yomichan. (PERSONAL FORK)
at lambda-fork/main 2100 lines 69 kB view raw
1/* 2 * Copyright (C) 2023-2025 Yomitan Authors 3 * Copyright (C) 2016-2022 Yomichan Authors 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the entrys of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <https://www.gnu.org/licenses/>. 17 */ 18 19/* Variables */ 20:root { 21 /* Strings */ 22 --compact-list-separator: ' | '; 23 24 --disambiguation-separator: ', '; 25 --disambiguation-reading-separator: ':'; 26 27 --headword-separator: '\3001'; 28 29 --inflection-separator: '\00AB'; 30 31 /* Layout */ 32 --font-size-no-units: 14; 33 --font-size: calc(1px * var(--font-size-no-units)); 34 --query-parser-font-size-no-units: 2; 35 --query-parser-font-size: calc(1em * var(--query-parser-font-size-no-units)); 36 --h2-font-size-no-units: 1.25; 37 --h2-font-size: calc(1em * var(--h2-font-size-no-units)); 38 39 --headword-font-size-no-units: 2; 40 --headword-font-size: calc(1em * var(--headword-font-size-no-units)); 41 --headword-reading-font-size-no-units: 0.75; 42 --headword-reading-font-size: calc(var(--headword-reading-font-size-no-units) * var(--headword-font-size)); 43 --headword-reading-space: 0.5em; 44 --headword-list-end-space: 0.5em; 45 --headword-thin-border-size: calc(1em / (var(--headword-font-size-no-units) * var(--font-size-no-units))); 46 47 --line-height-no-units: 20; 48 --line-height: calc(var(--line-height-no-units) / var(--font-size-no-units)); 49 50 --thin-border-size: calc(1em / var(--font-size-no-units)); 51 52 --action-button-size-no-units: 16; 53 --action-button-size: calc(1em * (var(--action-button-size-no-units) / var(--font-size-no-units))); 54 --action-button-padding: 0.3em; 55 56 --list-margin: 0.72em; 57 --content-width: 100%; 58 --main-content-vertical-padding: 0em; 59 --main-content-horizontal-padding: 0em; 60 --entry-horizontal-padding: 0.72em; 61 --entry-vertical-padding: 0.72em; 62 --query-horizontal-padding: 0.72em; 63 64 --sidebar-width-no-units: 40; 65 --sidebar-width: calc(1em * (var(--sidebar-width-no-units) / var(--font-size-no-units))); 66 --sidebar-button-height-no-units: 30; 67 --sidebar-button-height: calc(1em * (var(--sidebar-button-height-no-units) / var(--font-size-no-units))); 68 --sidebar-button-icon-size-no-units: 16; 69 --sidebar-button-icon-size: calc(1em * (var(--sidebar-button-icon-size-no-units) / var(--font-size-no-units))); 70 71 --progress-bar-height-no-units: 4; 72 --progress-bar-height: calc(1em * (var(--progress-bar-height-no-units) / var(--font-size-no-units))); 73 --progress-bar-active-transition-duration: 0.125s; 74 --progress-bar-active-transition-start-delay: 0.0625s; 75 --progress-bar-animation-duration: 2s; 76 77 --entry-current-indicator-width-no-units: 4; 78 --entry-current-indicator-width: calc(1em * var(--entry-current-indicator-width-no-units) / var(--font-size-no-units)); 79 --entry-current-indicator-transition-duration: 0.125s; 80 81 --tag-height-no-units: 20; 82 --tag-height: calc(1em * var(--tag-height-no-units) / var(--font-size-no-units)); 83 --tag-font-size-no-units: 11; 84 --tag-font-size: calc(1em * var(--tag-font-size-no-units) / var(--font-size-no-units)); 85 --tag-border-size-no-units: 1; 86 --tag-border-size: calc(1em * (var(--tag-border-size-no-units) / var(--font-size-no-units))); 87 --tag-border-style: solid; 88 --tag-font-weight: bold; 89 --tag-border-radius: 0.25em; 90 91 --list-padding1: 1.4em; 92 --list-padding2: var(--list-padding1); 93 94 --entry-current-indicator-triangle-size-no-units: 6; 95 --entry-current-indicator-triangle-size: calc(1em * (var(--entry-current-indicator-triangle-size-no-units) / var(--font-size-no-units))); 96 97 --overlay-panel-translate-distance: 4em; 98 99 --disambiguation-space: 0.25em; 100 101 --animation-duration: 0.125s; 102 --animation-duration2: calc(2 * var(--animation-duration)); 103 104 --collapsible-definition-line-count: 3; 105 --collapsible-kanji-glyph-data-line-count: 3; 106 --kanji-glyph-table-header-height: calc((20em / var(--font-size-no-units)) + var(--kanji-glyph-table-cell-padding) * 3); 107 --collapsible-definition-test-offset: 0.2em; 108 --collpasible-kanji-glyph-data-test-offset: 0.2em; 109 110 /* Colors */ 111 --background-color: #ffffff; 112 --gloss-image-background-color: #eeeeee; 113 --link-color: var(--accent-color); 114 115 --text-color: #000000; 116 --reason-text-color: var(--text-color-light3); 117 118 --headword-text-color: var(--text-color); 119 --headword-text-color-popular: var(--accent-color); 120 --headword-text-color-rare: var(--text-color-light4); 121 --headword-furigana-text-color: var(--headword-text-color); 122 --headword-furigana-text-color-popular: var(--headword-text-color-popular); 123 --headword-furigana-text-color-rare: var(--headword-text-color-rare); 124 --headword-reading-text-color: var(--headword-furigana-text-color); 125 --headword-reading-text-color-popular: var(--headword-furigana-text-color-popular); 126 --headword-reading-text-color-rare: var(--headword-furigana-text-color-rare); 127 --headword-kanji-text-color: var(--headword-text-color); 128 --headword-kanji-text-color-popular: var(--headword-text-color-popular); 129 --headword-kanji-text-color-rare: var(--headword-text-color-rare); 130 --headword-kanji-border-color: var(--dark-border-color); 131 --headword-kanji-border-color-popular: var(--headword-kanji-border-color); 132 --headword-kanji-border-color-rare: var(--headword-kanji-border-color); 133 134 --kanji-glyph-table-cell-padding: 0.36em; 135 136 --light-border-color: #eeeeee; 137 --medium-border-color: #dddddd; 138 --dark-border-color: #777777; 139 140 --tag-text-color: #ffffff; 141 --tag-border-color: transparent; 142 --tag-default-background-color: #8a8a91; 143 --tag-name-background-color: #b6327a; 144 --tag-expression-background-color: #f0ad4e; 145 --tag-popular-background-color: #0275d8; 146 --tag-frequent-background-color: #5bc0de; 147 --tag-archaism-background-color: #d9534f; 148 --tag-dictionary-background-color: #aa66cc; 149 --tag-frequency-background-color: #5cb85c; 150 --tag-part-of-speech-background-color: #565656; 151 --tag-search-background-color: #8a8a91; 152 --tag-pronunciation-dictionary-background-color: #6640be; 153 154 --sidebar-background-color: #f8f9fa; 155 156 --sidebar-button-background-color: transparent; 157 --sidebar-button-background-color-hover: #cccccc; 158 --sidebar-button-background-color-active: #aaaaaa; 159 --sidebar-button-danger-background-color: transparent; 160 --sidebar-button-danger-background-color-hover: #dd2222; 161 --sidebar-button-danger-background-color-active: #bb2222; 162 --sidebar-button-icon-color: #333333; 163 --sidebar-button-disabled-icon-color: #888888; 164 --sidebar-button-danger-icon-color: #ffffff; 165 166 --scrollbar-thumb-color: #c1c1c1; 167 --scrollbar-track-color: #f1f1f1; 168 --scrollbar-inverse-thumb-color: #444444; 169 --scrollbar-inverse-track-color: #2f2f2f; 170 171 --progress-bar-track-color: #cccccc; 172 --progress-bar-indicator-color: var(--accent-color); 173 --entry-current-indicator-color: var(--accent-color); 174 175 --notification-text-color: #2f2f2f; 176 --notification-background-color: #f1f1f1; 177 --notification-background-color-light: #e1e1e1; 178 --notification-background-color-lighter: #bbbbbb; 179 --notification-shadow-color: rgba(255, 255, 255, 0.25); 180 181 --action-button-hover-color: #dddddd; 182 --action-button-active-color: #c1c1c1; 183} 184:root[data-theme=dark] { 185 /* Colors */ 186 --background-color: #1e1e1e; 187 --gloss-image-background-color: #2f2f2f; 188 --link-color: var(--accent-color); 189 190 --text-color: #d4d4d4; 191 --reason-text-color: var(--text-color-light3); 192 193 --headword-text-color: var(--text-color); 194 --headword-text-color-popular: var(--accent-color); 195 --headword-text-color-rare: var(--text-color-light4); 196 --headword-furigana-text-color: var(--headword-text-color); 197 --headword-furigana-text-color-popular: var(--headword-text-color-popular); 198 --headword-furigana-text-color-rare: var(--headword-text-color-rare); 199 --headword-reading-text-color: var(--headword-furigana-text-color); 200 --headword-reading-text-color-popular: var(--headword-furigana-text-color-popular); 201 --headword-reading-text-color-rare: var(--headword-furigana-text-color-rare); 202 --headword-kanji-border-color: var(--dark-border-color); 203 204 --light-border-color: #2f2f2f; 205 --medium-border-color: #3f3f3f; 206 --dark-border-color: #888888; 207 208 --tag-text-color: #f1f1f1; 209 --tag-border-color: transparent; 210 --tag-default-background-color: #69696e; 211 --tag-name-background-color: #992a67; 212 --tag-expression-background-color: #b07f39; 213 --tag-popular-background-color: #025caa; 214 --tag-frequent-background-color: #4490a7; 215 --tag-archaism-background-color: #b04340; 216 --tag-dictionary-background-color: #9057ad; 217 --tag-frequency-background-color: #489148; 218 --tag-part-of-speech-background-color: #565656; 219 --tag-search-background-color: #69696e; 220 --tag-pronunciation-dictionary-background-color: #6640be; 221 222 --sidebar-background-color: #282828; 223 224 --sidebar-button-background-color: transparent; 225 --sidebar-button-background-color-hover: #3a3a3a; 226 --sidebar-button-background-color-active: #5a5a5a; 227 --sidebar-button-danger-background-color: transparent; 228 --sidebar-button-danger-background-color-hover: #dd2222; 229 --sidebar-button-danger-background-color-active: #bb2222; 230 --sidebar-button-icon-color: #cccccc; 231 --sidebar-button-disabled-icon-color: #777777; 232 --sidebar-button-danger-icon-color: #ffffff; 233 234 --scrollbar-thumb-color: #444444; 235 --scrollbar-track-color: #2f2f2f; 236 --scrollbar-inverse-thumb-color: #c1c1c1; 237 --scrollbar-inverse-track-color: #f1f1f1; 238 239 --progress-bar-track-color: #3a3a3a; 240 --progress-bar-indicator-color: var(--accent-color); 241 --entry-current-indicator-color: var(--accent-color); 242 243 --notification-text-color: #ffffff; 244 --notification-background-color: #333333; 245 --notification-background-color-light: #555555; 246 --notification-background-color-lighter: #666666; 247 --notification-shadow-color: rgba(0, 0, 0, 0.5); 248 249 --action-button-hover-color: #282828; 250 --action-button-active-color: #444444; 251} 252 253 254/* Fonts */ 255@font-face { 256 font-family: kanji-stroke-orders; 257 src: url('/data/fonts/kanji-stroke-orders.ttf'); 258} 259 260 261/* General */ 262:root[data-page-type=popup]:not([data-theme]), 263:root[data-page-type=popup]:not([data-theme]) body { 264 background-color: transparent; 265} 266body { 267 overflow: hidden; 268} 269ol, ul { 270 margin-top: 0; 271 margin-bottom: var(--list-padding); 272} 273h2 { 274 font-size: var(--h2-font-size); 275 font-weight: normal; 276 margin: 0.25em 0 0; 277 border-bottom: calc(1em / (var(--font-size-no-units) * var(--h2-font-size-no-units))) solid var(--light-border-color); 278} 279h3 { 280 font-size: 1em; 281 font-weight: bold; 282 margin: 0.25em 0 0.375em; 283 padding: 0; 284} 285h5 { 286 font-size: calc(12em / var(--font-size-no-units)); 287 margin: 0; 288 padding: 0; 289 font-weight: normal; 290} 291a { 292 color: var(--link-color); 293 text-decoration: underline; 294 cursor: pointer; 295 text-underline-offset: calc(4em / var(--font-size-no-units)); 296 text-decoration-thickness: calc(1em / var(--font-size-no-units)); 297} 298a:has(rt) { 299 text-decoration: none; 300 border-bottom: solid calc(1em / var(--font-size-no-units)) var(--link-color); 301} 302 303 304/* Selection */ 305#content-scroll-focus { 306 opacity: 0; 307 margin: 0; 308 padding: 0; 309 outline: none; 310 background-color: transparent; 311 display: inline; 312 width: 0; 313 height: 0; 314 line-height: 0; 315 user-select: none; 316} 317#content-scroll-focus::-moz-focus-inner { 318 border: 0; 319} 320 321 322/* Scrollbars */ 323:root:not([data-theme=light]) .scrollbar { 324 scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-track-color); 325} 326:root:not([data-theme=light]) .scrollbar::-webkit-scrollbar { 327 width: auto; 328} 329:root:not([data-theme=light]) .scrollbar::-webkit-scrollbar-button { 330 height: 0; 331} 332:root:not([data-theme=light]) .scrollbar::-webkit-scrollbar-thumb { 333 background-color: var(--scrollbar-thumb-color); 334} 335:root:not([data-theme=light]) .scrollbar::-webkit-scrollbar-track { 336 background-color: var(--scrollbar-thumb-color); 337} 338:root:not([data-theme=light]) .scrollbar::-webkit-scrollbar-track-piece { 339 background-color: var(--scrollbar-track-color); 340} 341:root:not([data-theme=light]) .scrollbar::-webkit-scrollbar-corner { 342 background-color: var(--scrollbar-track-color); 343} 344:root .scrollbar-inverse { 345 scrollbar-color: var(--scrollbar-inverse-humb-color) var(--scrollbar-inverse-track-color); 346} 347:root .scrollbar-inverse::-webkit-scrollbar { 348 width: auto; 349} 350:root .scrollbar-inverse::-webkit-scrollbar-button { 351 height: 0; 352} 353:root .scrollbar-inverse::-webkit-scrollbar-thumb { 354 background-color: var(--scrollbar-inverse-thumb-color); 355} 356:root .scrollbar-inverse::-webkit-scrollbar-track { 357 background-color: var(--scrollbar-inverse-thumb-color); 358} 359:root .scrollbar-inverse::-webkit-scrollbar-track-piece { 360 background-color: var(--scrollbar-inverse-track-color); 361} 362:root .scrollbar-inverse::-webkit-scrollbar-corner { 363 background-color: var(--scrollbar-inverse-track-color); 364} 365.scrollbar-spacer { 366 display: inline-block; 367 overflow-x: hidden; 368 overflow-y: scroll; 369 visibility: hidden; 370 flex: 0 1 auto; 371} 372 373 374/* Main layout */ 375.content { 376 flex: 1 1 auto; 377 position: relative; 378} 379.content-scroll { 380 position: absolute; 381 left: 0; 382 top: 0; 383 right: 0; 384 bottom: 0; 385 display: flex; 386 flex-flow: column nowrap; 387 overflow-x: hidden; 388 overflow-y: scroll; 389 align-items: stretch; 390 justify-content: flex-start; 391} 392.content-body { 393 flex: 1 1 auto; 394 position: relative; 395} 396.content-body-inner { 397 width: var(--content-width); 398 max-width: 100%; 399 box-sizing: border-box; 400 margin: 0 auto; 401 padding: var(--main-content-vertical-padding) var(--main-content-horizontal-padding); 402} 403.content-footer-container1 { 404 display: flex; 405 flex-flow: row nowrap; 406 position: absolute; 407 left: 0; 408 right: 0; 409 bottom: 0; 410 max-height: 100%; 411 pointer-events: none; 412 z-index: 5; 413} 414.content-footer-container2 { 415 display: flex; 416 flex-flow: row nowrap; 417 justify-content: center; 418 flex: 1 1 auto; 419 max-width: 100%; 420} 421.content-footer { 422 width: var(--content-width); 423 max-width: 100%; 424} 425.contain-overscroll { 426 overscroll-behavior: contain; 427} 428 429 430/* Sidebar layout */ 431.content-outer { 432 width: 100%; 433 height: 100%; 434 display: flex; 435 flex-flow: row nowrap; 436 overflow: hidden; 437 align-items: stretch; 438 align-content: stretch; 439 justify-content: center; 440} 441.content-sidebar { 442 flex: 0 0 auto; 443 height: 100%; 444 overflow-x: hidden; 445 overflow-y: auto; 446 background-color: var(--sidebar-background-color); 447 z-index: 10; 448 position: relative; 449 display: none; 450} 451:root[data-has-navigation-previous=true] .content-sidebar, 452:root[data-has-navigation-next=true] .content-sidebar, 453:root[data-popup-action-bar-visibility=always] .content-sidebar, 454:root[data-profile-panel-visible=true] .content-sidebar { 455 display: block; 456} 457.content-sidebar-inner { 458 display: flex; 459 flex-flow: column nowrap; 460 width: var(--sidebar-width); 461 height: 100%; 462} 463.content-sidebar-top-pre { 464 flex: 0 0 auto; 465 display: flex; 466 flex-flow: column nowrap; 467} 468.content-sidebar-top { 469 flex: 1 1 auto; 470 display: flex; 471 flex-flow: column nowrap; 472} 473.content-sidebar-bottom { 474 position: sticky; 475 bottom: 0; 476 background-color: var(--sidebar-background-color); 477 display: flex; 478 flex-flow: column nowrap; 479 align-items: center; 480} 481:root[data-popup-action-bar-location=top] .content-outer, 482:root[data-popup-action-bar-location=bottom] .content-outer { 483 flex-flow: column nowrap; 484} 485:root[data-popup-action-bar-location=top] .content-sidebar, 486:root[data-popup-action-bar-location=bottom] .content-sidebar { 487 height: auto; 488 width: 100%; 489} 490:root[data-popup-action-bar-location=left] .content-sidebar, 491:root[data-popup-action-bar-location=top] .content-sidebar { 492 order: -1; 493} 494:root[data-popup-action-bar-location=top] .content-sidebar-inner, 495:root[data-popup-action-bar-location=bottom] .content-sidebar-inner { 496 flex-flow: row nowrap; 497 width: auto; 498 height: var(--sidebar-button-height); 499} 500:root[data-popup-action-bar-location=top] .content-sidebar-top-pre, 501:root[data-popup-action-bar-location=bottom] .content-sidebar-top-pre { 502 flex-flow: row nowrap; 503 order: 1; 504} 505:root[data-popup-action-bar-location=top] .content-sidebar-top, 506:root[data-popup-action-bar-location=bottom] .content-sidebar-top { 507 flex-flow: row nowrap; 508} 509:root[data-popup-action-bar-location=top] .content-sidebar-bottom, 510:root[data-popup-action-bar-location=bottom] .content-sidebar-bottom { 511 flex-flow: row nowrap; 512} 513 514:root[data-popup-action-bar-location=right] #profile-name, 515:root[data-popup-action-bar-location=left] #profile-name { 516 writing-mode: vertical-rl; 517 text-orientation: vertical; 518 letter-spacing: 2px; 519} 520 521 522/* Sidebar buttons */ 523button.sidebar-button { 524 --button-content-color: var(--sidebar-button-icon-color); 525 --button-border-color: transparent; 526 --button-background-color: var(--sidebar-button-background-color); 527 --button-shadow: none; 528 529 --button-hover-border-color: transparent; 530 --button-hover-background-color: var(--sidebar-button-background-color-hover); 531 --button-hover-shadow: none; 532 533 --button-active-border-color: transparent; 534 --button-active-background-color: var(--sidebar-button-background-color-active); 535 --button-active-shadow: none; 536 537 --button-disabled-content-color: var(--sidebar-button-disabled-icon-color); 538 --button-disabled-border-color: transparent; 539 --button-disabled-background-color: var(--sidebar-button-background-color); 540 --button-disabled-shadow: none; 541 542 width: 100%; 543 height: var(--sidebar-button-height); 544 margin: 0; 545 padding: 0; 546 border-style: none; 547 border-width: 0; 548 cursor: pointer; 549 display: block; 550 transition: background-color 0.125s ease-in-out; 551 outline: none; 552 font-size: inherit; 553 border-radius: 0; 554} 555:root[data-popup-action-bar-location=top] button.sidebar-button, 556:root[data-popup-action-bar-location=bottom] button.sidebar-button { 557 width: var(--sidebar-width); 558 height: 100%; 559} 560button.sidebar-button.danger { 561 --button-content-color: var(--sidebar-button-icon-color); 562 --button-border-color: transparent; 563 --button-background-color: var(--sidebar-button-danger-background-color); 564 --button-shadow: none; 565 566 --button-hover-content-color: var(--sidebar-button-danger-icon-color); 567 --button-hover-border-color: transparent; 568 --button-hover-background-color: var(--sidebar-button-danger-background-color-hover); 569 --button-hover-shadow: none; 570 571 --button-active-content-color: var(--sidebar-button-danger-icon-color); 572 --button-active-border-color: transparent; 573 --button-active-background-color: var(--sidebar-button-danger-background-color-active); 574 --button-active-shadow: none; 575} 576.sidebar-button-icon { 577 --icon-size: var(--sidebar-button-icon-size) var(--sidebar-button-icon-size); 578 579 display: block; 580 width: 100%; 581 height: 100%; 582 background-color: var(--button-current-content-color); 583 transition: background-color 0.125s ease-in-out; 584} 585button.sidebar-button.sidebar-button-highlight { 586 --button-content-color: var(--accent-color); 587 --button-hover-content-color: var(--accent-color); 588 --button-active-content-color: var(--accent-color); 589} 590 591 592/* Search page */ 593.search-header-wrapper { 594 background-color: var(--background-color); 595 width: 100%; 596 display: flex; 597 justify-content: center; 598} 599.sticky-header { 600 position: sticky; 601 top: 0px; 602 z-index: 1000; 603} 604#sticky-search-header { 605 padding-top: 10px; 606} 607.sticky-header #query-parser-content { 608 max-height: calc(var(--query-parser-font-size) * 2); 609} 610.search-header { 611 width: var(--content-width); 612 display: flex; 613 flex-flow: column nowrap; 614 max-height: 100vh; 615 padding: var(--main-content-vertical-padding) var(--main-content-horizontal-padding); 616} 617#query-parser-container { 618 overflow-y: auto; 619 padding-left: var(--query-horizontal-padding); 620 padding-right: var(--query-horizontal-padding); 621 padding-bottom: 0.25em; 622 border-bottom: var(--headword-thin-border-size) solid var(--light-border-color); 623} 624#query-parser-content { 625 margin-top: 0.5em; 626 font-size: var(--query-parser-font-size); 627 white-space: pre-wrap; 628} 629#query-parser-content[data-term-spacing=true] .query-parser-term { 630 margin-right: 0.2em; 631} 632 633 634/* Action buttons */ 635.actions { 636 display: flex; 637 flex-flow: row nowrap; 638 float: right; 639 margin: -0.25em; 640 position: relative; 641 z-index: 1; 642} 643.actions::after { 644 clear: both; 645 content: ''; 646 display: block; 647} 648.note-actions-container { 649 display: flex; 650 flex-flow: row nowrap; 651 align-items: start; 652} 653.action-button-container { 654 display: flex; 655 flex-direction: column; 656 position: relative; 657} 658 659.note-actions-container .action-button-container::after { 660 content: ''; 661 position: absolute; 662 left: calc(50% - 0.5px); 663 top: calc((var(--action-button-size) + var(--action-button-padding) * 2) * 0.5); 664 bottom: calc((var(--action-button-size) + var(--action-button-padding) * 2) * 0.5); 665 width: 1px; 666 background: var(--accent-color); 667 pointer-events: none; 668 opacity: 0.25; 669 z-index: -1; 670} 671 672.note-actions-container .action-button-container:first-child { 673 flex-direction: row-reverse; 674} 675.note-actions-container .action-button-container:first-child::after { 676 top: calc(50% - 0.5px); 677 left: calc((var(--action-button-size) + var(--action-button-padding) * 2) * 0.5); 678 right: calc((var(--action-button-size) + var(--action-button-padding) * 2) * 0.5); 679 bottom: auto; 680 height: 1px; 681 width: auto; 682} 683 684.note-actions-container .action-button-container:only-child::after { 685 display: none; 686} 687 688button.action-button { 689 cursor: pointer; 690 display: block; 691 opacity: 1; 692 border: 0; 693 margin: 0; 694 padding: var(--action-button-padding); 695 background: transparent; 696 font-size: inherit; 697 box-shadow: none; 698 position: relative; 699 z-index: 1; 700 transition: 701 opacity var(--animation-duration) linear, 702 visibility 0s linear 0s, 703 filter var(--animation-duration) linear, 704 -webkit-filter var(--animation-duration) linear, 705 background-color var(--animation-duration) linear; 706} 707button.action-button[hidden] { 708 display: block; 709 visibility: hidden; 710 opacity: 0; 711 transition: 712 opacity var(--animation-duration) linear, 713 visibility 0s linear var(--animation-duration), 714 filter var(--animation-duration) linear, 715 -webkit-filter var(--animation-duration) linear, 716 background-color var(--animation-duration) linear; 717} 718button.action-button-collapsible[hidden] { 719 display: none; 720} 721button.action-button:disabled { 722 pointer-events: auto; 723 cursor: default; 724 -webkit-filter: grayscale(100%); 725 filter: grayscale(100%); 726 background-color: transparent; 727} 728button.action-button:disabled:not([hidden]) { 729 opacity: 0.25; 730} 731button.action-button:hover, 732button.action-button:focus { 733 background-color: transparent; 734 box-shadow: none; 735} 736button.action-button:focus-visible { 737 background-color: var(--action-button-hover-color); 738 box-shadow: none; 739} 740button.action-button:active:not(:disabled) { 741 background-color: var(--action-button-active-color); 742 box-shadow: none; 743} 744 745.icon[data-icon=view-note] { background-image: url('/images/view-note.svg'); } 746.icon[data-icon=view-note-learning] { background-image: url('/images/view-note-learning.svg'); } 747.icon[data-icon=view-note-review] { background-image: url('/images/view-note-review.svg'); } 748.icon[data-icon=view-note-suspended] { background-image: url('/images/view-note-suspended.svg'); } 749.icon[data-icon=view-note-buried] { background-image: url('/images/view-note-buried.svg'); } 750.icon[data-icon=big-circle] { background-image: url('/images/big-circle.svg'); } 751.icon[data-icon=small-circle] { background-image: url('/images/small-circle.svg'); } 752.icon[data-icon=big-square] { background-image: url('/images/big-square.svg'); } 753.icon[data-icon=big-diamond] { background-image: url('/images/big-diamond.svg'); } 754.icon[data-icon=overwrite-big-circle] { background-image: url('/images/overwrite-big-circle.svg'); } 755.icon[data-icon=overwrite-small-circle] { background-image: url('/images/overwrite-small-circle.svg'); } 756.icon[data-icon=overwrite-big-square] { background-image: url('/images/overwrite-big-square.svg'); } 757.icon[data-icon=overwrite-big-diamond] { background-image: url('/images/overwrite-big-diamond.svg'); } 758.icon[data-icon=add-duplicate-big-circle] { background-image: url('/images/add-duplicate-big-circle.svg'); } 759.icon[data-icon=add-duplicate-small-circle] { background-image: url('/images/add-duplicate-small-circle.svg'); } 760.icon[data-icon=add-duplicate-big-square] { background-image: url('/images/add-duplicate-big-square.svg'); } 761.icon[data-icon=add-duplicate-big-diamond] { background-image: url('/images/add-duplicate-big-diamond.svg'); } 762.icon[data-icon=play-audio] { background-image: url('/images/play-audio.svg'); } 763.icon[data-icon=source-term] { background-image: url('/images/source-term.svg'); } 764.icon[data-icon=entry-current] { background-image: url('/images/entry-current.svg'); } 765.action-icon { 766 display: block; 767 width: var(--action-button-size); 768 height: var(--action-button-size); 769} 770.action-icon:not(.color-icon) { 771 background-color: var(--text-color); 772} 773:root[data-result-output-mode=merge] .entry[data-type=term] .actions>button.action-button[data-action=play-audio] { 774 display: none; 775} 776.action-button-badge { 777 pointer-events: none; 778 position: absolute; 779 display: block; 780 right: 0; 781 top: 0; 782 width: calc(8em / var(--font-size-no-units)); 783 height: calc(8em / var(--font-size-no-units)); 784} 785.action-button-badge[data-icon=cross] { 786 background-color: var(--danger-color); 787} 788.action-button-badge[data-icon=plus-thick] { 789 background-color: var(--success-color); 790} 791 792 793/* Tags */ 794.tag { 795 --tag-color: var(--tag-default-background-color); 796 797 display: inline-flex; 798 flex-flow: row nowrap; 799 align-items: stretch; 800 border: none; 801 border-right: none; 802 font-size: 1em; 803 min-height: var(--tag-height); 804 margin: calc(1em / var(--font-size-no-units)) 0.375em calc(1em / var(--font-size-no-units)) 0; 805} 806.tag-label { 807 display: flex; 808 flex-flow: row nowrap; 809 align-items: center; 810 background-color: var(--tag-color); 811 border-radius: var(--tag-border-radius); 812 padding: calc(2.5em / var(--font-size-no-units)) 0.375em calc(2.5em / var(--font-size-no-units)) 0.375em; 813 color: var(--tag-text-color); 814 cursor: pointer; 815} 816.tag-label-content { 817 display: block; 818 font-size: var(--tag-font-size); 819 font-weight: var(--tag-font-weight); 820} 821.tag-body { 822 display: flex; 823 flex-flow: row nowrap; 824 align-items: center; 825 position: relative; 826 padding: 0 0.375em 0 0.375em; 827 border-radius: var(--tag-border-radius); 828 border-top-left-radius: 0; 829 border-bottom-left-radius: 0; 830} 831.tag-body::before { 832 content: ''; 833 display: block; 834 position: absolute; 835 left: 0; 836 top: 0; 837 bottom: 0; 838 right: 0; 839 border-radius: var(--tag-border-radius); 840 border-top-left-radius: 0; 841 border-bottom-left-radius: 0; 842 border: var(--tag-border-size) var(--tag-border-style) var(--tag-color); 843 border-left: none; 844 pointer-events: none; 845} 846.tag-body-content { 847 display: block; 848 position: relative; 849} 850.tag:not(.tag-has-body)>.tag-body { 851 display: none; 852} 853.tag.tag-has-body>.tag-label { 854 border-top-right-radius: 0; 855 border-bottom-right-radius: 0; 856} 857.tag[data-category=name] { 858 --tag-color: var(--tag-name-background-color); 859} 860.tag[data-category=expression] { 861 --tag-color: var(--tag-expression-background-color); 862} 863.tag[data-category=popular] { 864 --tag-color: var(--tag-popular-background-color); 865} 866.tag[data-category=frequent] { 867 --tag-color: var(--tag-frequent-background-color); 868} 869.tag[data-category=archaism] { 870 --tag-color: var(--tag-archaism-background-color); 871} 872.tag[data-category=dictionary] { 873 --tag-color: var(--tag-dictionary-background-color); 874} 875.tag[data-category=frequency] { 876 --tag-color: var(--tag-frequency-background-color); 877} 878.tag[data-category=partOfSpeech] { 879 --tag-color: var(--tag-part-of-speech-background-color); 880} 881.tag[data-category=search] { 882 --tag-color: var(--tag-search-background-color); 883} 884.tag[data-category=pronunciation-dictionary] { 885 --tag-color: var(--tag-pronunciation-dictionary-background-color); 886} 887 888 889/* Entries */ 890.entry { 891 padding: var(--entry-vertical-padding) var(--entry-horizontal-padding); 892 position: relative; 893 content-visibility: auto; 894 contain-intrinsic-height: auto 500px; 895} 896.entry+.entry { 897 border-top: var(--thin-border-size) solid var(--light-border-color); 898} 899.entry-body { 900 clear: both; 901} 902.entry[data-definition-count='0'] .entry-body-section[data-section-type=definitions], 903.entry[data-frequency-count='0'] .entry-body-section[data-section-type=frequencies], 904.entry[data-pronunciation-count='0'] .entry-body-section[data-section-type=pronunciations] { 905 display: none; 906} 907 908 909/* Inflections */ 910.inflection-rule-chains { 911 padding-inline-start: 0; 912 list-style-type: none; 913} 914.inflection-rule-chain { 915 color: var(--reason-text-color); 916} 917.inflection-rule-chain:empty { 918 display: none; 919} 920.inflection-rule-chain>.inflection+.inflection-separator+.inflection::before { 921 content: var(--inflection-separator); 922 padding: 0 0.25em; 923} 924.inflection-source-icon { 925 display: inline-block; 926 white-space: nowrap; 927 text-align: center; 928 width: 1.4em; 929 margin-right: 0.2em; 930} 931.inflection-source-icon[data-inflection-source='dictionary']::after { 932 content: '📖'; 933} 934.inflection-source-icon[data-inflection-source='algorithm']::after { 935 content: '🧩'; 936} 937.inflection-source-icon[data-inflection-source='both'] { 938 width: 2.8em; 939} 940.inflection-source-icon[data-inflection-source='both']::after { 941 content: '🧩📖'; 942} 943.inflection[title] { 944 cursor: pointer; 945} 946 947 948/* Headwords */ 949.headword-list { 950 display: inline; 951 margin-right: var(--headword-list-end-space); 952} 953.headword { 954 --headword-current-text-color: var(--headword-text-color); 955 --headword-current-reading-text-color: var(--headword-reading-text-color); 956 --headword-current-furigana-text-color: var(--headword-furigana-text-color); 957 --headword-current-kanji-text-color: var(--headword-kanji-text-color); 958 --headword-current-kanji-border-color: var(--headword-kanji-border-color); 959 960 display: inline-block; 961} 962:root[data-result-output-mode=merge] .headword[data-frequency=popular] { 963 --headword-current-text-color: var(--headword-text-color-popular); 964 --headword-current-reading-text-color: var(--headword-reading-text-color-popular); 965 --headword-current-furigana-text-color: var(--headword-furigana-text-color-popular); 966 --headword-current-kanji-text-color: var(--headword-kanji-text-color-popular); 967 --headword-current-kanji-border-color: var(--headword-kanji-border-color-popular); 968} 969:root[data-result-output-mode=merge] .headword[data-frequency=rare] { 970 --headword-current-text-color: var(--headword-text-color-rare); 971 --headword-current-reading-text-color: var(--headword-reading-text-color-rare); 972 --headword-current-furigana-text-color: var(--headword-furigana-text-color-rare); 973 --headword-current-kanji-text-color: var(--headword-kanji-text-color-rare); 974 --headword-current-kanji-border-color: var(--headword-kanji-border-color-rare); 975} 976.headword-details { 977 display: inline; 978} 979.headword-list-details { 980 display: inline; 981} 982.headword-list-tag-list { 983 display: inline; 984} 985.headword-text-container { 986 display: inline-block; 987 margin-left: calc(-1 * var(--headword-reading-space)); 988} 989.headword-term-outer { 990 display: inline-block; 991 position: relative; 992 margin-left: var(--headword-reading-space); 993} 994.headword-reading-outer { 995 display: none; 996 position: relative; 997 margin-left: var(--headword-reading-space); 998} 999.headword-term { 1000 color: var(--headword-current-text-color); 1001 font-size: var(--headword-font-size); 1002} 1003.headword-reading { 1004 color: var(--headword-current-reading-text-color); 1005 font-size: var(--headword-reading-font-size); 1006} 1007.headword-list>.headword:not(:last-of-type)>.headword-text-container>.headword-term-outer::after { 1008 content: var(--headword-separator); 1009 font-size: var(--headword-font-size); 1010} 1011.headword-list>.headword:not(:last-of-type)>.headword-text-container>.headword-reading-outer::after { 1012 content: var(--headword-separator); 1013 font-size: var(--headword-reading-font-size); 1014} 1015.headword-term>ruby>rt { 1016 color: var(--headword-current-furigana-text-color); 1017} 1018.headword-kanji-link { 1019 text-decoration: underline dashed var(--headword-current-kanji-border-color) var(--headword-thin-border-size); 1020 text-underline-offset: calc(var(--headword-font-size) / 15); 1021 color: var(--headword-current-kanji-text-color); 1022 cursor: pointer; 1023} 1024:root[data-result-output-mode=merge] .headword-list-details { 1025 display: block; 1026} 1027:root[data-term-display-mode=ruby-and-reading] .headword-term-outer::after, 1028:root[data-term-display-mode=term-and-reading] .headword-term-outer::after { 1029 display: none; 1030} 1031:root:not([data-language=ja]) { 1032 --headword-separator: ', '; 1033} 1034:root[data-term-display-mode=ruby-and-reading] .headword-reading-outer, 1035:root[data-term-display-mode=term-and-reading] .headword-reading-outer { 1036 display: inline-block; 1037} 1038:root[data-term-display-mode=ruby-and-reading] .headword[data-reading-is-same=true] .headword-term-outer::after, 1039:root[data-term-display-mode=term-and-reading] .headword[data-reading-is-same=true] .headword-term-outer::after { 1040 display: inline-block; 1041} 1042:root[data-term-display-mode=ruby-and-reading] .headword[data-reading-is-same=true] .headword-reading-outer, 1043:root[data-term-display-mode=term-and-reading] .headword[data-reading-is-same=true] .headword-reading-outer { 1044 display: none; 1045} 1046:root[data-term-display-mode=term-and-reading] .headword-term>ruby>rt, 1047:root[data-term-display-mode=term-only] .headword-term>ruby>rt { 1048 display: none; 1049} 1050 1051 1052/* Entry indicator */ 1053.entry-current-indicator { 1054 display: block; 1055 position: absolute; 1056 left: calc(-1 * var(--main-content-horizontal-padding)); 1057 top: 0; 1058 bottom: 0; 1059 width: 0; 1060 background-color: var(--entry-current-indicator-color); 1061 visibility: hidden; 1062 transition: 1063 width var(--entry-current-indicator-transition-duration) linear, 1064 visibility 0s linear var(--entry-current-indicator-transition-duration); 1065} 1066.entry.entry-current .entry-current-indicator { 1067 width: var(--entry-current-indicator-width); 1068 visibility: visible; 1069 transition: 1070 width var(--entry-current-indicator-transition-duration) linear, 1071 visibility 0s linear 0s; 1072} 1073:root[data-popup-current-indicator-mode=bar-right] .entry-current-indicator, 1074:root[data-popup-current-indicator-mode=dot-right] .entry-current-indicator { 1075 left: auto; 1076 right: 0; 1077} 1078.entry-current-indicator-inner { 1079 display: none; 1080 pointer-events: auto; 1081 width: 100%; 1082 height: 0; 1083 top: 0; 1084 background-color: var(--entry-current-indicator-color); 1085 transition: none; 1086} 1087.entry.entry-current .entry-current-indicator-inner { 1088 height: var(--entry-current-indicator-width); 1089 transition: height var(--entry-current-indicator-transition-duration) linear; 1090} 1091:root[data-popup-current-indicator-mode=dot-left] .entry-current-indicator, 1092:root[data-popup-current-indicator-mode=dot-right] .entry-current-indicator { 1093 background-color: transparent; 1094} 1095:root[data-popup-current-indicator-mode=dot-left] .entry-current-indicator-inner, 1096:root[data-popup-current-indicator-mode=dot-right] .entry-current-indicator-inner { 1097 display: block; 1098 position: sticky; 1099 transition: height var(--entry-current-indicator-transition-duration) linear; 1100} 1101:root[data-popup-current-indicator-mode=none] .entry-current-indicator, 1102:root[data-popup-current-indicator-mode=asterisk] .entry-current-indicator, 1103:root[data-popup-current-indicator-mode=triangle] .entry-current-indicator { 1104 display: none; 1105 transition: none; 1106} 1107 1108 1109/* Triangle entry indicator */ 1110.headword-current-indicator { 1111 pointer-events: none; 1112 position: absolute; 1113 left: calc(-1 * var(--main-content-horizontal-padding)); 1114 top: 0; 1115 bottom: 0; 1116 opacity: 0; 1117 visibility: hidden; 1118 transition: 1119 opacity var(--entry-current-indicator-transition-duration) linear, 1120 visibility 0s linear var(--entry-current-indicator-transition-duration); 1121} 1122.headword-term .headword-current-indicator { 1123 font-size: calc(1em / var(--headword-font-size-no-units)); 1124} 1125.entry.entry-current .headword-current-indicator { 1126 opacity: 1; 1127 visibility: visible; 1128 transition: 1129 opacity var(--entry-current-indicator-transition-duration) linear, 1130 visibility 0s linear 0s; 1131} 1132.headword-current-indicator::after { 1133 content: ''; 1134 display: block; 1135 position: absolute; 1136 width: var(--entry-current-indicator-triangle-size); 1137 height: calc(2 * var(--entry-current-indicator-triangle-size)); 1138 left: calc(-1 * var(--entry-horizontal-padding)); 1139 top: calc(50% - var(--entry-current-indicator-triangle-size)); 1140 background-color: var(--entry-current-indicator-color); 1141 mask-repeat: no-repeat; 1142 mask-position: center center; 1143 mask-mode: alpha; 1144 mask-size: contain; 1145 mask-image: url(/images/material-right-arrow.svg); 1146 -webkit-mask-repeat: no-repeat; 1147 -webkit-mask-position: center center; 1148 -webkit-mask-mode: alpha; 1149 -webkit-mask-size: contain; 1150 -webkit-mask-image: url(/images/material-right-arrow.svg); 1151} 1152.headword-list>.headword:not(:first-of-type) .headword-current-indicator, 1153:root:not([data-popup-current-indicator-mode=triangle]) .headword-current-indicator { 1154 display: none; 1155 transition: none; 1156} 1157 1158 1159/* Old entry indicator */ 1160.entry-current-indicator-icon { 1161 display: block; 1162 padding: var(--action-button-padding); 1163} 1164.entry-current-indicator-icon[hidden], 1165.entry:not(.entry-current) .entry-current-indicator-icon, 1166:root:not([data-popup-current-indicator-mode=asterisk]) .entry-current-indicator-icon { 1167 display: none; 1168} 1169.entry-current-indicator-icon>.icon { 1170 width: var(--action-button-size); 1171 height: var(--action-button-size); 1172 display: block; 1173 background-image: url('/images/entry-current.svg'); 1174} 1175 1176 1177/* Merged term styles */ 1178:root[data-result-output-mode=merge] .headword-list .headword-details { 1179 display: inline-block; 1180 position: relative; 1181 width: 0; 1182 height: 0; 1183 visibility: hidden; 1184 z-index: 1; 1185} 1186:root[data-result-output-mode=merge] .headword-list>.headword:not(:last-of-type) .headword-details { 1187 left: calc(-1 * var(--headword-font-size)); 1188} 1189:root[data-result-output-mode=merge] .headword:hover .headword-details { 1190 visibility: visible; 1191} 1192:root[data-result-output-mode=merge] .headword-list .headword-details>.action-button[data-action=play-audio] { 1193 position: absolute; 1194 left: 0; 1195 bottom: 0.5em; 1196} 1197:root:not([data-result-output-mode=merge]) .headword-list .headword-details>.action-button[data-action=play-audio] { 1198 display: none; 1199} 1200 1201 1202/* Definitions */ 1203.definition-list { 1204 margin: 0; 1205 padding: 0 0 0 var(--list-padding1); 1206 list-style-type: decimal; 1207} 1208.definition-list[data-count='0'], 1209.definition-list[data-count='1'] { 1210 padding-left: 0; 1211 list-style-type: none; 1212} 1213.gloss-list { 1214 margin: 0; 1215 padding: 0 0 0 var(--list-padding2); 1216 list-style-type: circle; 1217} 1218.gloss-list[data-count='0'], 1219.gloss-list[data-count='1'] { 1220 padding-left: 0; 1221 list-style-type: none; 1222} 1223.definition-item::marker, 1224.gloss-item::marker { 1225 color: var(--text-color-light3); 1226} 1227.gloss-content { 1228 display: block; 1229 white-space: pre-line; 1230} 1231.definition-disambiguation-list { 1232 color: var(--text-color-light3); 1233 padding-right: var(--disambiguation-space); 1234} 1235.definition-disambiguation-list[data-count='0'] { 1236 display: none; 1237} 1238.definition-disambiguation+.definition-disambiguation::before { 1239 content: var(--disambiguation-separator); 1240} 1241.gloss-separator, 1242.inflection-separator { 1243 display: inline; 1244 font-size: 0; 1245 opacity: 0; 1246 white-space: pre-wrap; 1247} 1248.gloss-separator { 1249 display: none; 1250} 1251.definition-item { 1252 display: list-item; 1253 position: relative; 1254} 1255.definition-item-inner { 1256 display: flex; 1257 flex-flow: row nowrap; 1258} 1259.definition-item-content { 1260 width: 100%; 1261 flex: 1 1 auto; 1262 background-color: transparent; 1263 transition: background-color var(--animation-duration) ease-in-out; 1264} 1265 1266/* Collapse & Expand */ 1267button.expansion-button { 1268 --button-content-color: var(--text-color-light4); 1269 --button-border-color: transparent; 1270 --button-background-color: transparent; 1271 1272 --button-hover-content-color: var(--text-color-light1); 1273 --button-hover-border-color: var(--accent-color-lighter); 1274 --button-hover-background-color: var(--accent-color-lighter); 1275 1276 --button-active-content-color: var(--text-color); 1277 --button-active-border-color: var(--accent-color-light); 1278 --button-active-background-color: var(--accent-color-light); 1279 1280 --button-padding-vertical: 0; 1281 --button-padding-horizontal: 0.125em; 1282 1283 flex: 0 0 auto; 1284 order: 1; 1285 border-radius: 0; 1286 border: 0; 1287} 1288 1289button.expansion-button:hover+.definition-item-content, 1290button.expansion-button:active+.definition-item-content, 1291button.expansion-button:focus+.definition-item-content, 1292button.expansion-button:hover+.kanji-glyph-table, 1293button.expansion-button:active+.kanji-glyph-table, 1294button.expansion-button:focus+.kanji-glyph-table { 1295 background-color: var(--accent-color-transparent25); 1296} 1297button.expansion-button:focus:not(:focus-visible)+.definition-item-content, 1298button.expansion-button:focus:not(:focus-visible)+.kanji-glyph-table { 1299 background-color: transparent; 1300} 1301button.expansion-button:focus:hover+.definition-item-content, 1302button.expansion-button:focus:active+.definition-item-content, 1303button.expansion-button:focus:focus-visible+.definition-item-content, 1304button.expansion-button:focus:hover+.kanji-glyph-table, 1305button.expansion-button:focus:active+.kanji-glyph-table, 1306button.expansion-button:focus:focus-visible+.kanji-glyph-table { 1307 background-color: var(--accent-color-transparent25); 1308} 1309.definition-item-inner.collapsible.collapsed { 1310 max-height: calc(1em * var(--collapsible-definition-line-count) * var(--line-height)); 1311 overflow: hidden; 1312} 1313.definition-item-inner.collapse-test { 1314 max-height: calc(1em * var(--collapsible-definition-line-count) * var(--line-height) + var(--collapsible-definition-test-offset)); 1315 overflow: hidden; 1316} 1317.kanji-glyph-data.collapsible.collapsed { 1318 max-height: calc(1em * var(--collapsible-kanji-glyph-data-line-count) * var(--line-height) + var(--kanji-glyph-table-header-height)); 1319 overflow: hidden; 1320} 1321.kanji-glyph-data.collapse-test { 1322 max-height: calc(1em * var(--collapsible-kanji-glyph-data-line-count) * var(--line-height) + var(--kanji-glyph-table-header-height) + var(--collpasible-kanji-glyph-data-test-offset)); 1323 overflow: hidden; 1324} 1325:not(.collapsible)>button.expansion-button { 1326 display: none; 1327} 1328.expansion-button-icon { 1329 transform: rotate(0deg); 1330 width: calc(16em / var(--font-size-no-units)); 1331 height: calc(16em / var(--font-size-no-units)); 1332 background-color: var(--button-current-content-color); 1333 transition: background-color var(--animation-duration) ease-in-out; 1334} 1335.collapsible:not(.collapsed)>button.expansion-button>.expansion-button-icon { 1336 transform: rotate(180deg); 1337} 1338 1339/* Frequencies */ 1340.frequency-group-item { 1341 display: inline; 1342} 1343.frequency-item { 1344 display: inline; 1345} 1346.frequency-disambiguation { 1347 color: var(--text-color-light3); 1348 padding-right: var(--disambiguation-space); 1349} 1350.frequency-disambiguation-separator::before { 1351 content: var(--disambiguation-reading-separator); 1352} 1353.frequency-disambiguation-reading { 1354 display: inline; 1355 font-size: 1em; 1356} 1357.frequency-body::after { 1358 white-space: pre-wrap; 1359 display: inline; 1360 color: var(--text-color-light3); 1361} 1362.entry[data-unique-term-count='1'] .frequency-item[data-has-reading=false] .frequency-disambiguation, 1363.entry[data-unique-reading-count='1'][data-unique-term-count='1'] .frequency-disambiguation, 1364.frequency-item[data-reading-is-same=true] .frequency-disambiguation-separator, 1365.frequency-item[data-reading-is-same=true] .frequency-disambiguation-reading, 1366.frequency-item[data-has-reading=false] .frequency-disambiguation-separator, 1367.frequency-item[data-has-reading=false] .frequency-disambiguation-reading, 1368.entry[data-unique-term-count='1'] .frequency-disambiguation-separator, 1369.entry[data-unique-term-count='1'] .frequency-disambiguation-term, 1370.entry[data-unique-reading-count='1'] .frequency-disambiguation-separator, 1371.entry[data-unique-reading-count='1'] .frequency-disambiguation-reading { 1372 display: none; 1373} 1374:root[data-frequency-display-mode=tags] .frequency-group-tag, 1375:root[data-frequency-display-mode=split-tags] .frequency-group-tag { 1376 margin: 0; 1377 display: inline; 1378 min-height: auto; 1379} 1380:root[data-frequency-display-mode=tags] .frequency-group-tag>.tag-label, 1381:root[data-frequency-display-mode=split-tags] .frequency-group-tag>.tag-label { 1382 display: none; 1383} 1384:root[data-frequency-display-mode=tags] .frequency-group-tag>.tag-body, 1385:root[data-frequency-display-mode=split-tags] .frequency-group-tag>.tag-body { 1386 display: inline; 1387 padding: 0; 1388} 1389:root[data-frequency-display-mode=tags] .frequency-group-tag>.tag-body::before, 1390:root[data-frequency-display-mode=split-tags] .frequency-group-tag>.tag-body::before { 1391 display: none; 1392} 1393:root[data-frequency-display-mode=tags] .frequency-list, 1394:root[data-frequency-display-mode=split-tags] .frequency-list { 1395 display: inline; 1396} 1397:root[data-frequency-display-mode=list] .frequency-tag, 1398:root[data-frequency-display-mode=inline-list] .frequency-tag, 1399:root[data-frequency-display-mode=tags-grouped] .frequency-tag, 1400:root[data-frequency-display-mode=split-tags-grouped] .frequency-tag { 1401 margin: 0; 1402 display: inline; 1403 min-height: auto; 1404} 1405:root[data-frequency-display-mode=list] .frequency-tag>.tag-label, 1406:root[data-frequency-display-mode=inline-list] .frequency-tag>.tag-label, 1407:root[data-frequency-display-mode=tags-grouped] .frequency-tag>.tag-label, 1408:root[data-frequency-display-mode=split-tags-grouped] .frequency-tag>.tag-label { 1409 display: none; 1410} 1411:root[data-frequency-display-mode=list] .frequency-tag>.tag-body, 1412:root[data-frequency-display-mode=inline-list] .frequency-tag>.tag-body, 1413:root[data-frequency-display-mode=tags-grouped] .frequency-tag>.tag-body, 1414:root[data-frequency-display-mode=split-tags-grouped] .frequency-tag>.tag-body { 1415 display: inline; 1416 padding: 0; 1417} 1418:root[data-frequency-display-mode=list] .frequency-tag>.tag-body::before, 1419:root[data-frequency-display-mode=inline-list] .frequency-tag>.tag-body::before, 1420:root[data-frequency-display-mode=tags-grouped] .frequency-tag>.tag-body::before, 1421:root[data-frequency-display-mode=split-tags-grouped] .frequency-tag>.tag-body::before { 1422 display: none; 1423} 1424:root[data-frequency-display-mode=list] .frequency-body, 1425:root[data-frequency-display-mode=inline-list] .frequency-body, 1426:root[data-frequency-display-mode=tags-grouped] .frequency-body, 1427:root[data-frequency-display-mode=split-tags-grouped] .frequency-body { 1428 display: inline-block; 1429} 1430:root[data-frequency-display-mode=inline-list] .frequency-item:not(:last-child)>.frequency-tag>.tag-body>.frequency-body::after, 1431:root[data-frequency-display-mode=tags-grouped] .frequency-item:not(:last-child)>.frequency-tag>.tag-body>.frequency-body::after, 1432:root[data-frequency-display-mode=split-tags-grouped] .frequency-item:not(:last-child)>.frequency-tag>.tag-body>.frequency-body::after { 1433 content: var(--compact-list-separator); 1434} 1435:root[data-frequency-display-mode=list] .frequency-group-tag>.tag-body::before, 1436:root[data-frequency-display-mode=inline-list] .frequency-group-tag>.tag-body::before { 1437 display: none; 1438} 1439:root[data-frequency-display-mode=list] .frequency-group-tag.tag.tag-has-body>.tag-label, 1440:root[data-frequency-display-mode=inline-list] .frequency-group-tag.tag.tag-has-body>.tag-label { 1441 border-radius: var(--tag-border-radius); 1442} 1443:root[data-frequency-display-mode=tags] .frequency-tag>.tag-body::before { 1444 display: none; 1445} 1446:root[data-frequency-display-mode=tags] .frequency-tag>.tag-body { 1447 background-color: var(--tag-color); 1448 padding-left: 0; 1449} 1450:root[data-frequency-display-mode=tags] .frequency-body { 1451 font-size: var(--tag-font-size); 1452 font-weight: var(--tag-font-weight); 1453 color: var(--tag-text-color); 1454} 1455:root[data-frequency-display-mode=tags] .frequency-tag>.tag-label>.tag-label-content::after { 1456 content: ':'; 1457} 1458:root[data-frequency-display-mode=tags-grouped] .frequency-group-tag>.tag-body::before { 1459 display: none; 1460} 1461:root[data-frequency-display-mode=tags-grouped] .frequency-group-tag>.tag-body { 1462 background-color: var(--tag-color); 1463 padding-left: 0; 1464} 1465:root[data-frequency-display-mode=tags-grouped] .frequency-list { 1466 font-size: var(--tag-font-size); 1467 font-weight: var(--tag-font-weight); 1468 color: var(--tag-text-color); 1469} 1470:root[data-frequency-display-mode=tags-grouped] .frequency-group-tag>.tag-label>.tag-label-content::after { 1471 content: ':'; 1472} 1473:root[data-frequency-display-mode=tags] .frequency-disambiguation, 1474:root[data-frequency-display-mode=tags-grouped] .frequency-disambiguation, 1475:root[data-frequency-display-mode=tags] .frequency-body::after, 1476:root[data-frequency-display-mode=tags-grouped] .frequency-body::after { 1477 color: inherit; 1478 font-weight: normal; 1479 opacity: 0.75; 1480} 1481:root[data-frequency-display-mode=list] .frequency-group-list { 1482 list-style-type: decimal; 1483 padding: 0 0 0 var(--list-padding1); 1484} 1485:root[data-frequency-display-mode=list] .frequency-group-item { 1486 display: list-item; 1487} 1488:root[data-frequency-display-mode=list] .frequency-group-item::marker { 1489 color: var(--text-color-light3); 1490} 1491:root[data-frequency-display-mode=list] .frequency-group-tag { 1492 display: block; 1493 min-height: auto; 1494} 1495:root[data-frequency-display-mode=list] .frequency-group-tag>.tag-label { 1496 display: inline-flex; 1497} 1498:root[data-frequency-display-mode=list] .frequency-list { 1499 list-style-type: circle; 1500 padding: 0 0 0 var(--list-padding2); 1501} 1502:root[data-frequency-display-mode=list] .frequency-item { 1503 display: list-item; 1504} 1505:root[data-frequency-display-mode=list] .frequency-item::marker { 1506 color: var(--text-color-light3); 1507} 1508:root[data-frequency-display-mode=list] .frequency-group-list[data-count='1'] { 1509 list-style-type: none; 1510 padding-left: 0; 1511} 1512:root[data-frequency-display-mode=list] .frequency-group-list[data-count='1']>.frequency-group-item { 1513 display: inline; 1514} 1515:root[data-frequency-display-mode=list] .frequency-group-item[data-count='1']>.frequency-group-tag>.tag-body { 1516 display: inline-flex; 1517} 1518:root[data-frequency-display-mode=list] .frequency-group-item[data-count='1']>.frequency-group-tag>.tag-body>.frequency-body { 1519 display: inline; 1520} 1521:root[data-frequency-display-mode=list] .frequency-group-item[data-count='1'] .frequency-list { 1522 list-style-type: none; 1523 padding-left: 0; 1524} 1525:root[data-frequency-display-mode=list] .frequency-group-item[data-count='1'] .frequency-item { 1526 display: inline; 1527} 1528 1529 1530/* Pitch accent styles */ 1531.pronunciation-group-list { 1532 margin: 0; 1533 padding: 0 0 0 var(--list-padding1); 1534 list-style-type: decimal; 1535} 1536.pronunciation-group-list[data-count='0'], 1537.pronunciation-group-list[data-count='1'] { 1538 padding-left: 0; 1539 list-style-type: none; 1540} 1541.pronunciation-list { 1542 margin: 0; 1543 padding: 0 0 0 var(--list-padding2); 1544 list-style-type: circle; 1545 display: block; 1546} 1547.pronunciation-list[data-count='0'], 1548.pronunciation-list[data-count='1'] { 1549 padding-left: 0; 1550 list-style-type: none; 1551 display: inline; 1552} 1553.pronunciation-group::marker, 1554.pronunciation::marker { 1555 color: var(--text-color-light3); 1556} 1557.pronunciation { 1558 display: list-item; 1559 line-height: 1.5; 1560} 1561.pronunciation-list[data-count='0'] .pronunciation, 1562.pronunciation-list[data-count='1'] .pronunciation { 1563 display: inline; 1564} 1565.pronunciation-group-tag-list { 1566 margin-right: 0.375em; 1567} 1568.pronunciation-disambiguation-list { 1569 color: var(--text-color-light3); 1570 padding-right: var(--disambiguation-space); 1571} 1572.pronunciation-disambiguation+.pronunciation-disambiguation::before { 1573 content: var(--disambiguation-separator); 1574} 1575.pronunciation-disambiguation-list[data-count='0'] { 1576 display: none; 1577} 1578.pronunciation-tag-list:not([data-count='0']) { 1579 margin-right: 0.375em; 1580} 1581.pronunciation-downstep-notation-container { 1582 margin-left: 0.25em; 1583} 1584.pronunciation-graph-container { 1585 margin-left: 0.25em; 1586} 1587 1588 1589/* Kanji */ 1590.kanji-glyph-container { 1591 display: block; 1592 position: relative; 1593} 1594.kanji-glyph { 1595 font-family: sans-serif; 1596 font-size: 8.5em; 1597 line-height: 1; 1598 padding: 0.01em; 1599 vertical-align: top; 1600} 1601.kanji-glyph-data { 1602 margin-top: 0.75em; 1603 display: flex; 1604 flex-flow: row nowrap; 1605} 1606.kanji-glyph-table { 1607 border-spacing: 0; 1608 border-collapse: collapse; 1609} 1610.kanji-glyph-table>tbody>tr>* { 1611 border-top: var(--thin-border-size) solid var(--medium-border-color); 1612 text-align: left; 1613 vertical-align: top; 1614 padding: var(--kanji-glyph-table-cell-padding); 1615 margin: 0; 1616} 1617.kanji-info-table { 1618 width: 100%; 1619} 1620.kanji-info-table>tbody>tr>th, 1621.kanji-info-table>tbody>tr>td { 1622 text-align: left; 1623 vertical-align: top; 1624 padding: 0; 1625 margin: 0; 1626} 1627.kanji-info-table>tbody>tr>td { 1628 text-align: right; 1629} 1630.kanji-glyph-table dl { 1631 margin-top: 0; 1632 margin-bottom: 1.4em; 1633} 1634.kanji-glyph-table dd { 1635 margin-left: 0; 1636} 1637.kanji-gloss-list { 1638 margin: 0; 1639 padding: 0 0 0 var(--list-padding1); 1640 list-style-type: decimal; 1641} 1642.kanji-gloss-list[data-count='0'], 1643.kanji-gloss-list[data-count='1'] { 1644 padding-left: 0; 1645 list-style-type: none; 1646} 1647.kanji-gloss-item::marker { 1648 color: var(--text-color-light3); 1649} 1650.kanji-gloss-content { 1651 white-space: pre-line; 1652} 1653.kanji-tag-list { 1654 position: relative; 1655} 1656.entry[data-type=kanji] .entry-body-section[data-section-type=frequencies] { 1657 position: relative; 1658} 1659 1660 1661/* Progress bar */ 1662@keyframes progress-bar-indeterminant1a { 1663 0% { left: 0; } 1664 25% { left: 0; } 1665 75% { left: 100%; } 1666 100% { left: 100%; } 1667} 1668@keyframes progress-bar-indeterminant1b { 1669 0% { right: 100%; } 1670 50% { right: 0; } 1671 100% { right: 0; } 1672} 1673@keyframes progress-bar-indeterminant2a { 1674 0% { left: 0; } 1675 25% { left: 0; } 1676 100% { left: 100%; } 1677} 1678@keyframes progress-bar-indeterminant2b { 1679 0% { right: 100%; } 1680 75% { right: 0; } 1681 100% { right: 0; } 1682} 1683.progress-bar-indeterminant { 1684 display: block; 1685 width: 100%; 1686 height: 0; 1687 background-color: var(--progress-bar-indicator-color); 1688 position: relative; 1689 transition: 1690 height var(--progress-bar-active-transition-duration) linear var(--progress-bar-active-transition-duration), 1691 background-color var(--progress-bar-active-transition-duration) linear; 1692} 1693.progress-bar-indeterminant[data-active=true] { 1694 height: var(--progress-bar-height); 1695 background-color: var(--progress-bar-track-color); 1696 transition: 1697 height var(--progress-bar-active-transition-duration) linear var(--progress-bar-active-transition-start-delay), 1698 background-color 0s linear; 1699} 1700.progress-bar-indeterminant[hidden]:not([data-active=true]) { 1701 display: none; 1702} 1703.progress-bar-indeterminant::before, 1704.progress-bar-indeterminant::after { 1705 content: ''; 1706 display: block; 1707 position: absolute; 1708 left: 0; 1709 top: 0; 1710 bottom: 0; 1711 right: 100%; 1712 background-color: var(--progress-bar-indicator-color); 1713 animation: none; 1714} 1715.progress-bar-indeterminant:not([hidden])::before { 1716 animation: 1717 progress-bar-indeterminant1a var(--progress-bar-animation-duration) infinite ease-in-out var(--progress-bar-active-transition-start-delay), 1718 progress-bar-indeterminant1b var(--progress-bar-animation-duration) infinite ease-in-out var(--progress-bar-active-transition-start-delay); 1719} 1720.progress-bar-indeterminant:not([hidden])::after { 1721 animation: 1722 progress-bar-indeterminant2a var(--progress-bar-animation-duration) infinite ease-in-out calc(var(--progress-bar-active-transition-start-delay) + 0.375 * var(--progress-bar-animation-duration)), 1723 progress-bar-indeterminant2b var(--progress-bar-animation-duration) infinite ease-in-out calc(var(--progress-bar-active-transition-start-delay) + 0.375 * var(--progress-bar-animation-duration)); 1724} 1725.top-progress-bar-container { 1726 position: sticky; 1727 top: 0; 1728 height: 0; 1729 pointer-events: none; 1730 z-index: 10; 1731} 1732 1733 1734/* Frame resizer */ 1735.frame-resizer-container { 1736 position: fixed; 1737 bottom: 0; 1738 right: 0; 1739 z-index: 100; 1740 background: transparent; 1741 pointer-events: none; 1742 user-select: none; 1743} 1744.frame-resizer-sizer1 { 1745 padding-top: 100%; 1746 line-height: 0; 1747} 1748.frame-resizer-sizer2 { 1749 display: inline-block; 1750 overflow-x: hidden; 1751 overflow-y: scroll; 1752 vertical-align: bottom; 1753} 1754.frame-resizer-sizer2.frame-resizer-sizer2-with-min-size { 1755 min-width: 1em; 1756} 1757.frame-resizer-svg { 1758 display: block; 1759 position: absolute; 1760 bottom: 0; 1761 right: 0; 1762 width: 75%; 1763 height: 75%; 1764} 1765.frame-resizer-handle { 1766 fill: var(--text-color); 1767 opacity: 0.125; 1768 cursor: se-resize; 1769 pointer-events: auto; 1770 transition: 1771 fill var(--animation-duration) linear, 1772 opacity var(--animation-duration) linear; 1773} 1774.frame-resizer-handle:hover, 1775:root[data-is-resizing=true] .frame-resizer-handle { 1776 fill: var(--accent-color); 1777 opacity: 1; 1778} 1779 1780 1781/* Footer notifications */ 1782.footer-notification { 1783 display: flex; 1784 flex-flow: row nowrap; 1785 align-items: flex-start; 1786 pointer-events: auto; 1787 border-radius: 0.25em; 1788 background-color: var(--notification-background-color); 1789 box-shadow: 0 0.125em 0.25em 0 var(--notification-shadow-color); 1790 color: var(--notification-text-color); 1791 margin: 0.5em; 1792 padding: 0; 1793 transition: opacity var(--animation-duration) ease-out; 1794 position: relative; 1795 overflow: auto; 1796 max-height: calc(0.5em * 2 + var(--line-height) * 4 * 1em); 1797} 1798.footer-notification[hidden] { 1799 display: flex; 1800 opacity: 0; 1801 transition: opacity var(--animation-duration) ease-in; 1802} 1803.footer-notification-body { 1804 flex: 1 1 auto; 1805 padding: 0.5em 0.75em; 1806 white-space: pre-line; 1807} 1808.footer-notification-close-button-container { 1809 align-self: stretch; 1810 display: flex; 1811 flex-flow: column nowrap; 1812 align-items: center; 1813 justify-content: center; 1814 padding: 0.25em 0.75em 0.25em 0; 1815 position: sticky; 1816 top: 0; 1817 right: 0; 1818} 1819button.footer-notification-close-button { 1820 --button-content-color: var(--notification-text-color); 1821 --button-border-color: transparent; 1822 --button-background-color: transparent; 1823 --button-shadow: none; 1824 1825 --button-hover-border-color: transparent; 1826 --button-hover-background-color: transparent; 1827 --button-hover-shadow: none; 1828 1829 --button-active-border-color: transparent; 1830 --button-active-background-color: transparent; 1831 --button-active-shadow: none; 1832 1833 --button-focus-visible-border-color: transparent; 1834 --button-focus-visible-background-color: var(--notification-background-color-light); 1835 --button-focus-visible-shadow: none; 1836 1837 flex: 0 0 auto; 1838 margin: -0.25em; 1839 padding: 0.5em; 1840 border-style: none; 1841 border-width: 0; 1842 cursor: pointer; 1843 font-size: inherit; 1844} 1845.footer-notification-close-button-icon { 1846 display: block; 1847 width: calc(16em / var(--font-size-no-units)); 1848 height: calc(16em / var(--font-size-no-units)); 1849 background-color: var(--button-content-color); 1850} 1851.tag-details-disambiguation-list>.tag-details-disambiguation:not(:last-child)::after { 1852 content: var(--disambiguation-separator); 1853} 1854.footer-notification a { 1855 color: var(--notification-text-color); 1856} 1857 1858 1859/* Overlays */ 1860.overlay-panel-container { 1861 pointer-events: none; 1862 position: absolute; 1863 left: 0; 1864 top: 0; 1865 bottom: 0; 1866 right: 0; 1867 z-index: 6; 1868} 1869.overlay-panel { 1870 pointer-events: auto; 1871 background-color: var(--background-color); 1872 display: block; 1873 position: absolute; 1874 left: 0; 1875 top: 0; 1876 bottom: 0; 1877 width: var(--content-width); 1878 max-width: 100%; 1879 box-sizing: border-box; 1880 margin: 0 auto; 1881 padding: var(--main-content-vertical-padding) var(--main-content-horizontal-padding); 1882 overflow-y: scroll; 1883 transform: none; 1884 opacity: 1; 1885 visibility: visible; 1886 transition: 1887 opacity var(--animation-duration2) ease-out, 1888 visibility 0s linear, 1889 transform var(--animation-duration2) ease-out; 1890} 1891.overlay-panel[hidden] { 1892 transform: translate(var(--overlay-panel-translate-distance), 0); 1893 opacity: 0; 1894 visibility: hidden; 1895 transition: 1896 opacity var(--animation-duration2) ease-in, 1897 visibility 0s linear var(--animation-duration2), 1898 transform var(--animation-duration2) ease-in; 1899} 1900.overlay-panel[hidden]:not(.hidden-animating) { 1901 display: none; 1902} 1903:root[data-popup-action-bar-location=left] .overlay-panel[hidden] { 1904 transform: translate(calc(-1 * var(--overlay-panel-translate-distance)), 0); 1905} 1906:root[data-popup-action-bar-location=top] .overlay-panel[hidden] { 1907 transform: translate(0, calc(-1 * var(--overlay-panel-translate-distance))); 1908} 1909:root[data-popup-action-bar-location=bottom] .overlay-panel[hidden] { 1910 transform: translate(0, var(--overlay-panel-translate-distance)); 1911} 1912.overlay-panel-inner { 1913 padding: var(--entry-vertical-padding) var(--entry-horizontal-padding); 1914} 1915 1916 1917/* Profile panel */ 1918.profile-list { 1919 display: flex; 1920 flex-flow: column nowrap; 1921 align-items: stretch; 1922} 1923.profile-list-item { 1924 display: flex; 1925 flex-flow: row nowrap; 1926 align-items: center; 1927 cursor: pointer; 1928} 1929.profile-list-item-selection { 1930 flex: 0 0 auto; 1931 text-align: center; 1932 padding: 0.25em 0.5em 0.25em 0; 1933} 1934.profile-list-item-name { 1935 flex: 1 1 auto; 1936 padding: 0.25em 0; 1937} 1938 1939 1940/* Audio menu */ 1941.audio-button-popup-menu[data-show-icons=false] .popup-menu-item-audio-button .popup-menu-item-icon { 1942 display: none; 1943} 1944.audio-button-popup-menu .popup-menu-item-icon[data-icon=checkmark] { 1945 background-color: var(--success-color); 1946} 1947.audio-button-popup-menu .popup-menu-item-icon[data-icon=cross] { 1948 background-color: var(--danger-color); 1949} 1950.audio-button-popup-menu .popup-menu-item-group[data-source-in-options=false][data-valid=null] .popup-menu-item { 1951 color: var(--text-color-light1); 1952} 1953.popup-menu-item-audio-button .popup-menu-item-label { 1954 padding-right: 2.5em; 1955} 1956.popup-menu-item-set-primary-audio-button { 1957 flex-flow: row nowrap; 1958 align-items: center; 1959 justify-content: center; 1960 position: absolute; 1961 right: 0; 1962 top: 0; 1963 bottom: 0; 1964 width: 2.5em; 1965} 1966.popup-menu-item-set-primary-audio-button:not([hidden]) { 1967 display: flex; 1968} 1969.popup-menu-item-set-primary-audio-button .popup-menu-item-icon { 1970 opacity: 0; 1971 transition: opacity var(--animation-duration) linear; 1972} 1973.popup-menu-item-audio-button:hover~.popup-menu-item-set-primary-audio-button .popup-menu-item-icon, 1974.popup-menu-item-audio-button:active~.popup-menu-item-set-primary-audio-button .popup-menu-item-icon, 1975.popup-menu-item-audio-button:focus~.popup-menu-item-set-primary-audio-button .popup-menu-item-icon { 1976 opacity: 0.25; 1977} 1978.popup-menu-item-set-primary-audio-button:hover .popup-menu-item-icon, 1979.popup-menu-item-set-primary-audio-button:active .popup-menu-item-icon, 1980.popup-menu-item-set-primary-audio-button:focus .popup-menu-item-icon { 1981 opacity: 0.375; 1982} 1983.popup-menu-item-set-primary-audio-button:focus:not(:focus-visible) .popup-menu-item-icon { 1984 opacity: 0; 1985} 1986.popup-menu-item-audio-button:hover~.popup-menu-item-set-primary-audio-button:not(:focus-visible) .popup-menu-item-icon, 1987.popup-menu-item-audio-button:active~.popup-menu-item-set-primary-audio-button:not(:focus-visible) .popup-menu-item-icon, 1988.popup-menu-item-audio-button:focus~.popup-menu-item-set-primary-audio-button:not(:focus-visible) .popup-menu-item-icon { 1989 opacity: 0.25; 1990} 1991.popup-menu-item-set-primary-audio-button:hover:not(:focus-visible) .popup-menu-item-icon, 1992.popup-menu-item-set-primary-audio-button:active:not(:focus-visible) .popup-menu-item-icon { 1993 opacity: 0.375; 1994} 1995.popup-menu-item-group[data-is-primary-card-audio=true]>.popup-menu-item-audio-button~.popup-menu-item-set-primary-audio-button .popup-menu-item-icon, 1996.popup-menu-item-group[data-is-primary-card-audio=true]>.popup-menu-item-audio-button~.popup-menu-item-set-primary-audio-button:hover .popup-menu-item-icon, 1997.popup-menu-item-group[data-is-primary-card-audio=true]>.popup-menu-item-audio-button~.popup-menu-item-set-primary-audio-button:active .popup-menu-item-icon, 1998.popup-menu-item-group[data-is-primary-card-audio=true]>.popup-menu-item-audio-button~.popup-menu-item-set-primary-audio-button:focus .popup-menu-item-icon { 1999 opacity: 1; 2000} 2001 2002 2003/* Anki errors */ 2004.anki-note-error-list { 2005 margin: 0; 2006 padding-left: 1.5em; 2007 list-style: disc; 2008} 2009.anki-note-error-info { 2010 color: var(--danger-color); 2011} 2012.anki-note-error-header { 2013 font-weight: bold; 2014} 2015 2016 2017/* Conditional styles */ 2018:root:not([data-enable-search-tags=true]) .tag[data-category=search] { 2019 display: none; 2020} 2021:root[data-compact-tags=true] .tag[data-redundant=true] { 2022 display: none; 2023} 2024 2025:root:not([data-debug=true]) .action-button[data-action=menu] { 2026 display: none; 2027} 2028:root[data-anki-enabled=false] .action-button[data-action=view-note], 2029:root[data-anki-enabled=false] .action-button[data-action=save-note] { 2030 display: none; 2031} 2032 2033:root[data-average-frequency=true] .frequency-group-item:not([data-details='Average']) { 2034 display: none; 2035} 2036 2037:root[data-average-frequency=false] .frequency-group-item[data-details='Average'] { 2038 display: none; 2039} 2040 2041:root[data-audio-enabled=false] .action-button[data-action=play-audio] { 2042 display: none; 2043} 2044:root[data-glossary-layout-mode^=compact] .definition-tag-list, 2045:root[data-glossary-layout-mode^=compact] .definition-disambiguation-list:not([data-count='0']) { 2046 display: inline; 2047} 2048:root[data-glossary-layout-mode^=compact] .gloss-list { 2049 display: inline; 2050 list-style: none; 2051 padding-left: 0; 2052} 2053:root[data-glossary-layout-mode^=compact] .gloss-item { 2054 display: inline; 2055} 2056:root[data-glossary-layout-mode^=compact] .gloss-item:not(:first-child)::before { 2057 white-space: pre-wrap; 2058 content: var(--compact-list-separator); 2059 display: inline; 2060 color: var(--text-color-light3); 2061} 2062:root[data-glossary-layout-mode^=compact] .gloss-content { 2063 display: inline; 2064} 2065:root[data-glossary-layout-mode^=compact] .gloss-separator { 2066 display: inline; 2067} 2068 2069:root[data-show-pronunciation-text=true] .pronunciation-disambiguation-list[data-term-count='0'], 2070:root[data-show-pronunciation-text=true] .pronunciation-disambiguation[data-type=reading] { 2071 display: none; 2072} 2073:root[data-show-pronunciation-text=false] .pronunciation[data-pronunciation-type=pitch-accent]>.pronunciation-representation-list>.pronunciation-text-container { 2074 display: none; 2075} 2076:root[data-show-pronunciation-downstep-position=false] .pronunciation-downstep-notation-container { 2077 display: none; 2078} 2079:root[data-show-pronunciation-graph=false] .pronunciation-graph-container { 2080 display: none; 2081} 2082 2083:root[data-glossary-layout-mode^=compact][data-show-pronunciation-graph=false] .pronunciation-list:not([data-has-tags=true]) { 2084 display: inline; 2085 list-style: none; 2086 padding-left: 0; 2087} 2088:root[data-glossary-layout-mode^=compact][data-show-pronunciation-graph=false] .pronunciation-list:not([data-has-tags=true]) .pronunciation { 2089 display: inline; 2090} 2091:root[data-glossary-layout-mode^=compact][data-show-pronunciation-graph=false] .pronunciation-list:not([data-has-tags=true]) .pronunciation:not(:first-child)::before { 2092 white-space: pre-wrap; 2093 content: var(--compact-list-separator); 2094 display: inline; 2095 color: var(--text-color-light3); 2096} 2097 2098:root[data-popup-display-mode=full-width] .frame-resizer-container { 2099 display: none; 2100}