.main-content {
    padding-top: 80px;
    float: left;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: rgb(29, 29, 29);
    background-image: url("./background.png");
    background-repeat: repeat;
    background-attachment: fixed;
    background-size: cover;
    margin: 0;
    height: 100vh;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.title-container {
    perspective: 2px;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    float: left;
}
.title-container .title {
    transform: translateZ(1px) scale(0.5); /* translateZ creates the parallax depth */
    z-index: 10;
}

.image-container {
    max-height: 1000vh;
}

img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}
		
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    padding: 0 20px;
    background: rgba(20, 20, 20, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    /*border-bottom: rgba(255,255,255,0.1) solid 1px;*/
}

.header .right {
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 20px;
}
	a {
  	color: #F6F6F6;
  	text-decoration: none; 
}

.header .right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
    padding-right: 34px; /* Ensures space between button and screen edge */
}

.header .button {
    display: flex;
    flex-direction: row-reverse; /* Keeps icon on the right */
    align-items: center;
    
    overflow: hidden;
    white-space: nowrap;
    cursor: pointer;
    
    width: 46px; 
    height: 46px;
    border-radius: 14px;
    
    /* Use a fixed transition for width and background */
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), background 0.2s ease, transform 0.2s ease;
    
    /* Remove fixed padding and use a container for the icon */
    position: relative; 
}

.header .button:hover {
    width: 160px; /* Slightly wider to prevent text cramping */
    background: rgba(255, 255, 255, 0.08);
    transform: scale(1.05);
}

/* Position the icon specifically so it never moves or gets cut off */
.header .button img {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    margin-right: 9px; /* Space from the right edge of the button */
    margin-left: 10px;  /* Space from the text when expanded */
}

.header .button-text {
    flex-grow: 1;
    text-align: center;
    padding-left: 15px; /* Keeps text away from the left edge when expanded */
    
    opacity: 0;
    transform: translateX(10px); /* Slight slide-in effect */
    transition: opacity 0.2s ease, transform 0.3s ease;
}

.header .button:hover .button-text {
    opacity: 1;
    transform: translateX(0);
}

.text-container {
    margin-top: 60px;
    width: min(92vw, 75%);
    max-height: min(90vh, 900px);
    overflow-y: auto;
    overflow-x: hidden;
    background: rgba(20, 20, 20, 0.8);
    backdrop-filter: blur(10px);
    padding: clamp(12px, 2vw, 20px);
    border-radius: 14px;
    box-sizing: border-box;
}
		
.text-container .h1 {
    color: white;
    font-size: 70pt;
    text-align: center
}

.text-container .p {
    color: #8E8E8E;
    font-size: 20pt;
}

label {
    color: #8E8E8E;
    font-size: 20pt;
}

form {
    text-align: center;
}

summary {
    color: rgb(104, 104, 104);
    font-size: 20pt;
    text-align: center;
}

/* --- Sidebar Specific Overrides --- */

.header.is-sidebar {
    width: 70px;          /* Narrow width */
    height: 100vh;        /* Full screen height */
    flex-direction: column; /* Stacks items vertically */
    padding: 20px 0;
    left: 0;
    top: 0;
    transition: width 0.3s ease; /* Smoothly expand if you want */
}

/* In Sidebar mode, 'margin-left: auto' doesn't work for vertical. 
   We use 'margin-top: auto' to push the settings to the bottom. */
.header.is-sidebar .right {
    margin-left: 0;
    margin-top: auto; 
    flex-direction: column;
    padding-right: 0;
    padding-bottom: 20px;
}

/* Ensure buttons behave correctly in the vertical stack */
.header.is-sidebar .button {
    margin: 10px 0;
    justify-content: center; /* Keep icon centered */
}

/* Adjust hover expansion direction for Sidebar */
.header.is-sidebar .button:hover {
    width: 180px;
    /* Optional: Slide the button "out" over the content */
    position: relative; 
    z-index: 1001;
}