/* Each Nintendo card is a small level: sky above, terrain at the bottom. */
body.nintendo-theme .nineties-title-container {
    background-image: url('../images/sprites/nintendo/kirby/level-tiles/grassland-seamless.svg'),
        linear-gradient(#91caff, #e0f4ff) !important;
    background-position: left bottom, center !important;
    background-repeat: repeat-x, no-repeat !important;
    background-size: 288px 120px, 100% 100% !important;
    padding-bottom: 120px !important;
    image-rendering: pixelated;
}

body.nintendo-theme .nineties-content .nineties-section,
body.nintendo-theme .guestbook,
body.nintendo-theme .webring,
body.nintendo-theme .kirby-showcase {
    --terrain: url('../images/sprites/nintendo/kirby/level-tiles/grassland-seamless.svg');
    --terrain-size: 288px 120px;
    --terrain-height: 120px;
    --sky: linear-gradient(#91caff, #e0f4ff);
    background-color: #e0f4ff !important;
    background-image: var(--terrain), var(--sky) !important;
    background-position: left bottom, center !important;
    background-repeat: repeat-x, no-repeat !important;
    background-size: var(--terrain-size), 100% 100% !important;
    padding-bottom: calc(var(--terrain-height) + 18px) !important;
    border: 6px solid #51436c !important;
    border-radius: 0 !important;
    box-shadow: 7px 7px 0 #342951, 0 13px 24px rgba(20, 15, 49, .24) !important;
    image-rendering: pixelated;
    color: #282746 !important;
    text-shadow: none !important;
}

body.nintendo-theme #nineties-resume {
    --terrain: url('../images/sprites/nintendo/kirby/level-tiles/pink-brick-seamless.svg');
    --terrain-size: 256px 128px;
    --terrain-height: 128px;
    --sky: linear-gradient(#f6c8db, #fff3fa);
}

body.nintendo-theme #nineties-skills,
body.nintendo-theme .badges-section {
    background-color: #242044 !important;
    background-image: url('../images/sprites/nintendo/kirby/level-tiles/starfield-seamless.svg') !important;
    background-position: left top !important;
    background-repeat: repeat !important;
    background-size: 384px 384px !important;
    border: 6px solid #625083 !important;
    border-radius: 0 !important;
    box-shadow: 7px 7px 0 #342951, 0 13px 24px rgba(20, 15, 49, .24) !important;
    image-rendering: pixelated;
}

body.nintendo-theme #nineties-skills {
    padding-bottom: 24px !important;
}

body.nintendo-theme #nineties-skills .skill-name {
    color: #fff5d2 !important;
    text-shadow: 2px 2px 0 #282044 !important;
}

body.nintendo-theme #nineties-skills .skill-bar {
    padding: 6px 10px;
    background: rgba(35, 28, 68, .68);
    border: 2px solid rgba(253, 229, 165, .64);
}

body.nintendo-theme #nineties-projects {
    --terrain: url('../images/sprites/nintendo/kirby/level-tiles/castle-stone-seamless.svg');
    --terrain-size: 256px 128px;
    --terrain-height: 128px;
    --sky: linear-gradient(#9ba9d4, #e2e4f3);
}

body.nintendo-theme .guestbook {
    --sky: linear-gradient(#a9d8a0, #f6f4c8);
    padding-top: clamp(28px, 4vw, 48px) !important;
}

body.nintendo-theme .webring,
body.nintendo-theme #nineties-links {
    --terrain: url('../images/sprites/nintendo/kirby/level-tiles/metal-seamless.svg');
    --terrain-size: 320px 160px;
    --terrain-height: 160px;
    --sky: linear-gradient(#9dc7d6, #eaf6f7);
}

body.nintendo-theme .kirby-showcase {
    --sky: linear-gradient(#a8d8ff, #e9f9ff);
}

/* Content sits on small, light dialogue panels while the level remains visible. */
body.nintendo-theme #nineties-about .ascii-border,
body.nintendo-theme #nineties-resume .ascii-art {
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    overflow-x: auto;
    background: rgba(255, 253, 249, .9) !important;
    border: 4px solid #604d7e;
    border-radius: 0;
    box-shadow: 5px 5px 0 rgba(46, 31, 72, .4);
}

body.nintendo-theme .nineties-section::after {
    display: none !important;
}

body.nintendo-theme .visitor-counter::before,
body.nintendo-theme .visitor-counter::after,
body.nintendo-theme .guestbook-form::before,
body.nintendo-theme .webring::before,
body.nintendo-theme .nintendo-people-skills::before,
body.nintendo-theme .nintendo-people-skills::after {
    content: none !important;
    display: none !important;
}

/* The smaller widgets use one material each, as walls rather than scenery. */
body.nintendo-theme .midi-player {
    background-image: linear-gradient(rgba(255, 248, 252, .43), rgba(255, 248, 252, .43)),
        url('../images/sprites/nintendo/kirby/level-tiles/pink-brick-seamless-2d.svg') !important;
    background-size: auto, 256px 256px !important;
    border: 6px solid #80516e !important;
    border-radius: 0 !important;
    image-rendering: pixelated;
}

body.nintendo-theme .badges-section {
    color: #fff5d2 !important;
}

body.nintendo-theme .kirby-card {
    border: 4px solid #80516e;
    background-image: linear-gradient(rgba(255, 249, 253, .47), rgba(255, 249, 253, .47)),
        url('../images/sprites/nintendo/kirby/level-tiles/pink-brick-seamless-2d.svg');
    background-size: auto, 256px 256px;
    image-rendering: pixelated;
    box-shadow: 3px 3px 0 #604288;
}

body.nintendo-theme .kirby-card[aria-pressed="true"] {
    background-image: linear-gradient(rgba(255, 214, 237, .34), rgba(255, 214, 237, .34)),
        url('../images/sprites/nintendo/kirby/level-tiles/pink-brick-seamless-2d.svg');
    border-color: #b62d73;
}

@media (max-width: 600px) {
    body.nintendo-theme .nineties-title-container {
        background-size: 240px 100px, 100% 100% !important;
        padding-bottom: 100px !important;
    }

    body.nintendo-theme .nineties-content .nineties-section,
    body.nintendo-theme .guestbook,
    body.nintendo-theme .webring,
    body.nintendo-theme .kirby-showcase {
        --terrain-size: 240px 100px;
        --terrain-height: 100px;
    }

    body.nintendo-theme #nineties-about .ascii-border {
        font-size: 0;
        white-space: normal;
        overflow: visible;
        padding: 12px;
        background: rgba(255, 255, 255, .9);
    }

    body.nintendo-theme #nineties-about .ascii-border [data-theme-text] {
        display: block;
        font-size: 13px;
        line-height: 1.45;
        white-space: normal;
    }

    body.nintendo-theme #nineties-about .ascii-border [data-theme-text="welcomeGreeting"],
    body.nintendo-theme #nineties-about .ascii-border [data-theme-text="welcomeIntro3"] {
        margin-bottom: 9px;
    }

    body.nintendo-theme #nineties-resume .ascii-art {
        margin-left: 0;
        margin-right: 0;
    }
}

/* Carry the same SNES materials through the page's smaller UI surfaces. */
body.nintendo-theme {
    --kirby-brick: url('../images/sprites/nintendo/kirby/level-tiles/pink-brick-seamless-2d.svg');
    --kirby-stars: url('../images/sprites/nintendo/kirby/level-tiles/starfield-seamless.svg');
    --kirby-metal: url('../images/sprites/nintendo/kirby/level-tiles/metal-seamless.svg');
    --kirby-stone: url('../images/sprites/nintendo/kirby/level-tiles/castle-stone-seamless.svg');
    background-color: #242044 !important;
    background-image: var(--kirby-stars) !important;
    background-repeat: repeat !important;
    background-size: 384px 384px !important;
}

body.nintendo-theme .nineties-wrapper {
    background-color: #242044 !important;
    background-image: var(--kirby-stars) !important;
    background-repeat: repeat !important;
    background-size: 384px 384px !important;
}

body.nintendo-theme::before {
    display: none !important;
}

body.nintendo-theme .nineties-header {
    background-image: linear-gradient(rgba(204, 50, 112, .28), rgba(204, 50, 112, .28)), var(--kirby-brick) !important;
    background-repeat: no-repeat, repeat !important;
    background-size: 100% 100%, 256px 256px !important;
}

body.nintendo-theme .visitor-counter,
body.nintendo-theme .counter-digit,
body.nintendo-theme .luna-kirby-promo,
body.nintendo-theme .griffin-kirby-hero span,
body.nintendo-theme .luna-kirby-promo span,
body.nintendo-theme .kirby-feature,
body.nintendo-theme .guestbook-form,
body.nintendo-theme .guestbook-entries,
body.nintendo-theme .guestbook-form input,
body.nintendo-theme .guestbook-form textarea,
body.nintendo-theme .kirby-sfx-settings,
body.nintendo-theme .badges-section .badge > div {
    background-image: linear-gradient(rgba(255, 250, 239, .62), rgba(255, 250, 239, .62)), var(--kirby-brick) !important;
    background-repeat: no-repeat, repeat !important;
    background-size: 100% 100%, 256px 256px !important;
    image-rendering: pixelated;
}

body.nintendo-theme .kirby-feature,
body.nintendo-theme .guestbook-form,
body.nintendo-theme .guestbook-entries,
body.nintendo-theme .kirby-sfx-settings {
    color: #332448 !important;
    border-color: #80516e !important;
}

body.nintendo-theme .badges-section .badge > div {
    color: #332448 !important;
    border-color: #80516e !important;
}

body.nintendo-theme #nineties-about .ascii-border,
body.nintendo-theme #nineties-resume .ascii-art {
    background-image: linear-gradient(rgba(255, 252, 246, .76), rgba(255, 252, 246, .76)), var(--kirby-brick) !important;
    background-repeat: no-repeat, repeat !important;
    background-size: 100% 100%, 256px 256px !important;
}

body.nintendo-theme .nineties-nav-table td,
body.nintendo-theme .counter-digit,
body.nintendo-theme .skill-progress {
    background-image: linear-gradient(rgba(255, 250, 239, .40), rgba(255, 250, 239, .40)), var(--kirby-brick) !important;
    background-repeat: no-repeat, repeat !important;
    background-size: 100% 100%, 256px 256px !important;
    image-rendering: pixelated;
}

body.nintendo-theme .nineties-nav-table td a {
    color: #70204e !important;
    text-shadow: none !important;
}

/* Doors belong to the destination menu, not the repeating night sky. */
.nineties-nav-table .kirby-door-sprite {
    display: none;
}

body.nintendo-theme .nineties-nav-table tr:not(:first-child) td {
    background-image: var(--kirby-stars) !important;
    background-repeat: repeat !important;
    background-size: 288px 288px !important;
    border-color: #e9b53e !important;
    border-radius: 0 !important;
    overflow: hidden;
}

body.nintendo-theme .nineties-nav-table tr:not(:first-child) td::before,
body.nintendo-theme .nineties-nav-table tr:not(:first-child) td::after {
    content: none !important;
}

body.nintendo-theme .nineties-nav-table tr:not(:first-child) td a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 120px;
    color: #fff5d2 !important;
    text-shadow: 2px 2px 0 #241b46 !important;
    text-decoration: none;
}

body.nintendo-theme .nineties-nav-table tr:not(:first-child) td a:focus-visible {
    outline: 3px solid #fff5d2;
    outline-offset: 3px;
}

body.nintendo-theme .nineties-nav-table .kirby-door-sprite {
    display: block;
    width: 120px;
    height: 68px;
    max-width: 100%;
    image-rendering: pixelated;
    transition: transform .16s ease;
}

body.nintendo-theme .nineties-nav-table td:hover .kirby-door-sprite,
body.nintendo-theme .nineties-nav-table td:focus-within .kirby-door-sprite {
    transform: translateY(-3px);
}

body.nintendo-theme .nineties-nav-table tr:first-child td,
body.nintendo-theme .nineties-marquee,
body.nintendo-theme .midi-display,
body.nintendo-theme .kirby-sfx-settings > div:first-child,
body.nintendo-theme .skill-bar {
    background-image: linear-gradient(rgba(31, 26, 62, .35), rgba(31, 26, 62, .35)), var(--kirby-stars) !important;
    background-repeat: no-repeat, repeat !important;
    background-size: 100% 100%, 384px 384px !important;
    image-rendering: pixelated;
}

body.nintendo-theme .nineties-marquee,
body.nintendo-theme .midi-display,
body.nintendo-theme .kirby-sfx-settings > div:first-child {
    color: #fff5d2 !important;
    text-shadow: 2px 2px 0 #241b46;
}

body.nintendo-theme .skill-fill {
    background-image: linear-gradient(rgba(27, 134, 80, .47), rgba(16, 106, 87, .47)), var(--kirby-metal) !important;
    background-repeat: no-repeat, repeat-x !important;
    background-size: 100% 100%, 160px 80px !important;
    color: #fff9df !important;
    text-shadow: 1px 1px 0 #213342;
}

body.nintendo-theme .theme-toggle-btn,
body.nintendo-theme .nineties-toggle-btn,
body.nintendo-theme .guestbook-submit,
body.nintendo-theme .webring-nav a,
body.nintendo-theme .kirby-sfx-settings button {
    background-image: linear-gradient(rgba(31, 33, 58, .38), rgba(31, 33, 58, .38)), var(--kirby-metal) !important;
    background-repeat: no-repeat, repeat-x !important;
    background-size: 100% 100%, 160px 80px !important;
    color: #fff6d5 !important;
    text-shadow: 1px 1px 0 #241b46 !important;
    image-rendering: pixelated;
}

body.nintendo-theme .nintendo-achievement {
    background-image: linear-gradient(rgba(255, 215, 104, .38), rgba(255, 215, 104, .38)), var(--kirby-brick) !important;
    background-repeat: no-repeat, repeat !important;
    background-size: 100% 100%, 256px 256px !important;
}

body.nintendo-theme #nineties-projects table,
body.nintendo-theme #nineties-links table {
    background-image: var(--kirby-stars) !important;
    background-repeat: repeat !important;
    background-size: 384px 384px !important;
}

body.nintendo-theme #nineties-projects td {
    background-image: linear-gradient(rgba(35, 31, 68, .45), rgba(35, 31, 68, .45)), var(--kirby-stone) !important;
    background-repeat: no-repeat, repeat-x !important;
    background-size: 100% 100%, 256px 128px !important;
    color: #fff6dc !important;
    image-rendering: pixelated;
}

body.nintendo-theme #nineties-projects td font {
    color: #fff6dc !important;
}

body.nintendo-theme #nineties-projects td a {
    color: #ffe398 !important;
}

body.nintendo-theme #nineties-links td:first-child {
    background-image: linear-gradient(rgba(35, 39, 66, .48), rgba(35, 39, 66, .48)), var(--kirby-metal) !important;
    background-repeat: no-repeat, repeat-x !important;
    background-size: 100% 100%, 160px 80px !important;
    color: #fff6dc !important;
}

body.nintendo-theme #nineties-links td:last-child {
    background-image: linear-gradient(rgba(255, 250, 239, .40), rgba(255, 250, 239, .40)), var(--kirby-brick) !important;
    background-repeat: no-repeat, repeat !important;
    background-size: 100% 100%, 256px 256px !important;
    color: #332448 !important;
}

body.nintendo-theme .guestbook-entries > div {
    border-bottom-color: #875a80 !important;
}

body.nintendo-theme .guestbook-form input,
body.nintendo-theme .guestbook-form textarea {
    background-image: linear-gradient(rgba(255, 252, 246, .84), rgba(255, 252, 246, .84)), var(--kirby-brick) !important;
    color: #332448 !important;
}

body.nintendo-theme .midi-player {
    background-image: linear-gradient(rgba(255, 248, 252, .43), rgba(255, 248, 252, .43)), var(--kirby-brick) !important;
}

@media (max-width: 600px) {
    body.nintendo-theme .nineties-nav-table {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        table-layout: fixed;
        border-spacing: 2px;
    }

    body.nintendo-theme .nineties-nav-table tr:first-child td font {
        font-size: 16px !important;
        white-space: nowrap;
    }

    body.nintendo-theme .nineties-nav-table tr:not(:first-child) td {
        padding: 4px !important;
    }

    body.nintendo-theme .nineties-nav-table tr:not(:first-child) td a {
        min-width: 0;
        font-size: 11px;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    body.nintendo-theme .nineties-nav-table .kirby-door-sprite {
        width: 72px;
        height: auto;
    }
}
