@font-face {
	font-family: "terminal"; 
	src: url("fonts/terminal-grotesque_open.woff2") format("woff2");
}
@font-face {
	font-family: "degheest"; 
	src: url("fonts/Director-Regular.woff2") format("woff2");
}

html {
	scroll-behavior: smooth;
}

body { 
	font-family: "degheest", serif; 
	margin: 0;
	padding: 0;
	background: linear-gradient(145deg, #f76fe7, #c634d9);
	color: #ffffff;

    /* 1. Add your image source */
    background-image: url('https://i.postimg.cc/rpp0T8xR/2026-06-14-0vq-Kleki.png');

    /* 2. Freeze the image in the viewport */
    background-attachment: fixed;

    /* 3. Center the image horizontally and vertically */
    background-position: center;

    /* 4. Prevent the image from repeating like tiles */
    background-repeat: no-repeat;

    /* 5. Force the image to scale nicely and cover the whole screen */
    background-size: cover;
}

* { 
	box-sizing: border-box;
	scrollbar-color: #21001a #E0E2DB;
}

*::-webkit-scrollbar { width: 15px; }
*::-webkit-scrollbar-track { background: #E0E2DB; }
*::-webkit-scrollbar-thumb { background-color: #21001a; border: transparent; }

img { max-width: 100% }

.intro { 
  color: #fc95f2;
}

nav {
	display: flex;
	flex-wrap: wrap;
	text-align: right;
	justify-content: right;
}

main {
	margin: 10px auto;
	max-width: 60rem;
}



section {
	margin: 2em auto;
	padding: 1em 2em;
	border: 6px dashed #f2b8ed;
	outline: 1px dotted #f2b8ed;
	outline-offset: 5px;
	max-width: calc(100% - 10px);
	background-color: #fc95f2;
}

flex-box section {
	margin: 1em;
	}

.full { flex: 1 1 100%;}
.half { flex: 1 1 calc(50% - 2em); }
.third { flex: 1 1 calc(33% - 2em); }
.twothird { flex: 1 1 calc(66% - 2em); }
.quarter { flex: 1 1 calc(25% - 2em); }
.threequarter { flex: 1 1 calc(75% - 2em); }

nav a, .up a {
	color: #21001a;
	display: block;
	border: 1px #21001a solid;
	margin: 10px;
	padding: 20px 5px 2px 50px;
	text-decoration: none;
	font-size: 30px;
	background-color: rgb(0,0,0,0);
}

hr {
	border: none;
	border-top: 1px solid #2E3532;
}

header {
	font-size: 50px;
	margin: 10px;
	display: flex;
	justify-content: space-between;
	font-family: 'terminal';
	font-weight: normal;
	color: #21001a;
	max-width: calc(100% - 20px);
}

.intro {
	background-color: #fc95f2; }

.profile-container {
  background-color: #fa7ded; 
 
  }

.character-ref-left {
  width: 70%;
  max-width: 650px;     /* Reduced size so there is room for text next to it */
  height: auto;
  float: left;          /* Forces text to wrap around the right side */
  margin-right: 4px;   /* Creates a clean gap between image and text */
  margin-bottom: 10px;  /* Creates space if text flows underneath */
}

/* Optional: Clean up the section container */
section::after {
  content: "";
  display: table;
  clear: both;     
  width: 30%
}

.character-ref-right {
  width: 70%;
  max-width: 650px;     /* Reduced size so there is room for text next to it */
  height: auto;
  float: right;          /* Forces text to wrap around the right side */
  margin-left: 4px;   /* Creates a clean gap between image and text */
  margin-bottom: 10px;  /* Creates space if text flows underneath */
}

section::after {
  content: "";
  display: table;
  clear: both;     
  width: 30%
}

.right-bio {
  float: right;
  font-size: 25px;
  text-align: left;
  width: 220px;                
  word-wrap: break-word;   
  }
  
.left-bio {
  float: left;
  font-size: 25px;
  text-align: right;
  width: 220px;                
  word-wrap: break-word;  
  }




header div { margin: 20px 10px 0 20px; text-shadow: 3px 3px #f2b8ed; }

h1, h2, h3, h4, h5, h6, p, table, details, cite, pre, blockquote {
	margin: 1rem 0;
}

h1, h2, h3, a { font-family: 'terminal'; font-weight: normal; }

a { color: #21001a; padding: 2px 4px; font-size: 1.25em; }

ul, ol {
	margin: 1rem 0 1rem 1.5rem;
}

dl { margin: 1rem 0; }

dt { 
	background: linear-gradient(to right, #2E3532, #E0E2DB);
	padding: 0.25rem 0.5rem;
	color: #E0E2DB;
}

dd { padding: 1rem; }

ul ul, ol ol { 
	margin: 0 0 0 2rem;
}

p, table,  ul, ol, dl {
	font-size: 1rem;
	line-height: 1.5;
}

a:hover { 
	background-color: #21001a;
	color:#E0E2DB;
}

h6 { font-size: 1em; }
h5 { font-size: 1.25em; }
h4 { font-size: 1.5em; }
h3 { font-size: 2.5em; }
h2 { font-size: 3em; }
h1 { font-size: 3.75em; text-align: center; }

blockquote {
	border-left: #21001a 3px solid;
	padding: 0 1rem;
}

cite { 
	display: block;
	text-align: right;
}

code, pre {
	background-color: #2E3532;
	color: #E0E2DB;
}

details { border: 1px solid; }

code { 
	font-family: 'Courier New', monospace; 
	padding: 2px 4px;
}

details, pre {
	padding: 1em;
}

pre { overflow-x: auto; }

flex-box section {
	margin: 1em;
	}

.full { flex: 1 1 100%;}
.half { flex: 1 1 calc(50% - 2em); }
.third { flex: 1 1 calc(33% - 2em); }
.twothird { flex: 1 1 calc(66% - 2em); }
.quarter { flex: 1 1 calc(25% - 2em); }
.threequarter { flex: 1 1 calc(75% - 2em); }

details p { margin: 0.5rem 0 0 2rem; }

table {	border: 3px solid #2E3532; margin: 1rem auto; }
tr, td, th { border: 1px solid #2E3532; }
td, th { padding: 0.5rem }

figure {  display: table; margin: 1rem; }

figure img { margin: 5px auto; }

figcaption { 
	display: table-caption;
    caption-side: bottom;
    text-align: center;
}

footer { 
	font-size: 0.8em;
	text-align: center; 
	padding: 5px 10px;
	margin: 2rem;
}

.up { position: fixed;
	bottom: 10px; right: 10px; }

.music { position: fixed;
	bottom: 10px; left: 7px;
	transform: scale(0.7);
	transform-origin: bottom left;
	}

.flex-box {
    display:flex;
    flex-wrap:wrap;
    margin: 0 auto;
	padding: 0;
	align-items: flex-start;
}

.flex-box section {
	margin: 1em;
	}
	
	.flex-container1 section {
    display: flex;
    flex-direction: column;
    gap: 0.005px; 
}

/* Keeps your original styles for all sections */
section {
	margin: 2em auto;
	padding: 1em 2em;
	border: 1px dashed #f2b8ed;
	outline: 1px dotted #f2b8ed;
	outline-offset: 5px;
	max-width: calc(100% - 10px);
}

/* Applies only to the section with this class */
.highlighted-box {
	background-color: #291616; 
}

/* 1. Turn on Flexbox for the parent container */
.box-container {
	display: flex;
	gap: 20px;
	width: 100%;
	margin-bottom: 4em; /* ADD THIS: Creates space underneath the top row */
}

/* 2. Target your first box to be 1/3 size */
.smaller-box {
	flex: 0 0 33.33%; /* Locks width to exactly 1/3 */
}

/* 3. Target your second box to fill the remaining 2/3 space */
.main-box {
	flex: 1; /* Automatically takes up the rest of the row */
}

/* 4. Keep your original section styles */
section {
	padding: 1em 2em;
	border: 1px dashed #f2b8ed;
	outline: 1px dotted #f2b8ed;
	outline-offset: 5px;
	height: 100%; /* Ensures both boxes match in height */
}

/* 5. Add the background color to your specific 1/3 box */
.third {
	background-color: #000000;
}




.full { flex: 1 1 100%;}
.half { flex: 1 1 calc(50% - 2em); }
.third { flex: 1 1 calc(33% - 2em); }
.twothird { flex: 1 1 calc(66% - 2em); }
.quarter { flex: 1 1 calc(25% - 2em); }
.threequarter { flex: 1 1 calc(75% - 2em); }


@media screen and (max-width: 1270px){
	.up { position: static; width: fit-content; margin: 10px auto; }
}

@media screen and (max-width: 700px){
	header { flex-wrap: wrap; }
	header div { margin: 5px; }
	nav a {
		margin: 5px;
		padding: 15px 5px 2px 30px;
		text-decoration: none;
		font-size: 24px;
	}
	section {
		margin: 1em auto;
		padding: 0.5em 1em;
	}
	ul, ol {
		margin: 1rem 0 1rem 0.5rem;
	}
	ul ul, ol ol { 
		margin: 0 0 0 1rem;
	}
}

