initial commit

This commit is contained in:
2026-02-09 19:04:19 -08:00
commit f92b57c7b6
531 changed files with 196294 additions and 0 deletions

376
vendor/yomitan/css/action-popup.css vendored Normal file
View File

@@ -0,0 +1,376 @@
/*
* Copyright (C) 2023-2025 Yomitan Authors
* Copyright (C) 2020-2022 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));
--line-height-no-units: 20;
--line-height: calc(var(--line-height-no-units) / var(--font-size-no-units));
--background-color: #f8f9fa;
--text-color: #333333;
}
:root[data-theme=dark] {
--background-color: #1e1e1e;
--text-color: #cccccc;
}
/* Initilization */
body[data-loaded=true] #loading {
display: none;
}
body:not([data-loaded=true]) #action-popup {
display: none;
}
:root[data-mode=full] #action-popup {
display: initial;
}
#action-popup {
display: flex;
flex-flow: column nowrap;
align-items: center;
}
body {
padding: 5px;
margin: 0;
font-family: 'Segoe UI', Tahoma, sans-serif;
font-size: var(--font-size);
width: max-content;
height: max-content;
background-color: var(--background-color);
}
/* Toggle */
body[data-loaded=true] .toggle-group {
transition: transform 0.35s;
}
.toggle>input[type=checkbox] {
width: 0;
height: 0;
opacity: 0;
display: block;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.toggle>input[type=checkbox]:not(:checked)~.toggle-group {
transform: translateX(-50%);
}
.toggle {
box-sizing: border-box;
width: 85px;
height: 43px;
position: relative;
overflow: hidden;
border: 1px solid #245580;
border-radius: 4px;
display: inline-block;
}
.toggle-group {
position: absolute;
width: 200%;
left: 0;
top: 0;
bottom: 0;
user-select: none;
}
.toggle-on,
.toggle-off,
.toggle-handle {
display: flex;
justify-content: center;
align-items: center;
padding: 6px 12px;
font-size: var(--font-size);
font-weight: bold;
line-height: var(--line-height);
text-align: center;
white-space: nowrap;
cursor: pointer;
}
.toggle-on,
.toggle-off {
position: absolute;
top: 0;
bottom: 0;
margin: 0;
border: 0;
}
.toggle-on {
padding-right: 24px;
left: 0;
right: 50%;
color: #ffffff;
border-color: #2e6da4;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 3px 5px rgba(0, 0, 0, 0);
background-image: linear-gradient(225deg, #bc00ff, #00eeff);
background-repeat: repeat-x;
}
input[type=checkbox]:focus~.toggle-group>.toggle-on,
input[type=checkbox]~.toggle-group>.toggle-on:hover {
filter: grayscale(30%);
}
input[type=checkbox]:focus:not(:focus-visible)~.toggle-group>.toggle-on:not(:hover) {
background-image: linear-gradient(225deg, #bc00ff, #00eeff);
}
input[type=checkbox]:focus-visible~.toggle-group>.toggle-on {
filter: grayscale(30%);
}
input[type=checkbox]~.toggle-group>.toggle-on:active,
input[type=checkbox]~.toggle-group>.toggle-on:active:focus {
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.toggle-off {
padding-left: 24px;
left: 50%;
right: 0;
}
.toggle-handle {
position: relative;
margin: 0 auto;
padding-top: 0;
padding-bottom: 0;
height: 100%;
width: 0;
border-style: solid;
border-width: 0 1px;
border-radius: 4px;
border-color: #cccccc;
}
.toggle-off,
.toggle-handle {
color: #333333;
text-shadow: 0 1px 0 #ffffff;
background-color: #ffffff;
background-repeat: repeat-x;
}
input[type=checkbox]:focus~.toggle-group>.toggle-off,
input[type=checkbox]~.toggle-group>.toggle-off:hover,
input[type=checkbox]~.toggle-group>.toggle-handle:hover {
background-color: #e6e6e6;
}
input[type=checkbox]:focus:not(:focus-visible)~.toggle-group>.toggle-off:not(:hover) {
background-color: #ffffff;
}
input[type=checkbox]:focus-visible~.toggle-group>.toggle-off,
input[type=checkbox]~.toggle-group>.toggle-off:hover {
background-color: #e6e6e6;
}
input[type=checkbox]~.toggle-group>.toggle-off:active,
input[type=checkbox]~.toggle-group>.toggle-handle:active,
input[type=checkbox]~.toggle-group>.toggle-off:active:focus,
input[type=checkbox]~.toggle-group>.toggle-handle:active:focus {
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
/* Action Containers */
h2.action-title {
padding: 0;
margin: 0;
font-size: 1.125em;
line-height: 1.5;
}
.action-icon:hover {
cursor: pointer;
}
.action-icon {
flex: 0 0 auto;
align-self: center;
}
.action-icon>.icon {
display: block;
background-color: var(--button-default-icon-color);
width: 1.5em;
height: 1.5em;
}
.low-emphasis {
position: relative;
}
.action-item-left {
flex: 1 1 auto;
align-self: center;
position: relative;
display: flex;
justify-content: flex-start;
}
.action-item-center {
flex: 1 1 auto;
align-self: center;
display: flex;
flex-flow: column nowrap;
align-items: center;
justify-content: center;
}
.action-item-right {
flex: 0 1 auto;
align-self: stretch;
display: flex;
flex-flow: row nowrap;
align-items: center;
align-content: center;
justify-content: flex-end;
}
.action-container:not([hidden]) {
display: flex;
justify-content: space-between;
align-items: center;
padding: 5px;
}
.action-container button {
flex: 0 0 auto;
}
.action-container.action-buttons {
gap: 0.25em;
}
/* Actions */
.action-container.action-select-profile {
position: relative;
gap: 0.5em;
}
select.profile-select {
width: 7em;
height: 100%;
box-sizing: border-box;
border: 0;
margin: 0;
cursor: pointer;
font-size: var(--font-size);
overflow: hidden;
text-overflow: ellipsis;
}
/* Tooltip */
.tooltip {
color: #808080;
padding: 0;
margin: 0;
margin-top: 0.25em;
}
.enable-dictionary-tooltip {
color: #f0ad4e;
}
.tooltip>a:link, a:visited {
color: #f0ad4e;
}
/* Mobile overrides */
:root[data-mode=full] #action-popup {
display: initial;
}
:root[data-mode=full] body {
min-width: 95%;
width: max-content;
font-size: calc(var(--font-size) * 2);
text-align: center;
}
:root[data-mode=full] .toggle-on, :root[data-mode=full] .toggle-off {
font-size: calc(var(--font-size) * 4);
}
:root[data-mode=full] .toggle-handle {
padding-left: 65px;
padding-right: 65px;
border-radius: 10px;
}
:root[data-mode=full] .toggle {
width: 100%;
padding-top: 37.7%;
}
:root[data-mode=full] #extension-info {
max-width: 95vw;
overflow-wrap: break-word;
}
:root[data-mode=full] select.profile-select {
font-size: calc(var(--font-size) * 2);
}
/* Fallback Mobile overrides */
/* Treat devices that can't hover as mobile devices */
@media (hover: none) {
#action-popup {
display: initial;
}
body {
min-width: 95%;
width: max-content;
font-size: calc(var(--font-size) * 2);
text-align: center;
}
.toggle-on, .toggle-off {
font-size: calc(var(--font-size) * 4);
}
.toggle-handle {
padding-left: 65px;
padding-right: 65px;
border-radius: 10px;
}
.toggle {
width: 100%;
padding-top: 37.7%;
}
#extension-info {
max-width: 95vw;
overflow-wrap: break-word;
}
select.profile-select {
font-size: calc(var(--font-size) * 2);
}
}
/* Dark mode before themes are applied
DO NOT use this for normal theming */
@media (prefers-color-scheme: dark) {
body:not([data-loaded=true]) {
color: #cccccc;
background-color: #1e1e1e;
}
}

30
vendor/yomitan/css/background.css vendored Normal file
View File

@@ -0,0 +1,30 @@
/*
* Copyright (C) 2023-2025 Yomitan Authors
* Copyright (C) 2022 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/>.
*/
/* stylelint-disable declaration-no-important */
#clipboard-rich-content-paste-target * {
background-image: none !important;
list-style-image: none !important;
content: none !important;
cursor: auto !important;
border-image-source: none !important;
offset-path: none !important;
-webkit-mask-image: none !important;
mask-image: none !important;
}
/* stylelint-enable declaration-no-important */

View File

@@ -0,0 +1,132 @@
/*
* Copyright (C) 2023-2025 Yomitan Authors
* Copyright (C) 2021-2022 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/>.
*/
:root {
--pronunciation-annotation-color: #000000;
}
:root[data-theme=dark] {
--pronunciation-annotation-color: #ffffff;
}
.pronunciation-downstep-notation {
display: inline;
}
.pronunciation-text {
display: inline;
}
.pronunciation-mora {
display: inline-block;
position: relative;
}
.pronunciation-mora-line {
border-color: var(--pronunciation-annotation-color);
}
.pronunciation-mora[data-pitch=high]>.pronunciation-mora-line {
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;
}
.pronunciation-mora[data-pitch=high][data-pitch-next=low]>.pronunciation-mora-line {
right: -0.1em;
height: 0.4em;
border-right-width: 0.1em;
border-right-style: solid;
}
.pronunciation-mora[data-pitch=high][data-pitch-next=low] {
padding-right: 0.1em;
margin-right: 0.1em;
}
.pronunciation-devoice-indicator {
display: block;
position: absolute;
left: 50%;
top: 50%;
width: 1.125em;
height: 1.125em;
border: calc(1.5em / var(--font-size-no-units)) dotted var(--danger-color);
border-radius: 50%;
box-sizing: border-box;
z-index: 1;
transform: translate(-50%, -50%);
}
.pronunciation-nasal-indicator {
display: block;
position: absolute;
right: -0.125em;
top: 0.125em;
width: 0.375em;
height: 0.375em;
border: calc(1.5em / var(--font-size-no-units)) solid var(--danger-color);
border-radius: 50%;
box-sizing: border-box;
z-index: 1;
}
.pronunciation-nasal-diacritic {
position: absolute;
width: 0;
height: 0;
opacity: 0;
}
.pronunciation-character {
display: inline;
}
.pronunciation-character-group {
display: inline-block;
position: relative;
}
.pronunciation-graph {
display: inline-block;
vertical-align: middle;
height: 1.5em;
}
.pronunciation-graph-line,
.pronunciation-graph-line-tail {
fill: none;
stroke: var(--pronunciation-annotation-color);
stroke-width: 5;
}
.pronunciation-graph-line-tail {
stroke-dasharray: 5 5;
}
.pronunciation-graph-dot {
fill: var(--pronunciation-annotation-color);
stroke: var(--pronunciation-annotation-color);
stroke-width: 5;
}
.pronunciation-graph-dot-downstep1 {
fill: none;
stroke: var(--pronunciation-annotation-color);
stroke-width: 5;
}
.pronunciation-graph-dot-downstep2 {
fill: var(--pronunciation-annotation-color);
}
.pronunciation-graph-triangle {
fill: none;
stroke: var(--pronunciation-annotation-color);
stroke-width: 5;
}

2100
vendor/yomitan/css/display.css vendored Normal file

File diff suppressed because it is too large Load Diff

1344
vendor/yomitan/css/material.css vendored Normal file

File diff suppressed because it is too large Load Diff

36
vendor/yomitan/css/permissions.css vendored Normal file
View File

@@ -0,0 +1,36 @@
/*
* Copyright (C) 2023-2025 Yomitan Authors
* Copyright (C) 2021-2022 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/>.
*/
#permissions-origin-list {
display: grid;
grid-template-columns: auto 1fr auto;
grid-template-rows: auto;
align-items: center;
justify-content: center;
}
.permissions-origin-index {
margin: 0 0.5em;
}
input[type=text].permissions-origin-input {
width: auto;
justify-self: stretch;
}
.permissions-origin-button {
justify-self: center;
margin-left: 0.5em;
}

50
vendor/yomitan/css/popup-outer.css vendored Normal file
View File

@@ -0,0 +1,50 @@
/*
* Copyright (C) 2023-2025 Yomitan Authors
* Copyright (C) 2016-2022 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.yomitan-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.yomitan-popup[data-theme=dark] {
background-color: #1e1e1e;
border-color: #666666;
}
iframe.yomitan-popup[data-outer-theme=dark] {
box-shadow: 0 0 10em rgba(255, 255, 255, 0.5);
}
iframe.yomitan-popup[data-outer-theme=none] {
box-shadow: none;
}
iframe.yomitan-popup[data-popup-display-mode=full-width] {
border-left: none;
border-right: none;
}
iframe.yomitan-popup[data-popup-display-mode=full-width][data-below=true] {
border-bottom: none;
}
iframe.yomitan-popup[data-popup-display-mode=full-width]:not([data-below=true]) {
border-top: none;
}

164
vendor/yomitan/css/popup-preview.css vendored Normal file
View File

@@ -0,0 +1,164 @@
/*
* Copyright (C) 2023-2025 Yomitan Authors
* Copyright (C) 2020-2022 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/>.
*/
:root {
--font-size-no-units: 14;
--font-size: calc(1px * var(--font-size-no-units));
--line-height-no-units: 20;
--line-height: calc(var(--line-height-no-units) / var(--font-size-no-units));
--animation-duration: 0s;
--example-text-color: #333333;
--background-color: rgba(0, 0, 0, 0);
}
:root[data-loaded=true] {
--animation-duration: 0.25s;
}
:root[data-theme=dark] {
--example-text-color: #d4d4d4;
--background-color: rgba(0, 0, 0, 0);
}
html {
background-color: var(--background-color);
}
html.dark {
background-color: var(--background-color);
}
html,
body {
margin: 0;
padding: 0;
border: 0;
overflow: hidden;
width: 100%;
height: 100%;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: var(--font-size);
line-height: var(--line-height);
}
.content {
display: flex;
min-width: 100%;
min-height: 100%;
box-sizing: border-box;
padding: 1em;
flex-flow: column nowrap;
align-items: center;
justify-content: center;
}
.content-body {
max-width: 100%;
width: 400px;
}
.top-options {
max-width: 100%;
display: flex;
flex-flow: row nowrap;
align-items: center;
}
.top-options-left {
flex: 1 1 auto;
}
.top-options-right {
flex: 0 0 auto;
}
.example-text-container {
position: relative;
}
.example-text {
display: block;
width: 100%;
font-size: 24px;
line-height: 1.25em;
height: 1.25em;
box-sizing: border-box;
border: 1px solid rgba(221, 221, 221, 0);
margin: 0;
padding: 0;
outline: none;
color: var(--example-text-color);
background-color: transparent;
white-space: pre;
transition: background-color var(--animation-duration) linear 0s, border-color var(--animation-duration) linear 0s;
}
.example-text:hover,
.example-text-input {
border-color: #dddddd;
}
.example-text[hidden] {
display: none;
}
.example-text-input {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
.example-text-input:not([hidden])+.example-text {
visibility: hidden;
}
.popup-placeholder {
display: flex;
width: 100%;
height: 250px;
padding-top: 10px;
border: 1px solid rgba(0, 0, 0, 0);
flex-flow: column nowrap;
justify-content: center;
}
.placeholder-info {
flex: 0 1 auto;
visibility: hidden;
opacity: 0;
transition: opacity var(--animation-duration) linear 0s, visibility 0s linear var(--animation-duration);
}
.placeholder-info.placeholder-info-visible {
color: var(--example-text-color);
visibility: visible;
opacity: 1;
transition: opacity var(--animation-duration) linear 0s, visibility 0s linear 0s;
}
.theme-button {
display: inline-block;
margin-left: 0.5em;
text-decoration: none;
cursor: pointer;
white-space: nowrap;
line-height: 0;
}
.theme-button>input {
vertical-align: middle;
margin: 0 0.25em 0 0;
padding: 0;
}
.theme-button>span {
vertical-align: middle;
}
.theme-button:hover>span {
text-decoration: underline;
}

489
vendor/yomitan/css/search-settings.css vendored Normal file
View File

@@ -0,0 +1,489 @@
:root {
--padding: 10px;
--padding-negative: calc(var(--padding) * -1);
--content-width: 700px;
--shadow-vertical: 0 1px 4px 0 var(--shadow-color), 0 2px 2px 0 var(--shadow-color);
--shadow-left: -1px 0 4px 0 var(--shadow-color), -2px 0 2px 0 var(--shadow-color);
--settings-group-horizontal-margin: 0;
--settings-group-inner-vertical-padding: 0.85em;
--settings-group-inner-horizontal-padding: 1.5em;
--settings-group-inner-horizontal-padding-half: calc(var(--settings-group-inner-horizontal-padding) * 0.5);
--settings-group-inner-horizontal-padding-half-wrappable: var(--settings-group-inner-horizontal-padding-half);
--settings-group-inner-horizontal-padding-fourth: calc(var(--settings-group-inner-horizontal-padding) * 0.25);
--settings-group-border-radius: 0.3em;
--settings-group-right-max-height: 40px;
--settings-group-wrap: nowrap;
--show-preview-label-height: 40px;
--font-size-no-units: 14;
--font-size: calc(1px * var(--font-size-no-units));
--font-size-small: 12px;
--outline-item-height: 40px;
--outline-item-icon-size: 32px;
--input-short-width: calc(var(--input-width-large) / 2 - var(--padding) / 2);
--input-short-height: 24px;
--input-medium-width: calc(var(--input-width-large) * 0.75);
--fab-button-size: 56px;
--fab-button-padding: 16px;
--modal-width: 600px;
--modal-height: 400px;
--modal-width-small: 400px;
--modal-height-small: 200px;
--modal-width-medium: 600px;
--modal-height-medium: 400px;
--modal-transition-offset: -64px;
--badge-size: 16px;
--link-color: var(--accent-color);
--link-color-hover: var(--accent-color-dark);
--separator-color1: #cccccc;
--separator-color2: #eeeeee;
--outline-item-background-color: rgba(13, 13, 13, 0);
--outline-item-background-color-hover: rgba(13, 13, 13, 0.15);
--warning-color: #96751c;
--warning-color-light: #edc75e;
--dim-background-color: rgba(0, 0, 0, 0.5);
--content-dimmer-color: rgba(0, 0, 0, 0.1);
--advanced-color: #6640be;
--advanced-color-lighter: hsl(258, 50%, 75%);
--advanced-color-transparent25: rgba(102, 64, 190, 0.5);
--modal-padding-horizontal: 1em;
--modal-padding-vertical: 0.625em;
--modal-padding-vertical-half: calc(var(--modal-padding-vertical) * 0.5);
--modal-button-spacing: 0.625em;
}
:root:not([data-loaded=true]) {
--animation-duration: 0s;
}
:root[data-theme=dark] {
--separator-color1: #333333;
--separator-color2: #222222;
}
/* Modal */
.modal {
position: fixed;
left: 0;
top: 0;
bottom: 0;
right: 0;
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: center;
overscroll-behavior: contain;
background-color: var(--dim-background-color);
outline: none;
z-index: 10000;
opacity: 1;
visibility: visible;
transition:
opacity var(--animation-duration2) ease-out,
visibility 0s linear;
}
.modal[hidden] {
opacity: 0;
visibility: hidden;
transition:
opacity var(--animation-duration2) ease-in,
visibility 0s linear var(--animation-duration2);
}
.modal[hidden]:not(.hidden-animating) {
display: none;
}
.modal-content {
max-width: 100%;
max-height: 100%;
width: var(--modal-width);
height: var(--modal-height);
background-color: var(--background-color-light);
flex: 0 1 auto;
border-radius: 0.5em;
transform: translate(0, 0);
transition:
transform var(--animation-duration2) ease-out,
width var(--animation-duration2) ease-in-out,
height var(--animation-duration2) ease-in-out,
border-radius var(--animation-duration2) ease-in-out;
box-shadow: var(--shadow-vertical);
display: flex;
flex-flow: column nowrap;
overflow: hidden;
}
.modal[hidden] .modal-content {
pointer-events: none;
}
.modal-content.modal-content-small {
width: var(--modal-width-small);
min-height: var(--modal-height-small);
height: auto;
max-height: 100%;
}
.modal-content.modal-content-medium {
width: var(--modal-width-medium);
min-height: var(--modal-height-medium);
height: auto;
max-height: 100%;
}
.modal-content.modal-content-full {
width: var(--content-width);
height: 100%;
transform: translate(0, 0);
border-radius: 0;
}
.modal[hidden] .modal-content {
transform: translate(0, var(--modal-transition-offset));
transition:
transform 0s linear var(--animation-duration2),
width var(--animation-duration2) ease-in-out,
height var(--animation-duration2) ease-in-out,
border-radius var(--animation-duration2) ease-in-out;
}
.modal-header {
flex: 0 0 auto;
padding: var(--modal-padding-vertical) var(--modal-padding-horizontal) var(--modal-padding-vertical-half);
display: flex;
width: 100%;
align-items: center;
box-sizing: border-box;
}
.modal-title {
font-size: 1.125em;
flex: 1 1 auto;
}
.modal-footer {
flex: 0 0 auto;
padding: var(--modal-padding-vertical-half) var(--modal-padding-horizontal) var(--modal-padding-vertical);
margin-right: calc(var(--modal-button-spacing) * -1);
margin-top: calc(var(--modal-button-spacing) * -1);
display: flex;
flex-flow: row wrap;
align-items: flex-end;
justify-items: flex-end;
justify-content: flex-end;
}
.modal-footer>* {
margin-right: var(--modal-button-spacing);
margin-top: var(--modal-button-spacing);
}
.modal-body {
flex: 1 1 auto;
overflow: auto;
padding: var(--modal-padding-vertical-half) var(--modal-padding-horizontal);
}
.modal-body-addon {
flex: 0 0 auto;
padding: var(--modal-padding-vertical-half) var(--modal-padding-horizontal);
}
.modal-body>.settings-item,
.modal-settings-group>.settings-item {
margin-left: calc(var(--modal-padding-horizontal) * -1);
}
.modal-body .settings-item {
margin-right: calc(var(--modal-padding-horizontal) * -1);
}
.modal-body .settings-item+.settings-item {
border-top: none;
}
.modal-body .settings-item-left {
padding-left: var(--modal-padding-horizontal);
padding-top: var(--settings-group-inner-horizontal-padding-fourth);
padding-bottom: var(--settings-group-inner-horizontal-padding-fourth);
}
.modal-body .settings-item-right {
padding-right: var(--modal-padding-horizontal);
padding-top: var(--settings-group-inner-horizontal-padding-fourth);
padding-bottom: var(--settings-group-inner-horizontal-padding-fourth);
}
.modal-body .settings-item-children {
padding-left: var(--modal-padding-horizontal);
padding-right: var(--modal-padding-horizontal);
padding-bottom: var(--settings-group-inner-horizontal-padding-fourth);
}
.modal.modal-left {
display: flex;
flex-flow: row nowrap;
width: 100%;
height: 100%;
background-color: transparent;
pointer-events: none;
}
.modal-content-container {
pointer-events: none;
width: 100%;
height: 100%;
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: center;
}
.modal-content-container>.modal-content,
.modal-content-container>.modal-content-dimmer {
pointer-events: auto;
}
.modal-content-container>.modal-content-dimmer {
background: var(--custom-css-modal-background);
width: var(--custom-css-dim-size);
height: 100%;
margin-right: calc(100% - var(--custom-css-dim-size));
position: absolute;
}
.modal-header-button-container {
margin-top: calc(-1 * var(--modal-padding-vertical-half));
margin-bottom: calc(-1 * var(--modal-padding-vertical-half));
}
.modal-header-button-group {
display: block;
position: relative;
width: var(--icon-button-size);
height: var(--icon-button-size);
}
.modal-header-button {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
button.icon-button.modal-header-button {
--button-content-color: var(--button-default-icon-color-light);
--button-hover-content-color: var(--button-default-icon-color);
--button-active-content-color: var(--button-default-icon-color);
}
button.icon-button.modal-header-button>.icon-button-inner>.icon {
transition: background-color var(--animation-duration) ease-in-out;
}
.modal-header-button[data-modal-action=expand],
.modal-header-button[data-modal-action=collapse] {
visibility: visible;
opacity: 1;
z-index: 1;
transition:
opacity var(--animation-duration2) ease-in-out 0s,
visibility 0s ease-in-out 0s;
}
.modal-content.modal-content-full .modal-header-button[data-modal-action=expand],
.modal-content:not(.modal-content-full) .modal-header-button[data-modal-action=collapse] {
visibility: hidden;
opacity: 0;
pointer-events: none;
z-index: 0;
transition:
opacity var(--animation-duration2) ease-in-out 0s,
visibility 0s ease-in-out var(--animation-duration2);
}
.modal-separator-line {
border-top: var(--thin-border-size) solid var(--separator-color1);
margin: 0 calc(var(--modal-padding-horizontal) * -1);
}
.modal-separator-line-light {
border-top: var(--thin-border-size) solid var(--separator-color2);
margin: 0 calc(var(--modal-padding-horizontal) * -1);
}
/* Settings styles */
.settings-group {
margin: 0 var(--settings-group-horizontal-margin);
padding: 0;
box-sizing: border-box;
background-color: var(--background-color-light);
box-shadow: var(--shadow-vertical);
border-radius: var(--settings-group-border-radius);
overflow-x: hidden;
}
.settings-group.settings-group-top-margin {
margin-top: 1.0125em;
}
.settings-item {
position: relative;
}
.settings-item:not([hidden]) {
display: block;
}
.settings-item-outer {
display: block;
width: 100%;
}
.settings-item-inner {
display: flex;
flex-flow: row nowrap;
justify-content: flex-end;
align-content: stretch;
width: 100%;
}
.settings-item-inner.settings-item-inner-wrappable {
flex-wrap: var(--settings-group-wrap);
}
.settings-item-left {
padding: var(--settings-group-inner-vertical-padding) var(--settings-group-inner-horizontal-padding-half) var(--settings-group-inner-vertical-padding) var(--settings-group-inner-horizontal-padding);
flex: 1 1 auto;
align-self: center;
position: relative;
}
.settings-item-left:last-child {
padding-right: var(--settings-group-inner-horizontal-padding);
}
.settings-item-right {
padding: var(--settings-group-inner-vertical-padding) var(--settings-group-inner-horizontal-padding) var(--settings-group-inner-vertical-padding) var(--settings-group-inner-horizontal-padding-half);
flex: 0 1 auto;
align-self: stretch;
max-height: var(--settings-group-right-max-height);
display: flex;
flex-flow: row nowrap;
align-items: center;
align-content: center;
justify-content: flex-end;
}
.settings-item-inner.settings-item-inner-wrappable>.settings-item-left {
padding-right: var(--settings-group-inner-horizontal-padding-half-wrappable);
}
.settings-item-inner.settings-item-inner-wrappable>.settings-item-right {
padding-left: var(--settings-group-inner-horizontal-padding-half-wrappable);
}
.settings-item-center {
padding: var(--settings-group-inner-vertical-padding) var(--settings-group-inner-horizontal-padding) var(--settings-group-inner-vertical-padding) var(--settings-group-inner-horizontal-padding);
flex: 0 1 100%;
align-self: flex-start;
text-align: center;
}
.settings-item+.settings-item {
border-top: var(--thin-border-size) solid var(--separator-color2);
}
.settings-item-description {
color: var(--text-color-light2);
}
.settings-item-right.open-panel-button-container {
padding: 0.25em 1em 0.25em 0.75em;
max-height: calc(var(--settings-group-right-max-height) + var(--settings-group-inner-vertical-padding) * 2);
}
.settings-item-children {
padding: 0em var(--settings-group-inner-horizontal-padding-half) var(--settings-group-inner-vertical-padding) var(--settings-group-inner-horizontal-padding);
margin-top: 0;
}
.settings-item-children.settings-item-children-group {
padding: 0 0 0 calc(var(--settings-group-inner-horizontal-padding) + var(--settings-group-inner-horizontal-padding));
}
.settings-item-children.settings-item-children-group .settings-item {
border-top: var(--thin-border-size) solid var(--separator-color2);
}
.settings-item-children.settings-item-children-group .settings-item-left {
padding-left: 0;
}
.settings-item-children.settings-item-children-group .settings-item-inner.settings-item-inner-wrappable>.settings-item-left:not(:last-child) {
padding-right: calc(var(--settings-group-inner-horizontal-padding-half-wrappable) * 2);
}
.settings-item-children.settings-item-children-group .settings-item-inner.settings-item-inner-wrappable>.settings-item-right {
padding-left: 0;
}
.settings-item-children.settings-item-children-group .settings-item-children {
padding-left: 0;
}
.settings-item.settings-item-button,
a.settings-item.settings-item-button {
cursor: pointer;
color: var(--text-color);
text-decoration: none;
background-color: transparent;
transition: background-color var(--animation-duration) ease-in-out;
}
.settings-item.settings-item-button>.settings-item-inner,
.settings-item.settings-item-button>.settings-item-inner>.settings-item-left,
.settings-item.settings-item-button>.settings-item-inner>.settings-item-right {
margin-top: 0;
}
.settings-item.settings-item-button:hover,
.settings-item.settings-item-button:active {
background-color: var(--background-color);
}
.settings-item.settings-item-button .icon-button>.icon-button-inner>.icon {
transition: background-color var(--animation-duration) ease-in-out;
}
.settings-item.settings-item-button:hover .icon-button>.icon-button-inner>.icon,
.settings-item.settings-item-button:active .icon-button>.icon-button-inner>.icon {
background-color: var(--accent-color);
}
.settings-item-invalid-indicator {
display: none;
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 0.5em;
background-color: var(--danger-color);
}
.settings-item[data-invalid=true] .settings-item-invalid-indicator {
display: block;
}
/* Settings item groups */
.settings-item-group {
margin-right: var(--padding-negative);
display: flex;
flex-flow: row nowrap;
align-items: center;
align-content: center;
justify-content: flex-end;
}
.settings-item-group.settings-item-group-wrap {
flex-wrap: wrap;
}
.settings-item-group-item {
flex: 0 1 auto;
padding-right: var(--padding);
}
.settings-item-group-item-label {
font-size: var(--font-size-small);
line-height: 1;
}
input[type=text].short-width,
input[type=number].short-width,
select.short-width {
width: var(--input-short-width);
}
input[type=text].medium-width,
input[type=number].medium-width,
select.medium-width {
width: var(--input-medium-width);
}
input[type=text].short-height,
input[type=number].short-height,
select.short-height {
height: var(--input-short-height);
margin-top: calc(var(--settings-group-right-max-height) - var(--input-short-height) - var(--font-size-small));
line-height: var(--line-height);
}
.settings-item-button-group-container {
max-height: none;
width: 100%;
}
.settings-item-button-group {
display: flex;
width: 100%;
flex-flow: row wrap;
max-height: none;
justify-content: flex-start;
margin-top: var(--padding-negative);
margin-right: var(--padding-negative);
}
.settings-item-button-group-item {
flex: 0 1 auto;
padding-top: var(--padding);
padding-right: var(--padding);
}
.settings-item-progress-report {
display: none;
font-weight: bold;
color: #4169e1;
}
.settings-item-error-report {
display: none;
font-weight: bold;
color: #8b0000;
}

245
vendor/yomitan/css/search.css vendored Normal file
View File

@@ -0,0 +1,245 @@
/*
* Copyright (C) 2023-2025 Yomitan Authors
* Copyright (C) 2020-2022 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 {
--search-scroll-container-horizontal-padding: 0.72em;
--query-horizontal-padding: 0;
--padding: calc(10em / var(--font-size-no-units));
--content-width-search: 700;
--content-width: calc(1em * var(--content-width-search) / var(--font-size-no-units));
--background-color: #ffffff;
--separator-color1: #cccccc;
--search-textbox-height: calc(var(--textarea-line-height) + var(--textarea-padding) * 2);
--search-textbox-min-height: calc(var(--textarea-line-height) + var(--textarea-padding) * 2);
--search-textbox-max-height: calc(var(--textarea-line-height) * 5 + var(--textarea-padding) * 2);
--cog-icon-size: 26px;
}
: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;
color: var(--text-color);
height: 100%;
overflow: hidden;
}
.search-header {
padding-left: var(--search-scroll-container-horizontal-padding);
padding-right: var(--search-scroll-container-horizontal-padding);
}
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: center;
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: var(--search-textbox-height);
min-height: var(--search-textbox-min-height);
max-height: var(--search-textbox-max-height);
resize: none;
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;
height: var(--search-textbox-height);
min-height: var(--search-textbox-min-height);
max-height: var(--search-textbox-max-height);
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:focus:not(:focus-visible):not(:hover) {
background-color: var(--input-background-color);
}
.search-button:focus-visible {
background-color: var(--input-background-color-dark);
}
.search-button:active,
.search-button:active:focus {
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-default-icon-color);
--icon-size: 16px 16px;
}
.clear-button {
flex: 0 0 auto;
position: relative;
width: 2.5em;
height: var(--search-textbox-height);
min-height: var(--search-textbox-min-height);
max-height: var(--search-textbox-max-height);
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;
}
.clear-button:hover,
.clear-button:focus {
background-color: var(--input-background-color-dark);
}
.clear-button:focus:not(:focus-visible):not(:hover) {
background-color: var(--input-background-color);
}
.clear-button:focus-visible {
background-color: var(--input-background-color-dark);
}
.clear-button:active,
.clear-button:active:focus {
background-color: var(--input-background-color-darker);
}
.clear-button>.icon {
display: block;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background-color: var(--button-default-icon-color);
--icon-size: 16px 16px;
}
/* Search options */
#search-settings-button>.icon {
display: block;
background-color: var(--button-default-icon-color);
width: var(--cog-icon-size);
height: var(--cog-icon-size);
transition: var(--animation-duration) filter ease-in-out;
}
#search-settings-button>.icon:hover,
#search-settings-button>.icon:focus {
filter: invert(0.5);
}
#search-settings-button {
margin-right: 0;
float: right;
}
.search-options-right {
flex: 1;
}
.search-options {
display: flex;
flex-flow: row wrap;
margin: 0.5em 0 0 0;
align-items: center;
}
.search-option {
flex: 0 1 auto;
margin: 0.5em 2em 0.5em 0;
align-items: center;
cursor: pointer;
}
.search-option:not([hidden]) {
display: flex;
}
.search-option-label {
padding-left: 0.5em;
}
/* Search styles */
#intro {
overflow: hidden;
}
#intro>p {
margin: 0;
}
:root[data-search-mode=action-popup] #intro,
:root[data-search-mode=action-popup] #search-option-clipboard-monitor-container {
display: none;
}
:root[data-search-mode=action-popup],
:root[data-search-mode=action-popup] body {
width: 640px;
height: 480px;
}
/* Dark mode before themes are applied
DO NOT use this for normal theming */
@media (prefers-color-scheme: dark) {
:root:not([data-loaded=true]) {
background-color: #1e1e1e;
}
}

2785
vendor/yomitan/css/settings.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,259 @@
/*
* Copyright (C) 2023-2025 Yomitan Authors
* Copyright (C) 2021-2022 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/>.
*/
/* Glossary images */
.gloss-image-container {
display: inline-block;
white-space: nowrap;
max-width: 100%;
max-height: 100vh;
position: relative;
vertical-align: top;
line-height: 0;
font-size: calc(1em / var(--font-size-no-units));
overflow: hidden;
}
.gloss-image-link[data-background=true]>.gloss-image-container {
background-color: var(--gloss-image-background-color);
}
.gloss-image-link {
cursor: inherit;
color: var(--accent-color);
display: inline-block;
position: relative;
line-height: 1;
max-width: 100%;
}
.gloss-image-link:hover {
color: var(--accent-color-dark);
cursor: pointer;
}
.gloss-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);
}
.gloss-image-link[data-has-image=true][data-image-load-state=load-error] .gloss-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;
}
.gloss-image-background {
--image: none;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: var(--text-color);
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: center center;
-webkit-mask-mode: alpha;
-webkit-mask-size: contain;
-webkit-mask-image: var(--image);
mask-repeat: no-repeat;
mask-position: center center;
mask-mode: alpha;
mask-size: contain;
mask-image: var(--image);
display: none;
}
.gloss-image {
display: inline-block;
vertical-align: top;
object-fit: contain;
border: none;
outline: none;
}
.gloss-image-link[data-has-aspect-ratio=true] .gloss-image {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.gloss-image-link[data-image-rendering=pixelated] .gloss-image,
.gloss-image-link[data-image-rendering=pixelated] .gloss-image-background {
image-rendering: auto;
image-rendering: -moz-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: pixelated;
image-rendering: crisp-edges;
}
.gloss-image-link[data-image-rendering=crisp-edges] .gloss-image,
.gloss-image-link[data-image-rendering=crisp-edges] .gloss-image-background {
image-rendering: auto;
image-rendering: -moz-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: crisp-edges;
}
:root[data-browser=firefox] .gloss-image-link[data-image-rendering=crisp-edges] .gloss-image,
:root[data-browser=firefox] .gloss-image-link[data-image-rendering=crisp-edges] .gloss-image-background,
:root[data-browser=firefox-mobile] .gloss-image-link[data-image-rendering=crisp-edges] .gloss-image,
:root[data-browser=firefox-mobile] .gloss-image-link[data-image-rendering=crisp-edges] .gloss-image-background {
image-rendering: auto;
}
.gloss-image-link[data-has-aspect-ratio=true] .gloss-image-sizer {
display: inline-block;
width: 0;
vertical-align: top;
font-size: 0;
}
.gloss-image-link-text {
display: none;
line-height: var(--line-height);
}
.gloss-image-link-text::before {
content: '[';
}
.gloss-image-link-text::after {
content: ']';
}
.gloss-image-description {
display: block;
white-space: pre-line;
}
.gloss-image-link[data-appearance=monochrome] .gloss-image {
/* Workaround for coloring monochrome gloss images due to issues with masking using a canvas without loading extra media */
/* drop-shadow with 0.01px blur is at minimum required for Firefox to render the shadow when used on a canvas */
--shadow-settings: 0 0 0.01px var(--text-color);
filter: grayscale(1) opacity(0.5) drop-shadow(var(--shadow-settings)) drop-shadow(var(--shadow-settings)) saturate(1000%) brightness(1000%);
}
.gloss-image-link[data-size-units=em] .gloss-image-container {
font-size: 1em;
}
.gloss-image-link[data-vertical-align=baseline] { vertical-align: baseline; }
.gloss-image-link[data-vertical-align=sub] { vertical-align: sub; }
.gloss-image-link[data-vertical-align=super] { vertical-align: super; }
.gloss-image-link[data-vertical-align=text-top] { vertical-align: top; }
.gloss-image-link[data-vertical-align=text-bottom] { vertical-align: bottom; }
.gloss-image-link[data-vertical-align=middle] { vertical-align: middle; }
.gloss-image-link[data-vertical-align=top] { vertical-align: top; }
.gloss-image-link[data-vertical-align=bottom] { vertical-align: bottom; }
.gloss-image-link[data-collapsed=true],
:root[data-glossary-layout-mode^=compact] .gloss-image-link[data-collapsible=true] {
vertical-align: baseline;
}
.gloss-image-link[data-collapsed=true] .gloss-image-container,
:root[data-glossary-layout-mode^=compact] .gloss-image-link[data-collapsible=true] .gloss-image-container {
display: none;
position: absolute;
left: 0;
top: 100%;
z-index: 1;
}
.entry:nth-last-of-type(1):not(:nth-of-type(1)) .gloss-image-link[data-collapsed=true] .gloss-image-container,
:root[data-glossary-layout-mode^=compact] .entry:nth-last-of-type(1):not(:nth-of-type(1)) .gloss-image-link[data-collapsible=true] .gloss-image-container,
:root[data-glossary-layout-mode^=compact] .definition-item:nth-last-of-type(1) .gloss-image-link[data-collapsible=true] .gloss-image-container {
bottom: 100%;
top: auto;
}
.gloss-image-link[data-collapsed=true]:hover .gloss-image-container,
.gloss-image-link[data-collapsed=true]:focus .gloss-image-container,
:root[data-glossary-layout-mode^=compact] .gloss-image-link[data-collapsible=true]:hover .gloss-image-container,
:root[data-glossary-layout-mode^=compact] .gloss-image-link[data-collapsible=true]:focus .gloss-image-container {
display: block;
}
.gloss-image-link[data-collapsed=true] .gloss-image-link-text,
:root[data-glossary-layout-mode^=compact] .gloss-image-link[data-collapsible=true] .gloss-image-link-text {
display: inline;
}
.gloss-image-link[data-collapsed=true]~.gloss-image-description,
:root[data-glossary-layout-mode^=compact] .gloss-image-description {
display: inline;
}
/* Links */
.gloss-link-text {
vertical-align: baseline;
}
.gloss-link-external-icon {
display: inline-block;
vertical-align: middle;
width: calc(16em / var(--font-size-no-units));
height: calc(16em / var(--font-size-no-units));
margin-left: 0.25em;
background-color: var(--link-color);
position: relative;
}
/* Structured content glossary styles */
.gloss-sc-table-container {
display: block;
}
.gloss-sc-table {
table-layout: auto;
border-collapse: collapse;
}
.gloss-sc-thead,
.gloss-sc-tfoot,
.gloss-sc-th {
font-weight: bold;
background-color: var(--background-color-dark1);
}
.gloss-sc-th,
.gloss-sc-td {
border-width: calc(1em / var(--font-size-no-units));
border-style: solid;
border-color: var(--text-color-light2);
padding: 0.25em;
vertical-align: top;
}
.gloss-sc-ol,
.gloss-sc-ul {
padding-left: var(--list-padding2);
}
:root[data-glossary-layout-mode^=compact] .gloss-sc-ul[data-sc-content=glossary] {
display: inline;
list-style: none;
padding-left: 0;
}
:root[data-glossary-layout-mode^=compact] .gloss-sc-ul[data-sc-content=glossary] .gloss-sc-li {
display: inline;
}
:root[data-glossary-layout-mode^=compact] .gloss-sc-ul[data-sc-content=glossary] .gloss-sc-li:not(:first-child)::before {
white-space: pre-wrap;
content: var(--compact-list-separator);
display: inline;
color: var(--text-color-light3);
}
.gloss-sc-details {
padding-left: var(--list-padding1);
}
.gloss-sc-summary {
list-style-position: outside;
}

View File

@@ -0,0 +1,21 @@
:root:not([data-debug=true]) .debug-only {
display: none;
}
:root:not([data-advanced=true]) .advanced-only {
display: none;
}
:root:not([data-advanced=false]) .basic-only {
display: none;
}
:root:not([data-language=ja]):not([data-language=zh]):not([data-language=yue]) .jpzhyue-only {
display: none;
}
:root:not([data-language=ja]):not([data-language=zh]):not([data-language=yue]):not([data-language=ko]) .jpzhyueko-only {
display: none;
}
:root:is([data-language=ja], [data-language=zh], [data-language=yue], [data-language=ko]) .not-jpzhyueko {
display: none;
}
:root:not([data-language=ja]) .jp-only {
display: none;
}