/* ==UserStyle==
@name Google Translate: dark theme
@version 1.0.0
@description Dark theme for google translate.
@author Omar Hussein <omarelwy@hotmail.com>
@license WTFPL
@preprocessor scss
@namespace https://greasyfork.org/users/772322
@downloadURL none
==/UserStyle== */
 
@-moz-document url-prefix("https://translate.google.com/*") {
:root {
  --clr-primary: #1a73e8;
  --clr-black: #000000;
  --clr-black-900: #171717;
  --clr-black-800: #202124;
  --clr-black-700: #303237;
  --clr-border: #5f6368;
  --clr-text: #ffffff;
  --clr-text-fade: #cccccc;
  --clr-text-hover-bg: #3f49f2;
  --clr-success: #2e4434;
  --clr-error: #3e2f2d;
  
  
  --clr-primary-rgb: 26, 115, 232;
  --clr-black-900-rgb: 23, 23, 23;
  --clr-black-rgb: 0, 0, 0;
  --clr-border-rgb: 95, 99, 104;
  --clr-success-rgb: 46, 68, 52;
  --clr-error-rgb: 62, 47, 45;
}

// =============== Base =============== //
header, .RvYhPd.Q5Onnd {
  color: var(--clr-text);
  background: var(--clr-black-800);
}

c-wiz.zQTmif.SSPGKf.RvYhPd.BIdYQ.aL9XFd, // body
header, // header
.gb_Dc // Side navbar
{
  background: var(--clr-black-800) !important;
  color: var(--clr-text-fade);
}

// =============== Upper part =============== //
// Navbar
.gb_Td {
  border-bottom: 1px solid rgba(var(--clr-border-rgb), 0.2);
}

// Nav buttons
nav.U0xwnf {
  .Rj2Mlf:not(:disabled) {
    border-color: var(--clr-border);
  }
}

// Upper dark section
.RvYhPd::before {
  background: var(--clr-black-900);
  border-bottom-color: rgba(var(--clr-border-rgb), 0.3);
}


// =============== Translating section =============== //
.OlSOob {
  * { color: var(--clr-text-fade) }
  // Background of translation box
  .ccvoYb {
    background: var(--clr-black-800);
  }
  
  // Fadding thing
  .X4DQ0::after {
    background: linear-gradient(to right,
      rgba(var(--clr-black-900-rgb), 0),
      rgba(var(--clr-black-900-rgb),1))
  }
  
  // Translate-to section
  .OlSOob .P6w8m:not(.Jj6Lae) { background: var(--clr-primary) !important; }
  .J0lOec * { color: var(--clr-text); }

  // On text hover "translate-to"
  .JLqJ4b.C1N51c,
  .JLqJ4b:hover,
  .Xcmxjb.FwR7Pc // On text hover "translate-from"
  {
    background: var(--clr-text-hover-bg);
    border-radius: 3px;
    margin: 0 -3px;
    padding: 0 3px;
  }

  // bottom border for the header
  .aCQag { border-bottom-color: var(--clr-border); }
  
  // Language buttons
  // Not selected
  .VfPpkd-AznF2e-OWXEXe-jJNx8e-QBLLGd {
    &:hover {
      background: var(--clr-black-700);
      .VfPpkd-jY41G-V67aGc {
        color: var(--clr-text-fade);  
      }
      
    }
  }

  // Selected
  .yUUmWd.VfPpkd-AznF2e-OWXEXe-auswjd .VfPpkd-jY41G-V67aGc {
    color: var(--clr-primary);
  }
  
  // Suggesting alternatives
  .DNFg3e {
    background: var(--clr-black-700);
    
    // Options
    .oJweqc {
      border-color: var(--clr-border);
      // Current and hover
      &.KKjvXb { background: var(--clr-black-900); }
      &:not(.KKjvXb):hover { background: var(--clr-black-800); }
    }
  }
  
  // Textarea
  textarea {
    color: var(--clr-text);
  }
  
  // Selecting a language
  c-wiz.bvzp8c {
    background: var(--clr-black-800);
    // Searchbox
    .RstnCb.sG5QRb,
    .KskmCc,
    .RstnCb.nsAj8c
    { background: var(--clr-black-800); }
    // Selected and hover
    .ordo2 {
      &.KKjvXb, &:hover {
        background: var(--clr-black-700);
      }
    }  
  }
  
  // Editing a translation
  .dePhmb {
    // Textarea
    textarea.KHxj8b.tL9Q4c { color: var(--clr-text); }
    // Bottom section
    .jCVEDd { background: rgba(var(--clr-black-rgb), 0.3);}
    
    // Buttons
    .LjDxcd {
      .vvvv, .VfPpkd-vQzf8d { color: var(--clr-primary); }
      &:disabled {
        .VfPpkd-vQzf8d { color: rgba(var(--clr-black-700-rgb), 0.38); }
      } 
    } 
  }
  
  // Gender specific translatinos
  .HVGOKe .G2nOM { color: var(--clr-text); } // Learn more button
  .eyKpYb:not(:last-of-type)::after { border-color: var(--clr-border); } // Translation splitter
}

// Translate section on small screen
@media screen and (min-width: 720px) {
  .OlSOob .P6w8m:not(.Jj6Lae) {
    background: var(--clr-black-900) !important;
  }
}

@media screen and (max-width: 719px) {
  // Edit Buttons
  .OlSOob .dePhmb .LjDxcd {
    .vvvv, .VfPpkd-vQzf8d {
      color: var(--clr-text);
    }
  } 
}

// Share popup
.MmZJl {
  background: var(--clr-black-800);
  .Xc9mqd { border-color: var(--clr-border); }
  * { color: var(--clr-text-fade); }
}

// Verified popup
.BAZ5oe {
  background: var(--clr-black-800) !important;
  .fcuAz {
    color: var(--clr-text);
  }
  .brilXb {
    color: var(--clr-text-fade);
  }
}

// =============== Ttranslating Sugesstions =============== //
// Definitions
.I87fLc.XzOhkf {
  border-color: var(--clr-border);
  background: var(--clr-black-800);

  // Word type
  .eIKIse {
    color: var(--clr-primary);
  }

  // Other meanings on hober
  .kgnlhe.FwR7Pc,
  .MtFg0.FwR7Pc {
    color: var(--clr-text);
    background: var(--clr-black-700);
  }

  // Labels
  .PG9puc {
    padding: 2px 6px;
    background: var(--clr-black-700);
  }
}

// Definitions from selecting word
.jTj8gd.XzOhkf {
  border-color: var(--clr-border);
  // Tables's head and body
  .SMqeCb, .a2Icud { background: var(--clr-black-800) !important; }
  // Borders
  * { border-color: var(--clr-border) !important; }
}

// Suggestions
.KjuTac {
  background: var(--clr-black-800);
  .Bcbxbe {
    border-color: var(--clr-border);
    &.FwR7Pc {
      background: var(--clr-black-700);
    }
  }
}


// =============== Bottom Bottons =============== //
// Bottom buttons
nav.VlPnLc {
  .ySES5 {
    background: var(--clr-800);
    border-color: var(--clr-border);
    .TYVfy {
      color: var(--clr-text-fade);
    }
  }
  .TcXXXb { color: var(--clr-text-fade); }
  // Active buttons
  .myVd4c .ySES5 { background: rgba(var(--clr-primary-rgb), 0.5); border-color: rgba(var(--clr-primary-rgb), 0.5); }
  .myVd4c .TcXXXb { color: var(--clr-primary); }
}

// History, saved and contribute
.GKdr2 {
  background: var(--clr-black-800);

  h1,
  .v9p7kc,
  .EYBmYc,
  .VfPpkd-xl07Ob-XxIAqe ul li,
  .kgJkHd,
  .vxsGZ,
  .HswdMd,
  .mTQVx,
  .EXtLjf,
  .UHM95,
  .T6JUYe,
  .VfPpkd-StrnGf-rymPhb-fpDzbe-fmcmS,
  .VfPpkd-StrnGf-rymPhb-f7MjDc,
  .aWlm2e,
  .JVGQzb,
  .MYwhef,
  .F3tjNb,
  .gsSTTd,
  .umu7kd,
  .cfWmIb:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-fmcmS-wGMbrd {
    color: var(--clr-text);
  }
  .VfPpkd-Bz112c-LgbsSe,
  .uqiNJb,
  .j27i7,
  .HYAIUe,
  .nIvUSc,
  .eHilac,
  .pt8wXd,
  .oWkzh,
  .zRANPd,
  .zRANPd:focus,
  .zRANPd:hover,
  .LjDxcd.VfPpkd-ksKsZd-mWPk3d-OWXEXe-AHe6Kc-XpnDCe:not(:disabled),
  .kwsPce:not(:disabled):not(:disabled),
  .CJYaL,
  .qO3kpb,
  .VfPpkd-StrnGf-rymPhb-L8ivfd-fmcmS
  .irVajb,
  .V20pS,
  .Xxlgbc,
  .uZVCx,
  .Z0FhJc:not(:disabled):not(:disabled), .Z0FhJc:focus:not(:disabled):not(:disabled),
  .hPhjlc,
  .ZQPPDf,
  .OM0oI,
  .EUSJcc {
    color: var(--clr-text-fade);
  }
  .kiSRoe {
    background: var(--clr-black-900);
  }
  .AzKM4,
  .DLAnyc,
  .NBY4Kb,
  .j27i7,
  .VfPpkd-xl07Ob-XxIAqe,
  .IQu6Fd,
  .LpQB8e,
  .NdeSHd {
    background: var(--clr-black-800);
  }

  .VfPpkd-xl07Ob-XxIAqe li:hover,
  .kwsPce:not(:disabled):not(:disabled):hover,
  .VfPpkd-WsjYwc,
  .Q2P1Eb:hover,
  .kwsPce:focus:not(:disabled),
  .Z0FhJc:hover:not(:disabled), .Z0FhJc:focus:not(:disabled),
  .dwsGO {
    background: var(--clr-black-700);
  }
  .DLAnyc,
  .AzKM4,
  .NBY4Kb,
  .j27i7,
  .B3AePc,
  .v2OCrb,
  .v2OCrb.Fc1vAd,
  .IQu6Fd,
  .tvua2,
  .VfPpkd-Jh9lGc,
  .B7iGUd,
  .VfPpkd-WsjYwc,
  .LpQB8e,
  .VfPpkd-StrnGf-rymPhb-clz4Ic,
  .LMocwf,
  .W8JDZc,
  .A1HM7c {
    border-color: var(--clr-border);
  }
  .v2OCrb.Fc1vAd,
  .v2OCrb.Fc1vAd:hover,
  .L7ucBe:hover:not(:disabled), .L7ucBe:focus:not(:disabled) {
    
    background: rgba(var(--clr-primary-rgb), 0.2);
  }
  .L7ucBe:hover:not(:disabled) .VfPpkd-Jh9lGc,
  .L7ucBe:focus:not(:disabled) .VfPpkd-Jh9lGc {
    border-color: var(--clr-primary);
  }
  .v9p7kc {
    color: var(--clr-primary);  
  }
  .NdeSHd {
    box-shadow: 0 -1px 3px rgba(var(--clr-black-900-rgb), 0.8);
  }
  
  // Validating buttons
  .OONSBe:hover:not(:disabled),
  .OONSBe:focus:not(:disabled),
  .A7BoT:hover:not(:disabled),
  .A7BoT:focus:not(:disabled) {
    background-color: rgba(var(--clr-error-rgb), 0.5);
  }
  .V1QTub:hover:not(:disabled),
  .V1QTub:focus:not(:disabled),
  .C4h6id:hover:not(:disabled),
  .C4h6id:focus:not(:disabled) {
    background-color: rgba(var(--clr-success-rgb), 0.1);
  }

  // Searchbox on languages you know
  .cfWmIb {
    input.VfPpkd-fmcmS-wGMbrd { color: var(--clr-text); }
    // Border
    &.VfPpkd-fmcmS-yrriRe-OWXEXe-XpnDCe:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-NSFCdd-Brv4Fb,
    &.VfPpkd-fmcmS-yrriRe-OWXEXe-XpnDCe:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-NSFCdd-Ra9xwd,
    &.VfPpkd-fmcmS-yrriRe-OWXEXe-XpnDCe:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-NSFCdd-MpmGFe {
      border-color: var(--clr-primary);
    }
    // Label
    &:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-NLUYnc-V67aGc {
      color: var(--clr-text-fade);
    }
    // On hober
    // label
    &:hover:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-NLUYnc-V67aGc {
      color: var(--clr-text);
    }
    &:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me):not(.VfPpkd-fmcmS-yrriRe-OWXEXe-XpnDCe):hover .VfPpkd-NSFCdd-i5vt6e .VfPpkd-NSFCdd-Brv4Fb,
    &:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me):not(.VfPpkd-fmcmS-yrriRe-OWXEXe-XpnDCe):hover .VfPpkd-NSFCdd-i5vt6e .VfPpkd-NSFCdd-Ra9xwd,
    &:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me):not(.VfPpkd-fmcmS-yrriRe-OWXEXe-XpnDCe):hover .VfPpkd-NSFCdd-i5vt6e .VfPpkd-NSFCdd-MpmGFe {
      border-color: var(--clr-text);
    }

    // On focus
    &.VfPpkd-fmcmS-yrriRe-OWXEXe-XpnDCe:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-NLUYnc-V67aGc {
      color: var(--clr-primary);
    }
  }
}

// Confirming deleting all saved
.cC1eCc .VfPpkd-P5QLlc {
  background: var(--clr-black-800);
  .fp93dc { color: var(--clr-text); }
  .PWcpvc { color: var(--clr-text-fade); }
}

// =============== Menus =============== //
// Account menue
.gb_1a.gb_l {
  background: var(--clr-black-800);
  // Scroll bar
  &::-webkit-scrollbar-thumb {
    background: var(--clr-black-700);
    background-clip: padding-box;
    border: 4px solid transparent;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  
  // Camera icon
  .gb_jb {
    background: var(--clr-black-900);
    .gb_kb {
      &:hover,
      &:focus,
      &:hover:focus {
        background: var(--clr-black-800);  
      }
    }
  }
  
  // Manage accounts button
  .gb_sb.gb_sb {
    background: var(--clr-black-800);
    border-color: var(--clr-border);
    color: var(--clr-text-fade);
  }
  
  // border after manage accounts button
  .gb_Jb {
    border-color: rgba(var(--clr-border-rgb), 0.5);
  }

  // Account buttons
  .gb_Mb {
    // Username
    .gb_1b { color: var(--clr-text); }
    // Email
    .gb_3b { color: var(--clr-text-fade); }
    // Sign in and remove buttons
    .gb_Tb.gb_Vb {
      color: var(--clr-text-fade);
      background: var(--clr-black-700);
      border-color: var(--clr-border);
    }
    .gb_Tb.gb_Ub {
      background: var(--clr-primary);
    }
    
    &:hover,
    &:focus,
    &:hover:focus {
      background: var(--clr-black-700);
    }
  }
  // Add other account
  .gb_wb.gb_Pf {
    color: var(--clr-text-fade);
    background: var(--clr-black-900);
  }
  .gb_Qf.gb_Cb {
    color: var(--clr-text-fade);
    border-color: rgba(var(--clr-border-rgb), 0.5);
    // Sign out button
    .gb_Db {
      color: var(--clr-text-fade);
      background: var(--clr-black-800);
      border-color: var(--clr-border);
      &:hover {
        background: var(--clr-black-700);
      }
    }
  }
  // Policy buttons
  .gb_ub:hover {
    background: var(--clr-black-900);
  }
}


// Remove other apps menu
.gb_Oc { display: none; }
 
}