@font-face {
    font-family: MonoLight;
    src: url(MonoLight.ttf);
}
/* ── CATPPUCCIN MOCHA + PURPLE ACCENTS (dark) ── */
:root,
[data-theme="dark"] {
    --bg: #1e1e2e;
    --fg: #cdd6f4;
    --green: #a6e3a1;
    --yellow: #f9e2af;
    --purple: #cba6f7;
    --pink: #f5c2e7;
    --comment: #6c7086;
    --surface: #313244;
    --border: #45475a;
}
/* ── CATPPUCCIN LATTE (light) ── */
[data-theme="light"] {
    --bg: #eff1f5;
    --fg: #4c4f69;
    --green: #40a02b;
    --yellow: #df8e1d;
    --purple: #7287fd;
    --pink: #ea76cb;
    --comment: #9ca0b0;
    --surface: #dce0e8;
    --border: #bcc0cc;
}
/* ── BASE ── */
*,
*::before,
*::after {
    box-sizing: border-box;
    transition:
        background-color 0.25s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}
body {
    background-color: var(--bg);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem 4rem;
}
/* ── HEADER ── */
header {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: 0.5rem 0;
    margin-bottom: 1.5rem;
}
header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
header h1::before {
    content: "./ ";
    font-size: 26px;
}
/* ── TYPOGRAPHY ── */
h2 {
    color: var(--green);
    font-family: MonoLight, monospace;
    margin-top: 2rem;
}
header h2 {
    font-size: 16px;
    color: var(--yellow);
    margin: 20px 30px;
}
a {
    text-decoration: none;
    color: var(--purple);
    font-family: MonoLight, monospace;
}
a:hover {
    color: var(--pink);
}
#a-title h1 {
    color: var(--fg);
    font-family: MonoLight, monospace;
    font-size: 1.4rem;
    margin: 0;
}
.p1 {
    color: var(--fg);
    font-family: MonoLight, monospace;
}
.p2 {
    color: var(--yellow);
    font-family: MonoLight, monospace;
}
li {
    color: var(--pink);
    list-style-type: ">";
    padding-inline-start: 1ch;
    font-family: MonoLight, monospace;
    margin: 0.3rem 0;
}
/* ── THEME TOGGLE ── */
.theme-toggle {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--yellow);
    font-family: MonoLight, monospace;
    font-size: 0.8rem;
    padding: 0.3rem 0.7rem;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}
.theme-toggle:hover {
    border-color: var(--purple);
    color: var(--purple);
}
.toggle-icon {
    font-size: 1rem;
    line-height: 1;
}
/* ── PHOTO GRID ── */
.photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}
.photo-entry {
    display: block;
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
    background: var(--surface);
    transition:
        border-color 0.2s ease,
        transform 0.2s ease;
    color: var(--comment);
}
.photo-entry:hover {
    border-color: var(--purple);
    transform: translateY(-2px);
    color: var(--purple);
}
.photo-entry img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}
.photo-label {
    display: block;
    font-family: MonoLight, monospace;
    font-size: 0.72rem;
    padding: 0.35rem 0.5rem;
    color: inherit;
}
@media (max-width: 640px) {
    .photo-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
