/* Mobile-First Base Styles + WebView Optimizations */
*,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{font-family:"Courier New",Courier,monospace;font-weight:bold;display:flex;flex-direction:column;justify-content:space-between;margin:0;padding:0;touch-action:manipulation;font-size:0.9em;overscroll-behavior:none}
header{display:flex;justify-content:space-between;align-items:center;background:rgba(0,0,0,0.7);position:sticky;top:0;z-index:10;transition:all .3s ease;flex-wrap:wrap;padding-top:3.25rem;flex-direction:column;gap:0.4rem}
#next-puzzle-timer {
    order: 2;
    font-size: 0.95em;
    background-color: rgba(0,0,0,0.5);
    padding: 15px;
    border-radius: 25px;
    width: fit-content;
    margin: 0 auto;

}
.header-right{display:flex;align-items:center;gap:0.4rem}
.social-icons{display:flex;gap:0.2rem}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(0,0,0,0.05);color:white;text-decoration:none;font-size:1.2rem;font-weight:600;transition:transform .2s ease;border-radius:50%;min-width:44px;min-height:44px}
.social-link:active{transform:scale(0.95)}
main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;min-height:calc(100vh - 110px)}
footer{text-align:center;padding:8px;background:rgba(0,0,0,0.7);font-size:0.55em}
footer p{margin:4px 0;color:#ffffff}
#VersionNumber{font-size:0.45em;opacity:0.8}
#game-container{background:rgba(0,0,0,0.8);border-radius:12px;padding:16px;max-width:100%;width:100%;text-align:center;position:relative;margin:8px 0}
#stage-indicator{font-size:1.2em;margin-bottom:12px;color:#ffffff;white-space:normal;word-break:break-word;line-height:1.2}
#media-player{margin:16px 0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:90px;transition:height .2s ease}
#media-player audio,#media-player video{width:100%;max-width:100%;height:auto;border-radius:16px}
#loading-indicator{font-size:0.9em;color:#ffffff;padding:12px;display:flex;align-items:center;justify-content:center}
.custom-audio{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(66,66,66,0.8),rgba(48,48,48,0.8));padding:8px 10px;border-radius:8px;width:100%;box-shadow:0 2px 8px rgba(0,0,0,0.3);backdrop-filter:blur(10px)}
.custom-play-pause{background:linear-gradient(135deg,#FF5F5F,#e0222263);color:white;border:none;padding:2px;border-radius:50%;cursor:pointer;font-size:0.8em;width:44px;height:44px;transition:all .3s ease;box-shadow:0 2px 6px rgba(255,95,95,0.3);min-width:44px;min-height:44px}
.custom-play-pause:active{transform:scale(0.95)}
.custom-progress{flex:1;height:4px;background:rgba(255,255,255,0.1);border-radius:2px;cursor:pointer;outline:none}
.custom-progress::-webkit-slider-thumb{-webkit-appearance:none;background:linear-gradient(135deg,#ffffff,#3f3f3f);height:14px;width:14px;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px rgba(255,221,0,0.3)}
.custom-time{font-size:0.75em;color:#ffffff;min-width:50px;font-weight:bold}
#volume-container{width:100%;max-width:180px;margin:12px auto;display:flex;justify-content:center;align-items:center;gap:4px;background:rgba(0,0,0,0.8);padding:6px;border-radius:4px}
#global-volume{width:70px;accent-color:#FF5F5F}
#input-container{display:flex;flex-direction:column;align-items:center;gap:8px;margin:12px 0;position:relative;width:100%}
#guess-input{padding:12px;font-size:1em;border:none;border-radius:6px;flex:1;min-width:100%;max-width:100%;background:rgba(255,255,255,0.1);color:#fff}
#guess-input::placeholder{color:rgba(255,255,255,0.7)}
#submit-btn{padding:12px 24px;font-size:1em;background:#525252;color:white;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;min-height:48px;transition:all .2s ease}
#submit-btn:active{background:#383838;transform:scale(0.98)}
.dropdown{position:relative;top:0;left:0;width:100%;background:rgba(0,0,0,0.9);border:1px solid rgba(255,255,255,0.2);border-radius:6px;margin-top:4px;max-height:140px;overflow-y:auto;z-index:15;display:none;-webkit-overflow-scrolling:touch}
.dropdown.show{display:block}
.dropdown ul{list-style:none;padding:0;margin:0}
.dropdown li{padding:12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.1);font-size:0.9em}
.dropdown li:active{background:rgba(255,255,255,0.2)}
.dropdown li:last-child{border-bottom:none}
#previous-guesses{margin-top:12px;text-align:left;max-height:180px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.guess-item,.skip-item{margin:4px 0;padding:8px;background:rgba(255,255,255,0.1);border-radius:4px;font-size:0.85em}
.skip-item{color:#FFDD00}
#score{font-size:1.2em;margin-top:12px;color:#ffffff}
#reveal{display:none;text-align:center;margin-top:12px;padding:12px;background-color:rgba(249,249,249,0.1);border-radius:6px;border:1px solid rgba(255,255,255,0.2);transition:opacity .3s ease}
#reveal .movie-poster{max-width:220px;max-height:330px;width:auto;height:auto;margin:8px auto;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,0.1)}
#reveal strong{font-size:1.3em;color:#ffffff;display:block}
#share-btn{margin:12px auto;display:block;width:fit-content;padding:12px 24px;background:#ffffff;color:black;border:none;border-radius:16px;cursor:pointer;font-size:0.95em;min-width:140px;min-height:48px;transition:all .2s ease}
#share-btn:active{background:#f0f0f0;transform:scale(0.98)}
#image-gallery{position:relative;text-align:center;width:100%}
#image-gallery img{width:100%;max-width:100%;height:auto;border-radius:4px;margin-bottom:8px;position:relative}
#max-btn{position:absolute;top:4px;right:4px;background:rgba(0,0,0,0.7);border:none;color:white;padding:3px;border-radius:50%;cursor:pointer;font-size:1em;min-width:44px;min-height:44px}
#max-btn:active{background:rgba(0,0,0,0.9)}
.gallery-buttons{display:flex;justify-content:center;gap:6px;margin-top:8px;flex-wrap:wrap}
#image-gallery button{background:#5f5f5f;color:white;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:0.75em;min-width:50px;min-height:44px}
#image-gallery button:active{background:#333333}
#frame-counter{margin-top:6px;font-size:0.85em;color:#ffffff}
#image-modal{display:none;position:fixed;z-index:100;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.95);animation:fadeIn .3s}
#image-modal img{margin:auto;display:block;width:95%;max-width:95%;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.modal-buttons{display:flex;justify-content:center;gap:8px;margin-top:10px;position:fixed;bottom:15px;width:100%;padding:0 8px;box-sizing:border-box}
.modal-prev,.modal-next{padding:8px 12px;background:#333;color:white;border:none;cursor:pointer;border-radius:4px;font-size:0.9em;flex:1;max-width:90px;min-height:48px}
.modal-counter{text-align:center;margin-top:5px;color:#fff;position:fixed;bottom:70px;width:100%;font-size:0.85em}
#close-modal{position:fixed;top:8px;right:8px;color:#f1f1f1;font-size:28px;font-weight:bold;cursor:pointer;z-index:101;padding:4px;background:rgba(0,0,0,0.5);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
#date{font-size:.95em;color:#ffffff;margin-bottom:8px;background-color:rgba(0,0,0,0.5);padding:10px;border-radius:8px;text-align:center;width:100%;box-sizing:border-box}
#start-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;box-sizing:border-box}
.start-content{background:rgba(0,0,0,0.8);border-radius:8px;padding:16px;max-width:95%;width:100%;text-align:center;color:#fff;max-height:80vh;overflow-y:auto}
.start-content h2{font-size:1.3em;margin-bottom:12px}
.start-content ul{list-style:none;padding:0;margin:0 0 12px;text-align:left}
.start-content li{margin:6px 0;font-size:0.85em}
#start-loading{color:#FF5F5F;font-weight:bold;margin-bottom:8px}
#play-start-btn{padding:12px 24px;background:#FF5F5F;color:white;border:none;border-radius:6px;cursor:pointer;font-size:1em;min-width:140px;min-height:48px;transition:all .2s ease}
#play-start-btn:active{background:#e02222;transform:scale(0.98)}
#calendar-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);display:none;align-items:center;justify-content:center;z-index:100;padding:16px;box-sizing:border-box}
.calendar-content{background:rgba(0,0,0,0.8);border-radius:8px;padding:16px;max-width:95%;width:100%;text-align:center;color:#fff;max-height:80vh;overflow-y:auto}
.calendar-content h2{font-size:1.3em;margin-bottom:12px}
#calendar-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;margin:8px 0;-webkit-overflow-scrolling:touch}
.calendar-day{padding:6px;border-radius:4px;cursor:pointer;background:rgba(255,255,255,0.1);font-size:0.8em;min-height:44px;display:flex;align-items:center;justify-content:center}
.calendar-day:active{background:rgba(255,255,255,0.2)}
.calendar-day.inactive{background:rgba(255,255,255,0.05);color:#666;cursor:not-allowed}
.calendar-day.current{background-color:#4CAF50;font-weight:bold;border-radius:50%;color:black}
.calendar-day.active{background:#FF5F5F;cursor:pointer;font-weight:bold}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap}
.calendar-nav button{background:#FF5F5F;color:white;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:0.8em;min-width:50px;min-height:44px}
.calendar-nav button:active{background:#e02222}
#month-year{font-size:1.1em;flex:1;text-align:center;margin:0 8px}
#close-calendar-btn{margin-top:12px;padding:12px 24px;background:#FF5F5F;color:white;border:none;border-radius:6px;cursor:pointer;font-size:0.95em;width:100%;min-height:48px}
#close-calendar-btn:active{background:#e02222}
#calendar-btn{display:inline-flex;align-items:center;gap:0.4em;padding:0.6em 0.8em;background-color:#FF5F5F;color:#333;border:none;border-radius:0.6em;font-size:0.85em;font-weight:bold;cursor:pointer;width:100%;justify-content:center;margin-top:8px;transition:all .2s ease;min-height:48px}
#calendar-btn:active{background-color:#e02222;color:white}
@keyframes pulse{0%{opacity:1}50%{opacity:0.5}100%{opacity:1}}
.celebration-message{animation:pulse 1s infinite}
.ad-banner{display:none}
.ad-mobile{display:block;width:100%;max-width:320px;height:100px;margin:16px auto;background:rgba(0,0,0,0.7);border-radius:8px}
.ad-placeholder{color:#fff;font-size:0.85em;text-align:center;padding:8px}
@media(max-width:480px){
  header{padding-top:3.25rem;flex-direction:column;gap:0.4rem}
  #next-puzzle-timer {
    order: 2;
    font-size: 0.95em;
    background-color: rgba(0,0,0,0.5);
    padding: 15px;
    border-radius: 25px;
    width: fit-content;
    margin: 0 auto;

}
  .header-right{order:1}
  #stage-indicator{font-size:1.1em}
  #guess-input{font-size:0.95em}
  .start-content ul{text-align:center}
  main{padding:6px}
  #game-container{padding:12px}
}