/* --- Body & text --- */
body {
font-family: Tahoma, sans-serif;
background: #121212;
color: #e0e0e0;
line-height: 1.6;
margin: 0;
padding: 0;
}

/* Header logo */
.header-logo {
height: 70px;
width: auto;
}

/* ----------------------------
Top Header
---------------------------- */
.top-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 16px;
min-height: 70px;
background: #111111;
top: 0;
z-index: 1000;
border-bottom: 1px solid #333;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.7);
}

.top-header h1 a {
color: #e0e0e0;
text-decoration: none;
}

.header_image {
  filter: brightness(90%) contrast(80%); /* soften contrast */
  border-radius: 20px; /* optional rounded corners */
}

/* Hide checkbox */
.menu-toggle {
position: absolute;
opacity: 0;
pointer-events: none;
}

/* Hamburger */
.hamburger {
display: none;
flex-direction: column;
cursor: pointer;
gap: 5px;
z-index: 2000;
}

.hamburger span {
width: 25px;
height: 3px;
background: #e0e0e0;
}

/* ----------------------------
Layout: Container
---------------------------- */
.container {
display: flex;
min-height: calc(100vh - 60px);
}

/* Sidebar */
.sidebar {
display: flex;
padding: 40px;
flex-direction: column;
gap: 15px;
height: calc(100vh - 60px);
}

.sidebar a {
display: block;
text-decoration: none;
font-weight: bold;
}

.sidebar a:hover {
text-decoration: underline;
}

/* ----------------------------
Main Content
---------------------------- */
.main {
flex: 1;
max-width: 720px;   /* improves readability */
}

/* ----------------------------
Headings
---------------------------- */
h1, h2, h3 {
margin-top: 32px;
margin-bottom: 12px;
}

h1 {
margin-top: 10px;
}

/* Links */
a {
color: #22d3ee;
}

/* ----------------------------
Paragraphs & lists
---------------------------- */
p {
margin-bottom: 14px;
line-height: 1.6;
}

ul {
margin-left: 20px;
margin-bottom: 16px;
}

/* ----------------------------
Code blocks / diagrams
---------------------------- */
pre, code {
background: #1e1e1e;
border-radius: 4px;
}

pre {
padding: 12px;
overflow-x: auto;
}

/* ----------------------------
Content Box
---------------------------- */
.content_box {
border: 1px solid #333;
background: #1a1a1a;
padding: 14px 18px;
margin: 20px 0 30px 0;
border-radius: 4px;
font-size: 0.95rem;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.7);
}

.content_box strong {
display: inline-block;
width: 150px;
}

/* ----------------------------
Project Summary Box
---------------------------- */
.project-summary {
border: 1px solid #333;
border-left: 4px solid #22d3ee;
background: #1a1a1a;
padding: 14px 18px;
margin: 20px 0 30px 0;
border-radius: 4px;
font-size: 0.95rem;
}

.project-summary strong {
display: inline-block;
width: 150px;
}

/* ----------------------------
Footer
---------------------------- */
footer {
font-size: 0.8rem;
color: #aaa;
margin-top: 10px;
}

footer a {
color: #aaa;
text-decoration: underline;
}

footer a:hover {
color: #22d3ee;
}

/* ----------------------------
Mobile Styles
---------------------------- */
@media (max-width: 900px) {

/* Show hamburger */
.hamburger {
display: flex;
}

/* Stack container vertically */
.container {
flex-direction: column;
}

/* Hide sidebar by default */
.sidebar {
display: none;
width: 100%;
height: auto;
position: relative;
top: 0;
}

/* Show sidebar when checkbox is checked */
.menu-toggle:checked ~ .container .sidebar {
display: flex;
flex-direction: column;
}

.header-logo {
height: 48px;
max-width: 60%;
}

.main {
padding: 24px;
}
}
