/* ============================================================
   KEENIN VYE — style inspired by principiaprogrammatica.com
   ============================================================ */

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    padding: 0;
    margin: 0;
    min-height: 100%;
    background: #180e0b;
    color: #d77261;
    font-family: monospace;
    font-size: 13px;
    line-height: 20px;
}

img {
    border: none;
    outline: none;
}

a {
    text-decoration: none;
    color: #c3be98;
}

a:hover {
    color: #d77261;
}

p, h1, h2, h3, h4, ul, ol {
    margin: 0;
    font-size: inherit;
    font-weight: normal;
}

/* ── LAYOUT ─────────────────────────────────────────────── */

#contain {
    width: 100%;
    min-height: 100vh;
    padding: 0;
    margin: 0;
    display: table;
}

#left {
    background-color: #2e3436;
    width: 50px;
    display: table-cell;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    border-right: 1px solid #454d4f;
    z-index: 50;
}

#linenumbers {
    margin-right: 8px;
    text-align: right;
    overflow: hidden;
    color: #646f72;
    font-family: monospace;
    font-size: 13px;
    line-height: 20px;
    margin-top: 60px;
    padding-bottom: 40px;
}

#filler {
    display: table-cell;
    width: auto;
    background: #180e0b;
}

#content {
    position: relative;
    left: 70px;
    padding-left: 20px;
    padding-top: 60px;
    padding-bottom: 80px;
    display: inline-block;
    color: #d77261;
    font-family: monospace;
    font-size: 13px;
    max-width: 900px;
    margin-top: 0;
}

/* ── FIXED NAV ──────────────────────────────────────────── */

#headercorner {
    background-color: #2a2e2f;
    position: fixed;
    top: 0;
    left: 0;
    width: 50px;
    height: 40px;
    z-index: 101;
    border-right: 1px solid #454d4f;
    border-bottom: 1px solid #1e2021;
}

#header {
    background-color: #252728;
    position: fixed;
    top: 0;
    left: 50px;
    right: 0;
    height: 40px;
    font-family: monospace;
    font-size: 13px;
    z-index: 100;
    border-bottom: 1px solid #1e2021;
    display: flex;
    align-items: center;
}

#header a {
    color: #646f72;
    text-decoration: none;
}

#header a:hover {
    color: #c3be98;
}

#header a.active #menuitem {
    color: #c3be98;
}

#menuitem {
    display: inline-block;
    padding: 5px 10px;
}

#menuitem:hover {
    background-color: #2a2e2f;
}

/* ── PAGE HEADING ───────────────────────────────────────── */

#pageheading {
    color: #c3be98;
    font-family: monospace;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

/* ── PAGE TEXT ──────────────────────────────────────────── */

#pagetext {
    padding-top: 0;
}

.section-heading {
    color: #c3be98;
    font-size: 13px;
    margin-top: 40px;
    margin-bottom: 20px;
    letter-spacing: 0.04em;
}

/* ── PROJECT / POST LISTINGS ────────────────────────────── */

.listing {
    margin-bottom: 0;
    padding: 0;
    list-style: none;
}

.listing li {
    padding: 0 0 0 10px;
    border-left: 2px solid #2e2420;
}

.listing li + li {
    margin-top: 0;
}

.listing li:hover {
    border-left-color: #a3746c;
}

.listing a {
    color: #c3be98;
}

.listing a:hover {
    color: #d77261;
}

.listing-meta {
    color: #646f72;
    font-size: 13px;
    margin-top: 0;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ── META GRID (about info) ─────────────────────────────── */

.meta-table {
    margin-top: 8px;
    border-collapse: collapse;
}

.meta-table td {
    padding: 0 20px 0 0;
    vertical-align: top;
}

.meta-label {
    color: #646f72;
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
}

.meta-value {
    color: #c3be98;
}

/* ── TABLES (album / music layout) ─────────────────────── */

table.album-table {
    border-collapse: collapse;
    margin: 8px 0 22px;
}

table.album-table th {
    vertical-align: top;
    padding: 0 20px 20px 5px;
    text-align: left;
    font-weight: normal;
}

#albumheading {
    color: #a3746c;
    font-size: 13px;
    margin-bottom: 0;
    line-height: 20px;
}

/* ── ALBUM COLOR TILES ──────────────────────────────────── */

.album-tile {
    width: 200px;
    height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 10px;
    flex-shrink: 0;
}

.album-tile-num {
    color: rgba(255, 249, 239, 0.4);
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.album-tile-title {
    color: #fff9ef;
    font-size: 13px;
    line-height: 20px;
    margin-top: 0;
}

.album-tile-artist {
    color: rgba(255, 249, 239, 0.6);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 0;
}

.tone-1 { background: linear-gradient(135deg, #5d2d2a, #1f202f); }
.tone-2 { background: linear-gradient(135deg, #7a4d1f, #23362f); }
.tone-3 { background: linear-gradient(135deg, #3f3b60, #1f2032); }
.tone-4 { background: linear-gradient(135deg, #6c1f1f, #78442e); }
.tone-5 { background: linear-gradient(135deg, #145052, #203236); }
.tone-6 { background: linear-gradient(135deg, #6f5a1d, #3d2323); }
.tone-7 { background: linear-gradient(135deg, #2f425f, #1d232d); }
.tone-8 { background: linear-gradient(135deg, #5e2e45, #2a212c); }

/* ── HORIZONTAL RULE ────────────────────────────────────── */

.rule {
    border: none;
    border-top: 1px solid #2e2420;
    margin: 20px 0;
}

/* ── FIXED FOOTER BAR ───────────────────────────────────── */

#footerbar {
    position: fixed;
    bottom: 0;
    left: 50px;
    right: 0;
    background: #1a100d;
    border-top: 1px solid #2a1e1a;
    padding: 4px 30px;
    justify-content: center;
    font-size: 11px;
    color: #646f72;
    letter-spacing: 0.15em;
    z-index: 99;
    display: flex;
    gap: 20px;
}

#footerbar a {
    color: #646f72;
}

#footerbar a:hover {
    color: #c3be98;
}

/* ── RESPONSIVE ─────────────────────────────────────────── */

@media (max-width: 640px) {
    #left,
    #headercorner {
        display: none;
    }

    #header {
        left: 0;
        flex-wrap: wrap;
    }

    #content {
        left: 0;
        padding-left: 15px;
        padding-right: 15px;
    }

    #footerbar {
        left: 0;
        padding-left: 15px;
    }

    #pageheading {
        left: 15px;
    }

    .album-tile {
        width: 140px;
        height: 140px;
    }
}
