diff options
Diffstat (limited to 'ext/mixed')
-rw-r--r-- | ext/mixed/css/display.css | 1798 | ||||
-rw-r--r-- | ext/mixed/css/material.css | 996 | ||||
-rw-r--r-- | ext/mixed/css/popup-outer.css | 47 | ||||
-rw-r--r-- | ext/mixed/css/search.css | 162 |
4 files changed, 0 insertions, 3003 deletions
diff --git a/ext/mixed/css/display.css b/ext/mixed/css/display.css deleted file mode 100644 index bd381c6d..00000000 --- a/ext/mixed/css/display.css +++ /dev/null @@ -1,1798 +0,0 @@ -/* - * Copyright (C) 2016-2021 Yomichan Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the entrys of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -/* Variables */ -:root { - /* Layout */ - --font-size-no-units: 14; - --font-size: calc(1px * var(--font-size-no-units)); - --query-parser-font-size-no-units: 2; - --query-parser-font-size: calc(1em * var(--query-parser-font-size-no-units)); - --expression-font-size-no-units: 2; - --expression-font-size: calc(1em * var(--expression-font-size-no-units)); - --h2-font-size-no-units: 1.25; - --h2-font-size: calc(1em * var(--h2-font-size-no-units)); - - --line-height-no-units: 20; - --line-height: calc(var(--line-height-no-units) / var(--font-size-no-units)); - - --thin-border-size: calc(1em / var(--font-size-no-units)); - --expression-thin-border-size: calc(1em / (var(--expression-font-size-no-units) * var(--font-size-no-units))); - - --action-button-size-no-units: 16; - --action-button-size: calc(1em * (var(--action-button-size-no-units) / var(--font-size-no-units))); - --action-button-padding: 0.3em; - - --list-margin: 0.72em; - --main-content-size: 100%; - --main-content-vertical-padding: 0em; - --main-content-horizontal-padding: 0em; - --entry-horizontal-padding: 0.72em; - --entry-vertical-padding: 0.72em; - - --sidebar-width-no-units: 40; - --sidebar-width: calc(1em * (var(--sidebar-width-no-units) / var(--font-size-no-units))); - --sidebar-button-height-no-units: 30; - --sidebar-button-height: calc(1em * (var(--sidebar-button-height-no-units) / var(--font-size-no-units))); - --sidebar-button-icon-size-no-units: 16; - --sidebar-button-icon-size: calc(1em * (var(--sidebar-button-icon-size-no-units) / var(--font-size-no-units))); - - --progress-bar-height-no-units: 4; - --progress-bar-height: calc(1em * (var(--progress-bar-height-no-units) / var(--font-size-no-units))); - --progress-bar-active-transition-duration: 0.125s; - --progress-bar-active-transition-start-delay: 0.0625s; - --progress-bar-animation-duration: 2s; - - --entry-current-indicator-width-no-units: 4; - --entry-current-indicator-width: calc(1em * var(--entry-current-indicator-width-no-units) / var(--font-size-no-units)); - --entry-current-indicator-transition-duration: 0.125s; - - --expression-space-size: 0.5em; - - --tag-font-size-no-units: calc(11 / 14); - --tag-font-size: calc(1em * var(--tag-font-size-no-units)); - --tag-border-size-no-units: 0; - --tag-border-size: calc(1em * (var(--tag-border-size-no-units) / (var(--font-size-no-units) * var(--tag-font-size-no-units)))); - --tag-border-style: none; - --tag-font-weight: bold; - - --compact-list-separator: ' | '; - --list-padding1: 1.4em; - --list-padding2: var(--list-padding1); - - --entry-current-indicator-triangle-size-no-units: 6; - --entry-current-indicator-triangle-size: calc(1em * (var(--entry-current-indicator-triangle-size-no-units) / var(--font-size-no-units))); - - --overlay-panel-translate-distance: 4em; - - --animation-duration: 0.125s; - --animation-duration2: calc(2 * var(--animation-duration)); - - /* Colors */ - --background-color: #ffffff; - --glossary-image-background-color: #eeeeee; - --link-color: var(--accent-color); - - --text-color: #000000; - --kanji-text-color: var(--text-color); - --kanji-popular-text-color: var(--accent-color); - --kanji-rare-text-color: var(--text-color-light4); - --kanji-furigana-text-color: inherit; - --reason-text-color: var(--text-color-light3); - - --light-border-color: #eeeeee; - --medium-border-color: #dddddd; - --dark-border-color: #777777; - --kanji-border-color: var(--dark-border-color); - - --pitch-accent-annotation-color: #000000; - - --tag-text-color: #ffffff; - --tag-border-color: transparent; - --tag-default-background-color: #8a8a91; - --tag-name-background-color: #5cb85c; - --tag-expression-background-color: #f0ad4e; - --tag-popular-background-color: #0275d8; - --tag-frequent-background-color: #5bc0de; - --tag-archaism-background-color: #d9534f; - --tag-dictionary-background-color: #aa66cc; - --tag-frequency-background-color: #5cb85c; - --tag-part-of-speech-background-color: #565656; - --tag-search-background-color: #8a8a91; - --tag-pitch-accent-dictionary-background-color: #6640be; - - --sidebar-background-color: #f8f9fa; - - --sidebar-button-background-color: transparent; - --sidebar-button-background-color-hover: #cccccc; - --sidebar-button-background-color-active: #aaaaaa; - --sidebar-button-danger-background-color: transparent; - --sidebar-button-danger-background-color-hover: #dd2222; - --sidebar-button-danger-background-color-active: #bb2222; - --sidebar-button-icon-color: #333333; - --sidebar-button-disabled-icon-color: #888888; - --sidebar-button-danger-icon-color: #ffffff; - - --scrollbar-thumb-color: #c1c1c1; - --scrollbar-track-color: #f1f1f1; - --scrollbar-inverse-thumb-color: #444444; - --scrollbar-inverse-track-color: #2f2f2f; - - --progress-bar-track-color: #cccccc; - --progress-bar-indicator-color: var(--accent-color); - --entry-current-indicator-color: var(--accent-color); - - --notification-text-color: #ffffff; - --notification-background-color: #333333; - --notification-shadow-color: rgba(0, 0, 0, 0.5); - - --action-button-active-color: var(--scrollbar-thumb-color); -} -:root[data-theme=dark] { - /* Colors */ - --background-color: #1e1e1e; - --glossary-image-background-color: #2f2f2f; - --link-color: var(--accent-color); - - --text-color: #d4d4d4; - --kanji-text-color: var(--text-color); - --kanji-popular-text-color: var(--accent-color); - --kanji-rare-text-color: var(--text-color-light4); - --kanji-furigana-text-color: inherit; - --reason-text-color: var(--text-color-light3); - - --light-border-color: #2f2f2f; - --medium-border-color: #3f3f3f; - --dark-border-color: #888888; - --kanji-border-color: var(--dark-border-color); - - --pitch-accent-annotation-color: #ffffff; - - --tag-text-color: #f1f1f1; - --tag-border-color: transparent; - --tag-default-background-color: #69696e; - --tag-name-background-color: #489148; - --tag-expression-background-color: #b07f39; - --tag-popular-background-color: #025caa; - --tag-frequent-background-color: #4490a7; - --tag-archaism-background-color: #b04340; - --tag-dictionary-background-color: #9057ad; - --tag-frequency-background-color: #489148; - --tag-part-of-speech-background-color: #565656; - --tag-search-background-color: #69696e; - --tag-pitch-accent-dictionary-background-color: #6640be; - - --sidebar-background-color: #282828; - - --sidebar-button-background-color: transparent; - --sidebar-button-background-color-hover: #3a3a3a; - --sidebar-button-background-color-active: #5a5a5a; - --sidebar-button-danger-background-color: transparent; - --sidebar-button-danger-background-color-hover: #dd2222; - --sidebar-button-danger-background-color-active: #bb2222; - --sidebar-button-icon-color: #cccccc; - --sidebar-button-disabled-icon-color: #777777; - --sidebar-button-danger-icon-color: #ffffff; - - --scrollbar-thumb-color: #444444; - --scrollbar-track-color: #2f2f2f; - --scrollbar-inverse-thumb-color: #c1c1c1; - --scrollbar-inverse-track-color: #f1f1f1; - - --progress-bar-track-color: #3a3a3a; - --progress-bar-indicator-color: var(--accent-color); - --entry-current-indicator-color: var(--accent-color); - - --notification-text-color: #2f2f2f; - --notification-background-color: #e1e1e1; - --notification-shadow-color: rgba(255, 255, 255, 0.25); - - --action-button-active-color: var(--scrollbar-thumb-color); -} - - -/* Fonts */ -@font-face { - font-family: kanji-stroke-orders; - src: url('/data/fonts/kanji-stroke-orders.ttf'); -} - - -/* General */ -:root[data-page-type=popup]:not([data-theme]), -:root[data-page-type=popup]:not([data-theme]) body { - background-color: transparent; -} -:root { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: var(--font-size); - line-height: var(--line-height); - height: 100%; -} -body { - margin: 0; - border: 0; - padding: 0; - height: 100%; - overflow: hidden; - background-color: var(--background-color); - color: var(--text-color); - font-size: inherit; -} -ol, ul { - margin-top: 0; - margin-bottom: var(--list-padding); -} -h2 { - font-size: var(--h2-font-size); - font-weight: normal; - margin: 0.25em 0 0; - border-bottom: calc(1em / (var(--font-size-no-units) * var(--h2-font-size-no-units))) solid var(--light-border-color); -} -h3 { - font-size: 1em; - font-weight: bold; - margin: 0.25em 0 0.375em; - padding: 0; -} -h5 { - font-size: calc(12em / 14); - margin: 0; - padding: 0; - font-weight: normal; -} -a { - color: var(--link-color); - text-decoration: underline; - cursor: pointer; -} - - -/* Selection */ -#content-scroll-focus { - opacity: 0; - margin: 0; - padding: 0; - outline: none; - background-color: transparent; - display: inline; - width: 0; - height: 0; - line-height: 0; - user-select: none; -} -#content-scroll-focus::-moz-focus-inner { - border: 0; -} - - -/* Scrollbars */ -:root:not([data-theme=default]) .scrollbar { - scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-track-color); -} -:root:not([data-theme=default]) .scrollbar::-webkit-scrollbar { - width: auto; -} -:root:not([data-theme=default]) .scrollbar::-webkit-scrollbar-button { - height: 0; -} -:root:not([data-theme=default]) .scrollbar::-webkit-scrollbar-thumb { - background-color: var(--scrollbar-thumb-color); -} -:root:not([data-theme=default]) .scrollbar::-webkit-scrollbar-track { - background-color: var(--scrollbar-thumb-color); -} -:root:not([data-theme=default]) .scrollbar::-webkit-scrollbar-track-piece { - background-color: var(--scrollbar-track-color); -} -:root:not([data-theme=default]) .scrollbar::-webkit-scrollbar-corner { - background-color: var(--scrollbar-track-color); -} -:root .scrollbar-inverse { - scrollbar-color: var(--scrollbar-inverse-humb-color) var(--scrollbar-inverse-track-color); -} -:root .scrollbar-inverse::-webkit-scrollbar { - width: auto; -} -:root .scrollbar-inverse::-webkit-scrollbar-button { - height: 0; -} -:root .scrollbar-inverse::-webkit-scrollbar-thumb { - background-color: var(--scrollbar-inverse-thumb-color); -} -:root .scrollbar-inverse::-webkit-scrollbar-track { - background-color: var(--scrollbar-inverse-thumb-color); -} -:root .scrollbar-inverse::-webkit-scrollbar-track-piece { - background-color: var(--scrollbar-inverse-track-color); -} -:root .scrollbar-inverse::-webkit-scrollbar-corner { - background-color: var(--scrollbar-inverse-track-color); -} -.scrollbar-spacer { - display: inline-block; - overflow-x: hidden; - overflow-y: scroll; - visibility: hidden; - flex: 0 1 auto; -} - - -/* Main layout */ -.content { - flex: 1 1 auto; - position: relative; -} -.content-scroll { - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - display: flex; - flex-flow: column nowrap; - overflow-x: hidden; - overflow-y: scroll; - align-items: stretch; - justify-content: flex-start; -} -.content-body { - flex: 1 1 auto; - position: relative; -} -.content-body-inner { - width: var(--main-content-size); - max-width: 100%; - box-sizing: border-box; - margin: 0 auto; - padding: var(--main-content-vertical-padding) var(--main-content-horizontal-padding); -} -.content-footer-container1 { - display: flex; - flex-flow: row nowrap; - position: absolute; - left: 0; - right: 0; - bottom: 0; - max-height: 100%; - pointer-events: none; - z-index: 5; -} -.content-footer-container2 { - display: flex; - flex-flow: row nowrap; - justify-content: center; - flex: 1 1 auto; - max-width: 100%; -} -.content-footer { - width: var(--main-content-size); - max-width: 100%; -} - - -/* Sidebar layout */ -.content-outer { - width: 100%; - height: 100%; - display: flex; - flex-flow: row nowrap; - overflow: hidden; - align-items: stretch; - align-content: stretch; - justify-content: center; -} -.content-sidebar { - flex: 0 0 auto; - height: 100%; - overflow-x: hidden; - overflow-y: auto; - background-color: var(--sidebar-background-color); - z-index: 10; - position: relative; - display: none; -} -:root[data-has-navigation-previous=true] .content-sidebar, -:root[data-has-navigation-next=true] .content-sidebar, -:root[data-popup-action-bar-visibility=always] .content-sidebar, -:root[data-profile-panel-visible=true] .content-sidebar { - display: block; -} -.content-sidebar-inner { - display: flex; - flex-flow: column nowrap; - width: var(--sidebar-width); - height: 100%; -} -.content-sidebar-top-pre { - flex: 0 0 auto; - display: flex; - flex-flow: column nowrap; -} -.content-sidebar-top { - flex: 1 1 auto; - display: flex; - flex-flow: column nowrap; -} -.content-sidebar-bottom { - position: sticky; - bottom: 0; - background-color: var(--sidebar-background-color); - display: flex; - flex-flow: column nowrap; -} -:root[data-popup-action-bar-location=top] .content-outer, -:root[data-popup-action-bar-location=bottom] .content-outer { - flex-flow: column nowrap; -} -:root[data-popup-action-bar-location=top] .content-sidebar, -:root[data-popup-action-bar-location=bottom] .content-sidebar { - height: auto; - width: 100%; -} -:root[data-popup-action-bar-location=left] .content-sidebar, -:root[data-popup-action-bar-location=top] .content-sidebar { - order: -1; -} -:root[data-popup-action-bar-location=top] .content-sidebar-inner, -:root[data-popup-action-bar-location=bottom] .content-sidebar-inner { - flex-flow: row nowrap; - width: auto; - height: var(--sidebar-button-height); -} -:root[data-popup-action-bar-location=top] .content-sidebar-top-pre, -:root[data-popup-action-bar-location=bottom] .content-sidebar-top-pre { - flex-flow: row nowrap; - order: 1; -} -:root[data-popup-action-bar-location=top] .content-sidebar-top, -:root[data-popup-action-bar-location=bottom] .content-sidebar-top { - flex-flow: row nowrap; -} -:root[data-popup-action-bar-location=top] .content-sidebar-bottom, -:root[data-popup-action-bar-location=bottom] .content-sidebar-bottom { - flex-flow: row nowrap; -} - - -/* Sidebar buttons */ -button.sidebar-button { - width: 100%; - height: var(--sidebar-button-height); - background-color: var(--sidebar-button-background-color); - margin: 0; - padding: 0; - border: 0; - cursor: pointer; - display: block; - transition: background-color 0.125s ease-in-out; - outline: none; - font-size: inherit; - border-radius: 0; - box-shadow: none; -} -:root[data-popup-action-bar-location=top] button.sidebar-button, -:root[data-popup-action-bar-location=bottom] button.sidebar-button { - width: var(--sidebar-width); - height: 100%; -} -button.sidebar-button:disabled { - cursor: default; -} -button.sidebar-button:hover, -button.sidebar-button:active, -button.sidebar-button:focus { - box-shadow: none; -} -button.sidebar-button:hover:not(:disabled), -button.sidebar-button:focus:not(:disabled) { - background-color: var(--sidebar-button-background-color-hover); -} -button.sidebar-button:active:not(:disabled) { - background-color: var(--sidebar-button-background-color-active); -} -button.sidebar-button.danger { - background-color: var(--sidebar-button-danger-background-color); -} -button.sidebar-button.danger:hover:not(:disabled), -button.sidebar-button.danger:focus:not(:disabled) { - background-color: var(--sidebar-button-danger-background-color-hover); -} -button.sidebar-button.danger:active:not(:disabled) { - background-color: var(--sidebar-button-danger-background-color-active); -} -.sidebar-button-icon { - --icon-size: var(--sidebar-button-icon-size) var(--sidebar-button-icon-size); - - display: block; - width: 100%; - height: 100%; - background-color: var(--sidebar-button-icon-color); - transition: background-color 0.125s ease-in-out; -} -button.sidebar-button:disabled .sidebar-button-icon { - background-color: var(--sidebar-button-disabled-icon-color); -} -button.sidebar-button.danger:hover .sidebar-button-icon, -button.sidebar-button.danger:focus .sidebar-button-icon { - background-color: var(--sidebar-button-danger-icon-color); -} -button.sidebar-button.sidebar-button-highlight>.sidebar-button-icon { - background-color: var(--accent-color); -} - - -/* Search page */ -#query-parser-container { - padding-left: var(--entry-horizontal-padding); - padding-right: var(--entry-horizontal-padding); - padding-bottom: 0.25em; - border-bottom: var(--expression-thin-border-size) solid var(--light-border-color); -} -#query-parser-content { - margin-top: 0.5em; - font-size: var(--query-parser-font-size); - white-space: pre-wrap; -} -#query-parser-content[data-term-spacing=true] .query-parser-term { - margin-right: 0.2em; -} - - -/* Action buttons */ -.actions { - display: flex; - flex-flow: row nowrap; - float: right; - margin: -0.25em; - position: relative; - z-index: 1; -} -.actions::after { - clear: both; - content: ''; - display: block; -} -button.action-button { - cursor: pointer; - display: block; - opacity: 1; - border: 0; - margin: 0; - padding: var(--action-button-padding); - background: transparent; - font-size: inherit; - box-shadow: none; - position: relative; - transition: - opacity var(--animation-duration) linear, - visibility 0s linear 0s, - filter var(--animation-duration) linear, - -webkit-filter var(--animation-duration) linear, - background-color var(--animation-duration) linear; -} -button.action-button[hidden] { - display: block; - visibility: hidden; - opacity: 0; - transition: - opacity var(--animation-duration) linear, - visibility 0s linear var(--animation-duration), - filter var(--animation-duration) linear, - -webkit-filter var(--animation-duration) linear, - background-color var(--animation-duration) linear; -} -button.action-button:disabled { - pointer-events: none; - cursor: default; - -webkit-filter: grayscale(100%); - filter: grayscale(100%); - background-color: transparent; -} -button.action-button:disabled:not([hidden]) { - opacity: 0.25; -} -button.action-button:hover, -button.action-button:focus { - background-color: transparent; - box-shadow: none; -} -button.action-button:active { - background-color: var(--action-button-active-color); - box-shadow: none; -} -button.action-button::before { - content: ''; - width: var(--action-button-size); - height: var(--action-button-size); - display: block; - background-color: transparent; - background-repeat: no-repeat; - background-size: contain; -} -button.action-button[data-icon=view-note]::before { - background-image: url('/images/view-note.svg'); -} -button.action-button[data-icon=add-term-kanji]::before { - background-image: url('/images/add-term-kanji.svg'); -} -button.action-button[data-icon=add-term-kana]::before { - background-image: url('/images/add-term-kana.svg'); -} -button.action-button[data-icon=play-audio]::before { - background-image: url('/images/play-audio.svg'); -} -button.action-button[data-icon=source-term]::before { - background-image: url('/images/source-term.svg'); -} -.entry[data-type=term][data-expression-multi=true] .actions>button.action-button.action-play-audio { - display: none; -} -.action-button-badge { - pointer-events: none; - position: absolute; - display: block; - right: 0; - top: 0; - width: calc(8em / var(--font-size-no-units)); - height: calc(8em / var(--font-size-no-units)); -} -.action-button-badge[data-icon=cross] { - background-color: var(--danger-color); -} -.action-button-badge[data-icon=plus-thick] { - background-color: var(--success-color); -} - - -/* Tags */ -.tag { - display: inline-block; - padding: 0.2em 0.6em 0.3em; - font-size: var(--tag-font-size); - font-weight: var(--tag-font-weight); - line-height: 1.25; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25em; - color: var(--tag-text-color); - background-color: var(--tag-default-background-color); - border: var(--tag-border-size) var(--tag-border-style) var(--tag-border-color); - margin-right: 0.375em; - cursor: pointer; -} -.tag[data-category=name] { - background-color: var(--tag-name-background-color); -} -.tag[data-category=expression] { - background-color: var(--tag-expression-background-color); -} -.tag[data-category=popular] { - background-color: var(--tag-popular-background-color); -} -.tag[data-category=frequent] { - background-color: var(--tag-frequent-background-color); -} -.tag[data-category=archaism] { - background-color: var(--tag-archaism-background-color); -} -.tag[data-category=dictionary] { - background-color: var(--tag-dictionary-background-color); -} -.tag[data-category=frequency] { - background-color: var(--tag-frequency-background-color); -} -.tag[data-category=partOfSpeech] { - background-color: var(--tag-part-of-speech-background-color); -} -.tag[data-category=search] { - background-color: var(--tag-search-background-color); -} -.tag[data-category=pitch-accent-dictionary] { - background-color: var(--tag-pitch-accent-dictionary-background-color); -} -.tag-inner { - display: block; -} -.tag-details-disambiguation-list::before { - content: 'Only: '; -} -.tag-details-disambiguation-list ruby>rt { - display: inline; - font-size: 1em; -} -.tag-details-disambiguation-list ruby>rt::before { - content: '('; -} -.tag-details-disambiguation-list ruby>rt::after { - content: ')'; -} -.tag-details-disambiguation-list[data-unmatched-expression-count='0'], -.tag-details-disambiguation-list:not([data-unmatched-expression-count]) { - display: none; -} -.tag-details-disambiguation:not(:last-child)::after { - content: ', '; -} - - -/* Entries */ -.entry { - padding: var(--entry-vertical-padding) var(--entry-horizontal-padding); - position: relative; -} -.kanji-link { - border-bottom: var(--expression-thin-border-size) dashed var(--kanji-border-color); - color: var(--kanji-text-color); - text-decoration: none; - cursor: pointer; -} -.term-expression-text-container { - display: inline-block; -} -.term-expression-text { - color: var(--kanji-text-color); - font-size: var(--expression-font-size); - display: inline-block; - position: relative; -} -.entry[data-expression-multi=true] .term-expression[data-frequency=popular] .term-expression-text, -.entry[data-expression-multi=true] .term-expression[data-frequency=popular] .kanji-link { - color: var(--kanji-popular-text-color); -} -.entry[data-expression-multi=true] .term-expression[data-frequency=rare] .term-expression-text, -.entry[data-expression-multi=true] .term-expression[data-frequency=rare] .kanji-link { - color: var(--kanji-rare-text-color); -} -.term-expression-text>ruby>rt { - color: var(--kanji-furigana-text-color); -} -.entry-header2, -.entry-header3 { - display: inline; -} -.entry+.entry { - border-top: var(--thin-border-size) solid var(--light-border-color); -} -.term-reasons { - display: inline-block; - color: var(--reason-text-color); -} -.term-reasons:empty { - display: none; -} -.term-reasons>.term-reason+.term-reason-separator+.term-reason::before { - content: ' \00AB '; /* The two spaces is not a typo */ - white-space: pre-wrap; - display: inline; -} -.term-expression-list { - display: inline; -} -.term-expression { - display: inline-block; -} -.term-expression-details { - display: inline; -} -.term-expression-details>.tags { - display: none; -} -.term-expression-details>.frequencies { - display: none; -} -.term-expression-list>.term-expression:not(:last-of-type)>.term-expression-text-container>.term-expression-text::after { - content: '\3001'; -} -.term-details { - display: inline; -} -.term-tags { - display: inline; -} -.entry[data-expression-multi=true] .term-details { - display: block; -} - - -/* Entry indicator */ -.entry-current-indicator { - display: block; - position: absolute; - left: calc(-1 * var(--main-content-horizontal-padding)); - top: 0; - bottom: 0; - width: 0; - background-color: var(--entry-current-indicator-color); - visibility: hidden; - transition: - width var(--entry-current-indicator-transition-duration) linear, - visibility 0s linear var(--entry-current-indicator-transition-duration); -} -.entry.entry-current .entry-current-indicator { - width: var(--entry-current-indicator-width); - visibility: visible; - transition: - width var(--entry-current-indicator-transition-duration) linear, - visibility 0s linear 0s; -} -:root[data-popup-current-indicator-mode=bar-right] .entry-current-indicator, -:root[data-popup-current-indicator-mode=dot-right] .entry-current-indicator { - left: auto; - right: 0; -} -.entry-current-indicator-inner { - display: none; - pointer-events: auto; - width: 100%; - height: 0; - top: 0; - background-color: var(--entry-current-indicator-color); - transition: none; -} -.entry.entry-current .entry-current-indicator-inner { - height: var(--entry-current-indicator-width); - transition: height var(--entry-current-indicator-transition-duration) linear; -} -:root[data-popup-current-indicator-mode=dot-left] .entry-current-indicator, -:root[data-popup-current-indicator-mode=dot-right] .entry-current-indicator { - background-color: transparent; -} -:root[data-popup-current-indicator-mode=dot-left] .entry-current-indicator-inner, -:root[data-popup-current-indicator-mode=dot-right] .entry-current-indicator-inner { - display: block; - position: sticky; - transition: height var(--entry-current-indicator-transition-duration) linear; -} -:root[data-popup-current-indicator-mode=none] .entry-current-indicator, -:root[data-popup-current-indicator-mode=asterisk] .entry-current-indicator, -:root[data-popup-current-indicator-mode=triangle] .entry-current-indicator { - display: none; - transition: none; -} - - -/* Triangle entry indicator */ -.term-expression-current-indicator { - pointer-events: none; - position: absolute; - left: calc(-1 * var(--main-content-horizontal-padding)); - top: 0; - bottom: 0; - opacity: 0; - visibility: hidden; - transition: - opacity var(--entry-current-indicator-transition-duration) linear, - visibility 0s linear var(--entry-current-indicator-transition-duration); -} -.term-expression-text .term-expression-current-indicator { - font-size: calc(1em / var(--expression-font-size-no-units)); -} -.entry.entry-current .term-expression-current-indicator { - opacity: 1; - visibility: visible; - transition: - opacity var(--entry-current-indicator-transition-duration) linear, - visibility 0s linear 0s; -} -.term-expression-current-indicator::after { - content: ''; - display: block; - position: absolute; - width: var(--entry-current-indicator-triangle-size); - height: calc(2 * var(--entry-current-indicator-triangle-size)); - left: calc(-1 * var(--entry-horizontal-padding)); - top: calc(50% - var(--entry-current-indicator-triangle-size)); - background-color: var(--entry-current-indicator-color); - mask-repeat: no-repeat; - mask-position: center center; - mask-mode: alpha; - mask-size: contain; - mask-image: url(/images/material-right-arrow.svg); - -webkit-mask-repeat: no-repeat; - -webkit-mask-position: center center; - -webkit-mask-mode: alpha; - -webkit-mask-size: contain; - -webkit-mask-image: url(/images/material-right-arrow.svg); -} -.term-expression:not(:first-of-type) .term-expression-current-indicator, -:root:not([data-popup-current-indicator-mode=triangle]) .term-expression-current-indicator { - display: none; - transition: none; -} - - -/* Old entry indicator */ -.entry-current-indicator-icon { - display: block; - padding: var(--action-button-padding); -} -.entry-current-indicator-icon[hidden], -.entry:not(.entry-current) .entry-current-indicator-icon, -:root:not([data-popup-current-indicator-mode=asterisk]) .entry-current-indicator-icon { - display: none; -} -.entry-current-indicator-icon::before { - content: ''; - width: var(--action-button-size); - height: var(--action-button-size); - display: block; - background-color: transparent; - background-repeat: no-repeat; - background-size: contain; - background-image: url('/images/entry-current.svg'); -} - - -/* Merged term styles */ -.entry[data-expression-multi=true] .term-expression-list, -.entry:not([data-expression-multi=true]) .term-expression-text-container { - margin-right: var(--expression-space-size); -} -.entry[data-expression-multi=true] .term-expression-list .term-expression-details { - display: inline-block; - position: relative; - width: 0; - height: 0; - visibility: hidden; - z-index: 1; -} -.entry[data-expression-multi=true] .term-expression-list>.term-expression:not(:last-of-type) .term-expression-details { - left: calc(-1 * var(--expression-font-size)); -} -.entry[data-expression-multi=true] .term-expression:hover .term-expression-details { - visibility: visible; -} -.entry[data-expression-multi=true] .term-expression-list .term-expression-details>.action-play-audio { - position: absolute; - left: 0; - bottom: 0.5em; -} -.entry:not([data-expression-multi=true]) .term-expression-list .term-expression-details>.action-play-audio { - display: none; -} -.entry[data-expression-multi=true] .term-expression-list .term-expression-details>.tags { - display: block; - position: absolute; - left: 0; - bottom: -0.5em; - white-space: nowrap; -} - - -/* Definitions */ -.term-definition-list { - margin: 0; - padding: 0 0 0 var(--list-padding1); - list-style-type: decimal; -} -.term-definition-list[data-count='0'], -.term-definition-list[data-count='1'] { - padding-left: 0; - list-style-type: none; -} -.term-glossary-list { - margin: 0; - padding: 0 0 0 var(--list-padding2); - list-style-type: circle; -} -.term-glossary-list[data-count='0'], -.term-glossary-list[data-count='1'] { - padding-left: 0; - list-style-type: none; -} -.term-definition-item::marker, -.term-glossary-item::marker { - color: var(--text-color-light3); -} -.term-glossary { - white-space: pre-line; -} -.term-definition-disambiguation-list { - color: var(--text-color-light3); -} -.term-definition-disambiguation-list[data-count='0'] { - display: none; -} -.term-definition-disambiguation-list::before { - content: '('; -} -.term-definition-disambiguation-list::after { - content: ' only) '; -} -.term-definition-disambiguation+.term-definition-disambiguation::before { - content: ', '; -} -.term-glossary-separator, -.term-reason-separator { - display: inline; - font-size: 0; - opacity: 0; - white-space: pre-wrap; -} -.entry-body { - margin-top: -0.5em; -} -.entry-body-section { - margin-top: 0.5em; -} -.entry[data-definition-count='0'] .entry-body-section[data-section-type=definitions], -.entry[data-frequency-count='0'] .entry-body-section[data-section-type=frequencies], -.entry[data-pitch-accent-count='0'] .entry-body-section[data-section-type=pitch-accents] { - display: none; -} -.entry[data-pitch-accent-count='0'][data-frequency-count='0'] .entry-body-section[data-section-type=definitions]>h5 { - display: none; -} - - -/* Frequencies */ -.frequency-group-list { - margin: 0; - padding: 0 0 0 var(--list-padding1); - list-style-type: decimal; -} -.frequency-group-list[data-count='0'], -.frequency-group-list[data-count='1'] { - padding-left: 0; - list-style-type: none; -} -.frequency-list { - margin: 0; - padding: 0 0 0 var(--list-padding2); - list-style-type: circle; -} -.frequency-list[data-count='0'], -.frequency-list[data-count='1'] { - padding-left: 0; - list-style-type: none; -} -.frequency-group-item::marker, -.frequency-item::marker { - color: var(--text-color-light3); -} -.frequency-disambiguation { - color: var(--text-color-light3); -} -.frequency-separator::before { - content: ''; -} -.frequency-disambiguation-separator::before { - content: ':'; -} -.frequency-disambiguation::before { - content: '('; -} -.frequency-disambiguation::after { - content: ' only) '; -} -.frequency-disambiguation-reading { - display: inline; - font-size: 1em; -} -.entry[data-unique-expression-count='1'] .frequency-item[data-has-reading=false] .frequency-disambiguation, -.entry[data-unique-reading-count='1'][data-unique-expression-count='1'] .frequency-disambiguation, -.frequency-item[data-reading-is-same=true] .frequency-disambiguation-separator, -.frequency-item[data-reading-is-same=true] .frequency-disambiguation-reading, -.frequency-item[data-has-reading=false] .frequency-disambiguation-separator, -.frequency-item[data-has-reading=false] .frequency-disambiguation-reading, -.entry[data-unique-expression-count='1'] .frequency-disambiguation-separator, -.entry[data-unique-expression-count='1'] .frequency-disambiguation-expression, -.entry[data-unique-reading-count='1'] .frequency-disambiguation-separator, -.entry[data-unique-reading-count='1'] .frequency-disambiguation-reading { - display: none; -} -:root[data-glossary-layout-mode=compact] .frequency-group-list, -:root[data-glossary-layout-mode=compact] .frequency-list, -.frequency-list[data-count='1'] { - display: inline; - list-style: none; - padding-left: 0; -} -:root[data-glossary-layout-mode=compact] .frequency-group-item { - display: inline-block; - margin-right: 1em; -} -:root[data-glossary-layout-mode=compact] .entry-body-section[data-section-type=frequencies] { - margin-right: -1em; -} -:root[data-glossary-layout-mode=compact] .frequency-item, -.frequency-list[data-count='1'] .frequency-item { - display: inline-block; -} -:root[data-glossary-layout-mode=compact] .frequency-item:not(:first-child)::before, -.frequency-list[data-count='1'] .frequency-item:not(:first-child)::before { - white-space: pre-wrap; - content: var(--compact-list-separator); - display: inline; - color: var(--text-color-light3); -} -:root[data-glossary-layout-mode=compact] .frequency-tag-list, -.frequency-group-item[data-count='1'] .frequency-tag-list { - display: inline; -} - - -/* Pitch accent styles */ -.term-pitch-accent-group-list { - margin: 0; - padding: 0 0 0 var(--list-padding1); - list-style-type: decimal; -} -.term-pitch-accent-group-list[data-count='0'], -.term-pitch-accent-group-list[data-count='1'] { - padding-left: 0; - list-style-type: none; -} -.term-pitch-accent-list { - margin: 0; - padding: 0 0 0 var(--list-padding2); - list-style-type: circle; - display: block; -} -.term-pitch-accent-list[data-count='0'], -.term-pitch-accent-list[data-count='1'] { - padding-left: 0; - list-style-type: none; - display: inline; -} -.term-pitch-accent-group::marker, -.term-pitch-accent::marker { - color: var(--text-color-light3); -} -.term-pitch-accent { - display: list-item; - line-height: 1.5; -} -.term-pitch-accent-list[data-count='0'] .term-pitch-accent, -.term-pitch-accent-list[data-count='1'] .term-pitch-accent { - display: inline; -} -.term-pitch-accent-group-tag-list { - margin-right: 0.375em; -} -.term-pitch-accent-disambiguation-list { - padding-right: 0.25em; - color: var(--text-color-light3); -} -.term-pitch-accent-disambiguation-list::before { - content: '('; -} -.term-pitch-accent-disambiguation-list::after { - content: ' only)'; -} -.term-pitch-accent-disambiguation+.term-pitch-accent-disambiguation::before { - content: ', '; -} -.term-pitch-accent-disambiguation-list[data-count='0'] { - display: none; -} -.term-pitch-accent-tag-list:not([data-count='0']) { - margin-right: 0.375em; -} -.term-pitch-accent-character { - display: inline-block; - position: relative; -} -.term-pitch-accent-character::before { - border-color: var(--pitch-accent-annotation-color); -} -.term-pitch-accent-character[data-pitch='high']::before { - content: ''; - display: block; - user-select: none; - pointer-events: none; - position: absolute; - top: 0.1em; - left: 0; - right: 0; - height: 0; - border-top-width: 0.1em; - border-top-style: solid; -} -.term-pitch-accent-character[data-pitch='high'][data-pitch-next='low']::before { - right: -0.1em; - height: 0.4em; - border-right-width: 0.1em; - border-right-style: solid; -} -.term-pitch-accent-character[data-pitch='high'][data-pitch-next='low'] { - padding-right: 0.1em; - margin-right: 0.1em; -} -.term-pitch-accent-position::before { - content: ' ['; -} -.term-pitch-accent-position::after { - content: ']'; -} -.term-pitch-accent-details { - display: inline-block; - height: 0; - padding: 0 0.25em; - vertical-align: middle; -} - - -/* Pitch accent graph styles */ -.term-pitch-accent-graph { - display: block; - height: 1.5em; - transform: translateY(-0.875em); -} -.term-pitch-accent-graph-line, -.term-pitch-accent-graph-line-tail { - fill: none; - stroke: var(--pitch-accent-annotation-color); - stroke-width: 5; -} -.term-pitch-accent-graph-line-tail { - stroke-dasharray: 5 5; -} -#term-pitch-accent-graph-dot { - fill: var(--pitch-accent-annotation-color); - stroke: var(--pitch-accent-annotation-color); - stroke-width: 5; -} -#term-pitch-accent-graph-dot-downstep { - fill: none; - stroke: var(--pitch-accent-annotation-color); - stroke-width: 5; -} -#term-pitch-accent-graph-dot-downstep>circle:last-of-type { - fill: var(--pitch-accent-annotation-color); -} -#term-pitch-accent-graph-triangle { - fill: none; - stroke: var(--pitch-accent-annotation-color); - stroke-width: 5; -} - - -/* Glossary images */ -.term-glossary-image-container { - display: inline-block; - white-space: nowrap; - max-width: 100%; - position: relative; - vertical-align: top; - line-height: 0; - font-size: calc(1em / var(--font-size-no-units)); - overflow: hidden; - background-color: var(--glossary-image-background-color); -} -.term-glossary-image-link { - cursor: inherit; - color: inherit; -} -.term-glossary-image-link[href]:hover { - cursor: pointer; -} -.term-glossary-image-container-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - font-size: calc(1em * var(--font-size-no-units)); - line-height: var(--line-height); - display: table; - table-layout: fixed; - white-space: normal; - color: var(--text-color-light3); -} -.term-glossary-item[data-has-image=true][data-image-load-state=load-error] .term-glossary-image-container-overlay::after { - content: 'Image failed to load'; - display: table-cell; - width: 100%; - height: 100%; - vertical-align: middle; - text-align: center; - padding: 0.25em; -} -.term-glossary-image { - display: inline-block; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - vertical-align: top; - object-fit: contain; - border: none; - outline: none; -} -.term-glossary-image:not([src]) { - display: none; -} -.term-glossary-image[data-pixelated=true] { - image-rendering: auto; - image-rendering: -moz-crisp-edges; - image-rendering: -webkit-optimize-contrast; - image-rendering: pixelated; - image-rendering: crisp-edges; -} -.term-glossary-image-aspect-ratio-sizer { - content: ''; - display: inline-block; - width: 0; - vertical-align: top; - font-size: 0; -} -.term-glossary-image-link-text::before { - content: '['; -} -.term-glossary-image-link-text::after { - content: ']'; -} -.term-glossary-image-description { - white-space: pre-line; -} - - -/* Kanji */ -.kanji-glyph-container { - display: block; - position: relative; -} -.kanji-glyph { - font-family: kanji-stroke-orders, sans-serif; - font-size: 8.5em; - line-height: 1; - padding: 0.01em; - vertical-align: top; - position: relative; - z-index: -1; -} -.kanji-glyph-data { - margin-top: 0.75em; - border-spacing: 0; - border-collapse: collapse; -} -.kanji-glyph-data>tbody>tr>* { - border-top: var(--thin-border-size) solid var(--medium-border-color); - text-align: left; - vertical-align: top; - padding: 0.36em; - margin: 0; -} -.kanji-info-table { - width: 100%; -} -.kanji-info-table>tbody>tr>th, -.kanji-info-table>tbody>tr>td { - text-align: left; - vertical-align: top; - padding: 0; - margin: 0; -} -.kanji-info-table>tbody>tr>td { - text-align: right; -} -.kanji-glyph-data dl { - margin-top: 0; - margin-bottom: 1.4em; -} -.kanji-glyph-data dd { - margin-left: 0; -} -.kanji-glossary-list { - margin: 0; - padding: 0 0 0 var(--list-padding1); - list-style-type: decimal; -} -.kanji-glossary-list[data-count='0'], -.kanji-glossary-list[data-count='1'] { - padding-left: 0; - list-style-type: none; -} -.kanji-glossary-item::marker { - color: var(--text-color-light3); -} -.kanji-glossary { - white-space: pre-line; -} - - -/* Progress bar */ -@keyframes progress-bar-indeterminant1a { - 0% { left: 0; } - 25% { left: 0; } - 75% { left: 100%; } - 100% { left: 100%; } -} -@keyframes progress-bar-indeterminant1b { - 0% { right: 100%; } - 50% { right: 0; } - 100% { right: 0; } -} -@keyframes progress-bar-indeterminant2a { - 0% { left: 0; } - 25% { left: 0; } - 100% { left: 100%; } -} -@keyframes progress-bar-indeterminant2b { - 0% { right: 100%; } - 75% { right: 0; } - 100% { right: 0; } -} -.progress-bar-indeterminant { - display: block; - width: 100%; - height: 0; - background-color: var(--progress-bar-indicator-color); - position: relative; - transition: - height var(--progress-bar-active-transition-duration) linear var(--progress-bar-active-transition-duration), - background-color var(--progress-bar-active-transition-duration) linear; -} -.progress-bar-indeterminant[data-active=true] { - height: var(--progress-bar-height); - background-color: var(--progress-bar-track-color); - transition: - height var(--progress-bar-active-transition-duration) linear var(--progress-bar-active-transition-start-delay), - background-color 0s linear; -} -.progress-bar-indeterminant[hidden]:not([data-active=true]) { - display: none; -} -.progress-bar-indeterminant::before, -.progress-bar-indeterminant::after { - content: ''; - display: block; - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 100%; - background-color: var(--progress-bar-indicator-color); - animation: none; -} -.progress-bar-indeterminant:not([hidden])::before { - animation: - progress-bar-indeterminant1a var(--progress-bar-animation-duration) infinite ease-in-out var(--progress-bar-active-transition-start-delay), - progress-bar-indeterminant1b var(--progress-bar-animation-duration) infinite ease-in-out var(--progress-bar-active-transition-start-delay); -} -.progress-bar-indeterminant:not([hidden])::after { - animation: - 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)), - 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)); -} -.top-progress-bar-container { - position: sticky; - top: 0; - height: 0; - pointer-events: none; - z-index: 10; -} - - -/* Frame resizer */ -.frame-resizer-container { - position: fixed; - bottom: 0; - right: 0; - z-index: 100; - background: transparent; - pointer-events: none; - user-select: none; -} -.frame-resizer-sizer1 { - padding-top: 100%; - line-height: 0; -} -.frame-resizer-sizer2 { - display: inline-block; - overflow-x: hidden; - overflow-y: scroll; - vertical-align: bottom; -} -.frame-resizer-sizer2.frame-resizer-sizer2-with-min-size { - min-width: 1em; -} -.frame-resizer-svg { - display: block; - position: absolute; - bottom: 0; - right: 0; - width: 75%; - height: 75%; -} -.frame-resizer-handle { - fill: var(--text-color); - opacity: 0.125; - cursor: se-resize; - pointer-events: auto; - transition: - fill var(--animation-duration) linear, - opacity var(--animation-duration) linear; -} -.frame-resizer-handle:hover, -:root[data-is-resizing=true] .frame-resizer-handle { - fill: var(--accent-color); - opacity: 1; -} - - -/* Footer notifications */ -.footer-notification { - display: flex; - flex-flow: row nowrap; - align-items: flex-start; - pointer-events: auto; - border-radius: 0.25em; - background-color: var(--notification-background-color); - box-shadow: 0 0.125em 0.25em 0 var(--notification-shadow-color); - color: var(--notification-text-color); - margin: 0.5em; - padding: 0; - transition: opacity var(--animation-duration) ease-out; - position: relative; - overflow: auto; - max-height: calc(0.5em * 2 + var(--line-height) * 4 * 1em); -} -.footer-notification[hidden] { - display: flex; - opacity: 0; - transition: opacity var(--animation-duration) ease-in; -} -.footer-notification-body { - flex: 1 1 auto; - padding: 0.5em 0.75em; -} -.footer-notification-close-button-container { - align-self: stretch; - display: flex; - flex-flow: column nowrap; - align-items: center; - justify-content: center; - padding: 0.25em 0.75em 0.25em 0; - position: sticky; - top: 0; - right: 0; -} -button.footer-notification-close-button, -button.footer-notification-close-button:focus, -button.footer-notification-close-button:hover, -button.footer-notification-close-button:active { - flex: 0 0 auto; - background-color: transparent; - margin: -0.25em; - padding: 0.5em; - border: none; - outline: none; - cursor: pointer; - font-size: inherit; - box-shadow: none; -} -.footer-notification-close-button-icon { - display: block; - width: calc(16em / var(--font-size-no-units)); - height: calc(16em / var(--font-size-no-units)); - background-color: var(--notification-text-color); -} - - -/* Overlays */ -.overlay-panel-container { - pointer-events: none; - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - z-index: 6; -} -.overlay-panel { - pointer-events: auto; - background-color: var(--background-color); - display: block; - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: var(--main-content-size); - max-width: 100%; - box-sizing: border-box; - margin: 0 auto; - padding: var(--main-content-vertical-padding) var(--main-content-horizontal-padding); - overflow-y: scroll; - transform: none; - opacity: 1; - visibility: visible; - transition: - opacity var(--animation-duration2) ease-out, - visibility 0s linear, - transform var(--animation-duration2) ease-out; -} -.overlay-panel[hidden] { - transform: translate(var(--overlay-panel-translate-distance), 0); - opacity: 0; - visibility: hidden; - transition: - opacity var(--animation-duration2) ease-in, - visibility 0s linear var(--animation-duration2), - transform var(--animation-duration2) ease-in; -} -.overlay-panel[hidden]:not(.hidden-animating) { - display: none; -} -:root[data-popup-action-bar-location=left] .overlay-panel[hidden] { - transform: translate(calc(-1 * var(--overlay-panel-translate-distance)), 0); -} -:root[data-popup-action-bar-location=top] .overlay-panel[hidden] { - transform: translate(0, calc(-1 * var(--overlay-panel-translate-distance))); -} -:root[data-popup-action-bar-location=bottom] .overlay-panel[hidden] { - transform: translate(0, var(--overlay-panel-translate-distance)); -} -.overlay-panel-inner { - padding: var(--entry-vertical-padding) var(--entry-horizontal-padding); -} - - -/* Profile panel */ -.profile-list { - display: flex; - flex-flow: column nowrap; - align-items: stretch; -} -.profile-list-item { - display: flex; - flex-flow: row nowrap; - align-items: center; - cursor: pointer; -} -.profile-list-item-selection { - flex: 0 0 auto; - text-align: center; - padding: 0.25em 0.5em 0.25em 0; -} -.profile-list-item-name { - flex: 1 1 auto; - padding: 0.25em 0; -} - - -/* Audio menu */ -.audio-button-popup-menu[data-show-icons=false] .popup-menu-item-icon { - display: none; -} -.popup-menu-item-icon[data-icon=checkmark] { - background-color: var(--success-color); -} -.popup-menu-item-icon[data-icon=cross] { - background-color: var(--danger-color); -} -.popup-menu-item[data-source-in-options=false][data-valid=null] { - color: var(--text-color-light1); -} - - -/* Anki errors */ -.anki-note-error-list { - margin: 0; - padding-left: 1.5em; - list-style: disc; -} - - -/* Conditional styles */ -:root:not([data-enable-search-tags=true]) .tag[data-category=search] { - display: none; -} -:root[data-compact-tags=true] .tag[data-redundant=true] { - display: none; -} - -:root:not([data-debug=true]) .debug-info { - display: none; -} -:root[data-anki-enabled=false] .action-view-note, -:root[data-anki-enabled=false] .action-add-note { - display: none; -} -:root[data-audio-enabled=false] .action-play-audio { - display: none; -} -:root[data-glossary-layout-mode=compact] .term-definition-tag-list, -:root[data-glossary-layout-mode=compact] .term-definition-disambiguation-list:not([data-count='0']) { - display: inline; -} -:root[data-glossary-layout-mode=compact] .term-glossary-list { - display: inline; - list-style: none; - padding-left: 0; -} -:root[data-glossary-layout-mode=compact] .term-glossary-item { - display: inline; -} -:root[data-glossary-layout-mode=compact] .term-glossary-item:not(:first-child)::before { - white-space: pre-wrap; - content: var(--compact-list-separator); - display: inline; - color: var(--text-color-light3); -} - -:root[data-glossary-layout-mode=compact] .entry-body-section>h5 { - display: none; -} -:root[data-glossary-layout-mode=compact] .entry-body { - margin-top: 0; -} -:root[data-glossary-layout-mode=compact] .entry-body-section { - margin-top: 0; -} -:root[data-show-pitch-accent-downstep-notation=true] .term-pitch-accent-disambiguation-list[data-expression-count='0'], -:root[data-show-pitch-accent-downstep-notation=true] .term-pitch-accent-disambiguation[data-type=reading] { - display: none; -} -:root[data-show-pitch-accent-downstep-notation=false] .term-pitch-accent-characters { - display: none; -} -:root[data-show-pitch-accent-position-notation=false] .term-pitch-accent-position { - display: none; -} -:root[data-show-pitch-accent-graph=false] .term-pitch-accent-details { - display: none; -} - -:root[data-glossary-layout-mode=compact][data-show-pitch-accent-graph=false] .term-pitch-accent-list:not([data-has-tags=true]) { - display: inline; - list-style: none; - padding-left: 0; -} -:root[data-glossary-layout-mode=compact][data-show-pitch-accent-graph=false] .term-pitch-accent-list:not([data-has-tags=true]) .term-pitch-accent { - display: inline; -} -:root[data-glossary-layout-mode=compact][data-show-pitch-accent-graph=false] .term-pitch-accent-list:not([data-has-tags=true]) .term-pitch-accent:not(:first-child)::before { - white-space: pre-wrap; - content: var(--compact-list-separator); - display: inline; - color: var(--text-color-light3); -} - -:root[data-glossary-layout-mode=compact] .term-glossary-image-container { - display: none; - position: absolute; - left: 0; - top: 100%; - z-index: 1; -} -:root[data-glossary-layout-mode=compact] .entry:nth-last-of-type(1):not(:nth-of-type(1)) .term-glossary-image-container { - bottom: 100%; - top: auto; -} -:root[data-glossary-layout-mode=compact] .term-glossary-image-link { - position: relative; - display: inline-block; -} -:root[data-glossary-layout-mode=compact] .term-glossary-image-link:hover .term-glossary-image-container, -:root[data-glossary-layout-mode=compact] .term-glossary-image-link:focus .term-glossary-image-container { - display: block; -} -:root:not([data-glossary-layout-mode=compact]) .term-glossary-image-link-text { - display: none; -} -:root:not([data-glossary-layout-mode=compact]) .term-glossary-image-description { - display: block; -} - -:root[data-popup-display-mode=full-width] .frame-resizer-container { - display: none; -} diff --git a/ext/mixed/css/material.css b/ext/mixed/css/material.css deleted file mode 100644 index 1177baa1..00000000 --- a/ext/mixed/css/material.css +++ /dev/null @@ -1,996 +0,0 @@ -/* - * Copyright (C) 2020-2021 Yomichan Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -/* Variables */ -:root { - --font-size-no-units: 14; - --font-size: calc(1px * var(--font-size-no-units)); - - --font-size-small-no-units: 12; - --font-size-small: calc(1em * var(--font-size-small-no-units) / var(--font-size-no-units)); - - --animation-duration: 0.125s; - --animation-duration2: calc(var(--animation-duration) * 2); - - --checkbox-size: calc(16em / var(--font-size-no-units)); - --icon-button-size: calc(36em / var(--font-size-no-units)); - --radio-size: calc(20em / var(--font-size-no-units)); - --toggle-size: calc(16em / var(--font-size-no-units)); - - --input-font-size-no-units: 1; - --input-font-size: calc(1em * var(--input-font-size-no-units)); - --input-spacing: calc(10em / var(--font-size-no-units)); - --input-width: calc(100em / (var(--font-size-no-units) * var(--input-font-size-no-units)) - var(--input-spacing) / 2); - --input-width-large: calc(200em / (var(--font-size-no-units) * var(--input-font-size-no-units))); - --input-height: calc(32em / (var(--font-size-no-units) * var(--input-font-size-no-units))); - --input-border-radius: 0.25em; - --textarea-line-height: 1.25em; - --textarea-padding: 0.5em; - - --material-arrow-dimension1: calc(5em / var(--font-size-no-units)); - --material-arrow-dimension2: calc(10em / var(--font-size-no-units)); - - --button-shadow-params: 0 0.0625em 0.125em 0; - - --thin-border-size: calc(1em / var(--font-size-no-units)); - - --menu-border-radius: 0.3em; - --menu-shadow: 0 1px 3px 1px var(--shadow-color), 0 2px 4px 3px var(--shadow-color); - - --text-color: #222222; - --text-color-light1: #555555; - --text-color-light2: #666666; - --text-color-light3: #777777; - --text-color-light4: #888888; - --background-color: #f8f9fa; - --background-color-light: #ffffff; - - --shadow-color: rgba(0, 0, 0, 0.185); - --shadow-color-off: rgba(0, 0, 0, 0); - --shadow-color-light: rgba(0, 0, 0, 0.085); - - --accent-color: #1a73e8; - --accent-color-light: #4a91ed; - --accent-color-lighter: #8db9f4; - --accent-color-lightest: #a7c9f6; - --accent-color-dark: #1060c0; - --accent-color-transparent0: rgba(28, 116, 233, 0); - --accent-color-transparent5: rgba(28, 116, 233, 0.05); - --accent-color-transparent25: rgba(28, 116, 233, 0.25); - - --danger-color: #c83c28; - --danger-color-light: #dd6755; - --danger-color-lighter: #e68d7f; - --danger-color-lightest: #eeb3aa; - --danger-color-transparent0: rgba(200, 60, 40, 0); - --danger-color-transparent5: rgba(200, 60, 40, 0.05); - --danger-color-transparent25: rgba(200, 60, 40, 0.25); - - --success-color: #51ab30; - - --disabled-color: #aaaaaa; - --disabled-color-light: #dddddd; - --disabled-color-lighter: #eeeeee; - - --input-background-color: #f2f2f2; - --input-background-color-dark: #dddddd; - --input-background-color-darker: #cccccc; - --input-outline-color: var(--text-color); - - --button-text-color: #ffffff; - --button-border-color: #cccccc; - --button-icon-color: #333333; - --button-icon-color-light: #666666; - - --checkbox-checked-color: var(--accent-color); - --checkbox-unchecked-color: #666666; - --checkbox-check-color: var(--background-color-light); - --checkbox-disabled-color: var(--disabled-color); - - --toggle-track-color: #cccccc; - --toggle-knob-color: var(--background-color-light); - - --selectable-indicator-color: rgba(160, 160, 160, 0.25); - - --menu-item-hover-color: #bbbbbb; - --menu-item-active-color: #aaaaaa; -} -:root[data-theme=dark] { - --text-color: #d4d4d4; - --text-color-light1: #aaaaaa; - --text-color-light2: #999999; - --text-color-light3: #888888; - --text-color-light4: #777777; - --background-color: #1e1e1e; - --background-color-light: #0a0a0a; - - --shadow-color: rgba(255, 255, 255, 0.185); - --shadow-color-off: rgba(255, 255, 255, 0); - --shadow-color-light: rgba(255, 255, 255, 0.085); - - --accent-color: #4a91ed; - --accent-color-light: #1a73e8; - --accent-color-lighter: #135dbe; - --accent-color-lightest: #0e4690; - --accent-color-transparent0: rgb(78, 172, 253, 0); - --accent-color-transparent5: rgb(78, 172, 253, 0.05); - --accent-color-transparent25: rgb(78, 172, 253, 0.25); - - --danger-color: #dd6755; - --danger-color-light: #c83c28; - --danger-color-lighter: #9e301f; - --danger-color-lightest: #732317; - --danger-color-transparent0: rgba(221, 103, 85, 0); - --danger-color-transparent5: rgba(221, 103, 85, 0.05); - --danger-color-transparent25: rgba(221, 103, 85, 0.25); - - --success-color: #75cf54; - - --disabled-color: #444444; - --disabled-color-light: #585858; - --disabled-color-lighter: #777777; - - --input-background-color: #2f2f2f; - --input-background-color-dark: #383838; - --input-background-color-darker: #484848; - --input-outline-color: var(--text-color); - - --button-text-color: #000000; - --button-border-color: #333333; - --button-icon-color: #cccccc; - --button-icon-color-light: #999999; - - --checkbox-unchecked-color: #999999; - - --toggle-track-color: #cccccc; - --toggle-knob-color: #ffffff; - - --selectable-indicator-color: rgba(100, 100, 100, 0.25); - - --menu-item-hover-color: #333333; - --menu-item-active-color: #444444; -} - - -/* Icons */ -.icon { - --icon-image: none; - --icon-size: contain; - - -webkit-mask-repeat: no-repeat; - -webkit-mask-position: center center; - -webkit-mask-mode: alpha; - -webkit-mask-size: var(--icon-size); - -webkit-mask-image: var(--icon-image); - mask-repeat: no-repeat; - mask-position: center center; - mask-mode: alpha; - mask-size: var(--icon-size); - mask-image: var(--icon-image); -} -.icon[data-icon=none] { --icon-image: linear-gradient(transparent, transparent); } -.icon[data-icon=profile] { --icon-image: url(/images/profile.svg); } -.icon[data-icon=cog] { --icon-image: url(/images/cog.svg); } -.icon[data-icon=palette] { --icon-image: url(/images/palette.svg); } -.icon[data-icon=popup] { --icon-image: url(/images/popup.svg); } -.icon[data-icon=speaker] { --icon-image: url(/images/speaker.svg); } -.icon[data-icon=scanning] { --icon-image: url(/images/scanning.svg); } -.icon[data-icon=text-parsing] { --icon-image: url(/images/text-parsing.svg); } -.icon[data-icon=translation] { --icon-image: url(/images/translation.svg); } -.icon[data-icon=book] { --icon-image: url(/images/book.svg); } -.icon[data-icon=note-card] { --icon-image: url(/images/note-card.svg); } -.icon[data-icon=keyboard] { --icon-image: url(/images/keyboard.svg); } -.icon[data-icon=backup] { --icon-image: url(/images/backup.svg); } -.icon[data-icon=lock] { --icon-image: url(/images/lock.svg); } -.icon[data-icon=question-mark] { --icon-image: url(/images/question-mark.svg); } -.icon[data-icon=popup-size] { --icon-image: url(/images/popup-size.svg); } -.icon[data-icon=hamburger-menu] { --icon-image: url(/images/hamburger-menu.svg); } -.icon[data-icon=kebab-menu] { --icon-image: url(/images/kebab-menu.svg); } -.icon[data-icon=mouse] { --icon-image: url(/images/mouse.svg); } -.icon[data-icon=exclamation-point-short] { --icon-image: url(/images/exclamation-point-short.svg); } -.icon[data-icon=magnifying-glass] { --icon-image: url(/images/magnifying-glass.svg); } -.icon[data-icon=collapse] { --icon-image: url(/images/collapse.svg); } -.icon[data-icon=expand] { --icon-image: url(/images/expand.svg); } -.icon[data-icon=window] { --icon-image: url(/images/window.svg); } -.icon[data-icon=cross] { --icon-image: url(/images/cross.svg); } -.icon[data-icon=checkmark] { --icon-image: url(/images/checkmark.svg); } -.icon[data-icon=sentence-parsing] { --icon-image: url(/images/sentence-parsing.svg); } -.icon[data-icon=question-mark] { --icon-image: url(/images/question-mark.svg); } -.icon[data-icon=question-mark-circle] { --icon-image: url(/images/question-mark-circle.svg); } -.icon[data-icon=question-mark-thick] { --icon-image: url(/images/question-mark-thick.svg); } -.icon[data-icon=left-chevron] { --icon-image: url(/images/left-chevron.svg); } -.icon[data-icon=right-chevron] { --icon-image: url(/images/right-chevron.svg); } -.icon[data-icon=plus-thick] { --icon-image: url(/images/plus-thick.svg); } -.icon[data-icon=clipboard] { --icon-image: url(/images/clipboard.svg); } -.icon[data-icon=key] { --icon-image: url(/images/key.svg); } -.icon[data-icon=material-down-arrow] { - --icon-image: url(/images/material-down-arrow.svg); - --icon-size: var(--material-arrow-dimension2) var(--material-arrow-dimension1); -} -.icon[data-icon=material-right-arrow] { - --icon-image: url(/images/material-right-arrow.svg); - --icon-size: var(--material-arrow-dimension1) var(--material-arrow-dimension2); -} - - -/* Checkbox */ -label.checkbox { - cursor: default; -} -.checkbox { - font-size: var(--checkbox-size); - display: inline-block; -} -.checkbox>input[type=checkbox] { - opacity: 0; - width: 0; - height: 0; - display: block; - margin: 0; - padding: 0; - border: none; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; -} -.checkbox-body { - display: block; - cursor: pointer; - width: 1em; - height: 1em; - position: relative; -} -.checkbox>input[type=checkbox]:disabled+.checkbox-body { - cursor: default; -} -.checkbox-fill, -.checkbox-border, -.checkbox-check { - display: block; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - mask-repeat: no-repeat; - mask-position: center center; - mask-mode: alpha; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - -webkit-mask-position: center center; - -webkit-mask-mode: alpha; - -webkit-mask-size: contain; - transition: opacity var(--animation-duration) linear, background-color var(--animation-duration) linear; -} -.checkbox-fill { - mask-image: url(/images/checkbox-fill.svg); - -webkit-mask-image: url(/images/checkbox-fill.svg); - background-color: var(--checkbox-unchecked-color); - opacity: 0; -} -.checkbox-border { - mask-image: url(/images/checkbox-border.svg); - -webkit-mask-image: url(/images/checkbox-border.svg); - background-color: var(--checkbox-unchecked-color); - opacity: 1; -} -.checkbox-check { - mask-image: url(/images/checkbox-check.svg); - -webkit-mask-image: url(/images/checkbox-check.svg); - background-color: var(--checkbox-check-color); - opacity: 0; -} -.checkbox>input[type=checkbox]:checked+.checkbox-body>.checkbox-fill { - background-color: var(--checkbox-checked-color); - opacity: 1; -} -.checkbox>input[type=checkbox]:checked+.checkbox-body>.checkbox-border { - background-color: var(--checkbox-checked-color); - opacity: 1; -} -.checkbox>input[type=checkbox]:checked+.checkbox-body>.checkbox-check { - background-color: var(--checkbox-check-color); - opacity: 1; -} -.checkbox>input[type=checkbox]:disabled+.checkbox-body>.checkbox-fill { - opacity: 0; -} -.checkbox>input[type=checkbox]:disabled+.checkbox-body>.checkbox-border { - background-color: var(--checkbox-disabled-color); - opacity: 1; -} -.checkbox>input[type=checkbox]:disabled+.checkbox-body>.checkbox-check { - background-color: var(--checkbox-disabled-color); -} - - -/* Toggle switch */ -label.toggle { - cursor: default; -} -.toggle { - font-size: var(--toggle-size); - display: inline-block; -} -.toggle>input[type=checkbox] { - opacity: 0; - width: 0; - height: 0; - display: block; - margin: 0; - padding: 0; - border: none; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; -} -.toggle-body { - display: block; - cursor: pointer; - width: 2em; - height: 1em; - position: relative; -} -.toggle-track { - display: block; - position: absolute; - left: 0.125em; - right: 0.125em; - top: 0.125em; - bottom: 0.125em; - background-color: var(--toggle-track-color); - border-radius: 0.4375em; - transition: background-color var(--animation-duration) ease-in-out; -} -.toggle-knob { - display: block; - position: absolute; - left: 0; - top: 0; - width: 1em; - height: 1em; - background-color: var(--toggle-knob-color); - border-radius: 0.5em; - box-shadow: - 0 0.0625em 0.25em 0 var(--shadow-color), - 0 0.125em 0.125em 0 var(--shadow-color); - transition: - transform var(--animation-duration) ease-in-out, - background-color var(--animation-duration) ease-in-out; -} -.toggle-body>.toggle-knob::after { - position: absolute; - display: block; - content: ''; - left: -0.75em; - top: -0.75em; - right: -0.75em; - bottom: -0.75em; - border-radius: 2.5em; - background-color: var(--selectable-indicator-color); - pointer-events: none; - transform: scale(0); - opacity: 0; - visibility: hidden; - transition: - transform 0s ease-in-out var(--animation-duration2), - background-color var(--animation-duration2) ease-in-out, - opacity var(--animation-duration2) ease-in-out, - visibility 0s ease-in-out var(--animation-duration2); -} -.toggle>input[type=checkbox]:focus:not(:disabled)+.toggle-body>.toggle-knob::after, -.toggle:active>input[type=checkbox]:not(:disabled)+.toggle-body>.toggle-knob::after { - transform: scale(1); - opacity: 1; - visibility: visible; - transition: - transform var(--animation-duration2) ease-in-out, - background-color var(--animation-duration2) ease-in-out, - opacity var(--animation-duration2) ease-in-out, - visibility var(--animation-duration2) ease-in-out; -} -.toggle>input[type=checkbox]:focus+.toggle-body>.toggle-knob::after { - opacity: 0.5; -} -.toggle:active>input[type=checkbox]:focus+.toggle-body>.toggle-knob::after { - opacity: 1; -} -.toggle>input[type=checkbox]:checked+.toggle-body>.toggle-knob { - transform: translateX(1em); -} -.toggle>input[type=checkbox]:checked:not(:disabled)+.toggle-body>.toggle-track { - background-color: var(--accent-color-lighter); -} -.toggle>input[type=checkbox]:checked:not(:disabled)+.toggle-body>.toggle-knob { - background-color: var(--accent-color); -} -.toggle>input[type=checkbox]:focus:checked:not(:disabled)+.toggle-body>.toggle-knob::after, -.toggle:active>input[type=checkbox]:checked:not(:disabled)+.toggle-body>.toggle-knob::after { - background-color: var(--accent-color-transparent25); -} -.toggle>input[type=checkbox]:disabled+.toggle-body { - cursor: default; -} -.toggle>input[type=checkbox]:disabled+.toggle-body>.toggle-track { - background-color: var(--disabled-color-light); -} -.toggle>input[type=checkbox]:disabled+.toggle-body>.toggle-knob { - background-color: var(--disabled-color-lighter); -} - - -/* Radio button */ -label.radio { - cursor: default; -} -.radio { - display: inline-block; - vertical-align: middle; -} -.radio>input[type=radio] { - opacity: 0; - width: 0; - height: 0; - display: block; - margin: 0; - padding: 0; - border: none; - cursor: default; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; -} -.radio>input[type=radio]:not(:disabled)+.radio-body { - cursor: pointer; -} -.radio-body { - display: block; - position: relative; - width: var(--radio-size); - height: var(--radio-size); -} -.radio-border, -.radio-dot { - display: block; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - background-color: var(--accent-color); - mask-repeat: no-repeat; - mask-position: center center; - mask-mode: alpha; - mask-size: var(--radio-size) var(--radio-size); - -webkit-mask-repeat: no-repeat; - -webkit-mask-position: center center; - -webkit-mask-mode: alpha; - -webkit-mask-size: var(--radio-size) var(--radio-size); -} -.radio-border { - mask-image: url(/images/radio-button.svg); - -webkit-mask-image: url(/images/radio-button.svg); -} -.radio-dot { - mask-image: url(/images/radio-button-dot.svg); - -webkit-mask-image: url(/images/radio-button-dot.svg); - opacity: 1; - transform: none; - transition: - transform var(--animation-duration2) ease-in-out, - opacity var(--animation-duration2) ease-in-out, - visibility var(--animation-duration2) ease-in-out; -} -.radio>input[type=radio]:disabled+.radio-body>.radio-border, -.radio>input[type=radio]:disabled+.radio-body>.radio-dot { - background-color: var(--disabled-color); -} -.radio>input[type=radio]:not(:checked)+.radio-body>.radio-dot { - opacity: 0; - transform: scale(0); - transition: - transform 0s ease-in-out var(--animation-duration2), - opacity var(--animation-duration2) ease-in-out, - visibility 0s ease-in-out var(--animation-duration2); -} -.radio-body::after { - position: absolute; - display: block; - content: ''; - left: -0.75em; - top: -0.75em; - right: -0.75em; - bottom: -0.75em; - border-radius: 2.5em; - background-color: var(--selectable-indicator-color); - pointer-events: none; - transform: scale(0); - opacity: 0; - visibility: hidden; - transition: - transform 0s ease-in-out var(--animation-duration2), - background-color var(--animation-duration2) ease-in-out, - opacity var(--animation-duration2) ease-in-out, - visibility 0s ease-in-out var(--animation-duration2); -} -.radio>input[type=radio]:focus:not(:disabled)+.radio-body::after, -.radio:active>input[type=radio]:not(:disabled)+.radio-body::after { - transform: scale(1); - opacity: 1; - visibility: visible; - transition: - transform var(--animation-duration2) ease-in-out, - background-color var(--animation-duration2) ease-in-out, - opacity var(--animation-duration2) ease-in-out, - visibility var(--animation-duration2) ease-in-out; -} -.radio>input[type=radio]:focus+.radio-body::after { - opacity: 0.5; -} -.radio:active>input[type=radio]:focus+.radio-body::after { - opacity: 1; -} -.radio-label { - cursor: pointer; - white-space: nowrap; -} -.radio-label>.radio { - vertical-align: middle; -} -.radio-label>.radio-label-text { - display: inline-block; - margin-left: 0.5em; - vertical-align: middle; - white-space: normal; -} - - -/* Material design select */ -select { - width: var(--input-width-large); - height: var(--input-height); - line-height: var(--input-height); - border: 0; - border-radius: var(--input-border-radius); - box-sizing: border-box; - padding: 0 0.5em; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - background-image: url(/images/material-down-arrow.svg); - background-repeat: no-repeat; - background-position: right calc(10em / var(--font-size-no-units)) center; - background-color: var(--input-background-color); - background-size: var(--material-arrow-dimension2) var(--material-arrow-dimension1); - cursor: pointer; - color: var(--text-color); - font-size: var(--input-font-size); -} -select::-ms-expand { - display: none; -} - - -/* Material design inputs */ -input[type=text], -input[type=number] { - width: var(--input-width); - height: var(--input-height); - line-height: var(--input-height); - color: var(--text-color); - font-size: var(--input-font-size); - background-color: var(--input-background-color); - border: none; - border-radius: var(--input-border-radius); - box-sizing: border-box; - padding: 0 0.5em; - appearance: textfield; - -moz-appearance: textfield; - -webkit-appearance: textfield; -} -input[type=number]::-webkit-inner-spin-button, -input[type=number]::-webkit-outer-spin-button { - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - margin: 0; -} -input[type=text] { - width: var(--input-width-large); -} -textarea { - box-sizing: border-box; - padding: var(--textarea-padding); - font-family: 'Courier New', Courier, monospace; - color: var(--text-color); - font-size: var(--input-font-size); - background-color: var(--input-background-color); - border-radius: var(--input-border-radius); - line-height: var(--textarea-line-height); - border: var(--thin-border-size) solid var(--input-background-color); -} -select:invalid, -textarea:invalid, -input[type=text]:invalid, -input[type=number]:invalid, -select[data-invalid=true], -textarea[data-invalid=true], -input[type=text][data-invalid=true], -input[type=number][data-invalid=true] { - border: var(--thin-border-size) solid var(--danger-color); -} -select, -textarea, -input[type=text], -input[type=number] { - box-shadow: none; - transition: box-shadow calc(var(--animation-duration) / 2) linear; -} -select:focus, -textarea:focus, -input[type=text]:focus, -input[type=number]:focus { - box-shadow: 0 0 0 calc(2em / var(--font-size-no-units)) var(--input-outline-color); - outline: none; -} -select:invalid:focus, -textarea:invalid:focus, -input[type=text]:invalid:focus, -input[type=number]:invalid:focus, -select[data-invalid=true]:focus, -textarea[data-invalid=true]:focus, -input[type=text][data-invalid=true]:focus, -input[type=number][data-invalid=true]:focus { - box-shadow: 0 0 0 calc(2em / var(--font-size-no-units)) var(--danger-color); - outline: none; -} -input[type=text].input-with-suffix-button, -input[type=number].input-with-suffix-button { - flex: 1 1 auto; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-right-style: none; - z-index: 1; -} -input[type=text].code, -input[type=number].code { - font-family: 'Courier New', Courier, monospace; -} - - -/* Material design button */ -button { - border: var(--thin-border-size) solid transparent; - border-radius: 0.3em; - padding: 0.5em 1em; - font-weight: bold; - font-size: inherit; - font-family: inherit; - cursor: pointer; - background-color: transparent; - box-shadow: var(--button-shadow-params) var(--shadow-color-off); - transition: background-color var(--animation-duration) ease-in, box-shadow var(--animation-duration) ease-in, border-color var(--animation-duration) ease-in; - -webkit-tap-highlight-color: transparent; -} -button:focus { - outline: none; -} -button:hover { - transition: background-color var(--animation-duration) ease-out, box-shadow var(--animation-duration) ease-out, border-color var(--animation-duration) ease-out; -} -button:hover:not(:disabled) { - box-shadow: var(--button-shadow-params) var(--shadow-color-light); -} -button:active:not(:disabled) { - box-shadow: var(--button-shadow-params) var(--shadow-color); -} - -/* Standard button */ -button:not(:disabled) { - color: var(--button-text-color); - border-color: var(--accent-color); - background-color: var(--accent-color); -} -button:hover:not(:disabled) { - background-color: var(--accent-color-light); - border-color: var(--accent-color-light); -} -button:focus:not(:disabled) { - background-color: var(--accent-color-light); -} -button:active:not(:disabled) { - border-color: var(--accent-color-lighter); - background-color: var(--accent-color-lighter); -} - -/* Standard danger button */ -button.danger:not(:disabled) { - color: var(--button-text-color); - border-color: var(--danger-color); - background-color: var(--danger-color); -} -button.danger:hover:not(:disabled) { - background-color: var(--danger-color-light); - border-color: var(--danger-color-light); -} -button.danger:focus:not(:disabled) { - background-color: var(--danger-color-light); -} -button.danger:active:not(:disabled) { - border-color: var(--danger-color-lighter); - background-color: var(--danger-color-lighter); -} - -/* Low emphasis button */ -button.low-emphasis:not(:disabled) { - color: var(--accent-color); - border-color: var(--button-border-color); - background-color: var(--accent-color-transparent0); -} -button.low-emphasis:hover:not(:disabled) { - background-color: var(--accent-color-transparent5); - border-color: var(--accent-color-light); -} -button.low-emphasis:focus:not(:disabled) { - border-color: var(--accent-color); -} -button.low-emphasis:active:not(:disabled) { - border-color: var(--accent-color); - background-color: var(--accent-color-transparent25); -} - -/* Low emphasis danger button */ -button.low-emphasis.danger:not(:disabled) { - color: var(--danger-color); - border-color: var(--button-border-color); - background-color: var(--danger-color-transparent0); -} -button.low-emphasis.danger:hover:not(:disabled) { - border-color: var(--danger-color-light); - background-color: var(--danger-color-transparent5); -} -button.low-emphasis.danger:focus:not(:disabled) { - border-color: var(--danger-color); -} -button.low-emphasis.danger:active:not(:disabled) { - border-color: var(--danger-color); - background-color: var(--danger-color-transparent25); -} - -/* Disabled buttons */ -button:disabled { - color: var(--button-text-color); - border-color: var(--disabled-color); - background-color: var(--disabled-color); - cursor: default; -} -button.low-emphasis:disabled { - color: var(--disabled-color); - border-color: var(--disabled-color); - background-color: transparent; -} - -/* Input suffix button */ -button.input-suffix-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border: none; - height: var(--input-height); - line-height: var(--input-height); - background-color: var(--input-background-color); - box-sizing: border-box; - padding: 0 0.5em; - border-color: transparent; - transition: - background-color var(--animation-duration) ease-in, - box-shadow var(--animation-duration) ease-in; -} -button.input-suffix-button.input-suffix-icon-button { - width: 2.125em; - position: relative; -} -button.input-suffix-button.input-suffix-icon-button:hover, -button.input-suffix-button.input-suffix-icon-button:focus { - background-color: var(--input-background-color-dark); -} -button.input-suffix-button.input-suffix-icon-button:active { - background-color: var(--input-background-color-darker); -} -button.input-suffix-button.input-suffix-icon-button>.icon { - display: block; - width: 100%; - height: 100%; - background-color: var(--button-icon-color); -} -input[type=text]:invalid+button.input-suffix-button, -input[type=number]:invalid+button.input-suffix-button, -input[type=text][data-invalid=true]+button.input-suffix-button, -input[type=number][data-invalid=true]+button.input-suffix-button { - border: var(--thin-border-size) solid var(--danger-color); - border-left-style: none; -} - - -/* Material design icon button */ -button.icon-button { - vertical-align: middle; - border: none; - margin: 0; - padding: 0; - box-sizing: content-box; - font-size: inherit; - cursor: pointer; - background-color: transparent; -} -button.icon-button:not([hidden]) { - display: inline-block; -} -button.icon-button>.icon-button-inner { - display: block; - width: var(--icon-button-size); - height: var(--icon-button-size); - position: relative; -} -button.icon-button:focus { - outline: none; -} -button.icon-button, -button.icon-button:hover, -button.icon-button:focus, -button.icon-button:active { - background-color: transparent; - box-shadow: none; -} -.icon-button>.icon-button-inner::after { - position: absolute; - display: block; - content: ''; - left: 0; - top: 0; - right: 0; - bottom: 0; - border-radius: 50%; - background-color: var(--selectable-indicator-color); - pointer-events: none; - transform: scale(0); - opacity: 0; - visibility: hidden; - transition: - transform 0s ease-in-out var(--animation-duration2), - background-color var(--animation-duration2) ease-in-out, - opacity var(--animation-duration2) ease-in-out, - visibility 0s ease-in-out var(--animation-duration2); -} -.icon-button:focus>.icon-button-inner::after { - transform: scale(1); - opacity: 1; - visibility: visible; - transition: - transform var(--animation-duration2) ease-in-out, - background-color var(--animation-duration2) ease-in-out, - opacity var(--animation-duration2) ease-in-out, - visibility var(--animation-duration2) ease-in-out; -} -.icon-button>.icon-button-inner>.icon { - display: block; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - background-color: var(--button-icon-color); - --icon-size: calc(16em / var(--font-size-no-units)) calc(16em / var(--font-size-no-units)); -} -.icon-button>.icon-button-inner>.icon.icon-button-icon-light { - background-color: var(--button-icon-color-light); -} -.icon-button>.icon-button-inner>.icon[data-icon=material-right-arrow] { --icon-size: var(--material-arrow-dimension1) var(--material-arrow-dimension2); } -.icon-button>.icon-button-inner>.icon[data-icon=material-down-arrow] { --icon-size: var(--material-arrow-dimension2) var(--material-arrow-dimension1); } - -.input-height-icon-button-container { - height: var(--input-height); - box-sizing: border-box; -} -.input-height-icon-button-container>.icon-button { - position: relative; - top: calc((var(--input-height) - var(--icon-button-size)) * 0.5); -} - - -/* Popup menu */ -#popup-menus { - position: absolute; -} -.popup-menu-container { - position: fixed; - left: 0; - top: 0; - right: 0; - bottom: 0; - z-index: 101; - outline: none; - overflow: hidden; -} -.popup-menu { - position: absolute; - left: 0; - top: 0; - max-width: 100%; - max-height: 100%; - box-sizing: border-box; - box-shadow: var(--menu-shadow); - border-radius: var(--menu-border-radius); - background-color: var(--background-color-light); - padding: 0.5em 0; - min-width: 8em; - overflow: auto; -} -.popup-menu-body { - display: flex; - flex-flow: column nowrap; - align-items: stretch; - white-space: nowrap; -} -button.popup-menu-item { - padding: 0.625em 1.5em; - border-radius: 0; - background-color: transparent; - color: var(--text-color); - border: none; - width: 100%; - text-align: left; - font-size: 1em; - font-weight: normal; - font-family: inherit; - align-items: center; -} -button.popup-menu-item:not([hidden]) { - display: flex; -} -button.popup-menu-item:hover:not(:disabled), -button.popup-menu-item:focus:not(:disabled) { - background-color: var(--menu-item-hover-color); - box-shadow: none; -} -button.popup-menu-item:active:not(:disabled) { - background-color: var(--menu-item-active-color); - box-shadow: none; -} -button.popup-menu-item:disabled { - color: var(--text-color-light2); -} -.popup-menu-item-icon { - width: calc(16em / 14); - height: calc(16em / 14); - background-color: var(--text-color); - margin-right: 0.5em; - flex: 0 0 auto; -} -.popup-menu-item-icon:not([hidden]) { - display: block; -} -:root[data-page-type=popup] .popup-menu.popup-menu-auto-size, -.popup-menu.popup-menu-small { - border-radius: calc(var(--menu-border-radius) * 0.75); - padding: 0.25em 0; - min-width: 6em; -} -:root[data-page-type=popup] .popup-menu.popup-menu-auto-size button.popup-menu-item, -.popup-menu.popup-menu-small button.popup-menu-item { - padding: 0.5em 0.75em; - font-size: var(--font-size-small); -} diff --git a/ext/mixed/css/popup-outer.css b/ext/mixed/css/popup-outer.css deleted file mode 100644 index 626d0c32..00000000 --- a/ext/mixed/css/popup-outer.css +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2016-2021 Yomichan Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -iframe.yomichan-popup { - all: initial; - font-size: 1px; - background-color: #ffffff; - border: 1em solid #999999; - box-shadow: 0 0 10em rgba(0, 0, 0, 0.5); - position: fixed; - resize: none; - visibility: hidden; - z-index: 2147483647; - box-sizing: border-box; -} -iframe.yomichan-popup[data-theme=dark] { - background-color: #1e1e1e; - border-color: #666666; -} -iframe.yomichan-popup[data-outer-theme=dark], -iframe.yomichan-popup[data-outer-theme=auto][data-site-color=dark] { - box-shadow: 0 0 10em rgba(255, 255, 255, 0.5); -} -iframe.yomichan-popup[data-popup-display-mode=full-width] { - border-left: none; - border-right: none; -} -iframe.yomichan-popup[data-popup-display-mode=full-width][data-below=true] { - border-bottom: none; -} -iframe.yomichan-popup[data-popup-display-mode=full-width]:not([data-below=true]) { - border-top: none; -} diff --git a/ext/mixed/css/search.css b/ext/mixed/css/search.css deleted file mode 100644 index eb537ba4..00000000 --- a/ext/mixed/css/search.css +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright (C) 2020-2021 Yomichan Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -/* Variables */ -:root { - --main-content-horizontal-padding: 0.72em; - --entry-horizontal-padding: 0; - - --padding: calc(10em / var(--font-size-no-units)); - --main-content-size: calc(700em / var(--font-size-no-units)); - - --background-color: #ffffff; - --separator-color1: #cccccc; -} -:root:not([data-loaded=true]) { - --animation-duration: 0s; -} -:root[data-theme=dark] { - --separator-color1: #333333; -} - -/* Common styles */ -:root { - height: 100%; -} -body { - background-color: var(--background-color); - margin: 0; - padding: 0; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - color: var(--text-color); - height: 100%; - overflow: hidden; -} -h1 { - font-size: 2em; - line-height: 1.5em; - margin: 0; - padding: 0.25em 0 0; - font-weight: normal; - box-sizing: border-box; - border-bottom: calc(1em / (var(--font-size-no-units) * 2)) solid var(--separator-color1); -} - -/* Search bar */ -.search-textbox-container { - display: flex; - flex-flow: row nowrap; - width: 100%; - align-items: stretch; - margin: 0; - padding: 0; - border: 0; -} -#search-textbox { - color: var(--text-color); - flex: 1 1 auto; - box-sizing: border-box; - padding: var(--textarea-padding); - background-color: var(--input-background-color); - border-radius: 0; - line-height: var(--textarea-line-height); - border: 0; - outline: none; - width: 100%; - height: calc(var(--textarea-line-height) + var(--textarea-padding) * 2); - min-height: calc(var(--textarea-line-height) + var(--textarea-padding) * 2); - max-height: calc(var(--textarea-line-height) * 10 + var(--textarea-padding) * 2); - resize: vertical; - font-size: var(--font-size); - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - white-space: pre-wrap; - z-index: 1; -} -#search-button { - flex: 0 0 auto; - position: relative; - width: 2.5em; - background-color: var(--input-background-color); - border: 0; - padding: 0; - margin: 0; - cursor: pointer; - outline: none; - transition: background-color var(--animation-duration) ease-in-out; - border-radius: 0; -} -#search-button:hover, -#search-button:focus { - background-color: var(--input-background-color-dark); -} -#search-button:active { - background-color: var(--input-background-color-darker); -} - -#search-button>.icon { - display: block; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - background-color: var(--button-icon-color); - --icon-size: 16px 16px; -} - -/* Search options */ -.search-options { - display: flex; - flex-flow: row wrap; - margin: 0.5em -1em; - align-items: center; -} -.search-option { - flex: 0 1 auto; - margin: 0.5em 1em; - align-items: center; - cursor: pointer; -} -.search-option:not([hidden]) { - display: flex; -} -.search-option-label { - padding-left: 0.5em; -} -.search-option-pre-label { - padding-right: 0.5em; -} -#query-parser-mode-container { - flex: 1 1 auto; -} -#query-parser-mode-container:not([hidden]) { - display: flex; -} -#query-parser-mode-select { - flex: 1 1 auto; - max-width: 220px; - min-width: 100px; -} - -/* Search styles */ -#intro { - overflow: hidden; -} -#intro>p { - margin: 0; -} - |