/* Copyright toggle (mobile only) */
.copyright-toggle {
    display: none;
    cursor: pointer;
    color: #000000;
    -webkit-user-select: none;
    user-select: none;
}
@media screen and (max-width: 1180px) {
    .copyright-toggle {
        display: inline;
    }
}
html.dark-mode .copyright-toggle {
    color: #ffffff;
}

/* Theme toggle nav item */
.nav-dot-toggle {
    cursor: pointer;
    transform: translateX(10px);
    -webkit-transition: opacity 0.75s ease, transform 0.75s ease !important;
    transition: opacity 0.75s ease, transform 0.75s ease !important;
}
.navigation:hover .nav-dot-toggle,
.nav-dot-toggle.nav-dot-hint {
    opacity: 1;
    transform: translateX(0);
}

/* ── Dark mode overrides ── */

html.dark-mode {
    color-scheme: dark;
}
html.dark-mode body {
    background-color: #141414;
}
html.dark-mode .home-page {
    background-color: #141414;
}
html.dark-mode .page {
    background-color: #141414;
    color: #d0d0d0;
}
html.dark-mode .page::before {
    color: #999999;
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.05);
}
html.dark-mode .section {
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

/* Navigation */
html.dark-mode .nav-dot {
    background-color: #ffffff;
}
html.dark-mode .nav-dot-selected {
    background-color: rgba(0, 0, 0, 0);
    border-color: #ffffff;
}
html.dark-mode .nav-text {
    color: #e0e0e0;
    text-shadow: 0 0 3px #000, 0 0 6px #000;
    -webkit-filter: drop-shadow(0 0 3px #000) drop-shadow(0 0 6px rgba(0, 0, 0, 0.8));
    filter: drop-shadow(0 0 3px #000) drop-shadow(0 0 6px rgba(0, 0, 0, 0.8));
}
html.dark-mode .navlink {
    color: #e0e0e0;
}

/* Hero */
html.dark-mode .introduction {
    color: #e0e0e0;
}
html.dark-mode .down-arrow {
    -webkit-filter: invert(1);
    filter: invert(1);
}
html.dark-mode #particles-js {
    background-color: #141414;
}

/* Spotify */
html.dark-mode .spotify {
    color: #e0e0e0;
}
html.dark-mode .spotify-music-artist {
    color: #aaaaaa;
}
html.dark-mode .spotify-length {
    background-color: #666666;
}
html.dark-mode .spotify-progress {
    background-color: #ffffff;
}

/* About */
html.dark-mode .about-text {
    color: #d0d0d0;
}
html.dark-mode .upenn {
    color: #d0d0d0 !important;
}
html.dark-mode .windows {
    color: #d0d0d0 !important;
}
html.dark-mode .run-bar {
    background-color: #2e2e2e;
}
html.dark-mode .completed-run-bar {
    background-color: #ffffff;
}
html.dark-mode .bar-min,
html.dark-mode .bar-max {
    color: #555555;
}
html.dark-mode .social-icon {
    background-color: #0f0f0f;
    -webkit-filter: invert(1);
    filter: invert(1);
}
html.dark-mode .social-twitter:hover {
    background-color: rgb(160, 82, 29);
}
html.dark-mode .social-github:hover {
    background-color: #91ab6b;
}
html.dark-mode .social-linkedin:hover {
    background-color: #ff884a;
}

/* Photos */
html.dark-mode .image-container {
    background-color: #2a2a2a;
}
html.dark-mode .gallery-arrow {
    -webkit-filter: invert(0.8);
    filter: invert(0.8);
}

/* Work */
html.dark-mode .level-normal {
    color: #e0e0e0;
}
html.dark-mode .level-super {
    background-color: #e0e0e0;
    color: #141414;
}
html.dark-mode .static-box:after {
    background-color: #444444;
}
html.dark-mode .static-box:nth-child(3) .box-logo-image,
html.dark-mode .static-box:nth-child(4) .box-logo-image {
    -webkit-filter: invert(0.9);
    filter: invert(0.9);
}

@media screen and (max-width: 1365px) {
    html.dark-mode .static {
        border-left-color: #e0e0e0;
    }
    html.dark-mode .static-box {
        border-right-color: #666666;
    }
}

/* Poly portrait */
html.dark-mode .poly-loading {
    -webkit-filter: invert(0.75);
    filter: invert(0.75);
}

/* Buttons */
html.dark-mode .submit-parent,
html.dark-mode .lede-button {
    background-color: #f0f0f0;
}
html.dark-mode .submit-parent .lede-button-text,
html.dark-mode .lede-button .lede-button-text {
    color: #141414;
}
html.dark-mode .lede-button-arrow {
    -webkit-filter: invert(1);
    filter: invert(1);
}
html.dark-mode .submit-parent:hover {
    background-color: #2196F3;
}
html.dark-mode .lb1:hover {
    background-color: #FFCA28;
}
html.dark-mode .lb4:hover {
    background-color: #37474F;
}

/* Contact polygon */
html.dark-mode #contactMe::after {
    opacity: 0.02;
}

/* Contact */
html.dark-mode .contact-form {
    color: #d0d0d0;
}
html.dark-mode .contact-label-individual {
    color: #d0d0d0;
    border-bottom-color: rgba(255, 255, 255, 0);
}
html.dark-mode .contact-us {
    border-color: #444444;
    color: #d0d0d0;
    background-color: transparent;
}
html.dark-mode .contact-us:hover {
    border-color: #2196F3;
}
html.dark-mode .contact-us:focus {
    color: #2196F3;
    border-color: #2196F3;
}
html.dark-mode .textareaHighlight {
    border-color: #444444;
    color: #d0d0d0;
}
html.dark-mode .textareaHighlight:focus {
    color: #90caf9;
    border-color: #2196F3;
}
html.dark-mode .checkimage {
    border-color: #444444;
}
html.dark-mode .checkimage.selected {
    background-color: #1a2a3a;
}
html.dark-mode .clickImageText {
    color: #888888;
}
html.dark-mode #message-received-parent {
    background-color: rgba(255, 255, 255, 0.05);
}
html.dark-mode .message-received-child {
    color: #d0d0d0;
}
html.dark-mode .copyright {
    color: rgba(255, 255, 255, 0.3);
}
