body { font-family: 'El Messiri', sans-serif; background: #ffffff; min-height: 100vh; overflow-x: hidden; position: relative; margin: 0; padding: 0; color: #333333; } * { color: #333333; box-sizing: border-box; } #root { min-height: 100vh; display: flex; flex-direction: column; } .popup, .modal { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(217, 246, 247, 0.8); padding: 1.5rem; border-radius: 2rem; box-shadow: 0 6px 16px rgba(217, 246, 247, 0.25); backdrop-filter: blur(12px); z-index: 1000; width: 90%; max-width: 400px; border: 2px solid #d9f6f7; } .popup.active, .modal.active { display: block; } .card { transition: all 0.3s ease; background: linear-gradient(135deg, #ffffff, #f7fcff); border-radius: 2rem; box-shadow: 0 6px 12px rgba(217, 246, 247, 0.2); backdrop-filter: blur(12px); position: relative; margin: 0.75rem; overflow: hidden; } .card:hover { transform: translateY(-6px) scale(1.03); box-shadow: 0 8px 16px rgba(217, 246, 247, 0.3); } .gradient-bg { background: linear-gradient(135deg, #d9f6f7, #f7fcff); } svg { width: 100%; height: auto; margin: 0 auto; display: block; } svg text { text-anchor: middle; dominant-baseline: middle; text-transform: uppercase; animation: stroke 5s infinite alternate; stroke-width: 1.2; stroke: #d9f6f7; font-size: 130px; fill: rgba(217, 246, 247, 0); } @media (max-width: 768px) { svg text { font-size: 100px; } } @keyframes stroke { 0% { fill: rgba(217, 246, 247, 0); stroke: #d9f6f7; stroke-dashoffset: 25%; stroke-dasharray: 0 50%; stroke-width: 1.2; } 70% { fill: rgba(217, 246, 247, 0); stroke: #f7fcff; } 80% { fill: rgba(217, 246, 247, 0); stroke: #ffffff; stroke-width: 2.5; } 100% { fill: #d9f6f7; stroke: rgba(217, 246, 247, 0); stroke-dashoffset: -25%; stroke-dasharray: 50% 0; stroke-width: 0; } } .history-container { display: flex; flex-direction: column; gap: 1rem; max-height: none; overflow: visible; position: relative; } .history-item { transition: all 0.3s ease; width: 100%; max-width: 100%; margin: 0; border-radius: 1.5rem; background: rgba(217, 246, 247, 0.75); backdrop-filter: blur(12px); box-shadow: 0 4px 14px rgba(217, 246, 247, 0.15); position: relative; overflow: hidden; padding: 1.2rem; border-left: 4px solid transparent; } .history-item.win { border-left-color: #4CAF50; background: linear-gradient(135deg, rgba(76, 175, 80, 0.08), rgba(217, 246, 247, 0.75)); } .history-item.loss { border-left-color: #F44336; background: linear-gradient(135deg, rgba(244, 67, 54, 0.08), rgba(217, 246, 247, 0.75)); } .history-item.pending { border-left-color: #FFC107; background: linear-gradient(135deg, rgba(255, 193, 7, 0.08), rgba(217, 246, 247, 0.75)); } .history-item.skipped { border-left-color: #9E9E9E; background: linear-gradient(135deg, rgba(158, 158, 158, 0.08), rgba(217, 246, 247, 0.75)); } .history-item:hover { transform: scale(1.02); box-shadow: 0 6px 18px rgba(217, 246, 247, 0.25); } .history-item .watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-45deg); font-size: 1.5rem; color: rgba(217, 246, 247, 0.15); pointer-events: none; z-index: 0; text-transform: uppercase; font-weight: bold; } .small-dot { position: absolute; width: 6px; height: 6px; background: #d9f6f7; border-radius: 50%; animation: float 5s infinite; z-index: 1; } @keyframes float { 0% { transform: translate(0, 0); opacity: 0.8; } 50% { transform: translate(10px, -10px); opacity: 0.4; } 100% { transform: translate(0, 0); opacity: 0.8; } } .delete-btn:hover { color: #d9f6f7; transform: scale(1.3); } .win-badge { background: rgba(76, 175, 80, 0.15); color: #2E7D32; } .loss-badge { background: rgba(244, 67, 54, 0.15); color: #C62828; } .pending-badge { background: rgba(255, 193, 7, 0.15); color: #FF8F00; } .skipped-badge { background: rgba(158, 158, 158, 0.15); color: #616161; } .status-icon { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; position: relative; overflow: hidden; } .status-icon::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; opacity: 0.2; background: radial-gradient(circle, currentColor 0%, transparent 70%); } .win-icon { color: #4CAF50; } .loss-icon { color: #F44336; } .pending-icon { color: #FFC107; } .skipped-icon { color: #9E9E9E; } .dashboard-card { background: rgba(217, 246, 247, 0.8); border-radius: 1.8rem; padding: 1.2rem; box-shadow: 0 4px 10px rgba(217, 246, 247, 0.15); backdrop-filter: blur(12px); transition: all 0.3s ease; position: relative; overflow: hidden; } .dashboard-card:hover { transform: translateY(-4px); box-shadow: 0 6px 14px rgba(217, 246, 247, 0.25); } .dashboard-card.active { transform: scale(1.05); background: linear-gradient(135deg, #d9f6f7, #ffffff); } .navigation { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); width: 350px; height: 70px; background: rgba(217, 246, 247, 0.8); backdrop-filter: blur(12px); display: flex; justify-content: center; align-items: center; border-radius: 2rem; box-shadow: 0 6px 12px rgba(217, 246, 247, 0.3); z-index: 1000; } .navigation ul { display: flex; width: 300px; } .navigation ul li { position: relative; list-style: none; width: 75px; height: 70px; z-index: 1; } .navigation ul li a { position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; text-align: center; font-weight: 500; } .navigation ul li a .icon { position: relative; display: block; line-height: 75px; font-size: 1.5em; text-align: center; transition: 0.5s; } .navigation ul li.active a .icon { transform: translateY(-32px); } .navigation ul li a .text { position: absolute; font-weight: 400; font-size: 0.75em; letter-spacing: 0.05em; transition: 0.5s; opacity: 0; transform: translateY(20px); } .navigation ul li.active a .text { opacity: 1; transform: translateY(10px); } .indicator { position: absolute; top: -50%; width: 70px; height: 70px; background: #d9f6f7; border-radius: 50%; border: 6px solid #f7fcff; transition: 0.5s; } .navigation ul li:nth-child(1).active ~ .indicator { transform: translateX(calc(75px * 0)); } .navigation ul li:nth-child(2).active ~ .indicator { transform: translateX(calc(75px * 1)); } .navigation ul li:nth-child(3).active ~ .indicator { transform: translateX(calc(75px * 2)); } .navigation ul li:nth-child(4).active ~ .indicator { transform: translateX(calc(75px * 3)); } .content-section { display: none; } .content-section.active { display: block; } .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; } .mode-toggle { position: relative; display: inline-block; width: 60px; height: 30px; } .mode-toggle input { opacity: 0; width: 0; height: 0; } .mode-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #d9f6f7; transition: .4s; border-radius: 34px; } .mode-slider:before { position: absolute; content: ""; height: 22px; width: 22px; left: 4px; bottom: 4px; background-color: #ffffff; transition: .4s; border-radius: 50%; } input:checked + .mode-slider { background-color: #4CAF50; } input:checked + .mode-slider:before { transform: translateX(30px); } .mode-icons { position: absolute; top: 50%; transform: translateY(-50%); width: 100%; display: flex; justify-content: space-between; padding: 0 8px; pointer-events: none; } .mode-icons i { font-size: 14px; } .period-id { font-family: monospace; letter-spacing: 2px; font-size: 1.2rem; } #currentPeriod, #currentResult { border: none !important; background: #f7fcff !important; } .video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; } .video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } button, .btn { border-radius: 1.2rem; background: #d9f6f7; backdrop-filter: blur(12px); color: #333333; transition: all 0.3s ease; } button:hover, .btn:hover { background: #f7fcff; transform: scale(1.05); box-shadow: 0 4px 8px rgba(217, 246, 247, 0.3); } .network-log { position: fixed; bottom: 90px; left: 10px; width: 300px; max-height: 200px; overflow-y: auto; background: rgba(217, 246, 247, 0.8); border-radius: 1rem; padding: 1rem; box-shadow: 0 4px 10px rgba(217, 246, 247, 0.2); z-index: 999; font-size: 0.75rem; display: none; } .network-log.active { display: block; } .network-log p { margin: 0.25rem 0; } .network-log .success { color: #4CAF50; } .network-log .error { color: #F44336; } .error-boundary { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; background: #ffffff; color: #333333; text-align: center; padding: 2rem; } /* Stats Page Enhancements */ .progress-circle { position: relative; width: 80px; height: 80px; margin: 0 auto; } .progress-circle svg { width: 100%; height: 100%; transform: rotate(-90deg); } .progress-circle circle { fill: none; stroke-width: 8; stroke-linecap: round; } .progress-circle .bg { stroke: #f7fcff; } .progress-circle .fg { stroke: #4CAF50; stroke-dasharray: 251.2; stroke-dashoffset: 251.2; animation: progress 2s ease-out forwards; } @keyframes progress { to { stroke-dashoffset: var(--progress-offset); } } .progress-circle span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 1rem; font-weight: bold; } .timeline { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; position: relative; overflow: hidden; } .timeline::before { content: ''; position: absolute; top: 50%; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, #d9f6f7, #f7fcff); transform: translateY(-50%); z-index: 0; } .timeline-item { position: relative; width: 40px; height: 40px; background: #ffffff; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(217, 246, 247, 0.3); z-index: 1; transition: all 0.3s ease; animation: slideIn 0.5s ease-out forwards; animation-delay: var(--delay); } .timeline-item:hover { transform: scale(1.2); background: #d9f6f7; } .timeline-item i { font-size: 1.2rem; } @keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .stat-details { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; background: rgba(217, 246, 247, 0.9); border-radius: 1rem; padding: 0; } .dashboard-card.active .stat-details { max-height: 100px; padding: 0.75rem; } @media (max-width: 768px) { .card { padding: 0.75rem; margin: 0.5rem; border-radius: 1.5rem; } .grid-cols-2 { grid-template-columns: 1fr; } .md\\:grid-cols-3 { grid-template-columns: 1fr 1fr; } .text-3xl { font-size: 1.5rem; } .text-2xl { font-size: 1.25rem; } .text-xl { font-size: 1rem; } .text-lg { font-size: 0.875rem; } .text-sm { font-size: 0.75rem; } .p-6 { padding: 0.75rem; } .p-5 { padding: 0.5rem; } .w-12 { width: 2.5rem; height: 2.5rem; } .history-item { padding: 1rem; border-radius: 1.2rem; } .history-item .watermark { font-size: 1rem; } .rounded-xl { border-radius: 0.75rem; } .gap-4 { gap: 0.75rem; } .mb-4 { margin-bottom: 0.75rem; } .mb-2 { margin-bottom: 0.5rem; } .mb-1 { margin-bottom: 0.3rem; } .px-4 { padding-left: 0.75rem; padding-right: 0.75rem; } .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; } .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; } .space-x-2 > * + * { margin-left: 0.5rem; } .space-x-1 > * + * { margin-left: 0.3rem; } .navigation { width: 300px; border-radius: 1.5rem; } .navigation ul { width: 250px; } .navigation ul li { width: 62.5px; } .indicator { width: 60px; height: 60px; } .navigation ul li:nth-child(1).active ~ .indicator { transform: translateX(calc(62.5px * 0)); } .navigation ul li:nth-child(2).active ~ .indicator { transform: translateX(calc(62.5px * 1)); } .navigation ul li:nth-child(3).active ~ .indicator { transform: translateX(calc(62.5px * 2)); } .navigation ul li:nth-child(4).active ~ .indicator { transform: translateX(calc(62.5px * 3)); } .popup, .modal { max-width: 320px; padding: 1rem; border-radius: 1.5rem; } .network-log { width: 250px; max-height: 150px; font-size: 0.7rem; } .progress-circle { width: 60px; height: 60px; } .progress-circle span { font-size: 0.875rem; } .timeline-item { width: 30px; height: 30px; } .timeline-item i { font-size: 1rem; } }