/*
    Author:         Andreas Koch
    Date:           2023/10/24
    Updated:        2025/10/29
    License:        All rights reserved.
    Description:    
*/

@font-face {
    font-family: 'Krungthep';
    src: url('../font/Krungthep.ttf');
}

:root {
    --maincolor: #000000;
    --secondcolor: #fffd00;
    --mainfont: "Referenz Grotesk",sans-serif;
    --secondfont: 'Gudea','Myriad Pro','Helvetica Neue',Helvetica,Arial,sans-serif;
    --alpha: 0.8;
}

body {
    overflow: hidden;
    background-color: #f0f0f2;
/*
    background-image: url("../img/background.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
*/
    margin: 10px;
    padding: 0;
    font-family: var(--mainfont);
}
#prescreen {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    width: 400px;
    background: rgba(255, 253, 0, 0.8) !important;
    color: var(--maincolor);
    text-align: center;
    font-family: var(--secondfont);
    font-weight: bold;
    font-size: 26px;
}
#prescreen .text {
    margin-top: 20px;
}
#prescreen .copy {
    font-size: 10px;
}
.copysmall {
    font-size: 10px;
}
#slider {
    margin-bottom: 20px;
}
#slider .choice {
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 0.5em;
    background-color: grey;
    box-shadow: 2px 3px 7px 2px grey;
    margin-left: 5px;
    margin-right: 5px;
}
#slider .choice.selected {
    background-color: var(--secondcolor);
    box-shadow: 2px 3px 7px 2px grey;
    cursor: default !important;    
}
#slider .choice.hover:hover {
    background-color: var(--secondcolor);
    box-shadow: 2px 3px 7px 2px grey;
    cursor: pointer;
}
.slide {
    margin: .5em auto;
    padding: 1em;
    background-color: #fdfdff;
    box-shadow: 2px 3px 7px 2px grey;
    border: 1px solid #cccccc;
    border-radius: 0.5em;
}
.slide div {
    margin: 10px;
}
.skip {
    margin-top: 10px;
    font-size: 10px;
}
#prescreen, #header, #footer, #content, #prompt, #message, #login, #error {
    margin: .5em auto;
    padding: 1em;
    background-color: #fdfdff;
    border-radius: 0.5em;
    border: 1px solid #cccccc;
    box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.2);
    text-align: center;
}
#footer, #content, #prompt, #message, #login, #error {
    min-width: 600px;
}
#footermenu {
    position: absolute;
    bottom: 10px;
    margin-top: 10px;
    width: 100%;
    text-align: center;
}
ul.limits li {
    text-align: left;
}
#settings {
    float: right;
}
#login {
    position: relative;
    top: 100px;
    margin: auto !important;
    width: 600px;
}
#login div {
    margin: 10px;
}
#login .title {
    font-weight: bold;
    font-size: 20px;
    color: var(--maincolor);
}
#login .title img {
    width: 100px;
}
#header {
    position: absolute;
    left: 10px;
    bottom: 150px;
    top: 10px;
    width: 200px;
    background: rgba(255, 255, 255, 0.8);
    font-family: var(--secondfont);
}
#logo {
    float: left;
    width: 100px;
    white-space: nowrap;
}
#logo img, #logo a {
    filter: drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
}
#logo, .headtitle {
    text-align: left;
    font-weight: bold;
    font-size: 20px;
}
#bar {
    float: right;
    cursor: pointer;
}
#menu {
    display: none;
    position: absolute;
    left: 10px;
    right: 10px;
    padding: 5px;
    border-radius: 0.5em;
    background-color: #ffffff;
    filter: drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
    color: var(--maincolor);
    font-family: var(--mainfont);
    font-size: 14px;
    text-align: left;
    z-index: 99;
}
#menu div {
    cursor: pointer;
}
#menu div:hover {
    opacity: 0.8;
    font-weight: bold;
}
#menu span.icon {
    display: inline-block;
    width: 40px;
    text-align: center;
    font-size: 20px;
}
#menu img.icon {
    height: 20px;
    width: 20px;
}
#menu span.text {
    display: inline-box;
    cursor: pointer;
    font-size: 20px;
}
#menu div.loggedinas {
    border-bottom: 1px solid #000000;
    text-align: center;
}
#menu div.loggedinas span.text {
    cursor: default;
    font-size: 12px;
}
#menu div.loggedinas span.text:hover {
    font-weight: normal;
}
#submenu {
    position: fixed;
    right: 30px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: .5em;
    filter: drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
    padding: 10px;
    z-index: 1;
}
#submenu span.name {
    font-size: 14px;
    background-color: transparent;
    border: 0px;
    font-weight: bold;
}
.chatlist_frame {
    padding: 5px;
    border-radius: 0.5em;
    background-color: var(--secondcolor);
    filter: drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
    color: var(--maincolor);
    font-family: var(--mainfont);
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
}
#chats {
    position: relative;
    height: calc(100% - 170px);
    margin-bottom: 10px;
    overflow-y: scroll;
    overflow-x: hidden;
}
#chats .data {
    text-align: left;
    font-size: 11px;
    font-weight: bold;
    border-bottom: 1px var(--maincolor) dashed;
    margin: 2px;
}
#chats div.title, div.options {
    display: inline-block;
}
#chats div.title:hover {
    cursor: pointer;
    opacity: 0.5;
}
#chatlist_topmenu {
    font-size: 10px;
}
#chatlist_submenu {
    position: absolute;
    bottom: 5px;
    font-size: 10px;
}
#chatlist_search {
}
#chatlist_search_button {
    font-size: 10px;
    cursor: pointer;
}
.data.currentChat {
    background-color: #ffffff;
}
div.promptoptions {
    float: right;
    margin-right: 30px;
}
div.promptoptions div {
    display: inline-block;
    margin-left: 5px;
}
div.promptoptions div span {
    cursor: pointer;
}
div.promptoptions div span:hover {
    filter: grayscale(0) !important;
}
div.rating span {
    filter: grayscale(.7);
}
div.rated1 span.ok img, img.rate:hover {
  filter: drop-shadow(0 0 0 #000000);
}
div.rated2 span.nok img {
  filter: drop-shadow(0 0 0 #000000);
}
img.rate {
    filter: invert(50%);
    height: 12px;
    width: 12px;
}
div.visibility0 span {
    opacity: 0.5 !important;
    filter: grayscale(1) !important;
}
div.visibility1 span {
    opacity: 1 !important;
    filter: grayscale(0) !important;
}
div.options {
    margin-left: 10px;
}
#chats span.name {
    display: block;
}
#chats img.download:hover, span.download:hover, span.edit:hover, span.delete:hover {
    cursor: pointer;
    opacity: 0.5;
}
#main {
    background-color: #f0f0f2;
    width: 100%;
    margin: 0px;
    padding: 0px;
    border: 0px;
    box-shadow: none;
    display: none;
}
#content {
    position: absolute;
    top: 10px;
    left: 250px;
    right: 10px;
    bottom: 150px;
    overflow-y: scroll;
    overflow-x: hidden;
    background: rgba(255, 255, 255, 0.5)
}
#message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    min-width: 300px;
    width: 300px;
    background-color: #eeeeee;
    color: var(--maincolor);
    font-weight: bold;
    z-index: 99;
}
#decisionprescreen {
    position: absolute;
    left: 80px;
    right: 60px;
    bottom: 40px;
    font-size: 40px !important;
    text-align: center !important;
}
#prompt {
    left:10px;
    right: 10px;
    min-height: 100px;
    position: fixed;
    bottom: 10px;
    z-index: 99;
    background: rgba(255, 255, 255, 0.8);
}
#query {
    position: absolute;
    left: 80px;
    right: 60px;
    bottom: 40px;
    min-height: 70px;
    background: rgba(255, 255, 255, 1);
    border-radius: .5em;

    padding: 10px;
    font-family: var(--mainfont);
}
#query_model {
    float: left;
    width: 50px;
    margin-right: 5px;
    cursor: pointer;
    font-size: 30px;
    color: var(--secondcolor);
    filter: grayscale(0);
    text-align: center;
}
#query_model div {
    width: 40px;
    filter: grayscale(1);
}
#query_model div.selected {
    font-weight: bold;
    background-color: var(--secondcolor);
    border-radius: 0.2em;
    filter: grayscale(0) drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
}
#query_model img {
    width: 40px;
    filter: grayscale(1);
}

#query_model div.selected img {
    font-weight: bold;
    background-color: var(--secondcolor);
    border-radius: 0.2em;
    filter: grayscale(0) drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
}
#query_send_button {
    float: right;
    width: 30px;
    margin-left: 5px;
    cursor: pointer;
    font-size: 30px;
    color: var(--maincolor);
}
#query_send_button:hover {
    opacity: 0.5;
}
div.user {
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
    text-align: left;
    background: #dbd9db;
    filter: drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
    padding: 10px;
    margin-bottom: 10px;
}
div.assistant {
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
    text-align: left;
    background: rgba(241, 238, 237, 0.8);
    filter: drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
    padding: 10px;
    margin-bottom: 10px;
}
div.load {
    text-align: center;
}
div.user div.pic, div.text {
    display: inline-block;
}
div.user div.pic {
    width: 20px;
    background-image: url('../img/user.png');
    background-repeat: no-repeat;
    vertical-align: top;
    margin-top: 16px;
    z-index: 99;
}
div.assistant div.text {
    display: inline-block;
}
div.assistant div.pic {
    display: none;
}
#lastmessage {
    display: inline-block;
}
@keyframes cursor-blink {
    0% { opacity: 0; }
}
.blink::after {
    content: "";
    margin-left: 10px;
    width: 8px;
    height: 16px;
    background: red;
    display: inline-block;
    animation: cursor-blink 0.5s steps(2) infinite;
}
.running {
    text-align: center;
    cursor: pointer;    
}
div.nodata {
    cursor: default !important;
}
a {
    color: var(--maincolor);
    text-decoration: none;
}
a:hover {
    opacity: 0.5;
}
a.enter {
    color: var(--maincolor);
}
#helptext {
    text-align: center;
    color: var(--maincolor);
    font-size: 16px;
    font-weight: bold;
}
#header a {
    color: var(--maincolor);
}
#header img {
    width: 40px;
    height: 40px;
}
img.logout {
    width: 250px;
    filter: drop-shadow(0 0 4px rgb(0 0 0 / 0.6));
}
.highlight {
    margin: 10px;
    color: var(--maincolor);
}
#cancel {
    color: var(--maincolor);
    cursor: pointer;
}
#cancel:hover {
    opacity: 0.5;
}
.title {
    font-weight: bold;
}
.download {
    cursor: pointer;
}
.question {
    cursor: pointer;
}
.link {
    cursor: pointer;
}
.link:hover {
    opacity: 0.5;
}
.setting {
    width: auto;
    padding: 10px;
    margin-bottom: 20px;
    box-shadow: 2px 3px 7px 2px grey;
    border: 1px solid #cccccc;
    border-radius: 0.5em;
}
.setting .title {
    font-weight: bold;
    margin-bottom: 20px;
}
.setting div {
   margin: 10px;
}
.small {
    font-size: 10px;
}
.error {
    color: red;
}
.error input {
    color: red;
    border: 1px solid #ff0000;
}
div.activity {
    width: auto;
    padding: 10px;
    margin-bottom: 20px;
    box-shadow: 2px 3px 7px 2px grey;
    border: 1px solid #cccccc;
    border-radius: 0.5em;
}

form.import  {
    background-color: #f0f0f2;
    padding: 10px;
}
form.import input {
   font-family: var(--mainfont);
}
.textblock {
    text-align: left;
}
.textblock div {
    margin: 10px;
}
