body {
  margin: 0;
  padding: 10px 20px;
  min-height: 99%;
  width: 100%;
  font-family: cursor, courier;
  background: #211830;
  color: #22eae0;
  overflow-x: hidden;
  min-width: 320px;
}

/* Light theme overrides */
body.theme-light {
  background: #f7f7fa;
  color: #1c1c28;
}
body.theme-light .site-header {
  background: rgba(255,255,255,0.85);
  border-bottom-color: rgba(0,0,0,0.08);
}
body.theme-light .brand { color: #1c1c28; }
body.theme-light .nav-link,
body.theme-light .launch-btn,
body.theme-light .exit-btn,
body.theme-light .social-icon {
  color: #1c1c28;
  border-color: rgba(0,0,0,0.25);
}
body.theme-light .nav-link:hover,
body.theme-light .launch-btn:hover,
body.theme-light .social-icon:hover { background: rgba(0,0,0,0.06); }
body.theme-light .muted { color: #5a5a74; }

/* Blog grid/cards */
body.theme-light .blog-card { background: #ffffff; border-color: rgba(0,0,0,0.1); }
body.theme-light .blog-card p { color: #44485f; }

/* Blog post content */
body.theme-light .post a { color: #005fcc; }
body.theme-light .post pre { background: #f0f2f5; }
body.theme-light .post code { background: #f0f2f5; color: #1c1c28; }
body.theme-light ::selection { background: #1c1c28; color: #ffffff; }

/* Blog pages */
.blog-container { max-width: 1000px; margin: 32px auto; padding: 0 12px; }
.blog-container h1 { margin: 0 0 16px; }
.muted { color: #b6a9d8; }

.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.blog-card {
  background: #2a2140;
  border: 1px solid rgba(34,234,224,0.15);
  border-radius: 8px;
  padding: 10px;
  transition: transform .2s ease, border-color .2s ease;
  display: flex;
  flex-direction: column;
  height: 260px; /* uniform boxes */
  box-sizing: border-box;
}
.blog-card:hover { transform: translateY(-2px); border-color: rgba(34,234,224,0.35); }
.blog-card img { width: 100%; height: 140px; object-fit: cover; border-radius: 6px; background: #1c1430; flex: 0 0 auto; }
.blog-card h3 { margin: 10px 0 6px; font-size: 18px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; line-clamp: 1; -webkit-box-orient: vertical; }
.blog-card p { margin: 0; color: #b6a9d8; flex: 1 1 auto; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; }
/* Ensure blog card text wraps and no typing animation applies */
.blog-card h3,
.blog-card p {
  white-space: normal;
  overflow: visible;
  animation: none;
}

@media (max-width: 900px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .blog-grid { grid-template-columns: 1fr; } }

/* Blog post */
.post { max-width: 900px; margin: 32px auto; padding: 0 12px; }
.post h1, .post h2, .post h3 { margin-top: 1.2em; }
.post pre { background: #1c1430; padding: 10px; border-radius: 6px; overflow: auto; }
.post code { background: #1c1430; padding: 2px 4px; border-radius: 4px; }
.post a { text-decoration: underline; }
/* Ensure blog content wraps and is readable (override global typing styles) */
.post p,
.post li,
.post blockquote,
.post h1,
.post h2,
.post h3,
.post h4,
.post h5,
.post h6 {
  white-space: normal;
  overflow: visible;
  animation: none;
}
.post p,
.post li {
  overflow-wrap: anywhere;
  word-break: normal;
}
.post img,
.post video,
.post iframe {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 12px auto;
  border-radius: 6px;
  background: #1c1430;
}
.header-actions { display: inline-flex; gap: 8px; align-items: center; }
.exit-btn {
  display: none;
  background: transparent;
  color: #f50f65;
  border: 1px solid rgba(245, 15, 101, 0.5);
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
}
.exit-btn:hover { background: rgba(245, 15, 101, 0.08); }

/* Mode toggling */
body:not(.terminal-active) .container,
body:not(.terminal-active) #terminal,
body:not(.terminal-active) #cmd { display: none; }
body.terminal-active .landing { display: none; }
body.terminal-active .exit-btn { display: inline-flex; }
body.terminal-active #start { display: none; }
/* Landing + Header additions */
.site-header {
  position: sticky;
  top: 0;
  display: grid;
  grid-template-columns: auto 1fr auto; /* spacer | brand | actions */
  align-items: center;
  padding: 12px 8px;
  background: rgba(33, 24, 48, 0.8);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(230, 14, 254, 0.15);
  z-index: 120;
}
.site-header .brand {
  justify-self: center;
  font-weight: 800;
  letter-spacing: 0.5px;
  font-size: 36px; /* enlarged name */
  line-height: 1.2;
  text-align: center;
}
.header-actions { justify-self: end; margin-right: 8px; }
.nav-link {
  display: inline-block;
  margin-right: 10px;
  color: #22eae0;
  border: 1px solid rgba(34,234,224,0.35);
  padding: 6px 10px;
  border-radius: 6px;
}
.nav-link:hover { background: rgba(34,234,224,0.08); }
.launch-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #22eae0;
  border: 1px solid rgba(34, 234, 224, 0.35);
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap; /* avoid overflow */
}
.launch-btn:hover {
  background: rgba(34, 234, 224, 0.08);
}
.launch-btn img {
  width: 20px;
  height: 20px;
}

.landing {
  max-width: 900px;
  margin: 40px auto 24px;
  padding: 0 8px;
  overflow-wrap: anywhere;
}
.hero { display: grid; grid-template-columns: 140px 1fr; gap: 16px; align-items: center; }
.profile { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(34, 234, 224, 0.35); background: rgba(34,234,224,0.05); }
.intro h1 {
  margin: 0 0 8px;
  font-size: 28px;
}
.intro p {
  margin: 0 0 14px;
  color: #b6a9d8;
}
.landing p,
.landing li,
.landing h1,
.landing h2 {
  white-space: normal; /* override terminal typing layout */
  animation: none;     /* remove typing animation */
  overflow: visible;
}
.highlights {
  margin: 0 0 18px;
  padding-left: 20px;
}
.highlights li {
  margin: 6px 0;
}
.socials { display: flex; gap: 10px; margin-top: 10px; }
.social-icon { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(34,234,224,0.35); color: #22eae0; font-weight: 700; }
.social-icon:hover { background: rgba(34,234,224,0.08); }
.cta .btn {
  display: inline-block;
}
::selection {
  background-color: #22eae0;
  color: #211830;
}
::-moz-selection {
  background-color: #22eae0;
  color: #211830;
}
textarea#setter {
  left: -1000px;
  position: absolute;
}
b {
  font-weight: bold;
  text-decoration: underline;
}
/*****************/
/*   Animation   */
/*****************/
.animation {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: #211830;
  z-index: 110;
  text-align: center;
  display: none; /* hidden until user starts terminal */
}
.animation img, .animation a {
  margin-top: 50vh;
  transform: translateY(-50%);
}

/* Light theme: make overlay consistent */
body.theme-light .animation {
  background: #f7f7fa;
}
body.theme-light .animation img,
body.theme-light .animation a {
  /* ensure visibility on light bg */
  filter: none;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .landing { padding: 0 12px; }
  .site-header .brand { font-size: 32px; }
}
@media (max-width: 700px) {
  .hero { grid-template-columns: 1fr; text-align: left; }
  .profile { margin: 0 auto; }
  .intro h1 { font-size: 24px; }
  .site-header .brand { font-size: 28px; }
}
@media (max-width: 420px) {
  .site-header { padding: 10px 6px; grid-template-columns: auto 1fr auto; }
  .site-header .brand { font-size: 24px; }
  .launch-btn span { display: none; } /* keep just the icon on very small screens */
  .header-actions { margin-right: 4px; }
}


@keyframes hide {
  from {
    opacity: 1;
    display: initial;
    margin-left: 0;
  }
  to {
    opacity: 0;
    display: none;
    margin-left: 100vw;
  }
}

/***********/

.cursor {
  font-size: 12px;
  background-color: #22eae0;
  color: #22eae0;
  position: relative;
  opacity: 0.5;
  height: 1.5em;
  width: 3px;
  max-width: 3px;
  transform: translateY(4px);
  overflow: hidden;
  text-indent: -5px;
  display: inline-block;
  text-decoration: blink;
  animation: blinker 1s linear infinite;
}
@keyframes blinker {
  50% {
    opacity: 0;
  }
}
#cmd {
  cursor: text;
  height: 50px;
}
#getter {
  line-height: 1.3em;
  margin-top: -2px;
  animation: show 0.1s ease forwards;
  animation-delay: 3s; /* removed long delay to avoid pause */
  opacity: 0;
}
#getter::before {
  content: "admin> ";
}
#getter.password::before {
  content: "Password:";
}
#getter.shutdown::before {
  content: "";
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

p {
  display: block;
  line-height: 1.3em;
  margin: 0;

  overflow: hidden;
  white-space: nowrap; /* Keeps the content on a single line */
  margin: 0; /* Gives that scrolling effect as the typing happens */
  letter-spacing: 0.05em; /* Adjust as needed */
  animation: typing 0.5s steps(30, end);
}
.no-animation {
  animation: typing 0 steps(30, end);
}
.margin {
  margin-left: 20px;
}
/* The typing effect */
@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.indice {
  color: #433674;
}
.colored {
  color: #e60efe;
}
.command {
  color: #9d0ffd;
}
.error {
  color: #f50f65;
}
.white {
  color: #fff;
}
.inherit,
a {
  color: #22eae0;
}

a {
  text-decoration: inherit;
}
a:hover {
  background: #22eae0;
  color: #211830;
}
a:focus {
  outline: 0;
}

/* colors */
body,
.color1 {
  animation: 0.5s ease;
}
.color1 {
  filter: hue-rotate(45deg);
}
.color2 {
  filter: hue-rotate(90deg);
}
.color3 {
  filter: hue-rotate(135deg);
}
.color4 {
  filter: hue-rotate(180deg);
}
.color5 {
  filter: hue-rotate(225deg);
}
.color6 {
  filter: hue-rotate(270deg);
}
.color7 {
  filter: hue-rotate(315deg);
}
.color8 {
  filter: invert(100%);
  background: #dee7cf;
}
.shutdown {
  filter: contrast(100%) grayscale(100%);
  background: #000;
}

/* Style frame REAL 
***************************************************************************************
***************************************************************************************/
.container {
  position: fixed;
  width: 100vw;
  height: calc(100vh - 10px);
  z-index: 20;
  display: none;
  opacity: 0;
}
.open {
  display: inherit;
  opacity: 1;
}

.resize-drag {
  background: #c0c0c0;
  border: 4px #000 outset;
  font-weight: bold;

  touch-action: none;
  position: absolute;
  height: 600px;
  width: 560px;
  top: 10vh;
  left: 10vw;
}
.top {
  height: 25px;
  line-height: 25px;
  color: #fff;
  background: #9d0ffd; /* Old browsers */
  background: -moz-linear-gradient(
    left,
    #9d0ffd 0%,
    #e60efe 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    left,
    #9d0ffd 0%,
    #e60efe 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to right,
    #9d0ffd 0%,
    #e60efe 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  width: 100%;
}
#toped{
  padding: 3px 0 0 10px;
  float: left;
}
.undrag {
  background: #c0c0c0;
  width: 100%;
  height: calc(100% - 25px);
  color: #000;
}

.linkTop {
  display: inline;
  color: #000;
  padding: 3px;
  line-height: 24px;
}
.linkTop:hover {
  background: #969696;
}
.linkTop:first-child {
  margin-left: 4px;
}
.prez {
  background: #fff;
  border: 3px #969696 inset;
  margin: 0 4px 4px;
  padding: 10px;
  width: calc(100% - 34px);
  height: calc(100% - 88px);
  overflow-y: scroll;
}
.bottom {
  display: -webkit-flex;
  display: flex;
  margin: 4px;
}
.bottom p {
  height: 20px;
  border: 3px #969696 inset;
  padding: 2px 4px;
}
.b1 {
  -webkit-flex: initial;
  flex: initial;
  margin-right: 6px;
}
.b2 {
  -webkit-flex: 1;
  flex: 1;
}
#close {
  float: right;
  margin: 2px 4px;
}
#close:hover {
  cursor: pointer;
}

.btn {
  background: #c0c0c0;
  padding: 2px 6px;
  color: #000;
  border: 3px #000 outset;
  transition: all 0.5s ease;
}
.btn:hover {
  background: #c0c0c0;
  border: 3px #000 inset;
}

.prez-2 {
  position: absolute;
  transform: translateY(calc(-100% - 4px));
  display: none;
  opacity: 0;
  height: calc(100% - 113px);
}
.prez-2 img {
  width: 100%;
  max-width: auto;
}
.prez-2 p {
  white-space: inherit;
  animation: 0s;
}
.prez-show {
  display: inherit;
  opacity: 1;
}

.icon {
  display: inline;
  text-align: center;
  float: left;
  margin: 14px;
  width: 100px;
}
.icon:first-child {
  margin-left: 6px;
}
.icon p,
.icon img {
  display: block;
  width: 90px;
  animation: inherit;
  color: #000;
  overflow: inherit;

  white-space: inherit;
}
.icon p {
  width: 100px;
}

.hover {
  position: absolute;
  opacity: 0;
}

.icon:hover {
  background: inherit;
}

.icon:hover p {
  color: #fff;

  background: #9d0ffd; /* Old browsers */
  background: url(../img/bk.png),
    -moz-linear-gradient(left, #9d0ffd 0%, #e60efe 100%); /* FF3.6-15 */
  background: url(../img/bk.png),
    -webkit-linear-gradient(left, #9d0ffd 0%, #e60efe 100%); /* Chrome10-25,Safari5.1-6 */
  background: url(../img/bk.png),
    linear-gradient(to right, #9d0ffd 0%, #e60efe 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.icon:hover > .hover {
  opacity: 1;
}
