
:root{
--text: rgba(255,255,255,.92);
}

@font-face {
font-family: 'Open Sans';
src: url('fonts/OpenSans-Regular.woff2') format('woff2'),
url('fonts/OpenSans-Regular.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'Doraefont';
src: url('fonts/Doraefont.woff2') format('woff2'),
url('fonts/Doraefont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'josefin_sansbold';
src: url('fonts/josefinsansbold-ova7o-webfont.woff2') format('woff2'),
url('fonts/josefinsansbold-ova7o-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}

body{
font-family: Open Sans, Nimbus Sans L;
font-size: 0.95em;
color: ;
background: var(--bg);
background-color: var(--bg);
background-image: url("images/doraemon.jpg");
background-size: cover;
background-position: center;
background-attachment: fixed;
}
body::after{
content:"";
position: fixed;
inset: 0;
z-index: -2;
background-image: url("images/doraemon.jpg");
background-size: cover;
background-position: center;
filter: blur(10px) saturate(1.1);
transform: scale(1.05);
}

body::before{
content:"";
position: fixed;
inset: 0;
z-index: -1;
pointer-events:none;
background: rgba(11,13,18,.78);
}

/* Base button look for 2025 */
.button,
.menubutton,
.bigbutton,
.extendbutton,
.smallbutton,
.smallmenubutton,
.uploadbutton,
.translatebutton{
appearance: none;
border: 1px solid var(--border);
background: linear-gradient(180deg, var(--surface-2), var(--surface-1));
color: var(--text);
border-radius: var(--radius-sm);
box-shadow: var(--shadow-sm);
text-shadow: none;
transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

/* Sizes: stop using xx-small; use consistent rem sizing */
.smallbutton, .smallmenubutton, .uploadbutton{
font-size: 12px;
padding: 6px 10px;
}
.menubutton, .bigbutton, .extendbutton{
font-size: 14px;
padding: 8px 12px;
}

.button:hover,
.menubutton:hover,
.bigbutton:hover,
.extendbutton:hover,
.smallbutton:hover,
.smallmenubutton:hover,
.uploadbutton:hover,
.translatebutton:hover{
border-color: color-mix(in oklab, var(--accent), var(--border) 55%);
box-shadow: 0 10px 26px rgba(0,0,0,.45);
transform: translateY(-1px);
}

.button:active,
.menubutton:active,
.bigbutton:active,
.extendbutton:active{
transform: translateY(0px);
}

.button:focus-visible,
.menubutton:focus-visible,
.bigbutton:focus-visible,
.extendbutton:focus-visible,
.smallbutton:focus-visible,
.uploadbutton:focus-visible{
outline: 2px solid color-mix(in oklab, var(--accent-2), white 20%);
outline-offset: 3px;
}

table tr td {
font-family: Open Sans, Nimbus Sans L;
}

hr {
background-color: #f2f2f2;
border-color: #f2f2f2;
border-style: solid;
border-width: 1px;
}

.doraemonblue {
font-family: 'Doraefont';
font-size: xx-large;
font-weight: bold;
color: dodgerblue;
}

.doraemonwhite {
font-family: 'Doraefont';
font-size: xx-large;
font-weight: bold;
color: white;
}

.doraemonyellow {
font-family: 'Doraefont';
font-size: x-large;
font-weight: bold;
color: yellow;
vertical-align: 2px;
}

.cattitudeblue {
font-family: 'josefin_sansbold';
font-size: xx-large;
font-weight: bold;
color: dodgerblue;
}

.cattitudewhite {
font-family: 'josefin_sansbold';
font-size: xx-large;
font-weight: bold;
color: white;
}

.cattitudeyellow {
font-family: 'josefin_sansbold';
font-size: xx-large;
font-weight: bold;
color: yellow;
}

.local {
font-size: small;
color: white;
}

.hidden {
overflow: hidden;
}

.computer {
clear: both;
color: lightgrey;
font-weight: bold;
font-size: small;
font-family: "Courier New";
background: rgb(215,215,215);
background: linear-gradient(90deg, rgba(215,215,215,0.3) 0%, rgba(122,122,122,0.3) 35%, rgba(94,94,94,0.3) 100%);
padding: 5px;
margin: 0px 0px 20px 0px;

-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
user-select: none;

-webkit-box-shadow: 10px 10px 13px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 10px 10px 13px 0px rgba(0,0,0,0.75);
box-shadow: 10px 10px 13px 0px rgba(0,0,0,0.75);
}

.words {
font-size: xx-small;
}

.addterms input[type="submit"], input[type="button"] {
font-size: xx-small;
}

.ignore {
zoom: 1.2;
position: relative;
bottom: 3px;
}

.messageok {
font-weight: bold;
color: green;
}

.messageerror {
font-weight: bold;
color: ;
font-size: 20px;
}

.messageerrorred {
font-weight: bold;
color: red;
font-size: 20px;
background-color: black;
padding: 5px;
margin: auto;
text-align: center;
width: 100%;
}

.error {
font-weight: bold;
color: red;
font-size: 20px;
}

.errorsmall {
font-weight: bold;
color: red;
}

.danger {
font-weight: bold;
color: red;
overflow-wrap: anywhere;
font-size: 0.95em;
}

.exa {
font-weight: bold;
color: ;
}


.mmt {
font-weight: bold;
color: ;
}

.mem {
font-weight: bold;
/* color: dodgerblue; */
color: ;
}

.fuz {
font-weight: bold;
;
}

.ful {
font-weight: bold;
color: ;
}

.xtr {
font-weight: bold;
color: ;
}

.searching {
font-weight: bold;
color: red;
}

.saved {
font-weight: bold;
color: orange;
}

.orig {
font-weight: bold;
color: ;
}

.ok {
font-weight: bold;
color: ;
}

.highlight {
font-weight: bold;
color: ;
}

.highlightblue {
font-weight: bold;
color: dodgerblue;
}

.highlightpink {
font-weight: bold;
color: deeppink;
}

.notok {
font-weight: bold;
/* color: red; */
color: white;
}

.tablewrapper {
clear: both;
}

table.termstable tr td {
padding: 5px 16px;
font-family: Open Sans, Nimbus Sans L;
background: ;
color: ;
}

table.termstable td.termpresent {
background: ;
color: ;
font-size: small;
text-overflow: ellipsis;
}

table.termstable td.termnotpresent {
background: orangered;
color: white;
font-size: small;
text-overflow: ellipsis;
}

table.termstable td.termothernotpresent {
background: darkred;
color: white;
font-size: small;
text-overflow: ellipsis;
}

table.termstable td.termignored {
background: ;
font-size: small;
}

table.termstable td.termnotpresentpinyin {
background: orangered;
color: white;
font-size: small;
text-overflow: ellipsis;
}

table.termstable td.termothernotpresentpinyin {
background: darkred;
color: white;
font-size: small;
text-overflow: ellipsis;
}

table.termstable td.termignoredpinyin {
background: darkgreen;
font-size: small;
text-overflow: ellipsis;
}

table.termstable td.small {
font-size: x-small;
}

table.slick {
font-family: Open Sans, Nimbus Sans L;
border-collapse: collapse;
width: 100%;
text-align: left;
margin-top: 20px;
margin-left: auto;
margin-right: auto;
}

table.slick th {
background-color: rgb(51, 51, 51);
color: white;
}

table.slick th, table.slick td {
border: 1px solid black;
padding: 5px;
}

table.slick td {
color: black;
background-color: whitesmoke;
padding: 10px 5px 5px 5px;
}

table.slick td.ruby {
padding: 15px 5px 5px 5px;
}

.helpme {
border-style: solid;
border-color: white;
border-width: 1px;
display: none;
}

table.helptable {
width: 100%;
}

table.helptable tr td {
background: ;
color: ;
border: 0px;
font-size: small;
font-family: Open Sans, Nimbus Sans L;
padding: 5px;
}

table.concordancetable {
table-layout: fixed;
width: 100%;
}

table.concordancetable tr td {
background: ;
color: ;
font-size: small;
font-family: Open Sans, Nimbus Sans L;
border-spacing: 0px;
padding: 5px;

white-space: normal;        /* allow wrapping */
word-break: break-word;     /* safe fallback */
overflow-wrap: anywhere;    /* modern standard */
}

table.concordancetable td.break {
word-break: break-all;
font-size: xx-small;
}

table.maintable tr td {
background: #333;
color: white;
font-family: Open Sans, Nimbus Sans L;
border-style: none;
}

table.submenutable tr td {
background: #555;
color: #ffffff;
font-size: small;
padding: 5px;
}

table.submenutable input[type=text]:read-only {
background-color: deepskyblue;
}

table.prediction tr td {
background: #333;
color: white;
font-family: Open Sans, Nimbus Sans L;
border-style: none;
font-size: small;
}

table.help tr td {
background: #333;
color: ;
font-family: Open Sans, Nimbus Sans L;
border-style: none;
font-size: small;
}

#project {
background-color:  !important;
color: white;
padding: 5px 5px 5px 5px;
opacity: 0.9;
clear: both;
}

#header {
font-family: 'Open Sans', 'Nimbus Sans L', sans-serif;
padding: 5px 16px;
background: #333;
color: ;
display: flex;
justify-content: flex-end;
width: 100%;
box-sizing: border-box;
border-bottom: 1px solid var(--border);
backdrop-filter: blur(10px);
}

table.projecttable
{
background-color:  !important;
width: 100%;
font-size: 0.95em;
table-layout: fixed;
}

table.projecttable td
{
font-family: Open Sans, Nimbus Sans L;
border: none !important;
padding: 5px;
padding-right: 10px;
padding-left: 10px;
color: ;
}

table.projecttable td.computer {
font-weight: bold;
font-size: small;
font-family: "Courier New";
}

.wrapeng {
width: 100%;
padding: 2px 5px 2px 5px;
border-width: 1;
color: black;
background-color: ;
font-size: ;
}

.wrapjap {
width: 100%;
padding: 2px 5px 2px 5px;
border-width: 1;
background-color: white;
color: black;
font-size: ;
}

.wrapjappartiallyedited {
width: 100%;
padding: 2px 5px 2px 5px;
border-width: 1;
background-color: orange;
color: black;
font-size: ;
}

.wrapjapproofread1 {
width: 100%;
padding: 2px 5px 2px 5px;
border-width: 1;
background-color: darkolivegreen;
color: black;
font-size: ;
}

.wrapjapproofread2 {
width: 100%;
padding: 2px 5px 2px 5px;
border-width: 1;
background-color: lightgreen;
color: black;
font-size: ;
}

.wrapjapnotstarted {
width: 100%;
padding: 2px 5px 2px 5px;
border-width: 1;
background-color: white;
color: black;
display: none;
font-size: ;
}

.wrapjaprejected {
width: 100%;
padding: 2px 5px 2px 5px;
border-width: 1;
background-color: darkred;
color: black;
font-size: ;
}

table.projecttable td.border {
border-bottom: 5px solid white;
}

tr.rowe_1 td
{
background-color: ;
}

tr.rowe_2 td {
background-color: ;
}

td.col_id
{
text-align: center;
font-weight: bold;
/* color: #646 !important; */
}

table.projecttable tr.header,
table.projecttable tr.header td,
td.button
{
background-color: #3b3b40 !important;
font-weight: bold;
color: #B2B2C7 !important;
}

td.smalltext
{
font-size: small;
line-height: 2px;
}

td.autosourceterm
{
font-size: small;
}

td.pinyin
{
font-size: large;
line-height: 2px;
}

td.white {
color: white;
}

/* Style the header */
/* Add this to disable resize */
/* min-height: ; */
/* max-height: ; */

.header {
padding: 10px 16px;
background: ;
color: ;
text-overflow: ellipsis;
overflow:scroll;
height: ;
resize: vertical;
font-family: Open Sans, Nimbus Sans L;
}

.matches {
background: #dddddd;
color: #000000;
font-size: 0.95em;
padding: 5px;
margin: 2px;
}

.concordance {
color: #000000;
font-size: 0.95em;
margin: 1px;
width: 100%;
}

.bigbutton {
background-color: #3498DB;
color: white;
padding: 8px;
margin-right: 5px;
margin-bottom: 5px;
margin-top: 5px;
font-size: 16px;
border: none;
cursor: pointer;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
text-decoration: none;
line-height: 16px;
float: left;
border-radius: 8px;
vertical-align: middle;
}

#dirinfo {
padding: 0px 5px;
font-size: small;
float: right;
}

. {
padding: 5px 5px;
font-size: small;
float: left;
}

.submenu {
padding: 10px 0px 5px 0px;
font-size: small;
clear: both;
}

.ownershipmenu {
padding: 5px 5px 2px 5px;
margin-right: 5px;
margin-top: 5px;
font-size: small;
float: left;
border: 1px;
border-style: solid;
border-color: white;
min-height: 25px;
max-height: 25px;
}

.languagemenu{
float: left;
margin-top: 5px;
padding: 5px 5px 2px 5px;
min-height: 25px;
max-height: 25px;
border: 1px;
border-style: solid;
border-color: white;
}

#languagemenu li {
font-size: small;
border-right: 1px solid white;
margin-right: 2px;
margin-left: 2px;
display: inline;
}

#languagemenu li:last-child {
font-size: small;
border-right: none;
margin-right: 2px;
margin-left: 2px;
display: inline;
}

/* Page content */
.content {
padding: 16px;
}

/* The sticky class is added to the header with JS when it reaches its scroll position */
.sticky {
position: fixed;
top: 0;
width: 100%
}

/* Add some top padding to the page content to prevent sudden quick movement (as the header gets a new position at the top of the page (position:fixed and top:0) */
.sticky + .content {
padding-top: 102px;
}

del {
text-decoration: line-through;
font-size: small;
}

ins {
font-size: small;
}

h1 {
line-height: 50%;
}

.link {
float: right;
text-decoration: underline;
cursor: pointer;
}

.small {
font-size: small;
}

.blue {
color: dodgerblue;
font-weight: bolder;
border: 1px;
border-style: solid;
}

.used {
color: dimgrey;
font-weight: normal;
text-decoration: line-through double;
border: 1px;
border-style: solid;
}

.red {
color: red;
font-weight: bolder;
border: 1px;
border-style: solid;
}

.box {
border: 1px;
border-style: solid;
}

.boxgreen {
border: 1px;
border-style: solid;
border-color: color: ;
padding: 0px 2px 0px 2px;
}

.sourcehighlight {
/*
max-height: 100px;
max-width: 750px;
overflow: scroll;
*/
}

.corrected {
/*
max-height: 100px;
max-width: 750px;
overflow: scroll;
*/
}

#translation {
overflow: scroll;
}

.analysis {
color: #ffffff;
font-size: small;
text-align: right;
padding: 5px 0px 5px 5px;
}

.log {
background: #000;
color: #ffffff;
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
float: right;
min-width: 300px;
clear: both;
}

.stateparent
{
display: flex;
width: 100%;
}

.state {
background: #000;
color: lawngreen;
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
border-style: solid;
border-color: white;
border-width: 1px;
float: left;

line-height: 20px;
height: 40px;
overflow: hidden;
}

.statereference {
background: #000;
color: lawngreen;
font-size: small;
text-align: left;
padding: 5px 5px 5px 10px;
border-style: solid;
border-color: white;
border-width: 1px;
width: 100%;

line-height: 20px;
height: 60px;
box-sizing: border-box;
}

.statemain {
background: #000;
color: lawngreen;
font-size: small;
text-align: left;
padding: 5px 5px 5px 10px;
border-style: solid;
border-color: white;
border-width: 1px;
width: 100%;

line-height: 20px;
height: 40px;
overflow: hidden;
box-sizing: border-box;
}

.statesmall {
background: #000;
color: lawngreen;
font-size: small;
text-align: left;
padding: 5px 10px 5px 5px;
border-style: solid;
border-color: white;
border-width: 1px;

line-height: 20px;
height: 30px;
overflow: hidden;
box-sizing: border-box;
}

.statebright {
background: #555555;
color: lawngreen;
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
border-style: solid;
border-color: white;
border-width: 1px;

line-height: 20px;
height: 40px;
overflow: hidden;

transition: background 1s, color 1s;
-webkit-transition: background 1s, color 1s;
}

.statemain.login {
height: auto;
}

.dangererrorbox {
background: #000;
color: lawngreen;
font-size: small;
text-align: right;
padding: 5px 5px 5px 5px;
border-style: solid;
border-color: white;
border-width: 1px;
float: left;

line-height: 20px;
height: 40px;
overflow: hidden;
}

.logleft {
background: #000;
color: #ffffff;
s
text-align: left;
padding: 5px 5px 5px 5px;
float: left;
min-width: 300px;
clear: both;
}

.logmain {
background: #000;
color: #ffffff;
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
clear: both;
min-height: 100px;
}

.import {
background: #000;
color: #ffffff;
font-family: Open Sans, Nimbus Sans L;
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
min-width: 300px;
clear: both;
}

table.duplicates tr td {
border: 1px solid;
border-color: black;
color: black;
font-weight: bold;
font-size: small;
font-family: "Courier New";
}

table.termstable td.tablevideo {
background: #000;
text-align: center;
}

table.termstable td.tablelog {
font-family: Open Sans, Nimbus Sans L;
background: #000;
}

.clearboth {
clear: both;
}

.sql {
background: #000;
color: #ffffff;
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
float: left;
min-width: 300px;
clear: both;
}

.sourcesegment {
vertical-align: top;
}

.currentsegment {
vertical-align: top;
}

.targetsegment {
vertical-align: top;
}

textarea {
width: 100%;
margin: 0;
padding: 5px;
border-width: 1;
}

.textarea {
font-size: ;
}

.contenteditable {
width: 99%;
padding: 2px 5px 2px 5px;
border-width: 1;
background-color: white;
color: black;
font-size: ;
text-align: ;
}

.contenteditable_source {
width: 99%;
padding: 2px 5px 2px 5px;
border-width: 1;
color: black;
background-color:  ;
text-align: ;
}

.contenteditable_readonly {
width: 100%;
padding: 2px 5px 2px 5px;
border-width: 1;
background-color: deepskyblue;
color: black;
font-size: ;
text-align: ;
}

.tagtext {
color: ;
font-size: small;
display: block;
overflow-wrap: anywhere;
}

.context {
color: ;
font-size: small;
overflow-wrap: anywhere;
}

.feedback {
color: ;
font-size: small;
overflow-wrap: anywhere;
}

#termtranslations {
background-color: darkslategrey;
color: white;
padding: 5px;
}

#wordtotal {
background-color: lightseagreen;
color: white;
font-weight: bold;
text-align: right;
padding: 5px;
}

.smalltext pre {
white-space: pre-wrap !important; /* wrap long lines, keep existing \n */
overflow-wrap: anywhere;          /* break long tokens when needed */
word-break: break-word;           /* fallback */
margin: 0;                        /* optional: tighten spacing */
max-width: 100%;
}

.verysmalltext {
font-size: 10%;
word-wrap: break-word;
}

.menu {
line-height: 30px;
}

a:link, a:visited{ color: color-mix(in oklab, var(--accent), white 20%); }
a:hover{ color: var(--accent-2); text-decoration: underline; }
a:focus-visible{
outline: 2px solid color-mix(in oklab, var(--accent-2), white 20%);
outline-offset: 3px;
border-radius: 6px;
}

.comparison tr td {
font-size: small;
background: ;
color: ;
}

.tooltip {
display: none;

background-color: ;
color: white;
padding: 8px, 0px, 8px, 0px;
font-size: 16px;
border: solid 1px;
border-color: white;
cursor: pointer;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
text-decoration: none;
line-height: 16px;

position: absolute;
z-index: 1;
}

.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
color: #fff;
text-align: center;
text-shadow: none;
}

.bannertext {
text-align: center;
margin: 10px -3px 10px -3px;
font-weight: bold;
text-transform: uppercase;
background-color:#d04040;
color: white;
width: 100%;
padding: 0px 0px 0px 0px;
float: right;
clear: both;
}

table.downloadtable input[type="submit"], input[type="button"] {
font-size: xx-small;
vertical-align: middle;
height: 20px;
}

table.downloadtable tr, td {
color: white;
font-family: "Courier New";
border: 1px solid white;
padding: 5px;
}

table.downloadtable td.reference {
background-color: darkgrey;
}

.zoom {
transition: transform .2s; /* Animation */
width: 150px;
margin: 0 auto;
}

.zoom:hover {
transform: scale(3);
}

table.furigana tr td {
color: black;
}

table.performance {
width: 100%;
border: none;
border-spacing: 0;
border-collapse: collapse;
border-style: none;
}

table.performance tr td {
background: #333;
color: #ffffff;
font-size: small;
text-align: right;
border: 0px;
padding: 5px;
vertical-align: middle;
}

.jumpsegment {
display: flex;
align-items: center;
padding: 0;
}

#jumpsegment {
width: 100px;
padding: 5px;
margin-right: 5px;
}

#jumpbutton, #limitbutton {
padding: 5px 10px;
}

#specialsymbol {
padding: 5px;
}

#speed {
padding: 5px;
}

#wordcount {
width: 100%;
overflow: hidden; /* Hide any content that exceeds the width */
text-overflow: ellipsis; /* Show ellipsis (...) for truncated text if desired */
display: block; /* Ensure it behaves like a block element */
}

#performancemmt, #performancete, #performance, #mtl, #iterations, #sqliterations, #freememory {
margin-right: 5px;
white-space: nowrap;
}

.unselectable {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
user-select: none;
}

.consoleinfo {
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
}

.foldercontents {
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
margin: 5px 0px 5px 0px;
}

.consoleinfo, .foldercontents{
background: rgba(0,0,0,.35);
border: 1px solid rgba(34,211,238,.25);
color: rgba(34,211,238,.95);
border-radius: var(--radius-sm);
box-shadow: var(--shadow-sm);
}

.tagless {
font-weight: bold;
font-size: medium;
font-family: "Courier New";
}

.reference {
background: #333;
color: white;
font-size: small;
text-align: left;
padding: 5px 5px 5px 5px;
border-style: solid;
border-color: white;
border-width: 1px;
width: 100%;
}

#userskin {
clear: both;
font-family: 'Open Sans';
font-size: small;
border: solid 1px;
padding: 5px;
margin-top: 5px;
margin-bottom: 5px;
background-color: rgba(0, 0, 0, 0.5);
color: white;
}

.userskin input {
margin: .4rem;
}

.userskinisland {
float: left;
padding-top: 10px;
padding-bottom: 10px;
padding-right: 20px;
}

.userskinselect {
clear: both;
display: table;
}

.userskinisland label {
padding-left: 5px;
}

::-webkit-file-upload-button {
border-radius: 6px;
}

input.fieldwhite {
background-color: #fff;
}

input.fieldbright {
background-color: deepskyblue;
}

.tables-wrapper {
display: flex;
flex-wrap: nowrap; /* Disable wrap */
justify-content: space-between; /* Space the tables out */
width: 100%; /* Full width */
}

.settings {
width: 49%; /* Less than 50% to account for any padding or margins */
}

table.settings tr td {
background: #333;
color: white;
font-family: Open Sans, Nimbus Sans L;
border-style: none;
font-size: small;
}

.screenshot {
background-color: lightgrey;
}

/* Modal container */
#feedbackModal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgba(0, 0, 0, 0.8); /* Black w/ opacity */
}

/* Modal Content */
#modalContent {
background-color: #fefefe;
margin: 15% auto; /* 15% from the top and centered */
padding: 20px;
border: 1px solid #888;
width: 80%;
max-width: 500px;
background-image: url("images/doraemon.jpg");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}

/* Close Button */
#closeModal {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
cursor: pointer;
}

#closeModal:hover,
#closeModal:focus {
color: black;
text-decoration: none;
cursor: pointer;
}

.processing {
background-color: lightblue;
}

#belowLogoleft {
display: flex;
flex-direction: column;
}

.button,
.menubutton,
.bigbutton,
.extendbutton,
.smallbutton,
.smallmenubutton,
.uploadbutton,
.translatebutton,
.filterbutton,
.syncqabutton{
background:
linear-gradient(180deg,
rgba(255,255,255,.10),
rgba(255,255,255,.04));
}

/* Uniform button sizing (single-line) */
.button,
.menubutton,
.bigbutton,
.extendbutton,
.smallbutton,
.smallmenubutton,
.uploadbutton,
.translatebutton,
.filterbutton
.syncqabutton{
display: inline-flex;
align-items: center;
justify-content: center;

min-height: 36px;          /* set your standard */
padding: 0 12px;           /* horizontal padding only */
line-height: 1;            /* prevents font metrics from inflating height */

white-space: nowrap;       /* prevents wrapping */
overflow: hidden;
text-overflow: ellipsis;   /* trims long labels */
}

/* FINAL button text fix – must be last */
.button,
.menubutton,
.bigbutton,
.extendbutton,
.smallbutton,
.smallmenubutton,
.uploadbutton,
.translatebutton,
.filterbutton,
.syncqabutton{
color: var(--text) !important;
}

.button:hover,
.menubutton:hover,
.bigbutton:hover,
.extendbutton:hover,
.smallbutton:hover,
.smallmenubutton:hover,
.uploadbutton:hover,
.translatebutton:hover{
background:
linear-gradient(180deg,
rgba(255,255,255,.16),
rgba(255,255,255,.08));
}

.bodytext{
color: var(--text);
}

.image_tooltip{
display: inline-flex;
align-items: center;
justify-content: center;

min-height: 28px;
min-width: 28px;
padding: 0 8px;

/* More “button” surface */
background:
linear-gradient(180deg,
rgba(255,255,255,.14),
rgba(255,255,255,.06));
color: var(--text);

/* Stronger, visible outline + inner highlight */
box-shadow:
inset 0 1px 0 rgba(255,255,255,.10),
0 6px 18px rgba(0,0,0,.35);

font-size: 12px;
font-weight: 700;
letter-spacing: .02em;
cursor: help;

transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

.image_tooltip:hover{
background:
linear-gradient(180deg,
rgba(255,255,255,.18),
rgba(255,255,255,.08));
border-color: color-mix(in oklab, var(--accent), rgba(255,255,255,.16) 60%);
box-shadow:
inset 0 1px 0 rgba(255,255,255,.12),
0 10px 26px rgba(0,0,0,.45);
transform: translateY(-1px);
}

.image_tooltip .image_tooltiptext {
visibility: hidden;
width: 400px;
height: 100px;
color: #fff;
text-align: center;
background-color: black;

/* Position the tooltip */
position: absolute;
margin-left: -400px;
margin-top: -50px;
z-index: 1;

text-shadow: none;
}

.image_tooltip:hover .image_tooltiptext {
visibility: visible;
}

/* Neutral anchor: internal navigation only */
a[id^="filestart"],
a[id^="filestart"]:hover,
a[id^="filestart"]:focus,
a[id^="filestart"]:active,
a[id^="filestart"]:visited{
color: inherit;
text-decoration: none;
background: none;
outline: none;
}

/* Anchors used as buttons must never look like links */
a.button,
a.button:hover,
a.button:focus,
a.button:active,
a.button:visited,
a.menubutton,
a.menubutton:hover,
a.menubutton:focus,
a.menubutton:active,
a.menubutton:visited,
a.smallbutton,
a.smallbutton:hover,
a.smallbutton:focus,
a.smallbutton:active,
a.smallbutton:visited{
text-decoration: none;
color: var(--text);
}

#copytochatgpt {
background: rgba(0,0,0,0.55);
color: rgba(255,255,255,0.92);
border: 1px solid rgba(255,255,255,0.22);
border-radius: 10px;
padding: 8px 12px;
cursor: pointer;
}

#copytochatgpt:hover {
background: rgba(0,0,0,0.70);
}

.bestmatch-header{
display: flex;
align-items: center;
gap: 10px;
}

.bestmatch-left{
flex: 1 1 auto;
min-width: 0;                 /* allows ellipsis to work */
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

/* Make To AI match your button system */
#copytochatgpt{
flex: 0 0 auto;
min-height: 28px;
padding: 0 10px;
}

.smallblackbutton{
display: inline-flex;
align-items: center;
justify-content: center;

min-height: 13px;
min-width: 13px;
padding: 0 4px;

background:
linear-gradient(180deg,
rgba(255,255,255,.14),
rgba(255,255,255,.06));
color: var(--text);

border: 1px solid rgba(255,255,255,.16);
border-radius: var(--radius-sm);
box-shadow:
inset 0 1px 0 rgba(255,255,255,.10),
0 6px 18px rgba(0,0,0,.35);

font-size: 12px;
font-weight: 700;
line-height: 1;
text-decoration: none;
cursor: pointer;

transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

.smallblackbutton:hover{
background:
linear-gradient(180deg,
rgba(255,255,255,.18),
rgba(255,255,255,.08));
border-color: color-mix(in oklab, var(--accent), rgba(255,255,255,.16) 60%);
box-shadow:
inset 0 1px 0 rgba(255,255,255,.12),
0 10px 26px rgba(0,0,0,.45);
transform: translateY(-1px);
}

.smallblackbutton,
.smallblackbutton:hover,
.smallblackbutton:visited,
.smallblackbutton:active,
.smallblackbutton:focus{
text-decoration: none;
color: var(--text);
}

/* extendbutton must never look like a link */
.extendbutton,
.extendbutton:hover,
.extendbutton:focus,
.extendbutton:active,
.extendbutton:visited{
text-decoration: none;
color: var(--text);
}