
	:root {
		--text:black;
		--border: lightgrey;
		--accent: black;
		--bg: #dce3e1;
		--gradientTop: white;
		--gradientBottom: rgb(240, 248, 255, .8);
	}
	header {
    background: url('https://kamtextcollapse.neocities.org/kamtext12.png');
    background-size: cover;       /* stretches to fill the header */
    background-position: center;  /* centers the image */
    background-repeat: no-repeat; /* prevents tiling */
	}
	
/* got rid of dark mode around here, carry on */

/*shit test code:*/

.sidething {
    gap: 10px; /* uniform spacing between all children */
}

#player {
    width: 100%;
    height: 100%;   /* or whatever size you want */
}

.sidething {
    display: flex;
    flex-direction: column;
}

.sidething iframe {
    flex: 1;
    min-height: 0;
}

.small {
    min-width: 0;
}
.small,
.half,
.full {
    min-width: 0;
}

section.sidething { min-height: 540px; }


.small,
.large,
.full,
.half {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

section.scrollable-short { 
    max-height: 180px;
    overflow-y: auto;
}

section.scrollable-mid { 
    max-height: 200px;
    overflow-y: auto;
}

section.scrollable-long { 
    max-height: 540px;
    overflow-y: auto;
}
section.scrollable-short { height: 180px;   overflow-y: auto; }
section.scrollable-mid   { min-height: 200px;   overflow-y: auto;}  
section.scrollable-long  { min-height: 540px;  overflow-y: auto; }

.scrollable-short,
.scrollable-mid,
.scrollable-long {
    overflow-y: auto;
    contain: content;
        -webkit-overflow-scrolling: touch;
}

* { 
	box-sizing: border-box; 
}
body {
	padding: 10px;
	font-family: 'MS PGothic', sans-serif;
	color: var(--text);

	/* page background pattern */
background-color: #171717;
opacity: 1;
background-image:  linear-gradient(#000000 2px, transparent 2px), linear-gradient(90deg, #000000 2px, transparent 2px), linear-gradient(#000000 1px, transparent 1px), linear-gradient(90deg, #000000 1px, #171717 1px);
background-size: 50px 50px, 50px 50px, 10px 10px, 10px 10px;
background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px;
}


.container {
      min-height: 0;
	max-width: 55rem;
	margin: 5vw auto 12px auto;
	border: 6px ridge var(--border);
	outline: 3px solid var(--gradientTop);
	outline-offset: 4px;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	padding: 5px;
	gap: 5px;
	

	/* container background pattern */
	background-color: #171717;
opacity: 1;
background-image:  linear-gradient(#000000 0.8px, transparent 0.8px), linear-gradient(90deg, #000000 0.8px, transparent 0.8px), linear-gradient(#000000 0.4px, transparent 0.4px), linear-gradient(90deg, #000000 0.4px, #171717 0.4px);
background-size: 20px 20px, 20px 20px, 4px 4px, 4px 4px;
background-position: -0.8px -0.8px, -0.8px -0.8px, -0.4px -0.4px, -0.4px -0.4px;
}
/* these control the column widths */
.small { flex: 1 1 9%; }
.large { flex: 1 1 82%; }
.full { flex: 1 1 100%; }
.half { flex: 1 1 49%; }



header {
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 200px; /* change banner height here*/
	border: 2px ridge var(--border);
	border-radius: 5px;
	position: relative;
}
header span {
	font-size: 2.5rem;
	position: absolute;
	bottom: 0;
	right: 10px;
	margin: 10px;
	font-weight: bold;
	text-shadow: 1px 1px var(--text),
		-1px 1px var(--text),
		1px -1px var(--accent),
		-1px -1px var(--accent);
	color: var(--gradientTop);
}


nav {
	border: 2px ridge var(--border);
	border-radius: 5px;
	padding: 5px;
	background: #0e1111
}
nav div {
	text-align: left;
	font-size: 1.8rem;
  color: white;
	margin: 5px 5px 10px 5px;
}
nav a {
	display: block;
	margin: 5px;
	background:darkgrey;
	border-radius: 5px;
	padding: 2px 7px;
	text-decoration: none;
}
nav a:link, nav a:visited { 
	color: var(--text);
}
nav a:hover, nav a:focus {
	background: linear-gradient(to right,var(--bg), var(--gradientBottom), var(--gradientTop));
}

/* optional button styling like in the preview */
div.small > img {
  
 
    background: linear-gradient(
        var(--gradientTop),
        var(--gradientBottom)
    );
    padding: 10px;
	display: block;
	margin: 5px auto;
	border:2px ridge var(--border);
	border-radius: 5px;
}
section {
	border: 2px ridge var(--border);
	border-radius: 5px;
	background: linear-gradient(var(--gradientTop),var(--gradientBottom));
	padding: 5px;
	
}



footer {
	text-align: center;
	margin-bottom: 5vw;
	font-size: 0.8rem;
}

footer a { 
	text-decoration: none;
}


h1, h2, h3, h4, h5, h6, p  { 
	margin: 5px;
	line-height: 1.2;
}
h1 { 
	font-size: 1.4rem;
	letter-spacing: 2px;
	font-weight: normal;
	text-align: center;
	border-bottom: 2px ridge var(--border);
	padding-bottom: 5px;
}
h2 { 
	font-size: 1.25rem;
	font-weight: normal;
	text-align: center;
}
h3 { 
	font-size: 1.1rem;
}
h4 { 
	font-size: 1rem;
	color: var(--accent);
	padding-left: 12px;
}

/* prevents overflow on smaller screens */
img { max-width: 100%; }
pre { overflow-x: auto; }


a:hover, a:focus {
	font-style: italic;
}
a:visited {
	color: var(--accent);
}

/* Essay Page Layout */
.essays-page {
    display: flex;
    width: 100%;
    height: 800px;
    align-items: flex-start;
}

/* Sidebar */
.essay-sidebar {
    width: 250px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Content box */
.essay-content {
    flex: 1;
    display: flex;
    height: 100%;
    border: 2px ridge var(--border);
    border-radius: 5px;
    background: linear-gradient(
        var(--gradientTop),
        var(--gradientBottom)
    );
    padding: 10px;
}

/* Scrollable essay text */
.essay-text {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    min-height: 0;
}

/* Warning sticks to bottom */
.essay-warning {
    margin-top: auto;
}


.essay-image-nav {
    width: 260px;
    flex-shrink: 0;

    display: grid;
    grid-template-columns: repeat(4, 50px); /* fixed thumb size */
    gap: 8px;

    justify-content: center;  /* centers whole grid */
    align-content: start;     /* keeps rows starting at top */

    padding: 12px;
    margin: 20px;
    border: 2px ridge var(--border);
    border-radius: 5px;
    background: #D3D3D3;

    overflow-y: auto;
}


.image-btn {
    width: 100%;
    object-fit: cover;

    cursor: pointer;
    border: 2px ridge var(--border);
    border-radius: 6px;
    transition: 0.2s ease;
}

.image-btn:hover {
    filter: brightness(1.2);
}

.image-btn.active {
    outline: 2px solid var(--accent);
}
.image-btn:hover {
    filter: brightness(1.2);
}


.essay-image-nav img.image-btn {
    width: 90px;   /* try 60–120px */
    height: auto;
    
}

.essay-image-nav {
    width: 440px;          /* enough room for 4 thumbnails */
    flex-shrink: 0;        /* never collapse */

    display: grid;
    grid-template-columns: repeat(4, 1fr);  /* 4 across */
    gap: 7px;

    padding: 7px;
    border: 2px ridge var(--border);
    border-radius: 3px;
    background: #0e1111;
        margin: 10px; 

    overflow-y: auto;   /* scroll if you exceed 6 rows */
    max-height: 100%;
}


.reviews-page {
    display: flex;
    width: 100%;
    height: 500px;
    align-items: flex-start;
}


.essay-image-nav img {
    width: 50px;               /* controls image size */
    height: auto;
}

.meta-section {
    margin-bottom: 7px;
}

.blinkie-row {
    display: flex;
    justify-content: center;  /* centers horizontally */
    align-items: center;
    gap: 12px;                /* space between them */
    flex-wrap: nowrap;        /* keeps them on one row */
    margin-top: 10px;
}

.blinkie-row img {
    display: block;
}

.scrollable-long {
    position: relative;
    contain: layout paint size;
    overflow-y: auto;
}

/* Portfolio Grid Inside Scroll Column */

.scrollable-long .portfolio-grid {
    display: flex;
    flex-wrap: wrap;

    align-items: flex-start;
}

/* Portfolio Item Hard Geometry Lock */

.scrollable-long .portfolio-item {
    width: fit-content;
    flex-shrink: 0;
    
    margin: 10px;
}

/* Image Lock */

.scrollable-long .portfolio-item img {
    height: 232px;

    width: auto;
    max-width: 100%;

    object-fit: contain;

    display: block;

    border: 2px ridge black;

    flex-shrink: 0;
}

/* Description Scroll Inside Item */

.scrollable-long .portfolio-item details {
    max-width: 150px;
    overflow-y: auto;
}