/* additional classes for Window */
.window_panel_caption {
    background-color: hsl(120, 100%, 97%);
}
.window_panel_combination {
    background-color: hsl(240, 100%, 97%);
}
.window_panel_typist-chat {
    background-color: hsl(60, 100%, 97%);
}
.window_panel_rotation-timer {
    background-color: hsl(20, 100%, 95%);
}
.window_panel_function-key {
    background-color: hsl(300, 100%, 95%);
}
.window_panel_correction {
    background-color: hsl(220, 100%, 95%);
}
.window_panel_draft {
    background-color: hsl(320, 100%, 95%);
}
.window_panel_draft-monitor {
    background-color: hsl(180, 100%, 95%);
}
.window_panel_note {
    background-color: hsl(80, 100%, 95%);
}
.window_panel_comment {
    background-color: hsl(40, 100%, 95%);
}
.window_panel_speech-recognition {
    background-color: hsl(280, 100%, 95%);
}
.window_panel_speech-synthesis {
    background-color: hsl(160, 100%, 95%);
}
.window_panel_image {
    background-color: hsl(340, 100%, 95%);
}
.window_panel_youtube {
    background-color: hsl(0, 100%, 95%);
}
.window_panel_ai-control {
    background-color: hsl(260, 100%, 95%);
}
.window_panel_ai-display {
    background-color: hsl(140, 100%, 95%);
}

/* overwrite css of jquery-ui */
.ui-button {
    padding: 2px 8px;
}

.ui-dialog .ui-dialog-titlebar {
	padding: 0px 0px;
}

.ui-dialog .ui-dialog-content {
    padding: 2px 2px;
}

.ui-dialog .ui-dialog-buttonpane {
    padding: 2px 2px;
}

.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0);
    opacity: 0.1;
    z-index: -1;
    background-image:
        radial-gradient(#808080 20%, transparent 20%),
        radial-gradient(#808080 20%, transparent 20%);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
}

.my-tooltip-style {
    white-space: nowrap;
}

/* overwrite css of lightbox */
.lb-image {
    background: linear-gradient(45deg, #999 25%, transparent 25%, transparent 75%, #999 75%),
                linear-gradient(45deg, #999 25%, transparent 25%, transparent 75%, #999 75%);
    background-color: #777;
    background-size: 24px 24px;
    background-position: 0 0, 12px 12px;
}

/* gui */
.menu {
}

.client {
    border: solid 1px #c5c5c5;
}
.settings_dlg {
    padding: 4px;
}

.standard_dlg {
    padding: 4px;
}
.image-background {
    background: linear-gradient(45deg, #FFF 25%, transparent 25%, transparent 75%, #FFF 75%),
                linear-gradient(45deg, #FFF 25%, transparent 25%, transparent 75%, #FFF 75%);
    background-color: #CCC;
    background-size: 24px 24px;
    background-position: 0 0, 12px 12px;
}
.image-thumbnail {
    max-width:1em;
    max-height:1em;
    background: linear-gradient(45deg, #FFF 25%, transparent 25%, transparent 75%, #FFF 75%),
                linear-gradient(45deg, #FFF 25%, transparent 25%, transparent 75%, #FFF 75%);
    background-color: #CCC;
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
}
.image-in-caption {
    margin: 0.5em;
    float: right;
    max-height: 6em;
    max-width: 50%;
    clear: right;
    /*box-shadow: 4px 4px 4px #808080;*/
}

/* panels */
.panel_caption_caption {
    margin: 0px;
    padding: 0px;
    word-break: break-word;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.panel_caption_caption > span[sentenceid]:hover {
    /* border: solid 2px #808080; */
    /* margin: -2px; */
    background: rgba(127,127,127,0.67);
}
.panel_caption_caption a:link {
    color: #0000ee !important;
    text-shadow: -1px -1px 0px rgba(255,255,255,0.5), 0px -1px 0px rgba(255,255,255,0.5), 1px -1px 0px rgba(255,255,255,0.5),-1px  0px 0px rgba(255,255,255,0.5), 0px  0px 0px rgba(255,255,255,0.5), 1px  0px 0px rgba(255,255,255,0.5),-1px  1px 0px rgba(255,255,255,0.5), 1px  1px 0px rgba(255,255,255,0.5), 1px  1px 0px rgba(255,255,255,0.5);
}
.panel_caption_caption a:visited {
    color: #551a8b !important;
}
.panel_caption_caption a:active {
    color: #FF0000 !important;
}
/*.panel_caption_caption a img.image-background {*/
.panel_caption_caption_while_typing {
    border-top: 1px solid #808080;
    font-size: 75%;
    line-height: 1.4;
    opacity: 0.75;
    margin: 2px 2px 2px 2px;
    padding: 4px;
    word-break: break-word;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.panel_caption_terminal-symbol img {
    background-color: #808080;
    border: solid 1px #808080;
    /*margin: 0px 2px 0px 2px;*/
    margin: 0px 0px 0px 0px;
    /*padding: 0px 2px 0px 2px;*/
    padding: 0px 0px 0px 0px;
    opacity: 0.67;
}

.panel_combination_list {
    margin: 0px;
    padding: 1px;
    list-style: none;
}

.panel_correction_list {
    margin: 0px;
    padding: 1px;
    list-style: none;
}

/*
.panel_speech-recognition_log {
    margin: 0px;
    padding: 1px;
    list-style: none;
}
*/
.panel_speech-recognition_interim-result {
    border-top: 1px solid #808080;
    font-size: 75%;
    line-height: 1.4;
    opacity: 0.75;
    margin: 2px 0px 0px 0px;
    padding: 4px;
    word-break: break-word;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.panel_speech-synthesis_list-item {
    word-break: break-word;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.panel_image_list {
    margin: 0px;
    padding: 1px;
    list-style: none;
}
.panel_image_list_item_image {
/*
    object-fit: contain;
    width: 100%;
    max-height: 64px;
*/
}

.panel_ai-display_display {
    margin: 0px;
    padding: 0px;
    word-break: break-word;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* ruby */
ruby {
    height: 0px;
    margin: 0px;
    padding: 0px;
    white-space: nowrap;
}
/* https://romly.com/blog/css_ruby/ */
ruby[data-ruby]
{
	position: relative;
}
ruby[data-ruby]::before
{
	content: attr(data-ruby);
	position: absolute;
	line-height: 100%;
	text-align: center;
	left: -3em; /* default -3em */
    right: -3em; /* default -3em */
    top: initial;
    bottom: 80%; /* default 80 */
	transform-origin: bottom center;
	transform: scale(0.45);
	/* デバッグ用 */
	/*background-color: rgba(255, 0, 0, 0.2);*/
}
.panel_caption_caption[style*="writing-mode"] ruby[data-ruby]::before /* for 縦書き */
{
	content: attr(data-ruby);
	position: absolute;
	line-height: 100%;
	text-align: center;
    left: 80%;
    right: initial;
    top: -3em;
    bottom: -3em;
	transform-origin: center left;
	transform: scale(0.45);
	/* デバッグ用 */
	/*background-color: rgba(255, 0, 0, 0.2);*/
}

ruby[data-ruby-3-letter]::before {
    transform: scale(0.33, 0.45);
}
ruby[data-ruby-4-letter]::before {
    transform: scale(0.25, 0.45);
}
ruby[data-ruby-5-letter]::before {
    transform: scale(0.20, 0.45);
}
ruby[data-ruby-6-letter]::before {
    transform: scale(0.165, 0.45);
}
.panel_caption_caption[style*="writing-mode"] ruby[data-ruby-3-letter]::before {
    transform: scale(0.45, 0.33);
}
.panel_caption_caption[style*="writing-mode"] ruby[data-ruby-4-letter]::before {
    transform: scale(0.45, 0.25);
}
.panel_caption_caption[style*="writing-mode"] ruby[data-ruby-5-letter]::before {
    transform: scale(0.45, 0.20);
}
.panel_caption_caption[style*="writing-mode"] ruby[data-ruby-6-letter]::before {
    transform: scale(0.45, 0.165);
}

ruby[data-ruby] rt
{
	display: none;
}

/* animation */
.body_ready-to-start {
    animation-name: keys_ready-to-start;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
@keyframes keys_ready-to-start {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

.item_show-hide_2sec {
    animation-name: keys_show-hide_2sec;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
@keyframes keys_show-hide_2sec {
    0%   { opacity: 1; }
    100% { opacity: 0.4; }
}

.item_ellipsis-mark01 {
    animation-name: keys_ellipsis-mark;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-delay: -0s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
.item_ellipsis-mark02 {
    animation-name: keys_ellipsis-mark;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-delay: -1.33s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
.item_ellipsis-mark03 {
    animation-name: keys_ellipsis-mark;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-delay: -0.67s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
@keyframes keys_ellipsis-mark {
    0%   { opacity: 1; }
    33%  { opacity: 1; }
    100% { opacity: 0; }
}

.show_comment-icon {
    animation-name: keys_comment-icon;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 6;
    animation-direction: alternate;
    animation-fill-mode: forward;
}
@keyframes keys_comment-icon {
    0%   { opacity: 0.3; }
    100% { opacity: 0.6; }
}

.item_notice_typist-chat {
    animation-name: keys_notice_typist-chat;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 6;
    animation-direction: alternate;
    animation-fill-mode: forward;
}
@keyframes keys_notice_typist-chat {
    0%   { background: ; }
    100% { background: #8efa00; }
}

.item_notice_rotation-timer {
    animation-name: keys_notice_rotation-timer;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 6;
    animation-direction: alternate;
    animation-fill-mode: forward;
}
.item_notice_rotation-timer2 {
    animation-name: keys_notice_rotation-timer;
    animation-duration: 0.25s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 2;
    animation-direction: alternate;
    animation-fill-mode: forward;
}
.item_notice_rotation-timer3 {
    animation-name: keys_notice_rotation-timer;
    animation-duration: 0.25s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 12;
    animation-direction: alternate;
    animation-fill-mode: forward;
}
@keyframes keys_notice_rotation-timer {
    0%   { background: ; }
    100% { background: #ff9000; }
}

.item_notice_comment {
    animation-name: keys_notice_comment;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 6;
    animation-direction: alternate;
    animation-fill-mode: forward;
}
@keyframes keys_notice_comment {
    0%   { background: ; }
    100% { background: #ff9090; }
}



/*
.item_notice_rotation-timer {
    animation: keys_notice_rotation-timer 0.5s ease-in-out 0s 8 alternate;
}
@keyframes keys_notice_rotation-timer {
    0%   { background: ; }
    100% { background: #ff9300; }
}
*/

/*
.item_powerindicator_audio-receiver {
    animation: keys_powerindicator_audio-receiver 1s ease-in-out 0s 1 normal;
}
@keyframes keys_powerindicator_audio-receiver {
    0%   { background: #8efa00; }
    100%   { background: ; }
}
*/

/*
.item_powerindicator_audio-receiver {
    background: ;
    translation: background 1s 0s ease;
}
.item_powerindicator_audio_receiver:active {
    background: #8efa00;
}
*/

.show_captionline-logo {
    animation-name: keys_show_captionline-logo;
    animation-duration: 2s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
@keyframes keys_show_captionline-logo {
    0% { opacity: 0.3 }
    100% { opacity: 0.0; }
}
.hide_captionline-logo {
    animation-name: keys_hide_captionline-logo;
    animation-duration: 2s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
@keyframes keys_hide_captionline-logo {
    0% { opacity: 0.5; }
    100% { opacity: 0.0; }
}

/*
.show_captionline-logo {
    opacity: 0.75;
    transition-property: opacity;
    transition-duration: 1s;
    transition-timing-function: ease-in-out;
    transition-delay: 0s;
}
.hide_captionline-logo {
    opacity: 0.25;
    transition-property: opacity;
    transition-duration: 1s;
    transition-timing-function: ease-in-out;
    transition-delay: 0s;
}
*/

