@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

@font-face {
    font-family: 'Modista';  
    src: url('/static/fonts/ModistaPro-Medium.otf') format('opentype');
}

@font-face {
    font-family: 'Matrix Code';
    src: url('/static/fonts/matrix-code.otf') format('opentype');
}

@font-face {
    font-family: 'Fantasque Sans Mono';  
    src: url('/static/fonts/fantasque-sans-mono/fantasquesansmono-regular.otf') format('opentype');
}

@font-face {
    font-family: 'Sometype Mono';
    src: url('/static/fonts/Sometype_Mono/static/SometypeMono-Regular.ttf') format('opentype');
}

@font-face {
    font-family: 'Space Mono';
    src: url('/static/fonts/space-mono/SpaceMono-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans';
    src: url('/static/fonts/Noto_Sans/static/NotoSans-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/static/fonts/Source_Code_Pro/static/SourceCodePro-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Open Sauce';
    src: url('/static/fonts/open_sauce/OTF/OpenSauceOne-Regular.otf') format('opentype');
    src: url('/static/fonts/open_sauce/OTF/OpenSauceOne-Medium.otf') format('opentype');
    src: url('/static/fonts/open_sauce/OTF/OpenSauceOne-Bold.otf') format('opentype');
    src: url('/static/fonts/open_sauce/OTF/OpenSauceOne-SemiBold.otf') format('opentype');
}

@font-face {
    font-family: 'Open Sauce Light';
    src: url('/static/fonts/open_sauce/OTF/OpenSauceOne-SemiBold.otf') format('opentype');
}

@font-face {
    font-family: 'MetalLord';
    src: url('/static/fonts/metal-lord/METALORD.TTF') format('truetype');
  }
  
  @font-face {
    font-family: 'Enchanted Land';
    src: url('/static/fonts/enchanted_land/EnchantedLand.otf') format('opentype');
  }

  @font-face {
    font-family: 'Warsuck';
    src: url('/static/fonts/warsuck/Warsuck.otf') format('opentype');
  }

@media (max-width: 768px) {
    .nav-games-link,
    .nav-outpost-link {
        display: none !important;
    }
}

body {
    font-family: Arial, sans-serif;
    background-color: #ffffff;
    color: #333;
    margin: 0;
    padding: 0;
    min-height: 100vh;
}



/* Override for make page header */
body.make-page h1 {
    color: black !important;
}

.main-content {
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
    margin-right: 100px;
    padding: 20px;
    position: relative;
}


#seed-input {
    width: 80%;
    padding: 15px 20px;
    font-family: 'Open Sauce', serif;
    font-size: 18px;
    letter-spacing: 2px;
    border: 2px solid #0fb204;
    background: rgba(0, 0, 0, 0.7);
    color: #0fb204;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-shadow: 0 0 5px #0fb204;
}

#seed-input::placeholder {
    color: #10b2048a;
    font-family: 'Open Sauce Light', monospace;
    animation: placeholderFade 1.11s ease-in-out;
}

@keyframes placeholderFade {
    0% { opacity: 0; }
    50% { opacity: 0.5; }
    100% { opacity: 0; }
}

#seed-input:focus {
    outline: none;
    box-shadow: 0 0 10px #03d9ff
}

.input-frame {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

#input-container {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 800px;
    padding: 30px;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 10px;
}

#tree-container {
    position: relative;
    margin-top: 20px;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 2;
    cursor: default;
}

.layer {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 20px 0;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.layer:first-child {
    margin-top: 100px;
}

.node {
    font-family: 'Open Sauce', monospace;
    color: #444444;
    margin: 10px;
    background: none;
    border: none;
    padding: 5px;
    opacity: 1;
    cursor: default !important;
    transition: opacity 0.5s ease-in-out;
}

.fade-in {
    opacity: 0;
    animation: fadeIn 1s ease-in-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.idea-node:before {
    content: "(";
}

.idea-node:after {
    content: ")";
}

.style-node:before {
    content: "[";
}

.style-node:after {
    content: "]";
}

.root-node:before {
    content: "'"
}

.root-node:after {
    content: "'";
}

#controls {
    margin-top: 20px;
}

/* Add this new button style */
#generate-button {
    margin-left: 10px;
    margin-right: 10px;
    align-self: center;
    background-color: #fff;
    background-image: none;
    background-position: 0 90%;
    background-repeat: repeat no-repeat;
    background-size: 4px 3px;
    border-radius: 10px 150px 170px 10px 10px 170px 150px 10px;
    border-style: solid;
    border-width: 2px;
    border-color: #000000;
    box-shadow: rgba(0, 0, 0, .2) 10px 18px 15px -12px;
    box-sizing: border-box;
    color: #41403e;
    cursor: pointer;
    display: inline-block;
    font-family: 'Source Code Pro', monospace;
    font-size: 0.9rem;
    line-height: 18px;
    outline: none;
    padding: .5rem;
    text-decoration: none;
    transition: all 235ms ease-in-out;
    border-bottom-left-radius: 10px 170px;
    border-bottom-right-radius: 150px 10px;
    border-top-left-radius: 170px 10px;
    border-top-right-radius: 10px 150px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
}

#generate-button:hover {
    box-shadow: rgba(0, 0, 0, .3) 2px 8px 8px -5px;
    transform: translate3d(0, 2px, 0);
    color: black;
}

#generate-button:focus {
    box-shadow: rgba(0, 0, 0, .3) 2px 8px 4px -6px;
}


.button-branch {
    margin-top: -80px;
}

#collapse-button {
    font-family: 'Source Code Pro', monospace;
    font-size: 1.2rem;
    padding: 10px 20px;
    background: white;
    border: 1px solid #333;
    color: #333;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 20px;
}

#collapse-button:hover {
    background: #333;
    color: white;
}

.loading-overlay {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 100px);
    width: auto;
    height: auto;
    background: transparent;
    display: none;
    justify-content: flex-start;
    align-items: center;
    z-index: 1000;
    padding: 0 10px;
}

.loading-animation {
    width: 100px;
    height: 75px;
    background: url('/static/images/ROTATEBOT.gif') no-repeat center center;
    background-size: contain;
    margin-left: -80px;
}

/* Final result styles */
.final-result {
    width: 100%;
    max-width: 800px;
    margin: 120px auto 20px auto;
    padding: 20px;
    text-align: center;
}

.generated-text {
    text-align: left;
    line-height: 1.6;
    margin: 250px 0;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
    cursor: text;
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

.generate-again-btn {
    margin-top: 20px;
    padding: 10px 20px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.generate-again-btn:hover {
    background: #0056b3;
}

/* New styles for generated content */
.generated-image {
    max-width: 100%;
    height: auto;
    margin: 120px auto;  /* Reduced from 150px */
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: block;
}

.prompt-text {
    margin: 10px 0;
    font-style: normal;
    font-size: inherit;
    font-weight: normal;
    text-align: center;
}

.text-result {
    margin: 120px 20px 5px 20px;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 8px;
    white-space: pre-wrap;
    line-height: 1.6;
    font-family: 'Courier New', monospace;
    position: relative;
    z-index: 1;
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}



/* Navigation styles */
.main-container {
    display: flex;
    min-height: 100vh;
}

.content-container {
    flex: 1;
    padding: 20px;
}

.side-nav {
    position: absolute;
    top: 2px;
    left: 0px;
    right: 50px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    padding: 10px;
    background: transparent;
    z-index: 9999;
    align-items: center;
}

.side-nav a {
    color: #19960b !important;  /* Default green color */
    text-decoration: none;
    font-family: 'Open Sauce SemiBold', serif;
    font-weight: 300;
    font-size: 22px;
    transition: color 0.3s ease, transform 0.2s ease-out;
    margin: 0;
    transform: translateY(0);
}

/* Add this new rule for info page */
body.info-page .side-nav a {
    color: white !important;  /* Override with white for info page */
}

.side-nav a:hover {
    transform: translateY(-3px);  /* Subtle upward shift */
}

.home-link, .home-link:visited {
    color: inherit !important;
    margin: 0 !important;
}

.nav-spacer {
    display: none;
}

.home-link {
    margin-left: -10px !important;
    color: black !important;
    font-size: 18px;
}

.home-link:visited {
    color: black !important;
}

/* Hide the duplicate home link when on home page */
.side-nav > a[href="{{ url_for('home') }}"] {
    display: none;
}

/* Show it only when not on home page */
body:not(.home-page) .side-nav > a[href="{{ url_for('home') }}"] {
    display: block;
}

.active {
    font-weight: bold;
}

.cooldown-message {
    background: #EDF2F7;
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    text-align: center;
    animation: fadeIn 0.3s ease-in;
}

#video-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}

#video-background video {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.1));
    z-index: 1;
    pointer-events: none;
}

.ripple {
    position: fixed;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    pointer-events: none;
    animation: rippleEffect 1s ease-out forwards;
    z-index: 1;
}

@keyframes rippleEffect {
    0% {
        width: 0;
        height: 0;
        opacity: 0.8;
        transform: translate(-50%, -50%) scale(0);
    }
    100% {
        width: 200vmax;
        height: 200vmax;
        opacity: 0;
        transform: translate(-50%, -50%) scale(1);
    }
}

.video-ripple {
    animation: videoDistort 1s ease-out forwards !important;
}

@keyframes videoDistort {
    0% {
        transform: scale(1);
        filter: contrast(1) brightness(1);
    }
    25% {
        transform: scale(1.02);
        filter: contrast(1.2) brightness(1.1);
    }
    50% {
        transform: scale(1.01);
        filter: contrast(1.1) brightness(1.05);
    }
    100% {
        transform: scale(1);
        filter: contrast(1) brightness(1);
    }
}

/* Add/update these animations */
@keyframes dissolveOut {
    from { 
        opacity: 1;
        transform: scale(1);
    }
    to { 
        opacity: 0;
        transform: scale(0.98);
    }
}

@keyframes lineAppear {
    from { 
        opacity: 0;
        transform: translateY(10px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

/* Update/add these classes */
.dissolve-out {
    animation: dissolveOut 0.3s ease-out forwards;
}

.text-line {
    opacity: 0;
    animation: lineAppear 0.5s ease-out forwards;
}

/* Add these new animations and styles */
@keyframes ripple {
    0% {
        transform: scale(0);
        opacity: 1;
    }
    100% {
        transform: scale(4);
        opacity: 0;
    }
}

@keyframes videoRipple {
    0% {
        transform: scale(1);
        filter: invert(1) blur(0px);
    }
    50% {
        transform: scale(1.05);
        filter: invert(1) blur(2px);
    }
    100% {
        transform: scale(1);
        filter: invert(1) blur(0px);
    }
}

.ripple {
    position: fixed;
    border: 2px solid white;
    border-radius: 50%;
    animation: ripple 1s cubic-bezier(0, 0.5, 0.5, 1) forwards;
    pointer-events: none;
    width: 20px;
    height: 20px;
    transform-origin: center;
}

.video-ripple {
    animation: videoRipple 1s cubic-bezier(0, 0.5, 0.5, 1) forwards !important;
}

/* Ad blocking rules - Enhanced */
iframe[name="ad-frame"],
.ad-container,
.banner-ad,
div[class*="ad-"],
div[id*="ad-"],
.advertisement,
.adsbygoogle,
.google-ad,
.google-ad-container,
ins.adsbygoogle,
div[id*="google_ads"],
div[class*="google_ads"],
div[class*="googleAd"],
div[id*="googleAd"],
#google_ads_iframe,
.adsbox,
.ads-container,
[class*="advertisement"],
[id*="advertisement"],
[class*="banner"],
[id*="banner"],
iframe[src*="ads"],
iframe[src*="advertisement"],
iframe[src*="banner"],
div[class*="sponsor"],
div[id*="sponsor"],
.ad-unit,
.ad-zone,
.ad-space,
.ad-block,
.ad-placement,
.ad-sidebar,
.ad-wrapper,
.ad-content,
.ad-banner,
.ad-leaderboard,
.ad-rectangle,
.ad-square,
#ad,
#ads,
#advertisement,
div[aria-label*="advertisement"],
div[role="complementary"],
.game-ads,
.preroll-ads,
.video-ads,
.overlay-ads {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
    z-index: -9999 !important;
    clip: rect(0, 0, 0, 0) !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Block iframes with common ad dimensions */
iframe[width="300"][height="250"],
iframe[width="728"][height="90"],
iframe[width="160"][height="600"],
iframe[width="320"][height="50"],
iframe[width="970"][height="90"] {
    display: none !important;
}

/* Invert toggle styles */
.invert-toggle {
    position: absolute;
    left: calc(50% - 410px);
    margin-right: 0;
    display: none;  /* Hide by default */
}

/* Only show invert toggle on home page */
.home-page .invert-toggle {
    display: block;
}

.invert-toggle input[type="checkbox"] {
    visibility: hidden;
    position: absolute;
}

.invert-toggle label {
    display: flex;
    width: 48px;
    height: 24px;
    border: 2px solid #000;
    border-radius: 99em;
    position: relative;
    transition: transform .75s ease-in-out;
    transform-origin: 50% 50%;
    cursor: pointer;
    background: white;
    box-shadow: rgba(0, 0, 0, 0.2) 0 4px 5px;
    margin-top: -2px;  /* Adjust vertical alignment with nav text */
}

.invert-toggle label:before {
    transition: transform .75s ease 0s;
    content: "";
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    background-color: #000;
    border-radius: 50%;
    top: 3px;
    left: 3px;
}

.invert-toggle input[type="checkbox"]:checked + label {
    background-color: #000;
    border-color: white;
}

.invert-toggle input[type="checkbox"]:checked + label:before {
    transform: translateX(26px);
    background-color: #FFF;
}

/* Add video invert effect */
.video-inverted {
    filter: invert(1);
    transition: filter 0.3s ease;
}

#do-it-fr-btn {
    padding: 0.6em 2em;
    border: none;
    outline: none;
    color: rgb(255, 255, 255);
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 1;
    border-radius: 10px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    font-family: 'Open Sauce', monospace;
    font-size: 18px;
    font-weight: 500;
    text-transform: lowercase;
    margin: 0;
    transition: all 1.4s cubic-bezier(0.2, 0, 0, 1);  /* Much slower, simpler easing */
    transform-origin: center;
    display: flex;  /* Changed from inline-flex */
    align-items: center;
    justify-content: center;
    transform: scale(1);  /* Explicit initial state */
}

#do-it-fr-btn:before {
    content: "";
    background: linear-gradient(
      45deg,
      #ff0000,
      #ff7300,
      #fffb00,
      #48ff00,
      #00ffd5,
      #002bff,
      #7a00ff,
      #ff00c8,
      #ff0000
    );
    position: absolute;
    top: -2px;
    left: -2px;
    background-size: 400%;
    z-index: -2;
    filter: blur(5px);
    -webkit-filter: blur(5px);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    animation: glowing-button-85 20s linear infinite;
    transition: all 1.4s cubic-bezier(0.2, 0, 0, 1);  /* Match main button */
    border-radius: 10px;
    transform: scale(1);
    transform-origin: center;
}

@keyframes glowing-button-85 {
    0% {
      background-position: 0 0;
    }
    50% {
      background-position: 400% 0;
    }
    100% {
      background-position: 0 0;
    }
}

#do-it-fr-btn:after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #222;
    left: 0;
    top: 0;
    border-radius: 10px;
    transition: all 2s cubic-bezier(0.2, 0, 0, 1);  /* Match main button */
    transform: scale(1);
}

#do-it-fr-btn:hover {
    transform: scale(1.15);
    font-size: 24px;  /* 18px * 1.15 to match scale */
}

#do-it-fr-btn:hover:before,
#do-it-fr-btn:hover:after {
    transform: scale(1.15);
}


/*  HOME MOBILE DESIGN */
@media (max-width: 768px) {
    #seed-input {
        width: 200px;
    }
    
    #tree-container {
        padding: 10px;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 100px !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
        transform: translateX(16%) !important;
    }

    .layer {
        margin: 0 !important;
    }
    .invert-toggle {
        position: fixed !important;
        top: 2px !important;
        right: 20px !important;
        transform: none !important;
        display: none;  /* Hide by default */
    }

    .home-page .invert-toggle {
        display: block;  /* Only show on home page */
    }

    .button-branch {
        margin-top: -20px;
    }
    
    .side-nav {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        padding: 10px !important;
        z-index: 9999 !important;
        display: flex !important;
        justify-content: center !important;
        gap: 15px !important;
    }

    /* Adjust the input container to account for fixed nav */
    #input-container {
        margin-top: 60px !important;
        width: 100% !important;
        max-width: 900px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        padding: 15px !important;
    }

    /* Adjust the seed input width to match container */
    #seed-input {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    /* Make text bigger for mobile */
    .side-nav a {
        font-size: 16px !important;
    }

    /* Adjust the main content to account for fixed nav */
    body {
        padding-top: 50px !important;  /* Add padding to prevent content from hiding under nav */
    }

    /* Optional: adjust specific page headers to work with fixed nav */
    .home-page h1,
    .what-page h1,
    .info-page h1,
    .games-page h1 {
        margin-top: 60px !important;  /* Add space below fixed nav */
    }

    /* Update text-result styles for mobile */
    .text-result {
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px auto 20px auto !important;  /* Increased top margin to move it down */
        padding: 15px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        overflow-x: hidden !important;
        word-wrap: break-word !important;
        white-space: pre-wrap !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* Update generated-text styles for mobile */
    .generated-text {
        width: 85% !important;
        max-width: 85% !important;
        padding: 15px !important;
        margin-top: -50px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        overflow-x: hidden !important;
        word-wrap: break-word !important;
        white-space: pre-wrap !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* Update final-result container for mobile */
    .final-result {
        width: 85% !important;
        max-width: 85% !important;
        margin: 120px auto 20px auto !important;  /* Increased top margin to move it down */
        padding: 15px !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
    }

    .generated-image {
        width: 100% !important;
        max-width: 100% !important;
        margin: 50px auto 20px auto !important;  /* Increased top margin to move it down */
        padding: 15px !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
    }
    /* Ensure the do-it-fr button stays at bottom */
    #do-it-fr-btn {
        position: relative !important;
        bottom: 0 !important;
        margin: 20px auto !important;
        width: 90% !important;
        max-width: 300px !important;
    }
}

 /* //////////////////////// INFO INFO INFO ///////////////////////////////////////// */


body.info-page {
    background-color: #19960b!important;
    background-image: none !important;
}

/* Info page styles */
.info-page h1 {
    font-family: 'Open Sauce', sans-serif;
    font-size: 50px;
    text-align: center;
    margin-top: 40px;
    margin-bottom: 20px;
    color: rgb(0, 0, 0);
    letter-spacing: -1px;
}

.info-page p {
    font-family: 'Open Sauce', monospace;
    font-size: 24px;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto 20px auto;  /* Added bottom margin between paragraphs */
    text-align: left;  /* Left-aligned for better readability */
    color: rgba(255, 255, 255, 0.9);
    padding: 0 20px;
}

@media (max-width: 768px) {
    .info-page h1 {
        transform: translateX(20%) !important;
        margin-top: -40px !important;
    }
    
    .info-page p {
        transform: translateX(80%) !important;
    }

    .info-page ul {
        transform: translateX(22%);
    }
    .info-fridge-fact {
        display: none !important;
    }
}



/*//////// MAKE MAKE MAKE MAKE MAKE MAKE MAKE MAKE MAKE MAKE MAKE MAKE MAKE ///////////*/

body.make-page {
    background: linear-gradient(
        -45deg, 
        #ffffff,
        #86d1ff,
        #bb46ff,
        #24abff
    );
    background-size: 400% 400%;
    animation: gradient-shift 50s ease infinite;
    position: relative;
    z-index: 0;
    overflow-x: hidden;
}



/* Add this new animation */
@keyframes gradient-shift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* Make portal styles - updated fonts */
.make-portal h1 {
    font-family: 'Open Sauce', sans-serif;
    font-size: 48px;
    font-weight: 600;
    color: white;
    margin-bottom: 30px;
}

.make-portal h2 {
    font-family: 'Open Sauce', sans-serif;
    font-size: 24px;
    color: white;  /* This will override any inherited white color */
    margin-bottom: 20px;
}

.regenerate-btn, .use-prompt-btn {
    font-family: 'Source Code Pro', monospace;
    font-size: 14px;
    font-weight: 500;
    background: #00ff00;
    color: black;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: lowercase;
}

.regenerate-btn:hover, .use-prompt-btn:hover {
    background: #00cc00;
    transform: translateY(-2px);
}

/* header */
.make-portal {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.make-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.make-header h1 {
    margin: 0;  /* Remove default margin since we're handling it in the container */
}

/* Update the current prompt styles to handle both cases */
.current-prompt {
    margin-bottom: 40px;
    padding: 20px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.15);
    display: none;  /* Hidden by default */
}

.prompt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.prompt-card {
    padding: 20px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
    position: relative;  /* Add this to ensure proper button positioning */
}


.prompt-text {
    font-family: serif;
    font-style: italic;
    font-size: 24px;
    margin-bottom: 10px;
    color: white;
}

.prompt-date {
    font-size: 12px;
    color: #888;
    margin-bottom: 15px;
}

.prompt-details {
    margin: 10px 0;
    font-size: 14px;
    color: #aaa;
}

.prompt-elements, .prompt-style {
    margin: 5px 0;
}

.prompt-elements small, .prompt-style small {
    font-family: monospace;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.prompt-display {
    display: none;
    margin-top: 20px;
}

.random-prompt-section {
    margin: 40px 0;
    text-align: center;
}

.restore-prompt-btn {
    position: absolute;
    bottom: 10px;
    left: 10px;
    padding: 5px 10px;
    font-size: 12px;
    font-family: 'Open Sauce', monospace;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: color 0.2s ease, transform 0.2s ease;
}

.restore-prompt-btn:hover {
    color: white;
    transform: translateY(-1px);
}

.random-prompt-card {
    margin: 20px auto;
    padding: 20px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    max-width: 600px;
}


.random-prompt-button-container {
    display: inline-block;
    background-color: #f0f0f0;
    padding: 8px 16px;
    border-radius: 20px;
    margin: 10px;
}

#random-prompt-btn {
    padding: 0.6em 2em;
    border: none;
    outline: none;
    color: rgb(255, 255, 255);
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    font-family: 'Open Sauce', monospace;
    font-size: 18px;
    font-weight: 500;
    text-transform: lowercase;
    margin: 0;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

#random-prompt-btn:before {
    content: "";
    background: linear-gradient(
      45deg,
      #ff0000,
      #ff7300,
      #fffb00,
      #48ff00,
      #00ffd5,
      #002bff,
      #7a00ff,
      #ff00c8,
      #ff0000
    );
    position: absolute;
    top: -2px;
    left: -2px;
    background-size: 400%;
    z-index: -1;
    filter: blur(5px);
    -webkit-filter: blur(5px);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    animation: glowing-button-85 20s linear infinite;
    transition: opacity 0.3s ease-in-out;
    border-radius: 10px;
}

@keyframes glowing-button-85 {
    0% {
      background-position: 0 0;
    }
    50% {
      background-position: 400% 0;
    }
    100% {
      background-position: 0 0;
    }
}

#random-prompt-btn:after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #222;
    left: 0;
    top: 0;
    border-radius: 10px;
}

#random-prompt-btn:hover {
    transform: translateY(-1px);
}

/* Update the container layout */
.notebook-and-drop-container {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    position: relative;
    min-width: 800px; /* Add minimum width to prevent collapsing */
}

/* Update notebook section */
.notebook-section {
    flex: 1;
    min-width: 300px;
    max-width: 1120px;
    width: 1120px; /* Set fixed width */
    position: relative;
}

.notebook-pencil {
    position: absolute;
    top: -45px;  
    right: -10px;  
    width: 100px;  
    height: 80px;  
    background-image: url('/static/images/pencil.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: auto;
    z-index: 2;
    transition: all 0.3s ease;
    transform: rotate(15deg);
    opacity: 0.5;  /* Add half opacity */
}

.notebook-section:hover .notebook-pencil {
    opacity: 1;  /* Full opacity on hover */
}

#notebook {
    width: 100%;  /* Changed from 120% */
    min-height: 220px;
    padding: 20px;
    background: linear-gradient(to bottom, white 29px, #0066ff 1px);
    background-size: 100% 30px;
    line-height: 30px;
    font-family: serif;
    font-size: 16px;
    padding-top: 30px;
    border: 1px solid #ccc;
    border-radius: 8px;
    resize: vertical;
    color: black;
}

/* Update button container */
.button-container {
    display: flex;
    justify-content: space-between;  /* Space items between left and right */
    align-items: center;
    width: 100%;
    margin-top: 10px;
    padding: 0 20px;    /* Match notebook padding */
    box-sizing: border-box;
}

/* Update file drop section */
.file-drop-section {
    width: 110px; /* Fixed width */
    height: 110px; /* Fixed height to match width */
    min-width: 110px; /* Prevent shrinking */
    min-height: 110px; /* Prevent shrinking */
    flex-shrink: 0; /* Prevent flexbox from shrinking it */
    flex-grow: 0; /* Prevent flexbox from growing it */
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    position: relative;
    z-index: 2;
    background: linear-gradient(135deg, #ff4e50, #f9d423);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
    margin-top: 20px;
    margin-left: 5px;
}

/* Update responsive behavior */

/* Make the file guy image move with the container */
.file-guy-image {
    width: 160px;
    height: 160px;
    background-image: url('/static/images/file-guy.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    bottom: -7px;
    right: -10px;
    z-index: 3;
    pointer-events: none;
    transition: transform 0.3s ease;  /* Match parent transition */
}

/* Make sure the file guy moves with the container */
.file-drop-section:hover .file-guy-image {
    transform: translateY(-4px);  /* Match parent transform */
}

.file-drop-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
    cursor: pointer;
    font-family: 'Open Sauce', monospace;
    margin-bottom: 0px;
    border-radius: 4px;
    width: 100%;
    position: relative;
    bottom: -90px;
    z-index: 4;
    transition: opacity 0.3s ease; /* Add smooth transition */
}

/* Make sure the input covers the whole section for drag and drop */
.file-drop-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 5;
}

.file-drop-preview {
    margin-top: 10px;
    min-height: 50px;
    color: white;
    position: relative;
    z-index: 2;
    transition: opacity 0.3s ease; /* Add smooth transition */
}

.save-to-fridge-btn {
    padding: 0.6em 2em;
    border: none;
    outline: none;
    color: rgb(255, 255, 255);
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    font-family: 'Open Sauce', monospace;
    font-size: 18px;
    font-weight: 500;
    text-transform: lowercase;
    margin: 0;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.save-to-fridge-btn:before {
    content: "";
    background: linear-gradient(
      45deg,
      #ff0000,
      #ff7300,
      #fffb00,
      #48ff00,
      #00ffd5,
      #002bff,
      #7a00ff,
      #ff00c8,
      #ff0000
    );
    position: absolute;
    top: -2px;
    left: -2px;
    background-size: 400%;
    z-index: -1;
    filter: blur(5px);
    -webkit-filter: blur(5px);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    animation: glowing-button-85 20s linear infinite;
    transition: opacity 0.3s ease-in-out;
    border-radius: 10px;
}

@keyframes glowing-button-85 {
    0% {
      background-position: 0 0;
    }
    50% {
      background-position: 400% 0;
    }
    100% {
      background-position: 0 0;
    }
}

#save-to-fridge-btn:after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #222;
    left: 0;
    top: 0;
    border-radius: 10px;
}

#save-to-fridge-btn:hover {
    transform: translateY(-2px);
}

.save-to-fridge-btn:hover {
    background: #e0e0e0;
    transform: scale(1.02);
}

.paint-brush {
    position: absolute;
    top: -20px;  
    right: 340px;
    width: 70px; 
    height: 70px; 
    background-image: url('/static/images/paintbrush.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: auto;  /* Changed from none to auto to allow hover */
    z-index: 2;
    transform: rotate(90deg);
    filter:  
            drop-shadow(0 0 1px black);
    opacity: 0.5;  /* Add half opacity */
    transition: all 0.3s ease;
}

.paint-container:hover .paint-brush {
    opacity: 1;  /* Full opacity on hover */
}

.paint-container {
    margin-top: 70px; /* Reduced from 100px */
    padding: 20px;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

.paint-container iframe {
    width: 100%;
    height: 600px;
    border: 1px solid #000000 !important; 
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

/* Pull prompt button */
.pull-prompt-btn:hover {
    background: #00ff00;
    color: black;
    transform: translateY(-2px);
    box-shadow: 0 0 15px rgba(0, 255, 0, 0.3);
}

/* Action buttons container */
.action-buttons {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

/* Download and Fridge buttons */
.download-btn, .fridge-btn {
    font-family: 'Source Code Pro', monospace;
    font-size: 14px;
    font-weight: 500;
    background: #00ff00;
    color: black;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: lowercase;
    display: flex;
    align-items: center;
    gap: 8px;
}

.download-btn:hover, .fridge-btn:hover {
    background: #00cc00;
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0, 255, 0, 0.2);
}

.download-options {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.format-select {
    padding: 5px;
    border: 1px solid black;
    background: transparent;
    color: solid white;
    border-radius: 4px;
}

.signature-input {
    position: relative;
    display: inline-block;
}

.signature-input::after {
    content: '';
    position: absolute;
    right: -2px;  /* Position slightly to the right of the text */
    top: 0;
    width: 2px;  /* Width of the cursor line */
    height: 100%;
    background-color: #20C20E;  /* That bright terminal green color */
    opacity: 1;  /* Stay visible, no blinking */
}

/* Add this to your input element */
.signature-input input {
    border: none;
    background: transparent;
    outline: none;
    padding: 5px;
    color: #20C20E;  /* Match the cursor color */
    font-family: 'Open Sauce', monospace;
}

.upload-modal {
    display: none;  /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;  /* Use viewport units */
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 999999;
    pointer-events: auto;
}

.upload-modal.visible {
    display: block !important;  /* Force display when visible class is present */
}

.modal-content {
    position: fixed;  /* Use fixed positioning */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    min-width: 300px;
    max-width: 90%;
    z-index: 1000000;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.modal-close {
    position: absolute;
    right: 10px;
    top: 10px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 24px;
    color: #666;
}

/* Update the signature input container positioning */
.signature-input-container {
    position: relative;  /* Change from absolute to relative */
    right: auto;        /* Remove right positioning */
    top: auto;          /* Remove top positioning */
    margin-left: 10px;
    width: 800px;
    margin: 0;          /* Remove vertical margin */
    z-index: 2;
}

.signature-input-container input {
    width: 90%; /* Make input fill container */
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: serif;
}

.modal-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

.modal-buttons button {
    padding: 8px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    background: #00ff00;
    color: black;
    font-family: 'Open Sauce', monospace;
    transition: all 0.2s ease;
}

.modal-buttons button:hover {
    transform: translateY(-2px);
    background: #00cc00;
}

/* Add positioning context to the body */
body {
    position: relative;
}

/* Debug styles */
.upload-modal.visible::before {
    content: 'Modal is visible';
    position: fixed;
    top: 10px;
    left: 10px;
    background: red;
    color: white;
    padding: 5px;
    z-index: 1000001;
}

.modal-content.visible::before {
    content: 'Content is visible';
    position: absolute;
    top: -20px;
    left: 0;
    background: blue;
    color: white;
    padding: 5px;
    z-index: 1000001;
}

/* Update to use the new class name */
.download-text {
    margin: 0;
    padding: 8px 24px;
    background: #e1e1e1;
    color: black;
    border: none;
    border-radius: 4px;
    font-family: 'Open Sauce';
    font-size: 18px;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 24px;
    height: 40px;
}

.download-text:hover {
    transform: translateY(+2px);
    background: #e1e1e1;
}

/* Add the new button-64 styles */
.save-to-gallery {
  align-items: center;
  background-image: linear-gradient(144deg,#AF40FF, #5B42F3 50%,#00DDEB);
  border: 0;
  border-radius: 8px;
  box-shadow: rgba(151, 65, 252, 0.2) 0 15px 30px -5px;
  box-sizing: border-box;
  color: #FFFFFF;
  display: flex;
  font-family: Open Sauce, sans-serif;
  font-size: 20px;
    line-height: 1;
  max-width: 100%;
    min-width: 100px;
  padding: 3px;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  white-space: nowrap;
  cursor: pointer;
    margin: 0;
    position: relative;
  z-index: 1;
    width: 100%;  /* Changed from 200px to 100% to match notebook width */
}

.save-to-gallery:active,
.save-to-gallery:hover {
    outline: 0;
}

.save-to-gallery span {
    background-color: rgb(5, 6, 45);
    padding: 16px 40px;
    border-radius: 6px;
    width: 100%;
    height: 100%;
    transition: 300ms;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.save-to-gallery:hover span {
    background: none;
}

.save-panel {
	background: linear-gradient(to right, #6ff, #af7fff);
	border: none;
    width: 60%;
	border-radius: 6px;
	color: black;
	cursor: pointer;
	transition: transform 0.2s ease;
}
.save-panel:hover {
	transform: scale(1.05);
}


.download-btn::before {
    content: "↓";  /* Download arrow */
    font-size: 16px;
}

@media (max-width: 768px) {
  


    body.make-page {
    overflow-x: hidden !important;
        }
    
    .make-portal {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        display: flex !important;
        flex-direction: column !important;
    }

    
.make-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    transform: translateX(20%) !important;
}

.current-prompt {
    margin-bottom: 40px;
    padding: 20px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.15);
    display: none;  /* Hidden by default */
    transform: translateX(25%) !important;

}

    .notebook-and-drop-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 0 !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        transform: translateX(-18%) !important;

    }

    .notebook-section {
        width: 55% !important;
        max-width: 55% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;

    }

    #notebook {
        width: 80% !important;
        max-width: 80% !important;
        margin-top: -3% !important;
        box-sizing: border-box !important;
    }

    .button-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 10px 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .signature-input-container {
        width: 45% !important;
        max-width: 45% !important;
        transform: translateX(-60%) !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .signature-input-container input {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .save-to-gallery {
        width: 35% !important;
        max-width: 100% !important;
        transform: translateX(-93%) !important;
        margin: 0px 0 !important;
    }
    .save-to-gallery {
        width: 180px;  /* Slightly smaller on mobile */
        font-size: 18px;  /* Smaller font on mobile */
    }
    
    .save-to-gallery span {
        padding: 12px 30px;  /* Smaller padding on mobile */
    }

    .prompt-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 15px !important;
        box-sizing: border-box !important;
    }

    .paint-container {
        transform: translateX(7%) !important;
        margin-top: -15px !important;
        width: 160% !important;
    }

    .paint-brush {
        position: absolute;
        visibility: hidden !important;
        }

    .notebook-pencil {
        visibility: hidden !important;
    }
    
}

@media (orientation: landscape) {
    #notebook {
      width: 90% !important;
      max-width: 90% !important;
      flex: 1 1 auto !important;
      display: block !important;
    }
  
    .notebook-section,
    .notebook-and-drop-container {
      width: 80% !important;
      max-width: 80% !important;
      flex: 1 1 auto !important;
      transform: translateX(3%) !important;
    }
  }
  

/*////// "GALLERY GALLERY GALLERY GALLERY GALLERY GALLERY GALLERY ////////// */

body.gallery-page {
    background-image: url('/static/images/starry-bg.jpg') !important;
    background-repeat: repeat;
    background-color: transparent !important;
    position: relative;        /* Let it flow with the document */

}

.gallery-container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    min-height: 100vh;  /* Changed from 150vh to viewport height */
    overflow: visible !important;
    position: relative;
}


.writing-feed-container {
    position: absolute;
    top: 100px;
    left: 85%; /* Start in the middle of the page */
    width: 500px;
    max-height: calc(100vh - 120px);
    background: white;
    border-radius: 0px;
    border:4px ridge #eaeaea;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 100;
    display: flex;
    cursor: move;
    user-select: none;
    transform: translate(-50%, 0); /* Center it horizontally */
}

/* Optional: Add a subtle effect when dragging */
.writing-feed-container.dragging {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

/* Add new sidebar styles */
.writing-feed-sidebar {
    width: 80px;
    min-width: 80px;
    background: white;
    border-right: 1px solid #eee;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.writing-feed {
    flex: 1;
    padding: 20px;
    background: white;
    overflow: visible; /* Change from auto to visible since parent handles scrolling */
}

/* Move scrollbar styles to container */
.writing-feed-container::-webkit-scrollbar {
    width: 12px;
    pointer-events: auto;
}

.writing-feed-container::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
}

.writing-feed-container::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    border: 2px solid rgba(255, 255, 255, 0.1);
}

.writing-feed-container::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Style for ASCII art containers */
.ascii-candle {
    font-family: monospace;
    font-size: 8px; /* Reduced from 11px */
    white-space: pre;
    line-height: 1;
    color: #666;
    text-align: center;
    width: 100%; /* Ensure it takes full width of sidebar */
    overflow: visible; /* Allow content to overflow if needed */
    padding: 0; /* Remove any padding */
    margin: 0; /* Remove any margin */
    cursor: text;
    user-select: text;  /* Add this line to make text selectable */
    -webkit-user-select: text;  /* For Safari support */
    -moz-user-select: text;  /* For Firefox support */
    -ms-user-select: text;  /* For IE/Edge support */
}

/* Writing entry styles */
.writing-entry {
    margin-bottom: 30px;
    padding: 15px;
    border-bottom: 1px solid #eee;
    background: transparent;
    display: flex; 
    flex-direction: column;
}

.writing-content {
    font-family: serif;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    white-space: pre-wrap;
    margin-bottom: 10px;
    background: transparent;
    cursor: text;
    order: 2;
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

.writing-prompt {
    font-family: 'Open Sauce', sans-serif;
    font-size: 12px;
    margin-bottom: 8px;
    padding-left: 0;  /* Changed from 10px to 0 */
    order: 1;
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

.prompt-label {
    color: #888;  /* Keep original color for "Prompt:" text */
}

/* For the writing feed prompts */
.writing-feed .prompt-text {
    color: hsl(203, 100%, 57%);
    font-family: 'Open Sauce', sans-serif;
    font-size: 12px;
    font-weight: normal;
}

/* For the make page prompt card */
.prompt-card .prompt-text {
    font-family: serif;
    font-size: 24px;
    margin-bottom: 10px;
    color: white;
}

.writing-signature {
    font-family: 'Open Sauce', sans-serif;
    font-size: 12px;
    color: #666;
    text-align: right;
    font-style: normal;
    order: 3;
    margin-bottom: 8px;
}

/* Updated scrollbar styling for writing feed */
.writing-feed::-webkit-scrollbar {
    width: 12px;
    pointer-events: auto;
}

.writing-feed::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
}

.writing-feed::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    border: 2px solid rgba(255, 255, 255, 0.1);
}

.writing-feed::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.fridge-section {
    position: absolute;
    width: 1200px;
    min-width: 1200px; /* Add minimum width */
    height: 150vh;
    top: 87%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 99;
    overflow: visible;
    user-select: none;
    cursor: move;
}

.fridge {
    width: 150%;
    min-width: 150%; /* Add minimum width */
    height: 150%;
    min-height: 150%; /* Add minimum height */
    background: url('/static/images/fridge/fridge-blank.png') no-repeat;
    background-size: contain;
    background-position: center center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.fridge.open {
    background-image: url('/static/images/fridge/fridge-open-email.png');
    background-size: contain; 
    width: 410%;
    min-width: 410%; /* Add minimum width */
    height: 225vh;
    min-height: 225vh; /* Add minimum height */
    transform: translate(-50%, -50%) translateX(18%);
    top: 50%;
    left: -24%;
}

.fridge-artwork {
    position: absolute;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}

.fridge-handle {
    position: absolute;
    left: 14%;
    top: 10%;
    width: 2%;  /* Make width relative to fridge width */
    height: 75%;
    cursor: pointer;
    /* background: rgba(255,0,0,0.2); */
}

.fridge.open .fridge-handle {
    left: 58%;
    top: 9%;
    width: 5%;  /* Adjusted for open state */
    height: 89%;
}

.scrolling-gallery {
    position: relative;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: 100vh;
}

.scroll-content {
    display: flex;
    gap: 20px;
    animation: scroll 60s linear infinite;
    padding: 20px 0;
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}


.fridge-feed {
    position: absolute;
    top: 12%;
    left: 15%;
    width: 34%;
    height: 1200px;
    overflow-y: auto;
    overflow-x: hidden;
    background: transparent;
    z-index: 999;
    padding: 20px;
    scrollbar-width: auto;
    scrollbar-color: #888 #f1f1f1;
    overflow: -moz-scrollbars-vertical;
   /* pointer-events: none */
}

.fridge-feed .painting-container:last-child {
    margin-bottom: 2rem;
}

.fridge-feed::-webkit-scrollbar {
    width: 12px;
    pointer-events: auto;
}

.fridge-feed::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
}

.fridge-feed::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    border: 2px solid rgba(255, 255, 255, 0.1);
}

.fridge-feed::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

.painting-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 50px;
    background: transparent;
    padding: 20px;
    width: 90%;
    pointer-events: auto;
}

.painting-image {
    width: 90%;
    height: auto;
    max-height: 800px;
    object-fit: contain;
    margin-bottom: 12px;
    background: rgba(255, 255, 255, 0.1);
}

.painting-metadata {
    color: #333;
    font-size: 14px;
    font-family: 'Open Sauce';
    background: transparent; 
    padding: 2px 8px;
    border-radius: 4px;
    margin-top: 4px;
    display: flex;
    gap: 4px;
    align-items: baseline;
    pointer-events: auto;
}

.painting-prompt::before {
    content: '"';
}

.painting-prompt::after {
    content: '"';
}

.painting-author,
.writing-signature {
    font-family: monospace;
    font-size: 0.95em;
    letter-spacing: 0.03em;
}
.painting-author::after {
    content: ',';
    margin-right: 4px;
}

.painting-timestamp {
    font-size: 0.9em;
    color: #1a1a1a;
}

.fridge-door-gap {
    position: absolute;
    left: 15%;
    width: 32.5%;
    height: 12px;
    background-color: #1d1d1d;
    z-index: 1000;
    top: 35.6%;
    pointer-events: none;
    box-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* Target the gap when the fridge has the open image - using multiple possible paths */
.fridge[style*="/static/images/fridge/fridge-open-email.png"] ~ .fridge-door-gap,
.fridge[style*="background-image: url('/static/images/fridge/fridge-open-email.png')"] ~ .fridge-door-gap {
    opacity: 0;
    visibility: hidden;
}

                            
.fridge-btn::before {
    content: "🗄️";  /* Fridge icon */
    font-size: 16px;
}

/* Disabled state */
.download-btn:disabled, .fridge-btn:disabled {
    background: #666;
    cursor: not-allowed;
    transform: none;
}

body.gallery-page .fridge-section {
    left: 50vw;
    transform: translateX(-55%) translateY(-50%);
    pointer-events: auto;
}


@media (max-width: 768px) {
    body.gallery-page {
        overflow: hidden !important;
        overflow-x: hidden;
        position: fixed;
        width: 100%;
        height: 100%;
    }

.mobile-gallery-toggle {
    display: flex;
    position: fixed;
    top: 20px;
    left: 0;
    right: 0;
    padding: 1rem;
    z-index: 1000;
    justify-content: center;
    gap: 1rem;
}

.gallery-tab {
    background: none;
    border: 1px solid white;
    color: white;
    font-family: 'Open Sauce';
    padding: 0.5rem 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.gallery-tab.active {
    background: white;
    color: black;
}

 
.writing-feed {
    width: 100%;
    padding: 0;
    margin: 0;

}

.writing-feed-container {
    margin-top: 10px; /* Space for the toggle */
    height: calc(100vh - 60px);
   /* display: flex; */
    overflow-y: auto;
    position: fixed; /* Change from absolute to fixed */
    top: 60px; /* Position below the toggle */
    left: 0;
    right: 0;
    width: 100%;
    transform: none !important;
    padding: 0 15px;
    box-sizing: border-box;
    scrollbar-width: thin; /* For Firefox */
    scrollbar-color: white black; /* For Firefox */
    padding-bottom: 80px;

}

.writing-feed-sidebar {
    display: none;
}

    .fridge-section {
        display: none;
    }

    .gallery-container {
        position: fixed;
        top: -20px;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        height: calc(100vh - 80px);
        transform: none !important;
        padding: 0;
        margin: 0;
    }

    .fridge-feed {
        display: none; 
        position: fixed;
        margin-top: 0; 
        padding: 1rem;
        padding-bottom: 80px;
        left: 0;
        right: 0;
        width: 100%;
        height: calc(100vh - 60px);
        overflow-y: auto !important;
        overflow-y: scroll !important;
        -webkit-overflow-scrolling: touch !important; /* smooth iOS scroll */
        touch-action: auto !important;
        overscroll-behavior: contain !important; /* prevents weird bounce bugs */      
        overflow-x: hidden;
        background: none; 
        box-sizing: border-box;
        scrollbar-width: thin; /* For Firefox */
        scrollbar-color: white black; /* For Firefox */
        z-index: 1001;
    }
     
    .scroll-content {
        overflow-y: auto !important;
    }
    /* Ensure painting containers fit properly */
    .painting-container {
        width: 100%;
        max-width: 100%;
        margin: 0 0 1rem 0;
        padding: 0;
        box-sizing: border-box;
    }

    .painting-metadata {
        color: #fff7c6;
    }

    .painting-timestamp {
        color: #fff7c6;
    }
    

  

}
  
     /*/////////////// " GAMES GAMES GAMES GAMES " //////////////////*/

body.games-page {
    background-image: url('/static/images/backroom.jpg') !important;
    background-repeat: repeat;
}

/* Games page header styles */
.games-page h1 {
    font-family: serif;
    font-size: 48px;
    text-align: center;
    margin-top: 15px;
    color: #ffe5e5;
    position: relative;
    animation: gameHeaderGlow 2s ease-in-out infinite;
    font-weight: lighter;
    transform: translateX(-30px); /* Adjust this value to move left (-) or right (+) */
}

/* Responsive adjustments for games header */
@media (max-width: 768px) {
    .games-page h1 {
        font-size: 42px;
        margin: 80px 0 30px 0;
    }
}

iframe[src*="gameflare.com"] {
    position: relative !important;
    clip-path: inset(0 0 0 0) !important;  /* Reset any clipping */
}

/* Target ad containers inside game iframes */
iframe[src*="gameflare.com"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 90px;  /* Adjust this value to cover the ad area */
    background: black;
    z-index: 9999;
}

/* Hide specific gameflare ad elements */
[class*="gameflare-ad"],
[id*="gameflare-ad"],
.gameflare-advertisement,
#gameflare-advertisement,
.gameflare-banner,
#gameflare-banner,
[class*="gf-ad"],
[id*="gf-ad"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Super aggressive ad blocking for this specific game */
iframe[src*="ad-freegames.github.io"] {
    position: relative;
    z-index: 1;
}

/* Block all possible ad containers */
[id*="google"],
[class*="google"],
[id*="adsby"],
[class*="adsby"],
[id*="banner"],
[class*="banner"],
div[style*="z-index: 2147483647"],
div[data-google-query-id],
ins.adsbygoogle,
iframe[id^="google_ads"],
#google_ads_iframe,
.adsbygoogle-noablate,
div[jscontroller],
div[jsname],
div[jsshadow],
div[class^="google-auto-placed"],
ins[class^="google-auto-placed"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
    z-index: -9999 !important;
}

/* Target the specific game container */
.game-container iframe {
    margin-top: -50px;  /* Try to shift up past the ad space */
    clip-path: inset(50px 0 0 0);  /* Clip off the top where ads usually appear */
}






  