:root {
   --primary: #6366f1;
   --primary-dark: #4f46e5;
   --secondary: #ec4899;
   --success: #10b981;
   --warning: #f59e0b;
   --danger: #ef4444;
   --background: #0f0f23;
   --surface: rgba(255, 255, 255, 0.05);
   --surface-hover: rgba(255, 255, 255, 0.1);
   --text-primary: #ffffff;
   --text-secondary: rgba(255, 255, 255, 0.7);
   --text-muted: rgba(255, 255, 255, 0.5);
   --border: rgba(255, 255, 255, 0.1);
   --shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
   --shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.4);
   --blur: blur(16px);
   --radius: 16px;
   --radius-sm: 8px;
   --gradient-primary: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
   --gradient-surface: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
}

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-weight: bold;
   font-family: Arial, sans-serif;
}

html,
body {
  width: 100%;
  height: 100%;
}

body {
   background-color: #2c2c2c;
   color: #fff;
   display: flex;
   flex-direction: column;
   align-items: center;
   background-image: radial-gradient(circle at 10% 20%, rgba(0, 255, 255, 0.05) 0%, transparent 20%), radial-gradient(circle at 90% 80%, rgba(255, 0, 204, 0.05) 0%, transparent 20%);
}

nav {
   width: 100%;
   background-color: rgba(28, 28, 28, 0.95);
   /* backdrop-filter: var(--blur); */
   padding: 15px 0;
   display: flex;
   justify-content: center;
   align-items: center;
   position: fixed;
   top: 0;
   z-index: 100;
   box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3);
}

.nav-container {
   width: 95%;
   max-width: 1200px;
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.logo {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   gap: 10px;
   flex: 1;
}

.logo i {
   font-size: 1.5rem;
   background: linear-gradient(135deg, #00ffff, #ff00cc);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   flex-shrink: 0;
}

.logo-text {
   font-size: 1.3rem;
   background: linear-gradient(135deg, #00ffff, #ff00cc);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   overflow: hidden;
   text-overflow: ellipsis;
}

.nav-links {
   display: flex;
   position: static;
   flex-direction: row;
   background: none;
   backdrop-filter: none;
   align-items: center;
   gap: 15px;
   left: 0;
   top: 100%;
   background-color: rgba(28, 28, 28, 0.95);
   padding: 0;
   width: auto;
}

.nav-links a {
   color: #fff;
   text-decoration: none;
   font-size: 1rem;
   position: relative;
   padding: 12px 20px;
   text-align: center;
   margin: 0 auto;
   transition: all 0.1s ease;
   border-radius: 6px;
   display: flex;
   align-items: center;
   gap: 8px;
}

.nav-links a:hover {
   color: #00ffff;
   background-color: rgba(0, 255, 255, 0.1);
}

.nav-links a.active {
   background: linear-gradient(135deg, #00ffff, #ff00cc);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-color: rgba(0, 255, 255, 0.15);
}

.nav-links a.active::after {
   content: "";
   position: absolute;
   bottom: -2px;
   left: 50%;
   transform: translateX(-50%);
   width: 80%;
   height: 3px;
   background: linear-gradient(135deg, #00ffff, #ff00cc);
   border-radius: 3px;
}

.mobile-menu-toggle {
   display: none;
   flex-direction: column;
   cursor: pointer;
   padding: 5px;
   flex-shrink: 0;
   position: relative;
}

.mobile-menu-toggle span {
   width: 25px;
   height: 3px;
   background: linear-gradient(135deg, #00ffff, #ff00cc);
   margin: 3px 0;
   transition: 0.3s;
   border-radius: 2px;
}

.mobile-menu-toggle.active span:nth-child(1) {
   transform: rotate(45deg) translate(7px, 7px);
}

.mobile-menu-toggle.active span:nth-child(2) {
   opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
   transform: rotate(-45deg) translate(6px, -6px);
}





.mobile-menu-toggle {
      display: flex;
   }
   .nav-links {
      overflow: hidden;
      position: absolute;
      width: 100%;
      /* backdrop-filter: var(--blur); */
      flex-direction: column;
      align-items: center;
      max-height: 0;
      padding: 0;
      transition: all 0.1s ease;
   }
   .nav-links.active {
      max-height: 400px;
      overflow-y: auto;
      padding: 20px 0;
      scrollbar-width: none;
      -ms-overflow-style: none;
   }
   .nav-links.active::-webkit-scrollbar {
      display: none;
   } 
@media (max-width: 768px) {
   .container {
      margin-top: 3rem;
      padding: 1.5rem;
   }

   * {
      cursor: default !important;
   }
   .mobile-menu-toggle {
      display: flex;
   }
   .nav-links {
      overflow: hidden;
      position: absolute;
      width: 100%;
      /* backdrop-filter: var(--blur); */
      flex-direction: column;
      align-items: center;
      max-height: 0;
      padding: 0;
      transition: all 0.1s ease;
   }
   .nav-links.active {
      max-height: 400px;
      overflow-y: auto;
      padding: 20px 0;
      scrollbar-width: none;
      -ms-overflow-style: none;
   }
   .nav-links.active::-webkit-scrollbar {
      display: none;
   }
}

.main-card {
   border-radius: 0;
   padding: 3rem;
   width: 95vw;
   /* height: 90vh; */
   /* overflow-y: auto; */
   /* position: fixed; */
   top: 0;
   left: 0;
}

.nav-close {
   display: none;
}

.main-card::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 1px;
   background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
}

.container {
   display: flex;
   align-items: center;
   flex-direction: column;
   margin-top: 5rem;  
   padding: 2rem;
   background-color: rgba(44, 44, 44, 0.7);
   border-radius: 15px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
   border: 1px solid rgba(255, 255, 255, 0.1);
   /* backdrop-filter: blur(5px); */
   animation: fadeIn 0.5s ease-in-out;
}

.container h2 {
   margin-bottom: 2rem;
   color: #fff;
   font-size: 1.3rem;
   text-align: center;
}

.input-container {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 20px;
   width: 100%;
   margin: auto;
}

.input-wrapper {
   position: relative;
   width: 100%;
}

.fa-user-clock {
   position: absolute;
   left: 15px;
   top: 50%;
   transform: translateY(-50%);
   color: #00ffff;
   font-size: 1.2rem;
}

.input-container input {
   width: 100%;
   padding: 15px 15px 15px 45px;
   border: 2px solid #00ffff;
   background-color: rgba(33, 33, 33, 0.7);
   color: #fff;
   font-size: 16px;
   border-radius: 10px;
   outline: none;
   transition: all 0.3s ease;
}

.input-container input:focus {
   border-color: #ff00cc;
   color: #ff00cc;
   box-shadow: 0 0 15px rgba(255, 0, 204, 0.3);
}

.input-container input::placeholder {
   color: rgba(255, 255, 255, 0.5);
}

.input-container .fetch-btn {
   width: 100%;
   padding: 15px;
   background: linear-gradient(135deg, #00ffff, #ff00cc);
   border: none;
   cursor: pointer;
   border-radius: 10px;
   color: white;
   font-weight: bold;
   font-size: 16px;
   transition: all 0.3s ease;
   position: relative;
   overflow: hidden;
}

.input-container .fetch-btn::before {
   content: "";
   position: absolute;
   top: 0;
   left: -100%;
   width: 100%;
   height: 100%;
   background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
   transition: all 0.5s ease;
}

.input-container .fetch-btn:hover {
   transform: translateY(-3px);
   box-shadow: 0 10px 25px rgba(255, 0, 204, 0.4);
}

.input-container .fetch-btn:hover::before {
   left: 100%;
}

.input-container .fetch-btn:active {
   transform: translateY(0);
}

.fetch-btn:disabled {
   opacity: 0.6;
   cursor: not-allowed;
   transform: none;
   box-shadow: none;
}

.input-container.disabled {
   opacity: 0.6;
   filter: grayscale(0.5);
   pointer-events: none;
   user-select: none;
}

.stories-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
   gap: 2rem;
   margin-top: 2rem;
}

.story-card {
   background: var(--gradient-surface);
   /* backdrop-filter: var(--blur); */
   border: 1px solid var(--border);
   border-radius: var(--radius);
   overflow: hidden;
   transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   position: relative;
   animation: slideUp 0.6s ease forwards;
   opacity: 0;
   transform: translateY(30px);
}

.story-card:hover {
   transform: translateY(-8px) scale(1.02);
   box-shadow: var(--shadow-lg);
   border-color: var(--primary);
}

.story-preview-container {
   position: relative;
   height: 250px;
   overflow: hidden;
   background: linear-gradient(45deg, #1a1a2e, #16213e);
}

.story-preview {
   width: 100%;
   height: 100%;
   object-fit: cover;
   cursor: pointer;
   transition: all 0.4s ease;
}

.story-preview:hover {
   transform: scale(1.05);
}

.story-overlay {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%);
   opacity: 0;
   transition: opacity 0.3s ease;
   display: flex;
   align-items: center;
   justify-content: center;
}

.story-card:hover .story-overlay {
   opacity: 1;
}

.play-icon {
   width: 60px;
   height: 60px;
   background: rgba(255, 255, 255, 0.9);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 24px;
   color: var(--background);
   transform: scale(0.8);
   transition: transform 0.3s ease;
}

.story-card:hover .play-icon {
   transform: scale(1);
}

.story-info {
   padding: 1.5rem;
}

.story-type {
   display: inline-flex;
   align-items: center;
   padding: 0.5rem 1rem;
   border-radius: 20px;
   font-size: 0.75rem;
   font-weight: 700;
   margin-bottom: 1rem;
   text-transform: uppercase;
   letter-spacing: 0.1em;
   position: relative;
   overflow: hidden;
}

.story-type::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   opacity: 0.1;
   border-radius: inherit;
}

.story-type.image {
   background: linear-gradient(135deg, var(--success), #34d399);
   color: white;
}

.story-type.video {
   background: linear-gradient(135deg, var(--secondary), #f472b6);
   color: white;
}

.story-stats {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 1.5rem;
   font-size: 0.875rem;
   color: var(--text-secondary);
   flex-wrap: wrap;
   gap: 1rem;
}

.story-stat {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   padding: 0.5rem 0.75rem;
   background: var(--surface);
   border-radius: var(--radius-sm);
   /* backdrop-filter: var(--blur); */
   font-size: 0.9rem;
   font-weight: 500;
}

.story-stat i {
   font-size: 1.1rem;
   width: 20px;
   text-align: center;
}

.story-stat i.fa-heart {
   color: #ef4444;
}

.story-stat i.fa-eye {
   color: #3b82f6;
}

.story-stat i.fa-clock {
   color: #f59e0b;
}

.story-actions {
   display: flex;
   gap: 0.75rem;
}

.action-btn {
   flex: 1;
   padding: 0.875rem 1.25rem;
   border: none;
   border-radius: var(--radius-sm);
   font-size: 0.875rem;
   font-weight: 600;
   cursor: pointer;
   transition: all 0.3s ease;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.5rem;
   font-family: inherit;
   position: relative;
   overflow: hidden;
}

.action-btn::before {
   content: "";
   position: absolute;
   top: 0;
   left: -100%;
   width: 100%;
   height: 100%;
   background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
   transition: left 0.5s ease;
}

.action-btn:hover::before {
   left: 100%;
}

.preview-btn {
   background: linear-gradient(135deg, var(--primary), var(--primary-dark));
   color: white;
}

.preview-btn:hover {
   transform: translateY(-2px);
   box-shadow: 0 8px 20px rgba(99, 102, 241, 0.4);
}

.download-btn {
   background: linear-gradient(135deg, var(--success), #059669);
   color: white;
}

.download-btn:hover {
   transform: translateY(-2px);
   box-shadow: 0 8px 20px rgba(16, 185, 129, 0.4);
}

.loading,
.error {
   text-align: center;
   padding: 4rem 2rem;
   border-radius: var(--radius);
   margin-top: 2rem;
}

.loading {
   color: var(--text-secondary);
   background: var(--surface);
   /* backdrop-filter: var(--blur); */
   border: 1px solid var(--border);
}

.loading i {
   font-size: 2rem;
   margin-bottom: 1rem;
   color: var(--primary);
}

.error {
   background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(220, 38, 38, 0.1));
   color: var(--danger);
   border: 1px solid rgba(239, 68, 68, 0.3);
}

.modal {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.95);
   z-index: 1000;
   align-items: center;
   justify-content: center;
   padding: 2rem;
   /* backdrop-filter: var(--blur); */
}

.modal.active {
   display: flex;
   animation: modalFadeIn 0.3s ease;
}

.modal-nav {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   background: rgba(0, 0, 0, 0.8);
   /* backdrop-filter: var(--blur); */
   padding: 1rem 2rem;
   display: flex;
   justify-content: space-between;
   align-items: center;
   border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   z-index: 1001;
}

.modal-nav h2 {
   color: var(--text-primary);
   font-size: 1.25rem;
   font-weight: 600;
   margin: 0;
   letter-spacing: 0.5px;
}

.modal-nav-close {
   background: rgba(255, 255, 255, 0.1);
   /* backdrop-filter: var(--blur); */
   border: 1px solid rgba(255, 255, 255, 0.2);
   color: var(--text-primary);
   font-size: 1.25rem;
   cursor: pointer;
   padding: 0.75rem;
   border-radius: 50%;
   transition: all 0.3s ease;
   width: 45px;
   height: 45px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.modal-nav-close:hover {
   background: rgba(255, 255, 255, 0.2);
   transform: scale(1.1);
   color: var(--danger);
}

.modal-content {
   max-width: 90%;
   max-height: 80%;
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   animation: modalSlideIn 0.4s ease;
   margin-top: 4rem;
}

.modal-media {
   width: auto;
   height: 70vh;
   max-width: 100%;
   object-fit: contain;
   border-radius: var(--radius);
   box-shadow: var(--shadow-lg);
}

.modal-close {
   display: none;
}

.modal-info {
   position: absolute;
   bottom: -5rem;
   left: 0;
   right: 0;
   color: var(--text-primary);
   text-align: center;
   font-size: 0.875rem;
   background: var(--surface);
   /* backdrop-filter: var(--blur); */
   padding: 1.5rem;
   border-radius: var(--radius);
   border: 1px solid var(--border);
   display: none;
}

.modal-info:not(:empty) {
   display: block;
}

@media (max-width: 768px) {
   .main-card {
      padding: 2rem;
   }
   .stories-grid {
      grid-template-columns: 1fr;
      gap: 1.5rem;
   }
   .input-group {
      flex-direction: row;
      gap: 0.5rem;
      padding: 0.5rem;
   }
   .user-input {
      padding: 0.875rem 1.25rem 0.875rem 2.75rem;
      font-size: 0.95rem;
   }
   .fetch-btn {
      padding: 0.875rem 1.5rem;
      font-size: 0.95rem;
   }
   .fa-user-clock {
      font-size: 1rem;
   }
   .story-preview-container {
      height: 280px;
   }
   .story-stats {
      justify-content: space-around;
      gap: 0.5rem;
   }
   .story-stat {
      font-size: 0.75rem;
      padding: 0.375rem 0.5rem;
   }
   .action-btn {
      padding: 0.875rem 0.75rem;
      font-size: 0.75rem;
   }
   .modal-content {
      max-width: 95%;
      max-height: 85%;
   }
   .modal-info {
      bottom: -4.5rem;
      font-size: 0.8125rem;
      padding: 1.25rem;
   }
}

@media (max-width: 480px) {
   .main-card {
      padding: 1.5rem;
   }

   .story-preview-container {
      height: 220px;
   }
   .story-info {
      padding: 1.25rem;
   }
   .action-btn {
      padding: 0.875rem 0.5rem;
      font-size: 0.75rem;
   }
}

@keyframes fadeIn {
   from {
      opacity: 0;
   }
   to {
      opacity: 1;
   }
}

@keyframes slideUp {
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

@keyframes pulse {
   0% {
      transform: scale(1);
   }
   50% {
      transform: scale(1.05);
   }
   100% {
      transform: scale(1);
   }
}

@keyframes modalFadeIn {
   from {
      opacity: 0;
   }
   to {
      opacity: 1;
   }
}

@keyframes modalSlideIn {
   from {
      transform: scale(0.9) translateY(20px);
      opacity: 0;
   }
   to {
      transform: scale(1) translateY(0);
      opacity: 1;
   }
}

.story-card:nth-child(n) {
   animation-delay: calc(var(--index, 0) * 0.1s);
}

.fa-exclamation-triangle {
   font-size: 1.5rem;
}

h3 {
   padding: 0.8rem;
}
