@font-face{
    font-family: "Tahoma";
    src: url("./Tahoma.woff");
}
@font-face{
    font-family: "XP_Tahoma";
    src: url("./windows-xp-tahoma.woff");
}

@keyframes rainbow{
    0%{color: red;}
    16%{color: orange;}
    32%{color: yellow;}
    48%{color: lime;}
    64%{color: cyan;}
    80%{color: blue;}
    90%{color: #FF00FF;}
    100%{color: red;}
}

.applets_item {
    display:flex;flex-direction:column;gap:5px;
}

*{
    font-family: "Tahoma";
}
img{
    -webkit-user-drag: none;
}
body{
    margin: 0;
    overscroll-behavior: none;
}
#banner {
    background: rgb(182,108,254);
    background: linear-gradient(0deg, rgba(182,108,254,1) 0%, rgba(140,51,226,1) 19%, rgba(122,37,193,1) 44%, rgba(113,34,175,1) 84%, rgba(140,62,201,1) 93%, rgba(188,103,255,1) 100%); 
    visibility:hidden;
    color:white;
    font-size:20px;
    font-weight: bold;
    letter-spacing: 2;
    font-style: italic;
    text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    width:100%;
    height:5%;
    position:absolute;
    left:0px;
    top:0px;
}
#bg , #bg img{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -30;
}

#top_bar, #bottom_bar, #blur, #divider, #login_card, #readme_block, #login img, #loading{
    position: absolute;
}

img{
    user-select: none;
}

#login{
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #8b5adc;
}

#top_bar, #bottom_bar{
    width: 100%;
    background-color: #37009C;
}
#top_bar{
    height: 100px;
}
#top_bar div{
    position: absolute;
    width: 100%;
    height: 3px;
    bottom:0px;
    background: linear-gradient(to right, #340399, rgba(255, 255, 255, 0.85) 25%, rgba(0,0,0,0));
}
#ad_bar{
  position: fixed;
  top: 0;
  z-index: 2;
  width: 100%;
}
#ad_bar center img{
  position: relative;
  margin-top: 18px;
}
#bottom_bar{
    bottom: 0px;
    height: 122px;
    background: linear-gradient(to right, #8934AE, #37009C);
}
#bottom_bar div{
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #340399, #D9F638 25%, rgba(0,0,0,0));
}


#blur{
    top: 100px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.7), rgba(0,0,0,0) 70%);
}
#divider{
    left: 50%;
    transform: translateX(-50%);
    top: 100px;
    height: calc(100% - 222px);
    width: 1px;
    background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(255,255,255,0.8) 20% 80%, rgba(0,0,0,0));
}

#logo_login, #logo_mobile{
    top:50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#logo_mobile{
    display: none;
}


#login_card{
    display: none;
    top:50%;
    left: 50%;
    transform: translate(20px, -50%);
}
/*An element for login card border, as curved gradient borders are impossible*/
#card_border{
    position: relative;
    width: 300px;
    padding: 1px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0% 70%, rgba(0,0,0,0));
    border-radius: 7px;
}
#card_login{
    width: 100%;
    padding: 7px 15px;
    margin: 0;
    background: linear-gradient(to right, #4A00A9 0% 30%, #8b5adc);
    border-radius: 6px;
}

#card_login input {
    width: 160px;
    box-sizing: border-box;
    border: none;
    outline: none;
    border-radius: 3px;
    padding: 4px 3px;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.4);
}
#nickname{
    height: 28px;
    font-size: 14px;
}
#room, #color{
    height: 18px;
    font-size: 12px;
    margin-top: 8px;
}
#login_button{
    position: absolute;
    top: 50%;
    left:185px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url("./img/login_button.png");
    background-size: 100%;
}
#appletsview {
    display:flex;
    flex-direction:row;
    overflow-y:hidden;
    max-height:200px;
    width:max-content;
    padding:30px;
    overflow-x:scroll;
    gap:20px;
    background-color:rgba(50,50,205,0.3);
    border-radius:3px;
}
#appletslogo {
    font-weight: bold;
    font-style: italic;
    font-size: 35px;
    letter-spacing: 2px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
    color: white;
}

#login_button:hover{
    background-position: 0px -20px;
}
#login_button:active{
    background-position: 0px -40px;
}
#login_error{
    position: absolute;
    display: none;
    background-color: white;
    border-radius: 3px;
    color: red;
    padding: 8px;
    font-size: 12px;
    margin-top: 8px;
    box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.4);
}
#loading{
    top: 50%;
    left: 50%;
    transform: translateX(20px);
    font-weight: bold;
    font-style: italic;
    font-size: 35px;
    letter-spacing: 2px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.6);
    color: white;
}

#readme_block{
    left: 50%;
    bottom: 8%;
    transform: translateX(-50%);
    background-color: white;
    padding: 9px 12px;
    border-radius: 3px;
    color: #444444;
    text-align: center;
}

#version {
    position: absolute;
    color: white;
    font-size: 16px;
    right: 16px;
    bottom: 16px;
}

/*
The login menu had complex CSS
The Main UI is much simpler
*/

#content{
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #452066;
    background-image: url(./img/desktop_logo.png), url(./img/desktop_bg.png);
    background-position: top left, center;
    background-repeat: no-repeat;
}

/*CHATBAR*/
#chatbar_cont{
    user-select: none;
    position: absolute;
    width: 100%;
    height: 32px;
    bottom: 0;
    z-index: 2;
    background-color: #442D7E;
    background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, #7050C0, rgba(0,0,0,0) 20% 100%), linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(255, 255, 255, 0.05));
}
#talkcard{
    font-size: 14px;
    padding: 3px 10px;
    bottom: 32px;
    left: 0;
    width: calc(100% - 150px);
    position: fixed;
    background-color: #ffffef;
    border: 1px solid black;
    border-bottom: none;
    border-radius: 3px 3px 0px 0px;
}
#talkcard i{
    position:absolute;
    float:right;
    top: 50%;
    right:0;
    transform: translate(-100%, -50%);
    color: grey;
}
#send_button{
    display: inline-block;
    width: 100px;
    height: 32px;
    background-image: url(./img/start.png);
}
#send_button:hover{
    background-position: 0px -33px;
}
#send_button:active{
    background-position: 0px -66px;
}
#send_button span{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 35px;
    font-size: 16px;
    font-style: italic;
    font-weight: bold;
    color: white;
    letter-spacing: 2px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.75);
}
#chatbar{
    position: absolute;
    top: 3px;
    font-size: 15px;
    width: calc(100% - 132px);
}
#tile{
    position: absolute;
    right: 0px;
    top: 0px;
    width: 27px;
    height: 30px;
    background-image: url(./img/tile.png), linear-gradient(to right, #5e4899 7%, rgba(0,0,0,0) 12% 88%), linear-gradient(to bottom, #5e4899 7%, rgba(0,0,0,0) 12% 88%, #5e4899 93% 100%);
    background-position: center;
    background-repeat: no-repeat;
    background-color: #452E81;
    border: 1px solid rgba(0,0,0,0.7);
}

/*AGENTS*/
.agent_cont{
    position: fixed;
    user-drag: none;
    user-select: none;
    z-index: 1;
}
.agent_cont div{
    position: absolute;
    bottom: 0;
}
.nametag{
    position: absolute;
    top: 0;
    border: 1px solid black;
    padding: 7px;
    background: #ffffe1;
    font-size: 12px;
    border-radius: 9px;
    z-index: 2;
    user-select: none;
    max-width: 200%;
    word-wrap: break-word;
}
.tag {
    position: absolute;
    border-style: solid;
    border-width: 4px 12px 4px 0;
    border-radius: 9px;
    border: #000000 solid 1px;
    padding: 5px 6px;
    background: #ffffe1;
    transform: translateY(-100%);
    font-size: 11px;
    font-weight: bold;
    color: black;
    display: none;
}
.bubble-text{
    display: none;
}
.bubble-right::after, .bubble-left::after{
    position: absolute;
    content: "";
    width: 22px;
    height: 14px;
    top: 12px;
}
.bubble-right::after{
    left: -22px;
    background-image: url(./img/bubble_tail_r.png);
}
.bubble-top::after, .bubble-bottom::after{
    position: absolute;
    content: "";
    width: 28px;
    height: 22px;
}
.bubble-top::after{
    background-image: url(./img/bubble_tail_t.png);
    left: 110px;
}
.bubble-bottom::after{
    background-image: url(./img/bubble_tail_b.png);
    top: -22px;
    left: 26px;
}

.bubble-left::after{
    right: -22px;
    background-image: url(./img/bubble_tail_l.png);
}
.bubble-left, .bubble-right, .bubble-top, .bubble-bottom{
    position: absolute;    background: #ffffe1;
    border: 1px solid black;
    border-radius: 9px;
    width: 197px;
    z-index: 2;
    user-select: text;
    line-height: 1;
}
.bubble-left{
    right: 90%;
    top: 40px;
}
.bubble-right{
    left: 90%;
    top: 40px;
}
.bubble-top{
    bottom: 105%;
}
.bubble-bottom{
    top: 100%;
}
span .bubble_text{
    position: relative;
    padding: 12px;
    font-size: 14px;
    word-wrap: break-word;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 175px;
    margin: 0px;
}
.quote{
    border-left: 3px solid rgba(0,0,0,0.3);
    padding: 2px 3px;
}
.usermedia{
    width: 172px;
    max-height: 172px;
    min-height: 50px;
}

#room_info {
    color: rgba(255, 255, 255, 0.5);
    font-weight: bold;
    line-height: 1.25;
    text-align: right;
    padding: 7px;
    font-size: 12px;
    position: absolute;
    bottom: 30px;
    right: 0;
}


/*ERRORS*/
#error_page{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.7);
}
.error_message{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 32px;
    background-color: #ffffe1;
    color: black;
    border: 1px solid black;
    border-radius: 9px;
    font-size: 17px;
    line-height: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: 600px;
    max-height: 100%;
}



/*CONTEXT MENU*/
.contextmenu_cont{
    margin: 0;
    position: fixed;
    list-style-type: none;
    z-index: 3;
    background-color: white;
    color: black;
    padding: 2px;
    border: 1px solid grey;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
    user-select: none;
    white-space: nowrap;
    transition: 0.5s;
}
.cmenu_item, .cmenu_disabled{
    padding: 4px 22px;
    position: relative;
    font-size: 12px;
}
.cmenu_disabled{
    color: grey;
}
.cmenu_item:hover{
    background-color: blue;
    color: white;
    cursor: pointer;
}
.cmenu_list:after{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    border-style: solid;
    width: 0;
    height: 0;
    z-index: 4;
    border-width: 3px 0 3px 3px;
    border-color: transparent transparent transparent black;
    right: 6px;
}


/*Mobile Stylesheet*/
@media screen and (max-width: 560px){
    #top_bar, #bottom_bar, #divider{
        display: none;
    }
    #blur{
        top: 0px;
    }
    #login_card, #loading{
        transform: translate(-50%, calc(-50% + 75px));
        z-index: 5;
    }
    #card_border{
        width: 223px;
        background: rgba(255,255,255,0.5);
    }
    #card_login{
        box-sizing: border-box;
        display: inline-block;
        margin-block-end: 0;
    }
    #logo_login{
        display: none;
    }
    #logo_mobile{
        display: block;
    }
    #readme_block{
        bottom: 10%;
    }
}

/*Message Logger*/
#log_cont, .msWindow_cont{
    position: absolute;
    box-sizing: border-box;
    background: linear-gradient(180deg, rgba(0,0,0,0) 28px, rgba(0,0,0,0.25) 31px, rgba(0,0,0,0) 31px), linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(0,0,0,0) 5px), linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.1) 31px), linear-gradient(180deg, rgba(0,0,0,0) 0px, rgba(255, 255, 255, 0.05) 31px, rgba(0,0,0,0) 31.2px), linear-gradient(180deg, #6d3399 0px, #6d3399 32px, rgba(0,0,0,0) 32px), linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0px, rgba(0,0,0,0) 4px), linear-gradient(0deg, rgba(255, 255, 255, 0.2) 0px, rgba(0,0,0,0) 4px), linear-gradient(270deg, rgba(255, 255, 255, 0.2) 0px, rgba(0,0,0,0) 4px), #6d3399;
    border: 1px solid #582a7a;
    padding: 0px 5px 5px 5px;
    border-top-right-radius: 6px;
    z-index: 1;
}
#log_cont{
    top: 0;
    left: 0;
    width: 350px;
    max-width: calc(100% - 200px);
    height: calc(100% - 32px);
}
.msWindow_cont{
    z-index: 20;
    border-top-left-radius: 6px;
}
.msWindow_cont p{
    user-select: none;
    max-width: 100%;
    max-height: 100%;
}

#log_title, .msWindow_title{
    margin: 6px 0px 6px 4px;
    color: white;
    font-size: 16px;
    text-shadow: 1.5px 1.5px rgba(0,0,0,0.3);
    white-space: nowrap;
}

#log_body, .msWindow_body{
    background-color: #F5F5F5;
    box-sizing: border-box;
    padding: 0px 5px 10px 5px;
    width: 100%;
    height: calc(100% - 29px);
    margin: 0;
    overflow-y: scroll;
    word-break: break-word;
}
.msWindow_body{
    padding: 10px 15px;
}
.side img{
  width: 40px;
  height: 40px;
}
.buttonbar{
  margin-top: 7px;
}
.msBtn{
  clear: left;
  font-size: 13px;
  padding: 2px 15px;
  background-color: #F5F5F5;
  border: 2px outset #F5F5F5;
  outline: 1px solid rgba(0,0,0,0.7);
  border-radius: 0px;
}
.msBtn:active{
  border-style: inset;
}
#log_body::-webkit-scrollbar, .msWindow_body::-webkit-scrollbar{
    display: none;
}
@keyframes rainbowdiv {
    from{filter:hue-rotate(0deg)}
    to{filter:hue-rotate(360deg)}
}
.rainb {
    color:red;
    animation: rainbowtxt 1s linear infinite;
}


/* ---------------------------
   WEIRD CRAZY TEXT (drop into style.css)
   Usage: add class="weird-text" to any inline/block text element
   --------------------------- */

:root{
  /* tweak these */
  --primary:#00ff37;
  --accent:#3100f5;
  --shadow:#0f172a;
  --speed:3s;
  --glitch-speed:1.8s;
  --extrude-steps:8;     /* higher = deeper 3D */
 
}


/* Usage: add class="red-glow-shake" to any inline element (span, a, etc.) or block element */

/* core class */
.red-glow-shake {
  color: #ff2b2b;                    /* base text color */
  display: inline-block;             /* allow transforms */
  font-weight: 700;
  text-shadow:
    0 0 2px #ff6b6b,
    0 0 6px #ff3b3b,
    0 0 14px rgba(255, 50, 50, 0.45),
    0 0 28px rgba(255, 0, 0, 0.20);
  animation:
    glow 1.8s ease-in-out infinite,
    shake 0.5s linear infinite;
  will-change: transform, text-shadow;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* stronger glow (optional helper) */
.red-glow-shake.strong {
  text-shadow:
    0 0 4px #ff8b8b,
    0 0 10px #ff4b4b,
    0 0 20px rgba(255, 60, 60, 0.6),
    0 0 40px rgba(255, 10, 10, 0.35);
  animation-duration: 1.6s, 0.55s; /* slightly faster */
}

/* subtle variant without shake */
.red-glow {
  color: #ff2b2b;
  display: inline-block;
  font-weight: 700;
  text-shadow:
    0 0 2px #ff6b6b,
    0 0 6px #ff3b3b,
    0 0 14px rgba(255, 50, 50, 0.45);
  animation: glow 1.8s ease-in-out infinite;
  will-change: text-shadow;
}

/* glow animation: pulse the text-shadow */
@keyframes glow {
  0% {
    text-shadow:
      0 0 2px #ff6b6b,
      0 0 6px #ff3b3b,
      0 0 14px rgba(255, 50, 50, 0.45),
      0 0 28px rgba(255, 0, 0, 0.20);
    transform: translateZ(0);
  }
  50% {
    text-shadow:
      0 0 6px #ff9b9b,
      0 0 14px #ff5b5b,
      0 0 28px rgba(255, 60, 60, 0.65),
      0 0 56px rgba(255, 10, 10, 0.45);
  }
  100% {
    text-shadow:
      0 0 2px #ff6b6b,
      0 0 6px #ff3b3b,
      0 0 14px rgba(255, 50, 50, 0.45),
      0 0 28px rgba(255, 0, 0, 0.20);
  }
}

/* shake animation: quick horizontal + tiny rotate jitter */
@keyframes shake {
  0%   { transform: translate(-5px, 5px) rotate(-2deg); }
  10%  { transform: translate(5px, -5px) rotate(2deg); }
  20%  { transform: translate(-5px, 5px) rotate(-2deg); }
  30%  { transform: translate(5px, -5px) rotate(2deg); }
  40%  { transform: translate(-5px, 5px) rotate(-2deg); }
  50%  { transform: translate(5px, -5px) rotate(2deg); }
  60%  { transform: translate(-5px, 5px) rotate(-2deg); }
  70%  { transform: translate(5px, -5px) rotate(2deg); }
  80%  { transform: translate(-5px, 5px) rotate(-2deg); }
  90%  { transform: translate(5px, -5px) rotate(2deg); }
  100% { transform: translate(-5px, 5px) rotate(-2deg); }
}


/* Respect users who prefer reduced motion: disable shake and reduce glow intensity */
@media (prefers-reduced-motion: reduce) {
  .red-glow-shake {
    animation: glow 2.2s ease-in-out infinite; /* keep a slow, non-jarring glow */
  }
  .red-glow-shake,
  .red-glow {
    text-shadow:
      0 0 2px #ff6b6b,
      0 0 6px #ff3b3b;
  }
}


.weird-text{
  --g1: linear-gradient(90deg, var(--primary), #ffd300 30%, var(--accent));
  position: relative;
  display: inline-block;
  font-weight: 900;
  
  letter-spacing: .02em;
  line-height: 1;
  padding: 0.1em 0.2em;

  /* animated gradient fill */
  background: var(--g1);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: bgShift var(--speed) linear infinite;

  /* neon/glow */
  text-shadow:
    0 0 6px rgba(255,255,255,0.12),
    0 0 18px color-mix(in srgb, var(--primary) 60%, transparent),
    0 6px 20px rgba(0,0,0,0.6);

  /* subtle 3D tilt */
  transform-origin: 50% 50%;
  transform: perspective(600px) rotateX(6deg) rotateY(-6deg);
}

/* layered extrude using repeated text-shadows (cheap faux 3D) */
.weird-text.extrude{
  --s: 1px;
  /* build the extrusion */
  text-shadow:
    0 calc(var(--s) * 1) 0 rgba(0,0,0,0.06),
    0 calc(var(--s) * 2) 0 rgba(0,0,0,0.08),
    0 calc(var(--s) * 3) 0 rgba(0,0,0,0.10),
    0 calc(var(--s) * 4) 0 rgba(0,0,0,0.12),
    0 calc(var(--s) * 5) 0 rgba(0,0,0,0.14),
    0 calc(var(--s) * 6) 0 rgba(0,0,0,0.16),
    0 calc(var(--s) * 7) 0 rgba(0,0,0,0.18),
    0 calc(var(--s) * 8) 24px rgba(0,0,0,0.28);
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.35));
}

/* glitch effect layers using pseudo elements */
.weird-text::before,
.weird-text::after{
  content: attr(data-text); /* duplicate content */
  position: absolute;
  left: 0; top: 0;
  width: 100%; height: 100%;
  -webkit-text-fill-color: transparent;
  background: var(--g1);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: 0.9;
}

/* color-offset slices for glitch */
.weird-text::before{
  clip-path: polygon(0 0, 100% 0, 100% 40%, 0 40%);
  transform: translate3d(-6px,-2px,0) skewX(-6deg);
  animation: glitchTop var(--glitch-speed) linear infinite;
  filter: drop-shadow(0 2px 6px rgba(255,0,100,0.18));
}
.weird-text::after{
  clip-path: polygon(0 60%, 100% 60%, 100% 100%, 0 100%);
  transform: translate3d(6px,2px,0) skewX(6deg);
  animation: glitchBottom calc(var(--glitch-speed) * 1.2) linear infinite;
  mix-blend-mode: overlay;
  filter: drop-shadow(0 -2px 6px rgba(0,200,255,0.14));
}

/* jitter + wobble animation applied to the base element */
.weird-text.wobble{
  animation: baseWobble 6s ease-in-out infinite;
}

/* small sparkle pseudo-element */
.weird-text .spark{
  position: absolute;
  right: -10%;
  top: -30%;
  width: .6em; height: .6em;
  border-radius: 50%;
  transform: rotate(25deg);
  background: radial-gradient(circle at 40% 30%, #fff 0%, rgba(255,255,255,0.8) 10%, transparent 40%);
  box-shadow: 0 0 16px rgba(255,255,255,0.8), 0 0 36px rgba(255,200,60,0.2);
  opacity: .9;
  animation: sparkle 2s infinite;
  pointer-events: none;
}

/* KEYFRAMES */
@keyframes bgShift{
  0%{ background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
  100%{ background-position: 0% 50%; }
}

@keyframes glitchTop{
  0%{ transform: translate3d(-6px,-2px,0) skewX(-6deg); opacity: .9; }
  10%{ transform: translate3d(-2px,-6px,0) skewX(-10deg); opacity: .6; }
  20%{ transform: translate3d(-12px,4px,0) skewX(-2deg); opacity: .95; }
  30%{ transform: translate3d(-3px,-1px,0) skewX(-6deg); }
  100%{ transform: translate3d(-6px,-2px,0) skewX(-6deg); opacity: .9; }
}

@keyframes glitchBottom{
  0%{ transform: translate3d(6px,2px,0) skewX(6deg); opacity: .9; }
  15%{ transform: translate3d(10px,6px,0) skewX(2deg); opacity: .8; }
  35%{ transform: translate3d(2px,-8px,0) skewX(12deg); opacity: .95; }
  100%{ transform: translate3d(6px,2px,0) skewX(6deg); opacity: .9; }
}

@keyframes baseWobble{
  0%{ transform: perspective(600px) rotateX(6deg) rotateY(-6deg) translateY(0); }
  25%{ transform: perspective(600px) rotateX(4deg) rotateY(-4deg) translateY(-2px) rotateZ(-1deg); }
  50%{ transform: perspective(600px) rotateX(2deg) rotateY(6deg) translateY(2px) rotateZ(1deg); }
  75%{ transform: perspective(600px) rotateX(6deg) rotateY(-2deg) translateY(-1px) rotateZ(-0.5deg); }
  100%{ transform: perspective(600px) rotateX(6deg) rotateY(-6deg) translateY(0); }
}

@keyframes sparkle{
  0%{ transform: scale(.8) rotate(25deg) translateY(0); opacity:.9; }
  50%{ transform: scale(1.4) rotate(6deg) translateY(6px); opacity:1; }
  100%{ transform: scale(.9) rotate(25deg) translateY(0); opacity:.9; }
}

/* optional accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .weird-text, .weird-text::before, .weird-text::after, .weird-text .spark{
    animation: none !important;
    transition: none !important;
  }
}




.singularity {

    color: black;
    text-shadow: 0px 2px 2px #f00000, 0px 0px 3px #301934, 2px 2px #663702;

}
.glowies-text {
  /* Make the custom tag behave like a block element */


  /* Set the base text color */
  color: #000;
 


  /* Apply the green glow */
  text-shadow:
    0 0 5px #0f0,
    0 0 10px #0f0,
    0 0 20px #0f0,
    0 0 40px #0f0,
    0 0 80px #0f0;
}

/* Usage: add class="flag-text" to any inline element (span, a) or block (h1, p) */
/* More legible American flag text */
.flag-text {
  /* Flag colors */
  --flag-red: #B22234;
  --flag-white: #FFFFFF;
  --flag-blue: #3C3B6E;

  /* Smooth gradient with red, white, blue */
  background: linear-gradient(
    to right,
    var(--flag-red) 0%,
    var(--flag-red) 30%,
    var(--flag-white) 30%,
    var(--flag-white) 60%,
    var(--flag-blue) 60%,
    var(--flag-blue) 100%
  );

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  font-weight: 700; /* bold for better visibility */
  display: inline-block;
  line-height: 1;
}


/* Optional: add subtle outline/fallback for very old browsers */
.flag-text.fallback-outline {
  color: var(--flag-blue);
  text-shadow:
    1px 0 var(--flag-red),
    -1px 0 var(--flag-red),
    0 1px var(--flag-white),
    0 -1px var(--flag-white);
  -webkit-text-fill-color: unset;
  background: none;
}



#log_body p{
    margin: 0;
    padding: 7px 0px 0px 0px;
}
.log_close{
    position: relative;
    border: none;
    background-image: url("./img/assets/xpbutton.webp");
    background-size: 100%;
    width: 22px;
    height: 22px;
    font-size: 19px;
    top: -2px;
    padding: 0;
    color: white;
    border-radius: 3px;
    float: right;
    margin-left: 5px;
}
.log_close:hover{
  background-position: 100%;
}
.log_close i{
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.icon {
    position:relative;
    margin-top:10px;
    gap:5px;
    color:white;
    width:80px;
    height:80px;
    display:flex;
    flex-direction:column;
    align-items: center;
    z-index:999;
    justify-content: center;
    text-shadow: 1px 1px black;
}
.icon img{
    width:45px;
    height:45px;
}

/*POLL CSS*/
#pollyes, #pollno{
    width: 100%;
    height: 40px;
    margin-bottom: 15px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    overflow: hidden;
    position: relative;
}
#innerbar_yes, #innerbar_no{
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    transition: 0.5s;
}
#pollyes{
    background-color: rgba(0, 255, 0, 0.1);
}
#pollno{
    background-color: rgba(255, 0, 0, 0.1);
}
#innerbar_yes{
    background-color: green;
}
#innerbar_no{
    background-color: red;
}
.polltx{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 20px;
  color: rgba(0,0,0,0.7);
}
