:root {    --primary-color: #3b82f6;    --secondary-color: #8b5cf6;    --accent-color: #f59e0b;    --success-color: #10b981;    --bg-color: #f0f9ff;    --grid-bg: #ffffff;    --text-color: #1f2937;    --selection-color: rgba(59, 130, 246, 0.4);    --found-color: #dcfce7;    --found-border: #10b981;    --font-main: 'Cairo', sans-serif;}* {    box-sizing: border-box;    margin: 0;    padding: 0;    user-select: none;    -webkit-user-select: none;    -webkit-tap-highlight-color: transparent;}body {    font-family: var(--font-main);    background-color: var(--bg-color);    color: var(--text-color);    direction: rtl;    min-height: 100vh;    display: flex;    flex-direction: column;}.game-header {    background: white;    padding: 1rem 2rem;    display: flex;    justify-content: space-between;    align-items: center;    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);    z-index: 10;}.game-header h1 {    font-size: 1.5rem;    color: var(--primary-color);    margin: 0 1rem;}.back-link {    text-decoration: none;    color: #6b7280;    font-weight: bold;    font-size: 1rem;    transition: color 0.2s;}.back-link:hover {    color: var(--primary-color);}.icon-btn {    background: none;    border: none;    font-size: 1.2rem;    cursor: pointer;    color: var(--text-color);    padding: 0.5rem;    border-radius: 50%;    transition: background 0.2s;}.icon-btn:hover {    background: #f3f4f6;}.game-container {    flex: 1;    display: flex;    gap: 2rem;    padding: 2rem;    max-width: 1200px;    margin: 0 auto;    width: 100%;}.sidebar {    width: 300px;    display: flex;    flex-direction: column;    gap: 1.5rem;}.info-panel {    background: white;    padding: 1rem;    border-radius: 1rem;    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);    display: flex;    justify-content: space-around;    font-size: 1.2rem;    font-weight: bold;}.timer {    color: var(--primary-color);}.score {    color: var(--success-color);}.word-list-container {    background: white;    padding: 1.5rem;    border-radius: 1rem;    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);    flex: 1;}.word-list-container h3 {    margin-bottom: 1rem;    color: var(--secondary-color);    font-size: 1.1rem;}.word-list {    list-style: none;    display: grid;    grid-template-columns: 1fr 1fr;    gap: 0.8rem;}.word-item {    background: #f3f4f6;    padding: 0.5rem 0.8rem;    border-radius: 0.5rem;    text-align: center;    font-weight: bold;    color: #4b5563;    transition: 0.3s;    cursor: default;}.word-item.found {    background: var(--found-color);    color: #065f46;    text-decoration: line-through;    text-decoration-thickness: 2px;    opacity: 0.8;}.game-actions {    display: flex;    gap: 1rem;}.action-btn {    flex: 1;    padding: 0.8rem;    border: none;    border-radius: 0.8rem;    font-family: var(--font-main);    font-weight: bold;    font-size: 1rem;    cursor: pointer;    transition: transform 0.2s, box-shadow 0.2s;    display: flex;    align-items: center;    justify-content: center;    gap: 0.5rem;}.action-btn:hover {    transform: translateY(-2px);    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);}.hint-btn {    background: var(--accent-color);    color: white;}.restart-btn {    background: var(--primary-color);    color: white;}.grid-container {    flex: 2;    display: flex;    justify-content: center;    align-items: flex-start;}.game-grid-wrapper {    position: relative;    padding: 1rem;    background: var(--grid-bg);    border-radius: 1rem;    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);}#selectionCanvas {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    pointer-events: none;        z-index: 10;    mix-blend-mode: multiply;    opacity: 0.8;}.game-grid {    display: grid;    gap: 0;        position: relative;    z-index: 1;}.cell {    width: 48px;    height: 48px;    display: flex;    justify-content: center;    align-items: center;    font-size: 1.5rem;    font-weight: bold;    color: #374151;    border-radius: 50%;        cursor: pointer;    transition: background 0.2s, color 0.2s;    position: relative;    z-index: 2;    }.cell:hover {    background: #f3f4f6;}.cell.found {    color: var(--found-border);    font-weight: 900;    background: transparent;    }.cell.found::after {    content: '';    position: absolute;    width: 100%;    height: 100%;    background: var(--found-color);    border-radius: 50%;    z-index: -1;    opacity: 0.5;}.cell.hint-highlight {    background: #fef3c7;    border: 2px solid var(--accent-color);}.modal {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: rgba(0, 0, 0, 0.5);    display: flex;    justify-content: center;    align-items: center;    z-index: 100;}.hidden {    display: none !important;}.modal-content {    background: white;    padding: 2rem;    border-radius: 1.5rem;    text-align: center;    max-width: 400px;    width: 90%;    animation: slideUp 0.4s ease-out;}.mascot-celebrate {    font-size: 4rem;    margin-bottom: 1rem;    animation: bounce 1s infinite;}.modal-buttons {    display: flex;    flex-direction: column;    gap: 0.8rem;    margin-top: 2rem;}.action-btn.secondary {    background: #e5e7eb;    color: #374151;    text-decoration: none;}@keyframes slideUp {    from {        transform: translateY(20px);        opacity: 0;    }    to {        transform: translateY(0);        opacity: 1;    }}@keyframes bounce {    0%,    100% {        transform: translateY(0);    }    50% {        transform: translateY(-10px);    }}@media (max-width: 850px) {    .game-container {        flex-direction: column-reverse;        padding: 0.5rem;            }    .sidebar {        width: 100%;    }    .cell {                width: 8.5vw;        height: 8.5vw;        max-width: 45px;                max-height: 45px;        font-size: 1.2rem;        margin: 0;            }    .game-grid {        gap: 1px;            }    .word-list {        grid-template-columns: repeat(4, 1fr);        font-size: 1rem;    }    .game-header {        padding: 0.8rem;    }}@media (max-width: 480px) {    .cell {                width: 8.8vw;        height: 8.8vw;        font-size: 1.1rem;        border-radius: 4px;            }    .word-list {        grid-template-columns: repeat(3, 1fr);        font-size: 0.95rem;    }    .game-header h1 {        font-size: 1.1rem;    }}